что есть
формализация требований
к программному обеспечению
и как ее добиться
с помощью
технического задания
и других способов ?
Назначение формализации требований
разные представления. Каждое представление требований выполняет определенную задачу.
Что есть формализация требований?
-
адекватность;
-
однозначность;
-
непротиворечивость;
-
полнота.
Варианты формализации требований
Неформальная постановка требований. Спецификация требований в виде документов.Формальная модель требований.
Неформальная постановка требований
Данный метод хорош в случаях:
- в небольших проектах;
-
при вовлеченности заказчика
в разработку; - когда есть взаимопонимание между заказчиком и командой;
- когда лишние формальности не требуются;
- документами в такой ситуации, например, оказываются электронные письма.
Важно вовремя понять, когда такой способ перестает работать и необходимы формальные подходы.
Формализация требований с помощью use-case диаграмм UML
ФОРМАЛИЗАЦИЯ ТРЕБОВАНИЙ С ПОМОЩЬЮ USE-CASE ДИАГРАММ UML
Минусы:
- не позволяет проанализировать существующую модель бизнес-процессов, выявить ее недостатки;
- недостаточная степень регламентации описания функции;
- невозможно проследить механизмы и управление процессом и их логику взаимодействия.
Плюсы:
-
простота, наглядность и
читабельность неспециалистами.
Формальная модель требований
В данном случае строится модель, описывающая некоторые аспекты (чаще функциональные) системы.
Существует процесс построения формального описания требований к программной системе FOREST (FOrmal REquirements Specification and Testing), в который включено использование формальной модели требований в качестве основы для построения тестов.
ФОРМАЛЬНАЯ МОДЕЛЬ ТРЕБОВАНИЙ
FOREST предоставляет возможность автоматизации выполнения ряда сложных и трудоемких задач разработки, таких как:
- автоматизированная проверка полноты и непротиворечивости набора требований;
- автоматизированное построение набора тестов, проверяющих работу системы в большом количестве разнообразных ситуаций;
- генерация первых вариантов исходного кода системы из формальных спецификаций;
-
генерация прототипов, симуляция работы системы для более быстрого получения отзывов пользователей о ней.
ФОРМАЛИЗАЦИЯ требований в виде документов
По SWEBOK для описания комплексных проектов в части требований используется три основных документа:
-
Техническое задание
-
Технической проект
Формализация требований с помощью технического задания (ТЗ) и технического проекта (ТП)
- что же такое ТЗ и ТП?
- что в них должно быть?
-
что означает “хорошее ТЗ”?
что есть Техническое задание?
Техническое задание — исходный документ на проектирование технического объекта, устанавливающий:
- основное назначение разрабатываемого объекта;
- его технические характеристики;
- показатели качества;
- требования;
- стадии создания документации и её состав;
-
а также специальные требования.
В ТЗ описывается, ЧТО нужно заказчику, в отличие от последующей проектной документации, в которой говорится, КАК этого достичь.
что есть технический проект?
Технический проект – это документ (или их совокупность), который предназначен для технической реализации требований, сформулированных в Техническом задании, содержит окончательные проектные решения по изделию (автоматизированной системе).
Разрабатывается архитектором системы или группой программистов во главе с ним.
КЕМ пишется тЗ?
Бизнес-аналитиком
Не программистом
Не программистом
Бизнес-аналитиком
Сотрудник должен иметь ряд навыков и знаний, таких как опыт программирования и построения баз данных, хорошее знание систем, с которыми придется иметь дело.
Однако чем больше проект, тем и больше людей работает над Техническим заданием.
А нужно ли техническое задание?
В Scrum, Agile и прочих технологиях говорится: «минимум бумаг, ближе к Заказчику, больше конкретики и быстрее к результату». Но формализацию требований никто не отменял и там это явно сказано.
Цели ТЗ:
- перевести требования на язык предметной области;
-
сформулировать задачу максимально полно и грамотно;
- обосновать необходимость её решения.
Хорошее техническое задание — важнейшая составляющая успеха в проекте, оно является основой порядка, грамотное ТЗ — это 50 % успеха в решении задачи, однако это не панацея.
Стандарты написания и оформления ТЗ и ТП
Для ТЗ:
-
ГОСТ 19.201-78.
ЕСКД. ТЗ. Требования к содержанию и оформлению;
- ГОСТ 34.602-89. Техническое задание на создание автоматиз. системы;
- ГОСТ 2.114-95. ЕСКД. Технические условия.
-
ГОСТ 34 серии;
-
ГОСТ 2.120-73. Требования к выполнению технического проекта;
- ГОСТ 2.102-68. Номенклатура конструкторских документов технического проекта.
ГОСТы не являются универсальной хорошей практикой.
Используя ГОСТы нужно искать
"золотую середину"
. Также требований ГОСТа явно
недостаточно
, чтобы разработать
эффективное
Техническое задание.
Понятие «Хорошего ТЗ»
Для менеджера ТЗ хорошее тогда, когда по нему удается сделать проект с первого захода. Когда время, ресурсы и результат оправдали ожидания.
Чтобы при сдаче избежать разработчику — неприятных вопросов, а заказчику — неожиданных трат, нужно заранее определить требования. Заказчику нужно понимать что он будет принимать у разработчиков.
В отличном ТЗ определен порядок тестирования и приемки результата, причем не скопирован из ГОСТа, а действительно продуман и принят сторонами.
дл я кого пишется ТЗ?
У ТЗ два основных читателя:
-
разработчик;
-
клиент;
и один редкий — тот, кто будет разбираться в проблемах между первыми двумя.
Типичные реакции типичного клиента на ТЗ в 50-70 страниц:
-
попытка раздать его всем коллегам «почитать»;
-
подписывание без чтения.
Ведение листа изменений. Там могут появиться и отклонения от требований, и их придется согласовывать.
требования В ТЗ?
При написании ТЗ необходимо :
- убедиться, действительно ли заявленные потребности ценны для заказчика;
- правдивы ли исходные данные;
-
какие неблагоприятные или вредные последствия могут возникнуть в процессе реализации этой потребности;
-
выяснить суть потребности, отыскать источник её возникновения;
-
выяснить, что мешает использованию прежнего изделия для удовлетворения новых потребностей.
какие требования писать в тз?
Здесь нам поможет ГОСТ. Например:
-
требования в функциональности;
-
требования к безопасности и правам доступа;
-
требования к квалификации персонала;
-
и другие.
-
требование должно быть понятным;
-
требование должно быть конкретным;
- требование должно быть тестируемым.
Структура ТЗ и обязательные пункты
ГОСТ рекомендует следующие разделы:
-
общие сведения;
-
назначение и цели создания (развития)
системы;
-
характеристика объектов автоматизации;
-
требования к системе;
-
состав и содержание работ по созданию системы;
-
порядок контроля и приемки системы;
-
требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие;
-
требования к документированию;
- источники разработки.
Картинки или текст?
- что откуда выводится;
- какими признаками обусловлено;
- по каким формулам считается;
- где настраивается;
-
как надо и как НЕ надо это реализовывать.
Макеты или текст?
-
наглядность;
-
однозначность расположения элементов;
-
лаконичность.
-
информации о функционировании элементов;
-
формализации.
-
полную информацию о функционировании;
-
полное описание свойств блоков, элементов и т.д.;
-
формальность описания.
-
наглядность.
Живые макеты в Axure и Balsamiq
-
возможность программирования поведения кнопок, текстовых полей, панелей и прочих виджетов, вследствие чего получившиеся макеты или прототипы приближены к окончательному результату и доступны для тестирования.
- ТЗ почти вырождается, содержит лишь общую информацию и структурные вещи.
-
При ее применении программист должен смотреть в три места: ТЗ, Axure и верстку. При большом объеме между ними не избежать противоречий, и проблем может оказаться больше чем выигрыш.
Title
Выводы
Спасибо за внимание!
Что есть формализация требований к программному обеспечению и как ее добиться с помощью технического задания?
By Alexander
Что есть формализация требований к программному обеспечению и как ее добиться с помощью технического задания?
- 13,082