С полным основание можно утверждать, что ключом к повышению эффективности процесса программирования является планирование. Были разработаны различные вспомогательные средства, позволяющие упростить планирование всех этапов проектирования. (В некоторых вычислительных центрах применяются специализированные языки для подготовки технических заданий, которые помогают при разработке программ так же, как языки программирования – при их реализации. Основное назначение подобных языков – это информировать проектировщика о всех характеристиках, которые могут включаться в спецификации.)
Существует немало различных руководств по составлению ТЗ. Обычно эта информация приводится либо в виде графической схемы задания, либо в виде развернутого плана проекта, в котором более подробно раскрывается содержание ТЗ.
5.1.Графическая схема задания
Графическая схема задания – это схема, построенная по иерархическому принципу и охватывающая все вопросы, связанные с разработкой проекта. На рис. 2 приводится один из возможных вариантов графической схемы задания на проектирование программной системы. Содержимое схемы разъясняется в следующем разделе. Графическая схема детализируется в тексте развернутого плана задания, а каждый из входящих в нее блоков подробно прорабатывается на более поздних стадиях проектирования. Графические схемы задания и развернутые планы проекта должны включаться в состав системной документации. Каждая графическая схема задания должна свободно умещаться на одной странице. Схему, приведенную на рис. 1.2,. можно рассматривать как общий план проектирования системы. Именно таким представляется процесс проектирования автоматизированной системы извне. От системы к системе графическая схема задания меняется незначительно. Основные отличия проявляются в деталях, содержащихся в развернутом плане проекта.
5.2. Развернутый план проекта системы
1. Введение. Дается общая характеристика системы, в достаточной степени подробная, чтобы будущий пользователь мог принять решение о том, отвечает ли система его требованиям.
1.1. Функции системы. Поясняется назначение прикладной системы, приводиться перечень основных процедур и обрабатываемых данных.
1.2. Сфера применения. Характеризуется круг пользователей, на которых ориентирована разрабатываемая система.
1.3. Сбор и корректировка данных. Описываются источники исходных данных, поступающих в систему. А также источники данных. Используемых для корректировки. В этот пункт следует включить планы и графики корректирования данных. В дальнейшем информация используется как руководство при детальной проработке программ корректировки данных.
1.4. Отчеты. Описываются формы, определяются периодичность и общее содержание отчетов, выдаваемых системой. Эта информация служит основой для последующей детальной проработки программ генерации отчетов.
2. Вычислительная среда. Определяется минимальный состав оборудования, необходимого для нормального функционирования системы.
2.1. Технические средства. Описывается конфигурация технических средств, указывается требуемый объем оперативной памяти, определяются ограничения на сегментацию памяти, требования к внешним устройствам и т.д.
2.2. Программные средства. Указываются типы операционных систем, используемые библиотеки стандартных программ, системы управления базами данных и т.д.
2.3. Режим работы. Определяется возможность функционирования системы в условиях пакетного режима, интерактивного режима, режима реального времени или их комбинаций.
3. Связь с внешней средой. Описывается взаимодействие пользователей с системой.
3.1. Вход системы. Определяются форматы данных всех типов, вводимых пользователями, а также внутренняя структура данных. Эта информация служит руководством при разработке бланков входных форм и подготовке данных.
3.2. Выход системы. Описываются форматы отчетов, сообщений и других выходных форм. Эта информация используется при составлении планов и подготовке данных.
3.3. Управляющие параметры. Перечисляются параметры, задаваемые при настройке системы на конкретную конфигурацию технических и программных средств.
3.4. Рабочие конструкции. Дается общий обзор содержания инструкций, касающихся обращения с лентами, хранения бумаги и т.д. Данная информация используется при составлении инструкций для обслуживающего персонала.
4. Качество системы.
4.1. Соблюдение стандартов и общепринятых обозначений. Указывается, в какой мере система соответствует стандартному варианту языка программирования и отвечает стандартам версии, эксплуатируемой в данном вычислительном центре. Кроме того, определяется степень использования общеупотребительных сокращений и математических обозначений. Это позволяет оценить трудоемкость сопровождения системы.
4.2. Универсальность системы. Обсуждается уровень независимости системы от конкретных внешних условий, с учетом которых она разрабатывается. Это характеризует сложность перевода системы на другие вычислительные установки.
4.3. Надежность функционирования. Рассматриваются такие вопросы, как ожидаемое время наработки на отказ, способы корректировки ошибок, проверка достоверности информации, точность результатов, статистические характеристики всех модулей. Осуществляющих вероятностные расчеты, например генераторов псевдослучайных чисел.
4.4. Защита информации. Описываются средства, обеспечивающие сохранность данных и авторизацию доступа, используемые способы кодирования.
5. Документация по системе.
5.1. Пособия и руководства. Приводится перечень документации, прилагаемой к системе, - пособий, форм отчетности, рабочих описаний, системной и программной документации.
Рис. 1.2. Схема общего плана проектирования программной системы
5.2. Спецификация программ. Дается общее функциональное описание отдельных программ, входящих в состав системы. Эта информация служит руководством при разработке программ.
5.3. Организация данных. Приводится общее описание взаимодействия отдельных информационных потоков в системе. Эти сведения используются при разработке принципов организации данных.
Документы, содержащие общее описание проекта, служат, с одной стороны, своеобразным эталоном, на основании которого осуществляется проверка законченной системы, с другой – используются как руководства на этапах разработки реализации и испытаний.
Задания:
1. Согласовать с преподавателем программу для разработки ТЗ.
2. В результате выполнения лабораторной работы №1 должны быть разработаны и представлены пп.1, 1.1 – 1.4, 2, 2.1 – 2.3, отраженные на схеме рис.1.2 и описанные в разделе «Развернутый план проекта системы».
3. Обратить внимание на возможные пути и средства модификации программы применительно к потребностям и ресурсам заказчика или покупателя ПС.
Вопросы:
1. В чем состоит основная задача разработки ТЗ на ПС?
2. Какие документы должны быть оформлены по результатам этого этапа ЖЦ программ?
3. Как отражаются ограничения, при которых функционирует программа, в сопроводительной документации?
4. Как может быть модифицирована Ваша программа и применительно к каким изменениям в требованиях к программе, в аппаратных и программных ресурсах и т.п.?
Литература
1. Липаев В.В. Проектирование программных средств: Учеб. пособие для вузов. М.: Высш. Школа., 1990. – 303с.: ил.
2. Зиглер К. Методы проектирования программных систем: Пер. с англ. – М.: Мир, 1985. – 328 с., ил.