
- •Оглавление
- •Глава 1. Жизненный цикл программного обеспечения ……………………………………………43
- •Глава 2. Методические аспекты
- •Глава 3. Моделирование бизнес-процессов
- •Глава 4. Анализ и проектирование
- •Глава 5. Технологии создания программного
- •Глава 6. Оценка трудоемкости создания
- •Глава 7. Особенности современных проектов ........527
- •Предисловие
- •Введение
- •Глава 1 жизненный цикл программного обеспечения
- •Нормативно-методическое обеспечение создания по
- •Стандарт жизненного цикла по
- •Основные процессы жц по
- •Вспомогательные процессы жизненного цикла по
- •Организационные процессы жизненного цикла по
- •Взаимосвязь между процессами жц по
- •Модели жизненного цикла по
- •Каскадная модель жц
- •Итерационная модель жизненного цикла
- •Методика spmn
- •Пример процесса «управление требованиями»
- •Пример процесса «управление конфигурацией по»
- •Общие принципы проектирования систем
- •Визуальное моделирование
- •Структурные методы анализа и проектирования по
- •Метод функционального моделирования
- •Описание типов связей
- •Моделирования процессов idef3
- •Типы связей idef3
- •Типы соединений
- •Моделирование потоков данных
- •Количественный анализ диаграмм
- •Сравнительный анализ sadt-моделей и диаграмм потоков данных
- •Моделирование данных
- •Объектно-ориентированные методы анализа и проектирования по
- •Основные принципы построения объектной модели
- •Основные элементы объектной модели
- •Значения мощности
- •Унифицированный язык моделирования uml
- •Диаграммы вариантов использования
- •Диаграммы взаимодействия
- •Диаграммы классов
- •Диаграммы состояний
- •Диаграммы деятельности
- •Диаграммы компонентов
- •Диаграммы размещения
- •Механизмы расширения uml
- •Количественный анализ диаграмм uml
- •Основные элементы языка uml
- •Основные типы связей языка uml
- •Диапазоны оценок для диаграмм uml
- •Образцы
- •Сопоставление и взаимосвязь структурного и объектно-ориентированного подходов
- •Структурный (процессный) подход к моделированию бизнес-процессов
- •Принципы процессного подхода
- •Применение диаграмм потоков данных
- •Система моделирования aris
- •Метод ericsson-penker21
- •Пример использвания процессного подхода
- •История болезни пациента
- •Спецификация структур данных
- •Построение диаграмм потоков данных нулевого и последующих уровней
- •Объектно-ориентированный подход к моделированию бизнес-процессов
- •Методика моделирования
- •Пример использования объектно-ориентированного подхода
- •Пример спецификации требований к программному обеспечению
- •Пример структурного проектирования по
- •Построение диаграмм системных процессов и диаграмм последовательностей экранных форм
- •Объектно-ориентированный анализ
- •Архитектурный анализ
- •Анализ вариантов использования
- •Объектно-ориентированное проектирование
- •Проектирование архитектуры системы
- •Проектирование элементов системы
- •Глава 5 технологии создания программного обеспечения
- •Определение технологии
- •Общие требования, предъявляемые
- •Внедрение тс по в организации
- •Общие сведения
- •Определение потребностей в тс по
- •Оценка и выбор тс по
- •Критерии оценки и выбора тс по
- •Выполнение пилотного проекта
- •Практическое внедрение тс по
- •Примеры тс по
- •Технология rup (rational unified process)
- •Технология oracle
- •Технология borland
- •Технология computer associates
- •Глава 6 оценка трудоемкости создания программного обеспечения
- •Методы оценки и их классификация
- •Методика оценки трудоемкости разработки по на основе функциональных точек
- •Определение функциональных типов
- •Определение количества и сложности функциональных типов по данным
- •Сложность ilf и eif
- •Определение количества и сложности транзакционных функциональных типов
- •Сложность ei
- •Сложность ео
- •Подсчет количества функциональных точек
- •Зависимость количества fp от сложности функционального типа
- •Коммуникации данных
- •Распределенная обработка данных
- •Производительность
- •Эксплуатационные ограничения
- •Частота транзакций
- •Ввод данных в режиме «онлайн»
- •Эффективность работы конечных пользователей1
- •Онлайновое обновление
- •Сложная обработка31
- •Повторное использование
- •Простота установки
- •Простота эксплуатации
- •Количество возможных установок на различных платформах
- •Гибкость32
- •Оценка трудоемкости разработки
- •Размер программного обеспечения в fp и loc
- •Распределение временных затрат по стадиям для маленьких и больших проектов
- •Статистические данные
- •Статистические (регрессионные) модели
- •Группа процессов
- •Определение весовых показателей вариантов использования
- •Определение технической сложности проекта
- •Определение уровня квалификации разработчиков
- •Оценка трудоемкости проекта
- •Методы, основанные на экспертных оценках
- •Метод дельфи
- •Метод декомпозиции работ
- •Средства оценки трудоемкости
- •Планирование итерационного процесса создания по
- •Глава 7 особенности современных проектов
- •Категории «безнадежных» проектов
- •Причины, порождающие «безнадежные» проекты
- •Причины разногласий между участниками проекта
- •Переговоры в «безнадежном» проекте
- •Человеческий фактор в «безнадежных» проектах
- •Процессы в «безнадежных» проектах
- •Динамика процессов
- •Контроль над продвижением проекта
- •Технология и инструментальные средства «безнадежных» проектов
- •Дополнительная литература
- •Краткий словарь терминов
- •Список основных сокращений
Группа процессов
КРА 1 — Управление требованиями
Требования к системе контролируются и служат основой для разработки ПО и управления проектом
Планы создания ПО, продукты и виды деятельности согласованы с требованиями к ПО
КРА 2 — Планирование проекта
Оценки ПО документируются и используются для планирования и отслеживания проекта
Проектные виды деятельности и обязанности планируются и документируются
Участники проекта (группы и индивидуумы) придерживаются своих обязанностей по отношению к проекту
КРА 3 — Отслеживание и контроль проекта
Текущие результаты и продуктивность отслеживаются на предмет соответствия планам
В случае существенного отклонения от планов предпринимаются корректирующие действия
Изменения в обязанностях согласовываются с соответствующими группами и индивидуумами
КРА 4 — Управление контрактами
КРА 5 — Обеспечение качества продукта
КРА 6 — Управление конфигурацией ПО
Управление конфигурацией планируется
Обеспечивается идентификация, контроль и доступ к выбранным рабочим продуктам
Изменения, вносимые в конкретные рабочие продукты, контролируются
Участники проекта информируются о состоянии содержания базовых версий ПО
КРА 7 — Координация процессов организации
КРА 8 — Стандартизация процессов организации
КРА 9 - Обучение
КРА 10 — Интегрированное управление созданием ПО
Процессы создания ПО в рамках конкретного проекта являются адаптированной версией стандартных процессов, принятых в организации
Проект планируется и управляется в соответствии с установленным в проекте процессом создания ПО
КРА 11 — Разработка программного продукта
Задачи разработки продукта четко определены, интегрированы и последовательно реализуются
Рабочие продукты согласованы друг с другом
КРА 12 — Межгрупповая координация
КРА 13 — Экспертные оценки
КРА 14 — Количественное управление проектом
КРА 15 — Управление качеством продукта
КРА 16 — Предотвращение дефектов
КРА 17 — Управление изменениями в технологии
Изменения в технологии планируются
Новые технологии оцениваются на предмет их воздействия на качество и продуктивность
Подходящие новые технологии внедряются в обычную практику организации
КРА 18 — Управление изменениями в процессах
Планируется постоянное совершенствование процессов
В совершенствовании процессов участвует вся организация
Стандартные процессы организации и процессы конкретных проектов постоянно совершенствуются
Значение рейтинга по каждой КРА определяется в соответствии с табл. 6.10.
Таблица 6.10
Значения рейтинга КРА
Характеристика состояния КРА в организации |
Вариант ответа в таблице рейтингов |
Значения КРА, % |
Задачи хорошо определены в стандартных процедурах и последовательно реализуются (более 90% времени) |
Почти всегда |
100 |
Задачи реализуются относительно часто, однако при определенных затруднениях не выполняются (от 60 до 90% времени) |
Часто |
75 |
Задачи реализуются от 40 до 60% времени |
Наполовину |
50 |
Задачи реализуются не слишком часто (от 10 до 40% времени) |
Случайно |
25 |
Задачи реализуются редко (менее 10% времени) |
Очень редко |
1 |
Данные процессы вообще не реализуются |
Не применяется |
0 |
Невозможно сказать ничего определенного относительно данных процессов |
Неизвестно |
0 |
Оценочный уровень зрелости процессов (EPML) вычисляется следующим образом:
,
где значение КРА% определяется по табл. 6.10.
Значения коэффициента РМАТ определяются в соответствии с табл. 6.11.
Таблица 6.11
Значения коэффициента РМАТ
Оценочный уровень зрелости процессов (EPML) |
Уровень зрелости процессов |
Значение РМАТ |
0 |
Уровень 1 СММ |
7.8 |
1 |
Уровень 1+ СММ |
6.24 |
2 |
Уровень 2 СММ |
4.68 |
3 |
Уровень 3 СММ |
3.12 |
4 |
Уровень 4 СММ |
1.56 |
5 |
Уровень 5 СММ |
0 |
Пример мультипликативного коэффициента трудоемкости — коэффициент использования инструментальных средств (TOOL)
Значения коэффициента TOOL вычисляются в соответствии с табл. 6.12.
В целом модель СОСОМО II является хорошим усовершенствованием традиционных и устаревших моделей трудоемкости. Она вполне соответствует принципам итерационной разработки и современным технологиям создания ПО. В частности, СОСОМО II активно используется в технологии Rational Unified Process. Вместе с тем она постоянно развивается, поскольку ее база данных пополняется сведениями о разнообразных проектах35.
Таблица 6.12
Значения коэффициента TOOL
Дескрипторы TOOL |
Уровни рейтинга |
Значение TOOL |
Редакторы кода, отладчики |
Очень низкий |
1.17 |
Простые CASE-средства с минимальной интеграцией |
Низкий |
1.09 |
Средства поддержки основных процессов ЖЦ, средняя степень интеграции |
Номинальный |
1.00 |
Мощные, развитые средства поддержки ЖЦ, средняя степень интеграции |
Высокий |
0.90 |
Мощные, развитые средства поддержки ЖЦ, хорошо интегрированные с процессами и методами, повторное использование |
Очень высокий |
0.78 |
6.4.
МЕТОДИКА ОЦЕНКИ ТРУДОЕМКОСТИ
РАЗРАБОТКИ ПО НА ОСНОВЕ ВАРИАНТОВ
ИСПОЛЬЗОВАНИЯ (ПО МАТЕРИАЛАМ
КОМПАНИИ RATIONAL SOFTWARE)
6.4.1.
ОПРЕДЕЛЕНИЕ ВЕСОВЫХ ПОКАЗАТЕЛЕЙ
ДЕЙСТВУЮЩИХ ЛИЦ
Все действующие лица системы делятся на три типа: простые, средние и сложные.
Простое действующее лицо представляет внешнюю систему с четко определенным программным интерфейсом (API).
Среднее действующее лицо представляет либо внешнюю систему, взаимодействующую с данной системой посредством протокола наподобие TCP/IP, либо личность, пользующуюся текстовым интерфейсом (например, ASCII-терминалом).
Сложное действующее лицо представляет личность, пользующуюся графическим интерфейсом (GUI).
Подсчитанное количество действующих лиц каждого типа умножается на соответствующий весовой коэффициент, затем вычисляется общий весовой показатель А.
Весовые коэффициенты действующих лиц
Тип действующего лица |
Весовой коэффициент |
простое |
1 |
среднее |
2 |
сложное |
3 |
В качестве примера рассмотрим систему регистрации для учебного заведения, описанную в главе 3:
Типы действующих лиц
Действующее лицо |
Тип |
Студент |
Сложное |
Профессор |
Сложное |
Регистратор |
Сложное |
Расчетная система |
Простое |
Каталог курсов |
Простое |
Таким образом, общий весовой показатель равен:
,
6.4.2.