Производственная практика: преддипломная (технологическая (проектно-технологическая)) практика
Актуальность работы
Постановка задачи
Анализ аналогов
Бизнес требования к информационной системе
Системные требования
Выбор средств реализации
Описание принципа работы
Использованные модули
Использованные модули
Иллюстрации взаимодействия
Иллюстрации взаимодействия
Степень готовности
Заключение
СПАСИБО ЗА ВНИМАНИЕ!
4.59M
Categories: informaticsinformatics businessbusiness

Разработка информационного сервиса по раскладу карт «Таро»

1. Производственная практика: преддипломная (технологическая (проектно-технологическая)) практика

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ОБРАЗОВАНИЯ
«НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
ФАКУЛЬТЕТ АВТОМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
КАФЕДРА ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
ФАКУЛЬТЕТ АВТОМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
КАФЕДРА ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
Производственная практика: преддипломная (технологическая
(проектно-технологическая)) практика
Разработка информационного сервиса по раскладу карт
"Таро"
Выполнила:
студентка группы АВТ-019
Громоздина Елена Леонидовна
Руководитель:
Ст. преподаватель Харюткина София Александровна
Новосибирск – 2024

2. Актуальность работы

В современном мире многие обращаются к различным
методам предсказания будущего. Учитывая повышенный
интерес к эзотерике, разработка сервиса по раскладу карт
Таро представляет собой актуальное и удобное решение.
Система представляет собой инструмент, позволяющий
автоматизировать процесс расклада карт Таро, что делает
его более доступным для широкого круга пользователей.
Эта система может быть использована для личного
применения или в развлекательных целях.
2

3. Постановка задачи

Целью данного исследования является создание информационной
системы для расклада карт Таро, которая была бы удобной и простой в
использовании для пользователей разного уровня подготовки
Для достижения цели были поставлены задачи:
•Анализ предметной области и аналогов
•Обзор программных решений для разработки ИС
•Выбор и обоснование инфраструктурных решений
•Разработка и проектирование архитектуры системы
•Реализация информационной системы
•Тестирование
•Анализ работы сервиса
3

4. Анализ аналогов

Таблица 1. Анализ аналогов
Telegram-бот
Достоинства
Недостатки
«Расклады
Обеспечивает удобный и интуитивно Избыточная информация в начальном
таро
от понятный процесс получения ответов сообщении: Первоначальное сообщение
Марии»
на запросы пользователей через содержит информацию о скидках и
расклад карт Таро.
рекламе.
Бот демонстрирует гибкость в опросе Требование ввода информации о
пользователя, принимая во внимание вытянутых
картах
может
быть
различные варианты вытянутых карт. неудобным для пользователей, у
которых нет собственного набора карт
Таро.
«Мистаро
Бот имеет приветственное сообщение, Передача фотографий карт в процессе
[Расклады
которое может создать положительное расклада может создавать визуальный
таро]
первое впечатление у пользователей. шум и отвлекать пользователя от
[Таролог]»
Бот
предоставляет
удобное текстового
контекста,
усложняя
взаимодействие с пользователем, восприятие информации.
начиная с одного вопроса
4

5. Бизнес требования к информационной системе

На основании сравнения существующих аналогов были
определены бизнес-требования:
1. Интуитивно понятный интерфейс - использовать понятный
интерфейс, без лишних элементов
2. Легкий процесс получения ответов - обеспечить быструю выдачу
результатов в удобной форме
3. Удобство и эффективность использования - сделать ИС
максимально понятным в использовании, чтобы начинающие
пользователи могли легко разобраться.
5

6. Системные требования

Таблица 2. Системные требования для различных операционных систем
Операцион Версия ОС
ная система
Процессор (модель
устройства)
ОЗУ
Свободное
место
Android
4.4 и выше
1 GHz (ARMv7 или
выше)
512 MB
(рекомендуется 1 GB)
50 MB
iOS
iOS 8.1 и выше
iPhone 4s и выше, iPad 2
и выше, iPod touch 5 и
выше
512 MB
(рекомендуется 1 GB)
50 MB
Windows:
Windows XP и
выше
1 GHz
512 MB
(рекомендуется 1 GB)
200 MB
macOS:
macOS 10.10 и
выше
1 GHz
512 MB
(рекомендуется 1 GB)
200 MB
Любой
1 GHz
512 MB
дистрибутив
(рекомендуется 1 GB)
Linux
Браузер: Chrome, Firefox, Opera, Safari, Edge (последние версии)
Интернет-соединение: Минимальная скорость 3G (рекомендуется Wi-Fi)
200 MB
Linux:
6

7. Выбор средств реализации

TypeScript
язык
программирования, надстроенный
над JavaScript, добавляющий
статическую типизацию.
Плюсы:
Повышает
читаемость
и
понятность кода.
Выявляет ошибки на этапе
разработки.
Компилируется
в
чистый
JavaScript.
Минусы:
Сложность
освоения
для
начинающих.
Увеличение объема кода.
Дополнительный
шаг
компиляции.
Node.js - среда выполнения
JavaScript
с
высокой
производительностью
и
масштабируемостью.
Плюсы:
Эффективная
обработка
одновременных запросов.
Использование JavaScript на
сервере и клиенте.
Богатая экосистема с открытым
исходным кодом.
Однопоточная
модель
с
обратным
вызовом
и
неблокирующей моделью вводавывода
Минусы:
Нестабильность
некоторых
модулей и библиотек.
7
GrammY.js
JavaScriptбиблиотека
для
обработки
естественного языка (NLP).
Плюсы:
Широкий спектр инструментов
для работы с текстом.
Создание
чат-ботов,
понимающих
естественный
язык.
Широкий спектр функций для
Telegram Bot API.
Оптимизация
для
производительности.
Минусы:
Ограниченная
поддержка
TypeScript (сторонние пакеты).
Менее функциональна, чем
некоторые другие библиотеки..

8. Описание принципа работы

Для удобства интерфейса был разработан
алгоритм, который включает в себя
процесс
приема
вопросов,
вывод
изображений карт Таро и предоставление
подробной интерпретации расклада.
Система Таро – это колода из 78 карт,
разделенных на две группы: Старшие Арканы
(22 карты) и Младшие Арканы (56 карт).
Иллюстрации карт представлены на рисунке
1.
Бот использует 78 карт Таро и 1170
различных интерпретаций (по 15 трактовок
для
каждой
карты),
предоставляя
пользователям
возможность
получить
уникальный расклад и его трактовку в ответ
на их вопрос.
8
Рисунок. 1. Иллюстрации карт

9. Использованные модули

Модуль взаимодействия с Telegram Bot API обеспечивает связь бота с
Telegram API, позволяя:
•Получать команды от пользователей
•Отправлять текстовые сообщения и фотографии.
•Работать с клавиатурами, меню и inline-результатами
Модуль обработки команд реализует функциональность команд бота
/start: приветствие пользователя и описание возможностей бота
/taro: отправка полученного расклада и изображений к нему
Модуль формирования ответа агрегирует результаты работы предыдущих
модулей и формирует ответ пользователю, включающий:
•Фотографии карт Таро в раскладе.
•Текстовые интерпретации каждой карты.
9

10. Использованные модули

Модуль генерации расклада Таро
Этот модуль определяет функцию
selectSomeCards, которая принимает
аргумент count и возвращает массив
объектов с информацией о картах. Она
использует данные из файла items.json
Функция создает копию массива
cardStore.cards, затем в цикле
выбирает случайную карту из стека,
удаляет ее из стека и добавляет в
массив hand. После этого формирует
объекты для каждой выбранной карты,
содержащие
название
(name),
случайное значение (meanings.good) и
путь к изображению карты (image),
полученный с помощью функции
imageMap
import cardStore from './items.json'
import { CardInterpreted } from "../../types";
import {imageMap} from "./imageMap";
export const selectSomeCards = (count: number)
=> {
const stack = [...cardStore.cards] as
CardInterpreted[]
const hand = []
for (let i = 0; i < count; i++) {
const index = Math.floor(Math.random() *
stack.length)
hand.push(stack.splice(index, 1)[0])
}
return hand.map((v) => ({
name: v.name,
meanings: {
good: v.meanings.at(
Math.floor(Math.random() *
v.meanings.length),
),
},
image: imageMap(v.suit, v.rank),
}))
10 }

11. Иллюстрации взаимодействия

При первом взаимодействии с
ИС требуется ввести команду
/start. Бот отвечает на команду
приветственном сообщением,
где рассказываются основные
характеристики и функции.
Иллюстрация первого взаимодействия
Telegram-бота с пользователем приведена
на рисунке 2.
11
Рисунок 2. Иллюстрация первого взаимодействия Telegramбота с пользователем

12. Иллюстрации взаимодействия

Для того, чтобы пользователь
смог
получить
расклад,
требуется
использовать
команду /taro и написать
интересующий вопрос. ИС
обрабатывает
запрос
пользователя,
а
затем
отправляет
в
ответ
три
изображения карт Таро и
текстовое описание каждой
карты. Иллюстрация ответа
бота на запрос пользователя
приведена на рисунке 3.
12Рисунок 3. Иллюстрация ответа бота на запрос пользователя

13. Степень готовности

На текущий момент, ИС полностью готова к использованию, все
запланированные задачи успешно выполнены.
В дальнейшем планируется усовершенствование функционала,
чтобы бот мог анализировать полученные вопросы и предоставлять
более конкретные ответы.
Также предстоит загрузить бота на сервер для обеспечения
многопользовательского использования, что позволит расширить
его доступность и эффективность в общении с пользователями.
13

14. Заключение

Разработка информационной системы для расклада карт Таро
представляет собой удобное решение в контексте повышенного
интереса к эзотерике. Интеграция бота в мессенджер обеспечивает
доступ к Таро в любое время. ИС автоматизирует процесс расклада
карт. В ходе разработки был проведен бизнес-анализ, определены
средства реализации, разработана архитектура системы, и
проведено тестирование, подтвердившее работоспособность и
эффективность чат-бота.
14

15. СПАСИБО ЗА ВНИМАНИЕ!

English     Русский Rules