Разработка системы Джексона - Jackson system development
Структурированная разработка Джексона (JSD) является линейным методология разработки программного обеспечения разработан Майкл А. Джексон и Джон Кэмерон в 1980-х.
История
JSD был впервые представлен Майклом А. Джексоном в 1982 году в статье под названием «Метод разработки системы».[1] а в 1983 г. в Развитие системы.[2]Разработка систем Джексона (JSD) - это метод разработки системы, который охватывает жизненный цикл программного обеспечения либо напрямую, либо путем предоставления структуры, в которую могут вписаться более специализированные методы. Jackson System Development может начать со стадии проекта, когда есть только общие требования. Однако многие проекты, в которых использовалась разработка системы Jackson, фактически начинались несколько позже в жизненном цикле, делая первые шаги в основном из существующих документов, а не напрямую с пользователями. На последующих этапах JSD создается код окончательной системы. Первый метод Джексона, Структурированное программирование Джексона (JSP), используется для создания окончательного кода. Результатом более ранних шагов JSD является набор задач разработки программы, дизайн которых является предметом JSP. Техническое обслуживание также решается путем доработки любого из предшествующих шагов.
JSD продолжал развиваться, и в этот метод было введено несколько новых функций. Они описаны в сборнике статей Джона Кэмерона 1989 г. JSP и JSD,[3] и в версии 1992 года (версия 2) руководства LBMS JSD.[4]
Развитие метода JSD подошло к концу в начале 1990-х, когда мышление Джексона превратилось в Подход с использованием проблемных рамок с публикацией Требования к программному обеспечению и спецификации (1995) и Рамки проблем: анализ и структурирование проблем разработки программного обеспечения (2000).
Принцип работы
Три основных принципа работы JSD таковы:
- Разработка должна начинаться с описания и моделирования реального мира, а не с определения или структурирования функций, выполняемых системой. Система, созданная с использованием метода JSD, выполняет моделирование реального мира до того, как какое-либо прямое внимание будет уделено функции или назначению системы.
- Адекватная модель упорядоченного во времени мира должна сама быть упорядоченной во времени. Основная цель - отобразить прогресс в реальном мире на основе системы, которая его моделирует.
- Способ реализации системы основан на преобразовании спецификации в эффективный набор процессов. Эти процессы должны быть разработаны таким образом, чтобы их можно было запускать на доступном программном и аппаратном обеспечении.
Шаги JSD
Когда он был первоначально представлен Джексоном в 1982 году,[1] метод состоял из шести шагов:
- Сущность / действие шаг
- Начальный шаг модели
- Интерактивный функциональный шаг
- Шаг информационной функции
- Системный шаг синхронизации
- Этап внедрения системы
Позже некоторые шаги были объединены, чтобы создать метод, состоящий всего из трех шагов.[5]
- Этап моделирования (анализ): с сущность / шаг действия и шаг структур сущностей.
- Сетевой этап (проектирование): с начальный шаг модели, функциональный шаг, и системный временной шаг.
- Этап реализации (реализация): этап реализации.
Стадия моделирования
На этапе моделирования дизайнер создает коллекцию диаграммы структуры сущностей и идентифицирует сущности в системе, действия, которые они выполняют, временную последовательность действий в жизни сущностей и атрибуты действий и сущностей. В диаграммах структуры сущностей используются обозначения диаграмм Структурированное программирование Джексона структурные схемы. Целью этих диаграмм является создание полного описания аспектов системы и организации. Разработчики должны решить, что важно, а что нет. Хорошее общение между разработчиками и пользователями новой системы очень важно.
Этот этап представляет собой комбинацию предыдущего шага сущности / действия и шага структур сущностей.
Сетевой этап
На сетевой стадии разрабатывается модель системы в целом и представляется в виде диаграмма спецификации системы (SSD) (также известный как Диаграмма сети ). Сетевые диаграммы показывают процессы (прямоугольники) и то, как они взаимодействуют друг с другом, либо через вектор состояния соединения (ромбы) или через поток данных связи (кружочки). На этом этапе определяется функциональность системы. Каждая сущность становится процессом или программой на сетевой диаграмме. Позднее на сетевые схемы добавляются внешние программы. Цель этих программ - обрабатывать ввод, вычислять вывод и поддерживать процессы сущности в актуальном состоянии. Вся система описывается этими сетевыми диаграммами и дополняется описанием данных и связей между процессами и программами.
Первоначальный шаг модели определяет моделирование реального мира. Этап функции добавляет к этому моделированию дополнительные выполняемые операции и процессы, необходимые для вывода системы. Системный шаг синхронизации обеспечивает синхронизацию между процессами, вводит ограничения. Этот этап представляет собой комбинацию предыдущего этапа «Исходная модель», этапа «Функция» и этапа «системного времени».
Стадия реализации
На этапе реализации абстрактная сетевая модель решения преобразуется в физическую систему, представленную в виде схема реализации системы (SID). SID показывает систему как планировщик процесс, вызывающий модули, реализующие процессы. Потоки данных представлены как вызовы инвертированных процессов. Символы базы данных представляют собой наборы векторов состояний сущностей, и есть специальные символы для файловых буферов (которые должны быть реализованы, когда процессы запланированы для запуска в разные интервалы времени).
Центральным моментом на этапе внедрения является оптимизация системы. Необходимо уменьшить количество процессов, поскольку невозможно предоставить каждому процессу, который содержится в спецификации, свой собственный виртуальный процессор. Посредством преобразования процессы объединяются, чтобы ограничить их число числом процессоров.
Разработка диаграмм
- Схема структуры объекта (ESD)
На диаграмме показано, как сущности действия взаимодействуют с системой. Обозначения схемы структуры объекта (ESD):
- сущность: Сущность - это объект, который используется в системе и системой.
- Действие: Действия, выполняемые объектами, и действия, влияющие на другие объекты.
- Построить последовательность: Конструкция JSD идентична конструкции SSADM Entity Life History. Используйте SequenceConstruct, чтобы проиллюстрировать действия, которые применяются слева направо.
- Конструкт-отбор: Чтобы отразить выбор между двумя или более действиями. Отметьте параметры в верхнем правом углу буквой «o» (вариант).
- Конструкция-повторение: Когда действие повторяется, поместите маленькую звездочку (*) в верхний правый угол.
Обычно под RecurringConstruct находится только одно действие.
- Нулевой компонент: Компонент Null может гарантировать, что в операторе IF-ELSE ничего не происходит.
- Схема сети (ND)
Сетевые диаграммы показывают взаимодействие между процессами. Иногда их называют диаграммами технических характеристик системы (SSD). Обозначения сетевой схемы (ND):
- Обработать: Процессы представляют собой системные функции. Модель процесса представляет основные функции системы. Обычно он связан с внешним объектом через поток данных.
- Подключение Datastream: В соединении с потоком данных процесс A (объект, который записывает поток данных) активно отправляет информацию другому процессу B.
- Государственная векторная инспекция: В соединении вектора состояния процесс B (объект, который считывает информацию вектора состояния) считывает информацию вектора состояния другого объекта A.
Разница между соединением вектора состояния и соединением потока данных заключается в том, какой процесс активен. В соединении с потоком данных активным процессом является процесс с информацией A; он активно отправляет сообщение устройству чтения потока данных B в то время, которое он (A, отправитель) выбирает. При проверке вектора состояния процесс с информацией A является пассивным; он ничего не делает, но позволяет читающему процессу B проверять свой вектор состояния (A). B, процесс проверки, является активным процессом; он решает, когда будет читать информацию из A. Грубо говоря, соединение с потоком данных - это абстракция передачи сообщений, а проверка вектора состояния - это абстракция для опроса (и для извлечения из базы данных).
использованная литература
- ^ а б "Метод разработки системы В архиве 2012-02-06 в Wayback Machine "М. А. Джексон, опубликованный в Инструменты и понятия для построения программ: продвинутый курс, Издательство Кембриджского университета, 1982 г.
- ^ Развитие системы, М. А. Джексон, Прентис-Холл, 1983 г.
- ^ JSP и JSD: подход Джексона к разработке программного обеспечения, изд. Джон Р. Кэмерон (издательство IEEE Computer Society Press, ISBN 0-8186-8858-0, 1989)
- ^ Разработка системы LBMS Jackson, версия 2.0 Методическое руководство компании LBMS (Learmonth, Burchett Management Systems), John Wiley & Sons, ISBN 0-471-93565-4; 1992
- ^ Decision Systems Inc. (2002), Разработка системы Джексона. Доступ 24 ноября 2008 г.
дальнейшее чтение
- Джон Р. Кэмерон (1989).Подход Джексона к разработке программного обеспечения, Издательство IEEE Computer Society Press, Silver Spring.
- Методы разработки программного обеспечения Джексона веб-страница
- Майкл А. Джексон (1982). Метод разработки системы
- Майкл А. Джексон (1983). Развитие системы, Prentice Hall, Englewood Cliffs, Нью-Джерси, 1983. (In het Nederlands gepubliceerd в 1989 году bij Academec Service onder de title: Systeemontwikkeling volgens JSD.)
- SmartDraw (2005). Как рисовать диаграммы разработки системы Джексона (JSD))