it лаб работы. IT_лаб работы_ЗАОЧНОЕ. Лабораторная работа 1 2 Оценка размера и сложности программных средств методом функциональных точек с использованием пакета cosmos 2
Скачать 2.46 Mb.
|
УПРАВЛЕНИЕ IT ПРОЕКТАМИЛабораторные работыСОДЕРЖАНИЕ УПРАВЛЕНИЕ IT ПРОЕКТАМИ 1 Лабораторные работы 1 ЛАБОРАТОРНАЯ РАБОТА № 1 2 Оценка размера и сложности программных средств методом функциональных точек с использованием пакета COSMOS 2 Цель работы 3 2. Теоретическая справка 3 2.1. Основные положения метода функциональных точек 3 2.2. Внешние и внутренние метрики размера ПС. Сравнение функциональных точек и количества строк исходного кода 15 2.3. Руководство по подсчёту функциональных точек 16 2.4. Пример расчета по методу функциональных точек 21 2.5. Метод функциональных точек в пакете COSMOS 24 3. Порядок выполнения работы 29 4. Содержание отчета 31 5. Контрольные вопросы 31 ЛАБОРАТОРНАЯ РАБОТА № 2 34 Оценка трудозатрат и сроков разработки программных средств с использованием модели COCOMO в программном пакете COSMOS 34 1. Цель работы 34 2. Теоретическая справка 34 2.1. Разновидности модели COCOMO 34 2.2. Количество строк исходного кода (SLOC) 35 2.3. Типы программной разработки 35 2.4. Стоимостные факторы 36 2.5. Уравнения, используемые в модели COCOMO 42 2.6. Распределение трудозатрат по фазам разработки 43 2.4. Пример расчетов с использованием модели COCOMO 45 2.5. Модель COCOMO в пакете COSMOS 47 3. Порядок выполнения работы 51 4. Содержание отчета 52 5. Контрольные вопросы 52 6. Рекомендуемая литература 53 ЛАБОРАТОРНАЯ РАБОТА № 3 54 Оценка трудоемкости разработки программных средств на основе аналогий с использованием пакета ANGELplus 54 1. Цель работы 54 2. Теоретическая справка 54 2.1. Методика оценки на основе аналогий 54 2.2. Основные шаги при работе с ANGELplus 54 3. Порядок выполнения работы 58 4. Содержание отчета 61 5. Контрольные вопросы 61 6. Рекомендуемая литература 61 ПРИЛОЖЕНИЕ 62 Варианты учебных информационных систем предприятий 62 ЛАБОРАТОРНАЯ РАБОТА № 1Оценка размера и сложности программных средств методом функциональных точек с использованием пакета COSMOSЦель работыПознакомиться с концепциями оценки размера и сложности ПС методом функциональных точек, получить практические навыки работы с программой COSMOS. 2. Теоретическая справка2.1. Основные положения метода функциональных точекМетод функциональных точек был впервые предложен в 1983 г. Аланом Альбрехтом (Allan Albrecht) и на данный момент является основной технологией для оценки функционального размера как уже готовых, так и находящихся на стадии проектирования ПС. Функциональные точки являются мерой функциональности, т.е. полезности ПС с позиции пользователя. Общая функциональность определяется и измеряется путем: · анализа логических групп данных, которые используются и поддерживаются ПС и характеризуют, по сути, функциональность данных; · анализа вводимой и выводимой пользователем информации, т.е. функциональности совершаемых транзакций. Таким образом, общая функциональность является суммой двух составляющих, как это показано на рис. 4.1: Функциональность = Функциональность Данных + Функциональность Транзакций Рис. 4.1. Функциональность ПС Измерение функциональности необходимо начинать с определения границ ПС. Обычно функциональность данных представляется файлами, таблицами баз данных, объектами и другими единицами хранения информации. При анализе по методу функциональных точек рассматриваются два вида групп данных: Внутренний логический файл (ILF - Internal Logical File)– логически связанная группа данных, определяемая пользователем и находящаяся внутри границ ПС, как показано на рис. 4.2 а); Внешний интерфейсный файл (EIF - External Interface File) – логически связанная группа данных, обеспечивающая ПС информацией, но лежащая за его пределами и поддерживаемая другим ПС, как показано на рис. 4.2 б). а) внутренние логические файлы; б) внешние интерфейсные файлы Рис. 4.2. Функциональность данных ПС: Транзакции – это элементарные процессы, т.е. наименьшие единицы активности, имеющие смысл для пользователя, которые происходят внутри ПС и которые порождаются входной и выходной информацией. В анализе, основанном на методе функциональных точек, выделяют три вида транзакций: Внешний ввод (EI - External Input) – процесс ввода данных и управляющей информации в ПС, как показано на рис. 4.3 а). Управляющая информация необходима для правильной обработки данных. Данные, поступающие на вход ПС, используются для поддержания внутреннего логического файла. Обычно, процессы вида EI используются для добавления, изменения или удаления информации; Внешний вывод (EO - External Output) – процесс, генерирующий данные или управляющую информацию, которые поступают на выход ПС, как показано на рис. 4.3 б). Обычно процесс вида EO представляет собой формирование различных экранов, отчетов, сообщений; Внешний запрос (EQ - External Inquiry) – диалоговый ввод, который приводит к немедленному ответу ПС в форме диалогового вывода, как показано на рис. 4.3 в). При этом диалоговый ввод в самом ПС не сохраняется, а диалоговый вывод не требует выполнения вычислений. В этом заключается главное отличие EQ от EI и EO. Каждой из выявленных характеристик функциональности ПС (EI, EO, EQ, ILF, или EIF) ставится в соответствие низкий, средний или высокий уровень сложности, а затем присваивается некоторая числовая оценка. а) внешний ввод; б) внешний вывод; в) внешний запрос Рис. 4.3. Функциональность транзакций ПС: Для внешних и внутренних файлов (ILF и EIF) сложность определяется и ранжируется при помощи количества типов элементов записей (RET - Record Element Types) и количества типов элементов данных (DET – Data Element Types), входящих в соответствующие логические группы данных. При этом под количеством RET понимается количество различных форматов записей, используемых в данном файле, а под количеством DET - количество различных полей в записях. Уровни сложности для внутренних и внешних файлов (ILF и EIF) в зависимости от количества RET и DET приведены в табл. 4.1. Таблица 4.1 Уровни сложности для внутренних и внешних файлов (ILF и EIF) Для транзакционных функций (EI, EO и EQ) сложность определяется и ранжируется при помощи количества типов используемых файлов (FTR - File Types Referenced), т.е. количества ILF и EIF участвующих в транзакционном процессе, а также количества типов элементов данных DET (отличных друг от друга полей записей), добавляемых, модифицируемых, стираемых или создаваемых в выходных данных. Таблица 4.2 Уровни сложности для внешних входов (EI) Уровни сложности для внешних выходов (EO) в зависимости от числа FTR и DET приведены в табл. 4.3. Таблица 4.3 Уровни сложности для внешних выходов (EO) Уровни сложности для внешних запросов (EQ) определяются с использованием следующего простого алгоритма: 1) вход внешнего запроса рассматривается аналогично внешнему входу (EI) см. табл. 4.2; 2) выход внешнего запроса рассматривается аналогично внешнему выходу (EO) см. табл. 4.3; 3) в качестве результата используется наибольшее значение из полученных в пп. 1) и 2) уровней сложности. Весовые коэффициенты уровней сложности для различных характеристик функциональности ПС приведены в табл. 4.4. Таблица 4.4. Весовые коэффициенты уровней сложности Таким образом, общая формула для вычисления ненормированного количества функциональных точек (UFPC – Unadjusted Function Point Count) следующая: UFPC - ненормированное количество функциональных точек; LEI - количество внешних входов низкого уровня сложности; AEI - количество внешних входов среднего уровня сложности, HEI - количество внешних входов высокою уровня сложности, LEO - количество внешних выходов низкого уровня сложности; AEO - количество внешних выходов среднего уровня сложности, HEO - количество внешних выходов высокого уровня сложности, LILF - количество внутренних логических файлов низкого уровня сложности, AILF - количество внутренних логических файлов среднего уровня сложности; HILF - количество внутренних логических файлов высокого уровня сложности, LEIF - количество внешних интерфейсных файлов низкого уровня сложности, AEIF - количество внешних интерфейсных файлов среднего уровня сложности, HEIF - количество внешних интерфейсных файлов высокого уровня сложности; LEQ - количество внешних запросов низкого уровня сложности, AEQ - количество внешних запросов среднего уровня сложности, HEQ - количество внешних запросов высокого уровня сложности. Для получения окончательного результата анализа, т.е. нормированного количества функциональных точек (AFPC – Adjusted Function Point Count), необходимо также учесть ряд общих требований к проекту, для чего полученное по формуле (4.1) ненормированное количество функциональных точек умножается на специальным образом рассчитанный нормирующий фактор (VAF - Value Adjustment Factor). В методе функциональных точек нормирующий фактор (VAF) определяется путем анализа 14 основных характеристик системы (GSC - General System Characteristics), целью которых и является учет общих требований к проекту. Все предусмотренные методом функциональных точек основные характеристики системы (GSC) представлены в табл. 4.5. Таблица 4.5 Основные характеристики системы (GSC) Каждая из приведенных в табл. 4.5. характеристик системы оценивается экспертным способом числом от 0 (если она не присутствует или не имеет значения для данного ПС) до 5 (если она имеет очень сильное влияние на данное ПС). Значения всех 14 характеристик суммируются для получения итоговой степени влияния (TDI - Total Degree of Influence). Нормирующий фактор (VAF) рассчитывается по формуле . (4.2) Таким образом, нормирующий фактор может принимать значения от 0.65 до 1.35, а нормированное количество функциональных точек представляет собой произведение ненормированного количества функциональных точек на нормирующий фактор . (4.3) В дальнейшем нормированное количество функциональных точек может быть использовано для получения оценки количества строк исходного кода (SLOC – Source Lines o Code) в ПС при помощи бэкфайер-метода или метода обратного запуска (Backfire Method). Бэкфайер-метод основан на использовании так называемого «языкового множителя», который представляет собой среднее количество строк исходного кода конкретного алгоритмического языка, приходящееся на одну нормированную функциональную точку. Кейперс Джонс (Capers Jones) – эксперт по метрикам ПО, глава фирмы Software Productivity Research, статистическими методами определил значения «языковых множителей» для основных языков программирования, которые приведены в табл. 4.6. Таким образом, если язык реализации выбран, то можно оценить количество строк исходного кода разрабатываемого ПС путем умножения нормированного количества функциональных точек на соответствующий языковой множитель , (4.4) где LM - языковой множитель языка программирования. Таблица 4.6 Значение языкового множителя для метода обратного запуска
|