Разработка системы Джексона
Jackson System Development ( JSD ) — это линейная методология разработки программного обеспечения, разработанная Майклом А. Джексоном и Джоном Кэмероном в 1980-х годах.
История
[ редактировать ]JSD был впервые представлен Майклом А. Джексоном в 1982 году в статье «Метод разработки системы». [1] и в 1983 году в области разработки систем . [2] Разработка системы Джексона (JSD) — это метод разработки системы, который охватывает жизненный цикл программного обеспечения либо напрямую, либо путем предоставления структуры, в которую могут вписаться более специализированные методы. Разработка системы Джексона может начаться на том этапе проекта, когда имеется только общее изложение требований. Однако многие проекты, в которых использовалась разработка системы Jackson, на самом деле начинались несколько позже в жизненном цикле, делая первые шаги в основном на основе существующих документов, а не напрямую с пользователями. На более поздних этапах JSD создается код окончательной системы. Первый метод Джексона, структурное программирование Джексона (JSP), используется для создания окончательного кода. Результатом предыдущих этапов JSD является набор задач по проектированию программ, разработка которых является предметом JSP. Техническое обслуживание также осуществляется путем переделки любого из предыдущих этапов, который является целесообразным.
JSD продолжал развиваться, и в метод было введено несколько новых функций. Они описаны в сборнике статей Джона Кэмерона, JSP и JSD , 1989 года . [3] и в версии 1992 года (версия 2) руководства LBMS JSD. [4]
Разработка метода JSD подошла к концу в начале 1990-х годов, когда мышление Джексона превратилось в подход проблемных фреймов с публикацией « Требований и спецификаций программного обеспечения» (1995 г.) и «Проблемные рамки: анализ и структурирование проблем разработки программного обеспечения» (2000 г.).
Принципы работы
[ редактировать ]Три основных принципа работы JSD таковы:
- Разработка должна начинаться с описания и моделирования реального мира, а не с определения или структурирования функции, выполняемой системой. Система, созданная с использованием метода JSD, выполняет симуляцию реального мира, прежде чем какое-либо прямое внимание будет обращено на функцию или назначение системы.
- Адекватная модель упорядоченного во времени мира сама должна быть упорядоченной во времени. Основная цель — сопоставить прогресс в реальном мире с прогрессом в системе, которая его моделирует.
- Способ внедрения системы основан на преобразовании спецификации в эффективный набор процессов. Эти процессы должны быть спроектированы таким образом, чтобы их можно было запускать на имеющемся программном и аппаратном обеспечении.
шаги JSD
[ редактировать ]Когда он был первоначально представлен Джексоном в 1982 году, [1] метод состоял из шести этапов:
- Сущность/шаг действия
- Начальный шаг модели
- Интерактивный функциональный шаг
- Шаг информационной функции
- Шаг синхронизации системы
- Этап внедрения системы
Позже некоторые шаги были объединены в метод, состоящий всего из трех шагов. [5]
- Этап моделирования (анализ): с этапом сущности/действия и шагом структуры сущности .
- Сетевой этап (проектирование): с начальным шагом модели , шагом функции и шагом синхронизации системы .
- Стадия реализации (реализация): этап реализации.
Этап моделирования
[ редактировать ]На этапе моделирования проектировщик создает набор структурных диаграмм сущностей и идентифицирует сущности в системе, действия, которые они выполняют, временную упорядоченность действий в жизни сущностей, а также атрибуты действий и сущностей. В структурных диаграммах сущностей используются нотации структурных программирования Джексона диаграмм структурного . Целью этих диаграмм является создание полного описания аспектов системы и организации. Разработчикам приходится решать, какие вещи важны, а какие нет. Хорошая коммуникация между разработчиками и пользователями новой системы очень важна.
Этот этап представляет собой комбинацию предыдущего этапа сущности/действия и этапа структурирования сущности.
Сетевой этап
[ редактировать ]На сетевом этапе разрабатывается модель системы в целом, которая представляется в виде диаграммы спецификации системы (SSD) (также известной как сетевая диаграмма ). Сетевые диаграммы показывают процессы (прямоугольники) и то, как они взаимодействуют друг с другом, либо через соединения векторов состояния (ромбы), либо через соединения потоков данных (круги). На этом этапе определяется функциональность системы. Каждый объект становится процессом или программой на сетевой диаграмме. Внешние программы позже добавляются в сетевые схемы. Целью этих программ является обработка входных данных, расчет выходных данных и поддержание процессов объекта в актуальном состоянии. Вся система описывается с помощью этих сетевых диаграмм и дополнена описаниями данных и связей между процессами и программами.
Начальный шаг модели определяет симуляцию реального мира. Функциональный шаг добавляет к этому моделированию дальнейшие выполняемые операции и процессы, необходимые для получения выходных данных системы. Шаг системного времени обеспечивает синхронизацию между процессами и вводит ограничения. Этот этап представляет собой комбинацию предыдущего шага «Начальная модель», шага «Функция» и шага «Время системы».
Этап реализации
[ редактировать ]На этапе реализации абстрактная сетевая модель решения преобразуется в физическую систему, представленную в виде диаграммы реализации системы (SID). SID показывает систему как процесс планировщика , который вызывает модули, реализующие эти процессы. Потоки данных представлены как вызовы инвертированных процессов. Символы базы данных представляют собой коллекции векторов состояния объектов, а для файловых буферов существуют специальные символы (которые должны быть реализованы, когда процессы запланированы для запуска через разные интервалы времени).
Центральной задачей этапа внедрения является оптимизация системы. Необходимо сократить количество процессов, поскольку невозможно обеспечить каждый процесс, содержащийся в спецификации, собственным виртуальным процессором. Посредством трансформации процессы объединяются, чтобы ограничить их количество количеством процессоров.
Проектирование диаграмм
[ редактировать ]- Схема структуры предприятия (ESD)
На диаграмме показано, как сущности действия взаимодействуют с системой. Обозначения диаграммы структуры объекта (ESD):
- Сущность : Сущность — это объект, который используется в системе и системой.
- Действие : действия, выполняемые сущностями, и действия, влияющие на другие сущности.
- Construct-sequence : конструкция JSD идентична конструкции истории жизни объекта SSADM. Используйте SequenceConstruct, чтобы проиллюстрировать действия, которые применяются слева направо.
- Выбор конструкции : Отражает выбор между двумя или более действиями. Отметьте параметры в правом верхнем углу буквой «o» (опция).
- Construct-recurrence : если действие повторяется, поместите маленькую звездочку (*) в правом верхнем углу.
Обычно под RecurringConstruct находится только одно действие.
- Нулевой компонент : Нулевой компонент может гарантировать, что в операторе IF-ELSE ничего не произойдет.
- Схема сети (НД)
Сетевые диаграммы показывают взаимодействие между процессами. Иногда их называют диаграммами технических характеристик системы (SSD). Обозначения сетевой диаграммы (ND):
- Процесс : Процессы представляют собой системные функции. Модель процесса представляет основные функции системы. Обычно он имеет связь с внешним объектом через поток данных.
- Соединение с потоком данных . При соединении с потоком данных процесс A (объект, записывающий поток данных) активно отправляет информацию другому процессу B.
- Проверка вектора состояния : при соединении вектора состояния процесс B (объект, который считывает информацию вектора состояния) считывает информацию вектора состояния другого объекта A.
Разница между соединением вектора состояния и соединением потока данных заключается в том, какой процесс активен. В соединении с потоком данных процесс с информацией A является активным процессом; он активно отправляет сообщение читателю потока данных B в то время, которое он (A, отправитель) выбирает. При проверке вектора состояния процесс с информацией A является пассивным; он ничего не делает, но позволяет читательскому процессу B проверить вектор состояния его (А). B — процесс, выполняющий проверку, — активный процесс; он решает, когда он будет читать информацию из A. Грубо говоря, соединение с потоком данных — это абстракция передачи сообщений, а проверка вектора состояния — это абстракция для опроса (и извлечения из базы данных).
Ссылки
[ редактировать ]- ^ Jump up to: а б « Метод разработки системы. Архивировано 6 февраля 2012 г. в Wayback Machine », М. А. Джексон, опубликовано в журнале « Инструменты и понятия для построения программ: продвинутый курс» ,Издательство Кембриджского университета, 1982 г.
- ^ Разработка системы , М. А. Джексон, Прентис Холл, 1983 г.
- ^ JSP и JSD: подход Джексона к разработке программного обеспечения , ред. Джон Р. Кэмерон (IEEE Computer Society Press, ISBN 0-8186-8858-0 , 1989 г.)
- ^ Разработка системы LBMS Jackson, методическое руководство версии 2.0 от LBMS (Learmont, Burchett Management Systems), Джон Уайли и сыновья, ISBN 0-471-93565-4 ; 1992 год
- ^ Decision Systems Inc. (2002), Разработка системы Джексона . По состоянию на 24 ноября 2008 г.
Дальнейшее чтение
[ редактировать ]- Джон Р. Кэмерон (1989). Подход Джексона к разработке программного обеспечения , Издательство IEEE Computer Society Press, Silver Spring.
- методов разработки программного обеспечения Джексона Веб-страница
- Майкл А. Джексон (1982). Метод разработки систем
- Майкл А. Джексон (1983). Разработка системы , Прентис Холл, Энглвуд Клиффс, Нью-Джерси, 1983. (Опубликовано на голландском языке в 1989 году издательством Academec Service под названием: Разработка системы в соответствии с JSD .)
- СмартДроу (2005). Как рисовать диаграммы разработки системы Джексона (JSD)