Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Лекция 2. Модели жизненного цикла ПО

Жизненный цикл ПО

 

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

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

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

ЖЦ баз данных пока стандартами не регламентирован – существующие стандарты относятся только к ЖЦ программных средств.

Стандарты ЖЦ ПС могут использоваться как директивные, руководящие или рекомендательные документы.

Наиболее полно ЖЦ, технология разработки и обеспечения качества ПС отражены в стандартах ISO (International Standards Organisation – Международная организация по стандартизации). Стандарт ISO 12207:1995 – «Процессы жизненного цикла программных средств» - наиболее полно отражает архитектуру, работы, организацию и управление ЖЦ ПС.

Используемые реально в фирмах модели ЖЦ ПС в последнее время изменяются относительно приведенных в стандартах в связи с внедрением и развитием объектно-ориентированного анализа и методов быстрой разработки ПП, CASE-систем и языков четвертого поколения. В новых моделях сокращаются работы по непосредственному созданию программных компонентов и детализируются работы по системному анализу и проектированию ПС и БД.

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

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

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

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

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

ЖЦ ПО - это непрерывный процесс, который начинается с момента принятия решения о необходимости его создания и заканчивается в момент его полного изъятия из эксплуатации.

Основным нормативным документом, регламентирующим ЖЦ ПО, является международный стандарт ISO /IEC 12207 (ISO - International Organization of Standardization - Международная организация по стандартизации, IEC - International Electrotechnical Commission - Международная комиссия по электротехнике). Он определяет структуру ЖЦ, содержащую процессы, действия и задачи, которые должны быть выполнены во время создания ПО.

Структура ЖЦ ПО по стандарту ISO /IEC 12207 базируется на трех группах процессов:

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

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

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

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

Разработка ПО включает в себя, как правило:

· анализ;

· проектирование;

· реализацию (программирование).

Фаза разработки начинается с анализа осуществимости проекта, а далее происходит преобразование от требований пользователя в форму, доступную для реализа­ции на компьютерах.

На эту фазу прихо­дятся, как правило, 50% стоимости ПИ и 32% трудозатрат.

Эксплуатация начинается тогда, когда изделие пере­дается пользователю, находится в действии и используется.

Включает в себя:

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

обеспечение эксплуатационной документацией;

проведение обучения персонала и т.д., и непосредственно эксплуатацию, в том числе локализацию проблем и устранение причин их возникновения,

модификацию ПО в рамках установленного регламента, подготовку предложений по совершенствованию, развитию и модернизации системы.

Фазу сопровождения также называют фазой продолжаю­щейся разработки.

Состоит из выявления и устранения ошибок в программах и изменения их функциональных возможностей.

Практиками признано, что эта часть жизнен­ного цикла (ЖЦ) должна приниматься во внимание с момента начала разработки с целью совершенствования ПИ в соответ­ствии с потребностями пользователя.

Процесс сопровождения, продолжатся собственно параллельно эксплуатации ПИ.

Структура трудозатрат на различные виды деятельности по сопровождению такова, что на изменение функциональных возможностей ПИ уходит около 78% времени, а на выявление ошибок - 17%.

Управление конфигурацией является одним из вспомогательных процессов, поддерживающих основные процессы жизненного цикла ПО, прежде всего процессы разработки и сопровождения ПО. При создании проектов сложных ИС, состоящих из многих компонентов, каждый из которых может иметь разновидности или версии, возникает проблема учета их связей и функций, создания унифицированной структуры и обеспечения развития всей системы. Управление конфигурацией позволяет организовать, систематически учитывать и контролировать внесение изменений в ПО на всех стадиях ЖЦ. Общие принципы и рекомендации конфигурационного учета, планирования и управления конфигурациями ПО отражены в проекте стандарта ISO 12207-2.

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

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

Каждый процесс характеризуется:

определенными задачами и методами их решения,

исходными данными, полученными на предыдущем этапе,

результатами.

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

Модели жизненного цикла ПО

Стандарт ISO/IEC 12207 не предлагает конкретную модель ЖЦ и методы разработки ПО. (Модель ЖЦ зависит от специфики ИС и специфики условий, в которых последняя создается и функционирует). Его регламенты являются общими для любых моделей ЖЦ, методологий и технологий разработки. Стандарт ISO/IEC 12207 описывает структуру процессов ЖЦ ПО, но не конкретизирует в деталях, как реализовать или выполнить действия и задачи, включенные в эти процессы.

К настоящему времени наибольшее распространение получили следующие две основные модели ЖЦ:

· каскадная модель (70-85 г.г.);

· спиральная модель (86-90 г.г.).

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

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

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

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

 

       
 
 
   

 


Рис. 1. Каскадная схема разработки ПО

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

· Выявление причин, по которым необходимо изменять проект на поздних стадиях: проверка работоспособности и реализуемости проекта приложения на ранних стадиях, как правило, не выполняется.

· Неадекватное управление рисками: риски связанные с проектом, выявляются на поздних стадиях выполнения проекта.

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

 
 

 


Рис. 2 Реальный процесс разработки ПО по каскадной схеме

 

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

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

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

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

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

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

Рис. 3. Спиральная модель ЖЦ

 

При создании ПО может быть использована «Модель переиспользования и реверсивной инженерии».

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

В случае неудачи реализованной версии возможен откат по проекту (Reengineering).

       
 
 
   
Рис. 4. Модель переиспользования и реверсной инженерии

 

<== предыдущая лекция | следующая лекция ==>
 | Основные понятия теории систем
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 2087; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.029 сек.