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

       

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


Этапы разработки требований пользователя и требований к программному изделию в практике разработки программных изде­лий в нашей стране рассматриваются в схеме ЖЦПИ как стадия разработки Технического задания.

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

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

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

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


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

Таким образом, первые три пункта описывают проблему авто­матизации.

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

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

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

7. Описание данных — схем потоков данных, всех структур дан­ных и взаимосвязей между ними.

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

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

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

10. Детальное описание функциональных блоков, ориентиро­ванное на программиста-разработчика.


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

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

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

11. Выходные документы, выдаваемые в результате работы про­граммного изделия, должны быть подробно описаны. Для каждого документа необходимо указать: кому предназначен и на какой но­ситель выводится документ, из каких исходных данных формирует­ся, каков алгоритм формирования документа и какова его структу­ра (с указанием расположения полей и их наименований).

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

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

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

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


Содержание раздела