Каждая стадия проектирования
завершается составлением соответствующих
документов, .поэтому важным элементом проектирования программных
приложений является оформление программной документации. Исключение может
составлять разработка бесхитростных
программ с коротким жизненным циклом и небольшой трудоемкостью.
Программная спецификация (program specification) - точное описание того результата,
которого нужно достичь с помощью программы. Это
описание должно точно устанавливать, что должна делать программа, не
указывая, как она должна это делать.
Для
программ, заканчивающих свою работу каким-то результатом, обычно
составляются спецификации ввода-вывода, в которых описывают желаемое
отображение множества входных величин во множество выходных величин.
Для
циклических программ (в которых нельзя указать точку завершения),
разрабатывают спецификации, где основное внимание сосредоточивается на отдельных функциях, реализуемых программой
в ходе циклических операций.
Существует
большое число различных систем обозначений, используемых
в программных спецификациях — от естественного языка с
использованием математических уравнений и таблиц до формализованных
описаний, основанных на исчислении предикатов (Предикат - функция, определяемая па некоторой предметной области переменных
и принимающая значения в области истинностных значений.) первого порядка.
Разработку программных систем
начинают с составления первичных
спецификаций. В ходе выполнения проекта первичные спецификации
последовательно претерпевают изменения до программных документов стадий и
вплоть до документации, которая необходима для эксплуатации и сопровождения программы.
Первичные спецификации обычно составляют в терминах решаемой задачи, а не
программы. Первичная спецификация описывает:
объекты, участвующие
в задаче (что делает программа и что делает
человек, работающий с этой программой);
процессы и
действия (проектные
процедуры и действия человека, алгоритмы
решения задачи в машине, порядок обработки информации, размер оперативной памяти, требуемый для работы программы);
входные и выходные данные, а также их
организацию (например, сценарий диалога с экранными формами, организация
файлов с
указанием длин полей записей и предельного количества информации в файлах);
инструкции
пользования будущей
программой.
Различают
внешнюю программную документацию, которая согласуется с заказчиком, и
промежуточную внутреннюю документацию проекта. При составлении программной
документации сначала разрабатываются внешние спецификации, а затем —
внутренние.
Внешние спецификации включают спецификации входных и выходных
данных, их организацию, реакции на исключительные ситуации, определение, что
делает человек (по каким алгоритмам он работает
и откуда берет информацию), а что машина. То есть все, что бы увидел
пользователь, когда бы он получил готовую программу. Внешние спецификации зависят сильно от жизненного цикла программы.
Еще до разработки структуры и реализации программы к тестированию
внешних спецификаций следует привлекать потенциальных пользователей. Пользователю можно показывать макеты экранов в
порядке выполнения программы, а пользователь может готовить данные для
тестирования всех функций программы и сможет апробировать методику
работы с программой.
Внутренние спецификации включают описание внутренних данных
программы (переменных, особенно структурированных) и описания алгоритмов всей программы и ее частей. Внутренние спецификации
даются в единстве с описанием архитектуры программного
комплекса и внутренней структурой построения отдельных программных
компонент.
|