Самоучитель UML - [2]

Шрифт
Интервал

Как вспомогательное средство структуризации программного кода было рекомендовано использование отступов в начале каждой строки, которые должны выделять вложенные циклы и условные операторы. Все это призвано способствовать пониманию или читабельности самой программы. Данное правило со временем было реализовано в современных инструментариях разработки программ. Ниже приводится пример листинга программы на языке Pascal, который иллюстрирует эту особенность написания программ.

Листинг 1.1. Пример фрагмента программы на Pascal, разработанной с использованием правил структурного программирования

Procedure FirstOpt; 
Begin
FuncRaz(Free, Rn); 
for i:=l to N do
RvarRec[i]:= Rn[i]; 
FvarRec:= Freс; 
Numlt:=0; 
Repeat
NumIt:=NumIt+l; 
V:= Freс; 
for j:=1 to К do 
for 1:=1 to M do 
begin
S:=0.0; 
T:=0.0;
for i:=l to N do 
begin
T:=T+sqr(Wl[i,j])*Xpr[i,l];
S:=S+sqr(Wl[i,j])
end;
Zentr[j,l]:=T/S 
end;
for j:=1 to К do 
for i:=l to N do 
begin
S:=0.0; 
P:=0.0; 
Q:=0.0; 
for l:=1 to M do
S:=S+sqr(Xpr[i,l]-Zentr[j,l]); 
P:=1.0/S; 
end; 
Q:=0.0; 
D:=0;
for i:=1 to N do 
for j:=1 to К do
if Abs(Wl[i,j]-W2[i,j]) >= Eps then D:=l; 
for i:=l to N do
for j:=1 to К do
W1[i,j]:=W2[i,j] 
Until (D=0)or(NumIt=NumMax) 
End;

В этот период основным показателем сложности разработки программ считали ее размер. Вполне серьезно обсуждались такие оценки сложности программ, как количество строк программного кода. Правда, при этом делались некоторые предположения относительно синтаксиса самих строк, которые должны были удовлетворять определенным правилам. Общая трудоемкость разработки программ оценивалась специальной единицей измерения – «человеко-месяц» или «человеко-год». А профессионализм программиста напрямую связывался с количеством строк программного кода, который он мог написать и отладить в течение, скажем, месяца.

Примечание 3

1.2. Методология объектно-ориентированного программирования

Со временем ситуация стала существенно изменяться. Оказалось, что трудоемкость разработки программных приложений на начальных этапах программирования оценивалась значительно ниже реально затрачиваемых усилий, что служило причиной дополнительных расходов и затягивания окончательных сроков готовности программ. В процессе разработки приложений изменялись функциональные требования заказчика, что еще более отдаляло момент окончания работы программистов. Увеличение размеров программ приводило к необходимости привлечения большего числа программистов, что, в свою очередь, потребовало дополнительных ресурсов для организации их согласованной работы.

Но не менее важными оказались качественные изменения, связанные со смещением акцента использования компьютеров. Если в эпоху «больших машин» основными потребителями программного обеспечения были крупные предприятия, компании и учреждения, то позже появились персональные компьютеры и стали повсеместным атрибутом мелкого и среднего бизнеса. Вычислительные и расчетно-алгоритмические задачи в этой области традиционно занимали второстепенное место, а на первый план выступили задачи обработки и манипулирования данными.

Стало очевидным, что традиционные методы процедурного программирования не способны справиться ни с растущей сложностью программ и их разработки, ни с необходимостью повышения их надежности. Во второй половине 80-х годов возникла настоятельная потребность в новой методологии программирования, которая была бы способна решить весь этот комплекс проблем. Такой методологией стало объектно-ориентированное программирование (ООП).

Фундаментальными понятиями ООП являются понятия класса и объекта. При этом под классом понимают некоторую абстракцию совокупности объектов, которые имеют общий набор свойств и обладают одинаковым поведением. Каждый объект в этом случае рассматривается как экземпляр соответствующего класса. Объекты, которые не имеют полностью одинаковых свойств или не обладают одинаковым поведением, по определению, не могут быть отнесены к одному классу.

Примечание 4

