3.3.4.2 Состав этапа (подэтапы)
1. Разработка модулей системы в соответствии с требованиями ТЗ и проекта.
2. Разработка тестов.
3. Подготовка тестовой БД (заполнение системы минимально необходимым для стендовых испытаний набором данных).
4. Стендовое тестирование и доработка.
5. Опытная эксплуатация («пилотное» внедрение системы на реальном предприятии).
3.3.4.3 Выходные документы
Выходные документы:
- Новая техническая документация на модифицированные серверную и клиентскую части системы, новые подсистемы:
- Описание системы.
- Руководство пользователя.
- Руководство администратора.
- Задание на тестирование (планы тестирования модулей и системы).
- Отчет о тестировании и выявленных несоответствиях ТЗ.
- Отчет по ликвидации ошибок и несоответствий ТЗ.
- Отчет о результатах пилотного внедрения (о соответствии работы системы требованиям ТЗ).
3.3.5.1 Назначение и особенности
Этот этап включает в себя работы по инсталляции и настройке системы, обучению пользователей, оказанию консультаций на начальной фазе эксплуатации системы (в первую очередь, при вводе данных) и пр.
3.3.5.2 Состав этапа (подэтапы)
1. Сбор данных.
2. Создание справочников, классификаторов, кодификаторов.
3. Наполнение БД системы производственными и др. (например, географическими) данными.
4. Конфигурирование системы для решения задач предметной области (встраивание в бизнес-процессы).
3.3.5.3 Выходные документы
Выходные документы:
- Отчет о наполнении системы данными.
- Отчет о соответствии работы системы требованиям ТЗ.
3.3.6.1 Назначение и особенности
Назначение этапа состоит в сопровождении промышленной эксплуатации системы (абонентском обслуживании), главным образом в устранении проблем при эксплуатации системы и ее развитие включает в себя следующие основные работы:
- оказание консультаций.
- регистрация, диагностика и локализация ошибок;
- исправление ошибок и тестирование;
- проведение доработок и тестирование;
- тиражирование и распространение новых версий ПО в места его эксплуатации;
- перенос приложений на новую платформу и масштабирование системы.
- приведение системы в соответствие с изменившимися бизнес-процессами (в оговоренных объемах).
3.3.6.2 Исполнительные документы
Выходные документы:
- Договор на абонентское обслуживание.
- Журнал регистрации консультаций.
- Журнал регистрации и устранения ошибок.
- Журнал регистрации доработок и тиражирования обновленных релизов (с указанием инициаторов доработок).
- Технические задания на доработку системы (в рамках абонентского обслуживания).
3.3.6.3 Трудоемкость и состав исполнителей
Назначение этапа состоит в развитии программного продукта в объемах, превосходящих задачи абонентского обслуживания системы.
Фактически, этот этап является итерацией ЖЦ системы с какого-либо этапа (в основном – с этапа ее проектирования, а иногда даже обследования), в то время как доработка системы в рамках абонентского обслуживания – в основном, итерация с этапа ее реализации.
В соответствии с указанной методологией, опытом нашей и ряда других фирм можно оценить долевую часть каждого этапа работ и их примерную продолжительность (для среднего проекта).
По поводу распределения времени в проекте Брукс в своей книге «Мифический человеко-месяц» приводит следующие эмпирические данные для этапов разработки информационных систем:
- 1/3 – планирование (этапы Стратегии, Анализа и Проектирования).
- 1/6 - написание программ (начало этапа Реализации).
- 1/4 - тестирование компонентов и предварительное системное тестирование (завершение этапа Реализации).
- 1/4 - системное тестирование при наличии всех компонентов (завершение этапа Реализации).
Таким образом, этап Реализации занимает 2/3 времени ЖЦ ПО, причем работы по тестированию – 50% времени ЖЦ ПО.
Далее, условно будем считать, что:
- Малые проекты: несложные АРМ (типа «Кадры»).
- Средние проекты, например:
- сложные АРМ (например, «Бухгалтерия», «Операционный день банка»);
- АСУ (например, системы диспетчеризации);
- ГИС;
- САПР;
- системы паспортизации;
- контроля исполнения договоров и т.д.
- Крупные проекты: проект масштаба всего предприятия (ERP-система) и т.д.
Для среднего проекта оценка трудоемкости выглядит следующим образом:
- Стратегия: 1-2 недели.
- Анализ (бизнес-обследование): от 4 месяцев.
- Проектирование: от 4 месяцев.
- Реализация (кодирование и тестирование) – не менее 7 месяцев.
- Внедрение и обучение– от 1 недели до 1 месяца (с полным вводом данных) в 1 филиале.
Итого, на анализ предметной области, проектирование и реализацию среднего проекта необходимо не менее 15 месяцев.
Приведем более детальную схему работ по указанным этапам.
- Разработка предварительной версии «Технического задания» - 4-7 дней.
- Разработка предварительной версии «Календарного плана» (в документе точно оцениваются только работы на этапе Анализа) – 1 день.
- Разработка предварительной версии «Сметы» (в документе точно оцениваются только работы на этапе Анализа) – 1-3 дня.
- Согласование и утверждение «Договора о проведении обследования» (для этапа Анализа) – 1-3 дня.
- Согласование и утверждение «Соглашения о конфиденциальности» – 1-2 дня.
- Интервьюирование экспертов, протоколирование интервью и утверждение протоколов – от 3 недель (на каждого эксперта 2-3 дня, всего интервьюируется не менее 10 экспертов).
- Разработка Модели предметной области – 9-10 недель:
- Обзор предметной области – 2 недели.
- Организационная структура предприятия – 1-2 дня.
- Эксплуатируемые информационные системы – 1 неделя.
- Словарь терминов – 1-2 недели.
- Составление диаграмм бизнес-процессов и их уточнение у экспертов – от 1 месяца.
- Описание первичных данных (потоков между бизнес-процессами) – 2-3 дня.
- Разработка Концепции системы - около 1 месяца:
- Обзор существующих систем – 2-3 дня.
- Экономическое обоснование целесообразности проекта – 1-2 дня.
- Уточненные технические требования – 1 неделя.
- Стратегия проектирования системы (фактически, наметки ко всем 8 будущим проектным документам, по 2-3 дня для каждого) – 16-24 дня.
- Составление окончательной документации на последующие этапы – 1-2 недели:
- Разработка Технического задания – от 2-3 дней.
- Составление Календарного плана работ – 1-2 дня.
- Калькуляция работ - 2-5 дней.
- Составление и согласование Договора на проектирование, разработку и внедрение системы - 2-5 дней.
- Проектирование – от 4 месяцев:
- Разработка Модели данных (архитектура базы данных и ER-диаграммы с описанием) – от 3 недель.
- Разработка Методик информационного наполнения (для тестирования и внедрения) – 1 неделя.
- Разработка Программной архитектуры (описание компонентов и их взаимосвязей) – от 2 недель.
- Разработка Модели представления интерфейса (структура экранных форм и отчетов, бизнес-логика процедур преобразования данных) – от 3 недель.
- Разработка Модели процессов системы (DFD-диаграммы и описание работы системы на этапах внедрения и эксплуатации) – от 2 недель.
- Разработка Спецификации на программирование (модулей и функций) – от 3 недель.
- Разработка Методологии встраивания системы в бизнес-процессы (план расширения функциональных возможностей системы и описание перспектив ее развития) – 1 неделя.
- Разработка Технических требований к аппаратной части и программному окружению серверов и рабочих мест (для тестировщиков и клиентов) – 1 неделя.
- Реализация – от 7 месяцев (наиболее сложный этап для ориентировочной оценки):
- Кодирование компонент (модулей, драйверов, инструментов и пр.) – от 3 месяцев (зависит от количества компонент).
- Тестирование и доработка компонент – от 1 месяца (в среднем, 30% от этапа кодирования).
- Создание скриптов и генерация базы данных – от 1-3 месяцев, в т.ч.:
- Создание скриптов генерации табличных пространств и настройка конфигурационных параметров БД – 1 неделя.
- Создание скриптов генерации таблиц, последовательностей, индексов, несложных триггеров и функций – 1 неделя.
- Создание скриптов настройки репликации – 1 неделя.
- Разработка запросов к БД (на выборку данных для отчетов и пр.) – от 1 месяца.
- Разработка хранимых процедур – от 1 месяца.
- Информационное наполнение системы для стендового испытания – 1 неделя.
- Стендовое тестирование и доработка системы – от 1 месяца, в т.ч.:
- Тестирование и оптимизация запросов на выборку данных
- Тестирование транзакций при добавлении, изменении, удалении данных на правильную работу последовательностей, ограничений, триггеров, функций и пр.; исправление ошибок, оптимизация запросов и настройка БД, подготовка отчета – от 2 недель.
- Тестирование и настройка обмена данными для распределенной БД (репликации); исправление ошибок, оптимизация запросов и настройка БД, подготовка отчета – от 2 недель.
- Подготовка документации (описание системы, руководство пользователя, и руководство администратора с приложениями) – от 1 месяца.
- Внедрение в одном филиале – от 1 месяца:
- Инсталляция системы на рабочих местах пользователей и администратора – 1 неделя.
- Сопровождение пользователей при наполнении системы – 1-2 недели.
- Устранение проблем (если таковые будут) – до 1 недели.
- Обучение пользователей и администратора – до 1 недели.
- Подготовка и утверждение приемо-сдаточных актов – 1-3 дня.
Наглядное представления по этапам жизненного цикла нового ПО (на примере средних проектов), их результатам (отчетным документам), трудоемкости и продолжительности дает следующая таблица: