Гарьят мартьеновские пьечи,
Каторый год гарьят аньи...
«Мы не пашем, не сеем, не строим - мы гордимся общественным строем!» Промышленное производство продукции два десятка лет как дышит на ладан, страна живет услугами и торговлей. Продвижение на рынках товаров и услуг немыслимо без рекламы, - «Вести бизнес без рекламы - все равно, что подмигивать девушкам в темноте...» © Брит Стюарт Хендерсон. Наиболее доступная и относительно эффективная реклама (в частности, колы
) - реклама в сети Интернет, чем и обусловлен рост потребности в Интернет-ресурсах, в их разработке и документировании. Это первое.

Второе. В моде (и финансируются государством) всевозможные портальные решения различного уровня сложности в рамках программ «электронная Россия», «электронная Москва», «электронное правительство» и проч. Сей факт открывает оперативный простор для разработчиков технической документации, поскольку разработки портальных решений проводятся по государственным контрактам, а документирование необходимо вести согласно требованиям нормативно-технической документации.
В сети имеется множество материалов на тему «как написать хорошее ТЗ на сайт?», освещающих вопрос не слишком широко и всенародно. В этой связи основная цель данной статьи - «расширить и углУбить», дополнить, внести ясность в вопросы разработки технических заданий на сайты и портальные решения. Задачи:
Поскольку речь идет о техническом задании на сайт, следует скорейшим образом определиться с терминологией. К сожалению, термин «web-сайт» в солидных изданиях, подобных толковому словарю Ожегова и Шведовой (по понятным причинам), отсутствует. Но «на безрыбье и поросенок - соловей», поэтому пришлось обратиться к не менее солидному интернет-изданию - википедии. Итак, web-сайт с точки зрения википедии:

