- •1 Розробка плану проекту
- •1.1 Аналіз та постановка задачі
- •1.2 Обґрунтування вибору моделі життєвого циклу для реалізації проекту
- •1.2.1 Каскадна модель.
- •1.2.2 Ітераційна модель.
- •1.2.3 Спіральна модель.
- •1.3 Обґрунтування вибору мови програмування та case-засобів
- •1.4 Розробка графіка виконання робіт по проекту у контексті обраної моделі життєвого циклу
- •1.5 Аналіз ризиків проекту та управління ними
- •1.6 Системна специфікація вимог до розроблюваного проекту
- •1.6.1 Розробка користувальницьких (функційних) вимог
- •1.6.2 Нефункційні вимоги до програмного забезпечення
- •2 Вибір та аналіз існуючих алгоритмів побудови шляху на карті
- •2.1 Точні алгоритми
- •2.1.1 Пошук в ширину на незваженому графі.
- •2.1.2 Алгоритм Флойда-Уоршелла
- •2.1.3 Алгоритм Дейкстри
- •2.2 Евристичні алгоритми
- •2.2.1 Алгоритм a*
- •2.2.2 Алгоритм d* Lite
- •3 Розробка архітектури програмного забезпечення
- •3.1.1 Діаграма варіантів використання
- •3.1.2 Діаграма класів
- •3.1.3 Діаграма станів
- •3.1.4 Діаграма діяльності
- •3.2 Блок-схеми алгоритмічної частини програмного забезпечення
- •4 Кодування і тестування пз
- •4.1 Особливості реалізації програмного забезпечення
- •4.2 Допоміжні засоби для реалізації програмного забезпечення
- •4.3 Тестування пз
- •4.4 Представлення результатів тестування пз (у хронологічному порядку, які помилки були виявлені і виправлені)
- •4.5 Представлення результатів, що демонструють функціональність розробленого пз
- •4.6 Основні функції розробленого програмного забезпечення
- •5 Надійність програмного забезпечення
- •5.1 Поняття надійності програмного забезпечення
- •5.2 Класифікація моделей надійності програмного забезпечення
- •5.3 Розрахункова частина
- •6 Економічний розділ
- •6.1 Обґрунтування доцільності створення локальної мережі
- •6.2 Кошторис на розробку програмного продукту
- •6.2.1 Основна заробітна плата розробників (дослідників):
- •6.2.2 Амортизація обладнання, комп'ютерів та приміщень, які використовувались для розробки нового технічного рішення.
- •6.2.3 Оренда обладнання, устаткування, приміщень, які були використані в ході здійснення розробки нового технічного рішення.
- •6.2.4 Витрати на комплектуючі к, що були використані на розробку нового технічного рішення, розраховуються за формулою:
- •7.2 Забезпечення електробезпеки при експлуатації комп’ютерної техніки
- •7.3 Розрахунок загального штучного рівномірного освітлення приміщення люмінесцентними лампами методом коефіцієнта використання світлового потоку
- •Висновки
- •Перелік посилань
3 Розробка архітектури програмного забезпечення
3.1 UML-діаграми
Мова UML (Unified Modeling Language) призначена для опису проектних моделей, їхню візуалізацію й документування. На сьогодні САSЕ-засоби, створені на базі UML, надають користувачеві потужну формалізовану графічну нотацію, що наближається до мов подання знань. UML заснований на деякому числі базових понять, які можуть бути вивчені й застосовані більшістю програмістів, бажаючих ефективно впроваджувати методи ООП та ООД. При цьому базові поняття можуть розширюватись для розробки моделей складних систем в різних предметних областях.
В даному проекті було реалізовано чотири основні діаграми мови UML:
діаграми варіантів використання (use case diagram);
діаграма класів (class diagram);
діаграм станів (statechart diagram);
діаграма діяльності (activity diagram);
3.1.1 Діаграма варіантів використання
Діаграма варіантів використання — в UML, діаграма, на якій зображено відношення між акторами та прецедентами в системі [12
Суть даної діаграми полягає в наступному: проектована система представляється у вигляді безлічі сутностей чи акторів, взаємодіючих із системою за допомогою так званих варіантів використання. Варіант використання (use case) служить для опису сервісів, що система надає актору. Іншими словами, кожен варіант використання визначає деякий набір дій, чинений системою при діалозі з актором. При цьому нічого не говориться про те, яким чином буде реалізована взаємодія акторів із системою.
Рисунок 3.1 – Діаграма варіантів використання програмного забезпечення побудови траєкторій руху мобільного робота
3.1.2 Діаграма класів
Діаграма класів - діаграма, що демонструє класи системи, їх атрибути, методи і взаємозв'язку між ними.
Діаграма класів представлена чотирма класами.
Клас Planner дозволяє встановити початкові дані, проводить розрахунок оптимальної траєкторії, віддає список вершин, по яким необхідно рухатись мобільній платформі.
Класи Map та Cell являють собою представлення карти місцевості та вершини на цій карті відповідно та зберігають у собі всі необхідні дані про себе.
Зовнішній клас Mobile Robot (реалізація якого скрита) проводить обмін інформацією між нашим ПЗ та роботом ззовні.
Рисунок 3.2 – Діаграма класів для програмного забезпечення побудови траєкторій руху мобільного робота
3.1.3 Діаграма станів
Діаграма станів - це, по суті, діаграма станів з теорії автоматів із стандартизованими умовними позначеннями, яка може визначати безліч систем від комп'ютерних програм до бізнес-процесів.
В даному проекті наведена діаграма відображає всі можливі стани програмного забезпечення при розрахунку оптимальної траєкторії руху для мобільної платформи з урахуванням можливості динамічної зміни положення об'єктів.
Рисунок 3.3 – Діаграма станів для програмного забезпечення побудови траєкторій руху мобільного робота
3.1.4 Діаграма діяльності
Діаграма діяльності - діаграма, на якій показано розкладання деякої діяльності на її складові частини. Під діяльністю розуміється специфікація виконуваної поведінки у вигляді координованого послідовного і паралельного виконання підлеглих елементів - вкладених видів діяльності та окремих дій, з'єднаних між собою потоками, які йдуть від виходів одного вузла до входів іншого.
Рисунок 3.4 – Діаграма діяльності для програмного забезпечення побудови траєкторій руху мобільного робота
