Техническое задание на разработку программного изделия
Этапы разработки требований пользователя и требований к программному изделию в практике разработки программных изделий в нашей стране рассматриваются в схеме ЖЦПИ как стадия разработки Технического задания.
Техническое задание обобщает и систематизирует все требования, предъявляемые к программному изделию со стороны будущих пользователей, и является исходным документом, содержащим всю необходимую информацию для проектирования изделия. В нем формулируется задача автоматизации и требования к функционированию изделия на языке пользователя, а также задание программистам на реализацию изделия.
Структура и содержание разделов технического задания должна обеспечить программиста информацией о сущности и особенностях автоматизируемого процесса, о структурах и содержании потоков данных, характеризующих технологический процесс, об алгоритмах обработки данных, реализующих технологический процесс, и о формах представления выходной информации, требуемой пользователю. В связи с этим техническое задание содержит следующие основные разделы:
1. Описание технологических процессов, подлежащих автоматизации, что позволяет разработчикам программного изделия правильно и полно понять особенности автоматизируемого технологического процесса. Вначале описывается существующий процесс с указанием последовательности выполняемых операций, контролей, согласовании и т.п., а затем приводится описание предполагаемых технологических цепочек для нового технологического процесса.
2. Описание документопотоков автоматизируемого процесса включает описание всех входных, выходных и промежуточных документов, которые используются пользователем в настоящее время для каждого этапа технологического процесса. Для каждого документа должны быть указаны: источник и приемник информации (откуда поступает и куда передается документ), структура и информационное содержание документа, алгоритм обработки информации в документе, форма носителя и способ передачи документа, перечень одновременно используемых и обрабатываемых документов и т.д.
3. Формулировка задачи автоматизации включает описание разделов технологического процесса, подлежащих автоматизации. При этом отмечается ожидаемый в результате автоматизации экономический эффект.
Таким образом, первые три пункта описывают проблему автоматизации.
4. Функциональное назначение программного изделия содержит перечень функций разрабатываемого программного изделия, реализация которых обеспечит решение поставленной задачи автоматизации.
5. Состав групп пользователей и распределение функций между ними с описанием требований к их квалификации для работы с программным продуктом и описанием особенностей решаемых ими задач.
6. Иерархическая функциональная диаграмма программного изделия, отражающая иерархию функций и подфункций.
7. Описание данных — схем потоков данных, всех структур данных и взаимосвязей между ними.
Схемы потоков данных должны включать источники и приемники информации, хранилища данных, функциональные блоки обработки данных и линии потоков, соединяющие все элементы схемы между собой. Схемы потоков данных отражают в графической форме функциональную модель системы.
8. Обобщенные алгоритмы работы функциональных блоков, записанные в понятиях языка пользователя. Описание каждого блока охватывает и описание входных потоков и результатов обработки данных на выходе каждого блока.
9. Требования к интерфейсам пользователя включают либо указания на принятый стандартный для данной задачи интерфейс, либо описывают его специфические особенности и отличия с обоснованием их целесообразности. При описании интерфейса пользователя с программным изделием необходимо отразить средства ввода и отображения информации, способ представления информации (текст, таблица, график и т.д.) и общую характеристику экранного представления (многооконность, система подсказок и выдача справочной информации).
10. Детальное описание функциональных блоков, ориентированное на программиста-разработчика.
Для каждого функционального блока, начиная с корневого, необходимо описать алгоритм его работы с указанием тех функциональных блоков и экранных форм, которые могут быть вызваны рассматриваемым функциональным блоком.
Описание алгоритма работы должно быть настолько подробным и понятным для программиста, чтобы он мог самостоятельно работать над программой без согласования своих действий с пользователем.
Под экранной формой понимают процедуру, обеспечивающую представление пользователю информации на экране, ввод и коррекцию данных и управление режимом работы программы с помощью меню и функциональных клавиш. Экранная форма манипулирует экранными окнами. По функциональному назначению выделяют несколько типов окон: управляющее окно, содержащее меню и функциональные клавиши; окно для ввода данных; окно для просмотра и коррекции данных; окно для вывода выходных форм (отчетов). Каждое окно должно быть подробно описано.
11. Выходные документы, выдаваемые в результате работы программного изделия, должны быть подробно описаны. Для каждого документа необходимо указать: кому предназначен и на какой носитель выводится документ, из каких исходных данных формируется, каков алгоритм формирования документа и какова его структура (с указанием расположения полей и их наименований).
12. Права пользователей на доступ к данным и к функциям системы должны быть распределены по группам пользователей программного изделия, а также даны указания на то, какие функции доступны для каждой группы и какие привилегии имеют разные пользователи при работе с базой данных.
13. Технические и программные средства, на базе которых должно работать программное изделие. Здесь указываются тип и требуемые ресурсы ЭВМ, а также — в среде каких программных средств должно функционировать разрабатываемое изделие.
14. Дополнительные требования и ограничения могут при необходимости включать специфические требования к быстродействию, объемам памяти, безопасности данных и т.п.
Техническое задание есть результат соглашения между пользователем (заказчиком) и разработчиком, основной документ, определяющий дальнейшую разработку программного изделия.