ТЗ (Техническое Задание)

ТЗ, Техническое Задание, проект "Большая Библиотека". Перечень требований к данному реализуемому проекту. Технические характеристики, цель, структура, свойства и методы проекта.




Общие сведения

Данный документ представляет собой описание информационной модели автоматизированной системы Большая Библиотека.

Это чисто учебный, простой проект для демонстрации как должен создаваться и реализовываться типовой проект.

Здесь вашему вниманию предлагается т.н. Техническое Задание или ТЗ.

ТЗ можно считать стартовым документом, с которого начинается работа над проектом.

В ТЗ подробно и понятно, на простом чистом русском языке описываются все пожелания и требования заказчика к разработчику. ТЗ является приложением к договору между заказчиком и разработчиком. Этот договор является основанием для проведения работ.

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



Термины

Администратор - лицо или группа лиц, выполняющие работы по системному и прикладному администрированию Проекта, а также администрированию БД.

БД - База Данных. Для проекта следует предусмотреть возможности использования MySQL и PostgreSQL. В разработке следует использовать общие стандарты этих БД, чтобы дать возможность оперативного переподключения от одной БД к другой в случае необходимости.

ИС - Информационная Система.

Проект - информационная система Большая Библиотека для хранения, добавления, изменения, выдачи информации об авторах и их произведениях.

Yii2 - Фреймворк, на котором должен быть выполнен проект.

Заказчик - физическое или юридическое лицо, инициатор Проекта, предложивший Исполнителю реализацию Проекта по ТЗ.

Исполнитель - физическое или юридическое лицо, принявшие предложение Заказчика реализации Проекта по ТЗ.

Пользователь - авторизированный пользователь Проекта с правами "чтение-запись-редактирование" элементов Проекта.

Гость - неавторизированный пользователь Проекта с правами "только чтение".



Цели Проекта

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



БД

Ядро БД составляют 4 взаимосвязанные между собой сущности (таблицы).

Справочник "Типы носителей информации" (Таблица: btype)

В этом справочнике хранится информация о возможных типах носителей информации (электронный текст, аудио, видео, изображение, бумажная книга и пр.)

Структура, описание полей (btype)
  • id Первичный int(11) AUTO_INCREMENT
  • code varchar(10) Код типа
  • descr varchar(64) Описание типа
  • users_id int(10) ID пользователя, который добавил / редактировал запись.
  • deleted1 tinyint(3) Признак удалена запись (1) или нет (0).
  • modirec timestamp Время добавления / редактирования.

Список обязательных записей при передаче ИС исполнителем заказчику.
  • ebook Эл. книга: FB2, FB3, ePub, PDF, PDF A6, TXT, HTML, RTF, MOBI.
  • audiobook Аудиокнига. Скачивание: mp3, m4b. Прослушивание: WAV, FLAC, OGG
  • video Видео: mp4 и т.п.


Справочник "Виды произведения" (Таблица: bkind)

В этом справочнике хранится информация о возможных видах произведений (художественное произведение, инструкции и пр.)

Структура, описание полей (bkind)
  • id Первичный int(11) AUTO_INCREMENT
  • code varchar(10) Код вида
  • descr varchar(64) Описание вида
  • users_id int(10) ID пользователя, который добавил / редактировал запись.
  • deleted1 tinyint(3) Признак удалена запись (1) или нет (0).
  • modirec timestamp Время добавления / редактирования.

Список обязательных записей при передаче ИС исполнителем заказчику.
  • rusclassic Русская классика (до XXI-го века)
  • forclassic Зарубежная классика (до XXI-го века)
  • rusmodern Русская современная литература (начиная с 2001-го года)
  • formodern Зарубежная современная литература (начиная с 2001-го года)
  • manuals Руководства, инструкции, учебники, пособия, методички.


Список "Авторы" (Таблица: writer)

В этой таблице хранится информация об авторах и/или правообладателях.

