1. Техническое задание - pipichaan/Housing-Booking-System GitHub Wiki

1. Введение

Настоящее техническое задание (ТЗ) определяет требования к разработке программного обеспечения "Housing Booking System" - системы бронирования домов и квартир с использованием Windows Forms (WinForms) на платформе .NET.

Приложение предназначено для:

  • Поиска и бронирования жилья

  • Управления объектами недвижимости

  • Осуществления платежей

  • Оценки и комментирования арендуемого жилья

2. Основание для разработки

Основанием для разработки являются:

  • Растущий спрос на онлайн-бронирование жилья
  • Необходимость автоматизации процессов аренды
  • Требования рынка к удобным системам поиска и бронирования
  • Отсутствие специализированных решений для локального рынка недвижимости

3. Назначение разработки

Программный продукт предназначен для:

  • Физических лиц, желающих арендовать жилье
  • Владельцев недвижимости, предлагающих объекты в аренду

Основные функции:

  • Регистрация и аутентификация пользователей
  • Поиск и фильтрация объектов недвижимости
  • Просмотр детальной информации о жилье
  • Бронирование и управление бронями
  • Загрузка и просмотр фотографий объектов
  • Система оценок и отзывов
  • Интеграция с картографическими сервисами

4. Требования к программе

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

4.1.1. Модуль авторизации и регистрации

  • Регистрация по email и паролю
  • Авторизация через ВКонтакте
  • Восстановление пароля
  • Редактирование профиля пользователя

4.1.2. Модуль управления объектами недвижимости

  • Добавление/редактирование/удаление объектов
  • Загрузка фотографий объекта
  • Указание местоположения на карте
  • Управление параметрами объекта (цена, описание и т.д.)

4.1.3. Модуль поиска и фильтрации

  • Поиск по местоположению
  • Фильтрация по цене, типу жилья, удобствам
  • Сортировка результатов
  • Постраничный вывод результатов

4.1.4. Модуль бронирования

  • Выбор дат бронирования
  • Расчет стоимости
  • Подтверждение брони
  • История бронирований

4.1.5. Модуль отзывов и рейтингов

  • Добавление отзывов
  • Система оценок (1-5 звезд)
  • Просмотр отзывов других пользователей
  • Расчет среднего рейтинга

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

4.2. Требования к интерфейсу

  • Интуитивно понятный графический интерфейс
  • Адаптивный дизайн
  • Поддержка разрешений от 1024x768
  • Локализация на русский язык

4.3. Требования к надежности

  • Валидация всех вводимых данных
  • Обработка ошибок ввода
  • Резервное копирование базы данных
  • Журналирование критических операций

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

  • Хранение паролей в хэшированном виде
  • Защита от SQL-инъекций
  • Ограничение доступа к административным функциям
  • Шифрование конфиденциальных данных

4.5. Требования к совместимости

  • ОС: Windows 10 и выше
  • .NET Framework 4.7.2 или .NET Core 3.1+
  • СУБД: MS SQL Server 2016 или выше

4.6. Требования к производительности

  • Время отклика на основные операции не более 2 сек
  • Поддержка одновременной работы 50+ пользователей
  • Оптимизация работы с изображениями

5. Требования к программной документации

Должна быть предоставлена следующая документация:

  • Руководство пользователя
  • Руководство администратора
  • Техническое описание системы
  • Описание API (при наличии)
  • Исходные коды (по требованию заказчика)

6. Технико-экономические показатели

6.1. Ожидаемые технические показатели

  • Снижение времени на поиск жилья на 70%
  • Уменьшение количества ошибок при бронировании на 90%
  • Сокращение времени обработки заявки до 1 минуты

6.2. Экономические показатели

  • Срок окупаемости: 12 месяцев
  • Экономия на обслуживании: 40% по сравнению с аналогами
  • Снижение затрат на маркетинг на 30%

7. Стадии и этапы разработки

7.1. Подготовительный этап

  • Анализ требований
  • Проектирование архитектуры
  • Создание технического задания
  • Разработка прототипов интерфейсов

7.2. Основная разработка

  • Реализация модуля авторизации
  • Разработка модуля управления объектами
  • Создание системы бронирования
  • Реализация системы отзывов
  • Интеграция с картографическими сервисами

7.3. Тестирование и отладка

  • Модульное тестирование
  • Интеграционное тестирование
  • Unit-тесты

7.4. Внедрение

  • Установка на рабочие станции
  • Настройка серверного окружения
  • Обучение пользователей

8. Порядок приемки и контроля

Название этапа Сроки этапа Чем заканчивается этап
1 Сбор требований 19.05.2025 Готовые требования, определение функционала
2 Создание технического задания 19.05.2025 Готовое техническое задание
3 Проектирование архитектуры Готовая архитектура приложения
4 Настройка среды разработки Правильно настроенная среда
5 Разработка Разработанное приложение
6 Тестирование Тестирование приложения, документация о тестах
7 Внедрение Пуск приложения в реализацию