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

6

Здесь Вы найдете ответы на вопросы 8, 9, 12, 14

2 Жизненный цикл программных продуктов

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

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

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

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

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

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

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

Информационные системы разрабатываются как некоторый проект /5/. Проект – это ограниченное во времени целенаправленное изменение отдельной системы с изначально четко определенными целями, с установленными требованиями к срокам выполнения, результатам, рискам, рамкам расходования средств и ресурсов и к организационной структуре. Достижение поставленных целей определяет завершение проекта.

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

Понятие жизненного цикла является одним из базовых понятий методологии разработки информационных систем самого различного назначения. ЖЦ представляет собой непрерывный процесс, продолжающийся достаточно длительное время от момента принятия решения о создании информационной системы и заканчивая моментом изъятия ее из эксплуатации. В этом временном промежутке выделяют фазы, стадии, этапы. Существует международный стандарт, регулирующий жизненный цикл информационных систем – ISO/IEC 12207. (ISO – международная организация по стандартизации, IEC – международная комиссия по электротехнике). Этот стандарт выделяет 3 группы процессов в ЖЦ:

  • основные процессы ЖЦ (приобретение, поставка, разработка, эксплуатация, сопровождение);

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

  • организационные процессы (управление проектами, создание инфраструктуры проекта, определение, оценка и улучшение самого ЖЦ, обучение).

Среди основных процессов наибольшее значение имеет разработка, которая помимо работ по созданию программного обеспечения и его компонентов включает:

  • оформление проектной и эксплуатационной документации;

  • подготовку тестов для верификации ПП (верификация ПП - проверка соответствия программного продукта заявленным функциям, качеству и затратам вычислительных ресурсов);

  • разработка инструкций пользователя и других материалов, необходимых для обучения персонала.

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

Следует отметить, что помимо упомянутых процессов ЖЦ в стандарте ISO/IEC 12207 не конкретизируются в деталях методы реализации и выполнения действий и задач, входящих в процессы ЖЦ, т.к. обладая высокой степенью универсальности стандарты не могут учитывать условий, в которых создаются и функционируют информационные системы разных классов и назначения. За десятилетия практики разработки программных комплексов разбиение работ на стадии и названия этих стадий менялись. Тем не менее можно выделить ряд устойчивых этапов разработки, практически не зависимых от предметной области, которые можно назвать классическими или традиционными /1/:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

да

нет

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

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

Рисунок 2.1 - Жизненный цикл ПП

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

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

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

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

А

время

нализ

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

Каскадная модель получили еще и другое название “водопад”. Эта модель имеет ряд положительных качеств, благодаря которым она хорошо себя зарекомендовала и получила широкое распространение:

  • на каждом этапе формируется законченный набор проектной документации, отвечающей критериям полноты и согласованности. На заключительных этапах разрабатывается пользовательская документация, охватывающая все предусмотренные стандартами виды обеспечения информационной системы: организационное, методическое, информационное, программное, техническое;

  • выполняемые в логической последовательности этапы работ позволяют планировать сроки завершения и соответствующие затраты.

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

Перечень недостатков каскадной модели более обширен, чем перечень ее достоинств:

  • существенная задержка получения результатов;

  • ошибки и недоработки на любом из этапов выясняются, как правило, на последующих этапах работ, что приводит к необходимости возврата на предыдущие этапы;

  • сложность распараллеливания работ по проекту;

  • сложность управления проектом;

  • высокий уровень риска и ненадежность инвестиций.

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

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

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

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

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

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

А

время

нализ

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

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

Соседние файлы в папке Ответы на госэкзамен