Skip to content

Commit

Permalink
#15 Sync tech task structure with presentation (#17)
Browse files Browse the repository at this point in the history
  • Loading branch information
Andryss authored Mar 1, 2024
1 parent d3dab8e commit 4a12dba
Showing 1 changed file with 77 additions and 30 deletions.
107 changes: 77 additions & 30 deletions doc/technical-task.md
Original file line number Diff line number Diff line change
@@ -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 Обзор документа

Документ разделен на следующие части:

Expand All @@ -41,14 +76,23 @@

Содержит полный список требований, предъявляемых к разрабатываемой системе.

## 2 Общее описание
### 2 Общее описание

#### 2.1 Функционал продукта

### 2.1 Функционал продукта
Система состоит из мобильного приложения, бэкенда, базы данных, устройств
умного дома.

Система должна предоставлять пользователю следить за состоянием датчиков,
приборов в составе умного дома и управлять ими удаленно.
Мобильное приложение позволяет пользователю следить и удаленно управлять
состоянием устройств своего умного дома.

### 2.2 Описание пользователей
Бэкенд принимаем запросы от пользователя, взаимодействует с базой данных и
устройствами подключенных к системе умных домов.

База данных хранит информацию о пользователях и устройствах, созданных
пользователем правилах управления устройствами, а также данные сенсоров.

#### 2.2 Описание пользователей

В системе будут существовать следующие типы пользователей:

Expand All @@ -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 Пример требования

Система должна предоставлять информацию о текущей версии пользовательского
приложения.
Expand All @@ -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 Требования к лицензированию

--

0 comments on commit 4a12dba

Please sign in to comment.