AnimeUpdatesBot
Specific Requirements

В документе описаны требования к продукту “AnimeUpdatesBot”, telegram-бота для отслеживания выхода новых эпизодов японских мультипликационных сериалов, т.е. аниме.

На главную

Content:

  1. Functionality
  2. Usability
  3. Reliability
  4. Performance
  5. Supportability
  6. Design Constraints
  7. On-line User Documentation and Help System Requirements
  8. Purchased Components
  9. Interfaces
  10. Licensing Requirements
  11. Legal, Copyright, and Other Notices
  12. Applicable Standards

1. Functionality

Пользовательский интерфейс реализован с использованием телеграм-бота, предоставляющий следующий набор команд:

2. Usability

Внешний интерфейс telegram-бота должен быть достаточно комфортным и простым в использовании:

3. Reliability

  1. Availability

    Сервис должен быть доступен 23,5 часов в сутки. При нормальной работе бота ответ должен приходить в течение минуты. В случае незапланированного сбоя системы запрос может быть не обработан

  2. MTTR

    Среднее время восстановления работоспособности должно составлять около 1 дня в случае если сервер прекратил работу из-за внутренней ошибки.

4. Performance

  1. Response time

    Время ответа бота на присланные пользователем команды не должно превышать 5 секунд.

  2. Throughput

    Сервер должен выдерживать нагрузку в 1000 команд в секунду.

  3. Capacity

    Предполагаемое количество пользователей: 10000. Количество аниме в списке одного пользователя может достигать 100.

5. Supportability

Соблюдение требований, предлагаемых стандартом PEP-8 для Python.

6. Design Constraints

  1. Требования к серверу

    Операционная система Linux, Ubuntu 20.04. Процессор intel core i5. RAM не меньше 8ГБ, диск SSD не меньше 256ГБ.

  2. Требования к хранению данных

    Для каждого пользователя сохраняется список выбранных им аниме как список ссылок на сайт myanimelist. Для идентификации используется id телеграм-чата пользователя с ботом. Эти данные хранятся в базе данных. Рекомендуется использовать PostgreSQL. База данных будет запускаться на удаленном сервере.

  3. Требования к используемым библиотекам

    Для создания бота используется Telegram Bot API. Для получения данных о выходе новых эпизодов аниме используется REST API Jikan. Для увеличения доступности в течение дня код бота должен быть размещен на удаленном сервере. Рекомендуется использовать Яндекс.Облако.

7. On-line User Documentation and Help System Requirements

Пользователь должен получать всю необходимую информации после использования команды /help.

8. Purchased Components

В версии 1.0 отсутствует использование платных программных продуктов.

9. Interfaces

  1. User Interfaces

    Пользовательский интерфейс реализован через телеграм-бота с набором описанных ранее команд.

  2. Hardware Interfaces

    Программа будет взаимодействовать с API Jikan через JikanPy, отправляя запросы о текущем статусе выбранных аниме и появлении новых эпизодов и принимая от API json-файлы.

10. Licensing Requirements

Используемое для получения информации об аниме API задаёт следующие ограничения на количество запросов:

11. Legal, Copyright, and Other Notices

Предполагается использование MIT License, разрешающей свободное использование кода при условии сохранения текста лицензии и указания авторства.

12. Applicable Standards

Данная секция будет заполнена в ходе дальнейшей работы над SRS-документацией, при разработке кода и интегрируемыми в связи с этим стандартами.

Наверх

На главную