Skip to content

Latest commit

 

History

History
55 lines (38 loc) · 3.63 KB

requirements.md

File metadata and controls

55 lines (38 loc) · 3.63 KB

Требования к продукту

В этом документе описаны требования к продукту — приложению для показа прогноза погоды в консоли.

Функциональные требования

Требования к формату входных данных

  • Входные данные представляет собой аргументы командной строки, отвечающие за выбор конфигурационного файла, частоты обновления etc., конфигурационный файл, содержащий значения по умолчанию и набор городов.
  • Также входные данные получаются во время работы программы - результаты HTTP-запросов и вводимые пользователем команды.

Требования к формату выходных данных

  • Выходные данные — периодически меняющееся ASCII-изображение в терминале, отображающее прогноз погоды.

Требования к функциональности продукта

  • Приложение должно корректно отображать прогноз погоды для выбранного города.
  • Приложение должно иметь визуально приятный интерфейс.
  • Приложение должно иметь "оффлайн-режим" — при отсутствии Интернет-соединения программа не должна завершаться с ошибкой.
  • Отображать прогноз погоды на несколько дней вперед (значение по умолчанию задается конфигом)
  • Обновлять с некоторой частотой (задается конфигом)
  • Переключаться между городами с помощью клавиш "n", "p"
  • Заканчивать работу программы по Esc
  • Увеличивать\уменьшать количество дней прогноза по нажатие клавиш "+", "-"

Прочие требования

Требования к быстродействию

  • Требования к быстродействию средние: запросы должны обрабатываться достаточно оптимально, однако, исходя из специфики работы с Интернетом, быстродействие программы ограничено скоростью получения ответа на запрос.

Требования к безопасности

  • Требования к безопасности ограничены валидацией HTTP-запросов на отсутствие попыток атаки.

Требования к масштабируемости

  • Масштабируемость не требуется исходя из специфики программы для показа погоды. Однако требуется как можно меньшее количество запросов к API в силу ограничений на их количество.

Требования к возможности доработки

  • Продукт должен обладать гибкой архитектурой с возможностью доработки и внесения нового функционала.