잭슨 시스템 개발

Jackson system development

JSD(Jackson System Development)는 Michael A가 개발한 선형 소프트웨어 개발 방법론입니다. 잭슨과 존 카메론은 1980년대에 있었다.

역사

JSD는 Michael A에 의해 처음 제시되었습니다.1982년에 Jackson은 "A System Development Method"[1]라는 논문을 발표했고 1983년에는 System [2]Development에서 연구했습니다.Jackson System Development(JSD)는 소프트웨어의 라이프 사이클을 직접 다루거나 보다 전문적인 기술을 적용할 수 있는 프레임워크를 제공하는 시스템 개발 방법입니다.잭슨 시스템 개발은 일반적인 요구 사항 명세서만 있는 프로젝트의 단계부터 시작할 수 있습니다.그러나 Jackson System Development를 사용해 온 많은 프로젝트는 실제로 라이프 사이클에서 약간 늦게 시작되었으며, 첫 단계는 사용자와 직접 하는 것이 아니라 기존 문서에서 주로 수행합니다.JSD의 후속 단계는 최종 시스템의 코드를 생성합니다.잭슨의 첫 번째 방법인 JSP(Jackson Structured Programming)는 최종 코드를 생성하기 위해 사용됩니다.JSD의 초기 단계의 출력은 프로그램 설계 문제의 집합이며, 그 설계는 JSP의 주제입니다.유지보수는 또한 이전 단계 중 적절한 단계를 재작업함으로써 해결됩니다.

JSD는 계속 진화하고 있으며, 이 방법에는 몇 가지 새로운 기능이 도입되었습니다.이는 John Cameron, JSP[3]JSD의 1989년 논문 모음과 1992년판 LBMS JSD 매뉴얼([4]버전 2)에 설명되어 있다.

JSD 방법의 개발은 1990년대 초에 Jackson의 생각이 소프트웨어 요건과 사양(1995년)문제 프레임의 출판과 함께 문제 프레임 접근법으로 발전하면서 종료되었습니다. 소프트웨어 개발 문제 분석 및 구조화(2000).

동작 원리

JSD 운영의 세 가지 기본 원칙은 다음과 같다.

  • 개발은 시스템에 의해 수행되는 기능을 지정하거나 구성하기보다는 실제 세계를 기술하고 모델링하는 것으로 시작해야 한다.JSD법을 사용하여 만들어진 시스템은 시스템의 기능 또는 목적에 직접 주목하기 전에 실제 세계의 시뮬레이션을 실시한다.
  • 시간 질서가 있는 세계의 적절한 모델은 그 자체로 시간 질서가 있어야 한다.주요 목표는 실제 세계의 진행 상황을 모델링하는 시스템의 진행 상황을 지도화하는 것입니다.
  • 시스템 구현 방법은 효율적인 프로세스 세트로의 사양 변환에 기초하고 있습니다.이러한 프로세스는 사용 가능한 소프트웨어 및 하드웨어에서 실행할 수 있도록 설계되어야 합니다.

JSD 스텝

1982년 [1]잭슨에 의해 처음 발표되었을 때 이 방법은 6단계로 구성되었습니다.

  1. 엔티티/액션 단계
  2. 초기 모델 단계
  3. 인터랙티브 기능 단계
  4. 정보 기능 단계
  5. 시스템 타이밍 스텝
  6. 시스템 구현 단계

이후 일부 단계를 결합하여 3단계만으로 [5]구성된 메서드를 만들었습니다.

  1. 모델링 단계(분석): 엔티티/액션 단계 및 엔티티 구조 단계를 포함합니다.
  2. 네트워크 단계(설계): 초기 모델 단계, 기능 단계 및 시스템 타이밍 단계를 포함합니다.
  3. 구현 단계(실현): 구현 단계.

모델링 단계

