Смекни!
smekni.com

Стандатризация программных средств (стр. 14 из 37)

Лекция 10. Жизненный цикл программного обеспечения

Понятие ЖЦ ПО. Международный стандарт ISO/IEC 12207: 1995. Основные и вспомогательные процессы ЖЦ ПО. Организация процессов ЖЦ. Связь между процессами.

Понятие ЖЦ

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

Основным нормативным документом, регламентирующим состав процессов ЖЦ ПО, является международный стандарт ISO/IEC 12207: 1995 “InformationTechnology - SoftwareLifeCycleProcesses” (ISO - InternationalOrganizationforStandardization - Международная организация по стандартизации, IEC - InternationalElectrotechnicalCommission - Международная комиссия по электротехнике. Он определяет структуру ЖЦ, содержащую процессы, действия и задачи, которые должны быть выполнены во время создания ПО.

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

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

Каждый процесс разделен на набор действий, каждое действие – на набор задач. Каждый процесс, действие или задача инициируется и выполняется другим процессом по мере необходимости, причем не существует заранее определенных последовательностей выполнения (естественно, при сохранении связей по входным данным).

В России существуют стандарты:

ГОСТ 34601 - 90. «Информационная технология. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Стадии создания».

ГОСТ 34601 - 89. «Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы».

ГОСТ 34601 - 92. «Информационная технология. Виды испытаний автоматизированных систем».

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

В соответствии с ISO/IEC 12207: 1995 все процессы ЖЦ ПО разделены на три группы:

Основные процессы:

· приобретение;

· поставка;

· разработка;

· эксплуатация;

· сопровождение.

Вспомогательные процессы:

· документирование;

· управление конфигурацией;

· обеспечение качества;

· верификация;

· аттестация;

· совместная оценка;

· аудит;

· разрешение проблем.

Организационные процессы:

· управление;

· усовершенствование;

· создание инфраструктуры;

· обучение.

Основные процессы

Процесс приобретениясостоит из действий и задач заказчика:

Действие - инициирование приобретения - включает задачи:

· определение заказчиком своих потребностей в приобретении;

· анализ требований к системе;

· принятие решения относительно приобретения;

· проверку наличия необходимой документации, гарантий, сертификатов, лицензий и поддержки в случае приобретения ПО;

· подготовку и утверждение плана приобретения, включающего требования к системе, тип договора, ответственность сторон.

Действие – подготовка заявочных предложений. Заявочные предложения должны содержать:

· требования к системе;

· перечень программных продуктов;

· условия и соглашения;

· технические ограничения (например, среда функционирования системы).

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

Действие - подготовка и корректировка договора - включает задачи:

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

· выбор конкретного поставщика на основе анализа предложений.;

· подготовку и заключение договора с поставщиком;

· внесение изменений (при необходимости) в договор в процессе его выполнения.

Действие - надзор за деятельностью поставщика - осуществляется в соответствии с действиями, предусмотренными в процессах совместной оценки и аудита.

В процессе приемкиподготавливаются и выполняются необходимые тесты. Завершение работ по договору осуществляется в случае удовлетворения всех условий приемки.

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

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

Планирование включает задачи:

· принятие решения поставщиком относительно выполнения работ своими силами или с привлечением субподрядчика;

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

Процесс разработки предусматривает действия и задачи, выполняемые разработчиком, и включает следующие действия:

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

Анализ требований к системе подразумевает определение ее функциональных возможностей, пользовательских требований, требований к надежности и безопасности, требований к внешним интерфейсам и т.д. Требования с системе оцениваются исходя из критериев реализуемости и возможности проверки при тестировании.

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

Анализ требований к ПО предполагает определение следующих характеристик для каждого компонента ПО:

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

· внешних интерфейсов;

· спецификаций надежности и безопасности;

· эргономических требований;

· требований к используемым данным;

· требований к установке и приемке;

· требований к пользовательской документации;

· требований к эксплуатации и сопровождению.

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

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

· трансформацию требований к ПО в архитектуру, определяющую на высоком уровне структуру ПО и состав ее компонентов;

· разработку и документирование программных интерфейсов ПО и баз данных;

· разработку предварительной версии пользовательской документации;

· разработку и документирование предварительных требований к тестам и планам интеграции ПО.

Архитектура компонентов ПО должна соответствовать требованиям, предъявляемым к ним, а также принятым проектным стандартам и методам.

Детальное проектирование ПО включает следующие задачи:

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

· разработку и документирование детального проекта базы данных;

· обновление (при необходимости) пользовательской документации;

· разработку и документирование требований к тестам и плана тестирования компонентов ПО;

· обновление плана интеграции ПО.

Кодирование и тестирование ПО охватывает задачи:

· разработку и документирование каждого компонента ПО и базы данных а также совокупности тестовых процедур и данных для их тестирования;

· тестирование каждого компонента ПО и базы данных на соответствие предъявляемых к ним требованиям. Результаты тестирования компонентов должны быть документированы;

· обновление (при необходимости) пользовательской документации;

· обновление плана интеграции ПО.

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

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