Методы и средства инженерии программного обеспечения

       

МОДЕЛИ ЖИЗНЕННОГО ЦИКЛА ДЛЯ РАЗРАБОТКИ ПРОГРАММНЫХ СИСТЕМ


За десятилетия опыта построения программных систем был наработан ряд типичных схем последовательности выполнения работ при проектировании и разработки ПС. Такие схемы получили название моделей ЖЦ.

 

Модель жизненного цикла – это схема выполнения работ и задач на процессах, обеспечивающих разработку, эксплуатацию и сопровождение программного продукта, и отражающая жизнь ПС, начиная  от формулировки  требований к ней до прекращения ее использования [1-5].

Исторически в эту схему работ включают:

– разработку требований или технического задания,

– разработку системы  или технического проекта,

– программирование или рабочее проектирование,

– пробную эксплуатацию,

– сопровождение и улучшение,

– снятие с эксплуатации.

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

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

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


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

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

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

 

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

Важную роль при формировании модели ЖЦ имеют организационные аспекты:

– планирование последовательности работ и сроков их исполнения,



– подбор и подготовка ресурсов (людских, программных и технических) для  выполнения работ,

– оценка возможностей реализации  проекта в заданные сроки и стоимость и др.

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

 

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

 


Содержание раздела