모델링 단계에서 설계자는 엔티티 구조도의 컬렉션을 작성하고 시스템 내의 엔티티, 그들이 실행하는 액션, 엔티티의 수명 중 액션의 시간 순서 및 액션과 엔티티의 속성을 식별한다.엔티티 구조 다이어그램은 잭슨 구조 프로그래밍 구조 다이어그램의 다이어그램 표기법을 사용합니다.이 다이어그램의 목적은 시스템과 조직의 측면에 대한 완전한 설명을 작성하는 것입니다.개발자들은 어떤 것이 중요하고 어떤 것이 중요하지 않은지를 결정해야 한다.새로운 시스템의 개발자와 사용자 사이의 좋은 의사소통은 매우 중요하다.

이 단계는 이전 엔티티/액션 단계와 엔티티 구조 단계의 조합입니다.

네트워크 스테이지

네트워크 단계에서는 시스템 전체의 모델이 개발되어 시스템 사양도(SSD)(네트워크도라고도 함)로 표현된다.네트워크 다이어그램은 프로세스(직각)와 상태 벡터 연결(다이아몬드) 또는 데이터 스트림 연결(원)을 통해 서로 통신하는 방법을 보여 줍니다.이 단계에서는 시스템의 기능이 정의됩니다.각 엔티티는 네트워크 다이어그램의 프로세스 또는 프로그램이 됩니다.외부 프로그램은 나중에 네트워크 다이어그램에 추가됩니다.이러한 프로그램의 목적은 입력 처리, 출력 계산 및 엔티티 프로세스를 최신 상태로 유지하는 것입니다.전체 시스템은 이러한 네트워크 다이어그램으로 설명되며 프로세스와 프로그램 간의 데이터 및 연결에 대한 설명으로 완성됩니다.

초기 모델 단계는 실제 세계의 시뮬레이션을 지정합니다.기능 단계는 이 시뮬레이션에 시스템의 출력을 생성하는 데 필요한 추가 실행 가능 작업 및 프로세스를 추가합니다.시스템 타이밍 스텝은 프로세스 간의 동기화를 제공하며 제약사항을 도입합니다.이 단계는 이전 '초기 모델' 단계, '기능' 단계 및 '시스템 타이밍' 단계를 결합한 것입니다.

구현 단계

구현 단계에서 솔루션의 추상 네트워크 모델은 시스템 구현 다이어그램(SID)으로 표현되는 물리적 시스템으로 변환된다.SID는 프로세스를 구현하는 모듈을 호출하는 스케줄러 프로세스로서 시스템을 표시합니다.데이터 스트림은 반전된 프로세스에 대한 호출로 나타납니다.데이터베이스 기호는 엔티티 상태 벡터의 컬렉션을 나타내며 파일버퍼에는 특별한 기호가 있습니다(프로세스가 다른 시간 간격으로 실행되도록 스케줄링된 경우 구현해야 합니다).

구현 단계의 주요 관심사는 시스템의 최적화입니다.사양에 포함된 각 프로세스를 자체 가상 프로세서로 제공하는 것은 불가능하기 때문에 프로세스 수를 줄여야 합니다.변환에 의해 프로세스는 프로세서 수로 제한하기 위해 결합됩니다.

도면의 설계

엔티티 구조도(ESD)

이 다이어그램은 작업 주체가 시스템과 어떻게 협력하는지를 보여 줍니다.엔티티 구조도(ESD) 표기법:

  • 엔티티: 엔티티는 시스템과 시스템에서 사용되는 객체입니다.
  • 액션: 엔티티에 의해 실행되는 액션과 다른 엔티티에 영향을 미치는 액션.
  • 구성 시퀀스:JSD 구성은 SSADM 엔티티 라이프 히스토리 구성과 동일합니다.SequenceConstruct를 사용하여 왼쪽에서 오른쪽으로 적용되는 작업을 설명합니다.
  • 구성 선택:두 개 이상의 작업 중 선택 사항을 반영합니다.상단 모서리의 옵션을 "o"(옵션)로 표시합니다.
  • 구성 반복:액션이 반복되면 작은 아스타리스크(*)를 상단 모서리에 배치합니다.

일반적으로 RecurringConstruct 아래에는 하나의 작업만 있습니다.

  • Null 컴포넌트: Null 컴포넌트는 IF-ELSE 문에서 아무 일도 일어나지 않도록 할 수 있습니다.
네트워크 다이어그램(ND)

네트워크 다이어그램은 프로세스 간의 상호 작용을 보여 줍니다.시스템 사양 다이어그램(SSD)이라고도 합니다.네트워크 다이어그램(ND) 표기법:

  • 프로세스:프로세스는 시스템 기능을 나타냅니다.프로세스 모델은 기본 시스템 기능을 나타냅니다.일반적으로 데이터 스트림을 통해 외부 엔티티와 관계가 있습니다.
  • 데이터 스트림 연결:데이터 스트림 접속에서는, 프로세스 A(데이터 스트림을 쓰는 엔티티)가 다른 프로세스 B 에 정보를 액티브하게 송신합니다.
  • 상태 벡터 검사:상태 벡터 접속에서는 프로세스 B(상태 벡터 정보를 읽어내는 실체)가 다른 실체 A의 상태 벡터 정보를 읽어낸다.

상태 벡터 연결과 데이터 스트림 연결의 차이는 활성 프로세스에 있습니다.데이터 스트림 접속에서는, 정보 A를 가지는 프로세스가 액티브한 프로세스이며, 그 프로세스(A, 송신자)가 선택한 시점에서, 액티브하게 데이터 스트림 리더 B 에 메세지를 송신합니다.상태 벡터 검사에서 정보 A를 가진 프로세스는 수동적이며, 판독기 프로세스 B가 자신의 (A's) 상태 벡터를 검사하도록 하는 것 외에는 아무것도 하지 않습니다.검사를 수행하는 프로세스인 B는 활성 프로세스이며, A에서 정보를 읽을 시기를 결정합니다.대략적으로 말하면, 데이터 스트림 접속은 메시지 전달의 추상화이며, 상태 벡터 검사는 폴링(및 데이터베이스 취득)의 추상화입니다.

레퍼런스

  1. ^ a b M. A. Jackson의 "A System development method Archived 2012-02-06 at the Wayback Machine" (Wayback Machine에서 시스템 개발 방법 아카이브 2012-02-06), Tools프로그램 구축 개념에 게재되어 있습니다. 케임브리지 대학 출판부, 1982년 상급 과정
  2. ^ 시스템 개발, M. A. 잭슨, 프렌티스 홀, 1983년
  3. ^ JSP JSD: Jackson의 소프트웨어 개발 접근법, ed.존 R.Cameron (IEEE 컴퓨터 협회 프레스, ISBN0-8186-8858-0, 1989년)
  4. ^ LBMS Jackson 시스템 개발, 버전 2.0 방법 매뉴얼 by LBMS (Learn month, Burchett Management Systems), John Wiley & Sons, ISBN 0-471-93565-4; 1992
  5. ^ Decision Systems Inc. (2002), Jackson System Development. 2008년 11월 24일에 액세스.

추가 정보

  • 존 R. 카메론(1989년).소프트웨어 개발에 대한 잭슨 접근법, IEEE Computer Society Press, Silver Spring.
  • 잭슨 소프트웨어 개발 방법 웹 페이지
  • 마이클 A.잭슨(1982년).시스템 개발 방법
  • 마이클 A.잭슨(1983년).시스템 개발, 프렌티스 홀, 뉴저지, Englewood Cliffs, 1983. (네덜란드에서는 1989년 bij Academec Service onder de titel:Systeemontwikkeling 볼륨 JSD).
  • SmartDraw (2005년)Jackson 시스템 개발(JSD) 다이어그램 작성 방법

외부 링크