Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДИПЛОМ.doc
Скачиваний:
5
Добавлен:
11.09.2019
Размер:
758.78 Кб
Скачать

Розділ 2 розробка автоматизованої системи управління базою даних книжкових складів “Book Store”

2.1 Вибір моделі розробки програмного засобу “Book Store”

Одним з ключових понять проектування інформаційних систем є життєвий цикл проекту – Project Life Cycle Management (PLCM). В загальному випадку, життєвий цикл визначається моделлю й описується у формі методології (методу). Модель або парадигма життєвого циклу визначає загальну організацію ЖЦ і, як правило, основні його фази та принципи переходу між ними. Методологія (метод) визначає комплекс робіт, їх детальний зміст і рольову відповідальність спеціалістів на всіх етапах вибраної моделі ЖЦ; рекомендує практики (best practices), які дозволяють максимально ефективно використовувати відповідну методологію та її модель.

Найбільш часто використовують наступні моделі життєвого циклу:

Каскадна (або послідовна) модель. Передбачає строго послідовне в часі і однократне виконання всіх фаз проекту з детальним попереднім плануванням і визначеними вимогами.

Основною особливістю цієї моделі є розбиття всієї розробки на етапи. Перехід від одного етапу до іншого відбувається лише при умові повного завершення робіт на попередньому етапі. Кожен етап завершується випуском документації, достатньої для того, щоб обробка могла бути продовжена іншою командою розробників.

Каскадна модель добре себе зарекомендувала при розробці систем, для яких можна повністю сформулювати всі необхідні вимоги і критерії. Серед недоліків цієї моделі можна назвати: істотну затримку в отриманні кінцевих результатів, виявлення помилок, як правило на останньому етапі розробки, високий ступінь ризику. Послідовна модель характеризується жорсткою структурою, що ускладнює її застосування на практиці. Проте, більшість ІТ-розробників використовують саме каскадну модель.

Еволюційна (ітераційна) модель. Дозволяє знизити ступень невизначеності із завершенням кожної ітерації циклу. Тестування продукту можна починати вже на ранніх стадіях життєвого циклу.

У випадку еволюційної моделі система розробляється у вигляді послідовності блоків структур (конструкцій). На відміну від інкрементної моделі ЖЦ мається на увазі, що вимоги встановлюються частково і уточнюються в кожному наступному проміжному блоці структури системи.

Використання еволюційної моделі припускає проведення дослідження предметної області для вивчення потреб замовника проекту та аналізу можливості застосування цієї моделі для реалізації. Модель застосовується для розробки нескладних і не критичних систем, для яких головною вимогою є реалізація функцій системи. При цьому вимоги не можуть бути визначені відразу і повністю. Тоді розробка системи проводиться ітераційний шляхом її еволюційного розвитку з одержанням деякого варіанту системи – прототипу, на якому перевіряється реалізація вимог. Іншими словами, такий процес за своєю суттю є ітераційний, етапи розробки якого повторюються, починаючи від змінених вимог і до отримання готового продукту. У певному сенсі до цього типу моделі можна віднести спіральну модель.

Розвитком цієї моделі є модель еволюційного прототипування в рамках усього ЖЦ розробки. В літературі вона часто називається моделлю швидкої розробки додатків RAD (Rapid Application Development). У даній моделі наведені дії, які пов'язані з аналізом її застосування для конкретного виду системи, а також обстеження замовника для визначення потреб користувача для розробки плану створення прототипу.

Спіральна модель. На відміну від каскадної, передбачає ітераційний процес розробки інформаційної системи. Кожна ітерація є завершеним циклом розробки кінцевого продукту. На кожному витку (ітерації) спіралі створюється фрагмент або версія програмного продукту, уточнюється кінцева ціль і характеристики проекту, визначається його якість, плануються роботи для наступного витка. Особливу увагу приділяється аналізу ризиків, що впливають на організацію ЖЦ – аспектам взаємодії спеціалістів в проектній команді.

Використання спіральної моделі дозволяє здійснювати перехід на наступний етап виконання проекту, не дочекавшись повного завершення робіт на попередньому – недороблену роботу можна буде завершити на наступній ітерації. Головна мета кожної ітерації – якнайшвидше створити працездатний продукт, який можна показати замовнику.

Серед переваг спіральної моделі слід відмітити спрощення внесення змін в проект при зміні вимог замовника, елементи системи інтегруються один в одного поступово. Основна проблема спіральної моделі – визначення моменту переходу на наступний етап.[19]

При розробці програмного засобу “Book Store” використовувалась спіральна модель розробки. Використання даної моделі дозволило уникнути багатьох помилок та труднощів на різних етапах.

Виконання поставленої задачі було поділено на окремі етапи – кроки. Тобто ставилась мета для кожного окремого етапу розробку, а не до всього комплексу в загалом. Це дозволило значно скоротити шлях на обдумування правильності прийняття рішень.

Використання спіральної моделі також дозволило, пропускати деякі неточності та відкладати їх, для того щоб досягти кінцевого результату. Це значно пришвидшило роботу над проектом.

Також використання цієї моделі дало змогу виявити недоліки та помилки програмного засобу та вчасно їх вилучити.