Техническое задание на создание автоматизированной информационной системы. Пример технического задания для рецензирования

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

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

Техническое задание - это документ, определяющий цели, требования и основные исходные данные, необходимые для разработки ИС. ТЗ на ИС является основным документом, определяющим требования и порядок создания, развития или модернизации ИС, в соответствии с которым проводится её разработка, ввод в действие и приёмка.

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

силами самого заказчика;

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

конкурсными исполнителями, чьи обязанности включают только написание ТЗ;

силами сторонних исполнителей.

Для тех ТЗ, которые пишутся исполнителем, существует ряд нормативной документации:

ГОСТ 21.408-93 «Правила выполнения рабочей документации автоматизации технологических процессов»;

ГОСТ 34.201-89 «Виды, комплектность и обозначение документов при создании автоматизированных систем»;

ГОСТ 24.703-85 «Типовые проектные решения в АСУ. Основные положения»;

ГОСТ 34.003-90 «Автоматизированные системы. Термины и определения»;

ГОСТ 34.601-90 «Автоматизированные системы. Стадии создания»;

ГОСТ 34.602-90 «Техническое задание на создание автоматизированной системы»;

ГОСТ 19.201- 78 Единая система программной документации;

ГОСТ 2.114-95 Единая система конструкторской документации.

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

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

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

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

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

Титульный лист дополнения к ТЗ оформляют аналогично титульному листу технического задания. Вместо наименования «Техническое задание» пишут «Дополнение №... к ТЗ на AC... »

На последующих листах дополнения к ТЗ помещают основание для изменения, содержание изменения и ссылки на документы, в соответствии с которыми вносятся эти изменения.

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

На начальном этапе разработки ТЗ исполнитель создает примерный план содержания.

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

Назначения и цели создания системы;

Характеристика объекта автоматизации;

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

Условия эксплуатации;

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

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

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

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

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

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

Техническое задание на разработку ИС медицинского учреждения размещено в приложении Б.

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

  • Введение
  • 1. Техническое задание
  • 1.1 Общие сведения
  • 1.2 Основания для разработки
  • 1.3 Назначение и цели создания системы
  • 1.4 Требования к системе
  • 1.4.1 Требования к системе в целом
  • 1.4.2 Требования к функциям (задачам), выполняемым системой
  • 1.4.3 Требования к видам обеспечения
  • 1.5 Характеристика объектов автоматизации
  • 1.6 Требования к документированию
  • 1.7 Стадии и этапы разработки
  • 1.7.1 Стадии разработки
  • 1.7.2 Этапы разработки
  • 1.7.3 Содержание работ по этапам
  • 1.8 Порядок контроля и приемки системы
  • 1.8.1 Виды, состав, объем и методы испытаний системы и ее составных частей
  • 1.8.2 Общие требования к приемке работ по стадиям
  • 1.8.3 Статус приемочной комиссии (государственная, межведомственная, ведомственная)
  • 2. Технический проект
  • 2.1 Функциональная структура
  • 2.1.1 Описание предметной области
  • 2.1.2 Функции и организационная структура
  • 2.1.3 Описание потоков данных и бизнес процессов
  • 2.2 Системное проектирование ИС
  • 2.2.1 Разработка концепции, архитектуры построения и платформы реализации ИС
  • 2.2.2 Структура информационной системы, состав функциональных и обеспечивающих подсистем
  • 2.2.3 Техническое обеспечение ИС
  • 2.3 Информационное обеспечение ИС
  • 2.3.1 Описание логической структуры информационной базы
  • 2.3.2 Описание физической реализации БД
  • Заключение
  • Список литературы

Введение

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

Работа по созданию информационной системы начинается с формирования требований заказчика к создаваемой системе и оформления их в виде технического задания (ТЗ). ТЗ является основным документом, определяющим требования и порядок создания автоматизированной системы, в соответствии с которым проводится разработка системы и ее приемка при вводе в действие. Кроме того, на основании ТЗ производится калькуляция работ, уточняются трудозатраты.

ТЗ состоит из трех стадий:

1. обоснование необходимости разработки информационной системы - постановка задачи, сбор исходных материалов, выбор и обоснование критериев эффективности и качества разработанной системы, обоснование необходимости проведения НИР;

2. НИР - определение структуры входных и выходных данных, предварительный выбор методов решения задач, обоснование целесообразности применения разработанной системы, определение требований к техническим средствам, обоснование принципиальной возможности решения поставленной задачи;

3. разработка и утверждение ТЗ - определение требований к программам, разработка технико-экономического обоснования системы, определение стадий, этапов и сроков разработки системы и документация на нее, выбор языков программирования, определение необходимости проведения НИР на последних стадиях, согласование и утверждение ТЗ.

ТЗ выполняет следующие функции:

Организационная функция - зафиксированное задание для Исполнителя и окончательные требования со стороны Заказчика.

Информационная функция - порядок в процессе Исполнителя и продуманность желаний со стороны Заказчика.

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

Юридическая функция - ТЗ имеет равную юридическую силу с "Договором".

От того полноты и точности составления ТЗ во многом зависит результат разрабатываемого технического проекта.

1. Техническое задание

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

Полное наименование системы и ее условное обозначение: "Автоматизированная информационная система агентства по продаже и бронированию авиабилетов". Краткая характеристика области применения

Система предназначена для применения в организации заказчика, в нашем случае - агентство по продаже и бронированию авиабилетов.

Порядок оформления и предъявления заказчику результатов работ по созданию системы (ее частей), по изготовлению и наладке отдельных средств (технических, программных, информационных) и программно-технических (программно-методических) комплексов системы: АИС "Билет" поставляется в виде исполняемых модулей по завершению всего объема работ, технические средства приобретаются Заказчиком самостоятельно. Оформление результатов работ по созданию системы производится путем подписания акта о принятии системы Заказчиком при отсутствии претензий к Разработчику. Акт составляется в двух экземплярах. Один экземпляр находится у Заказчика, другой - у Разработчика.

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

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

Наименование темы разработки - "Разработка информационной системы агентства по продаже и бронированию авиабилетов"

Условное обозначение темы разработки (шифр темы) - "ИС АПБ"

1.3 Назначение и цели создания системы

Функциональное назначение системы: АИС "Билет" предназначена для автоматизации работы агентства по продаже и бронированию авиабилетов.

Эксплуатационное назначение системы: Система должна эксплуатироваться сотрудниками организации.

Цели создания системы: Система ускоряет процесс заказа авиабилетов, тем самым упрощает работу агентства.

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

1.4.1 Требования к системе в целом

Требования к структуре и функционированию системы

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

АИС "Билет" включает следующие подсистемы:

Принятие заказа;

Оформление билета;

Расчет с заказчиком.

Подсистема "Принятие заказа" предназначена для регистрации заказа авиабилетов.

Подсистема "Расчет с заказчиком" обеспечивает заказчика номером брони, связанным с паспортными данными (оплата по карточке).

Требования к способам и средствам связи для информационного обмена между компонентами системы:

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

Требования к режимам функционирования системы:

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

Требования к численности и квалификации персонала системы

Требования к квалификации персонала, порядку его подготовки и контроля знаний и навыков:

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

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

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

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

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

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

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

Требования к эксплуатации, техническому обслуживанию, ремонту и хранению компонентов системы

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

Требования к защите информации о т несанкционированного доступа

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

а) идентификацию и аутентификацию пользователя;

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

Требования по сохранности информации при авариях

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

Требования по стандартизации и унификации

Для данной системы должна применяться каскадная модель жизненного цикла ПО.

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

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

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

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

1.4.2 Требования к функциям (задачам), выполняемым системой

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

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

Подсистема принятия заказа,

Подсистема расчета с клиентом.

1.4.3 Требования к видам обеспечения

К информационному обеспечению системы

К составу, структуре и способам организации данных в системе

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

К структуре процесса сбора, обработки, передачи данных в системе и представлению данных.

Данные вводятся в систему вручную, обрабатываются и выдаются пользователю в требуемом виде (электронный, печатный).

К защите данных от разрушений при авариях и сбоях в электропитании системы

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

К контролю, хранению, обновлению и восстановлению данных

Система должна поддерживать автоматическое ежедневное резервное копирование.

Требования к программному обеспечению системы

Система должна работать в операционных системах Windows XP/Vista/7/8

Требования к техническому обеспечению системы

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

Рабочие станции;

Источник бесперебойного питания;

Среда передачи данных между рабочими станциями (например, витая пара UTP 5e);

Принтер.

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

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

Процессор Intel Pentium IV 2 ГГц и выше, оперативная память не менее 2Гб, объем жесткого диска не менее 500 Гбайт.

Требования к орган изационному обеспечению системы

Для организационного обеспечения приводят требования:

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

Функционирование системы обеспечивает инженер-системотехник, в эксплуатации участвуют 4 сотрудника.

К организации функционирования системы и порядку взаимодействия персонала АС и персонала объекта автоматизации.

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

К защите от ошибочных действий персонала системы.

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

1.5 Характеристика объектов автоматизации

Краткие сведения об объекте автоматизации или ссылки на документы, содержащие такую информацию

В качестве объекта автоматизации выступает процесс, связанный с заказом авиабилетов.

Сведения об условиях эксплуатации объекта автоматизации и характеристиках окружающей среды

Данная система будет установлена в производственных и офисных помещениях.

1.6 Требования к документированию

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

Схема организационной структуры;

Схема функциональной структуры;

Перечень входных сигналов и данных;

Перечень выходных сигналов (документов);

Пояснительная записка к техническому проекту;

Описание автоматизируемых функций;

Описание постановки задач (комплекса задач);

Описание организации информационной базы;

Описание массива информации;

Описание программного обеспечения;

Руководство пользователя.

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

1.7.1 Стадии разработки

Разработка должна быть проведена в 6 стадий:

1. Разработка технического задания

2. Разработка проектной документации

3.Создание эскизного проекта

4. Рабочее проектирование

5. Ввод в действие

6. Сопровождение и модернизация

1.7.2 Этапы разработки

На стадии разработки технического задания должен быть выполнен этап разработки, согласования и утверждения настоящего технического задания.

На стадии разработки проектной документации должен быть выполнен этап разработки проектной документации.