Важной особенностью классов является возможность их организации в виде некоторой иерархической структуры, которая по внешнему виду напоминает схему классификации понятий формальной логики. В этой связи следует заметить, что каждое понятие в логике имеет некоторый объем и содержание. При этом под объемом понятия понимают все другие мыслимые понятия, для которых исходное понятие может служить определяющей категорией или главной частью. Содержание понятия составляет совокупность всех его признаков или атрибутов, отличающих данное понятие от всех других. В формальной логике имеет место закон обратного отношения: если содержание понятия А содержится в содержании понятия В, то объем понятия В содержится в объеме понятия А.

Иерархия понятий строится следующим образом. В качестве наиболее общего понятия или категории берется понятие, имеющее наибольший объем и, соответственно, наименьшее содержание. Это самый высокий уровень абстракции для данной иерархии. Затем данное общее понятие некоторым образом конкретизируется, тем самым уменьшается его объем и увеличивается содержание. Появляется менее общее понятие, которое на схеме иерархии будет расположено на уровень ниже исходного понятия. Этот процесс конкретизации понятий может быть продолжен до тех пор, пока на самом нижнем уровне не будет получено понятие, дальнейшая конкретизация которого в данном контексте либо невозможна, либо нецелесообразна.


Рекомендуем почитать
Как разбудить в себе Шекспира

«Однажды просыпаешься и понимаешь, что все это никуда не годится. Надо что-то менять». Драматург Юлия Тупикина предлагает простое и изящное решение для перемен в вашей жизни – попробуйте написать свою первую пьесу! Почему именно ее? Современный российский театр очень любит новичков, всегда открыт свежим именам и идеям. Вы сможете попробовать свои силы на одном из конкурсов, а там и до больших постановок и хороших гонораров недалеко. И даже если вы не станете великим писателем, процесс написания пьесы благодаря этой книге станет для вас увлекательным путешествием, полным творческих открытий. В книге много практических упражнений, которые можно выполнять одно за одним или выбирать те, что вам больше приглянулись.


Культура отечественного собаководства XX–XXI вв. (комментарии, реплики, размышления)

Сулимов Клим Тимофеевич, кандидат биологических наук, ведущий научный сотрудник РосНИИ культурного и природного наследия им. Д. С. Лихачева, член научно-координационного совета по отечественным породам собак России. Научный консультант отдела кинологического мониторинга ПАО «Аэрофлот». Материал, подготовленный К. Т. Сулимовым в области общей и прикладной кинологии, представляет собой собственные комментарии к двум альтернативным теориям происхождения домашней собаки, к фрагментам истории отечественного собаководства, реплики и размышления на тему о стандартах пород и практике полевых испытаний охотничьих и служебных собак второй половины XX столетия, о нетрадиционном использовании естественных пород и перспективах выведения новых в настоящем и обозримом будущем. Затронуты проблемы так называемых бесхозных дворняг. Значительная часть книги посвящена критическому рассмотрению породных признаков главных отечественных пород и отродий отечественного разведения, функциональным особенностям основных статей собаки и ее поведению. Может служить пособием для изучения становления пород, их преобразований в условиях отечественной культуры собаководства.


Социология

Книга Н. Смелзера «Социология» представляет курс лекций по общей социологии для студентов высших учебных заведений.Достоинство книги в том, что она написана максимально доступным языком и полностью соответствует содержанию курса «Социология», как он отражён в государственном стандарте, а потому данное учебное пособие может быть базовым по этому курсу.Книга Смелзера также предназначена для широкого круга читателей и, в первую очередь, для предпринимателей и руководителей.На русском языке это уже второе издание.


Культурология

Учебно-методическое пособие предназначено для аудиторной и самостоятельной работы студентов-бакалавров Пензенской ГСХА по дисциплине «культурология». В нем содержатся разделы, посвященные теории, истории мировой и отечественной культуры. В данном издании содержатся необходимые методические и учебные материалы, облегчающие подготовку студента ко всем формам итогового и промежуточного контроля по данной дисциплине.


Коммерческое право

Конспект лекций, составленный в соответствии с Государственным образовательным стандартом высшего образования, поможет систематизировать полученные ранее знания и успешно сдать экзамен или зачет по дисциплине «Коммерческое право».Издание предназначено для студентов, преподавателей и аспирантов юридических вузов и факультетов.


История мировых религий

Данное издание представляет собой конспект лекций по предмету «История мировых религий». В книге изложены основные вопросы данного курса. Конспект лекций станет незаменимым помощником при подготовке к экзамену или зачету, предназначен для студентов высших и средних учебных заведений гуманитарных специальностей.