МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
Житомирський державний університет імені Івана Франка
Фізико-математичний факультет
Кафедра комп’ютерних наук
Лабораторна робота №1
Технічне завдання
З дисципліни: «Проектування інформаційних систем»
На тему: додаток на Android «Помічник D&D»
Перша частина: Аналіз аналогічних систем
1. Назва: D&D Beyond
Розробник (дистриб’ютор): Fandom, Inc.
Архітектура: 3-tier web application
Мова реалізації: JavaScript, React (для front-end), Node.js (для back-end)
Перелік функцій, характеристик:
Створення та управління персонажами.
Пошук та перегляд заклинань.
Підтримка ігрових правил.
Список створінь та монстрів.
Вбудований кидок гральних кубиків.
Аналіз переваг та недоліків:
Переваги: зручний інтерфейс, великий набір функцій, часте оновлення контенту.
Недоліки: деякі функції доступні лише за підпискою, потребує постійного інтернет-з'єднання.
Джерело інформації: D&D Beyond
2. Назва: Roll20
Розробник (дистриб’ютор): The Orr Group, LLC
Архітектура: Client-server
Мова реалізації: JavaScript, HTML5, CSS3
Перелік функцій, характеристик:
Віртуальний стіл для ігрових сесій.
Інтеграція з гральними кубиками.
Система управління персонажами.
Підтримка різних настільних ігор.
Система чату для гравців.
Аналіз переваг та недоліків:
Переваги: велика спільнота користувачів, підтримка різних систем, гнучкість у налаштуваннях.
Недоліки: складність у використанні для новачків, залежність від інтернету.
Джерело інформації: Roll20
3. Назва: Fantasy Grounds
Розробник (дистриб’ютор): SmiteWorks USA, LLC
Архітектура: Desktop application
Мова реалізації: C++, Lua
Перелік функцій, характеристик:
Повна підтримка ігрових правил DnD.
Вбудована система кидка кубиків.
Створення та управління персонажами.
Підтримка створінь і монстрів.
Інтеграція з зовнішніми модулями.
Аналіз переваг та недоліків:
Переваги: глибока функціональність, можливість автономної роботи.
Недоліки: складність у налаштуванні, висока вартість для деяких модулів.
Джерело інформації: Fantasy Grounds
Друга частина: Опис проектованої системи
Призначення ПЗ
Програма "помічник DnD" призначена для полегшення ігрового процесу Dungeons & Dragons, надаючи інструменти для управління персонажами, перегляду заклинань, створінь та правил, а також для проведення кидків гральних кубиків.
Основні функції
Кидок гральних кубиків з налаштуванням параметрів.
Створення та збереження персонажів.
Пошук та перегляд заклинань.
Перегляд і управління створіннями.
Доступ до правил гри.
Користувачі системи
Гравці (для створення персонажів та управління ними).
Майстри гри (для управління створіннями, заклинаннями та правилами).
Новачки (для ознайомлення з правилами та базовими механіками гри).
Архітектура системи
Сценарії роботи
Основні логічні сутності
Персонаж.
Заклинання.
Створіння.
Гральний кубик.
Правило.
Основні таблиці БД
Таблиця персонажів.
Таблиця заклинань.
Таблиця створінь.
Таблиця кидків кубиків.
Таблиця правил.
Засоби апаратної та програмної реалізації
Платформа: Телефон
Операційна система: Android, IOS
Мова програмування: Kotlin
Output (вихідні дані)
Звіт про результат кидка кубика
Таблиця зі списком заклинань та створінь
Вимоги до структури і функціонування системи
Перелік підсистем, їх призначення та основні характеристики
Підсистема управління персонажами: Зберігання та управління інформацією про персонажів, включаючи їх характеристики, здібності та предмети. Вимоги до цієї підсистеми передбачають можливість додавання, редагування та видалення персонажів.
Підсистема управління заклинаннями: Пошук, фільтрація та перегляд заклинань. Необхідна можливість відображення детальної інформації про кожне заклинання та його використання в грі.
Підсистема управління створіннями: Зберігання та управління списком створінь і монстрів, що використовуються в грі. Включає можливість додавання нових створінь, перегляду їх характеристик та взаємодії з ними.
Підсистема кидків кубиків: Інструмент для проведення кидків гральних кубиків з налаштуванням параметрів. Повинна забезпечувати точні обчислення та відображати результати у зрозумілому вигляді.
Підсистема підтримки правил гри: Доступ до правил гри, які використовуються для пояснення механік і рішень у грі. Повинна бути інтерактивною, з можливістю швидкого пошуку та навігації.
Вимоги до числа рівнів ієрархії
Система повинна мати не більше трьох рівнів ієрархії:
Головний рівень: Інтерфейс користувача.
Середній рівень: Логіка обробки даних та управління функціями.
Нижній рівень: База даних та зберігання інформації.
Вимоги до способів і засобів зв’язку для інформаційного обміну між компонентами системи
Обмін даними між клієнтською частиною та серверною має здійснюватися через API на основі RESTful сервісів з використанням протоколу HTTPS для забезпечення безпеки.
Внутрішня комунікація між компонентами системи повинна бути асинхронною, де це можливо, для підвищення продуктивності.
Вимоги до режимів функціонування системи
Онлайн-режим для синхронізації даних між користувачами.
Офлайн-режим для використання базових функцій, навіть за відсутності інтернет-з'єднання.
Вимоги до діагностування системи
Повідомлення про помилки повинні бути зрозумілими і надавати рекомендації щодо усунення проблем.
Перспективи розвитку та модернізації системи
Можливість додавання нових заклинань, створінь та механік без необхідності значної зміни структури системи.
Підтримка різних версій правил DnD, з можливістю адаптації до інших рольових ігор.
Вимоги до надійності
Склад та призначення кількісних показників надійності для системи в цілому або її підсистем
Час безвідмовної роботи системи повинен становити не менше 99% протягом місяця.
Середній час на відновлення після збоїв не повинен перевищувати 1 хвилини.
Перелік аварійних ситуацій, відносно до яких повинні бути регламентовані вимоги до надійності, та призначення відповідних показників
Втрати з'єднання з сервером: Система повинна переходити в автономний режим з можливістю автоматичної синхронізації при відновленні з'єднання.
Збій у збереженні даних: Повинна бути реалізована система автоматичного резервного копіювання даних.
Несправність компонентів програми: Повідомлення про помилки повинні з'являтися одразу з рекомендаціями щодо їх вирішення.
Вимоги до надійності технічних засобів та програмного забезпечення
Програма повинна стабільно працювати на платформі з мінімальними системними вимогами.
Надійність програмного забезпечення повинна бути підтверджена тестуванням на різних пристроях і операційних системах.
Вимоги до методів оцінки і контролю показників надійності
Використання автоматизованого тестування для перевірки стабільності і продуктивності системи.
Регулярне проведення стрес-тестів для оцінки витривалості системи при великих навантаженнях.
Збір і аналіз логів для виявлення потенційних проблем і швидкого їх усунення.