О как! Благодарим безымянный авторский коллектив за глубокую проработку вопроса...
Что же в реальности? Имеется физический сервер (средство технического обеспечения), на котором установлена операционная система (общее программное обеспечение), «поверх» которой выполняется web-сервер Apache (nginx и т.п.) - «технологическое» программное обеспечение. На жестких дисках физического сервера размещается та самая «совокупность документов частного лица или организации» в виде файлов формата HTML (часть информационного обеспечения). Это «серверная» часть вопроса.
Имеет место и «клиентская» часть: пользовательский компьютер (или автоматизированное рабочее место), установленная на нем операционная система (общее программное обеспечение), выполняющийся под ее управлением web-браузер клиента (пользователя).
Клиентская и серверная части взаимодействуют между собой посредством канала связи - неважно, какого именно - сетевые карты пользовательского компьютера и сервера можно просто соединить кросс-кабелем, а то и вовсе установить клиентское и серверное ПО на одном компьютере.
Серверная часть ожидает запроса со стороны пользователя. Пользователь с помощью web-браузера формирует запрос по протоколу HTTP, запрос поступает на серверную часть, после чего серверная часть формирует ответ, передавая пользовательскому браузеру HTML-страницу посредством протокола HTTP.
Простенькая схема взаимодействия до слез понятна даже младенцу, но приведена она не ради проведения разъяснительной работы среди скучающих домохозяек, а с совершенно иной целью. Итак:
Обратимся к первоисточникам.
|
| Система, состоящая из персонала и комплекса средств автоматизации его деятельности, реализующая информационную технологию выполнения установленных функций [из п. 1.1 ГОСТ 34.003-90] |
| Лицо, участвующее в функционировании АС или использующее результаты ее функционирования [из п. 2.1 ГОСТ 34.003-90] |
Налицо персонал, комплекс средств автоматизации, перечисленные виды обеспечения - компоненты АС и т.д. Таким образом, клиентская и серверная стороны обладают всеми признаками автоматизированной системы.
Немножко о ролях. Для посетителя сайта, использующего результаты функционирования автоматизированной системы, сам сайт является всего лишь графическим пользовательским интерфейсом автоматизированной системы - ее фронтальной частью. Для лица, участвующего в функционировании системы - администратора, прикручивающего сервер в стойку, поддерживающего работоспособность ПО, для редактора, набивающего сайт контентом - важна тыловая часть автоматизированной системы.
Таким образом, web-сайт является всего лишь пользовательским интерфейсом - фронтальной частью автоматизированной системы, обеспечивающей доступность информационного обеспечения системы конечному пользователю - посетителю - посредством пользовательского интерфейса. Наверное, подобное определение будет более точным, нежели то, что приведено в википедии.
Классификация web-сайтов также раскрыта в википедии не должным образом, поскольку рассмотрена исключительно с точки зрения пользователя и выглядит довольно однобоко. В качестве основных классификационных признаков следовало бы использовать, как минимум:
От перечисленных выше взаимосвязанных классификационных признаков крайне сильно зависят требования к техническому и программному обеспечению автоматизированной системы, поддерживающей функционирование и доступность посетителю своей фронтальной части - собственно, сайта. И «пиастры, пиастры»...
Для ресурсов с невысокой посещаемостью - 500 хостов, 2000 хитов и «текстовым» трафиком - достаточно виртуального хостинга с бюджетным тарифным планом, а из персонала - редактора и администратора в одном лице. Для ресурсов, подобных порталу sportbox.ru, на который единовременно заходят десятки и сотни тысяч посетителей, просматривающих прямые телевизионные трансляции, необходимы десятки кластеризованных физических серверов, каналы связи с гигабитной (и выше) пропускной способностью, команда круглосуточно дежурящих администраторов, программистов, верстальщиков и редакторов в полсотни человек.
В первом случае финансовые затраты составят примерно 3 тыс. рублей в год за хостинг плюс зарплата редактора-админа. Во втором случае десятки миллионов рублей пойдут на закупку серверного и иного оборудования, а уж зряплаты творческого коллектива портала в совокупности составят от трех до пяти миллионов рублей ежемесячно.
Таким образом, указанные выше критерии можно считать основополагающими, первичными «половыми признаками», а изложенные в википедии - вторичными.
Коль скоро выяснилось, что web-сайт является фронтальной частью автоматизированной системы, имеет смысл сдуть пыль с ГОСТ 34.602-89 и углубиться в его изучение. Далее будет рассмотрено содержание основных разделов технического задания по ГОСТ 34.602-89.
Следует напомнить, что собственно сайт - всего лишь некая завлекуха для посетителя, а автоматизированная система сайта обеспечивает функционирование и доступность посетителю этой самой завлекухи. Таким образом, цели и задачи, как и все, имеет смысл «взять и поделить»: мухи - отдельно, котлеты - отдельно. В итоге получится четыре подраздела - назначение сайта, назначение системы, цели создания сайта и цели создания системы.
Сайт предназначен для решения перечисленных ниже задач:
АС сайта предназначена для решения перечисленных ниже задач:
Целями создания сайта являются:
Целями создания АС сайта являются:
В статье использовались фрагменты «боевого» технического задания на автоматизированную систему одного из московских городских порталов. Понятно, что назначение и цели создания сайта-визитки или крутейшего порносайта с бешеной посещаемостью будут несколько отличаться, но все они пронизаны искренней заботой о нуждах простых граждан. В чем и состоит их единство.
Хочется надеяться, что приведенный выше пример наглядно иллюстрирует смысл разделения назначения и целей создания сайта и автоматизированной системы сайта.
Какие требования к структуре и функционированию системы можно придумать для сайта-визиточки, состоящего из страничек «Новости», «О нас», «Услуги» и «Контакты»? Да никаких... Странички сливаются на виртуальный хостинг через файловый менеджер в виде web-формы, указывается вид стартового файла index (html, php, asp), и на этом все заканчивается. Решение иных вопросов на свои хрупкие плечи возлагает хостинг-провайдер. А как быть с аналогичными требованиями к серьезному порталу? На рисунке (ниже) приведено определение интернет-портала, представляющееся автору более-менее обоснованным. Обычный сайт отличается от портала только тем, что не предоставляет посетителю возможностей интерактивного взаимодействия.

Начнем с контента (информационного обеспечения). Контент может быть как статический (файлы htm и т.д), так и динамический (извлекаемый скриптами из базы данных). Следовательно, в структуру системы войдут уже целых две подсистемы - подсистема хранения данных (файловое хранилище) и подсистема баз данных (реляционное хранилище динамического контента).
А как балансировать пользовательские запросы? Созданием подсистемы балансировки запросов. А если налетят злобные хакеры? Придется создать подсистему безопасности...
А как работать с удаленным персоналом? Организацией подсистемы удаленного доступа: точки входа для админов, точки входа для программеров, точки входа для редакторов, тестеров, техписов (прости, господи!) и т.д.
А как тестировать систему? Созданием тестовых серверов и подсистемы прототипирования.
А как вообще все это увязать промеж себя? Организацией подсистемы сетевой инфраструктуры. И так далее...
В сухом остатке:
Подсистема - это тоже система, только маленькая. Она еще входит в состав системы в целом. Таким образом, структура системы уже вырисовывается. Ниже придется указать назначение и состав каждой из подсистем.
Очевидно, что компоненты системы - в данном случае они представлены также и подсистемами - должны как-то между собой взаимодействовать. И совсем уж очевидно, что подобное взаимодействие может быть организовано посредством каналов связи.
Физически каналы связи могут быть выполнены как угодно: оптикой (ВОЛС), Ethernet и т.д. На практике широко применяется стандарт IEEE 802.x. Для сайтов-визиток формулировать в техническом задании требования данного раздела не имеет никакого смысла, поскольку указанные вопросы решаются хостинг-провайдером.
И сайт-визитка, и серьезный портал могут взаимодействовать со смежными системами путем закачки и отображения информации с других сайтов. Модно (хотя и пОшло) размещать на сайтах информацию о погоде, о курсе валют, анонсы новостей и т.д. Таким образом, в техническом задании на сайт придется рассказать о добыче указанной информации:
Требования к совместимости со смежными системами реализуются:
Здесь речь идет как о технической, так и о информационной совместимостях астоматизированных систем.
Подраздел говорит сам за себя - автоматически, вручную и т.д.
Режимов можно выдумать много. Сайт-визитка всегда должен работать в штатном режиме, за исключением, быть может, времени перезаливки информации на хостинг. Серьезный портал, несмотря на все опасности, его подстерегающие, не должен надолго выпадать из штатного режима, поскольку в его функционировании задействована уйма персонала, готового в кратчайшие сроки устранить неполадки (сбои, отказы), провести обслуживание, диагностику и т.д.
Перспективы развития, модернизации системы:
Для сайтов-визиток перечисленные возможности определяются тарифным планом хостинг-провайдера.
Численность персонала системы должна удовлетворять перечисленным ниже требованиям:
Квалификация зависит от категории персонала: пользователь должен уметь работать с браузером и возить мышкой по коврику, редактор должен уметь то же самое, что и пользователь, но еще редактировать материалы портала (информационное обеспечение), администратор - то же, что пользователь и редактор, но и еще много чего.
Режим работы для персонала серьезного портала, как правило, сменный круглосуточный.
Серьезные порталы, как и несерьезные сайты-визитки, должны быть доступны посетителю 365 дней в году, 7 дней в неделю и 24 часа в сутки. Надежность визиток берет на себя хостинг провайдер, поэтому данный пункт требований для них неактуален. Надежность же серьезного портала должна быть выражена через коэффициент готовности, время восстановления и прочие показатели, регламентируемые ГОСТ 27.002-89, такие как показатели надежности, безотказности, долговечности, ремонтопригодности, сохраняемости и т.д. (для технических средств).
Для программного обеспечения портала стоит привести:
На первый взгляд приведенные показатели как бы не в тему, но именно они (в совокупности) и определяют надежность автоматизированной системы портала и доступность самого портала.
Требования безопасности актуальны лишь в том случае, если технические средства размещены непосредственно на площадях заказчика и их техническим обслуживанием и ремонтом занят персонал заказчика. Как обеспечена безопасность при обслуживании ТС в дата-центрах и у хостинг-провайдера - забота их руководителей. Стоит упомянуть о том, что квалификационная группа по электробезопасности для персонала, обслуживающего технические средства, должна быть не ниже III, для редакторов и прочих, работающих исключительно с компьютерами - не ниже II.
Актуальны для серьезных порталов, ТС которых размещены на площадях заказчика, особенно в тех случаях, когда под площадкой проходит неглубоко залегающая ветка метрополитена - земля буквально дрожит под ногами. Нормативы: СанПин 2.2.2.542-96, ГОСТ 12.1.012-90, ГОСТ 12.1.003-83, ГОСТ 12.1.036-81, ГОСТ 27818 и ГОСТ 26329 (имеет смысл проверить на изменения).
Для серьезных порталов. Нормативы: ГОСТ 12.2.049, ГОСТ 30.001, ГОСТ 20.39.108, ГОСТ 21958 и ГОСТ 50948 (для видеомониторов с ЭЛТ).
Для серьезных порталов. Нормативы: ГОСТ 21958, ГОСТ 12.2.049, ГОСТ 20.39.108.
Для серьезных порталов. Виды обслуживания могут включать в себя периодического техническое обслуживание:
Согласно СанПиН 2.2.2.542-96.
Согласно ГОСТ 13109-97.
Кому не лень, тот поднимет руководящие документы ФСТЭК (бывш. Гостехкомиссия), классифицирует автоматизированную систему и распишет требования по защите от НСД согласно вида АС.
Система в целом должна обеспечивать сохранность, целостность и корректность информации:
Для серьезных порталов следует определить класс оборудования согласно ГОСТ Р 51318.22, а также требования к стойкости, устойчивости и прочности к воздействию внешних факторов. А ВВФ много - в одном только ГОСТ 26883-86 дано целых 56 терминов и определений. Наиболее актуальные из них (в части технических средств портала, размещаемых в специально оборудованных помещениях):
Здесь все сугубо индивидуально, поскольку функционал web-сайтов может существенно отличаться. Форумы, галереи, блоги, опросы, чаты и т.д. - функционал у каждого свой.
В данном разделе речь пойдет о той самой «совокупности документов частного лица или организации». Очевидно, что «документы» должны быть структурированы - сайт должен иметь некую структуру разделов, схему навигации и т.д. На рисунке (ниже) показан макет структуры разделов (через главное меню) портала tdocs.su.

