Автор работы: Пользователь скрыл имя, 10 Мая 2012 в 20:58, реферат
Проблема оптимізації процесу управління розробкою програмного забезпечення ускладнюється внаслідок зростання різноманітності і складності розроблюваних програмних продуктів. Сучасні проекти створення програмного забезпечення характеризуються неможливістю бути чітко описаними на початкових стадіях їх реалізації.
Перелік позначень та скорочень 9
Вступ 10
1 Огляд проблеми розробки сучасних програмних систем управління проектами 11
1.1 Основні проблеми розробки сучасних програмних систем 11
1.1.1 Необхідність розробки програмного забезпечення 11
1.1.2 Огляд основних моделей життєвого циклу програмного забезпечення 11
1.1.3 Огляд основних методологій розробки програмного забезпечення 12
1.1.4 Чинники вибору методології розробки програмного забезпечення 15
1.2 Докладний опис області управління проектами 16
1.2.1Мотивований вибір методології розробки програмного забезпечення 16
1.2.2 Опис бізнес-процесів області управління проектами 16
1.3 Огляд існуючих систем управління проектами 19
1.4 Постановка задачі автоматизації управління проектами 19
2 Розробка математичної моделі для автоматизації процесу управління проектами 20
2.1 Теоретичні основи оцінки тривалості проекту 20
2.2 Розробка моделі оцінки тривалості проекту 21
3 Розробка програмного забезпечення 25
3.1 Розробка загальної архітектури системи 25
3.2 Розробка діаграми варіантів використання 25
3.2 Розробка концептуальної моделі даних 26
3.3 Вибір та обґрунтування програмних засобів для реалізації програмного забезпечення 28
Висновки 30
Список джерел інформації 31
Додаток А Аналіз основних методологій 32
Додаток Б Огляд систем управління проектами 33
Додаток В Глосарій основних понять 34
Функціональні вимоги – функції програмної системи або її компонентів, які описують поведінку системи в тих чи інших ситуаціях. Вони визначають основний напрямок роботи розробника та встановлюють цілі, завдання та сервіси, що надаються системою замовнику [8].
Нефункціональні вимоги – вимоги, які визначають критерії, які можна використовувати для оцінки роботи системи, а не конкретного поведінки. Це також може бути наведений перелік обмежень, які накладаються на функціональність системи. Вони включають часові обмеження, обмеження на процес розробки системи, стандарти та інші.
Іншими словами, ці вимоги представляють собою атрибути якості (quality attributes), які повинні бути досягнуті в системі. Стандартом SWEBOK на даний час визначені такі атрибути якості:
Для розроблюваного ПЗ виділяють наступні типи акторів: Scrum майстер, розробник, власник продукту.
Всі користувачі повинні мати наступні можливості:
Власник продукту повинен мати можливість:
Scrum майстер повинен мати можливість:
В роботі було виділено наступні нефункціональні вимоги до розроблюваної системи:
На основі аналізу існуючих систем, представленому в додатку Б, можна зробити висновок, що всі вони включають багато необхідних функцій для ефективного управління проектами та координації дій розробників з замовниками. Також необхідно зазначити, що більшості систем притаманна клієнт-серверна архітектура з "тонким клієнтом", яка не потребує зі сторони клієнта додаткового програмного забезпечення.
Проте майже всі системи не включають в себе функції обліку затраченого часу з метою оптимізації ресурсів проекту, тому актуальною є розробка такої системи, яка крім основного функціоналу, притаманного для даного класу ПЗ, давала можливість учасникам проекту оцінити тривалість проекту. Така особливість системи необхідна задля оптимізації ресурсів, відведених на реалізацію проекту.
За допомогою проведеного аналізу проблеми оцінки тривалості проектів з розробки програмних продуктів метою роботи визначено, що необхідно спроектувати програмне забезпечення для оцінки тривалості проектів.
Для досягнення поставленої мети необхідно вирішити наступні задачі:
обрати програмні засоби для реалізації програмного забезпечення.
Незважаючи
на значний прогрес в процесах і методах
розробки, оцінка тривалості проекту все
ще сильно залежать від експертних оцінок.
Представлена нижче математична модель
дозволяє автоматизувати оцінку тривалості
проекту на ранніх стадіях розробки і
скоротити залежність від людських експертних
знань і досвіду. В розробленій моделі
час, необхідний для виконання проекту,
приймається за випадкову величину, яка
має вигляд розподілу Вейбулла-Гніденко
з трьома параметрами. Функція цього розподілу
представлена формулою 2.1:
(2.1)
де:
Рисунок 2.1- Функція розподілу Вейбулла-Гніденко
Параметр α моделює додаткову роботу, ініційовану змінами в технічному завданні [9]. Можна визначити загальну кількість вимог в технічному завданні змінною TREQ, а кількість запитів на зміну функціональності, що надійшли за поточну ітерацію, змінною CR. Оскільки на підсумкове час виконання проекту впливають тільки ті підзадачі, які знаходяться на критичному шляху, то при розрахунку TREQ і CR необхідно враховувати тільки ту функціональність, яка відноситься до критичного шляху проекту. Ставлення TREQ і CR буде визначати ступінь мінливості вимог до розроблюваної системи.
Варто відзначити, що в циклі розробки ПЗ найбільш схильні помилок і ризиків стадії розробки вимог і дизайн-специфікацій. Ця проблема особливо актуальна в проектах за участю кількох зацікавлених осіб, які мають різні точки зору на проект.
Можна
представити α, як степінь мінливості
системи:
(2.3)
де:
Параметр β моделює ефективність роботи персоналу проекту. при побудові метрики оцінки ефективності персоналу автором використовуються фактори витрат масштабу.
Ці
фактори необхідно враховувати, оскільки
великі проекти вимагають координації
між великою кількістю груп, яким доводиться
спілкуватися між собою. Із зростанням
розміру проекту число комунікаційних
зв'язків між співробітниками росте в
квадратичної залежності від кількості
учасників проекту за формулою 2.4:
(2.4)
де
CON – кількість зв’язків, а NW –
кількість співробітників.
Таблиця 2.1- Опис факторів масштабу
Фактор | Позначення | Опис |
Передбачуваність | PREC | Відображає наявність в організації досвіду такого типу. Низький рівень означає, що досвід відсутній. Дуже високий – дана область являється знайомою для організації. |
Згуртованість команди | TEAM | Відображає рівень взаємодії між учасниками команди розробників. |
Зрілість процесу | РМАТ | Відображає зрілість процесів в організації згідно моделі CMM. Розраховується цей фактор по збірнику запитань CMM з розрахунку зваженого середнього значення. |
Ефективність
персоналу можна виразити через кількість
реалізованих завдань IFQ (для поточної
ітерації), кількості запланованих завдань
PFQ (для поточної ітерації) і факторів витрат
масштабу:
(2.5)
де:
В умовах, коли програмний код
ще не доступний, оцінку
CPX = UC×C (2.6)
де:
Параметр γ моделює складність системи, відому на етапі оцінки, і тому може бути виражений через метрику СРХ, яка встановлює відповідність між розміром системи і "классом" проекту, з одного боку, і трудомісткістю розробки системи, з іншого боку. Розроблювана модель враховує такі класи проекту:
Складність
проекту можливо виразити наступними
формулами:
(2.7)
(2.8)
де :
Таким чином було побудовано розподіл випадкової величини тривалості проекту, який виражається формулами (2.1), (2.3), (2.5-2.8). Всі параметри, що використовуються при розрахунках, є об'єктивними параметрами процесу, що дозволяє автоматизувати оцінку ризику незавершення проекту в строк.
Під архітектурою програмного забезпечення розуміють набір внутрішніх структур ПЗ, які видно з різних точок зору і складаються з компонентів, їх зв'язків та можливих взаємодій між компонентами, а також доступних ззовні властивостей цих компонентів [10].
На
основі проведеного огляду існуючих
систем управління проектами, представленого
в додатку Б, було обрано архітектуру клієнт-серверну
архітектуру з "тонким клієнтом",
представлену на рисунку 3.1.
Рисунок 3.1- Цільова архітектура системи
У
розроблюваній системі є три режими роботи:
власника продукту, члена команди розробників
та Scrum майстра. Дані режими відрізняються
функціональними можливостями. Також
слід зазначити, що Scrum майстер має всі
функціональні можливості члена команди
розробки, включаючи свої власні можливості.
За допомогою уніфікованої мови UML на підставі
аналізу системних вимог, приведеному
вище, було спроектовано діаграму варіантів
використання, представлену на наступному
рисунку.
Рисунок 3.2- Діаграма варіантів використання
Методологія IDEF1X (IDEF1 Extended) – це методологія побудови реляційних структур (баз даних), яка відноситься до типу методологій "Сутність-взаємозв'язок" (Entity-Relationship) і, як правило, використовується для моделювання реляційних баз даних [11].
Концептуальну
модель даних було побудовано, базуючись
на глосарій предметної області, приведеному
в додатку В, та за допомогою CASE – засобу
Computer Associates Erwin 7.1 та представлено на рисунку
3.3.
Рисунок
3.3- Концептуальна модель даних
Таблиця Backlog містить інформацію про журнал продукту, яка вноситься та модифікується власником продукту. Поле таблиці estimated_time включає розраховану тривалість проекту, яка заноситься в таблицю Scrum майстром. Таблиця Artifact включає усі артефакти розроблюваних програмних продуктів, що дозволить накопичувати досвід розробки та використовувати його в майбутніх проектах. Таблиця Task містить опис завдання на розробку, заповнює її Scrum майстер. Таблиця Sprint включає в себе інформацію про основні стратегічні завдання протягом даного спринту та їх цілі. Таблиця Time_report включає в себе звіти членів команди розробників про виконану роботу, а також коментарі власника продукту. Таблиця User містить інформацію про користувачів системи та їх роль в системі. Об'єднує всі таблиці Task_artifact, котра визначає зв'язок між користувачем завданням, звітом, артефактом та журналом продукту.