Анализ методов используемых при разработке программного обеспечения.
Причины появления объектно-ориентированного подхода
Проведенный анализ состояния уже разработанного программного обеспечения
(ПО) в 80-х годах прошлого века показал, что оно быстро морально устаревает, не
успевая за развитием технических средств автоматизации
и изменениями во взглядах на отрасли его применения. В тоже же время возникают
значительные трудности при внесении изменений в программное обеспечение и
использовании ранее разработанного ПО.
Из анализа процесса разработки имеющегося программного обеспечения видно,
что в основном его создание проводилось при использовании традиционного
структурного подхода и традиционных языков программирования. Это и явилось
основной причиной того, что, например, при создании программных комплексов
очень редко использовались составляющие из предыдущих разработок. При этом
затраты рабочего времени были значительны, а разработка велась последовательным
созданием программных модулей с последующей стыковкой и комплексной отладкой в
целом.
Указанные обстоятельства поставили на повестку дня вопрос о использовании
при новых разработках иного подхода, отличного от структурного.
На тот момент,
да во многом и сегодня существуют три
основных метода создания программного обеспечения:
- метод организации потоков данных;
- метод структурного проектирования сверху вниз;
- объектно-ориентированный метод.
Метод - это совокупность механизмов,
применяемых в процессе разработки программного обеспечения и объединенных одним
общим философским подходом. Он упорядочивает процесс создания программных
систем и позволяет руководителям проекта в процессе разработки оценить степень
достижения цели проекта.
При применении метода организации потоков данных структура
программной системы строится как организация преобразования входных потоков в
выходные. Этот метод с успехом применялся при решении ряда частных задач, в том
числе в системах информационного обеспечения, в системах, где существуют прямые
связи между входными и выходными потоками данных, нет большого объема сложных
вычислений и там, где не требуется уделять много внимания быстродействию.
Метод структурного проектирования. В 60 - 70-е годы прошлого века быстродействие
применяемых компьютеров резко возросла, что привело к возможности увеличения
уровня сложности программных систем. В эти годы было разработано много методов,
помогающих справиться с растущей сложностью программ. Наибольшее
распространение получил структурный метод. Он был непосредственно основан на
топологии традиционных языков высокого уровня типа FORTRAN, COBOL и др. В этих
языках основной базовой единицей является подпрограмма, и программа в целом
принимает форму дерева, в котором одни подпрограммы в процессе работы вызывают
другие подпрограммы. Структурное проектирование использует именно такой подход.
В частности в ходе проектирования применяется алгоритмическая декомпозиция
больших задач на компактные программы.
На основе этой методологии и разрабатывалось практически все существующее
специальное программное обеспечение. Данная методология позволила повысить
основные показатели качества СПО, такие как надежность, понятность, удобство
сопровождения. Однако, при всех своих достоинствах, данная методология имеет
ряд недостатков, основными из которых являются следующие:
слабый учет влияния структуры данных на архитектуру программы;
изменения в уже разработанные программные продукты могут быть проведены
только на уровне исходных текстов, программы получаются слабо пригодными для
модернизации, поэтому разработка программных комплексов ведется
последовательным созданием модулей, что ведет к увеличению времени разработки,
неравномерной загрузке программистов, сложности стыковки модулей и отладки
программ в целом;
ошибки, внесенные на ранних этапах разработки, приводят на более поздних этапах
к необходимости пересмотра и модификации огромного количества исходных текстов,
разработанных и отлаженных модулей.
На рисунке показаны этапы традиционного цикла разработки программного
обеспечения с использованием структурного подхода. Схема, показанная на
рисунке, обычно соответствует этапам процесса разработки программного
обеспечения, и ее часто рассматривают как незыблемую. Но, несмотря на силу
традиций, недостатки лавинообразной модели признаются почти всеми. В целом их
можно сформулировать следующим образом:
непригодность для разработки сложных программных систем, состоящих из
большого числа автономных модулей, а также для организации процесса внесения в
систему последующих изменений;
обязательно последовательное выполнение всех этапов разработки;
несовместимость с эволюционным подходом, который широко внедряем в
настоящее время благодаря возможностям быстрого прототипирования и применения
алгоритмических языков четвертого поколения;
Цикл разработки ПО с использованием структурного подхода
Отсюда был сделан вывод о нежелательности дальнейшего использования в
разработках традиционного подхода и традиционных языков программирования и
появилась необходимость нового подхода к программированию, что проявилось в
формировании объектно-ориентированного подхода к разработке.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.