(deadline - 26.03)
На даному етапі обирається проект та формується команда, орієнтовно визначаються функціональні обов’язки та повноваження учасників.
Кожною командою обирається модель циклу розробки системи — каскадна, інкрементна поставка, змішана тощо. В залежності від моделі графік звітування може відрізнятися.
В звіті про вибір задачі мають бути відображені такі моменти:
- Назва програмної системи.
- Призначення системи. Порівняння з існуючими аналогічними системами. Ефект від її впровадження.
- Загальна характеристика задачі, що вирішується.
- Мотивація вибору задачі.
- Аналіз здійсненності. Необхідні для виконання проекту ресурси. Основний ризик для проекту.
- Модель виробничого циклу. Обґрунтування вибору. Відмінні риси процесу розробки обраної системи.
- Учасники команди, їх функції.
(deadline - 09.04)
Перед розробкою програмної системи складається план. Функції менеджера програмного проекту покладаються на провідного програміста. План проекту повинен включати:
- Вступ (загальна оцінка задачі).
- Аналіз ризиків.
- Розбиття проекту на етапи та визначення контрольних відміток.
- Графіки робіт.
- Механізми моніторингу.
(deadline - 23.04)
Специфікація вимог до програмної системи включає розділи:
- Вступ.
- Глосарій.
- Користувацькі вимоги.
- Специфікація системних вимог.
- Додатки.
Оформлюються на природній мові. При цьому слід дотримуватися єдиного зразка оформлення. При формулюванні користувацьких вимог необхідно уникати поширених помилок:
- змішування функціональних і нефункціональних вимог;
- (неявне) вміщення в одній вимозі декількох вимог.
Функціональні вимоги по можливості оформити графічно за допомогою прецедентів (use-case). В залежності від розміру проекту деталізуються всі або частина функціональних вимог за допомогою потоків подій (path), діаграм послідовності тощо.
Нефункціональні вимоги виражаються одноманітно (за шаблоном), з вказанням кількісної характеристики й способу перевірки виконання вимоги готовою програмною системою.
При оформленні системних вимог звернути увагу на їх адекватність (достовірність), повноту, несуперечливість та верифіковність.
Приклади специфікації вимог:
(deadline - 07.05)
Етапи проектування:
- Структурування системи.
- Моделювання управління.
- Модульна декомпозиція.
- Специфікація інтерфейсів.
Архітектура системи оформлюється у вигляді графічної діаграми взаємодіючих підсистем.
Моделі модульної декомпозиції:
- об’єктна модель;
- модель потоків даних.
Вибір засобів для оформлення проектних моделей системи не обмежується. Це може бути мова UML або менш формальні засоби.
Специфікування інтерфейсів необхідно для паралельної розробки проекту кількома розробниками. Інтерфейси можуть бути специфіковані на діаграмах (класів) або оформлені на деякій мові - Java, IDL.
В залежності від особливостей програмної системи проектна документація може включати статичну діаграму модульної декомпозиції, діаграми станів (коли кількість станів компонента невелика), модель процесів, модель розподілення, логічну організацію даних.
(deadline - 21.05)
Основне призначення звіту про тестування відобразити ступінь перевірки (V & V confidence) програмної системи. У звіті повинні бути вказані основні пріоритети в процесі тестування (наприклад, наскільки важливі нефункціональні властивості системи, такі як надійність), обрана методика тестування, тести, підсумки тестування.
Підсумки тестування мають показувати його результативність та ступінь покриття системи тестами, кількість виконаних тестів. В останньому розділі вказують виявлені дефекти і ступінь їх серйозності.
Звіт про тестування включає такі розділи:
- Процес тестування.
- Специфікація тестів.
- Результати тестування.
- Історія виявлених дефектів та їх усунення.
- Приклади звіту (sample 1)
(deadline - 28.05)
Структура звіту:
- Процент робіт, виконаних розробником (по кожному виду звітів).
- Процент програмного коду, написаного розробником.
- Опис особистого внеску в розробку системи.
- Опис реалізованих розробником алгоритмів й опанованих в ході розробки проекту технологій/систем.
- З якими трудностями зіштовхнулись в проекті, чи вся робота потрапила в остаточний проект? (необов’язковий пункт).
(deadline - 04.06)
