Автор работы: Пользователь скрыл имя, 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
На основі огляду систем управління проектами, представленого в додатку Б, були обрані наступні програмні засоби для реалізації ПЗ:
Apache HTTP сервер – це веб-сервер з відкритим вихідним кодом. Основними перевагами Apache вважаються надійність і гнучкість конфігурації. Він дозволяє підключати зовнішні модулі для отримання даних [12], дає можливість модифікувати повідомлення про помилки. Недоліком найчастіше називається відсутність зручного стандартного інтерфейсу для адміністратора.
PHP – це мова розробки скриптів сервера, що включає інтерпретатор мови і набір функцій для доступу до баз даних і різних об'єктів WWW [13]. На даний момент PHP є найбільш зручним і потужним засобом розробки додатків WWW і інтерфейсів до БД в Інтернет. Загалом, PHP – це мова, спеціально націлена на роботу в Інтернеті, мова з універсальним і ясним синтаксисом. В принципі, в PHP є лише один серйозний недолік – його повільність при роботі з великими і складними сценаріями.
MySQL – вільна СКБД , що характеризується великою швидкістю, стійкістю і легкістю у використанні, є рішенням для малих і середніх застосувань. Зазвичай MySQL використовується як сервер, до якого звертаються локальні або видалені клієнти, проте в дистрибутив входить бібліотека внутрішнього сервера, що дозволяє включати MySQL в автономні програми. Недостатком MySQL можна назвати повільний пошук по індексам, в порівнянні з іншими СКБД.
JavaScript – об'єктно-орієнтована скриптова мова програмування на стороні клієнта. Найбільш широке застосування знаходить в браузерах як мова сценаріїв для додання інтерактивності веб-сторінок [14]. JavaScript має C-подібний синтаксис, але в порівнянні з мовою С має такі корінні відмінності: об’єкти, з можливістю інтроспекції і динамічної зміни типу через механізм прототипів, обробка винятків, автоматичне приведення типів.
Оскільки JavaScript є інтерпретованою мовою програмування, без строгої типізації, і може виконуватися в різних середовищах, кожне зі своїми власними особливостями сумісності, програміст має бути дуже уважним, і повинен перевіряти, що його код виконується як очікується в широкому переліку можливих конфігурацій. Дуже часто трапляються випадки, коли скрипт, що чудово працює в одному середовищі, видає некоректні результати в іншому.
В ході виконання даної курсової роботи був проведений аналіз проблеми управління проектами та був проведений аналіз існуючих методологій розробки програмного забезпечення. На основі даного аналізу було обрано Scrum методологію як основу для програмного забезпечення. Було розроблено глосарій проекту, який став основою для створення концептуальної моделі даних, створений у нотації IDEF1X та за допомогою CASE – засобу Computer Associates Erwin.
Основна функціональність системи була представлена у вигляді UML діаграми варіантів використання.
Також в ході роботи було проведено аналіз проблеми оцінки тривалості проекту та, як наслідок, було розроблено математичну модель оцінки тривалості проекту. Було наведено огляд існуючих інформаційних систем управління проектами, який дозволив мотивовано обрати цільову архітектуру системи та програмні засоби, необхідні для подальшої реалізації програмного забезпечення.
http://en.wikipedia.org/wiki/
http://www.articlesbase.com/
http://www.extremeprogramming.
http://bms-soft.com.ua/ru/
http://en.wikipedia.org/wiki/
Таблиця А.1 - Аналіз основних методологій розробки програмного забезпечення
Характеристика | Методологія | |||
RUP | MSF | XP | SCRUM | |
Ітеративний підхід | + | + | + | + |
Постійний зв'язок з замовником | – | – | + | + |
Ступінь формалізації | висока | висока | низька | низька |
Самоорганізованість команди | – | – | + | + |
Швидка адаптація до змін | – | – | – | + |
Таблиця Б.1- Огляд основних систем управління проектами
Характеристика | Система | |||
RedMine | Bontq | Project Kaiser | ASTRES | |
Ліцензія | безплатна | пропрієтарна | пропрієтарна | безплатна |
Інтеграція чи генерація динамічної документації | integrated wiki, email integration, calendars, Gantt Charts, PDF, Excel/CSV | integrated wiki, Google Docs | integrated wiki | Експорт в MS Excel, CSV, XML, HTML, MediaWiki |
Облік затраченого часу | + | – | – | – |
інтеграція с email | + | + | + | + |
СКБД | MySQL, PostgreSQL, SQLite | PostgreSQL | Derby, MySQL, SQL Server | MySQL |
Мова програмування | Ruby on Rails | PHP | Java | PHP |
Веб-сервер | Apache | Apache | Tomcat | Apache |
Інтерфейс користувача | Web, e-mail, iPhone | Web, e-mail | Web, e-mail | Web, e-mail |
Таблиця В.1- Глосарій основних понять
Поняття | Опис поняття |
Проект | унікальний комплекс взаємопов'язаних заходів для досягнення заздалегідь поставлених цілей за певних вимогах до термінів, бюджету та характеристикам очікуваних результатів. |
Управління проектом | процес застосування знань, навичок, методів, засобів і технологій до проектної діяльності з метою досягнення або перевищення очікувань учасників проекту. |
Базис | основні параметри проекту та документи, які фіксують їх узгоджене розуміння всіма учасниками. |
Проектні відхилення | розбіжності фактичних і планових результатів проекту, причини таких розбіжностей, методи і технології, що дозволяють справлятися з такими ситуаціями в проекті. Включають в себе ризики, проблеми і зміни. |
Scrum команда | група осіб, яка складаєтья із власника продукту, команди розробників (Development Team) і Scrum Майстра (Scrum Master) |
Scrum майстер | несе відповідальність за те, щоб Scrum був гарантовано зрозумілим всім учасникам та працював. Він стежить за тим, щоб всі учасники команди дотримувалися теоретичних засад, практик та правил Scrum. |
Команда розробників | складається з професіоналів, що виконують роботу із розробки потенційно готового до випуску інкременту “завершеного” продукту у кінці кожного спринту. |
Власник продукту | є відповідальним за досягнення максимальної цінності продукту та роботи, що виконується командою розробників. |
Журнал продукту | це впорядкований список усього, що повинно бути притаманно продукту; він є єдиним джерелом вимог для будь-яких змін, у внесенні яких до продукту може виникнути необхідність. |
Спринт | визначений
період розробки продукту, результатом
якого є
приріст його функціональності. |
Журнал спринту | це набір елементів журналу продукту, вибраних для виконання у поточному спринті, разом із планом розробки інкременту продукту та планом досягнення цілі спринту. |