надежностью в космических, военных системах и т.п.) требования к отдельным
свойствам программных объектов отличаются и влияют на организацию процесса
разработки [124].
Любой объект имеет начальное (исходное), промежуточные и конечное
состояния. Начальное состояние – это исходная модель объекта. Промежуточное –
измененное состояние, отличное от начального и конечного состояний объекта,
полученное на определенном процессе ЖЦ под воздействием соответствующих
данному процессу программных методов и средств. Промежуточным
состоянием объекта в соответствии с ГОСТ 36400 являются: эскизный,
технический, рабочий проекты.
Конечное состояние объекта – программный продукт, готовый для
выполнения требуемых от него функций. Конечным состоянием считается
опытный образец, передающийся либо в опытную эксплуатацию, либо на
тиражирование (производство).
Следует отметить, что еще не стабилизировался формальный аппарат задания
начального состояния объекта, а именно его модели, чего нельзя сказать о
возможностях описания промежуточных состояний, для задания которых
используются языки проектирования и программирования различного уровня, в
том числе языки спецификаций.
Метод разработки (программный метод) – это способ и средства достижения
той цели, которая ставится перед объектом разработки. Метод определяет
стратегию проектирования или разработки.
Наиболее распространенными методами проектирования и разработки
являются: сверху вниз, снизу-вверх, модульный, компонентный, метод сборочного
программирования и др.
При нисходящем (сверху вниз) проектировании объекта после определения
требований к объекту формируется его функциональная и системная архитектуры.
В них декомпозированы все задачи ПрО и построена модель объекта. Задачи, в
свою очередь, развиваются до понятий и функций объекта, выражаемых в базовых
терминах рассматриваемой ПрО. Каждая функция объекта разрабатывается по-
следовательным уточнением до определения элементов системной архитектуры.
Восходящий метод (снизу-вверх) является обратным нисходящему и
начинается с уровня определения элементарных базовых понятий ПрО и
формирования из них более крупных понятий, приводящих в конечном итоге к
заданию некоторой функции ПрО. Для нее подбирается или разрабатывается один
из готовых программных элементов: модуль, модель программы, шаблон, паттерн,
КПИ и т. п. В этом плане, данный метод можно считать методом от готового.
Развитием восходящего метода является метод прототипирования [195], при
котором для объекта вначале создается «грубый» его образец, прототип из готовых
близких по смыслу компонентов. При этом от программ требуется, чтобы они
соответствовали функциям объекта без учета эксплуатационных характеристик, т.
е. цель прототипирования состоит в том, чтобы отработать «каркас» объекта и его
функциональные возможности, а затем постепенно улучшаются характеристики и
свойства компонентов. Данный метод в настоящее время начинает широко
применяться в практике программирования, так как он дает возможность быстро,
опробовать и отработать требования заказчика к программному объекту вместе с
разработчиками.