Современный подход к оценке трудоёмкости разработки ПС состоит в учёте особенностей ЖЦ ПС на различных этапах и влияния технологических факторов не только на трудозатраты, но и на уровень качества, надёжность и экономические показатели ПС.
Разработка ПС является важнейшим элементом основных процессов ЖЦ и состоит из следующих работ и задач, сгруппированных в 5 групп (этапов):
1. Анализ разработки:
а) подготовка процесса:
определение или выбор модели жизненного цикла ПС;
документальное оформление выходных результатов в соответствии с процессом документирования;
выполнение вспомогательных процессов в соответствии с условиями договора;
выбор стандартов, методов, инструментария, языков программмирования (если они не установлены в договоре);
разработка плана проведения процесса разработки.
б) анализ требований:
технические требования к системе должны включать: требования к функциям и возможностям системы; коммерческие и организационные требования; требования пользователя; требования безопасности и защиты; эргономические требования; требования к интерфейсам; эксплуатационные требования; требования к сопровождению и квалификационные требования. Технические требования к системе должны быть оформлены документально;
|
|
оценка и документальное оформление оценки требований к системе с учетом потребностей заказчика, соответствия потребностям заказчика, тестируемости, выполнимости проектирования системной архитектуры, возможности эксплуатации и сопровождения.
2. Проектирование:
а) проектирование программной архитектуры (применительно к каждому программному объекту):
трансформирование требований к программному объекту в архитектуру, которая описывает общую структуру объекта и определяет компоненты программного объекта; распределение требований к программному объекту между его компонентами; документальное оформление архитектуры программного объекта;
разработка и документальное оформление общего (эскизного) проекта внешних интерфейсов и интерфейсов между компонентами объектов;
разработка и документальное оформление общего (эскизного) проекта базы данных;
разработка и документальное оформление предварительной версии документации пользователя;
разработка и документальное оформление предварительных требований к тестированию программного объекта, разработка графика сборки программного продукта;
оценка и документальное оформление архитектуры программного объекта и эскизных проектов.
б) техническое проектирование ПС:
разработка и документальное оформление технического проекта для каждого программного объекта. Компоненты программного объекта должны быть уточнены на уровне программных модулей, которые можно программировать, компилировать и тестировать независимо. Распределение технических требований к компонентам между программными модулями;
|
|
разработка технического проекта внешних интерфейсов, интерфейсов между программными компонентами и программными модулями;
разработка технического проекта базы данных;
уточнение документации пользователя;
определение и документальное оформление требований к испытаниям и программе испытаний программных модулей;
оценка технического проекта и требований к тестированию, документальное оформление оценки.
3. Программирование:
а) программирование и тестирование компонентов ПС:
разработка и документальное оформление каждого программного модуля и базы данных;
разработка и документальное оформление процедур испытаний и данных для тестирования каждого программного модуля и базы данных;
тестирование каждого программного модуля и базы данных;
уточнение документации пользователя;
уточнение программы сборки ПС;
оценка запрограммированных элементов программного объекта и документальное оформление оценки;
б) сборка ПС:
разработка плана сборки и тестирования, документальное оформление плана;
сборка и тестирование программных модулей и компонентов, документальное оформление результатов;
подготовка к квалификационным испытаниям: разработка и документальное оформление наборов тестов, контрольных примеров, процедур испытаний;
оценка и документальное оформление оценки плана сборки, проекта, запрограммированного программного объекта, проведенных испытаний, результатов тестирования, документации пользователя.
4. Квалификационные испытания (тестирование) ПС:
проведение квалификационных испытаний на соответствие квалификационным требованиям к программному объекту;
уточнение документации пользователя (при необходимости);
проведение аудиторской проверки и документальное оформление результатов;
доработка программного продукта по результатам аудиторской проверки (при необходимости);
подготовка ПС к вводу в действие.
5. Внедрение ПС:
а) ввод в действие ПС:
разработка и документальное оформление плана ввода в действие программного продукта в среде эксплуатации, определенной в договоре;
ввод в действие программного продукта в соответствии с планом и условиями договора; документальное оформление работ;
б) обеспечение приемки ПС:
обеспечение проведения заказчиком оценки готовности к приемке и приемочным испытаниям; документальное оформление результатов оценки готовности;
поставка программного продукта заказчику;
первоначальное и непрерывное обучение и поддержка персонала заказчика в соответствии с условиями договора.
Вспомогательные процессы
1) Документирование – процесс формализованного описания информации, созданной в процессе или работе жизненного цикла. Данный процесс состоит из набора работ, при помощи которых планируют, проектируют, разрабатывают, выпускают, редактируют, распространяют и сопровождают те документы, в которых нуждаются все заинтересованные лица. Данный процесс состоит из работ: подготовка процесса; проектирование и разработка; выпуск.
2) Обеспечение качества – процесс обеспечения соответствующих гарантий того, что программные продукты и процессы в жизненном цикле проекта соответствуют установленным требованиям и утвержденным планам. Обеспечение качества должно быть организационно и полномочно независимым от субъектов, непосредственно связанных с разработкой программного продукта. Данный процесс состоит из подготовки процесса; обеспечения продукта; обеспечения процесса; обеспечения систем качества.
|
|
Организационные процессы
1) Управление – процесс, состоящий из общих работ и задач, которые могут быть использованы любой стороной, управляющей соответствующим процессом. Администратор отвечает за управление продуктом, проектом, работами и задачами соответствующего процесса, который состоит из подготовки и определения области управления; планирования; выполнения и контроля; проверки и оценки; завершения.
2) Создание инфраструктуры – процесс установления и обеспечения инфраструктуры, необходимой для любого другого процесса. Инфраструктура может содержать технические и программные средства, инструментальные средства, методики, стандарты и условия для разработки. Этот процесс состоит из подготовки процесса; создания инфраструктуры; сопровождения инфраструктуры.
3) Усовершенствование – процесс установления, оценки, измерения, контроля и улучшения любого процесса жизненного цикла ПС. Процесс состоит из создания процесса; оценки процесса; усовершенствования процесса.
4) Обучение – процесс обеспечения первоначального и продолженного обучения персонала. Должно быть запланировано и заранее выполнено обучение персонала с целью готовности его к работам по разработке программного проекта. Данный процесс состоит из подготовки процесса; разработки учебных материалов; реализация плана обучения.
Методика оценки трудоёмкости должна охватывать все указанные выше работы процесса разработки ПС, а также вспомогательные и организационные процессы.
ОСНОВНЫЕ ПОНЯТИЯ И ПОЛОЖЕНИЯ ТЕХНОЛОГИИ РАЗРАБОТКИ ПРОГРАММНЫХ СРЕДСТВ