diff --git a/doc/technical-task.md b/doc/technical-task.md index 46a2737..9f3fb91 100644 --- a/doc/technical-task.md +++ b/doc/technical-task.md @@ -1,29 +1,64 @@ # Техническое задание -## 1 Введение +## Введение -### 1.1 Цель +[//]: # (Аргументы доказывающие важность, нужность, своевременность и + необходимость данной разработки) + +В современном мире технологий концепция умного дома привносит в повседневный +быт удобство, безопасность и эффективность. Развитие смарт-технологий открывает +бескрайние возможности для создания систем, способных управлять различными +аспектами нашего дома без непосредственного участия человека. + +[//]: # (Цель работы) + +Проект по разработке системы для умного дома нацелен на улучшение качества +жизни, обеспечивая пользователей удобством, экономией ресурсов, совмещенной с +комфортом, и дополнительной безопасностью. + +[//]: # (Задачи работы) + +Для этого необходимо изучить текущие технологии и решения в области умных +домов, разработать структуру и архитектуру системы, определить протоколы и +стандарты для взаимодействия, создание программного обеспечения для управления +умным домом, включая интерфейс пользователя, обеспечить взаимодействия с +датчиками, устройствами и сенсорами и провести тестирование функциональности и +производительности. + +## Назначение разработки + +Цель разработки заключается в создании системы для умного дома, которая будет +оптимизировать выполнение рутинных задач и управление ресурсами, повышать +комфорт. Мы стремимся предоставить пользователям возможность легкого и +интуитивного контроля над различными аспектами и устройствами в их доме через +централизованный интерфейс. + +## Спецификация требований + +### 1 Введение + +#### 1.1 Цель Документ представляет детальное описание требований, применяемых к разработке программного продукта: системы управления умным домом "Nexo Hub". -### 1.2 Область применения +#### 1.2 Область применения Этот документ предназначен для заказчика с целью проверки соответствия его желаний и функционала разрабатываемой системы, а также для команды, которая будет реализовывать и проверять корректность работы системы. -### 1.3 Определения, аббревиатуры и сокращения +#### 1.3 Определения, аббревиатуры и сокращения -- -### 1.4 Ссылки +#### 1.4 Ссылки - [Шаблон SRS][srs-template] [srs-template]: https://docs.google.com/document/d/11aTUhjJxHqDMJGTDXDKh_8U_f2YVWKBS/edit?usp=sharing&ouid=112239579841283566048&rtpof=true&sd=true -### 1.5 Обзор документа +#### 1.5 Обзор документа Документ разделен на следующие части: @@ -41,14 +76,23 @@ Содержит полный список требований, предъявляемых к разрабатываемой системе. -## 2 Общее описание +### 2 Общее описание + +#### 2.1 Функционал продукта -### 2.1 Функционал продукта +Система состоит из мобильного приложения, бэкенда, базы данных, устройств +умного дома. -Система должна предоставлять пользователю следить за состоянием датчиков, -приборов в составе умного дома и управлять ими удаленно. +Мобильное приложение позволяет пользователю следить и удаленно управлять +состоянием устройств своего умного дома. -### 2.2 Описание пользователей +Бэкенд принимаем запросы от пользователя, взаимодействует с базой данных и +устройствами подключенных к системе умных домов. + +База данных хранит информацию о пользователях и устройствах, созданных +пользователем правилах управления устройствами, а также данные сенсоров. + +#### 2.2 Описание пользователей В системе будут существовать следующие типы пользователей: @@ -57,22 +101,25 @@ создавать и переключать режимы работы. Они будут действовать только в рамках своего умного дома. -### 2.3 Влияющие факторы и зависимости +#### 2.3 Влияющие факторы и зависимости + +Поскольку один из итоговых продуктов - мобильное приложение, то необходимо +соблюсти одинаковое отображение элементов интерфейса для смартфонов с +различными параметрами экрана (от 1920x1080 до 2436x1125). -Поскольку итоговый продукт - мобильное приложение, то необходимо соблюсти -одинаковое отображение элементов интерфейса для смартфонов с различными -параметрами экрана (от 1920x1080 до 2436x1125). +Поскольку бэкенд системы будет взаимодействовать с умными устройствами, то +необходимо учесть всевозможные протоколы взаимодействия устройств. -### 2.4 Ограничения +#### 2.4 Ограничения Для корректной работы мобильного приложения требуется наличие постоянного и стабильного интернет соединения. -## 3 Технические требования +### 3 Технические требования -### 3.1 Функциональные требования +#### 3.1 Функциональные требования -#### 3.1.1 Пример требования +##### 3.1.1 Пример требования Система должна предоставлять информацию о текущей версии пользовательского приложения. @@ -83,49 +130,49 @@ Трудоемкость: *1 ч* (для простоты - измерения в часах). -### 3.2 Требования к удобству пользования +#### 3.2 Требования к удобству пользования -- -### 3.3 Требования к надежности +#### 3.3 Требования к надежности -- -### 3.4 Требования к производительности +#### 3.4 Требования к производительности -#### 3.4.1 Требование PR1 +##### 3.4.1 Требование PR1 Система должна выдерживать и корректно обрабатывать запросы от 10000 одновременно работающих умных домов (до 100 умных устройств в каждом доме). -#### 3.4.2 Требование PR2 +##### 3.4.2 Требование PR2 Система должна выдерживать и корректно обрабатывать запросы от 10000 одновременно работающих мобильных приложений. -### 3.5 Ограничения разработки +#### 3.5 Ограничения разработки -#### 3.5.1 Требование DR1 +##### 3.5.1 Требование DR1 Мобильное приложение должно быть реализовано под операционную систему Android версии не ниже 12 при помощи языка программирования Kotlin, а интерфейс должен быть реализован при помощи Jetpack Compose. -#### 3.5.2 Требование DR2 +##### 3.5.2 Требование DR2 Бэкенд системы должен быть разработан под операционную систему Linux, реализован при помощи языка программирования Kotlin с использованием фреймворка Ktor. -#### 3.5.3 Требование DR3 +##### 3.5.3 Требование DR3 В качестве базы данных в системе должны быть использованы Redis Server, PostgreSQL, Clickhouse. -### 3.6 Интерфейсы +#### 3.6 Интерфейсы -- -### 3.7 Требования к лицензированию +#### 3.7 Требования к лицензированию --