Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
104
Добавлен:
02.05.2014
Размер:
140.29 Кб
Скачать

14

Основные понятия технологии программирования.

Под технологией вообще понимается совокупность методов обработки, изготовления, изменения состояния, свойств, формы сырья, материала или полуфабриката в процессе производства, а также научное описание способов производства /1/.

Применительно к программированию технологию можно определить, как совокупность процессов создания, сопровождения и применения программного продукта. Любая технология программирования базируется на некоторой методологии разработки программ.

Методология - это система принципов и способов организации и построения теоретической и практической деятельности, а также учение об этой системе /1/. Самой важной целью методологии программирования является изучение и внедрение таких методов проектирования программ, которые облегчают задачу сопровождения программ. Легкость сопровождения - это такое качество программы, которое нельзя улучшить после ее разработки никакими другими способами, кроме перепрограммирования.

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

Одним из базовых понятий технологии программирования является понятие жизненного цикла программного продукта (ЖЦ ПП) /1/.

Жизненный цикл ПП определяется как совокупность последовательных состояний программного продукта и всех действий по его преобразованию, начиная с анализа возникшей потребности в автоматизации определенных функций обработки данных до их программной реализации и включения в программное обеспечение (ПО) конкретного применения.

Модели жизненного цикла программных продуктов.

Традиционно в жизненном цикле ПП принято выделять следующие этапы:

  • анализ, посредством которого осуществляется формализованное специфицирование (описание) предъявляемых к автоматизированным системам обработки информации (АСОИ) требований, или иначе, целей ПП;

  • проектирование, включающее разработку иерархической структуры разрабатываемого ПО, функциональные спецификации отдельных модулей и структуры данных БД;

  • программирование или, иначе говоря, кодирование функциональных модулей;

  • тестирование и отладка, в процессе которых выявляется соответствие ПП его спецификациям;

  • эксплуатация и сопровождение, когда разработанное ПО функционирует в составе (или в качестве) АСОИ в конкретной области применения.

Под спецификацией понимается формальное описание требований, свойств и функций объекта.

В процессе проектирования важен критерий окончания этапов, при выполнении которого можно фиксировать окончание того или иного этапа и, главное, прогнозировать сроки окончания разработки. В качестве такого критерия может выступать готовность документов, в которых фиксируются все проектные решения выполненного этапа разработки. Приведем схему ЖЦ ПП с указанием всех промежуточных документов (рисунок 1.1).

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

Модель ЖЦ ПП определяет перечень этапов преобразования программа -> программное средство -> программный продукт, порядок выполнения этапов, а также критерии перехода от этапа к этапу.

Традиционная модель ЖЦ ПО строится по каскадному принципу, суть которого в том, что переход на следующий этап происходит после окончания предыдущего /2/. Если по оси ординат отложить этапы ЖЦ, а по оси абсцисс - время, то каскадную модель ЖЦ можно проиллюстрировать рисунком 1.2.

Эксплуатация и сопровождение

Тестирование и отладка

Программирование

Проектирование

А

время

нализ

Рисунок 1.2 Каскадная модель ЖЦ ПП.

Единственным недостатком такой простой модели ЖЦ является то, что на практике очень часто принятые на предыдущем этапе (или на предыдущих этапах) решения приходится пересматривать из-за неверной интерпретации

Анализ требований

Проектиро-вание

Кодирова-ние или программи-рование

Тестирова-ние и отладка

Изготовле-ние

Сопровожде-ние (внедрение и эксплуатация)

Анализ опыта эксплуатации

Рисунок 1.1. Жизненный цикл ПП

требований заказчика. Однако этот недостаток является настолько существенным, что делает каскадную модель ЖЦ малопригодной для практического применения в процессе разработки.

Для любой достаточно сложной проблемы малореальной является такая ситуация, когда все принятые на предыдущем этапе проектные решения являются хорошими и не подвергаются пересмотру на следующих этапах. Поэтому более правдоподобным является возврат с текущего этапа на предыдущий или на предшествующий предыдущему для корректировки проектных решений, признанных неудовлетворительными по тем или иным причинам (так называемые обратные связи между этапами). Такая модель ЖЦ ПП строится по поэтапному принципу с промежуточным контролем /2/. Критерием перехода на следующий этап является готовность документов, о которых было упомянуто выше. Эта модель схематично представлена на рисунке 1.3. Такая модель является более жизнеспособной по сравнению с каскадной моделью, но наличие циклов обратных связей растягивает все этапы ЖЦ ПП на весь период разработки, что, в свою очередь, затрудняет планирование работ по созданию и внедрению программных продуктов.

Эксплуатация и сопровождение

Тестирование и отладка

Программирование

Проектирование

А

время

нализ

Рисунок 1.3 Поэтапная модель ЖЦ ПП с промежуточным контролем

При рассмотрении CASE - технологий разработки ПО будет рассмотрена еще одна модель ЖЦ ПП.