На стадии создания эскизного проекта должен быть выполнен эскизный проект для предварительного предоставления заказчику.

На стадии рабочего проектирования должны быть выполнены перечисленные ниже этапы работ:

1) разработка информационной системы;

2) разработка документации.

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

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

На этапе разработки технического задания должны быть выполнены перечисленные ниже работы:

1) постановка задачи;

2) определение и уточнение требований к техническим средствам;

3) определение требований к информационной системе;

4) определение стадий, этапов и сроков разработки информационной системы и документации на неё;

5) обоснование и выбор инструментария;

6) согласование и утверждение технического задания.

На этапе разработки проектной документации должны быть выполнены перечисленные ниже работы:

1) определение основных бизнес-процессов (в виде диаграмм IDEF0);

2) определение основных вариантов использования Системы для трех категорий пользователей (Гость, Авторизованный пользователь, Администратор) в виде UML диаграмм вариантов использования;

3) проектирование структуры базы данных в виде (ER диаграммы);

4) проектирование основных компонентов и алгоритмов Системы в виде соответствующих UML диаграмм;

5) проектирование структуры пользовательского интерфейса;

6) согласование и утверждение проектной документации.

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

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

На этапе подготовки и передачи программы должна быть выполнена работа по подготовке и передаче программы и программной документации в эксплуатацию.

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

1. Анализ требований к ИС

2. Согласование требований с заказчиком

3. Выбор и разработка варианта концепции системы

4. Разработка технического задания и проекта

5. Согласование и утверждение технического задания и проекта

6. Составление плана по проведению работ

7. Подготовка аппаратного обеспечения

8. Разработка ПО

9. Проверка на совместимость аппаратного и программного обеспечения

10. Интеграция и тестирование программного и аппаратного обеспечения

11. Внесение изменений

12. Разработка инструкций по эксплуатации ИС

13. Оформление полной документации на ИС

14. Сдача ИС заказчику

Таблица 1 - Исходные данные для расчета

№ работы

Перечень работ

Продолжительность работы, дни

1.Анализ требований к ИС

2.Согласование требований с заказчиком

3.Выбор и разработка варианта концепции системы

4.Разработка технического задания и проекта

5.Согласование и утверждение технического задания и проекта

6.Составление плана по проведению работ

7.Подготовка аппаратного обеспечения

8.Разработка ПО

9.Проверка на совместимость аппаратного и программного обеспечения

10.Интеграция и тестирование программного и аппаратного обеспечения

11.Внесение изменений

12.Разработка инструкций по эксплуатации ИС

13.Оформление полной документации на ИС

14.Сдача ИС заказчику

Рисунок 1 - Постановка задач

Рисунок 2 - Диаграмма Ганта

Рисунок 3 - Сетевой график выполнения работ

Критический путь сетевого графика будет следующим: 0 1 2 3 4 5 6891011121314

Таблица 2 - Временные параметры событий

Номер события

Сроки совершения события

Резерв времени

Таблица 3 - Расчет полного и свободного резервов времени

Продолжительность, дни

Временные параметры работ, дни

Полный резерв

Свободный резерв

раннее начало

Раннее окончание

Позднее начало

Позднее окончание

1.8 Порядок контроля и приемки системы

1.8.1 Виды, состав, объем и методы испытаний системы и ее составных частей

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

1.8.2 Общие требования к приемке работ по стадиям

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

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

1.8.3 Статус приемочной комиссии (государственная, межведомственная, ведомственная)

Статус приемочной комиссии определяется Заказчиком до проведения испытаний.

2. Технический проект

2.1 Функциональная структура

2.1.1 Описание предметной области

Предметной областью является агентство по продаже и бронированию авиабилетов

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

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

2.1.2 Функции и организационная структура

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

Агенство "Билет" состоит из следующих отделов:

Директор;

Административный отдел;

Отдел эксплуатации рабочих станций;

Отдел операторов.

Организационная структура предприятия отражена на рисунке 4.

Рисунок 4 - Организационная модель

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

Отдел производства осуществляет разработку проекта изделие, его последующее изготовление и сборку.

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

Отдел эксплуатации рабочих станций отвечает за работоспособность системы.

Операторы отвечают за принятие заказа, ввод данных в базу.

2.1.3 Описание потоков данных и бизнес процессов

Моделирование бизнес-процессов

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

Проанализировав деятельность агенства, и проведя пред-проектное исследование, можно выделить три основных бизнес-процесса АИС "Билет":

1. Принятие заказа.

2. Выдача идентификационного номера.

3. Расчет с заказчиком.

Функциональное моделирование бизнес-процессов представлено методологией IDEF0. Она описывает те деловые процессы, которые протекают в объекте автоматизации. Основу методологии IDEF0 составляет графический язык описания бизнес-процессов. Модель в IDEF0 представлена совокупностью иерархически упорядоченных и логически связанных диаграмм. Каждая диаграмма располагается на отдельном листе. Можно выделить четыре типа диаграмм:

Контекстную диаграмму А-0 (в каждой модели может быть только одна контекстная диаграмма);

Диаграммы декомпозиции (в том числе диаграмма первого уровня декомпозиции А 0, раскрывающая контекстную);

Диаграммы дерева узлов;

Диаграммы только для экспозиции (FEO).

Контекстная диаграмма является вершиной древовидной структуры диаграмм и представляет собой самое общее описание системы и ее взаимодействия с внешней средой (как правило, здесь описывается основное назначение моделируемого объекта). После описания системы в целом проводится разбиение ее на крупные фрагменты. Этот процесс называется функциональной декомпозицией, а диаграммы, которые описывают каждый фрагмент и взаимодействие фрагментов, называются диаграммами декомпозиции. После декомпозиции контекстной диаграммы (т.е., получения диаграммы А 0) проводится декомпозиция каждого блока диаграммы А 0 на более мелкие фрагменты и так далее, до достижения нужного уровня подробности описания. После каждого сеанса декомпозиции проводятся сеансы экспертизы - эксперты предметной области (обычно это интервьюируемые аналитиками сотрудники предприятий) указывают на соответствие реальных бизнес-процессов созданным диаграммам. Найденные несоответствия исправляются, и только после прохождения экспертизы без замечаний можно приступать к следующему сеансу декомпозиции. Так достигается соответствие модели реальным бизнес-процессам на любом и каждом уровне модели. Синтаксис описания системы в целом и каждого ее фрагмента одинаков во всей модели.

Главная бизнес-функция "АИС Билет" - продажа авиабилетов. Входными данными является заказ билетов. Выходными - квитанция. Инструментами выполнения главной бизнес-функции служат сотрудники ОАО "Билет" (бухгалтер, менеджер, IT-техники, операторы).

Диаграмма потоков данных

Требования представляются в виде иерархии процессов, связанных потоками данных. Диаграммы потоков данных показывают, как каждый процесс преобразует свои входные данные в выходные, и выявляют отношения между этими процессами. DFD-диаграммы успешно используются как дополнение к модели IDEF0 для описания документооборота и обработки информации. Подобно IDEF0, DFD представляет моделируемую систему как сеть связанных работ. Основные компоненты DFD (как было сказано выше) - процессы или работы, внешние сущности, потоки данных, накопители данных (хранилища). В отличие от стрелок IDEF0, которые представляют собой жесткие взаимосвязи, стрелки DFD показывают, как объекты (включая данные) двигаются от одной работы к другой.

В отличие от IDEF0, где система рассматривается как взаимосвязанные работы, DFD рассматривает систему как совокупность предметов. Контекстная диаграмма часто включает работы и внешние ссылки. Работы обычно именуются по названию системы, например "Система обработки информации". Включение внешних ссылок в контекстную диаграмму не отменяет требования методологии четко определить цель, область и единую точку зрения на моделируемую систему.

В DFD работы (процессы) представляют собой функции системы, преобразующие входы в выходы. Хотя работы изображаются прямоугольниками со скругленными углами, смысл их совпадает со смыслом работ IDEF0 и IDEF3. Так же, как процессы IDEF3, они имеют входы и выходы, но не поддерживают управления и механизмы, как IDEF0.

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

Потоки работ изображаются стрелками и описывают движение объектов из одной части системы в другую. Поскольку в DFD каждая сторона работы не имеет четкого назначения, как в IDEF0, стрелки могут подходить и выходить из любой грани прямоугольника работы. В DFD также применяются двунаправленные стрелки для описания диалогов типа "команда-ответ" между работами, между работой и внешней сущностью и между внешними сущностями.

В отличие от стрелок, описывающих объекты в движении, хранилища данных изображают объекты в покое.

2.2 Системное проектирование ИС

техзадание калькуляция трудозатраты бронирование

2.2.1 Разработка концепции, архитектуры построения и платформы реализации ИС

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

В настоящее время наиболее распространенными архитектурами являются:

­ файл-сервер;

­ клиент-сервер;

­ многоуровневая архитектура.

Файл-серверная архитектура подразумевает под собой то, что сервер возлагает на себя лишь функцию хранения данных, а обработка производится на клиентских машинах. Это означает, что данные необходимо передавать по сети, что приведет к сильной загрузке сетевого трафика. А это в свою очередь приведет к снижению производительности при увеличении числа пользователей. Также при реализации архитектуры файл-сервер, проблема целостности, согласованности и одновременного доступа к данным решается децентрализовано: данные хранятся на сервере, а обрабатываются на клиенте. Вследствие этого снижается надежность приложения. Еще одним недостатком являются высокие затраты на модернизацию и сопровождение сервисов бизнес - логики на каждой клиентской рабочей станции. Однако данная архитектура обладает и рядом преимуществ, таких как низкая стоимость разработки, высокая скорость разработки и невысокая стоимость обновления и изменения программного обеспечения.

Архитектура клиент-сервер лишена недостатков вышеописанной архитектуры, т.к. сервер баз данных не только обеспечивает доступ к общим данным, но и выполняет их обработку. Клиент посылает на сервер запросы, на языке "понятном" серверу, а он в свою очередь обрабатывает запрос, контролируя при этом целостность и согласованность данных, и возвращает на клиент результат отработанного запроса. В результате нагрузка на сеть снижается: клиенту больше не нужно обрабатывать промежуточные данные. Хранение и обработка производится централизовано, поэтому данная архитектура надежнее архитектуры файл-сервер. К недостаткам клиент-серверной архитектуры относятся, во-первых, достаточная сложность разработки системы из-за необходимости исполнять бизнес-логику и обеспечивать интерфейс с пользователем в одной программе и высокие требования к рабочим станциям по той же причине.

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

