Добавил:
darkwarius13@gmail.com Рад если помог :). Можешь на почту спасибо сказать Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Промский М. И. Пояснительная записка.docx
Скачиваний:
3
Добавлен:
27.06.2021
Размер:
624.23 Кб
Скачать

1 Специфікація програми

1.1 Опис основних функцій в додатку, що розробляється (USE CASE)

Use Case (варіант використання) - це сценарна техніка опису взаємодії. За допомогою Use Case може бути описано і призначене для користувача вимога, і вимога до взаємодії систем, і опис взаємодії людей і компаній в реальному житті.

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

Діаграма варіантів використання складається з акторів, для яких система виробляє дію і власне дії Use Case, яке описує те, що актор хоче отримати від системи. Актор позначається чоловічка, а Use Case - овалом.

Діаграма Use Case даного проекту представлена на рисунку 1.

Рисунок 1.1 – Діаграма Use Case

Єдиний користувач системи – адміністратор сайту, що керує кімнатами та клієнтами. Він має наступні можливості:

  • Додавання нових клієнтів

  • Видалення існуючих клієнтів

  • Редагування існуючих клієнтів

  • Пошук по заявкам та клієнтам

  • Оформлення заявок на поселення у готелі

  • Повний доступ до інформації про кімнати

  • Додавання нових кімнат

  • Видалення обраної кімнати

  • Редагування обраної кімнати

1.2 Опис предметної області проекту. VISION

Об'єктом дослідження є інформаційна система «Сервіс по адмініструванню готеля», яка представлена у вигляді desktop программи «HotelManagement». Модельована інформаційна система покликана спростити роботу ведення готельного бізнесу.

Цільова аудиторія даного сайту - клієнти, зацікавлені в полегшенні адміністрування готелем.

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

Дана інформаційна система повинна мати підключення до інтернету. Всі компоненти ІС «HotelManagement» будуть знаходитися на одному сервері, однак, це не є вимогою, і за потребою, HotelManagement може експлуатуватися у розподіленому середовищі.

Обробка персональних даних в ІС «HotelManagement» проводиться у захищеному середовищі – усі паролі хешурються за допомогою алгоритму Argon2.

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

  1. Проектна специфікація

2.1 Об'єктна модель програми

На сучасному етапі розвитку інформаційних систем і технологій структурі та організації програмного забезпечення приділяється особлива увага. При розробці структури програмного забезпечення був використаний об'єктно-орієнтований підхід.

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

Специфікація розроблюваного програмного забезпечення об'єднує в собі наступні моделі:

  • Модель використання являє собою опис функціональності програмного забезпечення з точки зору користувача.

  • Концептуальна модель – модель, що описує основні абстракції предметної області, які забезпечують необхідну функціональність ПЗ та їх взаємодія;

  • Модель реалізації визначає реальну організацію програмних модулів і файлів

2.1.1 Діаграма класів та архітектура проекту

Дана програма являє собою набір класів, які взаємодіють між собою а токож базу даних (рис 2.1).

Рисунок 2.1 – Архітектура проекту

У даній програмі реалізовані класи Guests, Room, Hotel. Об’єктна модель яких зображена на рисунку 2.2.

Рисунок 2.2 - Об’єктна модель класів

2.1.2 Реалізація функцій програми

Клас «Hotel» основний клас програми. Клас містить ряд полів, необхідних для роботи з елементом даного класу (рисунок 2.4).

Рисунок 2.4 – Реализация класса Hotel

Класс «Room» - клас який відповідає за функціональність кімнат (рисунок 2.5).

Рисунок 2.5 – Реализація методів NumberOfGuests, MakeEmpty, SettleGuests.

Класс «Guest» - клас який відповідає за збереження інформації про користувача нашим готелем (рисунок 2.6).

Рисунок 2.6 – Реализация класса Guest

2.2 Формат данных

В якості бази даних мы використовували .xml документ в який записували інформацію про номер і жителів цього номера.

І після цього ми зверталися до xml документу, щоб отримати інформацію.

Рисунок 2.6 – Звернення до бази даних.

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

Рисунок 2.7 – База даних

2.3 Огляд методологій проектування та ведення проектів

  • рамках курсу було розглянуто Agile – гнучку методологію розробки та управління проектами. Вона мінімізує ризики за допомогою коротких (2-3 тижні) ітерацій розробки. Кожна ітерація складається з декількох етапів: планування, аналіз вимог, проектування, розробка, тестування і документування. Після кожного такого циклу команда демонструє замовнику результати роботи. Наприклад, прототип продукту, з яким можна піти до споживача і визначити його цінність.

Agile методологія дозволяє замовнику впливати на розробку, а фахівцям ІТ по ходу коректувати свою роботу і не виконувати зайвого. В результаті система аджайл підвищує якість desktop -продукту, прискорює розробку, мінімізує ризики.

До окремих agile-підходів відносяться scrum і kanban.

Scrum є одним з можливих способів реалізації гнучкої Agile методології розробки. На відміну від каскадної моделі життєвого циклу програмного забезпечення, відмінною рисою Scrum є ітеративність.

Процес розробки розбивається на окремі етапи, результатом кожного з яких є готовий продукт. В кінці кожного етапу (в термінології Scrum - спринту) готовий продукт надається замовнику. Отриманий від замовника відгук дозволяє виявити можливі проблеми або переглянути деякі аспекти початкового плану.

Kanban (канбан) - це популярна методологія Аgile, яка допомагає командам удосконалити процес планування завдань і забезпечення продуктивності. Система Kanban заснована на повній прозорості роботи та обмін інформацією в режимі реального часу. Завдання по мірі надходження заносяться в окремий список, звідки кожен розробник може їх отримати.

На відміну від скрам, де від команд вимагають успішного виконання спринтів, система канбан насамперед орієнтується на завдання.

У Kanban всього три простих базові принципи, на яких будується все інше. Немає ніяких ролей і склепіння жорстких правил.

Методологія Kanban грунтується на ідеї безперервних релізів. Робота команд будується навколо kanban-дошки, де статуси роботи відображаються у вигляді

стовпців і доріжок. Дошки візуалізують роботу команди, стандартизують процес, а також допомагають знайти і усунути перешкод