Структура, описание полей (writer)
  • id Первичный int(11) AUTO_INCREMENT
  • fio varchar(64) ФИО (допускается наименование для юр лица)
  • bdate date Дата рождения
  • ddate date Дата смерти (пусто, если живой)
  • descr varchar(128) Краткая информация об авторе
  • users_id int(10) ID пользователя, который добавил / редактировал запись.
  • deleted1 tinyint(3) Признак удалена запись (1) или нет (0).
  • modirec timestamp Время добавления / редактирования.

При передаче ИС исполнитель должен заполнить этот список не менее 20-ю записями.

Список "Произведения" (Таблица: book)

В этой таблице хранится информация о произведениях.

Структура, описание полей (book)
  • id Первичный int(11) AUTO_INCREMENT
  • btype_id int(11) ID Типа носителя информации
  • bkind_id int(11) ID Вида произведения
  • writer_id int(11) ID Автора
  • writer_id2 int(11) ID СоАвтора (если есть)
  • title varchar(128) Название произведения
  • link varchar(128) Ссылка на внутренний или внешний ресурс с дополнительной информацией по данному произведению.
  • pdate date Дата первой публикации
  • descr text Описание. Здесь произвольная информация о произведении. Например, международный стандартный книжный номер, ISBN. Можно опубликовать какую-то интересную информацию о произведении. Можно даже опубликовать часть произведения. Или все произведение целиком.
  • users_id int(10) ID пользователя, который добавил / редактировал запись.
  • deleted1 tinyint(3) Признак удалена запись (1) или нет (0).
  • modirec timestamp Время добавления / редактирования.

При передаче ИС исполнитель должен заполнить этот список не менее 100 записями.

Схема взаимосвязей между таблицами БД
Схема взаимосвязей между таблицами БД

Версии БД, которые разрешается использовать
  • MySQL версия 8.3 или выше
  • MariaDB версия 10.4 или выше
  • PostgreSQL версия 16.2 или выше



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

Операционная Система: CentOS (Community ENTerprise Operating System) - дистрибутив Linux, основанный на коммерческом Red Hat Enterprise Linux. Разрешается также использовать OS Windows.

Apache - кроссплатформенный HTTP-сервер. Данный тип ПО применяется для обработки запросов к контенту, содержащемуся на сервере.

PHP - Версия 8.2 и выше.

Yii - высокопроизводительный компонентный PHP Фреймворк, предназначенный для разработки современных веб-приложений.

Версия фреймворка Yii на которой выполнен проект: 2.0.49 или выше.

Краткая информация о Фреймворке Yii2




Работа пользователя в ИС

Пользователь должен иметь возможность работать в ИС с помощью любого современного браузера из любой, удобной ему операционной системы.

Должно быть 2 вида пользователей:
  • Авторизованный пользователь имеет права на создание-коррекцию-чтение информации.
  • Гость имеет права только на чтение.
Администрированием пользователем занимается администратор системы. Система администрирования должна иметь максимально простой и понятный характер.




Представление "Типы носителей информации"

В этом представление должны быть реализованы простые и интуитивно понятные методы добавления, коррекции и просмотра. Это требование относится ко всем представлениям.

Должны быть реализованы возможности быстрого поиска путем фильтрации информации по коду и описанию.

Важно. Пользователь должен иметь возможность только помечать запись к удалению, а не удалять ее фактически. Окончательное решение по удалению или восстановлению запись принимает Администратор ИС. Это правило относится ко всем представлениям.




Представление "Виды произведения"



Должны быть реализованы возможности быстрого поиска путем фильтрации информации по коду и описанию.




Представление "Авторы"



Должны быть реализованы возможности быстрого поиска путем фильтрации информации по ФИО и описанию.




Представление "Произведения"



Должны быть реализованы возможности быстрого поиска путем фильтрации информации по Наименованию.

Отображения информации в полях "Автор" и "СоАвтор" должны быть кликабельными, ссылки должны вести на карточки соответствующего автора.




Передача Исполнителем Заказчику созданной ИС



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


Совместная комиссия проводит тестирование ИС. По результатам теста либо подписывает акт приема-передачи, либо составляется дополнительное соглашение о необходимых доработках.

=== Конец ===



Спасибо за внимание!