Автор работы: Пользователь скрыл имя, 17 Декабря 2013 в 16:42, реферат
Основные понятия технологии программирования.
Модели жизненного цикла программных продуктов.
2.2 Основные
понятия технологии
Под технологией вообще понимается совокупность методов обработки, изготовления, изменения состояния, свойств, формы сырья, материала или полуфабриката в процессе производства, а также научное описание способов производства /1/.
Применительно к программированию технологию можно определить, как совокупность процессов создания, сопровождения и применения программного продукта. Любая технология программирования базируется на некоторой методологии разработки программ.
Методология - это система принципов и способов организации и построения теоретической и практической деятельности, а также учение об этой системе /1/. Самой важной целью методологии программирования является изучение и внедрение таких методов проектирования программ, которые облегчают задачу сопровождения программ. Легкость сопровождения - это такое качество программы, которое нельзя улучшить после ее разработки никакими другими способами, кроме перепрограммирования.
Методология реализуется в методах. Под методом понимают совокупность приемов и операций практического и теоретического освоения деятельности. В программировании широкую известность приобрели методы: структурного, функционального, модульного, объектно-ориентированного программирования и некоторые другие методы, о которых пойдет речь ниже.
Одним из базовых понятий технологии программирования является понятие жизненного цикла программного продукта (ЖЦ ПП) /1/.
Жизненный цикл программного продукта (ПП) определяется как совокупность последовательных состояний программного продукта и всех действий по его преобразованию, начиная с анализа возникшей потребности в автоматизации определенных функций обработки данных до их программной реализации и включения в программное обеспечение (ПО) конкретного применения.
Информационные системы
разрабатываются как некоторый
2.3 Модели жизненного цикла программных продуктов.
Понятие жизненного цикла является одним из базовых понятий методологии разработки информационных систем самого различного назначения. ЖЦ представляет собой непрерывный процесс, продолжающийся достаточно длительное время от момента принятия решения о создании информационной системы и заканчивая моментом изъятия ее из эксплуатации. В этом временном промежутке выделяют фазы, стадии, этапы. Существует международный стандарт, регулирующий жизненный цикл информационных систем – ISO/IEC 12207. (ISO – международная организация по стандартизации, IEC – международная комиссия по электротехнике). Этот стандарт выделяет 3 группы процессов в ЖЦ:
Среди основных процессов наибольшее значение имеет разработка, которая помимо работ по созданию программного обеспечения и его компонентов включает:
В /5/ более подробно описаны с все процессы ЖЦ, а также фазы, стадии и этапы. Мы не будем более подробно их рассматривать, поскольку цели нашего курса более узкие, однако упоминание о том, частью каких процессов являются рассматриваемые в курсе методики и технологии, не будет излишним.
Следует отметить, что помимо упомянутых процессов ЖЦ в стандарте ISO/IEC 12207 не конкретизируются в деталях методы реализации и выполнения действий и задач, входящих в процессы ЖЦ, т.к. обладая высокой степенью универсальности стандарты не могут учитывать условий, в которых создаются и функционируют информационные системы разных классов и назначения. За десятилетия практики разработки программных комплексов разбиение работ на стадии и названия этих стадий менялись. Тем не менее можно выделить ряд устойчивых этапов разработки, практически не зависимых от предметной области, которые можно назвать классическими или традиционными /1/:
В процессе разработки важен критерий окончания этапов, при выполнении которого можно фиксировать окончание того или иного этапа и, главное, прогнозировать сроки окончания разработки. В качестве такого критерия может выступать готовность документов, в которых фиксируются все проектные решения выполненного этапа разработки. Приведем схему ЖЦ ПП с указанием всех промежуточных документов (рисунок 1.1).
Прежде чем рассматривать
подробное содержание упомянутых на
схеме ЖЦ ПП документов, поясним, что
проектирование - это процесс, протекающий
во времени, и, следовательно, имеющий
временную диаграмму
Моделью жизненного цикла программной системы называют структуру, определяющую последовательность осуществления процессов, действий и задач, выполняемых на протяжении ЖЦ ПП, а также взаимодействие между этими процессами, действиями и задачами /5/.
Модель ЖЦ ПП определяет перечень этапов преобразования программа -> программное средство -> программный продукт, порядок выполнения этапов, а также критерии перехода от этапа к этапу /1/.
Традиционная модель ЖЦ ПО строится по каскадному принципу, суть которого в том, что переход на следующий этап происходит после окончания предыдущего /2/. Если по оси ординат отложить этапы ЖЦ, а по оси абсцисс - время, то каскадную модель ЖЦ можно проиллюстрировать рисунком 1.2.
Эксплуатация и сопровождение
Тестирование и отладка
Программирование
Проектирование
Анализ
Рисунок 2.2 - Каскадная модель ЖЦ ПП
Каскадная модель получили еще и другое название “водопад”. Эта модель имеет ряд положительных качеств, благодаря которым она хорошо себя зарекомендовала и получила широкое распространение:
Каскадная модель хорошо зарекомендовала себя при разработке систем обработки информации, для которых на этапе анализа можно достаточно точно и полно сформулировать все требования. К ним можно отнести сложные расчетные программные комплексы и системы реального времени.
Перечень недостатков каскадной модели более обширен, чем перечень ее достоинств:
Самым существенным недостатком такой простой модели ЖЦ является то, что на практике очень часто принятые на предыдущем этапе (или на предыдущих этапах) решения приходится пересматривать из-за неверной интерпретации требований заказчика. Несоответствия требованиям пользователя могут возникать на любом этапе, т.к. и проектировщики-аналитики и программисты не обязательно хорошо разбираются в той предметной области, для которой разрабатывается программная система. Задержка получения результатов объясняется тем, что при последовательном выполнении этапов получить первые результаты автоматизации возможно только после выполнения программирования, из-за чего пользователь поздно включается в процесс верификации разрабатываемой системы.
Для любой достаточно сложной проблемы малореальной является такая ситуация, когда все принятые на предыдущем этапе проектные решения являются хорошими и не подвергаются пересмотру на следующих этапах. Поэтому более правдоподобным является возврат с текущего этапа на предыдущий или на предшествующий предыдущему для корректировки проектных решений, признанных неудовлетворительными по тем или иным причинам (так называемые обратные связи между этапами). Такая модель ЖЦ ПП строится по поэтапному принципу с промежуточным контролем /2/. Критерием перехода на следующий этап является готовность документов, о которых было упомянуто выше. Эта модель схематично представлена на рисунке 1.3. Такая модель является более жизнеспособной по сравнению с каскадной моделью, но наличие циклов обратных связей растягивает все этапы ЖЦ ПП на весь период разработки, что, в свою очередь, затрудняет планирование работ по созданию и внедрению программных продуктов.
Эксплуатация и сопровождение
Тестирование и отладка
Программирование
Проектирование
Анализ
Рисунок 1.3 Поэтапная модель ЖЦ ПП с промежуточным контролем
При рассмотрении CASE - технологий разработки ПО будет рассмотрена еще одна модель ЖЦ ПП.