Пример базового варианта технического задания на сайт

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

-------------- cut here --------------

Еще раз для особо одаренных. Это черновик.

Техническое задание на разработку сайта ОАО «T-й завод «О-рь» № ### от 10 августа 2008 г.
 

1. Введение


  Данное техническое задание описывает цикл работ по изготовлению сайта ОАО «Тамбовский завод «О-рь». Работы будут производиться с использованием свободно распространяемого программного продукта Drupal(сайт производителя — http:// drupal.org).

2. Основные определения.


Для того чтобы не было разночтений, введем систему определений для данного технического задания, которые мы будем использовать далее.
 HTML - это язык разметки документов. Все веб-страницы создаются при помощи языка HTML (или XHTML). Язык HTML интерпретируется браузером и отображается в виде документа, удобном для человека. HTML соответствует международному стандарту ISO/IEC 15445:2000.

Сайт - это одна или совокупность страниц в формате HTML или каком либо другом, доступных в интернете через протоколы HTTP/HTTPS. Страницы сайта объединены общим корневым адресом сайта, а также обычно темой, логической структурой, оформлением и/или авторством.

Адрес сайта - (синоним URL — uniform resource locator) - это стандартизированный способ записи адреса ресурса в сети. Стандарт адреса сайта определяется RFC 1738.(см. приложение 1).

Интернет - всемирная система добровольно объединённых компьютерных сетей, построенная на использовании протокола IP и маршрутизации пакетов данных. Интернет образует всемирную (единую) информационную среду — обитель оцифрованной информации.

Пользователь - лицо или организация, которое использует действующую систему для выполнения конкретной функции.

Веб-приложение — приложение, в котором клиентским приложением выступает браузер, а сервером — веб-сервер.

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

Сервер - программный компонент вычислительной системы, выполняющий сервисные функции по запросу клиента, предоставляя ему доступ к определённым ресурсам.

HTTP(от англ. HyperText Transfer Protocol — «протокол передачи гипертекста») - сетевой протокол прикладного уровня передачи данных в виде текстовых сообщений. (ссылку на описание см. в приложении 1.).

Веб-сервер — это сервер, принимающий запросы протокола HTTP от клиентов, , обычно браузеров, и выдающий им HTTP-ответы, обычно вместе с документом HTML, изображением, файлом, медиа-потоком или другими данными.

Учетная запись пользователя - набор данных, содержащийся в базе данных, с информацией о пользователе: его имени в системе, его пароль, другие его учетные данные.

Анонимный пользователь - пользователь пользующийся сайтов, но не прошедший авторизации.(Примечание: в системе «Drupal» уникальный идентификатор пользователя для администратора равен 1, для анонима 0).

Блог - раздел на сайте, куда пользователь добавляет свои личные новости. Выглядит как постоянно обновляемая лента новостей. Каждой учетной записи пользователя может соответсвовать свой блог.

Книга, подшивка книг — тип материала, позволяющий делать иерархию подшивок документов, с содержанием и навигацией по подшивкам.

База данных - структурированный организованный набор данных, описывающих характеристики какой-либо физической или виртуальной системы.
 Система управления базами данных (СУБД) - специализированная программа (чаще комплекс программ), предназначенная для манипулирования базой данных.

Комментарий - сообщение пользователя в ответ на какую либо статью или новость на сайте. Публикуется на странице новости или при переходе по ссылке «показать комментарии».

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

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

Владелец сайта - человек или организация, которая занимается отслеживанием всего что на сайте происходит, которая имеет возможность управления сайтом(примечание: в данном случае термин «владелец» может не совпадать с термином «заказчик»).

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

Группа пользователей, группа учетных записей, группа - группа учетных записей с одинаковым набором прав на сайте.

Администратор сайта - учетная запись пользователя, обладающая большим набором прав на сайте. Администратор обладает на сайте всеми разрешениями(правами).(Примечание: в системе «Drupal» уникальный идентификатор пользователя для администратора равен 1)

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

Есть готовый инструментарий для создания сайтов. Называется Drupal (http://drupal.org). На момент разработки создана версия 7 системы. В ней реализованы модули блогов, модули лент новостей сайта, есть возможности для размещения коротких новостных заметок, есть форма обратной связи, есть модули подшивок документов для иерархического хранения содержимого, есть модуль поиска информации по сайту, достаточный для небольшого количества материалов(порядка 2000 статей со средним размером порядка 3000 знаков). Но многого нужного для того, что описано во введении нет.

Например, в стандартной поставке отсутствует проверка на то, что под анонимным пользователем сообщение отправляет спаммерский робот или живой человек. Нет модулей для обеспечения удобства настроек статей, заливки изображений. Если они и есть в открытом доступе, то они требуют дополнительной конфигурации.

Кроме того, внешний вид сайта из стандартной поставки может не соответствовать требованиям заказчика к внешнему виду системы.  Соответственно требуется либо доработка модулей системы, которая дает часть нужной функциональности изначально, либо предварительная настройка структурирования информации на сайте и настройка дополнительных модулей. В данном проекте за основу будет браться версия 6.13 или стабильная более свежая версия, но не 7.0 и выше, поскольку версия 7 системы не обладает на данный момент достаточной стабильностью и безопасностью.

4. Описание компонентов системы и основные требования.

Сайт будет включать в себя несколько основных частей:

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

4.1. Система пользователей сайта.

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

Пользователь должен иметь возможность:

  • зарегистрировать учетную запись пользователя;
  • изменить данные своей учетной записи в соответствии с тем кто он является(ввести имя, фамилию, личный сайт);
  • иметь возможность посылать личные сообщения другим пользователям сайта, если они имеют на сайте учетную запись;
  • иметь возможность посылать сообщение владельцу сайта, через форму контактов. Причем, сообщения переданные через форму контактов сайта(см. 4.2) придут к владельцу сайта на электронный почтовый ящик, который должен указываться в настройках системы;

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

4.1.1. Группы пользователей сайта.

Должна быть возможность создания различных групп пользователей сайта.

Примерный набор групп пользователей сайта:

1) Группа «представители владельца сайта» дает пользователям в ней состоящим права: 

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


У нас для представителей владельца будет создана группа под названием editors с возможностью полностью управлять материалами сайта. Возможно создание дополнительных групп для пользователей заказчика с более низкими и более высокими привелегиями.

2) Группа «анонимные пользователи» предназначена для анонимных пользователям: просматривать новости на сайте, и другие записи. Для анонимных пользователей для любого их действия должна применяться система защиты от спама.

Примечание: разрешения для групп пользователей могут меняться при настройке системе и впоследствии не соответствовать полностью описанному тут. Например защита от спама может быть отключаемой. Система должна позволять добавление групп, их изменение и удаление администратором сайта. Список прав в системе может меняться в зависимости от того, какие модули будут добавлены к системе или удалены(если это требуется) и зависит от того какие модули в системе включены или выключены в данный момент.

Политику ведения Исполнитель и Заказчик будут определять совместно после окончания проекта создания сайта(предполагаются группы «администраторов» с полным доступом к всем модулям сайта, «редакторы» - с возможностью правок материалов и меню, и «анонимные пользователи». Регистрация для посторонних лиц будет закрыта)

4.2. Главная страница сайта.

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

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

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

4.3. Раздел «О компании»

В данном разделе предполагается разместить несколько подразделов.

4.3.1. Основная страница раздела «О компании»

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

4.3.2. Руководство.

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

4.3.3. Приоритетные направления

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

4.3.4. Продукция.

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

4.3.5. Досуг

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

4.3.5.1. Мероприятия.

В данном разделе предполагается поместить новости о проводимых мероприятиях. Будет список кратких описаний мероприятий со сылками на полное описание этих самых мероприятий. Для каждого мероприятия — отдельная страница с описанием.

4.3.5.2. Базы отдыха и санатории

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

4.4. Информация о партнерах.

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

4.5. Раздел «Контакты»

В данном разделе будет общая информация о адресах, телефонах предприятия. И к основной странице по мере необходимости будут подшиты дополнительные страницы с информацией о контактных данных конкретных отделов предприятия. Владельцы сайта будут иметь возможность вносить свои правки в данный раздел.

4.6 Раздел «Связь»

В данном разделе предполагается так же поместить общую контактную информацию(адрес для писем, телефон. Тут будет располагаться форма обратной связи, через которую посетитель сможет связаться с владельцами сайта. В форме будет возможность ввода обратного адреса электронной почты отправителя, темы сообщения и самого текста сообщения. После отправки сообщения пользователем оно должно быть послано по электронной почте владельцам сайта на ящик электронной почт указанный в настройках системы. Форма контактов должна настраиваться. Ящик на который будет происходить отправка писем, будет указан при установке сайта владельцами сайта исполнителю и прописан в настройках системы.

4.7 Информация, подлежащая раскрытию.

Тут будет общая информация о предприятии, подлежащая раскрытию. Предполагается данный раздел сделать подшивкой материалов из нескольких страниц.?????????????????????????(Структура не ясна. Черновик же :-) )

4.8. Система защиты от спама

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

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

Так же должна быть предусмотрена возможность настройки системы защиты для различных заполняемых форм ввода информации на сайте

4.9. Система главного и дополнительного меню сайта.

Предполагается, что на сайте будет тема оформления, позволяющая показ основного меню и дополнительных.

4.9.1. Структура основного меню

Предполагается следующая структура основного меню.

  • Главная(4.2)
  • О компании(4.3.1)
    • Руководство(4.3.2)
    • Приоритетные направления(4.3.3)
    • Продукция(4.3.4)
    • Отдых(4.3.5)
  • Партнеры(4.4)
  • Контактная информация(4.5)
  • Связь(4.6)

Основное меню будет выводиться в верхней части сайта и его пункты каждый будут соответсвовать разделам указанным в скобках. Вложенные пункты меню пункта «О компании» будут отображаться только при переходе пользователя на страниц «О компании» второй строчкой ниже основного меню.

4.9.2. Структура дополнительного меню сайта.

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

Структура:

  • О компании(4.3.1)
    • Руководство(4.3.2)
    • Продукция(4.3.4
  • Отдых(4.3.5)
    • Базы отдыха(4.3.5.2)
    • Мероприятия(4.3.5.1
  • Информация, подлежащая раскрытию(4.7)
  • Приоритетные направления(4.3.3)
  • Партнеры(4.4)

В скобках указаны разделы, на которые ведут данные пункты меню

4.8. Требования к внешнему виду сайта и расположению компонентов на экране.

Поскольку Drupal использует блочную верстку, то можно лишь указать какие блоки будет видеть пользователь зайдя на сайт. Предполагается двухколоночная тема оформления. Причем надо показать логотип компании и логотип концерна «Созвездие». Размещение логотипов не регламентировано со стороны заказчика и остается на усмотрение исполнителя.

Предполагается тема для Drupal с возможностью работы с одной, двумя или тремя текстовыми колонками. Цветовая гамма, шрифты, графическое оформление остаются на усмотрение Исполнителя.

4.9. Требования по возможностям редактирования и составления статей.

Владельцы сайта должны иметь возможность добавлять материалы в соответсвующие разделы сайта по соответсвующим ссылкам. 
При редактировании материалов должна быть возможность работы в визуальном редакторе содержимого(пользователь должен иметь минимальные возможности по вставке картинок в текст статьи, изменению стилей шрифтв — жирный, наклонный, зачеркнутый, заголовок, отступов и т.д.).

5. Требования к программному обеспечению необходимому для запуска сайта.

Сайт должен быть сделан как набор пользовательских модулей и шаблонов тем оформления для drupal версии 6.13 или выше. Соответственно для правильной работы сайта необходимо:

  • вебсервер Apache версии 1.3 и выше(возможно использования nginx при соответствующем изменении конфигурации сервера);
  • система запуска скриптов PHP 4.4 и выше с возможностью запуска PHP скриптов на сервере(рекомендуется PHP 5.2 и выше);
  • сервер MySQL версии 4.2 и выше, желательно стабильная ветка 5ой версии.
  • модули PHP, которые должны быть в наличие: bcmath, calendar, ctype, curl, date, dom, gd, gettext, iconv, gmp, libxml, mbstring, mcrypt, mhash, mysql, openssl, pcre, posix, session, sockets, xml, xmlreader, xmlrpc, xmlwriter, xsl.

Ограничение памяти для PHP должно быть не менее 32 мегабайт на процесс. Время выполнения скрипта — максимальное — на сервере — не менее 40 секунд(необходимо для выполнения вспомогательных скриптов). Расширение mysql должно использовать ту же библиотеку mysql, что и сервер к которому будет осуществляться подключение. Для увеличения скорости работы сервере на сильных нагрузках рекомендуется наличие одного из акселераторов eaccelerator, APC cache или Zend Optimizer, а также использование fast-cgi обработчика для PHP и более легкий вебсервер Nginx.

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

6.1. Основное построение системы.

6.1.1. Для разделов 4.2 будет создан дополнительный тип данных news, для помещения новостей предприятия на главную страницу сайта.

6.1.2. Раздел 4.3.1 будет сделан путем создания простого материала для Drupal

6.1.3. Для раздела 4.3.2 будет создан будет создан дополнительный тип материалов heads и дополнительный модуль, который выводит ленту кратких анонсов для материалов этого типа.

6.1.4. Для 4.3.3. будет задействован стандартный модуль Book. Каждое направдение будет подшито к основному материалу, представляющему данный раздел.. Соотвественно раздел по направлениям будут реализованы стандартным материалом book, с помощью жокументов подшитых к основному разделу.

6.1.5. Для 4.3.4. будет задействован модуль, аналогично как в 6.1.3. и новый тип материала products для предславления производимых изделий на сайте.

6.1.6. Раздел 4.3.5 будет реализован стандартным документам типа «страница».

6.1.7. Раздел 4.3.5.1 будет реализован аналогично п. 6.1.3 и п. 6.1.5.
6.1.8. Раздел базы отдыха будет создан с помощью стандартного модуля Book.
Итак, из всего выше описанного имеем необходимость модуля, который будет выдавать листинги материалов конкретного заданного типа с какой либо начальной заданной информацией в начале ленты. Так же есть необходимость установки и настройки визуального редактора.(будет выбран либо FCKEditor, либо wymeditor).

6.2. Этапы и сроки работ.
 

(черновик же :-))

7. Порядок приемки сдачи.

Исполнитель размещает заготовки сайта на своей технической площадке для показа работоспособности. По завершении каждого этапа исполнитель показывает результаты на своей тестовой площадке. Далее производятся действия, указанные в договоре.(акт приемки-сдачи, оплата этапа и так далее).

Приложение 1. Справочные материалы.

1. Описания стандарта на адрес сайта(URL) — RFC 1738 — находиться в интернете по адресу http://tools.ietf.org/html/rfc1738.

2. Стандарты связанные с языком разметки HTML:
ISO/IEC 15445:2000: https://www.cs.tcd.ie/15445/15445.HTML
RFC 1866: http://tools.ietf.org/html/rfc1866
HTML 4.0: http://www.w3.org/TR/REC-html40-971218/.
HTML 4.01: http://www.w3.org/TR/html401.

3. Описание протокола HTTP: Спецификация HTTP/1.1 (Июнь 1999): RFC 2616. http://tools.ietf.org/html/rfc2616

4. Система Drupal - сайт производителя: http://drupal.org.


С техническим заданием ознакомлены:
От Заказчика:

От Исполнителя:

 

Комментарии