В данной статье приведен пример (образец) проектного документа «Техническое задание на создание автоматизированной системы (АС)» согласно ГОСТ 34.602-89. В качестве примера АС для заполнения разделов использовались требования на разработку информационно-аналитической системы «Корпоративное хранилище данных».
Разделы технического задания:
- Общие сведения
-
Назначение и цели создания системы
- Назначение системы
- Цели создания системы
- Характеристика объектов автоматизации
-
Требования к системе
- Требования к системе в целом
- Требования к функциям, выполняемым системой
- Требования к видам обеспечения
- Состав и содержание работ по созданию системы
- Порядок контроля и приёмки системы
- Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие
- Требования к документированию
- Источники разработки
Техническое задание на создание автоматизированной системы «Корпоративное хранилище данных»
1. Общие сведения
1.1. Наименование системы
1.1.1. Полное наименование системы
Например:
Полное наименование: Корпоративное хранилище данных.
1.1.2. Краткое наименование системы
Например:
Краткое наименование: КХД, Система.
1.2. Основания для проведения работ
Перечень документов, на основании которых создается система, кем и когда утверждены документы. Указывается шифр темы или шифр (номер) договора, дата договора.
Например:
Работа выполняется на основании договора № … от … между …
1.3. Наименование организаций – Заказчика и Разработчика
1.3.1. Заказчик
Заказчик: ОАО Заказчик
Адрес фактический: г. Москва …
Телефон / Факс: +7 (495) 2222222
1.3.2. Разработчик
Разработчик: ЗАО Разработчик
Адрес фактический: г. Москва …
Телефон / Факс: +7 (495) 3333333
1.4. Плановые сроки начала и окончания работы
Указываются плановые сроки начала и окончания работ по созданию системы (на основании Договора). Если сроки определены не точно, то указать на какой стадии сроки уточняются.
1.5. Источники и порядок финансирования
Если не целесообразно указывать эти сведения, то дается ссылка на Договор.
1.6. Порядок оформления и предъявления заказчику результатов работ
Определяется порядок оформления и предъявления заказчику результатов работ по созданию системы (ее частей), по изготовлению и наладке отдельных средств (технических, программных, информационных) и программно-технических (программно-методических) комплексов системы.
Например:
Работы по созданию КХД сдаются Разработчиком поэтапно в соответствии с календарным планом Проекта. По окончании каждого из этапов работ Разработчик сдает Заказчику соответствующие отчетные документы этапа, состав которых определены Договором.
2. Назначение и цели создания системы
2.1. Назначение системы
Указать вид автоматизируемой деятельности (указать для управления какими процессами предназначена система).
Указать перечень объектов автоматизации, на которых предполагается использовать систему, перечень автоматизируемых органов (пунктов) управления объекта автоматизации и управляемых ими объектов (здесь указать в каких подразделениях предусматривается устанавливать систему и привести в разрезе подразделений перечень автоматизируемых бизнес-процессов верхнего уровня).
КХД предназначена для повышения оперативности и качества принимаемых управленческих решений сотрудниками Заказчика.
Основным назначением КХД является автоматизация информационно-аналитической деятельности в бизнес-процессах Заказчика.
В рамках проекта автоматизируется информационно-аналитическая деятельность в следующих бизнес-процессах:
1. анализ финансово-хозяйственной деятельности;
2. информационная поддержка процессов бюджетирования;
3. …
2.2. Цели создания системы
Наименования и требуемые значения технических, технологических, производственно-экономических или других показателей объекта автоматизации, которые должны быть достигнуты в результате создания АИС; критерии оценки достижения целей создания системы.
КХД создается с целью:
— обеспечения сбора и первичной обработки исходной информации, необходимой для подготовки отчетности по показателям деятельности;
— создания единой системы отчетности по показателям деятельности;
— повышения качества (полноты, точности, достоверности, своевременности, согласованности) информации;
— …
В результате создания хранилища данных должны быть улучшены значения следующих показателей:
— время сбора и первичной обработки исходной информации;
— количество информационных систем, используемых для подготовки аналитической отчетности;
— время, затрачиваемое на информационно-аналитическую деятельность;
— …
3. Характеристика объектов автоматизации
Приводятся краткие сведения об области деятельности Заказчика (или подразделения организационной структуры Заказчика, для нужд которого разрабатывается система) и сферы автоматизации с указанием ссылок на ранее разработанные документы, содержащие более подробные сведения об организации заказчика.
<Приводится описание организационной структуры>
Как правило, объектом автоматизации являются бизнес-процессы, выполняемые в структурных подразделениях Заказчика. Следовательно, применительно к данному ТЗ, объектами автоматизации будут являться бизнес-процессы, выполняемые в <указать в каком подразделении>.
Выделены следующие процессы в деятельности <указать подразделение Заказчика>, в рамках которых производится анализ информации и вынесены соответствующие выводы о возможности их автоматизации:
Структурное подразделение | Наименование процесса | Возможность автоматизации | Решение об автоматизации в ходе проекта |
---|---|---|---|
Отдел анализа |
Анализ отклонений фактических значений показателей от плановых | Возможна | Будет автоматизирован |
… | … | … | … |
4. Требования к системе
4.1. Требования к системе в целом
4.1.1. Требования к структуре и функционированию системы
Определяется перечень функциональных подсистем, их назначение и основные характеристики, требования к числу уровней иерархии и степени централизации системы.
Система КХД должна быть централизованной, т.е. все данные должны располагаться в центральном хранилище. Система КХД должна иметь трехуровневую архитектуру (можно привести общую схему, на которой определить уровни. Например, первый — источник, второй — хранилище, третий — отчетность).
В Системе предлагается выделить следующие функциональные подсистемы:
— подсистема сбора, обработки и загрузки данных, которая предназначена для реализации процессов сбора данных из систем источников, приведения указанных данных к виду, необходимому для наполнения подсистемы хранения данных;
— подсистема хранения данных, которая предназначена для хранения данных в структурах, нацеленных на принятие решений;
— подсистема формирования и визуализации отчетности, которая предназначена для формирования бизнес-ориентированных витрин данных и отчетности.
Указываются требования к способам и средствам информационного обмена между компонентами системы.
В качестве протокола взаимодействия между компонентами Системы на транспортно-сетевом уровне необходимо использовать протокол TCP/IP.
Для организации информационного обмена между компонентами Системы должны использоваться специальные протоколы прикладного уровня, такие как: NFS, HTTP и его расширение HTTPS, NetBios/SMB, Oracle TNS.
Для организации доступа пользователей к отчетности должен использоваться протокол презентационного уровня HTTP и его расширение HTTPS.
Приводятся требования к характеристикам взаимосвязей со смежными системами.
Смежными системами для КХД являются:
— информационные системы оперативной обработки данных Заказчика;
— информационные системы планирования;
— …
Источниками данных для Системы должны быть:
— Информационная система управления предприятием (СУБД MS SQL).
— Информационно-справочная система (СУБД MS SQL).
— Информационная система обеспечения бюджетного процесса (СУБД Oracle).
— …
Перечень предпочтительных способов взаимодействия со смежными системами приведен ниже.
— Информационная система управления предприятием — с использованием промежуточной базы данных (ПБД).
— Информационно-справочная система — обмен файлами ОС определенного формата.
— Информационная система обеспечения бюджетного процесса — интеграция «точка – точка».
— …
Определяются требования к режимам функционирования системы.
Например:
Система должна поддерживать следующие режимы функционирования:
— Основной режим, в котором подсистемы КХД выполняют все свои основные функции.
— Профилактический режим, в котором одна или все подсистемы КХД не выполняют своих функций.
В основном режиме функционирования Система КХД должна обеспечивать:
— работу пользователей в режиме – 24 часов в день, 7 дней в неделю (24х7);
— выполнение своих функций – сбор, обработка и загрузка данных; хранение данных, предоставление отчетности.
В профилактическом режиме Система КХД должна обеспечивать возможность проведения следующих работ:
— техническое обслуживание;
— модернизацию аппаратно-программного комплекса;
— устранение аварийных ситуаций.
Общее время проведения профилактических работ не должно превышать X% от общего времени работы системы в основном режиме (Y часов в месяц).
Указываются требования по диагностированию системы (какие средства будут использоваться или создаваться, чтобы обеспечить диагностику системы).
Для обеспечения высокой надежности функционирования Системы как системы в целом, так и её отдельных компонентов должно обеспечиваться выполнение требований по диагностированию ее состояния.
Диагностирование Системы должно осуществляться следующими штатными средствами, входящими в комплект поставки программного обеспечения:
— СУБД — <указывается ПО администратора позволяющее проводить мониторинг>;
— ETL-средство — ..
— средство визуализации — …
Обязательно ведение журналов инцидентов в электронной форме, а также графиков и журналов проведения ППР.
Для всех технических компонентов необходимо обеспечить регулярный и постоянный контроль состояния и техническое обслуживание.
4.1.2. Требования к численности и квалификации персонала системы и режиму его работы
4.1.2.1. Требования к численности персонала
В состав персонала, необходимого для обеспечения эксплуатации КХД в рамках соответствующих подразделений Заказчика, необходимо выделение следующих ответственных лиц:
— Руководитель эксплуатирующего подразделения — 1 человек.
— Администратор подсистемы сбора, обработки и загрузки данных — 2 человека.
— Администратор подсистемы хранения данных — 2 человека.
— Администратор подсистемы формирования и визуализации отчетности — 1 человек.
Данные лица должны выполнять следующие функциональные обязанности.
— Руководитель эксплуатирующего подразделения — на всем протяжении функционирования КХД обеспечивает общее руководство группой сопровождения, …
— Администратор подсистемы сбора, обработки и загрузки данных — на всем протяжении функционирования КХД обеспечивает контроль процессов ETL, подготовку и загрузка данных из внешних источников в хранилище данных, …
— Администратор подсистемы хранения данных — на всем протяжении функционирования КХД обеспечивает распределение дискового пространства, модификацию структур БД, оптимизацию производительности, …
— Администратор подсистемы формирования и визуализации отчетности — на всем протяжении функционирования КХД обеспечивает поддержку пользователей, формирование отчетности, …
4.1.2.2. Требования к квалификации персонала
К квалификации персонала, эксплуатирующего Систему КХД, предъявляются следующие требования.
— Конечный пользователь — знание соответствующей предметной области; знание основ многомерного анализа; знания и навыки работы с аналитическими приложениями..
— Администратор подсистемы сбора, обработки и загрузки данных — знание методологии проектирования хранилищ данных; знание методологии проектирования ETL процедур; знание интерфейсов интеграции ХД с источниками данных; знание СУБД; знание языка запросов SQL.
— Администратор подсистемы хранения данных — глубокие знания СУБД; знание архитектуры «Звезда» и «Снежинка»; опыт администрирования СУБД; знание и навыки операций архивирования и восстановления данных; знание и навыки оптимизации работы СУБД.
— Администратор подсистемы формирования и визуализации отчетности — понимание принципов многомерного анализа; знание методологии проектирования хранилищ данных; знание и навыки администрирования приложения; знание языка запросов SQL; знание инструментов разработки.
4.1.2.3. Требования к режимам работы персонала
Персонал, работающий с Системой КХД и выполняющий функции её сопровождения и обслуживания, должен работать в следующих режимах:
— Конечный пользователь — в соответствии с основным рабочим графиком подразделений Заказчика.
— Администратор подсистемы сбора, обработки и загрузки данных – двухсменный график, поочередно.
— Администратор подсистемы хранения данных – двухсменный график, поочередно.
— Администратор подсистемы формирования и визуализации отчетности – в соответствии с основным рабочим графиком подразделений Заказчика.
4.1.3. Показатели назначения
4.1.3.1. Параметры, характеризующие степень соответствия системы назначению
Система должна обеспечивать следующие количественные показатели, которые характеризуют степень соответствия ее назначению:
— Количество измерений – X.
— Количество показателей – Y.
— Количество аналитических отчетов – Z.
4.1.3.2. Требования к приспособляемости системы к изменениям
Обеспечение приспособляемости системы должно выполняться за счет:
— своевременности администрирования;
— модернизации процессов сбора, обработки и загрузки данных в соответствии с новыми требованиями;
— модификации процедур доступа и представления данных конечным пользователям;
— наличия настроечных и конфигурационных файлов у ПО подсистем;
— …
4.1.3.3. Требования к сохранению работоспособности системы в различных вероятных условиях
В зависимости от различных вероятных условий система должна выполнять требования, приведенные в таблице.
Вероятное условие | Требование |
---|---|
Нарушения в работе системы внешнего электроснабжения серверного оборудования продолжительностью до 15 мин. | Функционирование в полном объеме. |
Выход из строя сервера подсистемы хранения данных | Уведомление администратора подсистемы хранения данных и администратора подсистемы сбора, обработки и загрузки данных |
… | … |
4.1.4. Требования к надежности
4.1.4.1. Состав показателей надежности для системы в целом
Например:
Уровень надежности должен достигаться согласованным применением организационных, организационно-технических мероприятий и программно-аппаратных средств.
Надежность должна обеспечиваться за счет:
— применения технических средств, системного и базового программного обеспечения, соответствующих классу решаемых задач;
— своевременного выполнения процессов администрирования Системы КХД;
— соблюдения правил эксплуатации и технического обслуживания программно-аппаратных средств;
— предварительного обучения пользователей и обслуживающего персонала.
Время устранения отказа должно быть следующим:
— при перерыве и выходе за установленные пределы параметров электропитания — не более X минут.
— при перерыве и выходе за установленные пределы параметров программного обеспечением — не более Y часов.
— при выходе из строя АПК ХД — не более Z часов.
Система должна соответствовать следующим параметрам:
— среднее время восстановления Q часов — определяется как сумма всех времен восстановления за заданный календарный период, поделенные на продолжительность этого периода;
— коэффициент готовности W — определяется как результат отношения средней наработки на отказ к сумме средней наработки на отказ и среднего времени восстановления;
— время наработки на отказ E часов — определяется как результат отношения суммарной наработки Системы к среднему числу отказов за время наработки.
Средняя наработка на отказ АПК не должна быть меньше G часов.
4.1.4.2. Перечень аварийных ситуаций, по которым регламентируются требования к надежности
Например:
Под аварийной ситуацией понимается аварийное завершение процесса, выполняемого той или иной подсистемой КХД, а также «зависание» этого процесса.
При работе системы возможны следующие аварийные ситуации, которые влияют на надежность работы системы:
— сбой в электроснабжении сервера;
— сбой в электроснабжении рабочей станции пользователей системы;
— сбой в электроснабжении обеспечения локальной сети (поломка сети);
— ошибки Системы КХД, не выявленные при отладке и испытании системы;
— сбои программного обеспечения сервера.
4.1.4.3. Требования к надежности технических средств и программного обеспечения
Например:
К надежности оборудования предъявляются следующие требования:
— в качестве аппаратных платформ должны использоваться средства с повышенной надежностью;
— применение технических средств соответствующих классу решаемых задач;
— аппаратно-программный комплекс Системы должен иметь возможность восстановления в случаях сбоев.
К надежности электроснабжения предъявляются следующие требования:
— с целью повышения отказоустойчивости системы в целом необходима обязательная комплектация серверов источником бесперебойного питания с возможностью автономной работы системы не менее X минут;
— система должны быть укомплектована подсистемой оповещения Администраторов о переходе на автономный режим работы;
— система должны быть укомплектована агентами автоматической остановки операционной системы в случае, если перебой электропитания превышает Y минут;
— должно быть обеспечено бесперебойное питание активного сетевого оборудования.
Надежность аппаратных и программных средств должна обеспечиваться за счет следующих организационных мероприятий:
— предварительного обучения пользователей и обслуживающего персонала;
— своевременного выполнения процессов администрирования;
— соблюдения правил эксплуатации и технического обслуживания программно-аппаратных средств;
— своевременное выполнение процедур резервного копирования данных.
Надежность программного обеспечения подсистем должна обеспечиваться за счет:
— надежности общесистемного ПО и ПО, разрабатываемого Разработчиком;
— проведением комплекса мероприятий отладки, поиска и исключения ошибок.
— ведением журналов системных сообщений и ошибок по подсистемам для последующего анализа и изменения конфигурации.
4.1.4.4. Требования к методам оценки и контроля показателей надежности на разных стадиях создания системы в соответствии с действующими нормативно-техническими документами.
Проверка выполнения требований по надежности должна производиться на этапе проектирования расчетным путем, а на этапах испытаний и эксплуатации — по методике Разработчика, согласованной с Заказчиком.
4.1.5. Требования к эргономике и технической эстетике
Например:
Подсистема формирования и визуализации отчетности данных должна обеспечивать удобный для конечного пользователя интерфейс, отвечающий следующим требованиям.
В части внешнего оформления:
— интерфейсы подсистем должен быть типизированы;
— должно быть обеспечено наличие локализованного (русскоязычного) интерфейса пользователя;
— должен использоваться шрифт: …
— размер шрифта должен быть: …
— цветовая палитра должна быть: …
— в шапке отчетов должен использоваться логотип Заказчика.
В части диалога с пользователем:
— для наиболее частых операций должны быть предусмотрены «горячие» клавиши;
— при возникновении ошибок в работе подсистемы на экран монитора должно выводиться сообщение с наименованием ошибки и с рекомендациями по её устранению на русском языке.
В части процедур ввода-вывода данных:
— должна быть возможность многомерного анализа данных в табличном и графическом видах.
К другим подсистемам предъявляются следующие требования к эргономике и технической эстетике.
В части внешнего оформления:
— интерфейсы по подсистемам должен быть типизированы.
В части диалога с пользователем:
— для наиболее частых операций должны быть предусмотрены «горячие» клавиши;
— при возникновении ошибок в работе подсистемы на экран монитора должно выводиться сообщение с наименованием ошибки и с рекомендациями по её устранению на русском языке.
В части процедур ввода-вывода данных:
— должна быть возможность получения отчетности по мониторингу работы подсистем.
4.1.6. Требования к эксплуатации, техническому обслуживанию, ремонту и хранению компонентов системы
Например:
Условия эксплуатации, а также виды и периодичность обслуживания технических средств Системы должны соответствовать требованиям по эксплуатации, техническому обслуживанию, ремонту и хранению, изложенным в документации завода-изготовителя (производителя) на них.
Технические средства Системы и персонал должны размещаться в существующих помещениях Заказчика, которые по климатическим условиям должны соответствовать ГОСТ 15150-69 «Машины, приборы и другие технические изделия. Исполнения для различных климатических районов. Категории, условия эксплуатации, хранения и транспортирования в части воздействия климатических факторов внешней среды» (температура окружающего воздуха от 5 до 40 °С, относительная влажность от 40 до 80 % при Т=25 °С, атмосферное давление от 630 до 800 мм ртутного столба). Размещение технических средств и организация автоматизированных рабочих мест должны быть выполнены в соответствии с требованиями ГОСТ 21958-76 «Система «Человек-машина». Зал и кабины операторов. Взаимное расположение рабочих мест. Общие эргономические требования».
Для электропитания технических средств должна быть предусмотрена трехфазная четырехпроводная сеть с глухо заземленной нейтралью 380/220 В (+10-15)% частотой 50 Гц (+1-1) Гц. Каждое техническое средство запитывается однофазным напряжением 220 В частотой 50 Гц через сетевые розетки с заземляющим контактом.
Для обеспечения выполнения требований по надежности должен быть создан комплект запасных изделий и приборов (ЗИП).
Состав, место и условия хранения ЗИП определяются на этапе технического проектирования.
4.1.7. Требования к защите информации от несанкционированного доступа
4.1.7.1. Требования к информационной безопасности
Например:
Обеспечение информационное безопасности Системы КХД должно удовлетворять следующим требованиям:
— Защита Системы должна обеспечиваться комплексом программно-технических средств и поддерживающих их организационных мер.
— Защита Системы должна обеспечиваться на всех технологических этапах обработки информации и во всех режимах функционирования, в том числе при проведении ремонтных и регламентных работ.
— Программно-технические средства защиты не должны существенно ухудшать основные функциональные характеристики Системы (надежность, быстродействие, возможность изменения конфигурации).
— Разграничение прав доступа пользователей и администраторов Системы должно строиться по принципу «что не разрешено, то запрещено».
— …
4.1.7.2. Требования к антивирусной защите
Например:
Средства антивирусной защиты должны быть установлены на всех рабочих местах пользователей и администраторов Системы КХД. Средства антивирусной защиты рабочих местах пользователей и администраторов должны обеспечивать:
— централизованное управление сканированием, удалением вирусов и протоколированием вирусной активности на рабочих местах пользователей;
— централизованную автоматическую инсталляцию клиентского ПО на рабочих местах пользователей и администраторов;
— централизованное автоматическое обновление вирусных сигнатур на рабочих местах пользователей и администраторов;
— ведение журналов вирусной активности;
— администрирование всех антивирусных продуктов.
4.1.7.3. Разграничения ответственности ролей при доступе к <указать объект ограничения (например, отчет, показатель, измерение)>
Требования по разграничению доступа приводятся в виде матрицы разграничения прав.
Матрица должна раскрывать следующую информацию:
— код ответственности: Ф — формирует, О – отвечает, И – использует и т.п.;
— наименование объекта системы, на который накладываются ограничения;
— роль сотрудника/единица организационной структуры, для которых накладываются ограничения.
4.1.8. Требования по сохранности информации при авариях
Приводится перечень событий: аварий, отказов технических средств (в том числе — потеря питания) и т. п., при которых должна быть обеспечена сохранность информации в системе.
В Системе должно быть обеспечено резервное копирование данных.
Выход из строя трех жестких дисков дискового массива не должен сказываться на работоспособности подсистемы хранения данных.
4.1.9. Требования к защите от влияния внешних воздействий
Приводятся требования к радиоэлектронной защите и требования по стойкости, устойчивости и прочности к внешним воздействиям применительно к программно-аппаратному окружению, на котором будет эксплуатироваться система.
Применительно к программно-аппаратному окружению Системы предъявляются следующие требования к защите от влияния внешних воздействий.
Требования к радиоэлектронной защите:
— электромагнитное излучение радиодиапазона, возникающее при работе электробытовых приборов, электрических машин и установок, приёмопередающих устройств, эксплуатируемых на месте размещения АПК Системы, не должны приводить к нарушениям работоспособности подсистем.
Требования по стойкости, устойчивости и прочности к внешним воздействиям:
— Система должна иметь возможность функционирования при колебаниях напряжения электропитания в пределах от 155 до 265 В (220 ± 20 % — 30 %);
— Система должна иметь возможность функционирования в диапазоне допустимых температур окружающей среды, установленных изготовителем аппаратных средств.
— Система должна иметь возможность функционирования в диапазоне допустимых значений влажности окружающей среды, установленных изготовителем аппаратных средств.
— Система должна иметь возможность функционирования в диапазоне допустимых значений вибраций, установленных изготовителем аппаратных средств.
4.1.10. Требования по стандартизации и унификации
В требования к стандартизации и унификации включают: показатели, устанавливающие требуемую степень использования стандартных, унифицированных методов реализации функций (задач) системы, поставляемых программных средств, типовых математических методов и моделей, типовых проектных решений, унифицированных форм управленческих документов, установленных ГОСТ 6.10.1, общесоюзных классификаторов технико-экономической информации и классификаторов других категорий в соответствии с областью их применения, требования к использованию типовых автоматизированных рабочих мест, компонентов и комплексов.
Разработка системы должна осуществляться с использованием стандартных методологий функционального моделирования: IDEF0, DFD и информационного моделирования IE и IDEF1Х в рамках рекомендаций по стандартизации Р50.1.028-2001 «Информационные технологии поддержки жизненного цикла продукции. Методология функционального моделирования».
Моделирование должно выполняться в рамках стандартов, поддерживаемых программными средствами моделирования ERWin 4.х и BPWin 4.х.
Для работы с БД должнен использоваться язык запросов SQL в рамках стандарта ANSI SQL-92.
Для разработки пользовательских интерфейсов и средств генерации отчетов (любых твердых копий) должны использоваться встроенные возможности ПО <указывается название BI приложения>, а также, в случае необходимости, языки программирования <указываются языки программирования и их версии>.
В системе должны использоваться (при необходимости) общероссийские классификаторы и единые классификаторы и словари для различных видов алфавитно-цифровой и текстовой информации.
4.1.11. Дополнительные требования
Приводятся требования к оснащению системы устройствами для обучения персонала (тренажерами, другими устройствами аналогичного назначения) и документацией на них.
Требования к сервисной аппаратуре, стендам для проверки элементов системы.
Требования к системе, связанные с особыми условиями эксплуатации.
Специальные требования по усмотрению разработчика или заказчика системы.
КХД должно разрабатываться и эксплуатироваться на уже имеющемся у Заказчика аппаратно-техническом комплексе.
Необходимо создать отдельные самостоятельные зоны разработки и тестирования системы КХД.
Для зоны разработки и тестирования должны использоваться те же программные средства, что и для зоны промышленной эксплуатации
4.1.12. Требования безопасности
В требования по безопасности включают требования по обеспечению безопасности при монтаже, наладке, эксплуатации, обслуживании и ремонте технических средств системы (защита от воздействий электрического тока, электромагнитных полей, акустических шумов и т. п.) по допустимым уровням освещенности, вибрационных и шумовых нагрузок.
При внедрении, эксплуатации и обслуживании технических средств системы должны выполняться меры электробезопасности в соответствии с «Правилами устройства электроустановок» и «Правилами техники безопасности при эксплуатации электроустановок потребителей».
Аппаратное обеспечение системы должно соответствовать требованиям пожарной безопасности в производственных помещениях по ГОСТ 12.1.004-91. «ССБТ. Пожарная безопасность. Общие требования».
Должно быть обеспечено соблюдение общих требований безопасности в соответствии с ГОСТ 12.2.003-91. «ССБТ. Оборудование производственное. Общие требования безопасности» при обслуживании системы в процессе эксплуатации.
Аппаратная часть системы должна быть заземлена в соответствии с требованиями ГОСТ Р 50571.22-2000. «Электроустановки зданий. Часть 7. Требования к специальным электроустановкам. Раздел 707. Заземление оборудования обработки информации».
Значения эквивалентного уровня акустического шума, создаваемого аппаратурой системы, должно соответствовать ГОСТ 21552-84 «Средства вычислительной техники. Общие технические требования, приемка, методы испытаний, маркировка, упаковка, транспортирование и хранение», но не превышать следующих величин:
— 50 дБ — при работе технологического оборудования и средств вычислительной техники без печатающего устройства;
— 60 дБ — при работе технологического оборудования и средств вычислительной техники с печатающим устройством.
4.1.13. Требования к транспортабельности для подвижных АИС
КСА системы являются стационарными и после монтажа и проведения пуско-наладочных работ транспортировке не подлежат.
4.2. Требования к функциям, выполняемым системой
В данном подразделе приводят:
1) по каждой подсистеме перечень функций, задач или их комплексов (в том числе обеспечивающих взаимодействие частей системы), подлежащих автоматизации;
при создании системы в две или более очереди — перечень функциональных подсистем, отдельных функций или задач, вводимых в действие в 1-й и последующих очередях;
2) временной регламент реализации каждой функции, задачи (или комплекса задач);
3) требования к качеству реализации каждой функции (задачи или комплекса задач), форме представления выходной информации, характеристики необходимой точности и времени выполнения, требования к одновременности выполнения групп функций, достоверности выдачи результатов;
4) перечень и критерии отказов для каждой функции, по которой задаются требования по надежности.
4.2.1. Подсистема сбора, обработки и загрузки данных
4.2.1.1 Перечень функций, задач подлежащей автоматизации
Функция | Задача |
---|---|
Управляет процессами сбора, обработки и загрузки данных | Создание, редактирование и удаление процессов сбора, обработки и загрузки данных |
Формирование последовательности выполнения процессов сбора, обработки и загрузки данных (регламентов загрузки данных) | |
Определение и изменение расписания процессов сбора, обработки и загрузки данных | |
Выполнение процессов сбора, обработки и загрузки данных из источников в ХД | Запуск процедур сбора данных из систем источников, загрузка данных в область временного, постоянного хранения |
Обработка и преобразование извлечённых данных | |
Поддержка медленно меняющихся измерений | |
Протоколирует результаты сбора, обработки и загрузки данных | Ведение журналов результатов сбора, обработки и загрузки данных |
Оперативное извещение пользователей о всех нештатных ситуациях в процессе работы подсистемы |
4.2.1.2 Временной регламент реализации каждой функции, задачи
Задача | Требования к временному регламенту |
---|---|
Создание, редактирование и удаление процессов сбора, обработки и загрузки данных | Весь период функционирования системы, при возникновении необходимости изменения процессов сбора, обработки и загрузки данных |
Формирование последовательности выполнения процессов сбора, обработки и загрузки данных (регламентов загрузки данных) | Весь период функционирования системы, при возникновении необходимости модификации регламента загрузки данных |
Определение и изменение расписания процессов сбора, обработки и загрузки данных | Весь период функционирования системы, при возникновении необходимости изменения расписания процессов |
Запуск процедур сбора данных из систем источников, загрузка данных в область временного, постоянного хранения | После готовности данных в системах источниках, ежедневно во временном интервале 00:00 – 03:00 |
Обработка и преобразование извлечённых данных | Ежедневно, после появления всех извлечённых данных во временном интервале 00:00 – 06:00 |
Поддержка медленно меняющихся измерений | Регулярно, при работе подсистемы для измерений соответствующего типа |
Ведение журналов результатов сбора, обработки и загрузки данных | Регулярно, при работе подсистемы |
Оперативное извещение пользователей о всех нештатных ситуациях в процессе работы подсистемы | Регулярно, при возникновении нештатной ситуации в процессе работы подсистемы |
4.2.1.3 Требования к качеству реализации функций, задач
Задача | Форма представления выходной информации | Характеристики точности и времени выполнения |
---|---|---|
Создание, редактирование и удаление процессов сбора, обработки и загрузки данных | В стандарте интерфейса ETL средства | Определяется регламентом эксплуатации |
Формирование последовательности выполнения процессов сбора, обработки и загрузки данных (регламентов загрузки данных) | В стандарте интерфейса ETL средства | Определяется регламентом эксплуатации |
Определение и изменение расписания процессов сбора, обработки и загрузки данных | В стандарте интерфейса ETL средства | Определяется регламентом эксплуатации |
Запуск процедур сбора данных из систем источников, загрузка данных в область временного, постоянного хранения | Текстовый файл | Запуск должен производится точно по установленному расписанию |
Обработка и преобразование извлечённых данных | Текстовый файл. Данные в структурах БД | Данные должны быть преобразованы для загрузки в структуры модели ХД.Не более 2 часов |
Поддержка медленно меняющихся измерений | Данные в структурах БД | Данные должны быть сохранены по правилам поддержки медленно меняющихся измерений соответствующего типа |
Ведение журналов результатов сбора, обработки и загрузки данных | Текстовые файлы | В момент выполнения сбора, обработки и загрузки данных |
Оперативное извещение пользователей о всех нештатных ситуациях в процессе работы подсистемы | Текстовый файл, оконное сообщение, email | Не позднее 15 минут после возникновения нештатной ситуации |
4.2.1.4 Перечень критериев отказа для каждой функции
Функция | Критерии отказа | Время восстановления | Коэффициент готовности |
---|---|---|---|
Управляет процессами сбора, обработки и загрузки данных | Не выполняется одна из задач: <перечисляются задачи, в случае не выполнения которых не выполняется функция:> | 8 часов | 0.85 |
Запускает процессы сбора, обработки и загрузки данных из источников в ХД | Не выполняется одна из задач функции. | 12 часов | 0.75 |
Протоколирует результаты сбора, обработки и загрузки данных | Не выполняется одна из задач функции. | 12 часов | 0.75 |
Аналогично для каждой подсистемы, определенной в пункте «6.1.1 Требования к структуре и функционированию системы» настоящего технического задания.
4.3. Требования к видам обеспечения
4.3.1 Требования к математическому обеспечению
Для математического обеспечения системы приводятся требования к составу, области применения (ограничения) и способам использования в системе математических методов и моделей, типовых алгоритмов и алгоритмов, подлежащих разработке.
Не предъявляются.
4.3.2. Требования к информационному обеспечению
Приводятся требования:
1) к составу, структуре и способам организации данных в системе;
2) к информационному обмену между компонентами системы;
3) к информационной совместимости со смежными системами;
4) по использованию общесоюзных и зарегистрированных республиканских, отраслевых классификаторов, унифицированных документов и классификаторов, действующих на данном предприятии;
5) по применению систем управления базами данных;
6) к структуре процесса сбора, обработки, передачи данных в системе и представлению данных;
7) к защите данных от разрушений при авариях и сбоях в электропитании системы;
к контролю, хранению, обновлению и восстановлению данных;
9) к процедуре придания юридической силы документам, продуцируемым техническими средствами АС (в соответствии с ГОСТ 6.10.4).
4.3.2.1. Требования к составу, структуре и способам организации данных в системе
Структура хранения данных в КХД должна состоять из следующих основных областей:
— область временного хранения данных;
— область постоянного хранения данных;
— область витрин данных.
Области постоянного хранения и витрин данных должны строиться на основе многомерной модели данных, подразумевающей выделение отдельных измерений и фактов с их анализом по выбранным измерениям.
Многомерная модель данных физически должна быть реализована в реляционной СУБД по схеме «звезда» и/или «снежинка».
4.3.2.2. Требования к информационному обмену между компонентами системы
Информационный обмен между компонентами системы КХД должен быть реализован следующим образом:
Подсистема сбора, обработки и загрузки данных | Подсистема хранения данных | Подсистема формирования и визуализации отчетности | |
Подсистема сбора, обработки и загрузки данных | X | ||
Подсистема хранения данных | X | X | |
Подсистема формирования и визуализации отчетности | X |
4.3.2.3. Требования к информационной совместимости со смежными системами
Состав данных для осуществления информационного обмена по каждой смежной системе должен быть определен Разработчиком на стадии «Проектирование. Разработка эскизного проекта. Разработка технического проекта» совместно с полномочными представителями Заказчика.
Система не должна быть закрытой для смежных систем и должна поддерживать возможность экспорта данных в смежные системы через интерфейсные таблицы или файлы данных.
Система должна обеспечить возможность загрузки данных, получаемых от смежной системы.
4.3.2.4. Требования по использованию классификаторов, унифицированных документов и классификаторов
Система, по возможности, должна использовать классификаторы и справочники, которые ведутся в системах-источниках данных.
Основные классификаторы и справочники в системе (клиенты, абоненты, бухгалтерские статьи и т.д.) должны быть едиными.
Значения классификаторов и справочников, отсутствующие в системах-источниках, но необходимые для анализа данных, необходимо поддерживать в специально разработанных файлах или репозитории базы данных.
4.3.2.5. Требования по применению систем управления базами данных
Для реализации подсистемы хранения данных должна использоваться промышленная СУБД <указывается название и версия СУБД>.
4.3.2.6. Требования к структуре процесса сбора, обработки, передачи данных в системе и представлению данных
Процесс сбора, обработки и передачи данных в системе определяется регламентом процессов сбора, преобразования и загрузки данных, разрабатываемом на этапе «Проектирование. Разработка эскизного проекта. Разработка технического проекта».
4.3.2.7. Требования к защите данных от разрушений при авариях и сбоях в электропитании системы
Информация в базе данных системы должна сохраняться при возникновении аварийных ситуаций, связанных со сбоями электропитания.
Система должна иметь бесперебойное электропитание, обеспечивающее её нормальное функционирование в течение 15 минут в случае отсутствия внешнего энергоснабжения, и 5 минут дополнительно для корректного завершения всех процессов.
Резервное копирование данных должно осуществляться на регулярной основе, в объёмах, достаточных для восстановления информации в подсистеме хранения данных.
4.3.2.8. Требования к контролю, хранению, обновлению и восстановлению данных
К контролю данных предъявляются следующие требования:
— система должна протоколировать все события, связанные с изменением своего информационного наполнения, и иметь возможность в случае сбоя в работе восстанавливать свое состояние, используя ранее запротоколированные изменения данных.
К хранению данных предъявляются следующие требования:
— хранение исторических данных в системе должно производиться не более чем за 5 (пять) предыдущих лет. По истечению данного срока данные должны переходить в архив;
— исторические данные, превышающие пятилетний порог, должны храниться на ленточном массиве с возможностью их восстановления.
К обновлению и восстановлению данных предъявляются следующие требования:
— для сервера сбора, обработки и загрузки данных необходимо обеспечить резервное копирование его бинарных файлов (Home) раз в 2 недели и хранение копии на протяжении 2-х месяцев;
— для сервера базы данных необходимо обеспечить резервное копирование его бинарных файлов раз в 2 недели и хранение копии на протяжении 2-х месяцев;
— для данных хранилища данных необходимо обеспечить резервное копирование и архивацию на ленточный массив в следующие промежутки времени:
-холодная копия — ежеквартально;
-логическая копия — ежемесячно (конец месяца);
-инкрементальное резервное копирование — еженедельно (воскресение);
-архивирование — ежеквартально;
4.3.2.9. Требования к процедуре придания юридической силы документам, продуцируемым техническими средствами системы
Требования не предъявляются.
4.3.3. Требования к лингвистическому обеспечению
Для лингвистического обеспечения системы приводятся требования к применению в системе языков программирования высокого уровня, языков взаимодействия пользователей и технических средств системы, а также требования к кодированию и декодированию данных, к языкам ввода-вывода данных, языкам манипулирования данными, средствам описания предметной области (объекта автоматизации), к способам организации диалога.
При реализации системы должны применяться следующие языки высокого уровня: SQL, Java и д.р.
При реализации системы должны применяться следующие языки и стандарты взаимодействия КХД со смежными системами и пользователей с КХД: должны использоваться встроенные средства диалогового взаимодействия BI приложения; Java; Java Script; HTML; др.
Должны выполняться следующие требования к кодированию и декодированию данных: Windows CP1251 для подсистемы хранения данных; Windows CP1251 информации, поступающей из систем-источников.
Для реализации алгоритмов манипулирования данными в ХД необходимо использовать стандартный язык запроса к данным SQL и его процедурное расширение <например для Oracle DB это Oracle PL/SQL>.
Для описания предметной области (объекта автоматизации) должен использоваться Erwin.
Для организации диалога системы с пользователем должен применяться графический оконный пользовательский интерфейс.
4.3.4. Требования к программному обеспечению
Для программного обеспечения системы приводят перечень покупных программных средств, а также требования:
к независимости программных средств от используемых СВТ и операционной среды;
к качеству программных средств, а также к способам его обеспечения и контроля;
по необходимости согласования вновь разрабатываемых программных средств с фондом алгоритмов и программ.
Перечень покупных программных средств:
— указывается название СУБД;
— указывается название ETL-средства;
— указывается название BI-приложения.
СУБД должна иметь возможность установки на ОС HP Unix.
ETL-средство должно иметь возможность установки на ОС HP Unix.
BI-приложение должно иметь возможность установки на ОС Linux Suse.
К обеспечению качества ПС предъявляются следующие требования:
— функциональность должна обеспечиваться выполнением подсистемами всех их функций.
— надежность должна обеспечиваться за счет предупреждения ошибок — не допущения ошибок в готовых ПС;
— легкость применения должна обеспечиваться за счет применения покупных программных средств;
— эффективность должна обеспечиваться за счет принятия подходящих, верных решений на разных этапах разработки ПС и системы в целом;
— сопровождаемость должна обеспечиваться за счет высокого качества документации по сопровождению, а также за счет использования в программном тексте описания объектов и комментариев; использованием осмысленных (мнемонических) и устойчиво различимых имен объектов; размещением не больше одного оператора в строке текста программы; избеганием создания фрагментов текстов программ с неочевидным или скрытым смыслом.
— также на каждом этапе в разработке ПС должна проводится проверка правильности принятых решений по разработке и применению готовых ПС.
Необходимость согласования вновь разрабатываемых программных средств с фондом алгоритмов и программ отсутствует.
4.3.5. Требования к техническому обеспечению
Приводятся требования:
1) к видам технических средств, в том числе к видам комплексов технических средств, программно-технических комплексов и других комплектующих изделий, допустимых к использованию в системе;
2) к функциональным, конструктивным и эксплуатационным характеристикам средств технического обеспечения системы.
Система должна быть реализована с использованием специально выделенных серверов Заказчика.
Сервер базы данных должен быть развернут на HP9000 SuperDome №1, минимальная конфигурация которого должна быть: CPU: 16 (32 core); RAM: 128 Gb; HDD: 500 Gb; Network Card: 2 (2 Gbit); Fiber Channel: 4.
Сервер сбора, обработки и загрузки данных должен быть развернут на HP9000 SuperDome №2, минимальная конфигурация которого должна быть:
CPU: 8 (16 core); RAM: 32 Gb; HDD: 100 Gb; Network Card: 2 (1 Gbit); Fiber Channel: 2.
Сервер приложений должен быть развернут на платформе HP Integrity, минимальная конфигурация которого должна быть: CPU: 6 (12 core); RAM: 64 Gb; HDD: 300 Gb; Network Card: 3 (1 Gbit).
Приведенные сервера должны быть подключены к дисковому массиву HP XP с организацией сети хранения данных. Минимальный объем свободного пространства для хранения данных на дисковом массиве должен составлять 100 Тб.
4.3.6. Требования к метрологическому обеспечению
В требованиях к метрологическому обеспечению приводят:
1) предварительный перечень измерительных каналов;
2) требования к точности измерений параметров и (или) к метрологическим характеристикам измерительных каналов;
3) требования к метрологической совместимости технических средств системы;
4) перечень управляющих и вычислительных каналов системы, для которых необходимо оценивать точностные характеристики;
5) требования к метрологическому обеспечению технических и программных средств, входящих в состав измерительных каналов системы, средств встроенного контроля, метрологической пригодности измерительных каналов и средств измерений, используемых при наладке и испытаниях системы;
6) вид метрологической аттестации (государственная или ведомственная) с указанием порядка ее выполнения и организаций, проводящих аттестацию.
Не предъявляются.
4.3.7. Требования к организационному обеспечению
Приводятся:
1) требования к структуре и функциям подразделений, участвующих в функционировании системы или обеспечивающих эксплуатацию.
2) требования к организации функционирования системы и порядку взаимодействия персонала АС и персонала объекта автоматизации.
3) требования к защите от ошибочных действий персонала системы.
Основными пользователями системы КХД являются сотрудники функционального (например, сотрудники аналитического отдела) подразделения Заказчика.
Обеспечивает эксплуатацию Системы подразделение информационных технологий Заказчика.
Состав сотрудников каждого из подразделений определяется штатным расписанием Заказчика, которое, в случае необходимости, может изменяться.
К организации функционирования Системы КХД и порядку взаимодействия персонала, обеспечивающего эксплуатацию, и пользователей предъявляются следующие требования:
— в случае возникновения со стороны функционального подразделения необходимости изменения функциональности системы КХД, пользователи должны действовать следующим образом <описать, что должны делать пользователи (кому писать, звонить, идти) в случае необходимости доработки системы>;
— подразделение, обеспечивающее эксплуатацию системы, должно заранее (не менее чем за 3 дня) информировать всех пользователей (с указанием точного времени и продолжительности) о переходе её в профилактический режим.
К защите от ошибочных действий персонала предъявляются следующие требования:
— должна быть предусмотрена система подтверждения легитимности пользователя при просмотре данных;
— для всех пользователей должна быть запрещена возможность удаления преднастроенных объектов и отчетности;
— для снижения ошибочных действий пользователей должно быть разработано полное и доступное руководство пользователя.
4.3.8. Требования к методическому обеспечению
Приводятся требования к составу нормативно-технической документации системы (перечень применяемых при ее функционировании стандартов, нормативов, методик и т. п.).
Приводятся название методик, инструкций и ссылки на них для ПО и АПК каждой из подсистем.
4.3.9. Требования к патентной чистоте
В требованиях по патентной чистоте указывают перечень стран, в отношении которых должна быть обеспечена патентная чистота системы и ее частей.
По всем техническим и программным средствам, применяемым в системе, должны соблюдаться условия лицензионных соглашений и обеспечиваться патентная чистота.
Патентная чистота – это юридическое свойство объекта, заключающиеся в том, что он может быть свободно использован в данной стране без опасности нарушения действующих на ее территории патентов исключительного права, принадлежащего третьим лицам (права промышленной собственности).
5. Состав и содержание работ по созданию системы
Данный раздел должен содержать перечень стадий и этапов работ по созданию системы в соответствии с ГОСТ 24.601, сроки их выполнения, перечень организаций — исполнителей работ, ссылки на документы, подтверждающие согласие этих организаций на участие в создании системы, или запись, определяющую ответственного (заказчик или разработчик) за проведение этих работ.
Работы по созданию системы выполняются в три этапа:
Проектирование. Разработка эскизного проекта. Разработка технического проекта (продолжительность — X месяца).
Разработка рабочей документации. Адаптация программ (продолжительность — Y месяцев).
Ввод в действие (продолжительность — Z месяца).
Конкретные сроки выполнения стадий и этапов разработки и создания Системы определяются Планом выполнения работ, являющимся неотъемлемой частью Договора на выполнение работ по настоящему Частному техническому заданию.
Перечень организаций — исполнителей работ, определение ответственных за проведение этих работ организаций определяются Договором.
Возможно приведение таблицы, в которой будут укрупненно описываться работы по каждому этапу, выходные результаты, участие Разработчика и ответственность Заказчика.
6. Порядок контроля и приёмки системы
В разделе указывают:
1) виды, состав, объем и методы испытаний системы и ее составных частей (виды испытаний в соответствии с действующими нормами, распространяющимися на разрабатываемую систему);
2) общие требования к приемке работ по стадиям (перечень участвующих предприятий и организаций, место и сроки проведения), порядок согласования и утверждения приемочной документации;
З) статус приемочной комиссии (государственная, межведомственная, ведомственная).
6.1. Виды и объем испытаний системы
Система подвергается испытаниям следующих видов:
1. Предварительные испытания.
2. Опытная эксплуатация.
3. Приемочные испытания.
Состав, объем и методы предварительных испытаний системы определяются документом «Программа и методика испытаний», разрабатываемым на стадии «Рабочая документация».
Состав, объем и методы опытной эксплуатации системы определяются документом «Программа опытной эксплуатации», разрабатываемым на стадии «Ввод в действие».
Состав, объем и методы приемочных испытаний системы определяются документом «Программа и методика испытаний», разрабатываемым на стадии «Ввод в действие» с учетом результатов проведения предварительных испытаний и опытной эксплуатации.
6.2. Требования к приемке работ по стадиям
Требования к приемке работ по стадиям приведены в таблице.
Стадия испытаний | Участники испытаний | Место и срок проведения | Порядок согласования документации | Статус приемочной комиссии |
---|---|---|---|---|
Предварительные испытания | Организации Заказчика и Разработчика | На территории Заказчика, с dd.mm.yyyy по dd.mm.yyyy |
Проведение предварительных испытаний. Фиксирование выявленных неполадок в Протоколе испытаний. Устранение выявленных неполадок. Проверка устранения выявленных неполадок. Принятие решения о возможности передачи АИС в опытную эксплуатацию. Составление и подписание Акта приёмки АИС в опытную эксплуатацию. |
Экспертная группа |
Опытная эксплуатация | Организации Заказчика и Разработчика | На территории Заказчика, с dd.mm.yyyy по dd.mm.yyyy |
Проведение опытной эксплуатации. Фиксирование выявленных неполадок в Протоколе испытаний. Устранение выявленных неполадок. Проверка устранения выявленных неполадок. Принятие решения о готовности АИС к приемочным испытаниям. Составление и подписание Акта о завершении опытной эксплуатации АИС. |
Группа тестирования |
Приемочные испытания | Организации Заказчика и Разработчика | На территории Заказчика, с dd.mm.yyyy по dd.mm.yyyy |
Проведение приемочных испытаний. Фиксирование выявленных неполадок в Протоколе испытаний. Устранение выявленных неполадок. Проверка устранения выявленных неполадок. Принятие решения о возможности передачи АИС в промышленную эксплуатацию. Составление и подписание Акта о завершении приемочных испытаний и передаче АИС в промышленную эксплуатацию. Оформление Акта завершения работ. |
Приемочная комиссия |
7. Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие
В разделе необходимо привести перечень основных мероприятий, которые следует выполнить при подготовке объекта автоматизации к вводу Системы в действие, а также их исполнителей.
В перечень основных мероприятий включают:
1) приведение поступающей в систему информации (в соответствии с требованиями к информационному и лингвистическому обеспечению) к виду, пригодному для обработки с помощью ЭВМ;
2) изменения, которые необходимо осуществить в объекте автоматизации;
3) создание условий функционирования объекта автоматизации, при которых гарантируется соответствие создаваемой системы требованиям, содержащимся в ТЗ;
4) создание необходимых для функционирования системы подразделений и служб;
5) сроки и порядок комплектования штата и обучения персонала.
Для создания условий функционирования КХД, при которых гарантируется соответствие создаваемой системы требованиям, содержащимся в настоящем техническом задании, и возможность эффективного её использования, в организации Заказчика должен быть проведен комплекс мероприятий.
7.1. Технические мероприятия
Силами Заказчика в срок до начала этапа «Разработка рабочей документации. Адаптация программ» должны быть выполнены следующие работы:
— осуществлена подготовка помещения для размещения АТК системы в соответствии с требованиями, приведенными в настоящем техническом задании;
— осуществлена закупка и установка необходимого АТК;
— организавано необходимое сетевое взаимодействие.
7.2. Организационные мероприятия
Силами Заказчика в срок до начала этапа работ «Разработка рабочей документации. Адаптация программ» должны быть решены организационные вопросы по взаимодействию с системами-источниками данных. К данным организационным вопросам относятся:
— организация доступа к базам данных источников;
— определение регламента информирования об изменениях структур систем-источников;
— выделение ответственных специалистов со стороны Заказчика для взаимодействия с проектной командой по вопросам взаимодействия с системами-источниками данных.
7.3. Изменения в информационном обеспечении
Для организации информационного обеспечения системы должен быть разработан и утвержден регламент подготовки и публикации данных из систем-источников.
Перечень регламентов может быть изменен на стадии «Разработка рабочей документации. Адаптация программ».
8. Требования к документированию
В данном разделе приводят:
1) согласованный Разработчиком и Заказчиком перечень подлежащих разработке комплектов и видов документов, соответствующих требованиям ГОСТ 34.201-89 и НТД отрасли Заказчика;
перечень документов, выпускаемых на машинных носителях;
требования к микрофильмированию документации;
2) требования по документированию комплектующих элементов межотраслевого применения в соответствии с требованиями ЕСКД и ЕСПД;
3) при отсутствии государственных стандартов, определяющих требования к документированию элементов системы, дополнительно включают требования к составу и содержанию таких документов.
9. Источники разработки
Перечисляются документы и информационные материалы (технико-экономическое обоснование, отчеты о законченных научно-исследовательских работах, информационные материалы на отечественные, зарубежные системы-аналоги и др.), на основании которых разрабатывалось ТЗ и которые должны быть использованы при создании системы.
Настоящее Техническое Задание разработано на основе следующих документов и информационных материалов:
— Договор № … от … между …
— ГОСТ 24.701-86 «Надежность автоматизированных систем управления».
— ГОСТ 15150-69 «Машины, приборы и другие технические изделия. Исполнения для различных климатических районов. Категории, условия эксплуатации, хранения и транспортирования в части воздействия климатических факторов внешней среды».
— ГОСТ 21958-76 «Система «Человек-машина». Зал и кабины операторов. Взаимное расположение рабочих мест. Общие эргономические требования».
— ГОСТ 12.1.004-91 «ССБТ. Пожарная безопасность. Общие требования».
— ГОСТ Р 50571.22-2000 «Электроустановки зданий».
— и т.д.
Нередко слышишь мнение, что составление Технического задания по ГОСТ 34 (ТЗ) занятие не только трудоемкое, но и крайне раздражающее, поскольку приходится писать много всякой ерунды, воды. Но подумайте: разработкой этого ГОСТа занимались целые НИИ, это был проект на государственном уровне, обобщен опыт сотен проектов автоматизации, сложных проектов. Неужели они могли написать чушь?
На самом деле, при грамотном подходе ГОСТ очень сильно помогает не только при разработке ТЗ, но и в ходе реализации проекта автоматизации в целом (и не только в госконтрактах, но и для коммерческой разработки). Грамотные люди его писали. Но чтобы воспользоваться плодами их трудов, нужно немного понять замысел не только ТЗ, но и ГОСТ 34 в целом.
В данной статье мы пункт за пунктом разберем все требования ГОСТа и попробуем сделать разработку ТЗ по ГОСТ 34 не обременением, а большой помощью в проекте.
1. О чем статья
Нередко слышишь мнение, что составление Технического задания по ГОСТ 34 (ТЗ) занятие не только трудоемкое, но и крайне раздражающее, поскольку приходится писать много всякой ерунды, воды. Но подумайте: разработкой этого ГОСТа занимались целые НИИ, это был проект на государственном уровне, обобщению подвергся опыт сотен проектов автоматизации, сложных проектов. Неужели они могли написать чушь?
На самом деле, при грамотном подходе ГОСТ очень сильно помогает не только при разработке ТЗ, но в ходе реализации проекта автоматизации в целом (и не только в госконтрактах, но и для коммерческой разработки). Грамотные люди его писали. Но чтобы воспользоваться плодами их трудов, нужно немного понять замысел не только ТЗ, но и ГОСТ 34 в целом.
Кстати, ТЗ — это не первый документ, который разрабатывается в ходе проекта автоматизации. Об этом прямо говорится в пункте 1.5. ГОСТ 34.602-89: «ТЗ на АС разрабатывают на основании исходных данных, в том числе содержащихся в итоговой документации стадии “Исследование и обоснование создания АС”». Подробнее см. в моей статье
Предпроектное обследования при разработке информационной системы
.
ВНИМАНИЕ: ЦЕЛЬ ЭТОЙ СТАТЬИ — НЕ ЗАМЕНИТЬ ГОСТ, А РАЗЪЯСНИТЬ НЕКОТОРЫЕ ЕГО ПОЛОЖЕНИЯ.
2. Характерные особенности Технического задания по ГОСТ 34
2.1. По какому стандарту составляется ТЗ?
Полное наименование стандарта на ТЗ по ГОСТ 34 следующее: ГОСТ 34.602-89 «Информационная технология (ИТ). Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы».
Сам стандарт напечатан всего на 15-и страницах (да-да, совсем немного). Язык — русский, реально русский, а не положенный на кириллицу инопланетный. То есть, если не вбивать себе заранее в голову, что ни тексты ГОСТов, ни федеральных законов, ни диссертаций не доступны для понимания простому смертному, то прочитать и вникнуть вполне возможно, хотя зачастую и не с первого раза.
Действительно, в стандарте используется много непонятных терминов. Что, например, имеется в виду под лингвистическим обеспечением? Для прояснения использующихся понятий следует обратиться к ГОСТ 34.003-90 «Информационная технология (ИТ). Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Термины и определения».
2.2. Зачем нужен ГОСТ на Техническое задание?
Наверное, когда вам нужно составить какой-то новый для вас документ, вы ищете в Интернете шаблон такого документа или просите его у коллег. Так вот, ЛЮБОЙ стандарт на документы или процессы — это шаблон. Причем шаблон очень сильно упрощает разработку документа: за тебя уже продумали структуру и содержание, кроме того, в таком шаблоне учитываются такие моменты, про которые вы бы и не вспомнили.
2.3. Какую роль Техническое задание занимает в проекте?
Согласно пункту 1.7 стандарта РД 50-682-89, «техническое задание является основным документом, в соответствии с которым проводят создание АС и приемку его заказчиком». И это действительно главный документ. В нем должно описываться все, что необходимо для разработки и внедрения системы.
ТЗ устанавливает общий облик системы, объем работ (рамки разработки), а также порядок разработки и приемки. Все с ТЗ начинается и все им заканчивается. Этот документ идеально подходит для того, чтобы ваш заказчик понял всю важность и сложность задачи и за что он платит деньги.
Причем ТЗ составляется как для исполнителя, так и заказчика, поскольку проект автоматизации проводят команды с обеих сторон. В любом ИТ-проекте имеется огромное количество организационных мероприятий, выполнение которых без активнейшего участия заказчика невозможно. Объясняйте это заказчикам при каждом удобном случае, иначе у них складывается впечатление, что они должны только заплатить деньги и сидеть ровно: все сделают нанятые ребята. А потом проект терпит фиаско и начинаются разборки. В общем, без реальной команды с той стороны не стоит и начинать проект.
Не составляйте ТЗ формально. Если вы не знаете, что писать, значит ТЗ разрабатывать еще рано, у вас нет понимания системы, еще не понятен сам автоматизируемый процесс, объект автоматизации. Вам следует составить
Концепцию системы
, об этом мы говорили в самом начале статьи.
2.4. Насколько ГОСТ 34.602-89 устарел и есть ли более новые стандарты?
Ни насколько не устарел. Мне почти не удалось найти каких-то неактульных вещей. И никто из тех, кто заявляет об устаревании ГОСТ 34, не могут привести ни одного примера (наверное, просто не хватило квалификации для его прочтения?) Дело в том, что ГОСТ описывает общий подход к проекту автоматизации, там не идет речь о программировании, ГОСТ 34 не об этом.
Ну а если говорить о сравнении с другими стандартами, то сравнивать-то особо и не с чем. ГОСТ 34 представляет настолько широкий взгляд на проект автоматизации, что остальные стандарты в подметки не годятся (на мой взгляд). Да, они проще (поэтому и популярнее), но и глубина не та. Вот список стандартов, с которыми стоило бы ознакомиться при разработке собственных стандартов для проекта автоматизации:
- IEEE 830-1998. Методика составления спецификаций требований к программному обеспечению.
- ГОСТ Р ИСО/МЭК 12207-2010. Информационная технология. Системная и программная инженерия. Процессы жизненного цикла программных средств.
- ISO/IEC/IEEE 29148-2011. Systems and software engineering — Life cycle processes — Requirements engineering.
- ГОСТ Р 54869-2011. Проектный менеджмент. Требования к управлению проектом.
- Ну и ГОСТы серии 34.
3. Общие принципы составления ТЗ по ГОСТ 34
3.1. Какой специалист должен составлять Техническое задание по ГОСТ 34?
Часто разработчики сильно ругаются при составлении ТЗ по ГОСТ 34. Почему? Да потому что это не дело программистов. Техническое задание по ГОСТ 34 вообще можно программистам не показывать. Для этого существуют документы технического проекта. Техническое задание — это документ, который согласовывается с заказчиком, который постоянно на столе у руководителя проекта. ТЗ отвечает на два вопроса: ЧТО должна делать система, и КАК она должна создаваться. Технический же проект отвечает на вопрос: КАК должны быть выполнены требования ТЗ. Например, в ТЗ вы прописываете, что должна быть авторизация по логину и паролю, а в ТП приводите макеты интерфейса, сценарии, структуру базы данных. Почему существует деление на разные этапы и почему не следует сразу делать задание для программистов, смотрите в моих статьях
Секреты удачного проектирования ИС (информационной системы) на примере строительства больницы
и
Предпроектное обследования при разработке информационной системы
.
Техническое задание должен составлять бизнес-аналитик, потому что он является «переводчиком» между заказчиком и командой разработки. Задача бизнес-аналитика — разобраться в том, что нужно заказчику и выразить это так, чтобы было понятно команде. И выразить это в виде технического задания. Причем от бизнес-аналитика требуется не просто выслушать заказчика и его сотрудников, а узнать то, о чем они не сказали (а такого обычно более 50%). Поэтому аналитик должен хорошо знать автоматизируемые процессы и за счет своего знания заполнять пробелы, которые остались по результатам обследования.
3.2. Какая сторона должна составлять Техническое задание?
В основном Техническое задание составляется исполнителем? Почему?
Не только потому что так рекомендуется в Приложении 1 к ГОСТ 34-602-89. На самом деле, у заказчика, как правило, отсутствуют соответствующие специалисты. Но ТЗ в обязательном порядке прорабатывается и согласовывается заказчиком. И вот здесь нужно обязательно добиться того, чтобы согласование не было формальным. Я всегда стараюсь настоять на том, чтобы мы вместе с заказчиком подробно разобрали каждый пункт. Ваша цель — вовлечь заказчика в проект. Иначе он так и не сформирует свои ожидания от системы, а значит, во-первых, будет недоволен любым результатом, а, во-вторых, не сможет провести необходимые организационные мероприятия.
3.3. Насколько далеко можно отходить от ГОСТ 34?
У любого шаблона также имеется и существенный недостаток, — это ведь шаблон. То есть шаг вправо-влево, — высшая мера социальной защиты (так раньше называли смертную казнь).
На самом деле, все не так. Любой процессный стандарт (то есть стандарт не на колбасу, а на какую-либо деятельность) дает только общие указания, канву. Он создан, чтобы помочь не забыть что-то важное, передать вам опыт поколений, а не загнать за флажки.
Не верите? Тогда читайте пункт 2.2 ГОСТ 34.602-89 (кстати, цифры после дефиса — год публикации стандарта или его редакции): «В зависимости от вида, назначения, специфических особенностей объекта автоматизации и условий функционирования системы допускается оформлять разделы ТЗ в виде приложений, вводить дополнительные, исключать или объединять подразделы ТЗ». Также в п. 1.2. РД 34.698-90 указано: «Содержание документов является общим для всех видов АС и, при необходимости, может дополняться разработчиком документов в зависимости от особенностей создаваемой АС. Допускается включать в документы дополнительные разделы и сведения, объединять и исключать разделы».
Вообще, если получается привести только общие фразы, за все хорошее, против всего плохого, — не пишите ничего. Иначе читающий документ специалист, встретив такие пассажи, перестанет воспринимать документ серьезно, и важные положения будут упущены. Не делайте чтение документа пыткой!
3.4. Зачем в ТЗ по ГОСТ 34 описывается так много требований, напрямую не относящихся к функциям системы?
Действительно, в ТЗ из 30-и страниц может только 7-10 страниц быть посвящено функциям. У этого есть объяснение. Дело в том, что разработчики ГОСТ 34 совершенно по-другому смотрели на проект автоматизации, чем мы. И смотрели более правильно, более комплексно.
Во-первых, в первой половине ТЗ не просто так приводятся общие сведения о системе и общие требования. Надо понять, зачем система создается, какие процессы автоматизирует, что нужно сделать, чтобы система заработала, какой облик имеет система. Вроде бы банальные вещи, но без них члены команды по-разному будут понимать цель работ и средства достижения цели. Нам очень важно убедиться, что все участники настроены на одну волну, а не как лебедь, рак и щука.
Во-вторых, составители ГОСТ 34 видели систему в первую очередь как людей, а затем уже как программно-аппаратный комплекс. Вот как ГОСТ 34.003-90 определяет автоматизированную систему: «Система, состоящая из персонала и комплекса средств автоматизации его деятельности, реализующая информационную технологию выполнения установленных функций». Таким образом, информационная система — это обученный персонал, программное обеспечение и аппаратный комплекс, все вместе. И правда, отбери у бухгалтеров компьютеры, они с трудом, но смогут выполнять свою работу, пусть и с бумажными реестрами. А вот 1С без бухгалтера самостоятельно работать не будет. Отсюда и множество разделов ТЗ, посвященных организационным мерам. Как говорят, ИТ-система на 20% — это ИТ, все остальное — организационные мероприятия. То есть ТЗ — это документ, в котором прописывается все необходимое для внедрения системы, от А до Я.
В-третьих, обратите на само название ГОСТа 34.602-89: «Техническое задание на создание автоматизированной системы». ТЗ не на систему, а на создание системы. В чем отличие? Отличие в том, что ТЗ устанавливает не только требования к самой системе, но и регламентирует процесс ее создания, то есть в документе приводятся требования ко всем организационным мерам, выполнение которых необходимо для достижения результата. Ведь при реализации проекта автоматизации зачастую следует перестроить ряд процессов, обучить персонал, подготовить аппаратную часть.
В-четвертых, ТЗ представляет собой документ, по которому можно ставить галочки: приняли мы во внимание данное требование или нет. Может, вы поставите 10 галочек чисто автоматически, потому что это будут стандартные решения. Но галочка номер 11 выявит очень большую проблему, и если эту проблему сейчас пропустить, то она всплывет где-то в процессе внедрения, когда уже определены все сроки и бюджеты.
В-пятых, как мы уже говорили выше, ненужные подразделы можно исключать, это допускается. Например, если вы точно знаете, что в ваших разработках не может быть ничего патентованного, то зачем приводить требования к патентной чистоте? Это не тот случай, когда без воды и не туды, и не сюды.
3.5. Зачем в разных разделах говорится об одном и том же?
Действительно, в ТЗ имеются подразделы, которые во многом повторяют содержание других подразделов. Например, имеются требования к организационному обеспечению и к численности и квалификации персонала. В обоих пунктах идет речь о персонале. Но в первом случае мы приводим информацию об организационной структуре: какие должны быть отделы, как должно быть налажено взаимодействие с другими подразделениями. Согласитесь, это совсем не то же, что просто требования к численности и квалификации персонала.
Но для небольших систем требуется лишь один-два администратора и пара модераторов. В таком случае нам просто нечего описывать в целых двух подразделах. Тогда одни раздел опустите, а в другом приведите полное изложение требований.
3.6. Нужно ли качественно оформлять ТЗ?
Хотя требования к оформлению ТЗ приводятся в пункте 3 ГОСТ 34.602-89, скажем несколько слов о данном аспекте.
Конечно, главное содержание. Но, во-первых, встречают по одежке, а, во-вторых, сложно читать неграмотно написанный текст со скачущим шрифтом. Читатели будут отвлекаться на некачественное оформление и им будет сложнее вникнуть в содержание. Поэтому в технических документах принято строгое содержание и ограниченная терминология, без цветастых выражений: читатель должен сосредоточиться на сути, а не художественных оборотах.
Приведем несколько пожеланий к оформлению больших документов, как ТЗ.
Во-первых, в большом документе обязательно необходимо использовать стили и кроме как для подчеркивания или выделения внутри абзаца не менять настройки шрифта и абзаца только для одного фрагмента. Если меняете, то стиль.
В-вторых, не надо забывать про такие обязательные элементы, как автособираемое оглавление, список терминов и сокращений (ну нет никакой радости гадать, что такое имеется в виду под той или иной аббревиатурой), титульная страница. Желательно также приводить список версий документа, список изменений: очень легко потом отследить, в какие даты была отправлена та или иная версия.
В-четвертых, каждое отдельное требование должно быть изложено в отдельном пронумерованном абзаце. Если в одном фрагменте 2-3 требования, то читается только первое, а остальные наш мозг пропускает. ТЗ — это документ, в котором напротив каждого абзаца можно поставить галочку, выполнено ли требование или нет.
В-пятых, не скупитесь на расстановку ссылок. Иногда читаешь абзац, где упоминается какая-то функция или требование, и не понимаешь, это из этого же документа или из другого. Если из этого, — то в каком разделе. Поэтому старайтесь ссылаться на другие разделы, если они упоминаются в текущем тексте. Естественно, ссылки должны быть автоматическими.
Заметим, что, по строгим правилам, ТЗ оформляется без рамки (об этом сказано в п. 3), а вот остальные документы — с рамкой. Это установлено в ГОСТ 24.301-80 «Система технической документации на АСУ. Общие требования к выполнению текстовых документов (с Изменениями № 1, 2)». Данный стандарт устанавливает правила оформления всех документов, кроме ТЗ и документов, создаваемых на предпроектных стадиях. Хотя лично мне рамка не нравится ни в каких документах.
4. Раздел 1. «Общие сведения» /п. 2.3 ГОСТ 34.602-89/
Большинство сведений, приводимых в данном разделе, не нуждаются в комментарии, поэтому мы остановимся только на некоторых подразделах.
Так, под «перечнем документов, на основании которых создается система» имеются в виду законы, распоряжения или договор. Также таким документом может являться другое ТЗ, если мы разрабатываем ТЗ на подсистему. Вообще, в ТЗ есть несколько разделов, в которых приводится перечень документов, и надо очень четко понимать различия между назначением данных частей технического задания.
В подразделе «Порядок оформления и предъявления заказчику результатов работ по созданию системы (ее частей), по изготовлению и наладке отдельных средств (технических, программных, информационных) и программно-технических (программно-методических) комплексов системы» приводятся общие сведения о приемке работ. Например, то, что мы передаем документацию и проводим ряд испытаний системы. Здесь мы только упоминаем о порядке передаче результатов работ, а ниже, в других разделах, данная тема раскрывается подробно.
5. Раздел 2. «Назначение и цели создания (развития) системы» /п. 2.4 ГОСТ 34.602-89/
Здесь нам надо понять разницу между назначением и целью создания системы. Очень часто эти понятия смешиваются. Например, пишут, что назначение системы — это автоматизация личного кабинета, а цель — создание личного кабинета. Масло масляное. В некоторых случаях данные понятия действительно совпадают, тогда пишите только назначение.
С назначением все понятно: мы приводим именно вид (виды) автоматизированной деятельности. Например, если мы создаем систему для производственного учета, то и приводить стоит автоматизируемые виды учета, автоматизируемые операции, а также объекты, автоматизация которых предполагается.
С целью все по-другому. Цель — это ради чего мы затеваем проект. Можно назвать это бизнес-целями. Я выделяю следующие возможные цели проектов автоматизации:
- Выполнение внешних требований (требования закона, стандарта и т.д.)
- Обеспечение работы нового технологического процесса (например, создаем интернет-магазин, организуем новый отдел, новый бизнес).
- Снижение операционных расходов (уменьшение количества персонала, увеличение выпуска продукции при использовании тех же мощностей, повышение эффективности).
- Повышение качества работы: снижение количества ошибок, ускорение принятия решений.
- Снижение рисков, повышение надежности. Это касается не только технической стороны, но также исключения опасности в случае болезни или увольнения ключевых, «незаменимых», сотрудников.
В ГОСТе также написано, что необходимо приводить критерии оценки достижения цели, то есть конкретные показатели. Например, у нас 3 человека собирают всего 20 заказов за сутки. А мы после внедрения системы хотим, чтобы каждый собирал по 20 заказов, то есть в три раза больше. Если там такие показатели известны, приводим их в данном пункте.
6. Раздел 3. «Характеристики объекта автоматизации» /п. 2.5 ГОСТ 34.602-89/
Очень важный, и при этом часто описываемый чисто формально раздел. Хотя, на мой взгляд, это самый важный раздел ТЗ, без него мы просто не понимаем, о чем вообще создаваемая система.
Давайте сначала определим, что такое «объект автоматизации». Если мы автоматизируем склад или завод, отдел бухгалтерии, то все понятно. А если, например, создаем новую социальную сеть, то объекта как бы и нет. Но на самом деле, под объектом скорее имеются в виду автоматизируемые процессы. И даже в случае со складом мы же автоматизируем не сам склад (как можно автоматизировать хранение коробок?), а складские процессы.
Если выполнять данный раздел формально, то он будет очень похож на описание назначения системы, и в ТЗ появится еще одно озеро воды, но так и не будет понятно, а что должна делать система.
В данном разделе следует приводить:
- Описание заказчика: виды деятельности заказчика, количество филиалов, сотрудников. Конечно, характеризовать заказчика нужно в той части, которая непосредственно касается создаваемой системы.
- Сведения о пользователях системы: виды пользователей, какую роль играет система для разных пользователей.
- Описание автоматизируемых объектов. Например, если мы автоматизируем склад, то должны описать, какой он площади, сколько проходов, какая ширина проходов, какие стеллажи, имеется ли отдельная зона сборки, сколько работает человек и какие у них обязанности. Тогда мы поймем, что конкретно автоматизируем, как должен выглядеть складской процесс, и какое оборудование используется.
- Описание автоматизируемых процессов. Конечно, не стоит в ТЗ расписывать процессы подробно. Но привести общие сценарии — обязательно. Только тогда нам становится ясно, какие должны иметься функции.
- Перечень документов, в которых приводится подробное описание объекта автоматизации.
У меня бывали случаи, когда на описание данного раздела уходило более половины времени разработки ТЗ, потому что приходится долго и скрупулезно собирать разные сведения, анализировать их и тщательно описывать.
7. Раздел 4 «Требования к системе»
В ТЗ по ГОСТ 34 имеется один гигантский раздел: раздел 4 «Требования к системе». В нем имеется три подраздела:
- Требования к системе в целом.
- Требования к функциям (задачам), выполняемым системой.
- Требования к видам обеспечения.
Эти подразделы мы рассмотрим по отдельности.
7.1. Подраздел 4.1. «Требования к системе в целом» /п. 2.6.1 ГОСТ 34.602-89/
В подразделе 4.1 «Требования к системе в целом» приводят так называемые нефункциональные, общие, требования, которые описывают создаваемую систему с разных сторон.
Кстати, как мы уже упоминали, подразделы можно добавлять и опускать. Поэтому приводимая здесь нумерация примерная, служит для ориентации внутри статьи.
7.1.1. Пункт 4.1.1. «Требования к структуре и функционированию системы» /п. 2.6.1.1 ГОСТ 34.602-89/
Этот пункт достаточно обширен, он должен дать общее представление об архитектуре системы. Разберем данные требования подробнее.
1. Перечень подсистем, их назначение и основные характеристики, требования к числу уровней иерархии и степени централизации системы.
В данном пункте я обычно привожу:
- схему внутренней структуры (сервер приложения, модуль хранения данных, толстый клиент в виде нативного приложения, публичное веб-приложение, панель администрирования, мобильные приложения, сервер отчетов) и внешних, смежных систем (другие системы заказчика, почтовый сервер SMTP, сервис SMS-рассылки, банк-эквайер, онлайн-касса, картографический сервис, адресный сервис, сервис проверки адресов электронной почты и т.п.);
- требования к элементам приведенной структуры.
Если вы планируете микросервисную архитектуру, то имеет смысл перечень и описание функциональности сервисов.
Для наглядности желательно приложить структурную схему системы с обозначением ее частей и смежных систем, как показано на примерах ниже.
… или так:
2. Требования к способам и средствам связи для информационного обмена между компонентами системы.
3. Требования к характеристикам взаимосвязей создаваемой системы со смежными системами, требования к ее совместимости, в том числе указания о способах обмена информацией (автоматически, пересылкой документов, по телефону и т.п.)
В современных условиях большинство взаимодействий производится по протоколу HTTP(S). Вроде, кроме этого, писать нечего. Тем не менее, данные пункты могут быть настолько большими, что выносятся в приложения. В них следует привести следующие сведения:
- перечень передаваемых сведений, хотя бы общее описание, чтобы вообще понять, зачем мы интегрируемся с конкретной системой;
- описание протоколов (или ссылки на описание), особенно в случае присоединения устройств;
- структура локальных сетей;
- требуемая скорость передачи данных;
- применение мобильного интернета или WiFi;
- описание неавтоматизированных способов передачи данных.
4. Требования к режимам функционирования системы.
Режимы функционирования могут иметь несколько классификаций:
- по готовности к эксплуатации: штатный режим, аварийный режим, режим технического обслуживания (например, в аварийном режиме должна присутствовать заставка на сайте, нагрузка переводиться на другой сервер, выводиться особые сообщения при обращении к данной системе по API, в режиме технического обслуживания некоторые функции могут быть доступны);
- по готовности к эксплуатации частей системы: как должна функционировать система, если, например, недоступен один из внешних или внутренних сервисов;
- по графику работы: 24/7 или пятидневка (от этого зависит как минимум работа технической поддержки);
- по возможности изменения данных: режим просмотра или редактирования;
- по уровню доступа к данным и операциям системы: режим авторизованного пользователя, режим администратора, гостевой режим (для неавторизованных пользователей);
- по средству доступа к системе: через веб-приложение, через толстый клиент, через мобильное приложение (согласитесь, что функциональность может несколько отличаться, эти ограничения можно описать здесь);
- по виду взаимодействия: диалоговый (через интерфейс), взаимодействие посредством изменения настроек в конфигурационных файлах или иным способом, неавтоматизированный (например, информация передается другому сотруднику, который вносит данные в систему, производится ручной съем показаний);
- по степени автоматизации: автоматический или полуавтоматический режим, «режим советчика»;
- по видимости приложения: диалоговый или фоновый режим;
- по возможному воздействию на систему: штатный, обучающий, тестовый режимы.
5. Требования по диагностированию системы.
Требования по постоянному или периодическому диагностированию следует предъявлять к системам, основанным на микросервисной (разнесенной) архитектуре, системам, в состав которых входит оборудование: датчики, системы управления, терминалы и т.д. Конечно, если разрабатывается только программное обеспечение, которое работает на одном сервере, указанные требования излишни: и так узнаете, если что-то перестанет работать.
6. Перспективы развития, модернизации системы.
Кажется, какое отношение имеют перспективы развития системы к подразделу «Требования к структуре и функционированию системы»? Но представьте, сейчас вы создаете альфа-версию, рассчитанную на 100 человек, а через год хотите получить уже более миллиона одновременно работающих пользователей в разных частях света. Тогда вам на стадии создания сразу потребуется предусмотреть кластерную архитектуру.
Или сейчас вы работаете от одной организации, а через полгода их будет несколько, значит необходимо заранее предусмотреть возможность расширения.
Иными словами, в данном разделе можно записать все перспективы модернизации, но особо отметить те, которые точно повлияют на архитектуру.
7.1.2. Пункт 4.1.2. «Требования к численности и квалификации персонала» /п. 2.6.1.2 ГОСТ 34.602-89/
Как мы уже упоминали раньше, любая автоматизированная система состоит «из персонала и комплекса средств автоматизации его деятельности». Поэтому в ТЗ указываются требования к персоналу и его квалификации.
Если вы автоматизируете конкретную производственную линию, то численность персонала вам известна. Но во многих случаях она зависит от объема выполняемой работы. Следовательно, укажите должности, график работы, описание деятельности (для назначения прав доступа) и приблизительную квалификацию. Как минимум, понадобятся системный администратор и оператор, довольно часто — модератор. Вполне возможно, что придется предусмотреть несколько видов операторов с разным уровнем доступа.
Понятно, что требования к персоналу часто устанавливаются заказчиком, зачем их тогда приводить? Но, во-первых, мы уже говорили, что ТЗ составляется для обеих сторон, а во-вторых, так исполнитель будет защищен: не выполнено условие по подбору персонала, чего же тогда заказчик хочет, если система не внедрена?
7.1.3. Пункт 4.1.3. «Требования к показателям назначения» /п. 2.6.1.3 ГОСТ 34.602-89/
В данном подразделе часто пишется что душе угодно, поскольку перечень возможных показателей отсутствует в тексте ГОСТа, а найти их в открытых источниках практически невозможно. Обратите внимание, что приведенные в ГОСТе «степень приспособляемости», «пределы модернизации» и «вероятностно-временные характеристики», во-первых, указываются для АСУ (автоматизированной системы управления) и, во-вторых, их достаточно сложно измерить. Таким образом, указанные характеристики подойдут не всегда.
Тем не менее, в самом тексте «показатели назначения» определяются как «параметры, характеризующие степень соответствия системы ее назначению». В современных компьютерных системах количественные значения, характеризующие эту систему, в основном относятся к производительности и объему хранения данных.
К показателям назначения можно отнести:
- количество одновременно работающих в системе пользователей;
- количество одновременно выполняемых запросов к серверу;
- количество проводимых (регистрируемых) за единицу времени транзакций;
- время отклика при разном количестве единовременных запросов и работающих пользователей, при разном количестве обрабатываемых данных (особенно при поиске и агрегации в отчетах);
- объем хранимых данных (в частности, изображений и видеозаписей);
- время подключения дополнительных вычислительных мощностей при достижении предельной нагрузки;
- время подключения дополнительных мощностей при значительном увеличении объема хранимых данных.
Все эти характеристики влияют на выбор серверного оборудования, архитектуры сервера приложения и СУБД, реляционной или нереляционной СУБД, микросервисов и т.д.
7.1.4. Пункт 4.1.4. «Требования к надежности» /п. 2.6.1.4 ГОСТ 34.602-89/
В тексте ГОСТа достаточно подробно описывается, что необходимо указывать в требованиях к надежности. Тем не менее, для понимания подхода к обеспечению надежности, заложенного в данном стандарте, следует изучить ГОСТы серии 27. Для начала стоит ознакомиться с терминологией: этого будет достаточно для понимания самого понятия надежности, как она измеряется и чем обеспечивается. Поэтому обращайтесь к ГОСТ 27.002-89. «Надежность в технике. Основные понятия. Термины и определения».
Основным понятием, которое можно применить для автоматизированных систем, является коэффициент готовности: 99%, 99,9%, 99,99%. Каждое количество «девяток» обеспечивается определенными мерами.
На выбор каких технических решений могут повлиять данные требования? Это и количество резервных мощностей (они бывают разными), и наличие технического персонала на местах, и применение не только источников бесперебойного питания, но и дизельгенераторов, а также подключение от двух независимых источников (присоединение к электросетям по I или II категории надежности).
7.1.5. Пункт 4.1.5. «Требования к безопасности» /п. 2.6.1.5 ГОСТ 34.602-89/
В данном подразделе описываются требования к технике безопасности при обращении с оборудованием (монтаже, пусконаладке и эксплуатации). Сейчас данные требования называются охраной труда и содержатся в ГОСТах 12-й серии (ССБТ — система стандартов безопасности труда). В ТЗ достаточно привести перечень данных разделов, опять же, если кто-то собирается всерьез заниматься безопасностью.
7.1.6. Пункт 4.1.6. «Требования к эргономике и технической эстетике» /п. 2.6.1.6 ГОСТ 34.602-89/
Приведем требования ГОСТа: «В требования по эргономике и технической эстетике включают показатели АС, задающие необходимое качество взаимодействия человека с машиной и комфортность условий работы персонала».
Обычно в этом пункте пишется, что у системы должен быть удобный и красивый интерфейс. Но как измерить удобство и красоту? Поэтому либо данное требование опускаем, либо говорим о том, что интерфейс будет соответствовать разработанному позже дизайн-проекту, либо приводим стандарты, например, так называемые «гайдлайны» для разработки мобильных приложений:
Material Design
для Android и
Human Interface Guidelines
для iOS.
Также можно приводить предельное количество переходов (нажатий) при реализации отдельных особо важных для нас функций, среднюю скорость поиска данных и т.д.
7.1.7. Пункт 4.1.7. «Требования к транспортабельности для подвижных АС» /п. 2.6.1.7 ГОСТ 34.602-89/
Скажете, какое-то устаревшее требование. Сейчас сервера на грузовиках, как раньше большие ЭВМ, не возят. Тем не менее, представьте себе, у вас какая-то суперзащита, внутренний контур за DMZ и… необходимость удаленной работы через ноутбук. Да, VPN настраивается в любой момент, но лучше, если это будет отражено в Руководстве по администрированию, а сама возможность предусмотрена конфигурацией сети.
7.1.8. Пункт 4.1.8. «Требования к эксплуатации, техническому обслуживанию, ремонту и хранению» /п. 2.6.1.8 ГОСТ 34.602-89/
Данные требования относятся к обслуживанию комплекса технических средств (сервера, файерволы, свичи, рабочие станции и т.д.) Если оборудование требует какого-то особого обслуживания, то необходимо это описать в данном разделе. Например, у вас стоит особый прибор, который необходимо раз в месяц калибровать.
7.1.9. Пункт 4.1.9. «Требования к защите информации от несанкционированного доступа» /п. 2.6.1.9 ГОСТ 34.602-89/
Тема защиты информации от несанкционированного доступа достаточно обширна, как и меры по ее обеспечению. Конечно, если речь идет о доступе в личный кабинет веб-сайта и в панель администрирования данного сайта, то достаточно требований к авторизации, сложности пароля, ролевой модели доступа. Но если создается финансовая система или система для государственных нужд, то появляются особые требования.
Важно отметить, что в данном подразделе приводятся не только меры, которые необходимо применить в ходе разработки системы, но и ее эксплуатации.
Так, для финансовых систем следует использовать «Стандарт безопасности данных индустрии платежных карт» (PCI DSS). Для систем, в которых хранятся персональные данные, — Постановление Правительства РФ от 01.11.2012 № 1119 «Об утверждении требований к защите персональных данных при их обработке в информационных системах персональных данных». В вашей предметной области могут иметься и другие стандарты.
В общем и целом, средства защиты можно разделить на следующие типы:
- Средства, обеспечиваемые создаваемым программным продуктом.
- Меры, обеспечиваемые системным администратором.
- Меры физической защиты.
- Общие организационные меры.
- Меры, принимаемые в процессе разработки программного обеспечения.
1. Средства защиты, обеспечиваемые создаваемым программным продуктом:
- Требование по наличию пароля для пользователей, особенно для пользователей с ролью администратора.
- Реализация ролевой модели доступа.
- Требование по применению ключей электронной подписи для выполнения особо важных операций.
- Вынесение программных компонентов, ответственных за взаимодействие с внешними системами, в демилитаризованную зону (DMZ).
- Обеспечение регистрации событий и действий пользователей.
2. Меры, обеспечиваемые системным администратором:
- Применение межсетевых экранов (файерволов).
- Документирование и мониторинг используемых служб и протоколов.
- Конфигурирование демилитаризованной зоны (DMZ).
- Контроль выполнения правил использования портативных компьютеров: подключение к внутренней сети, использование межсетевых экранов.
- Отключение учетных записей по умолчанию перед подключением в сеть оборудования и систем.
- Настройка устройств беспроводного доступа: установка паролей и изменение настроек доступа, установленных по умолчанию.
- Установка обновлений, устраняющих выявленные уязвимости оборудования и программного обеспечения.
- Обеспечение безопасности при удаленном доступе в систему (например, использование VPN).
- Установка, обновление и мониторинг работы антивирусного программного обеспечения.
- Проведение периодического сканирования сети и сканирования после внесения важных изменений.
- Назначение каждому работнику уникальной учетной записи, периодические проверки на наличие неудаленных учетных записей уволенных сотрудников, смена паролей. Выдача и учет токенов электронной подписи.
- Настройка ограничения доступа к базам данных.
- Контроль синхронизации времени на всех серверах и рабочих станциях (с целью обеспечения корректности времени, регистрируемого в журналах регистрации событий).
- Настройка журналов регистрации событий.
- Периодическая инвентаризация точек беспроводного доступа и другого оборудования, установленного программного обеспечения.
3. Меры физической защиты:
- Ограничение доступа в критические помещения.
- Отключение сетевых разъемов в общедоступных местах.
- Установка камер видеонаблюдения за критически важными помещениями.
4. Общие организационные меры:
- Утверждение политики безопасности и проведение периодического обучения персонала правилам информационной безопасности.
- Внедрение процедуры реагирования на инциденты, связанные с нарушением безопасности.
- Проверка на вывод в экранных формах или отчеты конфиденциальных данных.
- Выдача бейджей всем посетителям, сопровождение посетителей при нахождении в критически важных помещениях.
- Всесторонняя проверка принимаемых на работу сотрудников.
- Обеспечение безопасности со стороны организаций-поставщиков услуг, связанных с программным и аппаратным обеспечением.
5. Меры, принимаемые в процессе разработки программного обеспечения:
- Контроль ответственными лицами внесения изменений в программный код, проверка кода на соблюдение правил информационной безопасности (контроль переполнения буфера, корректная обработка ошибок, проверка на межсайтовый скриптинг, на ошибки механизмов доступа и т.п.)
- Применение стойкой криптографии.
- Применение правил безопасности для общедоступных веб-приложений.
- Разработка процедуры отмены для каждого изменения.
- Документирование внесение изменений.
7.1.10. Пункт 4.1.10. «Требования по сохранности информации при авариях» /п. 2.6.1.10 ГОСТ 34.602-89/
В данном разделе приводится перечень возможных аварий и отказов, при которых должна быть обеспечена сохранность информации. К таким событиям могут относиться:
- потеря питания;
- выход из строя сервера;
- выход из строя устройства хранения (жесткого диска).
7.1.11. Пункт 4.1.11. «Требования к защите от влияния внешних воздействий» /п. 2.6.1.11 ГОСТ 34.602-89/
Данный раздел будет полезен в случае размещения серверов, рабочих станций и другого оборудования в условиях холодного склада или, наоборот, в производственных помещениях с повышенной температурой, в запыленных местах или местах с повышенной влажностью. Также иногда стоит учесть вибрацию, излучения или иные воздействия.
7.1.12. Подраздел 4.1.12. «Требования по патентной чистоте» /п. 2.6.1.12 ГОСТ 34.602-89/
В случае, если у вас есть подозрение, что вы будете использовать какие-либо запатентованные в других странах (или в нашей стране) технологии, и владелец патента может подать иск на собственника системы, в данном пункте указывают перечень стран, в которых необходимо выполнить проверку на патентную чистоту.
7.1.13. Пункт 4.1.13. «Требования к стандартизации и унификации» /п. 2.6.1.13 ГОСТ 34.602-89/
Данный пункт также редко содержится в Техническом задании в отношении именно программных средств. В нем указывают как требования по использованию конкретных технологий, так и унифицированных форм документов и классификаторов.
Данное описание особенно важно, если у вас есть конкретные требования по используемым фреймворкам, плагинам, протоколам, устройствам, математическим алгоритмам, стороннему программному обеспечению и пр. Только не забудьте указать, в какой части и для каких целей должны использоваться данные средства.
Также иногда в системах некоторых классов принято использоваться определенные протоколы обмена данными. Например, для обмена данными между геоинформационными системами используются стандарты OCG, а для управления зарядными станциями для электромобилей — OCPP.
7.1.14. Пункт 4.1.14. «Дополнительные требования» /п. 2.6.1.14 ГОСТ 34.602-89/
С данным пунктом следует ознакомиться в самом тексте ГОСТа. В комментариях он не нуждается.
7.2. Подраздел 4.2. «Требования к функциям (задачам), выполняемым системой» /п. 2.6.2 ГОСТ 34.602-89/
Данный раздел является центральным для современных компьютерных систем. Собственно, система создается ради выполнения определенных функций. Часто ТЗ, создаваемые на основе зарубежных стандартов и вообще без стандартов, содержат только этот раздел.
7.2.1. Структура функционального описания
Сначала рассмотрим структуру функциональных требований к системе: подсистема — комплекс функций — функция — задача. Задача — это часть функции, причем задача может быть описана в виде отдельной функции. Например, для функции входа в систему в качестве одной из задач мы приводим ввод пароля. А процедуру ввода пароля мы можем расписать уже как отдельную функцию: проверка на правильность, восстановление пароля, отображение подсказок и т.д. Комплекс — это то, что объединяет функции. Например, «Учет основных сведений», «Проведение аукциона» и т.д. В Комплексе две и более функции.
Если у вас система состоит из нескольких подсистем, то в основном ТЗ следует привести перечень функций для подсистем, а уже подробно описывать функциональные требования к подсистемам в отдельных ТЗ на подсистемы (их сейчас часто называют ЧТЗ — частное техническое задание).
7.2.2. Виды функций с точки зрения их выполнения
По сути, все функции (или их задачи; в функции может присутствовать сразу несколько задач) можно разделить на следующие типы:
- Ввод сведений. Иногда называют также «учет сведений».
- Вывод информации.
- Автоматическая обработка информации.
7.2.3. Виды функций с точки зрения их роли
Функции могут быть общими и специальными. К общим функциям, например, относятся работа со списками объектов, работа с карточкой объекта, работа с интерактивной картой. Эти функции могут относится ко всем специальным или части специальных функций.
7.2.4. Требование, а не сценарий
Не забывайте, что в ТЗ приводятся требования к системе и процессу ее создания. Не сценарии. ТЗ отвечает на вопрос, ЧТО должна делать система. На вопрос КАК отвечает технический проект. Если вы начинаете подробно описывать техническую реализацию, то погрузитесь в детали и не сумеете привести полный перечень требований: наш мозг не может одновременно работать в режимах широкого охвата и рассмотрения подробностей.
Структуры функций ТЗ и технического проекта могут сильно отличаться: в одном сценарии могут реализовываться несколько функций, и наоборот.
7.2.5. Оформление функциональных требований
Приведем некоторые рекомендации по тому, как оформлять описание функций:
- Требования к функциям и задачам обычно следует выносить в приложение. Таким образом документ органично делится на нефункциональную и функциональную части. Кроме того, приложение всегда можно распечатать и рассматривать отдельно.
- Избегайте больших абзацев. Лучше всего, если требования разбиты по пунктам и подпунктам: так легче их воспринимать и контролировать их выполнение (галочки ставить). Если приводится перечень требований или сведений, пусть он приводится нумерованным или маркированным списком.
- Для функций, назначение которых не очевидно из их названия, следует обязательно указать цель и решаемую задачу. В противном случае даже составитель ТЗ рискует забыть, зачем он описывал ту или иную функциональность.
7.2.6. Пример описания функции
5.6. Регистрация транспортного средства в Системе
Предъявляются следующие требования:
1) Система должна позволять учитывать следующие общие сведения:
- государственный регистрационный знак (ГРНЗ);
- ФИО собственника;
- адрес собственника;
- данные от сервиса получения данных о ТС (см. п. 3.3, Приложение Б);
- примечание.
2) Система должна позволять учитывать следующие сведения, относящиеся к оплате проезда (указанные сведения носят информационных характер, возможность их изменения непосредственно в учетной карточке транспортного средства не обязательна):
- текущий класс ТС (см. п. 3.3, Приложение А);
- текущий тариф (см. п. 5.1, Приложение А);
- текущий договор (см. п. 5.5, Приложение А);
- класс ТС по сведениям из системы МВД РК;
- сведения о лицевом счете и его состоянии (см. п. 3.6, Приложение А);
- сведения о нахождении в реестре ТС с льготным проездом (см. п. 3.5, Приложение А).
3) Система должна позволять регистрировать и изменять сведения о ТС следующими способами:
- вручную оператором;
- при поступлении сведений из системы регистрации RFID-меток (см. п. 1.1, Приложение Б);
- при идентификации ТС с помощью камеры ГРНЗ.
4) При регистрации в системе нового ТС система должна запрашивать данные о ТС от сервиса получения данных о ТС (см. п. 3.3, Приложение Б). Должна иметься возможность обновить указанные сведения отдельного ТС.
7.3. Подраздел 4.3. «Требования к видам обеспечения» /п. 2.6.3 ГОСТ 34.602-89/
Раздел требований к видам обеспечения вообще часто приводят как пример избыточного объема ТЗ по ГОСТу. Когда заходит речь о том, все ли разделы и подразделы следует приводить, вспоминают про математическое обеспечение, для которого в большинстве случаев просто нечего писать.
На самом деле, это очень важный подраздел, хотя его назначение понимают далеко не все. В нем описываются условия, без выполнения которых невозможно реализовать или разработку, или ввод в эксплуатацию. Эти условия и описываются как «обеспечение».
При чтении данного подраздела задаешься вопросом, что имели в виду составители стандарта под «математическим обеспечением», «лингвистическим обеспечением», «информационным обеспечением» и т.д. Ответы следует искать в ГОСТ 34.003-90, где расшифровываются все эти термины.
7.3.1. Пункт 4.3.1 «Математическое обеспечение» /п. 2.6.3.1 ГОСТ 34.602-89/
Представим себе ситуацию, что вам необходимо создать систему, в которой требуется реализовать автоматический расчет оптимального маршрута. Кнопка «Рассчитать маршрут», может, и выглядит простой, но за ней могут стоять очень сложные математические алгоритмы и вычисления. Понятно, что брать на себя разработку таких алгоритмов не стоит, этим занимаются профессиональные математики. В случае наличия подобных алгоритмов и прописываются требования к их разработке или использования уже готовых.
7.3.2. Пункт 4.3.2 «Информационное обеспечение» /п. 2.6.3.2 ГОСТ 34.602-89/
При чтении описания данного требования в тексте ГОСТа возникает впечатление, что это повтор того, что уже говорилось в других разделах. Например, зачем еще раз описывать требования к «составу, структуре и способам организации данных в системе» и «к информационному обмену между компонентами системы»? Но мы опять забываем, что составители ГОСТа под системой имели не только программное обеспечение, но и всю совокупность организационных мер.
Вот сталкиваетесь вы при внедрении с такой ситуацией, что заказчик не обеспечил со своей стороны оператора, который будет вводить в систему какие-либо данные, и при этом вам заявляет, что система не работает. Знакомая ситуация? А вот если бы в ТЗ было прописано требование данный ввод обеспечить, то можно было бы прямо и ткнуть заказчика в этот пункт. Или вам для работы необходим доступ к определенному адресному классификатору, а заказчик вам его не дает.
Таким образом, в данном пункте имеет смысл указать требования к входящей информации и информации, передающейся от компонента к компоненту системы в неавтоматизированном виде. Автоматизированная обработка информации, использование СУБД, информационный обмен внутри системы вполне описываются в других разделах.
7.3.3. Пункт 4.3.3 «Лингвистическое обеспечение» /п. 2.6.3.3 ГОСТ 34.602-89/
В данном пункте приводятся:
- требования к использованию языков программирования (если имеются конкретные предпочтения);
- язык интерфейса (какие языки, мультиязычный интерфейс);
- язык для общения проектных команд, требования к переводу;
- иные особенности ввода и вывода данных при их наличии: шифрование, нестандартные методы взаимодействия пользователей с системой.
7.3.4. Пункт 4.3.4 «Программное обеспечение» /п. 2.6.3.4 ГОСТ 34.602-89/
В данном пункте приводится перечень покупных программных средств, если они определены на стадии разработки ТЗ.
7.3.5. Пункт 4.3.5 «Техническое обеспечение» /п. 2.6.3.5 ГОСТ 34.602-89/
Любая информационная система не может работать без «железа», серверов, сети и т.д. Определение конкретных характеристик оборудования обычно целесообразно вынести в технический проект, но в ТЗ можно привести примерный состав, чтобы у заказчика было представление о будущих расходах.
7.3.6. Пункт 4.3.6 «Метрологическое обеспечение» /п. 2.6.3.6 ГОСТ 34.602-89/
Если в систему планируется получать данные с датчиков, то необходимо понимать, какие средства измерения будут применяться, какую точность должны обеспечивать измерительные средства, должны ли данные средства быть сертифицированы и аттестованы.
7.3.7. Пункт 4.3.7 «Организационное обеспечение» /п. 2.6.3.7 ГОСТ 34.602-89/
Представьте себе, что вы создаете систему на пустом месте. Например, это система управления складом для нового логистического комплекса. Иными словами, есть только стены. Или вы проводите модернизацию системы, и для внедрения изменений требуется модифицировать организационную структуру. В таких случаях следует указать условия касательно организации процессов, при которых поставляемая вами система будет реально работать.
7.3.8. Пункт 4.3.8 «Методическое обеспечение» /п. 2.6.3.8 ГОСТ 34.602-89/
Иногда для управления системой требуется персонал, имеющий какие-либо особые компетенции. В таком случае в ТЗ необходимо привести перечень методик, нормативов и стандартов, с которыми должны быть ознакомлены взаимодействующие с системой сотрудники.
7.3.9. Другие виды обеспечения
При разработке каждого нового ТЗ следует продумывать, что вам потребуется для успешного ввода в промышленную эксплуатацию. Например, я зачастую прописываю требования к юридическому обеспечению, когда не до конца определена используемая юридическая схема и ее разработка может повлиять на реализацию.
Хотя такие вопросы лучше решать до составления технического задания
.
8. Раздел 5 «Состав и содержание работ по созданию (развитию) системы» /п. 2.7 ГОСТ 34.602-89/
Данный раздел организационный и его нередко выносят в договор. Тем не менее, данные сведения в ТЗ могут уточняться.
По сути, это краткий план разработки и внедрения. При его составлении я обычно привожу таблицу, в которой приводятся все или некоторые из следующих столбцов:
- Наименование этапа (подэтапа).
- Содержание работ (краткое описание, перечень задач).
- Результат работ (утвержденные документы, разработанные и сданные решения).
- Проектная, рабочая или отчетная документация.
- Ответственные (кто выполняет данную работу: заказчик, исполнитель или иное лицо). Если обе стороны должны выдать совместный результат, указываются роли.
- Длительность (сроки, даты, начало отсчетов сроков).
Пример содержания данного раздела приведен в таблице ниже.
9. Раздел 6 «Порядок контроля и приемки системы» /п. 2.8 ГОСТ 34.602-89/
В данном разделе подробно описывается процесс приемки системы заказчиком: какие должны быть проведены испытания, что будет входить в данные испытания, согласно каким документам будет проводиться тестирование, как будут оформляться и устраняться замечания.
9.1. Подраздел 6.1. «Виды, состав, объем и методы испытаний системы и ее составных частей» /п. 2.8.1 ГОСТ 34.602-89/
Обычно здесь я указываю перечень испытаний и упоминаю, что методы тестирования будут приведены в документе «Программа и методика испытаний», представляющий собой описание основных тест-кейсов, сценариев проверки.
Остановимся подробнее на видах испытаний. Виды испытаний, их состав, требования к документам устанавливаются ГОСТ 34.603-92 «Информационная технология. Виды испытаний автоматизированных систем». Поэтому при разработке данного раздела и технического проекта обязательно обращайтесь к этому стандарту, здесь мы разъясним только основные моменты.
Давайте попробуем разобраться в том, какие бывают испытания:
1. Испытания делятся на следующие виды:
- Предварительные.
- Опытная эксплуатация.
- Приемочные.
2. Предварительные (а частично и приемочные) испытания в свою очередь делятся на:
- Автономные (без интеграции со смежными системами).
- Комплексные (в комплексе со смежными системами).
Зачем испытания делятся на разные стадии? Во-первых, потому что ГОСТ 34.603-92 не разделяет внутреннюю приемку и внешнюю, часть испытаний может проводиться без заказчика. Во-вторых, описывается последовательный процесс тестирования, часть за частью, а потом уже все в комплексе.
Давайте попробуем описать процесс испытаний простыми словами:
1. Предварительные автономные испытания частей системы. Испытаниям подвергаются части системы по отдельности, если в составе имеется несколько подсистем или крупных модулей. Обычно такое тестирование проводится автономно, то есть без интеграции со смежными системами. Если система несложная, данный этап можно смело пропускать.
2. Предварительные автономные испытания системы в целом. Испытывается вся система в комплексе в автономном режиме, то есть без интеграции со смежными системами. Функции, связанные со смежными системами, не проверяются. В крайнем случае ставятся «заглушки» (эмуляция интеграции) или база заранее заполняется данными, которые должны приходить из внешних источников.
3. Предварительные комплексные испытания. Система испытывается в комплексном режиме, то есть во взаимодействии со смежными системами. В таком виде система передается заказчику для опытной эксплуатации.
4. Опытная эксплуатация. ОЭ может проходить в разных режимах. Самое лучшее —это эксплуатация на реальных данных, с реальными пользователями и с выполнением реальных задач. Только такой вид испытаний позволит убедиться, что система действительно работоспособна. В ходе опытной эксплуатации устраняются недостатки.
5. Приемочные испытания. Это последний вид проверки. Скажете, а почему опытная эксплуатация после устранения всех недостатков плавно не перейдет в промышленную? Так оно обычно и происходит. Но ведь высоким дядям надо увидеть, что система реально работает, «пощупать» ее. Для них, для высокой комиссии и предназначены приемочные испытания. Таким образом, приемочные испытания отличаются от предварительных в первую очередь статусом комиссии.
Также в этом пункте указываются документы, в которых будут приведены методы испытаний:
- Для предварительных и приемочных испытаний это «Программа и методика предварительных (приемочных) испытаний». Указания для составления документа содержатся сразу в двух стандартах. Вкратце — в ГОСТ 34.603-92 (п. 2.2.2 и 4.1) и более подробно — в РД 50-34.698-90 «Методические указания. Информационная технология. Комплекс стандартов и руководящих документов на автоматизированные системы. Автоматизированные системы. Требования к содержанию документов».
- Для опытной эксплуатации предусматривается документ «Программа опытной эксплуатации», содержание которого приводится в п. 3.1 ГОСТ 34.003-90. Также следует прописать использование «Журнала опытной эксплуатации» (см. п. 3.2 ГОСТ 34.603-92), в который будут заноситься недостатки и результаты их устранения.
9.2. Подраздел 6.2. «Общие требования к приемке работ по стадиям» /п. 2.8.2 ГОСТ 34.602-89/
В данном разделе я обычно указываю:
- На чьей территории и на чьем оборудовании будут проводиться испытания: заказчика или исполнителя.
- Общее описание, каким образом будут проводиться испытания (например, что будут проверяться документы, наличие элементов пользовательского интерфейса, отрабатываться сценарии).
- Список участников.
- Перечень документов, которыми оформляют результат испытаний:
- Для предварительных и приемочных испытаний это протокол испытаний, в котором приводится перечень проверок и их результаты.
- Для опытной эксплуатации — журнал опытной эксплуатации.
10. Раздел 7 «Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие» /п. 2.9 ГОСТ 34.602-89/
Процесс, описываемый в данном разделе, часто называют внедрением. Обратите внимание на то, что данные работы также приводятся в разделе
5 «Состав и содержание работ по созданию (развитию) системы»
. Но, в разделе 5 они лишь кратко упоминаются, здесь же приводится подробное описание.
При подготовке объекта, как правило, следует выполнить следующие работы:
- Проведение реорганизации, набор нового персонала, в случае необходимости.
- Обучение персонала.
- Для веб-приложений: разработка общих разделов сайта и пользовательского соглашения (согласия на обработку персональных данных).
- Заполнение справочников и иных исходных сведений.
- Перенос данных из прежней системы.
- Развертывание системы на промышленных серверах.
- Настройка интеграции со смежными системами.
- Настройка системы доступа и создание учетных записей.
Некоторые из данных пунктов следует расписать очень подробно, особенно что касается переноса данных и заполнения справочников.
11. Раздел 8 «Требования к документированию» /п. 2.10 ГОСТ 34.602-89/
Не стоит к документам относится формально. Документы — это управление проектом, проектный документооборот. В голове все не удержишь, и от наличия и качества документов зависит успешность проекта. Конечно, бывают документы «для веса», и к ним стоит относиться соответствующе, но вообще без документирования в спокойном и упорядоченном режиме проект не реализовать.
Документирование проекта автоматизации по ГОСТ 34 регламентируется следующими стандартами:
- ГОСТ 34.201-89 Виды, комплектность и обозначения документов при создании автоматизированных систем.
- РД 50-34.698-90 Методические указания. Информационная технология. Комплекс стандартов и руководящих документов на автоматизированные системы. Автоматизированные системы. Требования к содержанию документов.
- Для Технического задания — ГОСТ 34.602-89, который мы сейчас и обсуждаем.
В первом стандарте (ГОСТ 34.201-89) приводится перечень и структура документации. Во втором — РД 50-34.698-90 — указывается содержание следующих документов:
- Документы эскизного и технического проектов.
- Документы, разрабатываемые на предпроектных стадиях.
- Организационно-распорядительные документы (акты, протоколы и пр.)
11.1 Особенности структуры документации
При составлении перечня необходимых документов обычно просматривают РД 50-34.698-90 и выбирают требуемые. При этом делается немало ошибок, поскольку документация имеет довольно сложную структуру, которая описывается в ГОСТ 34.201-89.
Давайте попытаемся выявить несколько правил, которые помогут при составлении перечня документов.
1. Для каждого из этапов предназначен свой комплект документации.
Для каждого из этапов предназначен свой комплект документации. Это очень важно уяснить. Не надо прописывать разработку эксплуатационных документов на проектных стадиях и наоборот. Получаются чисто формальные бумаги, на которые вы потратите значительное время. И если «Руководство пользователя» до окончания разработки системы обычно никто не составляет (хотя встречал и таких деятелей), то «Описание автоматизированных функций», в котором обычно приводятся сценарии для программистов, постоянно составляют уже после окончания разработки. Также при чтении РД 50-34.698-90 может создаться впечатление, что у некоторых документов содержание пересекается: это тоже связано с тем, что документы предназначаются для различных этапов.
Поскольку некоторые документы могут разрабатываться либо на одном, либо на другом этапе, в ГОСТ 34.201-89 во избежание повтора отдельно приводится, например, список документов, которые могут выпускаться как на стадии технического проекта, так и рабочей документации, а отдельно — списки документов для каждой из этих стадий отдельно. Таким образом, при составлении перечня документов для одного из этапов приходится просматривать списки документов в нескольких разделах стандарта.
Чтобы не запутаться, я составил
таблицу Excel
, в которой с помощью фильтров можно выводить сразу полный перечень документов для того или иного этапа.
2. Документы делятся на темы (части проекта).
В ГОСТе 34 имеются документы, описывающие общесистемные решения, а также организационное, техническое, математическое, программное, информационное обеспечение (о видах обеспечения мы говорили выше). В РД 50-34.698-90 данные документы приводятся именно с разбивкой по частям проекта (темам). На это всегда следует обращать внимание, чтобы определить предназначение документа.
3. Документы можно объединять.
В ГОСТ 34.201-89 прямо указывается, в каких случаях один документ включается в состав другого. Это сделано для того, чтобы не оставалось вырожденных документов, с одной или двумя страничками. Если что-то требуется описать, но объем очень маленький, лучше всего включить текст в другой документ. В большинстве случаев имеется такой документ как «Пояснительная записка к техническому проекту», в который можно добавлять разделы.
4. Эксплуатационная и проектно-сметная документация выделены отдельно.
Составители ГОСТ 34.201-89 в отдельных столбцах таблицы с перечнем документов обозначили принадлежность к эксплуатационной и проектно-сметной документации.
К проектно-сметной документации относят документы, регламентирующие строительные и электромонтажные работы: сметы, планы закупок, чертежи и электрические схемы.
К эксплуатационным относят документы, которыми руководствуются при использовании и обслуживании системы: руководства и инструкции, перечни материалов и данных, документы, в которые заносятся информация о нарушениях в ходе эксплуатации.
11.2 Особенности оформления списка документов
Как вы уже заметили ранее, при описании этапов работ в разделе 5 «Состав и содержание работ по созданию (развитию) системы» также приводится перечень документации. Двойной список документов приводится по простой причине: мало указать наименование документа, необходимо еще пояснить его назначение и привести краткое содержание (конечно, для «Руководства пользователя» указывать содержание смысла нет). Иначе будет не определить, какое значение у того или иного документа в управлении проектом. ГОСТ гостом, а на каждом проекте содержание и роль документов может отличаться. Кроме того, в перечне могут иметься документы, не регламентируемые ГОСТ 34, которые нуждаются в пояснениях в обязательном порядке.
В правилах документирования обычно я привожу таблицу со следующими столбцами:
- Этап.
- Наименование документа.
- Примечание: указывается стандарт разработки, назначение, краткое содержание и основные особенности документа.
11.3 Пример перечня документации
Для большого проекта внедрения сложной системы может потребоваться достаточно большой перечень документации. Приведем пример такого перечня в таблице ниже.
12. Раздел 9 «Источники разработки» /п. 2.11 ГОСТ 34.602-89/
Вроде бы формальный раздел, но очень полезный. Представьте себе ситуацию, когда вы помните, что при разработке ТЗ читали какую-то статью, и вам по каким-либо причинам надо ее найти, например, что-то уточнить или обосновать свои решения. Но вы совершенно не помните ни ее названия, ни где она содержалась. Поэтому, когда я использую какие-нибудь полезные материалы, обязательно заношу их в список. И в тексте ставлю сноску с указанием источника.
Если источников много, то следует разбивать их на подразделы, например:
- Материалы с описанием аналогов (прототипов) разрабатываемой системы.
- Материалы, описывающие общую идею системы. Нередко данные документы составляют на предпроектных стадиях и именно на них обычно содержатся ссылки в разделе «Характеристики объекта автоматизации».
- Материалы по разработке проекта: перечень используемых ГОСТов серии 34, используемые стандарты по проектному управлению.
- Материалы, связанные с осуществлением основного процесса: перечень законов, стандартов, внутренних регламентов и приказов, устанавливающие правила осуществления автоматизируемых процессов.
- Материалы и стандарты, содержащие требования к общей и информационной безопасности.
Заключение
Конечно, составление Технического задания по ГОСТ 34 нельзя назвать легким и простым. И не потому, что ГОСТ плохой, — просто ГОСТ заставляет продумывать весь проект целиком, расписать все мелочи. Зато хорошо составленное ТЗ — половина успеха проекта.
Пишите в комментариях, если считаете необходимым что-то уточнить или дополнить. Обязательно внесу изменения в статью.
Читайте другие статьи автора:
- Предпроектное обследования при разработке информационной системы.
- Секреты удачного проектирования ИС (информационной системы) на примере строительства больницы.
- Некоторые заметки по проектированию информационных систем.
О том, как качественно и понятно составить техническое задание рассказывает старший эксперт практики ERP SAP группы компаний Лига Цифровой Экономики, Екатерина Синица.
Типичные ошибки при составлении ТЗ
ТЗ предназначено для окончательного формулирования требований к продукту проекта, в нашем случае – к информационной системе (ИС). Большинство проблем, связанных с разработкой и согласованием ТЗ, вызвано неполным охватом всех видов требований при их анализе. Напомним, они делятся на функциональные (требования к тому, ЧТО должна делать ИС) и нефункциональные (требования к тому, КАК должна функционировать ИС).
При анализе функциональных требований аналитик сталкивается со всем многообразием проблем нечеткого и неполного формулирования требований заказчиком. Чтобы обеспечить их полноту и непротиворечивость, полезно выстраивать иерархию (дерево) требований, на вершине которой будет цель проекта, на следующем уровне – бизнес-требования (понимание, зачем данная ИС нужна и какие бизнес-потребности удовлетворяет), еще ниже, раскрывая каждое бизнес-требование, будут располагаться пользовательские требования (бизнес-сценарии, user stories или use cases), а в самом низу – детальные функциональные требования с описанием действий ИС в каждом конкретном сценарии.
Анализируя нефункциональные требования, чаще всего забывают или недостаточно хорошо прорабатывают требования к интеграции со смежными системами. Чтобы снизить этот риск, необходимо привлекать к разработке ТЗ архитектора ИС и изучать ИТ-ландшафт заказчика.
Также часто сложность представляет анализ системных требований (какие лицензии нужны, на каком оборудовании будет размещаться ИС) и требований к безопасности (аутентификация пользователей, обеспечение отказо- и катастрофоустойчивости системы, разработка частной модели угроз). Привлекайте в качестве источников требований специалистов профильных служб заказчика – поддержки пользователей и информационной безопасности. Их требования и рекомендации необходимо учитывать наравне с функциональными требованиями бизнес-заказчика.
Отдельная и очень большая проблема при анализе нефункциональных требований к ИС – работа с требованиями к интерфейсам. Здесь часто можно встретить слова об «удобстве», «эстетической привлекательности», «соответствии мировым тенденциям дизайна» и прочие образцы нечетких, субъективных, непроверяемых требований, реализовать и протестировать которые, вероятнее всего, не удастся. Лекарство от этой беды – детализация (попробуйте вместе с заказчиком расписать по пунктам, что означает требование «удобство для пользователя») и нахождение подходящих шкал для оценки степени реализации каждого такого требования. Иногда удается найти объективную, всеми признанную шкалу – например, взять цветовую схему интерфейса из корпоративного брендбука заказчика.
Частой ошибкой при разработке ТЗ является недостаточная детализация требований. Настройки и сценарии работы с ИС могут быть описаны слишком общо и поверхностно, целевые процессы формализуются на слишком высоком уровне. И когда дело доходит до реализации этих требований, у разработчиков возникает огромное количество вопросов. Чтобы дать максимально качественный результат этапа проектирования в виде ТЗ, целесообразно проводить:
1) Структурный анализ – моделирование структуры, понимание компонентов ИС и взаимосвязи между этими компонентами;
2) Анализ процессов – моделирование рабочего взаимодействия всех участников процесса, в котором предполагается задействовать ИС;
3) Функциональный анализ – моделирование всех возможных сценариев работы ИС и ее взаимодействия с акторами (пользователями) и смежными системами;
4) Информационный анализ – моделирование структуры данных (выделение объектов и их атрибутов, определение взаимосвязей между объектами) и потоков прохождения этих данных по процессам;
5) Анализ интерфейсов – моделирование (а в идеале прототипирование) пользовательских интерфейсов, проектирование рабочих мест пользователей.
Ошибки проектирования хорошо видны задолго до начала разработки, если мы пытаемся представить себе механизм их проверки. Неслучайно в ГОСТ 34.х документ «Программа и методика испытаний» является приложением к ТЗ. Настоятельно рекомендуется формировать сценарии тестирования ИС одновременно с фиксированием требований к этой ИС. Это позволит существенно повысить качество проектирования.
Как сделать ТЗ понятным для всех участников проекта
Отдельная большая проблема на этапе разработки ТЗ – это его согласование. заказчик, который не очень хорошо разбирается в технических аспектах ИС, скорее всего, будет испытывать большие опасения, подписывая обширное ТЗ. Опасения связаны с несколькими моментами:
1. Банальное непонимание технических нюансов. Заказчик не будет подписывать то, что ему непонятно. Он передаст ТЗ на согласование в смежные структуры, профильные подразделения, экспертам и специалистам всех смежных служб – и этот процесс может затянуться на несколько месяцев. Такой проблемы может не возникнуть, если до начала согласования ТЗ, а в идеале – до начала его разработки, вы с заказчиком договоритесь о формировании рабочей группы, в которую войдут специалисты всех служб клиента, с которыми нужно будет согласовать документ. Этих людей вы будете задействовать в качестве источников требований, их мнению основной заказчик сможет доверять.
2. Страх, что после утверждения ТЗ будет невозможно внести изменения в требования к результатам проекта. Чтобы снять эти опасения и иметь возможность делать проекты в постоянно меняющейся бизнес-среде, были сформулированы принципы гибкой разработки Agile Manifesto. Но не все заказчики знают эти принципы, и не все команды им следуют. Лучше в самом начале договориться с заказчиком о порядке управления изменениями в требованиях на протяжении всего проекта. Тогда и для вас, и для заказчика согласованное ТЗ станет основой, «печкой» для начала разработки ИС, но ни в коей мере не терминальным ограничением на ее функциональность.
3. Базовое недоверие к поставщику. Заказчик может бесконечно долго вычитывать и придираться к малейшим шероховатостям в тексте ТЗ только потому, что ему кажется, что исполнитель некомпетентен, неаккуратен и все сейчас сломает. Этот страх снимается только опытом взаимодействия с данным клиентом. Именно поэтому так важна лояльность старых заказчиков – с ними и ТЗ быстрее согласовываются, и проекты легче делаются. Работая с заказчиком впервые, не экономьте на прототипах – если он увидит, что вы и впрямь умеете делать крутые решения, доверие к вашей команде возрастет.
Подводные камни
Форматирование. Как ни странно, очень много сил и времени у команды может уйти на переделывание ТЗ в тот формат, который нужен заказчику. Рекомендуется заранее, до начала разработки ТЗ, согласовать с клиентом формат, а в идеале попросить в качестве шаблона ранее согласованное ТЗ по схожему проекту.
Забытые требования к эксплуатации. Мы, как правило, увлекаемся проектированием самой ИС, а на продумывание структуры пользовательской документации, программы обучения, подходов к миграции данных – всего того, без чего наша ИС никогда не сможет полноценно работать – времени часто не остается.
Внутреннее согласование. Очень часто разработчиков и тестировщиков не приглашают к согласованию ТЗ. А это неправильно, потому что только эти специалисты смогут вовремя заметить существенные ошибки, которые заказчик, весьма вероятно, пропустит.
Общая рекомендация – если вы хотите, чтобы разработка, согласование и последующая реализация ТЗ не представляли собой череду неразрешимых проблем и мучений, используйте опыт предшественников, обобщенный в очень скучных, но таких полезных книжках, как:
a. ГОСТ серии 34.х и 19.х;
b. Стандарты ИСО/МЭК по системной инженерии;
c. Методологии внедрения конкретного ПО (ASAP, MSF, RUP и т. д.);
d. Рекомендации Свода знаний по бизнес-анализу (BABOK).
В данной статье я попытался подробно рассмотреть проблему разработки Технических заданий. Тема стара, как и проблема. Но она до сих пор часто решается «как получится». Как сказал Генри Шоу «Мелочи тревожат нас больше всего: легче увернуться от слона, чем от мухи».
О чем эта статья?
Меня часто спрашивают: «Как правильно разработать техническое задание для автоматизированной системы?». Аналогичная тема постоянно обсуждается на различных форумах. Этот вопрос настолько широкий, что ответить в двух словах никак нельзя. Поэтому я решил написать большую статью на данную тему. В процессе работы над статьей я понял, что уложить все в одной статье не выйдет, т.к. получится под 50 страниц и решил разбить ее на 2 части:
-
В первой части «Разработка Технического задания. Что это такое, зачем оно нужно, с чего начать и как должно выглядеть?» я подробно попытаюсь ответить на вопросы темы, рассмотрю структуру и назначение Технического задания, дам некоторые рекомендации по формулировке требований.
-
Вторая часть «Разработка Технического задания. Как формулировать требования?» будет полностью посвящена выявлению и формулировке требований к информационной системе.
Для начала надо разобраться, какой в действительности вопрос интересует тех, кто спрашивает «Как разработать техническое задание?» Дело в том, что от того, для каких целей это делается, а также кем будет использоваться, будет сильно зависеть и подход к разработке технического задания. О каких вариантах я говорю:
-
Коммерческая организация решила внедрить у себя автоматизированную систему. Она не имеет собственной IT-службы и решили поступить так: Заинтересованное лицо должно разработать Техническое задание и отдать его на разработку сторонней организации;
-
Коммерческая организация решила внедрить у себя автоматизированную систему. Она имеет собственную IT-службу. Решили поступить так: разработать Техническое задание, затем согласовать его между IT-службой и заинтересованными лицами, и реализовать собственными силами;
-
Госструктура решила затеять IT-проект. Тут все настолько мутно, куча формальностей, откатов, распилов и пр. Я не буду рассматривать такой вариант в данной статье.
-
IT-компания занимается услугами по разработке и/или внедрению автоматизированных систем. Это наиболее сложный случай, ведь приходится работать в самых различных условиях:
-
Клиент имеет своих специалистов со своими взглядами, и они предъявляют конкретные требования к Техническому заданию;
-
Техническое задание разрабатывается для собственных разработчиков (клиенту все равно);
-
Техническое задание разрабатывается для передачи подрядчику (т.е. группе программистов, находящихся за штатом компании, или отдельному специалисту);
-
Между компаний и клиентом возникает непонимание в вопросе полученного результата, и компания вновь и вновь задается вопросом: «Как надо разрабатывать Техническое задание?». Возможно, последний случай кажется парадоксом, но это правда.
-
Возможны и другие, реже встречающиеся варианты;
-
Думаю, сейчас у читателя должны возникнуть вопросы:
-
А почему нельзя разрабатывать Техническое задание всегда одинаково?
-
Существуют ли какие-то стандарты, методики, рекомендации? Где их взять?
-
Кто должен разрабатывать Техническое задание? Должен ли этот человек обладать какими-то специальными знаниями?
-
Как понять, хорошо составлено Техническое задание или нет?
-
За чей счет должно оно разрабатываться, да и нужно ли оно вообще?
Этот список может быть бесконечным. Говорю так уверенно от того, что уже 15 лет в профессиональной разработке программного обеспечения, а вопрос о Технических заданиях всплывает в любом коллективе разработчиков, с кем приходиться работать. Причины тому разные. Поднимая тему разработки Технического задания, я прекрасно отдаю себе отчет в том, что не смогу изложить ее на 100% для всех интересующихся темой. Но, попробую, как говорится «разложить все по полочкам». Те, кто уже знаком с моими статьями знают, что я не пользуюсь «копи-пастом» труда других людей, не перепечатываю чужие книги, не цитирую многостраничные стандарты и прочие документы, которые Вы и сами сможете найти в интернете, выдавая их за свои гениальные мысли. Достаточно набрать в поисковике «Как разработать Техническое задание» и Вы сможете прочитать много интересного, но, к сожалению, многократно повторяющегося. Как правило, те, кто любит умничать на форумах (попробуйте все-таки поискать!), сами никогда не делали толкового Технического задания, и непрерывно цитируют рекомендации ГОСТов по данному вопросу. А тем, кто действительно серьезно занимается вопросом, обычно некогда сидеть на форумах. Про ГОСТЫ, кстати, мы тоже поговорим. В разные годы своей работы мне приходилось видеть множество вариантов технической документации, составленной как отдельными специалистами, так и именитыми командами и консалтинговыми компаниями. Иногда еще я занимаюсь такой деятельностью: выделяю себе время и занимаюсь поиском информации на интересующую тему по необычным источникам (такой небольшой разведкой). В результате приходилось видеть документацию и по таким монстрам, как ГазПром, РЖД и много других интересных компаний. Конечно же, я соблюдаю политику конфиденциальности, несмотря на то, что эти документы попадают ко мне из общедоступных источников или безответственности консультантов (разбрасывают информацию по интернету). Поэтому сразу говорю: конфиденциальной информацией, которая принадлежит другим компаниям не делюсь, независимо от источников возникновения (профессиональная этика).
Как ни странно, проблемы у всех одинаковые! У всех бывают как успешные документы (и проекты), так и совсем бестолковые (исключение, пожалуй, составляют Технические задания, разработанные еще во времена, когда не было персональных компьютеров, но там были совсем другие условия). Почему так получается? Именно потому, что цели у проектов бывают разные, как и пользователи этих документов. И, конечно, компетенции непосредственных специалистов не на последнем месте. В этих двух статьях я попытаюсь поделиться своим личным опытом, накопленном за многие годы. Конечно, получится в сжатом виде, т.к. вопрос достоин целой книги (кстати, идея, а может написать?)…
Что такое техническое задание?
Первое, что мы сейчас сделаем, так это разберемся с тем, что за зверь такой, «Техническое задание».
Да, действительно существуют ГОСТы и стандарты, в которых предприняты попытки регламентировать эту часть деятельности (разработки программного обеспечения). Когда-то все эти ГОСТы были актуальны и активно применялись. Сейчас существуют разные мнения по поводу актуальности данных документов. Одни утверждают, что ГОСТы были разработаны очень дальновидными людьми и до сих пор актуальны. Другие говорят, что они безнадежно устарели. Возможно, кто-то сейчас подумал, что правда где-то по серединеJ. Я бы ответил словами Гете: «Говорят, что между двумя противоположными мнениями находится истина. Ни в коем случае! Между ними лежит проблема». Так вот, между этими мнениями истины нет. Потому как ГОСТы не раскрывают практических проблем современной разработки, а те, кто их критикует, альтернативы (конкретной и системной) не предлагают.
Заметим, что в ГОСТе явно не дано даже определения, сказано лишь: «ТЗ на АС является основным документом, определяющим требования и порядок создания (развития или модернизации — далее создания) автоматизированной системы, в соответствии с которым проводится разработка АС и ее приемка при вводе в действие».
Если кому-то интересно, о каких ГОСТах я говорю, то вот они:
-
ГОСТ 2.114-95 Единая система конструкторской документации. Технические условия;
-
ГОСТ 19.201-78 Единая система программной документации. Техническое задание. Требования к содержанию и оформлению;
-
ГОСТ 34.602-89 Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы.
Куда более удачное определение представлено в википедии (правда про ТЗ в целом, а не только для программного обеспечения ): «Техническое задание – это исходный документ на проектирование технического объекта. Техническое задание устанавливает основное назначение разрабатываемого объекта, его технические и тактико-технические характеристики, показатели качества и технико-экономические требования, предписание по выполнению необходимых стадий создания документации (конструкторской, технологической, программной и т. д.) и её состав, а также специальные требования. Задание как исходный документ на создание чего-то нового существует во всех областях деятельности, различаясь по названию, содержанию, порядку оформления и т. п. (например, проектное задание в строительстве, боевое задание, домашнее задание, договор на литературное произведение и т. д.)»
Отличное определение, полностью раскрывающее суть. Впрочем, требования ГОСТа направлены как раз на раскрытие этого определения. Я ни в коем случае не критикую требования ГОСТа, я просто утверждаю, что их там явно недостаточно, чтобы разработать эффективное Техническое задание. И это нормально, ведь есть ГОСТ, например, на изготовление хлеба, и это вовсе не значит, что любой человек может выпечь хлеб по ГОСТу. Кроме ГОСТа требуется знание методик и практик, как в любом деле. Именно этот факт лежит в корне проблемы, которая лежит посерединеJ. А многие специалисты почему-то при необходимости разработать Техническое задание, обращаются только к требованиям ГОСТа. Ну, давайте начнем жить по ГОСТу, посмотрим, что получится! Но ведь не может такого быть, что в столь распространенном занятии, как разработка и внедрение автоматизированных систем не проводилось исследований, не изучались практики, не писалось книг об этих самых практиках! И это так. Конечно, есть много отличных (!) трудов, посвященных тематике формулирования требований и в конце статьи я приведу такие примеры. Многое в своей практике я использовал именно оттуда, а когда работал над этой статьей, то тоже нашел много интересных мыслей, которыми рад буду поделиться. Так что, велосипеда изобретать не нужно, но есть потребность систематизировать эти знания. Кстати, любопытный факт, ни одного отечественного автора в этих трудах нет. Вся литература в переводе с западных авторов, но зато каких! Среди них есть просто виртуозы своего дела, у которых есть чему поучиться и нужно это делать. Иначе, споры о том, «Как разработать техническое задание» будут продолжаться бесконечно. Однако, я увлекся лирикой…
И так, как следует из определения, основное назначение Технического задания — сформулировать требования к разрабатываемому объекту, в нашем случае к автоматизированной системе.
Именно основное, но единственное. Настало время взяться за главное: разложить все «по полочкам», как и обещал.
Что необходимо знать о требованиях? Необходимо четко понимать, что все требования нужно разделять по видам и по свойствам. Сейчас мы научимся это делать. Для разделения требований по видам нам как раз поможет ГОСТ. Тот перечень видов требований, который там представлен, является хорошим образцом того, требования каких видов следует рассматривать. Например:
-
Требования в функциональности;
-
Требования к безопасности и правам доступа;
-
Требования к квалификации персонала;
-
…. И т.д. Вы можете прочитаете о них в упомянутом ГОСТе (а ниже я их тоже рассмотрю немного подробнее).
Думаю, для Вас очевидно, что ключевым фактором успешного Технического задания являются именно хорошо сформулированные требования к функциональности. Именно этим требованиям посвящено большинство работ и методик, о которых я говорил. Требования к функциональности – это 90% сложности работ по разработке Технического задания. Все остальное зачастую является «камуфляжем», который надет на эти требования. Если требования сформулированы плохо, то какой красивый камуфляж на них не натягивай, успешного проекта не выйдет. Да, формально все требования будут соблюдены (по ГОСТу J), ТЗ разработано, утверждено и подписано, деньги за него получены. И что? А дальше начнется самое интересное: что делать-то? Если это проект на ГосЗаказе, то проблем нет – там бюджет такой, что ни в какой карман не влезет, в процессе реализации (если она будет) все и будет выясняться. Именно таким образом и пилится большинство бюджетов проектов на ГосЗаказах (накалякали «ТЗ», слили десяток миллионов, а проект делать не стали. Все формальности соблюдены, виновных нет, новое авто возле дома. Красота!). Но ведь мы говорим о коммерческих организациях, где деньги считают, да и результат нужен другой. Поэтому давайте разбираться с главным, как разрабатывать полезные и работающие Технические задания.
Про виды требований я сказал, а что же со свойствами? Если виды требований могут быть различными (зависит от целей проекта), то со свойствами все проще, их 3:
-
Требование должно быть понятным;
-
Требование должно быть конкретным;
-
Требование должно быть тестируемым;
Причем последнее свойство невозможно без двух предыдущих, т.е. является этакой «лакмусовой бумажкой». Если результат выполнения требования невозможно протестировать, значит, оно либо не понятное, либо не конкретное. Подумайте об этом. Именно во владении этими тремя свойствами требований и заключается мастерство и профессионализм. На само деле все очень просто. Когда разберешься.
На этом повествование о том, что такое Техническое задание можно было бы завершить и перейти к главному: как формулировать требования. Но не так все быстро. Есть еще один крайне важный момент:
-
на каком языке (в смысле сложности понимания) должно быть написано техническое задание?
-
Должны ли быть описаны в нем спецификации различных функций, алгоритмы, типы данных и прочие технические штуки?
-
А что такое техническое проектирование, о котором, кстати, сказано и в ГОСТах, и как оно связано с Техническим заданием?
В ответах на эти вопросы кроется очень коварная вещь. Именно поэтому часто возникают споры о достаточности или отсутствии необходимой детализации требований, о понятности документа Заказчиком и Исполнителями, об избыточности, формате представления и т.д. А где вообще граница между Техническим заданием и Техническим проектом?
Так вот:
Техническое задание – это документ, в основе которого лежат требования, сформулированные на понятном (обычном, привычном) для Заказчика языке. При этом может и должна использоваться отраслевая терминология, понятная Заказчику. Никаких привязок к особенностям технической реализации быть не должно. Т.е. на этапе ТЗ в принципе не важно, на какой платформе будут реализовываться эти требования. Хотя есть исключения. Если речь идет о внедрении системы на основе уже существующего программного продукта, то такая привязка может иметь место, но только на уровне экранных форм, форм отчетов и пр. Выяснением и формулированием требований, а также разработкой Технического задания должен заниматься бизнес-аналитик. И уж никак не программист (если только он не совмещает в себе эти роли, такое случается). Т.е. этот человек должен говорить с Заказчиком на языке его бизнеса.
Технический проект – это документ, который предназначен для технической реализации требований, сформулированных в Техническом задании. Как раз в этом документе описываются структуры данных, триггеры и хранимые процедуры, алгоритмы и прочие штуки, которые потребуютсятехническим специалистам. Заказчику в это вникать вовсе не обязательно (ему и термины такие могут быть непонятны). Технический проект делает Архитектор системы (вот совмещение этой роли с программистом вполне нормально). А точнее группа специалистов во главе с архитектором. Чем больше проект, тем и больше людей работает над Техническим заданием.
Что мы имеем на практике? Забавно наблюдать, когда директору приносят на согласование Техническое задание, которое изобилует технической терминологией, описанием типов данных и их значений, структуры базы данных и пр. Он, конечно, пытается вникнуть, раз надо утверждать, пытаясь найти между строк знакомые слова и не потерять цепочку бизнес-требований. Что, знакомая ситуация? И чем это заканчивается? Как правило, такое ТЗ утверждается, затем реализуется, а в 80% случаев потом совсем не соответствует факту выполненных работ, т.к. много чего решили изменить, переделать, неправильно поняли, не так думали и т.д. и т.п. А потом начинается сериал про сдачу работ. «А вот тут не так как нам надо», а «это у нас работать не будет», «это слишком сложно», «это неудобно» и т.д. Знакомо?!! Вот и мне знакомо, пришлось набить шишек в свое время.
Так что мы имеем на практике-то? А на практике мы имеем размытую границу между Техническим заданием и Техническим проектом. Она плавает между ТЗ и ТП в самых разных проявлениях. И это плохо. А получается так потому, что культура разработки стала слабой. Частично это связано с компетенциями специалистов, частично со стремлением сократить бюджеты и сроки (ведь документация занимает много времени — это факт). Есть и еще один важный фактор, влияющий на использование Технического проекта как отдельного документа: стремительное развитие средств быстрой разработки, а также методологий разработки. Но это отдельная история, чуть ниже несколько слов об этом скажу.
Еще небольшой, но важный момент. Иногда Техническим заданием называют небольшой кусочек требований, простой и понятный. Например, доработать поиск объекта по каким-либо условиям, добавить колонку в отчет и пр. Такой подход вполне себе оправдан, зачем усложнять жизнь. Но применяется не на больших проектах, а на мелких доработках. Я бы сказал это ближе к сопровождению программного продукта. В этом случае в Техническом задании может быть описано и конкретное техническое решение реализации требования. Например, «В алгоритм такой-то внести такое-то изменение», с указанием конкретной процедуры и конкретного изменения для программиста. Это тот случай, когда граница между Техническим заданием и Техническим проектам полностью стирается, т.к. нет никакой экономической целесообразности раздувать бумаготворчество там, где это не нужно, а полезный документ создается. И это правильно.
Управленческий учет: с нуля до настройки в 1С, Excel и Google-таблицах
Уметь настраивать и вести управленку — значит быть полезным для руководителей. Научитесь понимать, откуда приходят и куда уходят деньги компании на курсе повышения квалификации от «Клерка».
А нужно ли вообще техническое задание? А Технический проект?
Не перегрелся ли я? Разве такое возможно, вообще без Технического задания? Представьте себе возможно (точнее, встречается), и у такого подхода есть много последователей, и их число увеличивается. Как правило, после того, как молодые специалисты начитаются книг про Scrum, Agile и прочие технологии быстрой разработки. На самом деле это замечательные технологии, и они работают, только в них не говорится дословно «не надо делать технических заданий». В них говорится «минимум бумаг», особенно ненужных, ближе к Заказчику, больше конкретики и быстрее к результату. Но фиксирование требований никто не отменял, и там это явно сказано. Как раз там требования и фиксируются исходя из трех замечательных свойств, о которых я говорил выше. Просто у некоторых людей так устроено сознание, что если можно что-то упростить, так давайте это упростим до полного отсутствия. Как сказал Эйнштейн «Сделай так просто, как возможно, но не проще этого». Золотые ведь слова, ко всему подходят. Так что Техническое задание нужно, иначе успешного проекта Вам не видать. Другой вопрос, как составлять и что туда включать. В свете методологий быстрой разработки надо сосредоточиться только на требованиях, а весь «камуфляж» можно отбросить. В принципе, я с этим согласен.
А что же с Техническим проектом? Данный документ весьма полезный и не утратил свою актуальность. Более того, часто без него просто не обойтись. Особенно, если речь идет о передаче работ по разработке на сторону, т.е. по принципу аутсорсинга. Если этого не сделать, есть риск узнать много нового о том, как должна выглядеть система, которую Вы задумалиJ. Должен ли с ним знакомиться Заказчик? Если хочет, почему нет, но настаивать и утверждать данный документ нет никакой необходимости, он будет только сдерживать и мешать работать. Спроектировать систему до мелочей практически невозможно. В этом случае придется непрерывно вносить изменения в Технический проект, что занимает немало времени. А если организация сильно забюрократизирована, то вообще все нервы там оставите. Как раз о сокращении такого рода проектирования и идет речь в современных методологиях быстрой разработки, о которых я упоминал выше. Кстати, все они базируются на классическом XP (экстремальном программировании)- подходе, которому уже порядка 20 лет. Так что сделайте качественное Техническое задание, понятно Заказчику, а Технический проект используйте как внутренний документ, для взаимоотношений между архитектором системы и программистами.
Интересная деталь по поводу технического проектирования: некоторые средства разработки, устроенные по принципу предметной ориентированности (типа 1С и аналогичных) предполагают, что проектирование (имеется ввиду процесс документирования) требуется только на действительно сложных участках, где требуется взаимодействие между собой целых подсистем. В простейшем случае, например создать справочник, документ, достаточно лишь правильно сформулированных бизнес-требований. Об этом говорит и стратегия бизнеса этой платформы в части подготовки специалистов. Если посмотреть на экзаменационный билет специалиста (именно так он называется, а не «программиста»), то Вы увидите, что там присутствуют лишь бизнес-требования, а как их реализовать на программном языке это и есть задача специалиста. Т.е. ту часть задачи, которую призван решать Технический проект, специалист должен решить «в голове» (речь идет о задачах средней сложности), причем здесь и сейчас, следуя определенным стандартам разработки и проектирования, которые формирует опять же компания 1С для своей платформы. Таким образом, из двух специалистов, результат работы которых внешне выглядит одинаково, один может экзамен сдать, а второй нет, т.к. грубо нарушил стандарты разработки. Т.е заведомо предполагается, что специалисты должны обладать такой квалификацией, чтобы типичные задачи проектировать самостоятельно, без привлечения архитекторов системы. И такой подход работает.
Продолжим исследование вопроса: «Какие требования включать в Техническое задание?»
Формулирование требований к информационной системе. Структура Технического задания
Сразу определимся: мы будет говорить именно о формулировании требований к информационной системе, т.е. предполагая, что работа по выработке бизнес-требований, формализации бизнес-процессов и вся предшествующая консалтинговая работа уже выполнена. Конечно, некоторые уточнения могут выполняться и на этом этапе, но именно уточнения. Сам проект автоматизации не решает проблем бизнеса – помните об этом. Это аксиома. Почему-то некоторые руководители пытаются ее опровергнуть, считая, что если купят программу, то наступит порядок в хаотичном бизнесе. Но ведь аксиома на то и аксиома, что доказательств не требует.
Как и любую деятельность, формулирование требований можно (и нужно) разделить на этапы. Всему свое время. Это тяжелый интеллектуальный труд. И, если относится к нему с недостаточным вниманием, то результат будет соответствующий. По экспертным оценкам, стоимость затрат на разработку Технического задания может составлять 30-50%. Я придерживаюсь такого же мнения. Хотя 50 – пожалуй, перебор. Ведь Техническое задание – это еще не последний документ, который должен быть разработан. Ведь еще должно быть и техническое проектирование. Такой разброс обусловлен различными платформами автоматизации, подходами и технологиями, применяемыми проектными командами при разработке. Например, если речь идет о разработке на классическом языке типа С++, то без детального технического проектирования тут не обойтись. Если речь идет о внедрении системы на платформе 1С, то тут с проектированием ситуация несколько иная, как мы видели выше (хотя, при разработке системы «с нуля», она проектируется по классической схеме).
Несмотря на то, что формулировка требований является основной частью Технического задания, а некоторых случая она становиться единственным разделом ТЗ, следует обратить внимание на то, что это важный документ, и оформлять его следует соответственно. С чего начать? В первую очередь начать надо с содержания. Составьте содержание, а затем начните его разворачивать. Лично я делаю так: сначала набрасываю содержание, описываю цели, всю вводную информацию, а затем принимаюсь за основную часть – формулировку требований. Почему не наоборот? Не знаю, мне так удобнее. Во-первых, это гораздо меньшая часть времени (по сравнению с требованиями), во-вторых, пока описываешь всю вводную информацию, настраиваешься на главное. Ну это кому как нравится. Со временем у Вас выработается свой шаблон Технического задания. Для начала рекомендую в качестве содержания взять именно тот, что описан в ГОСТ. Для содержания он подходит отлично! Затем берем и начинаем описывать каждый раздел, не забывая про рекомендации следования трем свойствам: понятности, конкретности и тестируемости. Почему я на этом так настаиваю? Об этом в следующем разделе. А сейчас предлагаю все-такт пройтись по тем пунктам ТЗ, которые рекомендуются в ГОСТе.
И так, ГОСТ рекомендует следующие разделы:
-
общие сведения;
-
назначение и цели создания (развития) системы;
-
характеристика объектов автоматизации;
-
требования к системе;
-
состав и содержание работ по созданию системы;
-
порядок контроля и приемки системы;
-
требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие;
-
требования к документированию;
-
источники разработки.
Итого, 9 разделов, каждый из которых тоже делится на подразделы. Разберем их по-порядку. Для удобства представлю все в виде таблицы по каждому пункту.
Раздел 1. общие сведения.
Рекомендации по ГОСТ |
Что с этим делать на практике |
полное наименование системы и ее условное обозначение; |
Тут все понятно: пишем, как будет называться система, ее краткое наименование |
шифр темы или шифр (номер) договора; |
Это не актуально, но можно и указать, если требуется |
наименование предприятий (объединений) разработчика и заказчика (пользователя) системы и их реквизиты; |
указывают, кто (какие организации) будут работать над проектом. Можно указать и их роли. Можно вообще удалить этот раздел (достаточно формальный). |
перечень документов, на основании которых создается система, кем и когда утверждены эти документы; |
Полезная информация. Тут стоит указать ту нормативно-справочную документацию, которую Вам предоставили для ознакомления с определенной частью требований |
плановые сроки начала и окончания работы по созданию системы; |
Пожелания по срокам. Иногда в ТЗ об этом пишут, но чаще такие вещи описываются в договорах на работы |
сведения об источниках и порядке финансирования работ; |
Аналогично, как и в предыдущем пункте про сроки. Более актуально для государственных заказов (для бюджетников) |
порядок оформления и предъявления заказчику результатов работ по созданию системы (ее частей), по изготовлению и наладке отдельных средств (технических, программных, информационных) и программно-технических (программно-методических) комплексов системы. |
Не вижу необходимости в этом пункте, т.к. требования к документированию вынесены отдельно, а кроме этого есть целый отдельный раздел «Порядок контроля и приемки» системы. |
Раздел 2. назначение и цели создания (развития) системы.
Рекомендации по ГОСТ |
Что с этим делать на практике |
Назначение системы |
С одной стороны с назначением все просто. Но желательно формулировать конкретно. Если написать что-то вроде «качественно автоматизировать складской учет в компании Х», то потом можно долго обсуждать результат при его завершении, даже независимо от хорошей формулировки требований. Т.к. Заказчик всегда может говорить, что под качеством он имел ввиду нечто иное. В общем, нервов можно попортить друг другу много, а зачем? Лучше сразу написать примерно так: «Система предназначена для ведения складского учета в компании Х в соответствии с требованиями, зафиксированными в данном Техническом задании». |
Цели создания системы |
Цели – это безусловно важный раздел. Если уж его включать, то надо уметь эти цели формулировать. Если у Вас трудности с формулировкой целей, то лучше вообще исключить данный раздел. Пример неудачной цели: «Обеспечить быстрое оформление документов менеджером». Что такое быстрое? Это можно потом доказывать бесконечно. Если это важно, то лучше переформулировать данную цель так: «Менеджер по продажам должен иметь возможность оформить документ «Реализация товаров» из 100 строк за 10 минут». Подобная цель может появиться, если, например, в настоящее время менеджер тратит на это около часа, что слишком много для этой компании и для них это важно. В такой формулировке цель уже пересекается с требованиями, что вполне естественно, т.к. при разворачивании дерева целей (т.е. дробя их на более мелкие связанные цели), мы и так будем приближаться к требованиям. Поэтому, увлекаться не стоит. Вообще, умение выделять цели, формулировать их, строить дерево целей это тема совершенно отдельная. Запомните главное: умеете – пишите, не уверены – вообще не пишите. А что будет, если не сформулировать цели? Будете работать по требованиям, такое часто практикуется. |
Раздел 3. Характеристика объектов автоматизации.
Рекомендации по ГОСТ |
Что с этим делать на практике |
краткие сведения об объекте автоматизации или ссылки на документы, содержащие такую информацию |
На практике обычно это не включают. Но можно привести ссылки на документы, которые полезно изучить составу проектной команды для погружения в вопрос (отраслевые особенности, например) |
сведения об условиях эксплуатации объекта автоматизации и характеристиках окружающей среды |
Не актуально для проектов по автоматизации учета |
Раздел 4. Требования к системе
Рекомендации по ГОСТ |
Что с этим делать на практике |
Требования к системе в целом. ГОСТ расшифровывает перечень таких требований:
|
Несмотря на то, что основным, безусловно, будет раздел с конкретными требованиями (функциональными), данный раздел тоже может иметь большое значение (и в большинстве случаев имеет). Что может оказаться важным и полезным:
Все остальные требования менее важны и можно их не описывать. На мой взгляд, они только утяжеляют документацию, и практической пользы несут немного. А Требования к эргономике описывать в виде общих требований очень сложно, лучше их перенести к функциональным. Например, может быть сформулировано требование «Получить информацию о цене товара нажав только одну кнопку». На мой взгляд, это все-таки ближе к конкретным функциональным требованиям, хоть и относится к эргономике. |
Требования к функциям (задачам), выполняемым системой |
Вот он, тот самый главный и ключевой пункт, который будет определять успех. Даже если все остальной сделать на отлично, а этот раздел на «3», то и результат по проекту будет в лучшем случае на «3», а то и вообще проект провалится. Именно эти мы и займемся более детально во второй статье. Именно к этому пункту относится «правило трех свойств требований», о которых я говорил. |
Требования к видам обеспечения ГОСТ выделяет такие виды:
|
На первый взгляд может показаться, что эти требования не важны. В большинстве проектов это действительно так. Но не всегда. Когда стоит описывать данные требования:
|
Раздел 5. Состав и содержание работ по созданию системы
Рекомендации по ГОСТ |
Что с этим делать на практике |
Перечень стадий и этапов работ по созданию системы в соответствии с ГОСТ 24.601, сроки их выполнения, перечень организаций — исполнителей работ, ссылки на документы, подтверждающие согласие этих организаций на участие в создании системы, или запись, определяющую ответственного (заказчик или разработчик) за проведение этих работ |
Другими словами, это план разработки системы, ее этапность, возможность привлечения подрядчиков и т.п. |
Раздел 6. Порядок контроля и приемки системы
Рекомендации по ГОСТ |
Что с этим делать на практике |
Виды, состав, объем и методы испытаний системы и ее составных частей (виды испытаний в соответствии с действующими нормами, распространяющимися на разрабатываемую систему); Общие требования к приемке работ по стадиям (перечень участвующих предприятий и организаций, место и сроки проведения), порядок согласования и утверждения приемочной документации; |
Настоятельно рекомендую с ответственностью отнестись к порядку сдачи работ и проверке системы. Именно для этого и нужны тестируемые требования. Но даже наличие тестируемых требований может оказаться недостаточно при сдаче системы, если четко не прописан порядок приемки-передачи работ. Например, распространенная ловушка: система сделана, вполне работоспособна, но Заказчик по каким-либо причинам не готов в ней работать. Причины эти могут быть любые: некогда, поменялись цели, кто-то уволился и т.п. И говорит: «Поскольку мы еще не работаем в новой системой, значит и не можем быть уверены, что она работает». Так что учитесь правильно выделять этапы работ, способы проверки результатов по этим этапам. Причем Заказчику такие способы должны быть понятны изначально. Если они зафиксированы на уровне Технического задания, то всегда можно при необходимости к ним обратится и подвести работы с передаче. |
Раздел 7. Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие
Рекомендации по ГОСТ |
Что с этим делать на практике |
Приведение поступающей в систему информации (в соответствии с требованиями к информационному и лингвистическому обеспечению) к виду, пригодному для обработки с помощью ЭВМ; |
Весьма важный момент. К примеру, для функционирования системы так, как задумано, может потребоваться использование каких-либо отраслевых или общероссийских справочников и классификаторов. Эти справочники должны каким-то образом появляться в системе, обновляться и правильно использоваться. Могут быть и любые другие правила ввода информации, принятые в компании (или планируемые). Например, информация о договоре раньше заносили текстовой строкой в произвольном виде, а теперь требуется номер отдельно, дату отдельно и т.д. Таких условий может быть очень много. Часть из них может быть воспринята с сопротивлением персонала, поэтому лучше все такие случаи прописать на уровне требований к порядку ввода данных |
Изменения, которые необходимо осуществить в объекте автоматизации Создание условий функционирования объекта автоматизации, при которых гарантируется соответствие создаваемой системы требованиям, содержащимся в ТЗ |
Любые изменения, которые могут потребоваться. Например, в компании отсутствует локальная сеть, устаревший парк компьютеров, на которых система не заработает. Возможно, какая-то необходимая информация обрабатывалась на бумаге, а теперь ее необходимо вводить в систему. Если этого не делать, то какой-либо модуль не заработает и т.п. Возможно, что-то упрощалось, а теперь требуется учитывать более детально, соответственно кто-то должен собирать информацию по определенным правилам. Этот перечень может быть длинным, смотрите на конкретный случай своего проекта. |
Создание необходимых для функционирования системы подразделений и служб; Сроки и порядок комплектования штатов и обучения персонала |
Про это мы уже говорили ранее. Возможно, система разрабатывается под новую структуру или вид деятельности, которого раньше не было. Если не будет соответствующего персонала, да еще и обученного, то система не заработает, как грамотно ее не строй. |
Раздел 8. Требования к документированию
Рекомендации по ГОСТ |
Что с этим делать на практике |
Согласованный разработчиком и Заказчиком системы перечень подлежащих разработке комплектов и видов документов |
Наличие полноценной документации – важная часть результата. Все мы знаем, что документирование чего-либо трудоемкий труд. Поэтому, необходимо заранее оговорить с Заказчиком, какие виды документации будут разрабатываться, как они будут выглядеть (содержание и желательно примеры). Подумайте, как будут представлены руководства пользователя. Возможно, у Заказчика есть принятые корпоративные стандарты, значит надо к ним обращаться. Игнорирование требований к документации очень часто приводит к самым неожиданным последствиям на проектах. Например, все сделано и все работает. Пользователи тоже умеют работать. Про документацию вообще не договаривались и не разговаривали. И вдруг при сдаче работ кто-то из топ-менеджеров Заказчика, который даже не участвовал в проекте, но участвует в приемке работ, Вас спрашивает: «А где руководства пользователя?» И начинает Вас убеждать, что о наличии руководств пользователя договариваться было и не нужно, это «само собой» якобы подразумевается. И все, не хочет принимать у Вас работу. За чей счет будете разрабатывать руководства? На этот крючок попадали уже многие команды. |
Раздел 9. Источники разработки
Рекомендации по ГОСТ |
Что с этим делать на практике |
Должны быть перечислены документы и информационные материалы (технико-экономическое обоснование, отчеты о законченных научно-исследовательских работах, информационные материалы на отечественные, зарубежные системы-аналоги и др.), на основании которых разрабатывалось ТЗ и которые должны быть использованы при создании системы. |
Если честно, это ближе к лирике. Особенно, когда говорят об экономическом эффекте и пр. вещах, которые объективно посчитать практически невозможно. Т.е. можно конечною, то это будет скорее на бумаге, чисто теоретически. Поэтому, лучше сослаться просто на отчет об обследовании, требования ключевых лиц. |
И так, мы рассмотрели все разделы, которые могут быть включены в Техническое задание. «Могут», а не «Обязаны» именно потому, что любой документ должен разрабатываться для достижения результата. Поэтому, если для Вас очевидно, что какой-то отдельный раздел к результату не приблизит, значит он Вам не нужен и не надо тратить на него время.
Но вот без главного: функциональных требований ни одно грамотно Техническое задание не обходится. Хочу заметить, что в практике такие Технические задания встречаются, и еще как! Есть деятели, которые сумеют развести воды по всем разделам, опишут общие требования общими словами, и документ получается весьма увесистый, и слов в нем умных много, и даже Заказчику может понравится (т.е. он его утвердит). Но вот работать по нему может не получиться, т.е. практической пользы от него мало. В большинстве случаев такие документы рождаются, когда надо получить много денег именно под Техническое задание, а сделать его надо быстро и не погружаясь в детали. А особенно, если известно, что дальше дело не пойдет, или его будут делать совсем другие люди. В общем, просто для освоения бюджета, особенно государственного.
Во второй статье будем говорить только о разделе 4 «Требования к системе», а конкретно мы будет формулировать требования из соображений понятности, конкретности и тестируемости.
Почему требования должны быть понятными, конкретными и тестируемыми.
Потому, что практика показывает: по началу большинство ТЗ, которые разрабатывают специалисты либо оказываются не востребованы (не соответствуют действительности), либо становятся проблемой для того, кто из должен реализовать, т.к. Заказчик начинает манипулировать неконкретными терминами и требованиями. Приведу несколько примеров того, какие фразы встречались, к чему это приводило, а затем попробую дать рекомендации, как избежать подобных проблем.
Вид требования |
Неправильная формулировка |
Комментарий и как можно было сформулировать |
Функциональность |
«Сумма затрат должна корректно распределяться по соответствующим товарам» |
Понятное ли это требование? В общем-то понятное, речь идет о распределении неких затрат по группе товаров. Конкретное ли это требование? Не сказано, как должна распределяться затрата, по сумме, по количеству, равномерно или как-то иначе? Тестируемое ли это требование? Вроде бы простая вещь, но как ее проверять, если нет конкретики? Как можно было бы это переформулировать: «Сумма затрат, указанная в документе, должна распределиться на все товары, указанные в данном документе пропорционально стоимости этих товаров». Получилось и понятно, и конкретно. Как проверить тоже не составит труда. |
Эргономичность |
Программа должна иметь удобный интерфейс |
Признаться, под данной формулировкой пришлось однажды подписаться самому – проблем потом было не сосчитать. Конечно же, подобных формулировок быть не должно. Тут нет не конкретики, ни возможность проверить это требование. Хотя, безусловно, понятное (субъективно). Тут переформулировать никак нельзя, надо подробно расписывать каждый элемент «удобности», раз Заказчик на этом настаивает. Например:
|
Разграничение прав доступа |
Доступ к данным по прибыли должен быть доступен только финансовому директору |
Понятно? Почти. Правда, прибыль бывает разная, надо уточнить. Конкретно? Конечно нет. Как это видится в реализации? Если речь идет о валовой прибыли, то значит необходимо ограничивать доступ к данным о стоимости закупки, т.к. в противном случае валовую прибыль вычислить не составит труда, поскольку данные о стоимости реализации известны широкому кругу лиц. К тому, что относится к правам доступа, надо относиться очень аккуратно. А если у менеджеров по продажам мотивация построена на валовой прибыли, так эти требования еще и противоречат друг другу, т.к. менеджеры никогда не смогут это проверить. Если уж включать такое требование, то нужно указывать конкретные отчеты и объекты системы, в которых указывать, какая часть данных должны быть доступна отдельным категориям лиц. И рассматривать каждый такой случай индивидуально. |
Производительность |
Отчет по продажам должен формироваться за 1 минуту. |
Да, понятно. И даже есть конкретное ограничение по времени: 1 минута. Но не известно, какая детализация при этом предполагается: по каждому товару, группам товаров, клиентам или как-то еще? Можно сформулировать примерно так: «Отчет по продажам в разрезе клиентов с детализацией до каждой товарной позиции (см. образец) должен выводится не более, чем за 1 минуту при условии, что количество товаров в выборке не превышает 5000 строк». |
Надеюсь, идея понятна. Если будут конкретные вопросы, пишите, попробую помочь.
Чтобы в Техническом задании было больше конкретики, существует немало рекомендаций. Даже есть перечень слов, которые употреблять в Техническом задании не рекомендуется. Интересно об этом пишет К.Вигерс, в своей книге «Разработка требований к программному обеспечению». Приведу самые интересные и простые, на мой взгляд, рекомендации:
-
Не следует использовать слов, имеющих множество синонимов. Если это необходимо, то лучше дать четкое определение термину в разделе «Термины и определения» к Техническому заданию.
-
Следует стараться не использовать длинных предложений;
-
Если какое-то требование Вам кажется слишком общим, его необходимо детализировать до более мелких, но конкретных требований;
-
Используйте больше схем, графиков, таблиц, рисунков – так информацию воспринимается гораздо легче;
-
Следует избегать таких слов: «эффективный», «адекватный», «простой», «понятный», «быстрый», «гибкий», «улучшенный», «оптимальный», «прозрачный», «устойчивый», «достаточный», «дружественный», «легкий» и др. Перечень можно продолжать, но, мне кажется идея понятна (попробуйте его продолжить самостоятельно).
Все, что написано выше, это информация важная, но не самая. Как Вы помните, в начале статьи я это назвал термином «камуфляж», т.к. самое главное, что составит как минимум 90% времени и сложности работы над документом – это выявление и формулировка требований. А информацию о требованиях надо еще суметь собрать, структурировать и сформулировать. В этом, кстати, много общего между обследованием деятельности предприятий с последующим описанием бизнес-процессов. Но есть и важные различия. Одно из таких ключевых отличий – это наличия этапа построения прототипа будущей системы, или как его еще называют «модели информационной системы».
В следующей статье мы будем говорить только о методиках выявления требований, а также рассмотрим, что общего между работой по сбору требований к информационной системе и сбору информации для описания бизнес-процессов.
06.04.2022
Основываясь на 23 летнем опыте работы в бизнесе ИТ компании, я четко могу сказать, что в 90% всех обращений клиентов за внедрением 1С, разработкой дополнительного функционала или автоматизаций 1С нет четко сформулированной цели и критериев результата, что приводит к недопониманию целей и процесса реализации, к объемам работ и выделяемого бюджета.
Один не спросил, другой не сказал. Попробуем разобраться подробнее, что с этим делать. Как сделать внедрение 1С максимально эффективным, а автоматизацию результативной.
Это совершенно не говорит о том, что заказчик не знает, что ему нужно. Это значит, что он не может донести свою мысль, свою идею до собственной ИТ службы или компании-разработчика.
С другой стороны, бытует мнение, что программист 1С должен знать все, обладать знаниями в любой области деятельности бизнеса и с полуслова понимать любого пользователя информационных систем, предвидеть всевозможные отклонения и риски.
Идеальный вариант разработчика 1С, когда он же руководитель в своей компании. Тогда процессы происходят в одной голове, и проблем при передаче информации не существует.
При других вариантах, даже если программист 1С вам озвучит, что да, он все понял, имейте ввиду, что понял настолько, насколько он понимает ваш процесс и вашу специфику.
Рассмотрим кейс одной компании «Не идет баланс»
Звонок бухгалтера программисту 1С: «Вадим, мне срочно нужно исправить баланс, он не идет на 5000 рублей!» Мысли программиста 1С: «Не идет актив с пассивом, сейчас открою форму отчета через конфигуратор и допишу в формуле пассива «-5000» и делов-то!» Выполняет задание. Проходит 10 минут. Программист сообщает бухгалтеру, что все выполнено — пусть проверяет.
Бухгалтер счастлива, какой с ней замечательный специалист работает, берет дешево, делает быстро, просто волшебник!
А теперь давайте разберем этот кейс с помощью следующих вопросов:
- Четко ли бухгалтер поставила задачу?
- Правильно ли понял ее специалист?
- Соответствует ли решение истинному запросу бухгалтера?
- Устраивает ли полученный результат работы специалиста бухгалтера?
- По каким критериям проводится приемка работ?
Предположим, что у нас опытный главный бухгалтер, который имеет представление о принципах двойной записи в учете. А вот программист 1С умеет программировать, но не знает бухгалтерского учета, но не говорит об этом бухгалтеру.
- При постановке задачи «не идет баланс» она озвучила ожидаемый результат, что в итоге она хочет решить, но не обозначила, в чем конкретно причина.
- Разработчик 1С понял задачу ровно так, как ее поставили: если не идут две колонки отчета, их нужно уравнять в формуле расчета этих колонок.
- Метод решения направлен не на исправление и поиск ошибки в учете, а на механику формирования отчета.
- Подобный результат может устроить неквалифицированного бухгалтера, а вот профессиональный обязательно спросит, а что было исправлено, где была допущена ошибка.
- Главное, какой критерий приемки работ ожидается бухгалтером, механика отчета или поиск причины выявленного отклонения и ее исправление.
Кейс от компании «У нас процессы согласования как у всех»
Запрос от директора производственного предприятия по внедрению внутреннего электронного документооборота в компании.
Целью озвучено «ускорение процесса согласования рассмотрения договоров от поставщиков». Сейчас на предприятии процесс происходит на протяжении 2-3 недель, потому что очень много ответственных в листе согласования.
Запрос: «Рассчитайте нам стоимость внедрения 1С:Документооборота, и побыстрее. Процессы у нас такие же, как во всех предприятиях. Ждем от вас предложение, выбираем по цене, конечно, же. Где дешевле, там нам выгоднее».
Вопрос от специалиста 1С для осуществления расчета трудозатрат по внедрению: «Можете ли предоставить зафиксированный процесс согласования, существующий сейчас в зависимости от вида документа?
Есть ли какие либо особенности, например, по договорам до 100 тысяч рублей или более 100 тысяч рублей?
Ответ со стороны заказчика: «Вы же профессионалы, вам виднее, вы сами все должны знать. Ждем предложения от вас.»
Результат таких запросов очень часто бывает следующим:
- Подготавливается коммерческое предложение по внедрению программы, среднестатистической, которое в дальнейшем не попадает в бюджет при реализации проекта в связи с тем, что особенности предприятия открываются в каждом процессе. Это приводит к негативу с обеих сторон и расторжению договора, бессмысленной трате денег и сил с обеих сторон.
- Подготавливается коммерческое предложение по внедрению программы, в которое закладываются существенные возможные риски (те, кто уже попадал в первый вариант развития событий). И снова провал: стороны не договорились, потому что цены слишком большие и непонятно, из чего взяты для расчета.
Как же избежать траты времени и бессмысленного слива денег на неудачные проекты? Возвращаемся к нашим вопросам:
- Четко ли поставлена задача? — конечно, нет
- Правильно ли понял ее специалист 1С? — понял из своего опыта (заложил риски своих неудач).
- Соответствует ли решение истинному запросу директора? — я бы сформулировала цель следующим образом: «Сейчас компания теряет …. тыс. рублей из-за длительных сроков согласования внутри компании. Во сколько нам обойдется внедрение этого процесса, чтобы ускорить процесс до 2-4 часов».
- Устраивает ли полученный результат работы компании? — однозначно нет. Оба варианта принесли затраты как времени, так и денег, не принеся положительного результата.
- По каким критериям проводится приемка работ? — критерии не были озвучены.
Так что же делать?
В кейсах уже есть наводка на вектор направления для решения. Но немаловажно зафиксировать информацию и закрепить ее с двух сторон.
Одним из эффективных источников фиксации информации является технического задание.
Давайте рассмотрим структура технического задания со стороны заказчика:
1. В какой системе предполагается разработка/интеграция между какими системами.
Данная информация важна для разработчика, чтобы понимать, какие типовые возможности существуют в указанной системе, чтобы максимально использовать имеющийся функционал.
Например: создание дублирующего справочника «Причины отказа клиентов» от заказа клиента, или дублирование «Сегмента номенклатуры».
Интеграцию, синхронизацию, обмен с другими внешними системами необходимо предусмотреть заранее, чтобы проконтролировать влияние разработки на эти обмены. Например: «Сегмент номенклатуры» необходим ли он при выгрузке данных на сайт.
2. Кто выступает инициатором со стороны заказчика (ФИО, должность, контакты, доступность данного лица в ближайшие 3 месяца)
Эти данные необходимы для уточнения и согласования деталей по задаче. Иногда ответственным назначают человека, до которого очень сложно достучаться из-за его высокой загруженности, или он отсутствует на предприятии продолжительное время (отпуск, больничный, командировки). А от этого будут зависеть сроки приемки и тестирования работ.
3. Критичность задачи по сроку реализации
Обычно клиент говорит, что разработка нужна была еще вчера, сроки горят. Здесь нужно реально подойти к вопросу сроков и принять решение решить вопрос в ручном режиме, или срок реализации разработки уложится в ваши ожидания.
4. Название и путь до базы данных
Для экономии времени на организационные моменты уходит до 8 часов, и это только для того, чтобы уточнить, из какой базы данных выгрузить копию или на какой базе потом проверять доработку.
5. Какой вариант работ предпочтителен (доступ к копии базы данных на сервере заказчика; передача копии базы данных разработчику; разработка на типовом функционале без подключения к данным заказчика)
- Подключение к серверу и разворачивание копии для разработки и тестирования потребует места на вашем сервере, к этому нужно быть готовым.
- Передача базы разработчику обычно происходит после оформления соглашения о конфиденциальности. Разворачивается она на отдельном диске с ограниченным доступом для сотрудников компании. В этом случае все работы производятся на серверах исполнителя.
- Вариант разработки на типовой конфигурации предусматривает отсутствие прямого доступа к вашей базе данных, но увеличивает объем работ по внесению данных для тестирования и корректности отработки кода.
- В нашей компании разработан еще один вариант. При заключении договора на выполнение работ мы настраиваем регламенты снятия копий на отдельные выделенные защищенные сервера для хранения. Доступ к этим копиям есть у системного администратора заказчика и у нас, как у ответственных за регламент снятия бэкапов. В этом случае нам не приходиться беспокоить заказчика и копии для разработок мы разворачиваем самостоятельно.
6. В чьей зоне компетентности подготовка копии баз данных, настройка бэкапов базы разработки, загрузка изменений для тестирования, загрузка в рабочую базу данных (ФИО, должность, контакты, доступность).
От ответа на этот пункт зависит, включается ли в объем работ время на загрузку и выгрузку копий для разработки, на организацию бэкапов этой базы в случае объемных работ.
7. Описание самой задачи
Очень важно сформулировать задачу правильно и четко. Некорректный вариант: создайте обработку по замене сырья в спецификациях.
Корректный вариант: разработать для технолога производства инструмент по замене сырья в спецификациях с указанием коэффициента списания сырья через создание новой спецификации в статусе «Действующая». Предусмотреть перевод в статус «Не действующая» спецификаций, по которым прошла замена сырья.
8. Ожидаемый результат
Результат всегда должен быть измерим. Поэтому при формулировке обязательно отвечаем на вопросы, кто будет пользоваться данным результатом, какую эффективность он получит, в чем это может быть выражено и как замерить эффективность.
9. Описание текущего бизнес-процесса
Если вы умеете описывать процессы в графическом виде, это замечательно. Если же нет, то придется описать в словесной форме. Возьмем вышеуказанную задачу для примера.
Технолог получает задачу от директора по производству заменить наименование импортного сырья на российский аналог с 01.04.2022 года.
Технолог, получив задание, в ручном режиме открывает спецификации, в которых присутствует импортное сырье, и меняет его на российский аналог. Технолог не успевает выполнить задание в срок, так как объем спецификаций очень большой.
В результате, при оформлении заказа в производство списывается импортное сырье, которого нет фактически на складе. А российский аналог копится на складе, искажая реальные остатки для своевременной закупки следующей партии.
10. Описание желаемого бизнес-процесса
Пример того, что хотим: Технолог, получив задание от начальника производства, формирует журнал спецификаций в базе 1С:ERP (1С:Управление производственным предприятием). Через отбор выбирает сырье, которое необходимо заменить, проставляет, на какое сырье требуется заменить. При этой манипуляции старые спецификации сохраняются по сроку действия, так как они уже запущены и участвуют в выпуске продукции. А новые спецификации с российским аналогом сырья начинают действовать с определенной даты и будут задействованы при оформлении нового заказа в производство. Технолог должен успевать в срок до 1 дня по исполнению задачи по замене сырья в спецификациях, при этом списание сырья при выпуске продукции должно произвестись по действующей спецификации на момент запуска заказа в производство.
11. Ограничения
Здесь обычно прописываются права пользователей или же, например, какие организации заказчика подлежат выгрузке в другую систему, или ограничение по категории номенклатуры для выгрузки на сайт или маркетплейс.
Пример: Данный функционал доступен только для пользователя технолог. У бухгалтеров не должно быть права менять спецификацию самостоятельно.
12. Как будет происходить тестирование разработки и кто принимает в нем участие
Описываем последовательность действий пользователя при тестировании. Не забыть проверку описанных ограничений.
Сразу будет понятно, кто из персонала заказчика потребуется для тестирования, и необходимо будет предусмотреть возможность выделить им время для тестирования.
Пример: Технолог заходит под своим пользователем в 1С:ERP, открывает раздел АРМ Технолога, выбирает импортное сырье и осуществляет отбор спецификаций со статусом «действующая». Выбираем позицию для замены из российского сырья, проставляет коэффициент списания по сравнению с импортным сырьем и запускает обработку. Фиксируем время выполнения – тайминг.
Начальник производства заходит под своим пользователем в 1С:ERP, производит тестовый запуск нового заказа на производство, делаем тестовый выпуск продукции и проверяем, по каким спецификациям списалось сырье на выпуск.
Если обнаруживаются отклонения, фиксируем в протокол тестирования для дальнейшей отработки с разработчиками.
Заходим в 1С:ERP под пользователем бухгалтер, пробуем изменить спецификацию. Если обнаруживаются отклонения, снова фиксируем в протокол.
13. При достижении каких критериев/ показателей работы считаются принятыми
Важно прописать измеримые и понятные показатели. Например:
- технолог на замену спецификаций должен потратить не более 4 часов;
- корректность данные проверяется сопоставлением с отчетом «Ведомость по остаткам на складах» по графе списание за день;
- оформление заказа клиента у менеджера должно занимать не более 5 секунд при звонке постоянного клиента с подбором истории продаж;
- списание сырья на основании выпуска из производства должно соответствовать количеству в действующей спецификации на дату запуска заказа.
14. Анализ эффективности доработки для компании (экономический эффект от внедрения)
Расчет экономического эффекта важен для понимания того, сколько средств вы сэкономили для компании, сопоставив их с объемом средств по разработке. Исходя из этих данных и формируется понимание эффективного сотрудничества с ИТ специалистами.
Например: перевод диспетчерской службы 7 подразделений Хлебзавода на 1С:ERP сэкономила компании более 776 400 рублей ежемесячно.
Расчет до внедрения: 7 заводов, в каждом на приеме заказов работало по 3 диспетчера в смене при минимальной зарплате 12 000, график сутки через двое. Получаем сумму: 7 производственных площадок * 3 смены * 3 диспетчера * 12 000 (зп) = 756 000 ежемесячно + 24% налоги с ФОТ = 937 440 рублей ежемесячно.
Расчет после внедрения: централизовали диспетчерскую службу, перевели ее в управляющую компанию. В центральную диспетчерскую перевели 5 сотрудников, график работы Пн.-Пт., дежурства Сб, Вс не полным составом. Максимально автоматизировали прием заказов от торговых сетей без участия диспетчеров, прием заказов по телефону не более 5 сек. на заказ, при звонке через АТС программа сама определяет клиента и сразу выводит на экран диспетчеру заказ клиента в открытом виде с подобранными товарами, которые они брали за последние 7 дней, цена уже стоит в заказе, диспетчеру осталось только количество внести со слов клиента. Средний чек по заказу вырос, так как программа автоматически подсказывает, что еще клиент может заказать к пасхе, например. Итог: 5 человек * 26 000 рублей + 24% налоги с ФОТ = 161 000 рублей ежемесячно.
Экономия в результате автоматизации 776 400 рублей! Стоимость проекта на 2020 год по этому этапу составила 2,5 млн. рублей включая оборудование по IP телефонии. Затраты по проекту окупили себя за 3,5 месяца!
Когда подводится экономический эффект от внедрения, приходит понимание, что это того стоило.
Я призываю Вас принять участие в нашей мастерской и отработать навык составления технического задания на практике.
Наша компания Soft+ 5 апреля провела закрытую экспериментальную мастерскую «Напиши техническое заданием сам», направленную на подготовку пользователей 1С самостоятельно составлять технические задания как своим ИТ службам, так и ИТ компаниям.
Эксперимент признали удачным, и мы готовы выпустить формат данной мастерской в общедоступный режим. Узнать подробнее вы можете, перейдя по ссылке.