
- •Программные оболочки и пакеты Лабораторные работы
- •1. Цель работы 25
- •1. Цель работы 38
- •2. Теоретическая справка 64
- •1. Цель работы 95
- •1. Цель работы 115
- •2.2. Методология idef0
- •2.2.1. Основные принципы построения моделей idef0
- •2.2.2. Работы (Activities)
- •2.2.3. Стрелки (Arrows)
- •2.2.4. Нумерация работ и диаграмм
- •2.2.5. Диаграммы дерева узлов и feo
- •2.2.6. Каркас диаграммы
- •2.2.7. Слияние и расщепление моделей
- •2.2.8. Рекомендации по составлению диаграмм
- •2.3. Методология функционально-стоимостного анализа (abc)
- •2.4. Анализ, основанный на свойствах, заданных пользователем (udp)
- •3. Порядок выполнения работы
- •4. Содержание отчета
- •5. Контрольные вопросы
- •2.2. Диаграммы потоков работ (Workflow Diagrams)
- •2.3. Создание отчетов в bPwin
- •3. Порядок выполнения работы
- •4. Содержание отчета
- •5. Контрольные вопросы
- •2.2. Интерфейс eRwin. Уровни отображения модели
- •2.3. Подмножества модели и сохраняемые отображения
- •2.4. Создание логической модели данных с помощью eRwin
- •2.5. Сущности и атрибуты
- •2.6. Связи
- •2.7. Типы сущностей и иерархия наследования
- •2.8. Ключи
- •3. Порядок выполнения работы
- •4. Содержание отчета
- •5. Контрольные вопросы
- •2.2. Внешние и внутренние метрики размера пс. Сравнение функциональных точек и количества строк исходного кода
- •2.3. Руководство по подсчёту функциональных точек
- •2.4. Пример расчета по методу функциональных точек
- •2.5. Метод функциональных точек в пакете cosmos
- •3. Порядок выполнения работы
- •4. Содержание отчета
- •5. Контрольные вопросы
- •6. Рекомендуемая литература
- •2.2. Количество строк исходного кода (sloc)
- •2.3. Типы программной разработки
- •2.4. Стоимостные факторы
- •2.5. Уравнения, используемые в модели cocomo
- •2.6. Распределение трудозатрат по фазам разработки
- •2.4. Пример расчетов с использованием модели cocomo
- •2.5. Модель cocomo в пакете cosmos
- •3. Порядок выполнения работы
- •4. Содержание отчета
- •5. Контрольные вопросы
- •6. Рекомендуемая литература
- •2.2. Основные шаги при работе с angeLplus
- •3. Порядок выполнения работы
- •4. Содержание отчета
- •5. Контрольные вопросы
- •6. Рекомендуемая литература
- •Приложение Варианты учебных информационных систем предприятий
2.2. Внешние и внутренние метрики размера пс. Сравнение функциональных точек и количества строк исходного кода
Известно, что в большинстве случаев именно размер ПС определяет его сложность и наиболее существенно влияет на график работ по его реализации. Поэтому измерение размера ПС является ключевым фактором для точной оценки трудоемкости его разработки и планирования работ по его реализации. Основные метрики размера ПС – это количество строк исходного кода (SLOC) и количество функциональных точек (FPC).
FPC является внешней метрикой, так как при её расчёте не берется во внимание технология разработки и кодирования ПС, не учитывается используемый язык программирования. Достаточно наличия подробного внешнего описания ПС, т.е. технического задания на его разработку, в котором перечислены и раскрыты все реализуемые им функции.
SLOC же является внутренней метрикой и по своей природе требует знания внутреннего строения ПС, от которого во многом зависит. Очень сложно точно оценить SLOC на начальных этапах проектирования ПС, исходя из одних требований к системе и не принимая во внимание детали реализации. Только при наличии готового кода ПС это можно сделать с большой точностью. Однако и в этом случае данная метрика будет характеризоваться высокой степенью субъективизма, так как очевидно, что одну и ту же задачу программисты разной квалификации и разной культуры программирования могут решить так, что количество строк исходного кода в этих решениях будет отличаться в разы. Это ограничивает применение SLOC при планировании и распределении бюджета, где необходимо заранее располагать некоторыми объективными данными о трудоемкости программного проекта, до начала работ по его реализации.
С FPC дело обстоит иначе, этот метод напрямую связан с требованиями пользователя к системе, которые уже выражены в виде логических групп данных и автоматизированных бизнес-процессов. Это означает, что FPC можно посчитать достаточно точно даже на ранних этапах цикла разработки ПС. Объективность же оценки FPC зависит только от правильности использования метода функциональных точек и от качества подготовленного внешнего описания ПС. Всё это делает FPC очень удобной метрикой для планирования графика работ и распределения бюджета программных проектов.
В отличие от SLOC, существует проверенная годами стандартная методология с очень детальным руководством для подсчёта FPC, IFPUG Counting Practices Manual (Руководство по методам расчётов организации IFPUG). В этом руководстве есть множество примеров, демонстрирующих расчёты различных показателей для разных видов ПС (базы данных; системы, базирующиеся на структурном анализе и проектировании, на объектно-ориентированном анализе и проектировании, системы с графическим интерфейсом пользователя, системы реального времени и т.д.).
Приведённые примеры демонстрируют высокую корреляцию между FPC и реальным объемом работ, требующихся для завершения проекта. Именно поэтому правомерно подставлять FPC вместо SLOC в параметрические модели оценки трудозатрат, которые требуют SLOC в качестве входных данных (например, модели COCOMO, Релея и т.п.). Метод обратного запуска в этом случае как раз является тем средством, которое делает возможной такую замену.
Так как FPC не привязано к конкретной реализации ПС, то его можно использовать для сравнения различных вариантов реализаций, не прибегая к нормализации.