ГОСТР 53195.5—2010
В.2.1.3 Разработка системы по Джексону — JSD
Цель: разработка программной системы специально для реального времени, охватывающая стадии от
разработки требований до кодирования.
Описание: метод JSD (Jackson Structured Development), разработанный Майклом Джексоном в середине
80-х годов, предлагает стиль разработки программных систем, отличный от стиля, принятого в методах SA^SDили
ОМТ. В методе JSD не делается различий между этапом анализа требований к системе и этапом ее разработки.
Оба этапа объединяются в один общий этап разработки спецификаций проектируемой системы. При этом этапе
решается вопрос «Что должно быть сделано?». Вопрос «Как это должно быть сделано?» решается на следую
щем этапе — этапе реализации системы. Метод JSD часто применяют для проектирования систем реального
времени. В нем использована система графических обозначений, хотя сам метод менее ориентирован на
графиху. чем методы SA/SD и ОМТ.
Разработка модели JSD начинается с изучения объектов реального мира. Целью системы является обес
печение требуемой функциональности, но сначала следует убедиться, что эта функциональность согласуется с
реальным миром. Модель JSD описывает реальный мир в терминах сущностей (объектов), действий и порядка
выполнения действий. Разработка системы по методу JSD включает в себя следующие шесть этапов:
- разработку действий и объектов:
- разработку структуры объектов;
- разработку исходной модели;
- разработку функций;
- разработку временных ограничений;
- реализацию системы.
На этапе разработки действий и объектов разработчик, руководствуясь внешними требованиями к проек
тируемой системе, составляет перечень сущностей (объектов) и действий реального мира, связанных с этой
системой. Так. например, при проектировании системы управления двумя лифтами в шестиэтажном доме
можно выделить два объекта: «лифт» и «кнопка» — и три действия: «нажатие кнопки», «лифт приходит на
этаж л» и «лифт покидает этаж л». И объекты, и действия соответствуют реальной ситуации. Все действия
являются атомарными (неразложимыми на подцействия) и происходят в фиксированные моменты времени.
На этапе разработки структуры объектов действия каждого объекта частично упорядочиваются во времени.
Так. в рассматриваемом примере действия «лифт приходит на этаж л» и «лифт покидает этаж л»должны чередо
ваться: два действия «лифт приходит на этаж л» не могут идти одно за другим.
Этап разработки исходной модели связывает реальный мир с абстрактной моделью, устанавливая соот
ветствие между вектором состояния и потоком данных. Вектор состояния обеспечивает «развязку» по управле
нию; так. в примере с лифтами первая же нажатая кнопка вверх установит значение переключателя (флажка),
«вверх», после чего лифт не будет реагировать на дальнейшие нажатия кнопок вверх, так что нажатие кнопки
вверх один или пять раз приведет к одинаковому результату. Аналогично поток данных позволяет обеспечить
«развязку» по данным. Примером гложет служить буфер файла.
На этапе разработки функций с помощью специального псевдокода устанавливаются выходные данные
каждого действия. Для системы управления лифтами примером функции является переключение лампочек на
панели лифта при прибытии лифта на очередной этаж.
На этапе разработки временных ограничений решается вопрос о допустимых временных отклонениях
системы от реального мира. В результате получается множество временных ограничений. В примере с лифтами
одним из временных ограничений будет решение вопроса о том. как долго нужно нажимать на кнопку лифта,
чтобы добиться его реакции.
Наконец, на этапе реализации системы решаются проблемы управления процессами и распределения
процессов по процессорам.
Метод JSD может быть лишь условно назван объектно-ориентированным: в нем почти не рассматривается
структура объектов, недостаточно внимания уделено их атрибутам. Некоторые действия метода JSD являются, по
существу, зависимостями между объектами по методологии ОМТ.
Тем не менее метод JSD гложет успешно применяться для проектирования и реализации следующих типов
прикладных программных систем:
- параллельные асинхронные программные системы, в которых процессы могут взаимно синхронизиро
ватьдруг друга;
- программные системы реального времени; метод JSD ориентирован именно на такие системы;
- программные системы для параллельных компьютеров; парадигма, принятая в методе JSD. гложет ока
заться полезной для этого случая.
Метод JSD плохо приспособлен для решения следующих задач:
- высокоуровневый анализ, так как метод JSD не обеспечивает широкого понимания задачи; он не эффек
тивен для абстракции и упрощения задач;
- разработка баз данных, так как это слишком сложная задача для метода JSD.
Подробное описание метода/средства приведено в (111—113).
В.2.1.4 Модульный метод построения, эксплуатации и тестирования программных средств MASCOT
Цель; обеспечение проектирования и реализации систем реального времени.
Описание: MASCOT представляет собой программно поддерживаемый метод проектирования. Он позво
ляет описывать структуры систем реального времени способом, не зависящим от типа аппаратных средств или
языка реализации. При его применении высокоорганизованно реализуется проектирование, приводящее к стро-
35