При разработке технической документации для серьезных порталов часто прибегают к термину «информационный объект». К информационным объектам можно причислить структуру разделов портала, систему навигации, собственно контент - статьи, новости, анонсы, аудио-видеоконтент и многое другое - дело вкуса. Информационные объекты в своей совокупности составляют информационное обеспечение системы.
Вопрос представления информационного обеспечения затруднений не вызывает: можно «разрисовать» ИО в виде структуры каталогов, в табличном или любом ином удобочитаемом виде. Но не следует забывать, что ИО хранится не только в базе данных или в файловой системе - ИО также представлено регламентами, инструкциями и иными бумажными документами, составляющими нормативно-справочную информацию машинной и внемашинной информационных баз.
Помимо языковых требований лингвистическое обеспечение должно обеспечивать:
Все идет к пользовательскому интерфейсу - вот где раздолье для дизайнеров и верстальщиков! Самое время сформулировать требования к интерфейсу пользователя, включив в них всякие картинки, менюшки, кнопочки - юзабилистская братва разбирается в данных вопросах куда лучше автора.
К визиткам не предъявляется. К серьезным порталам - требования самые серьезные. Общеизвестно, что ОПО, производимое конторой нашего американского друга Билла, малопригодно для порталов с большим трафиком, требующим, к тому же, высокого уровня информационной безопасности. Таким образом, лучший путь - решения open source.
Из личного опыта автора: пока сайт authorit.ru «висел» на NT-хостинге, он и «висел» в буквальном смысле слова. Не было ни дня, чтобы сайт был полностью доступен, а уж в выходные достучаться до него (и техподдержки) было и вовсе невозможно. Когда окончательно надоела ежедневная ругань со службой техподдержки хостинг-провайдера, был совершен переход на UNIX-хостинг и все проблемы исчезли сами собой.
Раскрывать секреты мастерства админов автор не вправе, но рекомендовать решения на основе OpenVZ, MySQL, PostgreSQL и Drupal (для порталов) вправе.
Относятся к серьезным порталам. Предварительно следует оценить объемы хранения данных и объемы трафика - на их основе требования к техническим средствам хранения данных и к ТС каналообразования родятся сами собой. Ну и, разумеется, к производительности серверного оборудования. Какую либо конкретику для данного раздела привести трудно, но в АС портала sportbox.ru задействовано свыше 40 блейд-серверов от HP.
Самый сложный раздел технического задания на сайт, поскольку связан с персоналом. Самое разумное решение - поделить персонал на категории: пользователи, редакторы (контента), программисты, тестировщики и администраторы. Из категорий автоматически проистечет структура (или изменение в существующей структуре) подразделений, со скрипом будут обозначены должностные обязанности каждой из категорий персонала. В техническом задании лучше всего ограничиться перечисленным и отодвинуть принятие решений по организационному обеспечению на стадию технического проекта.
Данный и нижележащие разделы детально приведены в документах:
Цели, как всегда, достигнуты, задачи решены. С терминологией и классификацией web-ресурсов определились, расширили и углУбили, внесли ясность, чем заполнять разделы технического задания на сайт в зависимости от вида web-ресурса.
Удачи!
Заказать услуги, установить контакты со специалистами компании можно по электронной почте admin собака tdocs точка su, по ICQ UIN 481-726-610 или с помощью формы «Контакты». Вопросы некоммерческого характера могут быть заданы в Форуме проектировщиков и разработчиков технической документации.