Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
IT_лаб работы_ЗАОЧНОЕ.doc
Скачиваний:
67
Добавлен:
26.11.2018
Размер:
2.57 Mб
Скачать

Управление 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 Значение языкового множителя для метода обратного запуска

Язык программирования

Языковой множитель

Ada 83

71

Ada9X

49

Algol

107

ANSICobol85

107

APL

32

Assembly -Basic

320

Assembly -Macro

213

Basic - Compiled

91

Basic - Interpreted

128

С

128

C++

53

CMS2

107

Database

40

First generation

320

Forth

64

Fortran 77

107

Generators

16

Jovial

107

Lisp

64

Modula 2

80

Pascal

91

PL/1

80

Prolog

64

Quick Basic

58

Screen painters

6

Smalltalk

21

Spreadsheets

6

SQL

13

Visual Basic (v3)

40

Visual Basic (v4) Visual

36

Basic (v5)

29

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]