- •С.Л. Моругин Проектирование информационных систем
- •Часть 2
- •Содержание
- •5. Модели процессов
- •5.1. Состав функциональной модели
- •5.2. Иерархия диаграмм
- •5.3. Типы связей между функциями
- •5.4. Моделирование процессов по стандарту idef0
- •5.5. Модели as-is и то-ве
- •5.6. Моделирование в стандарте idef0
- •5.7. Нумерация работ и диаграмм
- •5.8. Диаграммы дерева узлов и feo
- •5.9. Каркас диаграммы
- •5.10. Рекомендации по рисованию диаграмм
- •6. Модели данных
- •6.1. Концепция баз данных
- •6.1.1. Независимость данных от обработки
- •6.1.2. Системы управления базами данных
- •6.1.3. Понятие о модели данных
- •6.1.4. Концепция трех схем
- •6.1.5. Семантические модели данных
- •6.1.6.Ограниченность реляционной модели при проектировании баз данных
- •6.1.7. Общие принципы классификации субд
- •6.1.8. Основные задачи и этапы проектирования баз данных
- •6.1.8.1. Основные задачи:
- •6.1.8.2.Основные этапы проектирования баз данных
- •6.2. Концептуальные модели предметной области
- •6.2.2. Основные понятия er-модели
- •6.2.2.1. Понятие сущности. Типы сущностей
- •6.2.2.2. Стержневая сущность
- •6.2.2.3. Ассоциация
- •6.2.2.4. Характеристика
- •6.2.2.5. Обозначение
- •6.2.2.6. Атрибут сущности
- •6.2.2.7. Ключ
- •6.2.2.8. Связь
- •6.2.3. Нотация Чена для изображения er-диаграмм
- •6.3. Логические модели данных
- •6.3.1. Получение реляционной схемы из er-модели
- •6.3.2. Построение логических реляционных моделей данных в стандарте idef1x
- •6.3.3. Создание логической реляционной модели данных в erWin
- •6.3.3.1. Ключи
- •6.3.3.2. Домены
- •6.3.3.3. Задание атрибутов модели
- •6.3.3.4. Задание связей
- •6.3.3.5. Связь многие-ко-многим
- •6.3.3.6. Типы сущностей и иерархия наследования
- •6.3.3.7. Пример создания модели
- •6.3.3.8. Денормализация в eRwin
- •6.3.3.4. Создание физической модели данных
- •6.4. Согласование моделей данных и моделей процессов
- •3. Создание сущностей и атрибутов bPwin и их экспорт в eRwin
- •7 Метрики программного обеспечения
- •7.1. Метрика
- •7.2. Размерно-ориентированные метрики
- •7.3. Функционально-ориентированные метрики
- •7.4. Метрики указателей свойств (Features Points).
- •7.5. Оценка сроков выполнения проекта и его трудоемкости
- •Обозначения и сокращения
- •Библиографический список
- •Проектирование информационных систем
- •607220, Г. Арзамас, Нижегородская обл., ул. К.Маркса, 36
- •607220, Г. Арзамас, Нижегородская обл., ул. К.Маркса, 36
7 Метрики программного обеспечения
7.1. Метрика
Процесс руководства программным проектом начинается с множества действий, объединяемых общим названием планирование проекта. Первое из этих действий — выполнение оценки. Оно закладывает фундамент для других действий по планированию проекта. При оценке проекта чрезвычайно высока цена ошибок. Очень важно провести оценку с минимальным риском.
При оценке длительности и трудоемкости разработки программного обеспечения используются различные метрики.
Ме́трика програ́ммного обеспе́чения (англ. software metric) — это мера, позволяющая получить численное значение некоторого свойства программного обеспечения или его спецификаций.
Поскольку количественные методы хорошо зарекомендовали себя в других областях, многие теоретики и практики информатики пытались перенести данный подход и в разработку программного обеспечения. Как сказал Том ДеМарко, «вы не можете контролировать то, что не можете измерить».
Набор используемых метрик может включать в себя:
количество строк кода;
цикломатическая сложность;
анализ функциональных точек;
количество ошибок на 1000 строк кода;
степень покрытия кода тестированием;
покрытие требований;
количество классов и интерфейсов;
метрики программного пакета от Роберта Сесиль Мартина;
связность;
порядок роста (имеется в виду анализ алгоритмов в терминах асимптотического анализа и O-нотации) и др.
Можно оценить предварительные сроки разработки программного обеспечения. Эти методы не являются основными, так как для более точного оценивания работ необходимо учитывать множество факторов. Такие факты, обычно, всплывают во время обсуждений разработки с заказчиком и в процессе проектирования. Также, нужно учитывать внутренние процессы и подходы разработки исполнителя.
Для расчета оценок существует множество методов и моделей, которые позволяют просчитать предварительные сроки разработки проекта. Регрессионная модель СОСОМО, метод ISBSG (International Software Benchmarking Standard Group), метод оценки первого порядка и многие другие.
Модель конструктивных затрат (Constructive Cost Model, COCOMO) относится к числу наиболее широко применяемых технологий оценивания. Основа модели была разработана доктором Барри В. Боэмом (Dr. Barry W. Boehm) в начале 70-х годов 20-века. В первых моделях оценивался фактический размер (показатель LOC – число строк кода), понесенные трудозатраты и фактическая длительность разработки программного обеспечения.
Одной из альтернатив метрики LOC являются функциональные пункты. Данная метрика может применяться для оценки размера проекта на ранних стадиях. Существует много разных методов для вычисления функциональных пунктов. Стандарт подсчета функциональных пунктов поддерживается группой International Function Point Users Group (IFPUG).
7.2. Размерно-ориентированные метрики
Размерно-ориентированные метрики прямо измеряют программный продукт и процесс его разработки. Основываются размерно-ориентированные метрики на LOC-оценках (Lines Of Code). LOC-оценка — это количество строк в программном продукте.
Исходные данные для расчета этих метрик сводятся в таблицу (табл. 7.1).
Таблица 7.1- Исходные данные для расчета LOC-метрик
Проект |
Затраты |
Стоимость |
KLOC |
Программные документы |
Ошибки |
Число исполнителей |
чел.-мес |
тыс. $ |
тыс. LOC |
страниц |
шт. |
чел. |
|
Альфа |
26 |
175 |
12,9 |
387 |
35 |
4 |
Бета |
67 |
460 |
31,3 |
1432 |
92 |
6 |
Гамма |
46 |
342 |
23,4 |
1152 |
67 |
7 |
Дельта |
54 |
321 |
25.8 |
784 |
56 |
6 |
Таблица содержит данные о проектах за последние несколько лет, выполнявшихся в одной организации. Например, запись о проекте Альфа показывает: 12900 строк программы были разработаны за 26 человеко-месяцев и стоили 175 000 уе. Кроме того, по проекту Альфа было разработано 387 страниц документации, а в течение первого года эксплуатации было зарегистрировано 35 ошибок. Разрабатывали проект Альфа четыре человека. На основе таблицы вычисляются размерно-ориентированные метрики производительности и качества (для каждого проекта):
Производительность = Длина / Затраты [тыс.LOC / чел.-мес.],
Качество = Ошибки / Длина [Единиц / тыс.LOC],
УдельнаяСтоимость = Стоимость / Длина [тыс.УЕ./тыс.LOC],
Документированность= СтраницДокумента/Длина [Страниц/тыс.LOC].
Достоинства размерно-ориентированных метрик:
1) широко распространены;
2) просты и легко вычисляются.
Недостатки размерно-ориентированных метрик:
1) зависимы от языка программирования;
2) требуют исходных данных, которые трудно получить на начальной стадии проекта;
3) не приспособлены к непроцедурным языкам программирования.