­ масштабируемость;

­ конфигурируемость - изолированность уровней друг от друга позволяет быстро и простыми средствами переконфигурировать систему при возникновении сбоев или при плановом обслуживании на одном из уровней;

­ высокая безопасность;

­ высокая надёжность;

­ низкие требования к скорости канала (сети) между терминалами и сервером приложений;

­ низкие требования к производительности и техническим характеристикам терминалов, как следствие снижение их стоимости.

Однако, несмотря на неоспоримые достоинства, данная система не получила распространения, по следующим причинам:

­ сложность разработки систем на основе многоуровневой архитектуры, т.к очень сложно "состыковать" различные модули, особенно если они написаны разными группами. А изменение в одном модуле, как правило, вызывает лавинообразные изменения в остальных, и с этой точки зрения даже простую систему, основанную на многоуровневой архитектуре, будет сложнее выполнить в 2 раза;

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

­ высокие требования к скорости канала (сети) между сервером базы данных и серверами приложений;

­ высокая сложность администрирования.

Рассмотрев все достоинства и недостатки каждой из архитектур, для реализации системы "АИС Билет" выбираем архитектуру клиент-сервер. Данная архитектура позволяет оптимально распределить работу между клиентскими и серверными частями системы: приложение, работающее на рабочей станции, не читает записи базы данных "напрямую", а посылает запросы на сервер, где они последовательно обрабатываются, а результаты обработки отсылаются на рабочую станцию. А это существенно сокращает информационные потоки в ЛВС.

Схема функционирования и построения информационной системы представлена рисунке 5.

Рисунок 5 - Архитектура "клиент-сервер"

2.2.2 Структура информационной системы, состав функциональных и обеспечивающих подсистем

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

Информационная;

Техническая;

Программная;

Математическая;

Лингвистическая.

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

Состав обеспечивающих подсистем не зависит от выбранной предметной области и имеет:

Функциональную структуру;

Информационное обеспечение;

Математическое (алгоритмическое и программное) обеспечение;

Техническое обеспечение;

Организационное обеспечение,

а на стадии разработки ИС дополнительные обеспечения:

Правовое;

Лингвистическое;

Технологическое;

Методологическое;

Интерфейсы с внешними ИС.

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

Математическое обеспечение состоит из алгоритмического и программного.

Организационное обеспечение - это совокупность средств и методов организации производства и управления ими в условиях внедрения ИС.

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

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

2.2.3 Техническое обеспечение ИС

В комплекс технических средств должны входить следующие элементы:

Рабочие станции;

Источники бесперебойного питания;

Средства для построения ЛВС;

Сервер БД;

Принтер.

Требования к серверу:

Память 8 Гб;

Процессор 2.2 ГГц Intel Xeon 5500 минимум;

Скорость диска SATA 8 Гбит/с;

Сетевой адаптер 10 Гбит/с;

Операционная система Windows Server 2008.

Требования к рабочей станции:

Процессор 2 Ггц;

Память 2 Гб;

Жесткий диск не менее 500;

Операционная система Windows 7;

Сетевой адаптер 100 Мбит/с.

Технические средства ИС описаны с учетом требований к функционированию прикладного пpогpаммного комплекса. Технические средства должны обеспечить:

Круглосуточный режим работы комплекса технических средств и оборудования;

Гарантированное выполнение всего комплекса программного обеспечения в случае сбоя или выхода из строя части оборудования;

Защиту данных от несанкционированного доступа;

Сервера и рабочие места должны быть объединены локальной сетью.

На рисунке 2.3 представлена топология локальной вычислительной сети (ЛВС) для ОАО "Билет".

На рассматриваемом рисунке видно, что через коммутатор к серверу БД и файловому серверу подключены 5 рабочих станций. Топология сети - звезда.

Рисунок 6 - Логическая схема сети ОАО "Заказчик"

2.3 Информационное обеспечение ИС

2.3.1 Описание логической структуры информационной базы

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

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

Нормальная форма - свойство отношения в реляционной модели данных, характеризующее его с точки зрения избыточности, потенциально приводящей к логически ошибочным результатам выборки или изменения данных. Нормальная форма определяется как совокупность требований, которым должно удовлетворять отношение. Процесс преобразования отношений базы данных (БД) к виду, отвечающему нормальным формам, называется нормализацией. Нормализация предназначена для приведения структуры БД к виду, обеспечивающему минимальную логическую избыточность, и не имеет целью уменьшение или увеличение производительности работы или же уменьшение или увеличение физического объёма базы данных. Конечной целью нормализации является уменьшение потенциальной противоречивости хранимой в базе данных информации. Общее назначение процесса нормализации заключается в следующем:

Исключение некоторых типов избыточности;

Устранение некоторых аномалий обновления;

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

Упрощение процедуры применения необходимых ограничений целостности.

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

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

2.3.2 Описание физической реализации БД

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

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

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

Заключение

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

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

В соответствии с поставленными задачами технического задания были выполнены следующие этапы создания технического проекта:

- выполнен анализ предметной области;

- разработана функциональная схема АИС "Билет";

- разработана концепция, выбраны архитектура построения и платформа реализации системы;

1. спроектирована концептуальная модель АИС "Билет";

2. спроектирована логическая модель системы АИС "Билет" на основе концептуальной модели;

3. определена физическая структура сервера баз данных.

Список литературы

1. ГОСТ 19.201-78 Единая система программной документации. Техническое задание. Требования к содержанию и оформлению

2. ГОСТ 34.602-89 Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы

3. РД 50-34.698-90 Автоматизированные системы. Требования к содержанию документов

4. В.П. Романов, Н.З. Емельянова, Т.Л. Партыка Проектирование экономических информационных систем. Методологии и современные технологии. - М: Экзамен, 2005.- 256 с.;

5. Маклаков С.В. BPWin и ERWin CASE - средства разработки информационных систем / Маклаков С.В. - М: ДИАЛОГ МИФИ, 2001.-256с.;

6. Бойко В.В. Проектирование баз данных информационных систем / Бойко В.В., Савинков В.М. - 2-е изд. - М.: Финансы и статистика, 1989. - 350 с.

Размещено на Allbest.ru

...

Подобные документы

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

    дипломная работа , добавлен 11.07.2015

    Нормативно-правовые акты Российской Федерации в области информационной безопасности. Порядок организации работ по защите информации в информационных системах. Общий подход к разработкам технического задания на разработку системы защиты этой сферы.

    курсовая работа , добавлен 05.05.2015

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

    курсовая работа , добавлен 13.05.2015

    Создание информационной системы "Голд", автоматизирующей работу Ювелирной мастерской. Моделирование бизнес-процессов с помощью диаграмм IDEF0 и UML и потоков данных DFD и sicuence. Составление технического проекта и задания на основании ГОСТ 34.602-89.

    курсовая работа , добавлен 10.02.2013

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

    реферат , добавлен 09.10.2014

    Изучение языков программирования PHP, SQL, C++, HTML. Рассмотрение правил запуска и использования локального сервера Denwer. Составление технического задания по разработке программного продукта. Описание создаваемого мобильного и веб-приложения.

    курсовая работа , добавлен 07.04.2015

    Разработка автоматизированной информационной системы для учета и контроля выполнения ремонтных работ, и предоставления услуг по разработке программного обеспечения компании "МегионСофтОйл", разработка алгоритмов приложений программной системы и модулей.

    дипломная работа , добавлен 29.06.2012

    Обоснование необходимости разработки информационной системы. Анализ предметной области. Техническое задание на создание ЭИС. Правовой статус и краткая экономическая характеристика предприятия. Состояние учетно-аналитической работы на предприятии.

    реферат , добавлен 09.01.2009

    Разработка и внедрение автоматизированной информационной системы (АИС) работы с клиентами туристической фирмы (приема и обработки заявок). Технико-экономическая оценка туристического агентства, алгоритм и схема интерфейса программного обеспечения его АИС.

    дипломная работа , добавлен 21.07.2011

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

Меня часто спрашивают: «Как правильно разработать техническое задание для автоматизированной системы?». Аналогичная тема постоянно обсуждается на различных форумах. Этот вопрос настолько широкий, что ответить в двух словах никак нельзя. Поэтому я решил написать большую статью на данную тему.

  • В первой части «Разработка Технического задания. Что это такое, зачем оно нужно, с чего начать и как должно выглядеть ?» я подробно попытаюсь ответить на вопросы темы, рассмотрю структуру и назначение Технического задания, дам некоторые рекомендации по формулировке требований.
  • Вторая часть «Разработка Технического задания. Как формулировать требования ?» будет полностью посвящена выявлению и формулировке требований к информационной системе.

Для начала надо разобраться, какой в действительности вопрос интересует тех, кто спрашивает «Как разработать техническое задание?» Дело в том, что от того, для каких целей это делается, а также кем будет использоваться, будет сильно зависеть и подход к разработке технического задания. О каких вариантах я говорю:

  • Коммерческая организация решила внедрить у себя автоматизированную систему. Она не имеет собственной IT-службы и решили поступить так: Заинтересованное лицо должно разработать Техническое задание и отдать его на разработку сторонней организации;
  • Коммерческая организация решила внедрить у себя автоматизированную систему. Она имеет собственную IT-службу. Решили поступить так: разработать Техническое задание, затем согласовать его между IT-службой и заинтересованными лицами, и реализовать собственными силами;
  • Госструктура решила затеять IT-проект. Тут все настолько мутно, куча формальностей, откатов, распилов и пр. Я не буду рассматривать такой вариант в данной статье.
  • IT-компания занимается услугами по разработке и/или внедрению автоматизированных систем. Это наиболее сложный случай, ведь приходится работать в самых различных условиях:

    • Клиент имеет своих специалистов со своими взглядами, и они предъявляют конкретные требования к Техническому заданию;
    • Техническое задание разрабатывается для собственных разработчиков (клиенту все равно);
    • Техническое задание разрабатывается для передачи подрядчику (т.е. группе программистов, находящихся за штатом компании, или отдельному специалисту);
    • Между компаний и клиентом возникает непонимание в вопросе полученного результата, и компания вновь и вновь задается вопросом: «Как надо разрабатывать Техническое задание?». Возможно, последний случай кажется парадоксом, но это правда.
    • Возможны и другие, реже встречающиеся варианты;

Думаю, сейчас у читателя должны возникнуть вопросы:

  • А почему нельзя разрабатывать Техническое задание всегда одинаково?;
  • Существуют ли какие-то стандарты, методики, рекомендации? Где их взять?
  • Кто должен разрабатывать Техническое задание? Должен ли этот человек обладать какими-то специальными знаниями?
  • Как понять, хорошо составлено Техническое задание или нет?
  • За чей счет должно оно разрабатываться, да и нужно ли оно вообще?

Этот список может быть бесконечным. Говорю так уверенно от того, что уже 15 лет в профессиональной разработке программного обеспечения, а вопрос о Технических заданиях всплывает в любом коллективе разработчиков, с кем приходиться работать. Причины тому разные. Поднимая тему разработки Технического задания, я прекрасно отдаю себе отчет в том, что не смогу изложить ее на 100% для всех интересующихся темой. Но, попробую, как говорится «разложить все по полочкам». Те, кто уже знаком с моими статьями знают, что я не пользуюсь «копи-пастом» труда других людей, не перепечатываю чужие книги, не цитирую многостраничные стандарты и прочие документы, которые Вы и сами сможете найти в интернете, выдавая их за свои гениальные мысли. Достаточно набрать в поисковике «Как разработать Техническое задание» и Вы сможете прочитать много интересного, но, к сожалению, многократно повторяющегося. Как правило, те, кто любит умничать на форумах (попробуйте все-таки поискать!), сами никогда не делали толкового Технического задания, и непрерывно цитируют рекомендации ГОСТов по данному вопросу. А тем, кто действительно серьезно занимается вопросом, обычно некогда сидеть на форумах. Про ГОСТЫ, кстати, мы тоже поговорим. В разные годы своей работы мне приходилось видеть множество вариантов технической документации, составленной как отдельными специалистами, так и именитыми командами и консалтинговыми компаниями. Иногда еще я занимаюсь такой деятельностью: выделяю себе время и занимаюсь поиском информации на интересующую тему по необычным источникам (такой небольшой разведкой). В результате приходилось видеть документацию и по таким монстрам, как ГазПром, РЖД и много других интересных компаний. Конечно же, я соблюдаю политику конфиденциальности, несмотря на то, что эти документы попадают ко мне из общедоступных источников или безответственности консультантов (разбрасывают информацию по интернету). Поэтому сразу говорю: конфиденциальной информацией, которая принадлежит другим компаниям не делюсь, независимо от источников возникновения (профессиональная этика).

Что такое техническое задание?

Первое, что мы сейчас сделаем, так это разберемся с тем, что за зверь такой, «Техническое задание».

Да, действительно существуют ГОСТы и стандарты, в которых предприняты попытки регламентировать эту часть деятельности (разработки программного обеспечения). Когда-то все эти ГОСТы были актуальны и активно применялись. Сейчас существуют разные мнения по поводу актуальности данных документов. Одни утверждают, что ГОСТы были разработаны очень дальновидными людьми и до сих пор актуальны. Другие говорят, что они безнадежно устарели. Возможно, кто-то сейчас подумал, что правда где-то по середине. Я бы ответил словами Гете: «Говорят, что между двумя противоположными мнениями находится истина. Ни в коем случае! Между ними лежит проблема». Так вот, между этими мнениями истины нет. Потому как ГОСТы не раскрывают практических проблем современной разработки, а те, кто их критикует, альтернативы (конкретной и системной) не предлагают.

Заметим, что в ГОСТе явно не дано даже определения, сказано лишь: «ТЗ на АС является основным документом, определяющим требования и порядок создания (развития или модернизации - далее создания) автоматизированной системы, в соответствии с которым проводится разработка АС и ее приемка при вводе в действие».

Если кому-то интересно, о каких ГОСТах я говорю, то вот они:

  • ГОСТ 2.114-95 Единая система конструкторской документации. Технические условия;
  • ГОСТ 19.201-78 Единая система программной документации. Техническое задание. Требования к содержанию и оформлению;
  • ГОСТ 34.602-89 Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы.

Куда более удачное определение представлено в википедии (правда про ТЗ в целом, а не только для программного обеспечения): «Техническое задание – это исходный документ на проектирование технического объекта. Техническое задание устанавливает основное назначение разрабатываемого объекта, его технические и тактико-технические характеристики, показатели качества и технико-экономические требования, предписание по выполнению необходимых стадий создания документации (конструкторской, технологической, программной и т. д.) и её состав, а также специальные требования. Задание как исходный документ на создание чего-то нового существует во всех областях деятельности, различаясь по названию, содержанию, порядку оформления и т. п. (например, проектное задание в строительстве, боевое задание, домашнее задание, договор на литературное произведение и т. д.)»

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

Именно основное, но единственное. Настало время взяться за главное: разложить все «по полочкам», как и обещал.

Что необходимо знать о требованиях? Необходимо четко понимать, что все требования нужно разделять по видам и по свойствам. Сейчас мы научимся это делать. Для разделения требований по видам нам как раз поможет ГОСТ. Тот перечень видов требований, который там представлен, является хорошим образцом того, требования каких видов следует рассматривать. Например:

  • Требования в функциональности;
  • Требования к безопасности и правам доступа;
  • Требования к квалификации персонала;
  • …. И т.д. Вы можете прочитаете о них в упомянутом ГОСТе (а ниже я их тоже рассмотрю немного подробнее).

Думаю, для Вас очевидно, что ключевым фактором успешного Технического задания являются именно хорошо сформулированные требования к функциональности. Именно этим требованиям посвящено большинство работ и методик, о которых я говорил. Требования к функциональности – это 90% сложности работ по разработке Технического задания. Все остальное зачастую является «камуфляжем», который надет на эти требования. Если требования сформулированы плохо, то какой красивый камуфляж на них не натягивай, успешного проекта не выйдет. Да, формально все требования будут соблюдены (по ГОСТу J), ТЗ разработано, утверждено и подписано, деньги за него получены. И что? А дальше начнется самое интересное: что делать-то? Если это проект на ГосЗаказе, то проблем нет – там бюджет такой, что ни в какой карман не влезет, в процессе реализации (если она будет) все и будет выясняться. Именно таким образом и пилится большинство бюджетов проектов на ГосЗаказах (накалякали «ТЗ», слили десяток миллионов, а проект делать не стали. Все формальности соблюдены, виновных нет, новое авто возле дома. Красота!). Но ведь мы говорим о коммерческих организациях, где деньги считают, да и результат нужен другой. Поэтому давайте разбираться с главным, как разрабатывать полезные и работающие Технические задания .

Про виды требований я сказал, а что же со свойствами? Если виды требований могут быть различными (зависит от целей проекта), то со свойствами все проще, их 3:

  1. Требование должно быть понятным ;
  2. Требование должно быть конкретным ;
  3. Требование должно быть тестируемым ;

Причем последнее свойство невозможно без двух предыдущих, т.е. является этакой «лакмусовой бумажкой». Если результат выполнения требования невозможно протестировать, значит, оно либо не понятное, либо не конкретное. Подумайте об этом. Именно во владении этими тремя свойствами требований и заключается мастерство и профессионализм. На само деле все очень просто. Когда разберешься.

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

  • на каком языке (в смысле сложности понимания) должно быть написано техническое задание?
  • Должны ли быть описаны в нем спецификации различных функций, алгоритмы, типы данных и прочие технические штуки?
  • А что такое техническое проектирование, о котором, кстати, сказано и в ГОСТах, и как оно связано с Техническим заданием?

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

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

Технический проект – это документ, который предназначен для технической реализации требований, сформулированных в Техническом задании. Как раз в этом документе описываются структуры данных, триггеры и хранимые процедуры, алгоритмы и прочие штуки, которые потребуются техническим специалистам . Заказчику в это вникать вовсе не обязательно (ему и термины такие могут быть непонятны). Технический проект делает Архитектор системы (вот совмещение этой роли с программистом вполне нормально). А точнее группа специалистов АО главе с архитектором. Чем больше проект, тем и больше людей работает над Техническим заданием.

Что мы имеем на практике? Забавно наблюдать, когда директору приносят на согласование Техническое задание, которое изобилует технической терминологией, описанием типов данных и их значений, структуры базы данных и пр. Он, конечно, пытается вникнуть, раз надо утверждать, пытаясь найти между строк знакомые слова и не потерять цепочку бизнес-требований. Что, знакомая ситуация? И чем это заканчивается? Как правило, такое ТЗ утверждается, затем реализуется, а в 80% случаев потом совсем не соответствует факту выполненных работ, т.к. много чего решили изменить, переделать, неправильно поняли, не так думали и т.д. и т.п. А потом начинается сериал про сдачу работ. «А вот тут не так как нам надо», а «это у нас работать не будет», «это слишком сложно», «это неудобно» и т.д. Знакомо?!! Вот и мне знакомо, пришлось набить шишек в свое время.

Так что мы имеем на практике-то? А на практике мы имеем размытую границу между Техническим заданием и Техническим проектом. Она плавает между ТЗ и ТП в самых разных проявлениях. И это плохо. А получается так потому, что культура разработки стала слабой. Частично это связано с компетенциями специалистов, частично со стремлением сократить бюджеты и сроки (ведь документация занимает много времени - это факт). Есть и еще один важный фактор, влияющий на использование Технического проекта как отдельного документа: стремительное развитие средств быстрой разработки, а также методологий разработки. Но это отдельная история, чуть ниже несколько слов об этом скажу.

Еще небольшой, но важный момент. Иногда Техническим заданием называют небольшой кусочек требований, простой и понятный. Например, доработать поиск объекта по каким-либо условиям, добавить колонку в отчет и пр. Такой подход вполне себе оправдан, зачем усложнять жизнь. Но применяется не на больших проектах, а на мелких доработках. Я бы сказал это ближе к сопровождению программного продукта. В этом случае в Техническом задании может быть описано и конкретное техническое решение реализации требования. Например, «В алгоритм такой-то внести такое-то изменение», с указанием конкретной процедуры и конкретного изменения для программиста. Это тот случай, когда граница между Техническим заданием и Техническим проектам полностью стирается, т.к. нет никакой экономической целесообразности раздувать бумаготворчество там, где это не нужно, а полезный документ создается. И это правильно.

А нужно ли вообще техническое задание? А Технический проект?

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

А что же с Техническим проектом? Данный документ весьма полезный и не утратил свою актуальность. Более того, часто без него просто не обойтись. Особенно, если речь идет о передаче работ по разработке на сторону, т.е. по принципу аутсорсинга. Если этого не сделать, есть риск узнать много нового о том, как должна выглядеть система, которую Вы задумалиJ. Должен ли с ним знакомиться Заказчик? Если хочет, почему нет, но настаивать и утверждать данный документ нет никакой необходимости, он будет только сдерживать и мешать работать. Спроектировать систему до мелочей практически невозможно. В этом случае придется непрерывно вносить изменения в Технический проект, что занимает немало времени. А если организация сильно забюрократизирована, то вообще все нервы там оставите. Как раз о сокращении такого рода проектирования и идет речь в современных методологиях быстрой разработки, о которых я упоминал выше. Кстати, все они базируются на классическом XP (экстремальном программировании)- подходе, которому уже порядка 20 лет. Так что сделайте качественное Техническое задание, понятно Заказчику, а Технический проект используйте как внутренний документ, для взаимоотношений между архитектором системы и программистами.

Интересная деталь по поводу технического проектирования: некоторые средства разработки, устроенные по принципу предметной ориентированности (типа 1С и аналогичных) предполагают, что проектирование (имеется ввиду процесс документирования) требуется только на действительно сложных участках, где требуется взаимодействие между собой целых подсистем. В простейшем случае, например создать справочник, документ, достаточно лишь правильно сформулированных бизнес-требований. Об этом говорит и стратегия бизнеса этой платформы в части подготовки специалистов. Если посмотреть на экзаменационный билет специалиста (именно так он называется, а не «программиста»), то Вы увидите, что там присутствуют лишь бизнес-требования, а как их реализовать на программном языке это и есть задача специалиста. Т.е. ту часть задачи, которую призван решать Технический проект, специалист должен решить «в голове» (речь идет о задачах средней сложности), причем здесь и сейчас, следуя определенным стандартам разработки и проектирования, которые формирует опять же компания 1С для своей платформы. Таким образом, из двух специалистов, результат работы которых внешне выглядит одинаково, один может экзамен сдать, а второй нет, т.к. грубо нарушил стандарты разработки. Т.е заведомо предполагается, что специалисты должны обладать такой квалификацией, чтобы типичные задачи проектировать самостоятельно, без привлечения архитекторов системы. И такой подход работает.

Продолжим исследование вопроса: «Какие требования включать в Техническое задание?»

Формулирование требований к информационной системе. Структура Технического задания

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

Как и любую деятельность, формулирование требований можно (и нужно) разделить на этапы. Всему свое время. Это тяжелый интеллектуальный труд. И, если относится к нему с недостаточным вниманием, то результат будет соответствующий. По экспертным оценкам, стоимость затрат на разработку Технического задания может составлять 30-50%. Я придерживаюсь такого же мнения. Хотя 50 – пожалуй, перебор. Ведь Техническое задание – это еще не последний документ, который должен быть разработан. Ведь еще должно быть и техническое проектирование. Такой разброс обусловлен различными платформами автоматизации, подходами и технологиями, применяемыми проектными командами при разработке. Например, если речь идет о разработке на классическом языке типа С++, то без детального технического проектирования тут не обойтись. Если речь идет о внедрении системы на платформе 1С, то тут с проектированием ситуация несколько иная, как мы видели выше (хотя, при разработке системы «с нуля», она проектируется по классической схеме).

Несмотря на то, что формулировка требований является основной частью Технического задания , а некоторых случая она становиться единственным разделом ТЗ, следует обратить внимание на то, что это важный документ, и оформлять его следует соответственно. С чего начать? В первую очередь начать надо с содержания. Составьте содержание, а затем начните его разворачивать. Лично я делаю так: сначала набрасываю содержание, описываю цели, всю вводную информацию, а затем принимаюсь за основную часть – формулировку требований. Почему не наоборот? Не знаю, мне так удобнее. Во-первых, это гораздо меньшая часть времени (по сравнению с требованиями), во-вторых, пока описываешь всю вводную информацию, настраиваешься на главное. Ну это кому как нравится. Со временем у Вас выработается свой шаблон Технического задания. Для начала рекомендую в качестве содержания взять именно тот, что описан в ГОСТ. Для содержания он подходит отлично! Затем берем и начинаем описывать каждый раздел, не забывая про рекомендации следования трем свойствам: понятности, конкретности и тестируемости. Почему я на этом так настаиваю? Об этом в следующем разделе. А сейчас предлагаю все-такт пройтись по тем пунктам ТЗ, которые рекомендуются в ГОСТе.

  1. общие сведения;
  2. назначение и цели создания (развития) системы;
  3. характеристика объектов автоматизации;
  4. требования к системе;
  5. состав и содержание работ по созданию системы;
  6. порядок контроля и приемки системы;
  7. требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие;
  8. требования к документированию;
  9. источники разработки.

Итого, 9 разделов, каждый из которых тоже делится на подразделы. Разберем их по-порядку. Для удобства представлю все в виде таблицы по каждому пункту.

Раздел 1. общие сведения.

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

Раздел 2. назначение и цели создания (развития) системы.

Рекомендации по ГОСТ Что с этим делать на практике
Назначение системы С одной стороны с назначением все просто. Но желательно формулировать конкретно. Если написать что-то вроде «качественно автоматизировать складской учет в компании Х», то потом можно долго обсуждать результат при его завершении, даже независимо от хорошей формулировки требований. Т.к. Заказчик всегда может говорить, что под качеством он имел ввиду нечто иное. В общем, нервов можно попортить друг другу много, а зачем? Лучше сразу написать примерно так: «Система предназначена для ведения складского учета в компании Х в соответствии с требованиями, зафиксированными в данном Техническом задании».
Цели создания системы Цели – это безусловно важный раздел. Если уж его включать, то надо уметь эти цели формулировать. Если у Вас трудности с формулировкой целей, то лучше вообще исключить данный раздел. Пример неудачной цели: «Обеспечить быстрое оформление документов менеджером». Что такое быстрое? Это можно потом доказывать бесконечно. Если это важно, то лучше переформулировать данную цель так: «Менеджер по продажам должен иметь возможность оформить документ «Реализация товаров» из 100 строк за 10 минут». Подобная цель может появиться, если, например, в настоящее время менеджер тратит на это около часа, что слишком много для этой компании и для них это важно. В такой формулировке цель уже пересекается с требованиями, что вполне естественно, т.к. при разворачивании дерева целей (т.е. дробя их на более мелкие связанные цели), мы и так будем приближаться к требованиям. Поэтому, увлекаться не стоит.

Вообще, умение выделять цели, формулировать их, строить дерево целей это тема совершенно отдельная. Запомните главное: умеете – пишите, не уверены – вообще не пишите. А что будет, если не сформулировать цели? Будете работать по требованиям, такое часто практикуется.

Раздел 3. Характеристика объектов автоматизации.

Раздел 4. Требования к системе

ГОСТ расшифровывает перечень таких требований:

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

Несмотря на то, что основным, безусловно, будет раздел с конкретными требованиями (функциональными), данный раздел тоже может иметь большое значение (и в большинстве случаев имеет). Что может оказаться важным и полезным:

  • Требования к квалификации . Возможно, разрабатываемая система потребует переподготовки специалистов. Это могут быть как пользователи будущей системы, так и IT-специалисты, которые будут нужны для ее поддержки. Недостаточное внимание к данному вопросу нередко перерастает в проблемы. Если квалификация имеющегося персонала явно недостаточна, лучше прописать требования к организации обучения, программе обучения, срокам и т.п.
  • Требования к защите информации от несанкционированного доступа. Тут комментарии излишни. Это как раз и есть требования к разграничению доступа к данным. Если такие требования планируются, то их нужно расписать отдельно, как можно более детально по тем же правилам, что и функциональные требования (понятность, конкретность, тестируемость). Поэтому, можно эти требования включить и в раздел с функциональными требованиями
  • Требования к стандартизации. Если существуют какие-либо стандарты разработки, которые применимы к проекту, они могут быть включены в требования. Как правила, такие требования инициирует IT-служба Заказчика. Например, у компании 1С есть требования к оформлению программного кода, проектированию интерфейса и пр.;
  • Требования к структуре и функционированию системы. Тут могут быть описаны требования к интеграции систем между собой, представлено описание общей архитектуры. Чаще требования к интеграции выделяют вообще в отдельный раздел или даже отдельное Техническое задание, т.к. эти требования могут оказаться достаточно сложными.

Все остальные требования менее важны и можно их не описывать. На мой взгляд, они только утяжеляют документацию, и практической пользы несут немного. А Требования к эргономике описывать в виде общих требований очень сложно, лучше их перенести к функциональным. Например, может быть сформулировано требование «Получить информацию о цене товара нажав только одну кнопку». На мой взгляд, это все-таки ближе к конкретным функциональным требованиям, хоть и относится к эргономике.Требования к функциям (задачам), выполняемым системойВот он, тот самый главный и ключевой пункт, который будет определять успех. Даже если все остальной сделать на отлично, а этот раздел на «3», то и результат по проекту будет в лучшем случае на «3», а то и вообще проект провалится. Именно эти мы и займемся более детально во второй статье, которая войдет в 5-й выпуск рассылки. Именно к этому пункту относится «правило трех свойств требований», о которых я говорил.Требования к видам обеспечения

ГОСТ выделяет такие виды:

  • Математическое
  • Информационное
  • Лингвистическое
  • Программное
  • Техническое
  • Метрологическое
  • Организационное
  • Методическое
  • и другие…

На первый взгляд может показаться, что эти требования не важны. В большинстве проектов это действительно так. Но не всегда. Когда стоит описывать данные требования:

  • Решения о том, на каком языке (или какой платформе) будет вестись разработка не принято;
  • К системе предъявляются требования мультиязычного интерфейса (например, русский/английский)
  • Для функционирования системы должно быть создано отдельное подразделения или приняты на работу новые сотрудники;
  • Для функционирования системы у Заказчика должны произойти изменения в методиках работы и эти изменения должны быть конкретизированы и запланированы;
  • Предполагается интеграция с каким-либо оборудованием и к нему предъявляются требования (например, сертификации, совместимости и пр.)
  • Возможны другие ситуации, все зависит от конкретных целей проекта.

Раздел 5. Состав и содержание работ по созданию системы

Раздел 6. Порядок контроля и приемки системы

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

Раздел 7. Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие

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

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

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

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

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

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

Раздел 8. Требования к документированию

Подумайте, как будут представлены руководства пользователя.

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

Игнорирование требований к документации очень часто приводит к самым неожиданным последствиям на проектах. Например, все сделано и все работает. Пользователи тоже умеют работать. Про документацию вообще не договаривались и не разговаривали. И вдруг при сдаче работ кто-то из топ-менеджеров Заказчика, который даже не участвовал в проекте, но участвует в приемке работ, Вас спрашивает: «А где руководства пользователя?» И начинает Вас убеждать, что о наличии руководств пользователя договариваться было и не нужно, это «само собой» якобы подразумевается. И все, не хочет принимать у Вас работу. За чей счет будете разрабатывать руководства? На этот крючок попадали уже многие команды.

Раздел 9. Источники разработки

Поэтому, лучше сослаться просто на отчет об обследовании, требования ключевых лиц.

И так, мы рассмотрели все разделы, которые могут быть включены в Техническое задание. «Могут», а не «Обязаны» именно потому, что любой документ должен разрабатываться для достижения результата. Поэтому, если для Вас очевидно, что какой-то отдельный раздел к результату не приблизит, значит он Вам не нужен и не надо тратить на него время.

Но вот без главного: функциональных требований ни одно грамотно Техническое задание не обходится. Хочу заметить, что в практике такие Технические задания встречаются, и еще как! Есть деятели, которые сумеют развести воды по всем разделам, опишут общие требования общими словами, и документ получается весьма увесистый, и слов в нем умных много, и даже Заказчику может понравится (т.е. он его утвердит). Но вот работать по нему может не получиться, т.е. практической пользы от него мало. В большинстве случаев такие документы рождаются, когда надо получить много денег именно под Техническое задание, а сделать его надо быстро и не погружаясь в детали. А особенно, если известно, что дальше дело не пойдет, или его будут делать совсем другие люди. В общем, просто для освоения бюджета, особенно государственного.

Во второй статье будем говорить только о разделе 4 «Требования к системе», а конкретно мы будет формулировать требования из соображений понятности, конкретности и тестируемости.

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

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

Тестируемое ли это требование? Вроде бы простая вещь, но как ее проверять, если нет конкретики?

Как можно было бы это переформулировать: «Сумма затрат, указанная в документе, должна распределиться на все товары, указанные в данном документе пропорционально стоимости этих товаров». Получилось и понятно, и конкретно. Как проверить тоже не составит труда.

ЭргономичностьПрограмма должна иметь удобный интерфейсПризнаться, под данной формулировкой пришлось однажды подписаться самому – проблем потом было не сосчитать. Конечно же, подобных формулировок быть не должно. Тут нет не конкретики, ни возможность проверить это требование. Хотя, безусловно, понятное (субъективно). Тут переформулировать никак нельзя, надо подробно расписывать каждый элемент «удобности», раз Заказчик на этом настаивает. Например:

  • Строки в документ должны добавляться как по нажатию на кнопку «Добавить», так и при нажатии на клавиши «insert», а также вводе пользователем части наименования;
  • При просмотре списка товаров должна быть возможность поиска по наименованию, штрихкоду и артикулу;
  • И пр.

Разграничение прав доступаДоступ к данным по прибыли должен быть доступен только финансовому директоруПонятно? Почти. Правда, прибыль бывает разная, надо уточнить.Конкретно? Конечно нет. Как это видится в реализации? Если речь идет о валовой прибыли, то значит необходимо ограничивать доступ к данным о стоимости закупки, т.к. в противном случае валовую прибыль вычислить не составит труда, поскольку данные о стоимости реализации известны широкому кругу лиц. К тому, что относится к правам доступа, надо относиться очень аккуратно. А если у менеджеров по продажам мотивация построена на валовой прибыли, так эти требования еще и противоречат друг другу, т.к. менеджеры никогда не смогут это проверить. Если уж включать такое требование, то нужно указывать конкретные отчеты и объекты системы, в которых указывать, какая часть данных должны быть доступна отдельным категориям лиц. И рассматривать каждый такой случай индивидуально.ПроизводительностьОтчет по продажам должен формироваться за 1 минуту.Да, понятно. И даже есть конкретное ограничение по времени: 1 минута. Но не известно, какая детализация при этом предполагается: по каждому товару, группам товаров, клиентам или как-то еще?Можно сформулировать примерно так: «Отчет по продажам в разрезе клиентов с детализацией до каждой товарной позиции (см. образец) должен выводится не более, чем за 1 минуту при условии, что количество товаров в выборке не превышает 5000 строк».

Надеюсь, идея понятна. Если будут конкретные вопросы, пишите, попробую помочь.

Чтобы в Техническом задании было больше конкретики, существует немало рекомендаций. Даже есть перечень слов, которые употреблять в Техническом задании не рекомендуется. Интересно об этом пишет К.Вигерс, в своей книге «Разработка требований к программному обеспечению». Приведу самые интересные и простые, на мой взгляд, рекомендации:

  • Не следует использовать слов, имеющих множество синонимов. Если это необходимо, то лучше дать четкое определение термину в разделе «Термины и определения» к Техническому заданию.
  • Следует стараться не использовать длинных предложений;
  • Если какое-то требование Вам кажется слишком общим, его необходимо детализировать до более мелких, но конкретных требований;
  • Используйте больше схем, графиков, таблиц, рисунков – так информацию воспринимается гораздо легче;
  • Следует избегать таких слов: «эффективный», «адекватный», «простой», «понятный», «быстрый», «гибкий», «улучшенный», «оптимальный», «прозрачный», «устойчивый», «достаточный», «дружественный», «легкий» и др. Перечень можно продолжать, но, мне кажется идея понятна (попробуйте его продолжить самостоятельно).

Все, что написано выше, это информация важная, но не самая. Как Вы помните, в начале статьи я это назвал термином «камуфляж», т.к. самое главное, что составит как минимум 90% времени и сложности работы над документом – это выявление и формулировка требований. А информацию о требованиях надо еще суметь собрать, структурировать и сформулировать. В этом, кстати, много общего между обследованием деятельности предприятий с последующим описанием бизнес-процессов. Но есть и важные различия. Одно из таких ключевых отличий – это наличия этапа построения прототипа будущей системы, или как его еще называют «модели информационной системы».

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

Виды работ при сборе требований к системе учета и информации для описания бизнес-процессов. Часть 2

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

Как обычно происходит в жизни:

Как это происходит в большинстве проектов

Как это происходит

Понятное дело, что есть повод для радости, особенно, если проект большой, ничего плохого в этом нет! Главное, не радоваться слишком долго, оттягивая начало фактических работ, с этой минуты время будет идти по-другому.
Обычно этот процесс ограничивается несколькими встречами с руководством, затем с руководителями подразделений. Зафиксировав некие «позывы» со стороны Заказчика, они фиксируются в виде общих формулировок. Иногда к этому добавляют имеющуюся документацию (кто-то когда-то пытался уже поводить обследование, документы по существующим регламентам, формы используемых отчетов) Как ни удивительно, но после этого большинство внедренцев систем автоматизации радостно восклицает: «да в нашей системе все это есть! Ну немного поднастроить и все будет работать». На вопрос, надо ли обсуждать, как все должно работать (или как выполняется конкретный процесс) с конечными пользователями, ответ обычно отрицательный. Высказывается мнение, что руководитель все знает за своих подчиненных. А зря… За этим скрывается множество ловушек и препятствий, и сдача работ может превратиться в марафон по полосе с препятствиями. Как известно, марафон принято бегать по ровной дороге, а бег с препятствиями возможен только на коротких дистанциях (можно и не добежать).
Документирование результатов работы После этого начинается документирование результатов в зависимости от целей работ: Если требуется разработать Техническое задание, консультант начинает рассовывать полученную информацию по заготовленному шаблону документа, чтобы и выглядело красиво, и основные требования были зафиксированы (те, что озвучены от руководства, а то ведь могут не утвердить). Понимая, что на практике такое Техническое задание особо не используется и приходится все выяснять «по ходу дела», главной целью Технического задания он ставит минимальное время согласования и утверждения. И, если получится, информация для примерной оценки стоимости будущих работ (кстати, тоже немаловажно). Если требуется описать бизнес-процессы. Как ни странно, но часто все предшествующие действия выглядят аналогично, как и в случае с разработкой Технического задания. Разница лишь в оформлении документации. Тут возможны варианты: консультанты описывают процесс произвольными словами или используют какие-либо правила описания бизнес-процессов (нотации). В первом случае такой документ получается удивительным образом похож на Техническое задание. Бывает даже такое, что если заменить титульный лист, никакой разницы не увидишь.В последнем случае часто делают акцент не на соответствии действительности, а на «правильности описания», т.е. формальное следование правилам описания.К сожалению, оба варианта являются не самой лучшей практикой, т.к. являются скорее формальностью, а пользы приносят не много.

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

Давайте попробуем придать рассмотренному выше процессу более системный подход. Как он может тогда выглядеть?

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

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

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

Как это может происходить при более грамотной организации работ

Как это происходит

Решение принято, проекту быть! Тут ничего не меняется относительно первого варианта, эмоции никто не отменял
Провели совещание с руководителями, собрали некоторую информацию об их видении результата. Этот шаг тоже остается, и он имеет большое значение. Но основное назначение первой встречи (или нескольких встреч) с руководителями и собственниками это знакомство. Знакомство в первую очередь с людьми и компанией. Сформулированные цели и пожелания на таких общих встречах могут быть самими различными, в том числе фантастическими. Все они будут, конечно же, выслушаны, но не факт, что будут реализованы. При более глубоком погружении в бизнес компании будут как появляться другие цели, так и отвергаться предыдущие. Я это к тому, что из предварительных встреч нельзя сформулировать четкие цели, все это потребует тщательной проработки.На таких встречах необходимо конспектировать все посылы от собственников и первых лиц, чтобы потом можно было к ним вернуться и обсудить, когда будет собрано достаточное количество информации. Даже простое на первый взгляд требование может оказаться нереализуемым либо очень трудоемким.
Формирование рабочей группы от Заказчика и Исполнителя, распределение ролей Необходимо определиться, кто будет работать над проектом как со стороны Заказчика, так и со стороны Исполнителя. Несмотря на кажущуюся простоту данного этапа, он имеет очень большую роль. Если не зафиксировать четко, кто за что отвечает, в ходе реализации работ Вы рискуете столкнуться с неразберихой. Если со своей стороны Вы можете всегда конкретизировать роли в своей команде, то у Заказчика с этим могут возникнуть проблемы. На что следует обратить внимание: в состав рабочей группы Заказчика обязательно должны войти те люди, которые будут в дальнейшем хоть как-то влиять на принятие результата. Если допустить ситуацию, что при сдаче работ подключатся сотрудники Заказчика, которые не принимали участие в работах по формированию целей и выявлению требований, то проблемы гарантированы. Возможна даже такая абсурдная ситуация, что все, оказывается, сделано не так, как требовалось.В моей практике я сталкивался с такой ситуацией не раз.Поэтому, Вы себя можете обезопасить, если оговорите и зафиксируете документально, что никто, кроме рабочей группы Заказчика не может принимать участие в приемке-сдаче работ. А лучше всего, прописать такое в договорных условиях (В договоре или Уставе проекта). Помню, был такой случай: в одном крупном проекте учредитель решил подключиться к процессу (уж не знаю почему, скучно видать стало) и посетил одну из рабочих встреч, где обсуждался вопрос формирования счетов клиентам. Он с удивлением для себя узнал, что счет клиенту выставляет менеджер по продажам. В его представлении счет должен выставлять бухгалтер, и никак иначе. Но на самом деле бухгалтер вообще не представлял, о чем идет речь, а менеджер не мог себе представить, как так работать, если за каждым счетом бегать к бухгалтеру. В результате потеряли кучу времени, но ничего не поменялось, счет по-прежнему выставлял менеджер. А учредитель остался при своем мнении, но больше в процесс не вмешивался. На этом же этапе целесообразно разработать Устав проекта, в котором зафиксировать роли участников, порядок коммуникаций, регламент и состав отчетности, а также все остальное, что следует прописать в Уставе. Разработка Устава проекта это тема опять же отдельная.
Обучение проектной команды методикам и инструментам работы, согласование правил работы, видов и состава документации Во-первых, необходимо разъяснить проектной команде все, что прописано в Уставе, как это будет применяться на практике. Во-вторых, проектную команду Заказчика необходимо обучить тем методам работы, которые Вы собираетесь использовать на всех последующих этапах. Имеет смысл обсудить форматы документов, которые будут использоваться, рассмотреть образцы. Если будут применяться какие-либо правила описания моделей или бизнес-процессов, то надо обсудить и эти правила, чтобы они были понятны.
Анкетирование Этап анкетирования позволяет сравнительно быстрым способом получить достаточно достоверный срез информации о компании. Качество такой информации будет определяться тремя факторами:
  1. В первую очередь тем, как Вы обучили проектную группу Заказчика. Они должны четко понимать, как происходит процесс анкетирования и уметь донести информацию до всех участников
  2. Сама форма анкет. Анкеты должны быть понятными. Желательно, чтобы была инструкция по заполнению анкет. Еще лучше, если будет пример заполнения.
  3. Состав участников. Необходимо правильно выбрать состав участников. Если ограничиться только руководителями, собрать достоверную информацию не получится. Я рекомендую включать в состав анкетирования всех, кто будет в будущем являться пользователем конечных результатов. Например, если речь идет о внедрении автоматизированной системы, то стоит включить всех, кто будет являться пользователем. Бывают случаи, когда из 10 сотрудников одной должности найдется один, который выполняет какую-нибудь особенную функцию, о которой никто из оставшихся 9-ти больше не знает (например, готовит особый отчет для руководства). Если речь идет о дальнейшем перераспределении обязанностей или разработке должностных инструкций, следует поступить аналогично.

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

Опросы Опросом называется проведение устного собеседование со специалистами с целью выяснить особенности отдельных процессов. Необходимо организовать опрос так, чтобы он не выглядел как просто «встретились-поговорили», а более организовано. Для этого необходимо подготовить так называемый план опроса. В него можно включить те части анкеты, которые у Вас вызывают вопросы, противоречат сведениям других анкет или информация представлена поверхностно. Целесообразно добавить вопросы и просто из личного опыта.Ответы надо конспектировать в обязательном порядке. Идеально, если Вы договоритесь о ведении аудиозаписи. На этом же этапе следует проследить за полнотой предоставленной информации о документообороте (как форм первичных документов, так и различных отчетов)
Выделение ключевых бизнес- процессов или областей автоматизации После анкетирования и опроса можно обосновано считать, что информации достаточно, чтобы делать выводы о выделении ключевых бизнес-процессов. На самом деле, уже можно выделить не только ключевые бизнес-процессы, но и практически все (если состав участников был выбран правильно). Вопрос выделения бизнес-процессов это тема совсем отдельная и не простая. Научиться тут сложно и вырабатывается в основном опытом. Из выделенных бизнес-процессов следует составить перечень (классификатор). Затем можно будет принимать решения, какие из них следует исследовать более глубоко, какие нет, а также выделять приоритеты.
Формулирование ключевых требований к системе, целей, критериев успешности проекта, процессов для детального изучения К этому этапу должна быть собрана вся первичная информация о деятельности компании, составлен перечень бизнес-процессов. Теперь в самое время вернуться к целям, конкретизировать их, при необходимости обсудить с первыми лицами компании. При формулировке целей следует учесть конкретные показатели, при достижении которых будем считать проект успешным. Если речь идет о внедрении автоматизированной системы, то отдельным перечнем можно выделить требования к системе от ключевых пользователей. Я это делаю в виде отдельной таблицы, где все требования сгруппированы по подсистемам, для каждого требования указывается автор требования, формулировка и приоритет. Данную информацию можно будет использовать для составления плана развертывания системы (последовательности внедрения отдельных подсистем), а также для предложений по дальнейшему развитию системы (если отдельные подсистемы в текущем проекте внедрять не планируется). Если необходимо описать бизнес-процессы, принимаются решения о тех процессах, которые необходимо исследовать более детально.

Вот и добрались до вопроса «Что дальше?». Дальше будем рассматривать задачи описания бизнес-процессов и разработки Технического задания отдельно. Я не случайно рассматриваю эти задачи параллельно. Между ними действительно много общего, что я и хочу продемонстрировать. Сначала рассмотрим последовательность работ при описании бизнес-процессов.

Что и как делать

Выделяем бизнес-процесс Из общего перечня бизнес-процессов, полученного на предыдущих этапах, выделяем один (по приоритету) для детальной проработки. С остальными затем поступаем аналогично.
Детальное изучение бизнес- процесса Выделенный бизнес-процесс подвергаем детальному изучению: анализируем полученные первичные документы, отчеты и их структуру, используемые в процессе программы, различные файлы (например, Excel), разговариваем с конечными исполнителями. Собираем различные идеи о том, как можно улучшить процесс. Очень полезно, если удастся понаблюдать за процессом именно в тех условиях, в которых он выполняется (не многие любят, когда за ними наблюдают, но что делать)
Графическое и/или текстовое описание бизнес-процесса (первичное) Полученную подробную информацию начинаем описывать.Прежде чем описывать процесс, надо определиться, потребует ли он графического описания. Если процесс простой и понятный, функций в нем мало, и, графическое представление не улучшит его понимание или восприятие, то не надо тратить на это время. В этом случае достаточно описать его в текстовом виде в табличной форме. Если же процесс сложный, с различными логическими условиями, то лучше привести его графическую схему. Диаграммы всегда воспринимаются легче. Если Вы решили описать процесс в графическом виде, это вовсе не означает, что не надо приводить его текстовое описание. Т.е. текстовое описание процесса должно быть в любом случае, причем выполненное по одинаковой схеме. Удобно это делать в виде таблицы, в которой указать: исполнителей каждого шага, какую информацию они получают на входе, описание каждого шага, какую информацию формируют на выходе. Ниже мы посмотрим на примере, как это может выглядеть.
Согласование с исполнителями и владельцем бизнес-процесса Лучший способ понять, насколько удачно вы выбрали стиль изложения информации, это показать результат пользователям (исполнителям) процесса.На самое главное в такой демонстрации это понимание того, насколько правильно Вы поняли, как процесс выполняется.Если обучение проектной команды прошло успешно, то можно ожидать от исполнителей вполне адекватной обратной связи. А если им станет интересно, то продвигаться все начнет гораздо быстрее.Выявленные уточнения и несоответствия необходимо отразить в описании (актуализировать), при необходимости операцию повторить.
Выделение показателей бизнес-процесса После того, как выработано правильное понимание, как выполняется бизнес-процесс, надо подумать над показателями, которыми можно измерить качество или скорость выполнения процесса. Это не просто, но необходимо. Показатель должен быть измеряемым, т.е. выражен в числовом выражении и должен существовать простой способ эту величину получить. Если измеряемый показатель выделить невозможно, есть риск того, что бизнес-процесс выделен неудачно. Кроме того, не будет возможности понять (измерить ведь нельзя), приведут ли изменения процесса к его улучшению или нет.
Окончательное документирование бизнес-процесса После того, как мы убедились в правильном понимании, как процесс выполняется (или должен выполняться), можно включать его в документацию.
Дальше возможны варианты: рассматриваемые процессы будут анализироваться и оптимизироваться, разрабатываться должностные инструкции, приниматься решения о необходимости автоматизации отдельных процессов и т.д.Это может быть и отдельный проект: описание бизнес-процессов.

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

Что и как делать

Выделяем бизнес-требование/область автоматизации Выделение в качестве требований целой области автоматизации (например, «Складские запасы») на практике используется, однако, это не самый эффективный способ детализации требований. Область автоматизации представляет собой группу требований, и рассматривать их лучше каждое в отдельности. Например, «Учет поступления материала на склад»
Детальное изучение бизнес-требования Под детальным изучением бизнес-требования понимается то, как это хочет видеть и будет использовать конечный пользователь (разумеется, в соответствии с целями проекта). В технологиях разработки программного обеспечения это часто называют «вариант использования». Таким образом, детальное изучение бизнес-требования сводится к проработке вариантов использования. Пример такого варианта приведен в приложении 2 к статье. В простейших случаях варианты использования вовсе не обязательно рисовать в виде графических схем, можно ограничиться и текстовой формулировкой. Например, требование «При вводе номенклатуры цена должна рассчитаться как цена закупки +20%» рисовать не имеет смысла. В виде диаграммы имеет смысл представлять требования, объединенные до области автоматизации, как показано в примере в приложении 2.
Моделирование требований в информационной системе Вот оно! Как Вы наверное помните, я уже обращал внимание на этот важнейший элемент в методике разработки Технических заданий. «Построй модель – получишь результат!» А что надо моделировать? Моделировать надо варианты использования, полученные на предыдущем этапе. Что должно быть на выходе моделирования? Должна получиться демонстрационная программа, в которую внесены пользовательские данные, причем желательно привычные его (пользователя) слуху, с учетом отраслевой специфики, актуальных проблем. И не просто так внесены, а должно быть понятно, откуда эти данные взялись, как рассчитались. В этом месте у читателя должны возникнуть вопросы:
  1. А что, если планируется разработка новой системы и моделировать попросту не в чем?
  2. Что, если для демонстрации не хватает функциональности, и систему надо дорабатывать?

Конечно, Вы должны столкнуться с такой ситуацией, и это нормально. Что делать? Если система совсем новая (как говорится «с нуля»), то моделировать придется по большей части на бумаге, тут Вам диаграммы вариантов использования очень помогут. Частично имеет смысл набросать некоторые экранные формы, которые предполагается разработать (прямо в той среде, в которой будет вестись разработка), т.к. рисовать их в каком–нибудь редакторе будет дольше и эта работа скучная.

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

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

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

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

  • Жизненный цикл (жц) информационной системы. Основные процессы жизненного цикла. Вспомогательные процессы. Организационные процессы. Технологии проектирования информационных систем.
  • Техническое задание на проектирование информационной системы. Основные разделы технического задания. Стандарты, описывающие техническое задание. Анализ и разработка требований.
  • Методы аутентификации пользователей информационных систем.
  • Сеть Фейстеля: принцип работы и использование в алгоритмах блочного шифрования
  • Анализ основных технологий разработки электронных технических документов
  • Типовые структуры электронных технических документов
  • Технологии проектирования и реализации мультимедийного продукта.
  • 26. Классификации систем компьютерной графики. Кодирование векторной и растровой графической информации. Растровая графика – объекты изображения. Векторная графика – объекты изображения.
  • 27. Цветовые модели rgb, cmYk, hsv (hsb), hsl, lab. Представление цветов, кодирование, назначение.
  • 28. Структурированная кабельная система: топологии, подсистемы, категории пассивного оборудования.
  • 29. Порядок проектирования структурированной кабельной системы.
  • 30. Глобальная сеть Интернет. Сетевые протоколы. Модель osi. Система доменных имен, трансляция доменного имени в ip-адрес. Маршрутизация пакетов в сети Интернет.
  • 31. Логическое программирование на языке Пролог. Представление знаний о предметной области в виде фактов и правил базы знаний Пролога. Организация повторений.
  • 1.1. Метод отката после неудачи.
  • 33. Ядро операционной системы. Классификация ядер операционных систем. Достоинства и недостатки различных архитектур ядер операционных систем.
  • 34. Файловая система как компонент операционной системы: определение, основные функции и возможности. Примеры реализации файловых систем.
  • 35. Информация и энтропия. Измерение количества информации. Свойства информации. Формулы Хартли и Шеннона.
  • 37. Коды, обнаруживающие и исправляющие ошибки передачи. Построение систематического кода. Код Хемминга.
  • 38. Понятие переменной в языках программирования. Оператор присваивания. Организация ввода и вывода данных в приложении. Организация ветвления и циклов в языках программирования.
  • 39. Массив как способ организации данных. Реализация массивов в различных языках программирования. Одномерные и многомерные массивы. Типовые алгоритмы обработки массивов.
  • 40. Подпрограммы (методы) в языках программирования. Формальные и фактические параметры. Глобальные и локальные переменные. Рекурсивное выполнение подпрограммы.
    1. Техническое задание на проектирование информационной системы. Основные разделы технического задания. Стандарты, описывающие техническое задание. Анализ и разработка требований.

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

    Техническое задание содержит следующие разделы:

      Общие сведения. Данный раздел включает в себя: полное название разработки, полное название и реквизиты заказчика и исполнителя, перечень документов, являющихся основанием для разработки, возможные сроки начала и окончания работ, порядок оформления и предъявления заказчику результатов работ по созданию системы или её частей.

      Основания и назначения разработки. Под назначениемразработки понимается вид автоматизируемых процессов деятельности.

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

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

      Порядок контроля и приемки системы. Содержит ориентировочные даты промежуточного контроля и ориентировочную дату сдачи заказчику.

      Требования к составу и содержанию работ по подготовке объекта разработки к вводу системы в действие. Описываются подготовительные работы по вводу системы в действие.

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

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

    Существуют три стандарта, описывающих техническое задание на проектирование ИС: ГОСТ 34.602-89, ГОСТ 19.201-78, ГОСТ 19.102-77.

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

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

      Пользовательский интерфейс информационных систем. Общие принципы построения. Стили пользовательского интерфейса. Критерии эффективности пользовательского интерфейса. Руководящие принципы построения пользовательского интерфейса. Правила проектирования.

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

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

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

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

    - Модель программиста – рождается в голове программиста, основывается на его профессиональной деятельности.

    Стили пользовательского интерфейса. Можно выделить четыре основных стиля пользовательского интерфейса:

    - Графический пользовательский интерфейс (Graphical User Interface , GUI ) – в основе данного интерфейса лежат четыре фундаментальных элемента: окна, указателя (мыши), меню и пиктограммы. Используются и другие элементы: кнопки, переключатели, поля ввода и др. Особенностью данного интерфейса является развитые возможности оформления экрана и управление с помощью указателя мыши.

    - Web -интерфейс (Web User Interface , WUI ) – интерфейс напоминаетGUIинтерфейс, но изначально был беднее его. В нём, в частности, использовался режим одного окна и не было возможности «перетаскивания» объектов. С развитиемJavaScriptиAjaxон становится более похожим на интерфейсGUI.

    - Интерфейс HUI (Human User Interface ) – это пользовательский интерфейс карманных устройств. Обычно подобные устройства обладают очень маленьким экраном. В нём содержатся некоторые элементы графического интерфейса, например элементы меню и пиктограммы.

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

    Рассмотрим набор критериев качества пользовательского интерфейса:

    - Понимание пользователей – насколько потребности пользователей отражены в интерфейсе программы.

    - Эффективность процесса проектирования – определяет является ли продукт тщательно продуман и спроектирован.

    - Необходимость проекта – имеет ли продукт экономическую и общественную значимость.

    - Пригодность к изучению и использованию – насколько сложен продукт для изучения и использования.

    - Соответствие – соответствует ли дизайн продукта решению поставленных проблем.

    - Эстетические чувства – насколько использование продукта эстетически приятно.

    - Изменяемость – насколько дизайн может изменяться в соответствии с требованиями пользователя.

    - Управляемость – в какой мере реализована функция управляемости продуктом: управлением инсталляцией, тренировкой, сопровождением.

    Общие принципы построения графического интерфейса :

    Использование единой среды пользователя в виде так называемого рабочего стола;

    Использование графических окон для отображения данных;

    Применение средств неклавиатурного ввода (с помощью мыши).

    Правила проектирования пользовательского интерфейса:

    - Контроль пользователя - разработчики должны дать пользователю наиболее полный контроль над ИС (на сколько это позволяет безопасность). Рассмотрим несколько частных реализаций данного принципа:

    1) уменьшение нагрузки на память – память пользователя не столь велика и не столь быстра.

    2) совместимость интерфейса – возможность пользователей переносить свой опыт и знания на работу с новым программным обеспечением.

      Моделирования информационных систем. Необходимость в языках моделирования. Язык UML . Принципы объектно-ориентированного проектирования. Обзор диаграмм языка UML . Диаграммы прецедентов и диаграммы классов.

    Моделирование – это замещение исследуемого объекта (оригинала) его условным образом или другим объектом (моделью) и изучение свойств оригинала путём исследования свойств модели.

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

    Язык моделирования – это нотация, в основном графическая, которая используется для описания проектов.Нотация представляет собой совокупность графических объектов, используемых в модели. Нотация является синтаксисом языка моделирования. Язык моделирования с одной стороны должен делать решения проектировщика понятными пользователю, с другой стороны предоставлять проектировщикам средства для наиболее формализованного представления информационной системы. Графическое изображение нередко является наиболее понятной формой представления информации.

    UML (Unified Modelling Language – унифицированный язык моделирования) – язык графического описания для объектного моделирования в области разработки программного обеспечения.UMLиспользует графические обозначения для представления абстрактной модели системы, называемойUML-моделью. Данный язык был разработан для моделирования ИС.UMLне является язык программирования, но на основеUML-модели производится генерация кода.

    Объектно-ориентированная модель представляет собой совокупность диаграмм, описывающих с помощью языкаUML, различные аспекты структуры и поведения ИС.

    Диаграмма UML – это графическое представление набора элементов, изображаемое чаще всего в виде графа с вершинами (сущностями) и рёбрами (отношениями).



    Есть вопросы?

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам: