Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Jackson System Development (JSD) — линейная методология разработки программного обеспечения, разработанная Майклом А. Джексоном и Джоном Кэмероном в 1980-х годах.
Jackson System Development (JSD) is a linear software development methodology developed by Michael A. Jackson and John Cameron in the 1980s.
История
JSD был впервые представлен Майклом А. Джексоном в 1982 году в статье под названием «Метод разработки систем», а в 1983 году – в области системного развития. Разработка систем Джексона (JSD) – это метод разработки систем, охватывающий жизненный цикл программного обеспечения либо напрямую, либо предоставляя основу, в которую можно интегрировать более специализированные техники. JSD может начинаться на стадии проекта, когда существует лишь общее описание требований. Однако многие проекты, использовавшие JSD, фактически начинались немного позже в жизненном цикле, выполняя первые шаги в основном на основе существующих документов, а не напрямую взаимодействуя с пользователями. Последующие этапы JSD приводят к созданию кода конечной системы. Первый метод Джексона, структурированное программирование Джексона (JSP), используется для генерации конечного кода. Результатом более ранних этапов JSD является набор задач по проектированию программ, решение которых является предметом JSP. Обслуживание также обеспечивается путем переработки соответствующих более ранних этапов. JSD продолжала развиваться, и в метод было введено несколько новых функций. Они описаны в сборнике статей Джона Кэмерона «JSP и JSD» (1989) и в версии 1992 года (версия 2) руководства LBMS JSD. Разработка метода JSD завершилась в начале 1990-х годов, когда идеи Джексона эволюционировали в подход «Проблемные рамки» с публикацией «Программные требования и спецификации» (1995) и «Проблемные рамки: анализ и структурирование проблем разработки программного обеспечения» (2000).
JSD was first presented by Michael A. Jackson in 1982, in a paper called "A System Development Method". and in 1983 in System Development. Jackson System Development (JSD) is a method of system development that covers the software life cycle either directly or, by providing a framework into which more specialized techniques can fit. Jackson System Development can start from the stage in a project when there is only a general statement of requirements. However, many projects that have used Jackson System Development actually started slightly later in the life cycle, doing the first steps largely from existing documents rather than directly with the users. The later steps of JSD produce the code of the final system. Jackson’s first method, Jackson Structured Programming (JSP), is used to produce the final code. The output of the earlier steps of JSD are a set of program design problems, the design of which is the subject matter of JSP. Maintenance is also addressed by reworking whichever of the earlier steps are appropriate. JSD continued to evolve, and a few new features were introduced into the method. These are described in a 1989 collection of papers by John Cameron, JSP and JSD, and in the 1992 version (version 2) of the LBMS JSD manual. Development of the JSD method came to an end in the early 1990s as Jackson's thinking evolved into the Problem Frames Approach with the publication of Software Requirements and Specifications (1995) and Problem Frames: Analyzing and Structuring Software Development Problems (2000).
Стадия моделирования
На этапе моделирования дизайнер создает коллекцию диаграмм структуры сущностей и определяет сущности в системе, действия, которые они выполняют, временную последовательность действий в жизненном цикле сущностей, а также атрибуты действий и сущностей. Диаграммы структуры сущностей используют нотацию диаграмм структурированного программирования Джексона. Цель этих диаграмм – создать полное описание аспектов системы и ее организации. Разработчикам необходимо определить, что является важным, а что нет. Важна хорошая коммуникация между разработчиками и пользователями новой системы. Этот этап объединяет в себе предыдущие этапы "сущность/действие" и "структуры сущностей".
In the modeling stage the designer creates a collection of entity structure diagrams and identifies the entities in the system, the actions they perform, the time ordering of the actions in the life of the entities, and the attributes of the actions and entities. Entity structure diagrams use the diagramming notation of Jackson Structured Programming structure diagrams. Purpose of these diagrams is to create a full description of the aspects of the system and the organisation. Developers have to decide which things are important and which are not. Good communication between developers and users of the new system is very important. This stage is the combination of the former entity/action step and the entity structures step.
Стадия сети
На этапе сетевого развития разрабатывается модель системы в целом и представляется в виде схемы спецификации системы (SSD), также известной как сетевая диаграмма. Сетевые диаграммы отображают процессы (прямоугольники) и способы их взаимодействия друг с другом, либо посредством соединений векторов состояния (ромбы), либо посредством соединений потоков данных (круги). На этом этапе определяется функциональность системы. Каждая сущность становится процессом или программой на сетевой диаграмме. Внешние программы добавляются к сетевым диаграммам позднее. Назначение этих программ – обработка входных данных, вычисление выходных данных и поддержание актуальности процессов сущности. Вся система описывается с помощью этих сетевых диаграмм и дополняется описаниями данных и связей между процессами и программами. Начальный этап моделирования задает симуляцию реального мира. Этап функций добавляет к этой симуляции дальнейшие исполняемые операции и процессы, необходимые для получения выходных данных системы. Этап синхронизации системы обеспечивает синхронизацию между процессами и вводит ограничения. Этот этап представляет собой объединение предыдущих этапов «начальное моделирование», «функции» и «синхронизация системы».
In the network stage a model of the system as a whole is developed and represented as a system specification diagram (SSD) (also known as a network diagram). Network diagrams show processes (rectangles) and how they communicate with each other, either via state vector connections (diamonds) or via datastream connections (circles). In this stage, the functionality of the system is defined. Each entity becomes a process or program in the network diagram. External programs are later added to the network diagrams. The purpose of these programs is to process input, calculate output and to keep the entity processes up to date. The whole system is described with these network diagrams and are completed with descriptions about the data and connections between the processes and programs. The initial model step specifies a simulation of the real world. The function step adds to this simulation the further executable operations and processes needed to produce output of the system. System timing step provides synchronisation among processes, introduces constraints. This stage is the combination of the former ‘Initial model’ step, the ‘function’ step and the ‘system timing’ step.
Стадия реализации
На этапе реализации абстрактная сетевая модель решения преобразуется в физическую систему, представленную в виде диаграммы реализации системы (SID). SID отображает систему как процесс планирования, вызывающий модули, реализующие процессы. Потоки данных представляются как вызовы инвертированных процессов. Символы баз данных представляют собой коллекции векторов состояния сущностей, и существуют специальные символы для файловых буферов (которые необходимо реализовать при планировании процессов для выполнения с разными временными интервалами). Главной задачей этапа реализации является оптимизация системы. Необходимо уменьшить количество процессов, поскольку невозможно предоставить каждому процессу, содержащемуся в спецификации, собственный виртуальный процессор. Путем преобразования процессы объединяются для ограничения их числа количеством процессоров.
In the implementation stage the abstract network model of the solution is converted into a physical system, represented as a system implementation diagram (SID). The SID shows the system as a scheduler process that calls modules that implement the processes. Datastreams are represented as calls to inverted processes. Database symbols represent collections of entity state vectors, and there are special symbols for file buffers (which must be implemented when processes are scheduled to run at different time intervals). The central concern of implementation step is optimization of the system. It is necessary to reduce the number of processes because it is impossible to provide each process that is contained in specification with its own virtual processor. By means of transformation, processes are combined in order to limit their number to the number of processors.