Методика розрахунку трудомісткості програмного продукту
Для розрахунку трудомісткості ПП необхідно визначити [14]:
а) кількість макетів (набори даних вхідної інформації);
б) кількість різновидів форм вихідної інформації (форм друкарських документів і інформації, яка переноситься на машинні носії);
в) ступінь новизни групи задач (задачі); по цьому критерію задачі діляться на 4 групи: А - задачі, які передбачають використання принципово нових методів розробки, проведення науково-дослідних робіт; Б - розробка типових проектних рішень, оригінальних задач і систем, які не мають аналогів; В - прив'язка типових практичних рішень при умові їх зміни; розроблення задач, які мають аналогічні рішення; Г - прив'язка типових проектних рішень без їх зміни; розробка задач, які мають аналогічні рішення;
г) складність алгоритму; виділяють три складності:
1) алгоритми оптимізації і моделювання систем і об'єктів;
2) алгоритми обліку, звітності, статистики, пошуку;
3) алгоритми, які реалізують стандартні методи рішень, а також не передбачають використання складних чисельних і логічних методів, д) складність організації контролю вхідної і вихідної інформації, яка характеризується наступними групами:
11 - вхідні дані і документи різноманітного розміру і структури, контроль здійснюється перехресне, тобто враховується зв'язок між показниками різних документів;
12 - вхідні дані і документи одноманітної форми і змісту, здійснюється формальний контроль;
21 - друкування документів складної багаторівневої структури, різноманітної форми і змісту;
22 - друкування документів одноманітної форми і змісту, вивід масивів даних на машинні носії.
е) вид інформації, яку використовують, яка може бути: перемінною (Ш); нормативно-довідковою (НДІ); банком даних (БД); ж) мову програмування;
з) можливість використання стандартних модулів, типових гірофам, пакетів прикладних програм.
Таблиця 9.4 - Норми часу на групу задач (задачу), людино-дні
Кількість макетів вхідної інформації | Задачі підсистем | ||||||||||||||||||||||||
Техніко-економічне планування, оперативне управління виробництвом, трудовими ресурсами; якість продукції | Технічна підготовка виробництва; транспортне, ремонтне, енергетичне, інструментальне обслуговування | Матеріально-технічне забезпечення; реалізація і збут продукції | Бухгалтерський облік; фінансові розрахунки | ||||||||||||||||||||||
Кількість різноманітних форм вихідної інформації | |||||||||||||||||||||||||
3;4 | 5;6 | 7-9 | 3;4 | 5;6 | 7-9 | 3;4 | 5;6 | 7-9 | 3;4 | 5;6 | 7-9 | 10-14 | |||||||||||||
На основі даних типових норм часу на програмування (таблиці 9.4 і 9.5) розраховують трудомісткість розробки ПП (Тр). Норми часу, зазначені в таблицях 9.4 і 9.5 розраховані для групи задач ступеня новизни «В» при використанні перемінної інформації (ПП). Для визначення трудомісткості ПП з іншими характеристиками потрібно використати поправкові коефіцієнти (таблиці 9.6 і 9.7). При використанні інформації різних видів поправковий коефіцієнт для визначення трудомісткості робіт розраховується за формулою:
Кп = (К1*m+ К2 *n+ К3*р) / (m + n + р), (9.11)
де K1, K2, К3 - поправкові коефіцієнти (таблиця 9.6);
m, n, р - відповідно ПІ, ПДІ, БД кількість наборів даних.
Норми часу на розроблення задач (табл. 9.4 і 9.5) розраховані при складності контролю вхідної інформації - 12 і вихідної - 22. В інших випадках необхідно користуватися поправковими коефіцієнтами Кск (табл. 9.6).
Норми часу наведені з урахуванням використання мов програмування високого рівня. При використанні мов низького рівня норми часу потрібно скоректувати з урахуванням коефіцієнта Км, рівного 1,15.
Коли при розробці ПП використовуються стандартні модулі і (або) пакети прикладних програм, типові програми, норму часу коректують за допомогою коефіцієнта Кет, рівного 0,6-0,8.
Таблиця 9.5 - Норми час Група складності ___
Група складності алгоритму | Сукупність новизни | |||
А | Б | В | Г | |
Таблиця 9.6 Поправка коефіцієнта для розрахунку трудомісткості робіт
Вид використаної інформації | Група складності алгоритму | Сукупність новизни | |||
А | Б | В | Г | ||
ПІ | 2,84 | 2,02 | 1,35 | 0,81 | |
2,52 | 1,80 | 1,20 | 0,72 | ||
2,10 | 1,50 | 1,0 | 0,60 | ||
НДІ | 1,70 | 1,21 | 0,81 | 0,49 | |
1,51 | 1,08 | 0,72 | 0,43 | ||
1,26 | 0,90 | 0,60 | 0,36 | ||
БД | 1,42 | 1,01 | 0,68 | 0,40 | |
1,26 | 0,90 | 0,60 | 0,36 | ||
1,05 | 0,75 | 0,50 | 0,30 |
При розробці стандартного ПП норму часу слід корегувати за допомогою коефіцієнта Кст.п, рівного 1,2-1,6
Загальна трудомісткість програмування задач:
То=Тр*Кп*Кск*Км*Кст*Кст.п,
Таблиця 9.7 - Поправкові коефіцієнти, враховуючи складність контролю вхідної і вихідної інформації
Складність контролю вхідної інформації | Складність контролю вихідної інформації | |
1,16 | 1,07 | |
1,08 | 1,00 |
Приведені в таблиці 9.4 і 9.5 норми часу, розраховані в людино-днях при п'ятиденному робочому тижні з тривалістю робочого дня 8 годин. У випадку зміни тривалості робочого дня норми часу треба перерахувати.
Приклад розрахунку трудомісткості групи задач.
Визначити трудомісткість розробки 1111 групи задач «Облік основних фондів» підсистеми управління «Бухгалтерський облік». Плановий період розробки - 0,5
Початкові дані: кількість макетів вхідної інформації - 5, в тому числі перемінної інформації - 2; інформація отримана від рішення суміжних задач - 1; довідкової умовно-постійної інформації - 2; кількість різновиду форм вихідної інформації - 10, в т. ч. друкарських документів - 6; інформації, що переноситься на машинні носії - 4; ступінь новизни групи задач - «Г»; складність алгоритму - «З»; вид використаної інформації: інформація, одержана від рішення суміжних задач, відноситься до перемінної (ПІ) - 3; довідкова, умовно-постійна інформація відноситься до НСУ - 2; складність організації контролю вхідної і вихідної інформації - вхідні дані і документи різноманітного формату і структури, контроль здійснюється перехресне - 11; друкування документації складної багаторівневої структури, різноманітної форми і змісту - 21; мова програмування - АССЕМБЛЕР; використання стандартних модулів, типових програм і (або) пакетів прикладних програм, використовуються стандартні програми; керівником роботи встановлено коефіцієнт Кет = 0,7. На основі початкових даних при кількості макетів вхідної інформації (5 макетів) і різноманітності форм вихідної інформації (10 різноманітностей форм) по таблиці 9.7 визначає норму часу Тр на дану групу-задач, яка дорівнює 284 людино-дня. Розрахуємо поправковий коефіцієнт Кп за формулою
Кп = (К1*m + К2*n ) / (m + п) = (0,6*3+0,36*2)/(3+2) = 0,5.
Коефіцієнти К1 і К2 визначені по табл. 9.6 із обсягу видів використаної інформації (ПІ = 3; НДІ = 2) і групи складності алгоритму (третя група); вони дорівнюють відповідно К1 = 0,6 і К2 = 0,36.
Вираховуємо поправковий коефіцієнт Кск, який характеризує складність контролю вхідної і вихідної інформації по таблиці 9.7. Він дорівнює 1,16 (складність контролю вхідної інформації -11, вихідної -21).
В зв'язку з тим, що програма розробляється з використанням мови низького рівня АССЕМБЛЕР, додатково враховується поправковий коефіцієнт Км = 1,15. Врахування використання стандартних програм виконується за допомогою коефіцієнта Кет, який дорівнює 0,7. Отже, загальна трудомісткість ПЗ групи задач «Облік основних фондів» складає (формула 9.12): То =Тр • Кп • Кск • Км • Кcт • Кст.п = 284 • 0,5 • 1,16 • 1,15 • 0,7 = 133 людино-дні.
Приклади проведення ФВА
Приклад 9.5.1 Розробка програмного продукту
9.5.1.1 Обгрунтування функцій програмного продукту (ПП)
Метою проведення ФВА є розробка програмного забезпечення для автоматизації функцій відділу збуту малого підприємства. Всі функції системи реалізуються на мові програмування Borland DELPHI 3.0. І III розроблений для використання на ПЕОМ типу IBM PC AT під управлінням MS WINDOWS 95 [4,5,6]
Формування основних функцій ПП.
Виходячи з конкретної мети, можна виділити наступні функції ПП:
F1 - зберігання інформації в базі даних (БД);
F2: - введення інформації в БД;
F3 - перегляд і редагування даних;
F4 - організація дружнього інтерфейсу;
F5 - ступінь уніфікації.
Варіанти реалізації основних функцій наведені в морфологічній карті системи (рисунок 9.4). На основі цієї карти побудовано позитивно-негативну матрицю (таблиця 9.8).
Таблиця 9.8 - Позитивно-негативна матриця
Основні функції | Варіанти реалізації функцій | Переваги | Недоліки |
F1 | а) | Простота доступу по даних, мінімальний час звернення | Дублювання інформації при багатомашинному варіанті |
б) | Унікальність інформації, менший об’єм пам’яті | Ускладнення доступу до даних, збільшення часу звернення | |
F2 | а) | Збільшення швидкості обробки даних | Можливість втрати інформації при збоях |
б) | Підвищення надійності за рахунок зменшення ймовірності втрати даних при збоях | Зменшення швидкості обробки даних | |
F3 | а) | Повне відображення інформації по одному об’єкту | Відсутність інформації по іншим об’єктах |
б) | Можливість порівняння інформації по декількох об’єктах | Інформація відображається не повністю | |
в) | Максимальна наочність інформації, що відображається | Складність реалізації | |
F4 | а) | Мінімальний об’єм програми | Збільшення ймовірності внесення помилок |
б) | Простота і зручність роботи з програмою | Збільшення об’єму програми | |
в) | Простота і швидкість навчання роботи з програмою | Збільшення об’єму програми | |
F5 | а) | Можливість використання в багатьох програмних комплексах | Збільшення необхідного об’єму оперативно-запам’ятовуючого пристрою |
б) | Спрощення реалізації | Значне скорочення області використання |
Рисунок 9.4 - Морфологічна карта