3. СТОРОНЫ, УЧАСТВУЮЩИЕ В ЖИЗНЕННОМ ЦИКЛЕ ПРОГРАММНОЙ СИСТЕМЫ
В данном техническом регламенте термины «организация» и «сторона» синонимичны. Когда организация или ее часть участвует в каком-либо процессе жизненного цикла программной системы, то она становится «стороной». Стороны могут быть из одной и той же организации или из разных организаций.
Организация или сторона получает свое наименование в зависимости от процесса, который она осуществляет: например, она называется «разработчик», когда реализует процесс разработки.
Основными сторонами, которые принимают участие в процессах жизненного цикла программной системы, являются те, которые инициируют или исполняют развитие, использование или сопровождение программных продуктов.
Основными сторонами являются:
- приобретатель (заказчик);
- поставщик;
- разработчик;
- сопроводитель;
- пользователь.
ПРИМЕЧАНИЕ - Допускается объединение в одном лице нескольких сторон, например: заказчик и пользователь, поставщик и разработчик.
В случае, если пользователь не является заказчиком, то он может участвовать в равной степени с заказчиком на всех этапах жизненного цикла программной системы, в частности, в рамках, оговоренных в договоре (контракте) с заказчиком.
За действия и задачи в рамках основного процесса жизненного цикла программной системы отвечает сторона (или стороны), начавшая и осуществляющая данный этап.
4. ЭЛЕМЕНТЫ ЖИЗНЕННОГО ЦИКЛА ПРОГРАММНОЙ СИСТЕМЫ
4.1. Проекты
Для того чтобы выполнить над программной системой в течение ее жизненного цикла необходимые действия/преобразования, организация создает и контролирует проекты.
Проекты имеют определенные границы, сроки и цель. Границы могут включать в себя действия как на всех этапах жизненного цикла программной системы или подмножестве этапов, так в одном или нескольких определенных процессах или некоторых деятельностях в рамках процесса. Временной диапазон может меняться по продолжительности.
Цель проекта связана с целью программной системы в целом или ее составных частей.
Любая программная система может разделяться на более мелкие системы и одновременно быть частью другой, более крупной программной системы.
Таким образом, взаимодействие программных систем приобретает иерархическую структуру, как показано
Иерархическая структура программных систем и проектов
Настоящий технический регламент применяется на всех уровнях иерархии, относящихся к программной системе. Поскольку программная система может рекурсивно разделяться на системные элементы, то процессы настоящего технического регламента могут быть повторно применены к каждому системному элементу, то есть каждый системный элемент имеет свой собственный жизненный цикл.
Каждая программная система в иерархической структуре может быть предметом ответственности отдельного проекта. Таким образом, существует тесная связь между уровнями детализации в архитектуре программных систем и уровнями ответственности в иерархии проектов. Каждый проект отвечает за получение и использование уровней в составе программной системы ниже него и за создание и поставку на уровень выше него.
4.2. Этапы
Программные системы, рассматриваемые в настоящем техническом регламенте, являются искусственными, созданными и используемыми для предоставления услуг в определенных условиях для выгоды пользователей и других заинтересованных лиц.
Жизненный цикл программной системы состоит из ряда этапов, на которых программная система планируется, создается, внедряется, эксплуатируется, сопровождается и списывается. Это иллюстрируется типовой моделью жизненного цикла программной системы. Модель жизненного цикла программной системы.
Этапы жизненного цикла объединяются в последовательности, которые могут накладываться друг на друга и/или повторяться в соответствии с границами, величиной, сложностью, меняющимися потребностями и возможностями воплощения программной системы. Они является итерационными и реализуются пошаговыми действиями.
Типичная модель жизненного цикла программной системы состоит из шести этапов:
- предпроектные работы;
- разработка программной системы;
- внедрение программной системы;
- эксплуатация программной системы;
- сопровождение программной системы;
- утилизация программной системы.
Используя указанные этапы и процессы, поставщик совместно с заказчиком должны создать модель жизненного цикла конкретной программной системы.
Каждым этапом достигается отчетливая цель и вносится вклад в жизненный цикл программной системы в целом. Каждый этап учитывается при планировании и выполнении жизненного цикла программной системы.
Для реализации каждого этапа организация должна располагать соответствующей инфраструктурой, бюджетом, программно-техническим комплексом, инструментами, утвержденными процедурами и компетентными людскими ресурсами. Все указанные компоненты планируются до начала реализации этапа, а создаются и/или приобретаются по мере необходимости.
Начало и конец каждого этапа и процесса должны быть документально оформлены в установленном в организации порядке.
4.2.1. Этап предпроектных работ
Этап предпроектных работ начинается с первоначального осознания потребности создания новой или модификации существующей автоматизируемой информационной системы (АИС) (группы АИС) или путей автоматизации деятельности и процессов. Данный этап является периодом начального изучения, сбора фактов и анализа, изучения действующего законодательства и существующей организационной структуры, обзора аналогичных существующих АИС. Для разработки выходных документов данного этапа разработчику требуется обратная связь с пользователями.
Посредством анализа, определения осуществимости, оценки затрат, маркетинга, интеллектуальных способностей и материально-технического снабжения, изучения альтернатив, а также экспериментальной разработки, вырабатываются одно или несколько альтернативных решений для удовлетворения потребности заказчика или реализации концепции. Также на этом этапе определяется потребность в одной или нескольких подсистемах для реализации программной системы.
Выходными элементами этапа предпроектных работ являются следующие основные артефакты:
- концепция системы;
- бизнес-предложение.
На этом этапе принимается решение: продолжать реализацию программной системы или прекратить дальнейшую работу.
4.2.2. Этап разработки
Этап разработки начинается с достаточно подробного уточнения требований заказчика и проектного решения и преобразует их в один или несколько жизнеспособных программных продуктов, которые обеспечивают работу в течение этапа эксплуатации. На этом этапе программная система может быть прототипом.
Оговариваются, анализируются, разрабатываются, создаются, испытываются и, при необходимости, оцениваются механизмы взаимодействия программных элементов и организационных структур, а также определяются требования к аппаратным средствам, инфраструктуре пользователя, обучению и сопровождению.
Результатом выполнения этапа являются разработка программного продукта, работоспособность и функциональность которого подтверждена квалификационными испытаниями, необходимой документацией, а также проведение других необходимых разработок.
На этом этапе посредством привлечения всех заинтересованных сторон обеспечивается включение в проект аспектов будущих этапов, а также требований и возможностей соответствующих систем обеспечения. При этом требуется обратная связь с заинтересованными лицами, которые отвечают за реализацию последующих этапов.
Выходными элементами этапа разработки являются следующие основные артефакты:
- техническое задание;
- технический проект;
- версия программной системы;
- техническая документация;
- протокол квалификационного тестирования;
- акт передачи в опытную эксплуатацию.
В случае объявления тендера на разработку программной системы техническое задание должно являться составной частью тендерного предложения.
Планирование этапа разработки начинается на предыдущем этапе, чтобы обеспечить наличие или возможность создания в организации инфраструктуры систем обеспечения разработки, состоящей из методов, технических средств, инструментов и компетентных людских ресурсов для осуществления анализа процессов, моделирования, создания прототипов, проектирования, интегрирования, испытания и документирования. Эти элементы разрабатываются или приобретаются по мере необходимости для поддержки этапа разработки.
4.2.3. Этап внедрения
Этап внедрения начинается с разрешения на установку программного продукта в местах его функционирования. Программная система в определенных случаях может производиться индивидуально, собираться, интегрироваться и испытываться или может производиться массово. На этом этапе осуществляются подготовка инфраструктуры пользователя и оборудование помещений, в которых будет осуществляться функционирование программного продукта, проверка работоспособности программного продукта в реальных условиях эксплуатации, а также организуется обучение персонала работе с программным продуктом или его компонентами.
Планирование этапа внедрения начинается на предыдущем этапе (этапе разработки). Тиражирование программного продукта может продолжаться в течение всего остатка жизненного цикла программной системы.
Выходными элементами этапа внедрения являются следующие основные артефакты:
- акт о завершении разработки;
- акт передачи в эксплуатацию.
Основная часть этапа заканчивается вводом программного продукта в эксплуатацию.
4.2.4. Этап эксплуатации
Этап эксплуатации начинается с установки и документального подтверждения начала использования программного продукта. Использование программного продукта производится в целях получения требуемых программных услуг при непрерывной функциональной и стоимостной эффективности. Этот этап продолжается до начала этапа утилизации.
Планирование этапа эксплуатации начинается на предыдущих этапах. Данный этап включает процессы, которые связаны с использованием программных продуктов для предоставления услуг, а также контроль функционирования, выявления и документирования возникающих проблем.
Действия (либо отсутствие каких-либо предпринимаемых действий) по выявленным проблемам могут быть следующими:
- утверждение акта ввода в эксплуатацию;
- обслуживание программного продукта;
- инициирование действий сопровождения при незначительных модификациях;
- дополнительное инициирование этапа разработки в случае крупных модификаций;
- инициирование этапа списания.
Во время этапа эксплуатации программный продукт или его отдельные части могут модифицироваться и развиваться, приводя к образованию различных конфигураций. Разработчик модификаций должен обеспечивать управление версионностью программных элементов.
Выходными элементами этапа эксплуатации являются следующие основные артефакты: