Техническое задание на программное обеспечение образец

Техническоезадание на разработку программы«Анализаторплоских механизмов»

1. Наименование и область применения
2. Основания для разработки
3. Назначение разработки
4. Технические требования к программе или программному изделию
4.1. Требования к функциональным характеристикам
4.2. Требования к надежности
4.3. Условия эксплуатации
4.4. Требования к составу и параметрам технических средств
4.5. Требования к информационной и программной совместимости
4.6. Требования к маркировке, упаковке программного изделия
4.7. Специальные требования
5. Технико-экономические показатели
5.1. Экономические преимущества разработки по сравнению с лучшими отечественными и зарубежными образцами или аналогами
6. Стадии и этапы разработки
6.1. Стадии разработки
6.2. Этапы разработки и содержание работ по этапам
7. Порядок контроля и приемки

1. Наименование и область применения

Наименованиепрограммы: “Структурный анализаторплоских механизмов”. Программаиспользуется в виде прикладногоприложения для анализа файла данныхформата.DXFсистем автоматизированного проектирования,которые поддерживают этот формат.

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

4.1. Требования кфункциональным характеристикам

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

Исходные данные:файл в формате.DXFэкспортированный из системы Компас.

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

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

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

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

Условия эксплуатациипрограммы совпадают с условиямиэксплуатации ПЭВМ IBMPCи совместимых с ними ПК. Программа должнабыть рассчитана на непрофессиональногопользователя т.п.

4.4. Требование ксоставу и параметрам технических средств

Необходимо наличиеПЭВМ IBMPCсовместимого ПК с графическим адаптеромEGA(VGA).Необходимое дисковое пространство –не менее 500КБайт. Желательно наличиеманипулятора типа «мышь».

4.5. Требование кинформационной и программной совместимости

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

4.6. Требование купаковке, маркировке программногоизделия

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

4.7. Специальныетребования

Специальныхтребований к временным характеристикампрограммы не предъявляется. Специальныхтребований к ёмкостным характеристикампрограммы не предъявляется. Программноеизделие может транспортироваться налюбом внешнем носителе.

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

5.1. Экономическиепреимущества разработки по сравнениюс лучшими отечественными образцами ианалогами

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

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

6.1. Стадииразработки

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

Эскизноепроектирование

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

Рабочий проект

Внедрение

6.2. Этапы разработкии содержание работ по этапам

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

    Обоснование необходимости разработки программы – на этом этапе выполняются:

Постановказадачи;

Сбор исходныхматериалов;

Выбор и обоснованиекритериев эффективности и качестваразрабатываемой программы.

    Научно-исследовательские работы – на этом этапе выполняются:

Определениеструктуры входных и выходных данных;

Предварительныйвыбор методов решения задачи;

Обоснованиецелесообразности применения ранееразработанных программ;

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

Обоснованиепринципиальной возможности решенияпоставленной задачи.

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

Определениетребований к программе;

Разработкатехнико-экономического обоснованияразработки программы;

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

Выбор языковпрограммирования;

Эскизный проект

    Разработка эскизного проекта – на этом этапе выполняются:

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

Уточнение методоврешения задачи;

Разработкаобщего описания алгоритма решениязадачи;

Разработкатехнико-экономического обоснования.

    Утверждение эскизного проекта – на этом этапе выполняются:

Согласование иутверждение эскизного проекта.

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

    Разработка технического проекта – на этом этапе выполняются:

Уточнениеструктуры входных и выходных данных;

Разработкаалгоритма решения задачи;

Определениеформы представления входных и выходныхданных;

Определениесемантики и синтаксиса языка;

Разработкаструктуры программы;

Окончательноеопределение конфигурации техническихсредств.

    Утверждение технического проекта – на этом этапе выполняются:

Разработка планамероприятий по разработке и внедрениюпрограммы;

Разработкапояснительной записки;

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

Рабочий проект

    Разработка программы – на этом этапе выполняется:

Программированиеи отладка программы.

    Разработка программной документации – на этом этапе выполняется:

Разработкапрограммных документов в соответствиис требованиями ЕСПД

    Испытания программы – на этом этапе выполняются:

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

Проведениепредварительных государственных,межведомственных, приемо-сдаточных идругих видов испытаний;

Корректировкапрограммы и программной документациипо результатам испытаний.

Внедрение

    Подготовка и передача программы – на этом этапе выполняются:

Подготовка ипередача программы и программнойдокументации для сопровождения и /илиизготовления;

Оформление иутверждение акта о передаче программына сопровождение и/или изготовление;

Передача программыв фонд алгоритмов и программ.

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

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

МИНИСТЕРСТВО НАУКИ И ОБРАЗОВАНИЯ

РОССИЙСКОЙ ФЕДЕРАЦИИ

ГОУ ВПО «АДЫГЕЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

ФИЗИЧЕСКИЙ ФАКУЛЬТЕТ

КАФЕДРА АСОИУ

ТЕХНИЧЕСКОЕ ЗАДАНИЕ НА СОЗДАНИЕ ПРОГРАММНОГО

ПРОДУКТА

ВВЕДЕНИЕ…………………………………………….…………………………. … 3

1. ОСНОВАНИЕ ДЛЯ РАЗРАБОТКИ……………………………………….. ……4

1.1. Документ, на основании которого ведётся разработка……………………….4

1.2. Организация, утвердившая основание разработки, и дата его утверждения4

1.3. Наименование темы разработки…………….………………………………….4

2. НАЗНАЧЕНИЕ РАЗРАБОТКИ……………….…………………………………..5

2.1 Критерии эффективности и качества программы…….………………………..5

2.2 Цели разработки программы…………………………….………………………5

3. ТРЕБОВАНИЯ К ПРОГРАММЕ…………………………….……………………6

3.1 Требования к функциональным характеристикам………….………………….6

3.1.1 Состав выполняемых функций………………………………..……………….6

3.1.2 Организация входных и выходных данных…………………….…………….6

3.1.3 Временные характеристики и размер занимаемой памяти……..……………6

3.2 Требования к надежности…………………………………………….……….…6

3.2.1 Требования к надежному функционированию……………………….………6

3.2.2 Контроль входной и выходной информации……………………………..…..7

3.2.3 Время восстановления после отказа……………………………………….….7

3.3 Условия эксплуатации……………………………………………………………7

3.4 Требования к составу и параметрам технических средств……………………7

3.5 Требования к языкам программирования……………………………………….8

3.6 Требования к программным средствам, используемым программой…………8

3.7 Требования к программной документации……………………………………..8

4. ТЕХНИКО-ЭКОНОМИЧЕСКИЕ ПОКАЗАТЕЛИ………………………… ….. 9

5. СТАДИИ И ЭТАПЫ РАЗРАБОТКИ………………………………………………9

6. ПОРЯДОК КОНТРОЛЯ И ПРИЕМКИ……………………………………………9

6.1 Виды испытаний…………………………………………………………………..9

6.2 Общие требования к приёмке…………………………………………………..10

7. ЭТАПЫ ВНЕДРЕНИЯ……………………………………………………………10

ВВЕДЕНИЕ

Полное наименование программной разработки: “Программа К”, в дальнейшем именуемая как “программа”. Краткое название программы – «ПК».

На данный момент аналогичных программных продуктов не существует.

Разрабатываемая программа применяется на любом предприятии, где имеется рабочий персонал.

Разработчик данного программного продукта – студент группы 4А1 Иванов А.В. в дальнейшем именуемый как “разработчик “.

Заказчик программного продукта – ОАО «РТС», в лице директора А.М. Гутенко.

1 ОСНОВАНИЕ ДЛЯ РАЗРАБОТКИ

1.1 Документ, на основании которого ведётся разработка

Работа ведётся на основании задания по дисциплине «Теоретические основы автоматизированного управления»

1.2 Организация, утвердившая этот документ, и дата его утверждения

Задание утверждено и выдано начальником технического отдела ОАО «РТС» Козаковым А.В.

Козаков А.В.

1.3 Наименование темы разработки

Наименование темы разработки – «Учёт рабочего времени».

2 НАЗНАЧЕНИЕ РАЗРАБОТКИ

Данная разработка является семестровой работой по дисциплине «Теоретические основы автоматизированного управления»

2.1 Критерии эффективности и качества программы

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

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

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

Технология создания программы в визуальных средах программирования делает ее интерфейс универсальным и совместимым с операционными системами Windows 95/98/2000/XP.

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

2.2 Цели разработки программы

Создание данной программы преследует ряд технико-экономических целей:

Создание программного продукта, необходимого для учёта рабочего времени.

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

Создание интуитивно понятной программы с удобным и универсальным Windows.

Техническое задание на разработку программы”10-Страйк: Инвентаризация Компьютеров” для учета компьютеров сети предприятия “

1. Введение

1.1. Наименование программы

2. Требования к программе

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

2.2.1. Требования к обеспечению надежного функционирования программы

2.2.3. Отказы из-за некорректных действий пользователей системы 3. Условия эксплуатации 3.1. Климатические условия эксплуатации 3.2. Требования к квалификации и численности персонала 3.3. Требования к составу и параметрам технических средств 3.4.

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

Требования к защите информации и программ 3.5. Специальные требования 4. Требования к программной документации 4.1. Предварительный состав программной документации 5. Технико-экономические показатели 5.1. Экономические преимущества разработки 6. Стадии и этапы разработки 6.1. Стадии разработки 6.

2. Этапы разработки 6.3. работ по этапам 7. Порядок контроля и приемки 7.1. Виды испытаний

Источник: https://electricianprof.ru/posting/technical-specification-for-software-development-is-a-sample-examples-of-development-of-program-documentation/

Техническое задание на разработку программы

6

Техническоезадание на разработку программы«Анализаторплоских механизмов»

1. Наименование и область применения 2
2. Основания для разработки 2
3. Назначение разработки 2
4. Технические требования к программе или программному изделию 2
4.1. Требования к функциональным характеристикам 2
4.2. Требования к надежности 3
4.3. Условия эксплуатации 3
4.4. Требования к составу и параметрам технических средств 3
4.5. Требования к информационной и программной совместимости 3
4.6. Требования к маркировке, упаковке программного изделия 3
4.7. Специальные требования 3
5. Технико-экономические показатели 4
5.1. Экономические преимущества разработки по сравнению с лучшими отечественными и зарубежными образцами или аналогами 4
6. Стадии и этапы разработки 4
6.1. Стадии разработки 4
6.2. Этапы разработки и содержание работ по этапам 4
7. Порядок контроля и приемки 6

Пример тз на разработку программного обеспечения, как написать техническое задание

Написание технического задания — один из первых этапов работы над проектом. Он предваряет разработку самой системы.

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

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

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

Мы используем термины «Бизнес-требования» (BRD — Business requirements document), «Функциональные требования» (FRD – Functional requirements document) и Технико-архитектурные требования (TAD – Technical Architecture document).

Однако здесь, чтобы не усложнять описание, мы будем использовать именно термин «Техническое задание».

Документ, который мы в большинстве случаев используем для взаимодействия с заказчиками состоит на 70% — из бизнес-требований, на 20% из функциональных требований и только на 10% — из технико-архитектурных требований. Конечно, эта пропорция варьируется в зависимости от специфики и технической сложности системы.

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

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

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

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

Структура технического задания

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

1. Оглавление 2. История изменений документа 3. Участники проекта 4. Назначение документа 5. Терминология

6. Общий контекст

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

В разделе «Терминология» технического задания на баннерную систему мы определяем такие понятия как Показы, Клики, CTR, Охват, Частота контакта, Файл бронирования и т.

п, а в разделе «Общий контекст» — описываем основные бизнес-процессы компании-заказчика, относящиеся к размещению баннерной рекламы, а также — системное окружение, текущие роли менеджеров компании и права доступа. Стоит отметить, что в данном конкретном случае система строилась не на пустом месте.

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

7. Система размещения баннеров
8.

Взаимодействие с биллингом 9. Banner Engine

10. Техническое описание компонента Banner Engine

Самый объемный раздел описываемого нами технического задания – «Система размещения баннеров»; он посвящён ядру разрабатываемой системы и содержит все требования непосредственно к системе управления рекламными местами.

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

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

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

Каждое техническое задание отличается по размеру, числу иллюстраций, количеству версий. Для примера, документ на баннерку представлен на 44 страницах и содержит 15 иллюстраций. Процесс подготовки этого документа занял около месяца и включал около 8 итераций с заказчиком.

Бизнес vs Функциональные требования

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

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

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

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

Пример бизнес-требования:

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

Пример функционального требования:

«Для решения этой задачи [какой – см. выше] предполагается использовать внешний сервис, к которому баннерные сервера будут обращаться при каждом показе баннера. Поскольку данный сервис является точкой отказа, баннерные сервера должны корректно обрабатывать ситуацию когда внешний сервис недоступен или отвечает с задержками».

Обычно мы включаем

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

Правильное техническое задание на разработку программного обеспечения – секрет успешного проекта

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

Название сценария: Создание рекламного места

Роль: Администратор

Пример функционального требования:

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

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

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

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

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

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

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

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

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

Частота контакта – количество уникальных пользователей, посмотревших рекламный баннер определенное число раз. Например, частота контакта 5 – количество уникальных пользователей, каждый из которых посмотрел данный рекламный баннер не менее 5 раз. Частота контакта 1 = Охват.

Основные принципы

При написании ТЗ мы стараемся максимально использовать графические материалы для наглядного и сжатого представления информации. Одна диаграмма зачастую в состоянии заменить несколько страниц текста.

В данном контексте, мы видим своей целью т.н. рисование ТЗ, т.е.

представление всех более-менее сложных фрагментов системы в графическом виде и использование текста в качестве комментариев к графическим материалам.

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

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

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

Вот такой прототип экрана редактирования рекламной кампании был включен в ТЗ на систему баннерной рекламы.

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

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

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

Большое значение при создании технического задания имеет опыт разработки похожих систем. Он помогает быстрее вникать в бизнес-процессы и потребности заказчика, делать «по аналогии» многие вещи, которые ранее казались бы нам сложными.

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

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

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

Источник: https://steptosleep.ru/%D1%82%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B5-%D0%B7%D0%B0%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BD%D0%B0-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%83/

Стандарты и шаблоны для ТЗ на разработку ПО

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

Но не тут-то было! Одной статьи, где перечисляются стандарты для ТЗ, включая шаблоны и примеры готовых документов, я не нашел.

Придется сделать такую статейку самому… И так, основные стандарты, методологии и своды знаний, где упоминается ТЗ или SRS (Software (or System) Requirements Specification): • Гост 34 • Гост 19 • IEEE STD 830-1998 • ISO/IEC/ IEEE 29148-2011 • RUP • SWEBOK, BABOK и пр.

Гост 34

Гост 34.602-89 Техническое задание на создание автоматизированной системы регламентирует структуру ТЗ на создание именно СИСТЕМЫ, в которую входят ПО, аппаратное обеспечение, люди, которые работают с ПО, и автоматизируемые процессы.

Согласно Гост 34 техническое задание должно включать следующие разделы: 1. Общие сведения 2. Назначение и цели создания (развития) системы 3. Характеристика объектов автоматизации 4. Требования к системе 5. Состав и содержание работ по созданию системы 6.

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

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

Гост 19

“Гост 19.

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

Согласно Гост 19.201-78 Техническое задание, требования и оформлению техническое задание должно включать следующие разделы:

1. Введение; 2. Основания для разработки; 3. Назначение разработки; 4. Требования к программе или программному изделию; 5. Требования к программной документации; 6. Технико-экономические показатели; 7. Стадии и этапы разработки; 8. Порядок контроля и приемки; 9. Приложения. Естественно Гост 34 (и 19) уже устарели, и я не люблю их использовать, но при правильном интерпретации стандартов, можно получить хорошее ТЗ, см. Заключение.

IEEE STD 830-1998

Достаточно хорошее определение стандарта 830-1998 — IEEE Recommended Practice for Software Requirements Specifications дано в самом его описании: Описывается содержание и качественные характеристики правильно составленной спецификации требований к программному обеспечению (SRS) и приводится несколько шаблонов SRS.

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

  • 1. Назначение
  • 2. Область действия
  • 3.

    Определения, акронимы и сокращения

  • 4. Ссылки
  • 5. Краткий обзор

2. Общее описание

  • 1. Взаимодействие продукта (с другими продуктами и компонентами)
  • 2. Функции продукта (краткое описание)
  • 3. Характеристики пользователя
  • 4. Ограничения
  • 5. Допущения и зависимости

3.

Детальные требования (могут быть организованы по разному, н-р, так)

  • 1. Требования к внешним интерфейсам
    • 1. Интерфейсы пользователя
    • 2. Интерфейсы аппаратного обеспечения
    • 3. Интерфейсы программного обеспечения
    • 4. Интерфейсы взаимодействия
  • 2. Функциональные требования
  • 3.

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

  • 4. Проектные ограничения (и ссылки на стандарты)
  • 5. Нефункциональные требования (надежность, доступность, безопасность и пр.)
  • 6. Другие требования

4. Приложения 5.

Алфавитный указатель

На самом деле новичку достаточно трудно понять, что должно содержаться в данных разделах по вышеприведенной структуре (как и в случае с ГОСТом), поэтому нужно читать сам стандарт, который легко найти в Интернете. Как и примеры, правда, на англ. языке.

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

ISO/IEC/ IEEE 29148-2011

Стандарт IEEE 29148-2011 обеспечивает единую трактовку процессов и продуктов, используемых при разработке требований на протяжении всего жизненного цикла систем и программного обеспечения. Он приходит на смену стандартов IEEE 830-1998, IEEE 1233-1998, IEEE 1362-1998.

Данный стандарт содержит два шаблона спецификации требований: • System requirements specification (SyRS) • Software requirements specification (SRS) System Requirements Specification (SyRS) определяет технические требования для выбранной системы и удобства взаимодействия предполагаемой системы и человека.

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

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

  • 1. Назначение системы
  • 2.

    системы (границы системы)

  • 3. Обзор системы
    • 1. системы
    • 2. Функции системы
    • 3. Характеристики пользователей
  • 4. Термины и определения

2. Ссылки 3. Системные требования

  • 1. Функциональные требования
  • 2. Требования к юзабилити
  • 3. Требования к производительности
  • 4.

    Интерфейс (взаимодействие) системы

  • 5. Операции системы
  • 6. Состояния системы
  • 7. Физические характеристики
  • 8. Условия окружения
  • 9. Требования к безопасности
  • 10. Управление информацией
  • 11. Политики и правила
  • 12. Требования к обслуживанию системы на протяжении ее жизненного цикла
  • 13.

    Требования к упаковке, погрузке-разгрузки, доставке и транспортировке

4. Тестирование и проверка (список необходимых приемочных тестов, которые отражают зеркально раздел 3) 5. Приложения

  • 1. Предположения и зависимости
  • 2.

    Аббревиатуры и сокращений

SRS это спецификация требований для определенного программного изделия, программы или набора программ (продукт), которые выполняют определенные функции в конкретном окружении. Из определения следует, что это аналог ТЗ, описанного в Гост 19, а по структуре очень напоминает SRS из стандарта IEEE 830. SRS может содержать следующие разделы: 1.

Введение

  • 1. Назначение
  • 2. (границы)
    • 3. Обзор продукта
    • 1. Взаимодействие продукта (с другими продуктами и компонентами)
    • 2. Функции продукта (краткое описание)
    • 3. Характеристики пользователей
    • 4. Ограничения
  • 4. Термины и определения

2. Ссылки 3. Детальные требования

  • 1.

    Требования к внешним интерфейсам

  • 2. Функции продукта
  • 3. Требования к юзабилити
  • 4. Требования к производительности
  • 5. Требования к логической структуре БД
  • 6. Ограничения проектирования
  • 7. Системные свойства ПО
  • 8. Дополнительные требования

4. Тестирование и проверка (список необходимых приемочных тестов, которые отражают зеркально раздел 3) 5. Приложения

  • 1. Предположения и зависимости
  • 2. Аббревиатуры и сокращений

Данный стандарт достаточно сложно найти в открытом виде в Интернете, но постараться можно, и опять же только на англ.

RUP

Структура SRS в RUP(Rational Unified Process) представляет собой документ, в котором необходимо описать артефакты, полученные в процессе специфицирования требований.

Шаблон SRS в RUP адаптирован из стандарта IEEE STD 830 и содержит два варианта:

• Традиционный шаблон SRS со структурированными функциональными требованиями по функциям Системы, максимально похож на 830 стандарт. • Упрощенный шаблон SRS со структурированными функциональными требованиями в виде вариантов использования (use cases): 1. Введение.

  • 1. Цель.
  • 2. Краткая сводка возможностей.
  • 3. Определения, акронимы и сокращения.
  • 4. Ссылки.
  • 5. Краткое содержание.

2. Обзор системы

  • 1. Обзор вариантов использований.
  • 2. Предположения и зависимости.

3. Детальные требований

  • 1. Описание вариантов использования.
  • 2. Дополнительные требования.
  • 3. Другие функциональные требования.
  • 4. Нефункциональные требования.

4. Вспомогательная информация.

Естественно, что в Интернете можно найти шаблон и примеры SRS от RUP.

SWEBOK, BABOK и пр

SWEBOK, BABOK, а также множество других методологий разработки ПО и сводов знаний при упоминании SRS ссылаются на вышеупомянутые зарубежные стандарты.

Также стоит сказать, что для описания требований к АС и ПО используются и другие виды документов, кот каждый называет по разному: FRD (Functional Requirements Document), RD (Requirements Document), ПЗ (Постановка задачи или Пояснительная записка) и пр.

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

А как же agile?

Я скажу одной фразой из Манифеста Agile: “Working software over comprehensive documentation”. Поэтому в Agile документации отводится совсем мало места. Мое же убеждение, что разработать АС без ТЗ можно (используя техники/рекомендации Agile), но вот в дальнейшем сопровождать — невозможно. Поэтому сразу задумайтесь, как вы будете писать ТЗ и другую документацию, при разработке ПО по Agile.

Заключение

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

Но главное, чтобы ТЗ не превращалось в ХЗ, а, именно, содержание (наполнение) в ТЗ — самое главное! Но это уже совсем другая история… Если есть интерес, то можно пройти он-лайн курс Разработка и управление требованиями к ПО.

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

Также рекомендую ознакомиться со следующими материалами:

Источник: https://habr.com/post/328822/