Характеристика программного продукта
Введение
ЭВМ помогает человеку
реализовать трудоёмкие работы в
различных сферах его деятельности.
Универсальность различных
В данной курсовой работе будет проведено планирование разработки программного продукта, предназначенного для решения оптимизационных задач, а именно решение транспортных задач методом потенциалов. Будет рассчитана трудоемкость разработки, определен календарный план-график выполнения темы, а также затраты и договорная цена разработки программного продукта.
1 Характеристика программного продукта
В рамках выполнения данного
курсового проекта был
- размер таблицы (количество строк/поставщиков и столбцов/потребителей);
- таблица данных транспортной задачи;
Выходные данные:
- модель задачи;
- начальный опорный план (метод северо-западного угла);
- решение транспортной задачи по шагам;
Программа позволяет быстро и с достаточно высокой точностью рассчитать транспортную задачу. Так как ручной расчет подобных величин довольно сложен и занимает много времени, программа является хорошим средством оптимизации поставленной задачи. Главное окно программы приведёно на рисунке 1.
Рисунок 1 - Главное окно программы
Основные функции, выполняемые этой программой:
- 5 примеров исходных данных для задачи;
- ввод исходных данных;
- определение модели задачи;
- определение начального опорного плана методом северо-западного угла;
- вывод результата работы программы по шагам.
Выделяют следующие стадии разработки программного продукта: техническое задание (ТЗ), эскизный проект (ЭП), технический проект (ТП), рабочий проект (РП), внедрение (ВН).
Перечень этапов и работ, выполняемых при разработке программного продукта, представлен в таблице 1.
Таблица 1 – Перечень этапов и работ, выполняемых при разработке программного продукта
Этап |
Типовые работы этапа |
1 |
2 |
Техническое задание (ТЗ) |
1.1 Постановка задачи 1.2 Сбор исходных материалов 1.3 Выбор и обоснование критериев эффективности и качества разрабатываемой программы 1.4 Обоснование необходимости проведения разработки 1.5 Предварительный выбор методов решения задач 1.6 Определение требований к техническим средствам 1.7 Определение этапов, работ
сроков разработки 1.8 Описание требований к функциям, которые должны обеспечиваться программным продуктом 1.9 Согласование и утверждение ТЗ |
Эскизный проект (ЭП) |
2.1 Внешнее проектирование программного продукта 2.2 Уточнение методов решения задачи 2.3 Предварительное 2.4 Разработка общего алгоритма решения задачи 2.5 Разработка укрупненной структурной схемы программы 2.6 Определение структуры входных и выходных данных |
Технический проект (ТП) |
Подэтап «Проектирование архитектуры программного продукта» 3.1 Определение функций
каждой компоненты 3.2 Разработка схем управления потоками данных 3.3 Проектирование структур данных: определение способов представления, хранения и преобразования входных, выходных и внутренних данных |
Подэтап «Проектирование модульной структуры» 3.4 Разбиение компонент программного продукта на модули (процедуры) 3.5 Определение их функций и способов взаимодействия |
Продолжение таблицы 1.
1 |
2 |
Подэтап «Проектирование модулей» 3.6 Описание модулей программного продукта (имя модуля, функции, входные и выходные параметры, их форматы и др.) 3.7 Описание функциональной взаимосвязи между входными и выходными параметрами и т.д. | |
Рабочий проект (РП) |
4.1 Кодирование, тестирование и отладка программы 4.2 Разработка программных документов 4.3 Проведение приемо-сдаточных испытаний 4.4 Корректировка программного продукта и документации по результатам испытаний |
Внедрение (ВН) |
5.1 Подготовка и передача
программного продукта и 5.2 Опытная эксплуатация, устранение ошибок, корректировка документации |
2 Определение
трудоемкости разработки
Номинальная трудоемкость разработки определяется по формуле 1:
, (1)
где – действительный месячный фонд времени одного исполнителя, ч;
– директивный срок выполнения темы, примем равный 4 мес.;
– количество исполнителей, закрепленных за темой, установим значение, равное 2 человек.
, (2)
где – номинальный годовой фонд времени одного работника, ч;
b –
процент целодневных и
В 2010 году номинальный годовой фонд времени одного работника составляет
.
Рассчитаем номинальный фонд времени за месяц с учетом целодневных внутрисменных потерь рабочего времени:
рассчитаем трудоемкость всей работы за назначенный директивный срок:
Таким образом,
Трудоемкость темы зависит от научно-технического уровня разработки, а на этапе рабочего проектирования и от степени использования типовых ПП и их элементов для реализации функций разрабатываемого ПП. Необходимо скорректировать трудоемкость ОКР, предварительно определив коэффициенты уровня программной разработки и коэффициенты влияния каждого фактора на трудоемкость разработки.
Номинальную трудоемкость необходимо распределить по этапам разработки
(3)
где – трудоемкость каждого этапа разработки программного изделия, чел.-ч;
– удельный вес трудоемкости этапа разработки.
Определим удельные веса для каждой разработки, воспользовавшись вариантом № 1 из приложения Г методического указания. Рассчитаем по формуле (3) трудоёмкость этапов:
(чел-ч);
(чел-ч);
(чел-ч);
(чел-ч);
(чел-ч);
Полученные расчеты представим в виде таблицы 2.
Таблица 2 – Расчет номинальной трудоемкости по этапам
Этап НИР |
Удельный вес, % |
Номинальная трудоёмкость этапа, чел.-ч |
ТЗ |
11 |
132,26 |
Эскизный проект |
9 |
108,22 |
Технический проект |
11 |
132,26 |
Рабочий проект |
55 |
661,32 |
Внедрение |
14 |
168,34 |
Чтобы перейти к уточненной трудоемкости этапов разработки , необходимо
(4)
Уточненная трудоемкость этапа рабочего проектирования определяется
где – коэффициент, учитывающий использование стандартных и заимствованных программных продуктов или их элементов в разрабатываемой программе. Этот коэффициент не будем учитывать, так как заимствованные программные продукты при разработке не использовались.
– интегральный коэффициент влияния факторов уровня программной разработки на ее трудоемкость. Интегральный коэффициент рассчитывается по формуле:
(6)
где – коэффициент влияния каждого фактора; n – перечень факторов.
Степень влияния каждого фактора определяется самостоятельно, используя данные приложения Д и исходя из индивидуальных особенностей разрабатываемого программного продукта (таблица 3). При расчёте получим .
Таблица 3 – Коэффициенты, определяющие уровень программной разработки и корректирующие коэффициенты трудоемкости разработки
Группа факторов |
Содержание факторов |
Коэффициент влияния фактора на трудоемкость разработки |
1. Факторы, определяемые требованиями к программному изделию |
1.1 Требуемая надежность |
1,0 |
1.2 Сложность программного изделия |
1,2 | |
1.3 Объем данных |
1,2 | |
1.4 Рациональность (быстродействие) |
1,0 | |
2. Факторы, определяемые
быстродействием компьютерной |
2.1 Объем оперативной памяти |
1,0 |
2.2 Тактовая частота процессора |
1,2 | |
3. Факторы, определяемые исполнителями разработки |
3.1 Квалификация аналитика |
1,3 |
3.2 Опыт работы аналитика в данной области |
1,2 | |
3.3 Квалификация программиста |
1,1 | |
3.4 Опыт работы программиста в данной области |
1,0 | |
3.5 Опыт работы программиста с языком программирования |
1,1 |
Расчёт уточненной трудоёмкости приведён в таблице 4.
Таблица 4 – Расчет уточненной трудоемкости по этапам
Этап НИР |
Уточнённая трудоёмкость, чел.-ч |
ТЗ |
121,68 |
Эскизный проект |
99,56 |
Технический проект |
121,68 |
Рабочий проект |
608,41 |
Внедрение |
154,87 |
Итого |
1106,2 |
;
;
;
;
.
Из таблицы видно, что трудоемкость разработки программного продукта составляет 1106,2 чел.-ч, при этом трудоемкость этапа рабочего проекта составляет более чем половину от общей трудоемкости разработки. Следует отметить, что уточнение трудоемкости привело к уменьшению приблизительно на 8%.
Распределим группу исполнителей по должностям, численности и занесем данные в таблицу 5.
Таблица 5 – Состав исполнителей темы
Наименование должности |
Количество, чел. |
Ст. научный сотрудник |
1 |
Инженер |
1 |
3 Разработка
календарного план-графика
Сетевое планирование и управление (СПУ) является одним из наиболее эффективных методов планирования и управления, основанных на использовании теории графов. Основным документом системы является сетевой график.
Сетевой график – графическое изображение состава работ и промежуточных результатов проекта.
Организация проведения
ОКР связана с выбором
Календарный план выполнения работ составим с применением сетевого метода планирования и управления. Разработке предшествует составление исходных данных – таблица 6.
Определим продолжительность работ. В календарных днях она рассчитывается по формуле:
, (7)
где Т – трудоемкость выполнения работы, чел.-ч;
– продолжительность рабочего дня (полезное время, потери рабочего времени составляют 10%), ч;
– количество исполнителей работы, чел.;
– коэффициент выполнения работниками плановых заданий (при отсутствии информации 1,0);
– коэффициент перевода рабочих дней в календарные.
.
Для примера рассчитаем продолжительность двух работ:
Таблица 6 – Расчет исходных данных для построения сетевого план-графика
Наименование работы |
Код работы |
Трудоем-кость работы, чел.-ч |
Количество исполнителей чел. |
Продолжи- тельность работы, календ. дн. |
1 |
2 |
3 |
4 |
5 |
1.1 Постановка задачи |
1-2 |
12 |
2 |
0,88 |
1.2 Сбор исходных материалов |
2-3 |
42 |
2 |
3,09 |
1.3 Обоснование необходимости проведения разработки |
2-4 |
11 |
1 |
1,62 |
1.4 Предварительный выбор методов решения задач |
3-5 |
18 |
1 |
2,65 |
1.5 Определение требований к техническим средствам |
4-6 |
23 |
2 |
1,69 |
1.6 Определение этапов, работ
и сроков разработки |
5-6 |
19 |
2 |
1,4 |
1.7 Согласование и утверждение ТЗ |
6-7 |
7 |
2 |
0,51 |
2.1 Внешнее проектирование программного продукта |
7-8 |
7 |
1 |
1,03 |
2.2 Уточнение методов решения задачи |
8-9 |
9 |
2 |
0,66 |
2.3 Предварительное |
8-10 |
17 |
1 |
2,5 |
2.4 Разработка общего алгоритма решения задачи |
9-11 |
23 |
2 |
1,69 |
Продолжение таблицы 6.
1 |
2 |
3 |
4 |
5 |
2.5 Разработка укрупненной структурной схемы программы |
10-11 |
27 |
2 |
1,98 |
2.6 Определение структуры входных и выходных данных |
11-12 |
25 |
1 |
3,67 |
Подэтап “Проектирование архитектуры программного продукта” | ||||
3.1 Разработка схем управления потоками данных |
12-13 |
17 |
2 |
1,25 |
3.2 Проектирование структур
данных: определение способов |
12-14 |
25 |
2 |
1,84 |
Подэтап “Проектирование модульной структуры” | ||||
3.3 Разбиение компонент
программного продукта на |
13-15 |
19 |
1 |
2,79 |
3.4 Определение их функций и способов взаимодействия |
14-16 |
26 |
1 |
3,82 |
Подэтап “Проектирование модулей” | ||||
3.5 Описание модулей программного
продукта (имя модуля, функции, входные
и выходные параметры, их |
15-17 |
21 |
1 |
3,09 |
3.6 Описание функциональной взаимосвязи между входными и выходными параметрами и т.д. |
16-17 |
24 |
1 |
3,53 |
4.1 Кодирование, тестирование и отладка программы |
17-18 |
264 |
1 |
38,81 |
4.2 Разработка программных документов |
18-19 |
183 |
2 |
13,45 |
4.3 Проведение приемо-сдаточных испытаний |
19-20 |
127 |
2 |
9,33 |