Warnier/Or 다이어그램
Warnier/Orr diagramWarnier/Or 다이어그램(프로그램/시스템의 논리적 구성이라고도 함)은 데이터와 절차의 구성을 설명할 수 있는 계층적 흐름도의 일종이다.그것들은 처음에 1976년 프랑스에서 [1]Jean-Dominique Warnier에[2] 의해 개발되었고 미국에서는 Kenneth Orr에[3] 의해 부울대수를 기초로 개발되었다.[4]이 방법은 출력 및 처리 결과를 식별한 후 이를 생성하는 데 필요한 입력의 단계와 조합을 결정하기 위해 역방향으로 작업함으로써 프로그램 구조의 설계를 돕는다.[5]Warnier/Or 도표에서 사용되는 간단한 그래픽 방법은 시스템의 수준과 그들 사이의 데이터 이동을 선명하게 만든다.null
기본요소
Warnier/Or 도표에는 수행되는 프로세스와 시퀀스가 표시된다.각 프로세스는 계층적 방식으로 정의된다. 즉, 프로세스를 정의하는 하위 프로세스 집합으로 구성된다.각 레벨에서 프로세스는 그 구성요소를 그룹화하는 브래킷에 표시된다.null
프로세스에는 여러 가지 하위 프로세스가 있을 수 있으므로, Warnier/Or 다이어그램은 각 시스템 수준을 표시하기 위해 괄호 세트를 사용한다.소프트웨어 정의와 개발에서 중요한 요인은 반복 또는 반복과 교대다.Warnier/Or 도표는 이를 매우 잘 보여준다.[citation needed]null
Warnier/Or 다이어그램 사용
Warnier/Or 도표를 개발하기 위해 분석가는 시스템 출력과 출력 지향 분석을 사용하여 역방향으로 작업한다.종이에 있어서는, 개발은 세트로부터 요소(왼쪽에서 오른쪽으로)로 이동한다. 첫째, 가공의 의도된 출력이나 결과를 정의한다.다음 단계에서, 브래킷에 포함시킴으로써 보여지는, 출력을 생산하는 데 필요한 단계가 정의된다.각각의 단계들은 차례로 더 상세하게 정의된다.추가 괄호는 다음 단계에서 결과를 산출하는 데 필요한 프로세스를 분류한다.null
Warnier/Or 다이어그램은 시스템 전문가에게 몇 가지 뚜렷한 이점을 제공한다.그들은 외모가 단순하고 이해하기 쉽다.하지만 그것들은 강력한 디자인 도구들이다.그들은 수준별로 전달되어야 하는 프로세스 그룹과 데이터의 그룹을 보여줄 수 있는 장점이 있다.또한, 역방향 작업 순서는 시스템이 결과 지향적이라는 것을 보장한다.이 방법은 데이터와 프로세스 정의 모두에 유용하다.각각에 대해 독립적으로 사용할 수도 있고, 또는 둘 다 동일한 도표에 조합할 수도 있다.null
Warnier/Or 다이어그램에 구성
Warnier/Or 다이어그램에는 계층, 시퀀스, 반복, 교대 등 4가지 기본 구성이 사용된다.때때로 필요한 두 가지 조금 더 발전된 개념도 있다: 동시성과 재귀.null
계층
계층 구조는 모든 Warnier/Or 구성 요소 중 가장 기본적이다.단순히 중첩된 괄호 집합으로 표시된 집합과 부분 집합의 중첩된 집합이다.도표의 각 괄호(표현 방법에 따라, 문자는 보통 괄호 "["]보다는 가새 "{"에 가깝지만, 우리는 이들을 "브래킷"이라고 부른다)는 한 단계의 계층을 나타낸다.다이어그램에 표시되는 계층이나 구조는 데이터나 처리의 구성을 보여줄 수 있다.그러나 데이터와 처리 모두 같은 도표에는 결코 나타나 있지 않다.null
순서
시퀀스는 Warnier/Or 다이어그램에 표시되는 가장 간단한 구조다.하나의 계층 구조 내에서 나열된 형상은 발생 순서에 따라 표시된다.즉, 먼저 열거된 단계는 가장 먼저 실행될 단계(도표가 프로세스를 반영하는 경우)인 반면, 마지막으로 열거된 단계는 마지막으로 실행될 단계인 것이다.데이터와 마찬가지로, 먼저 열거된 데이터 필드는 데이터를 볼 때 가장 먼저 접하게 되고, 마지막으로 열거된 데이터 필드는 최종 접하게 된다.null
반복
반복은 프로그래밍 용어로 고전적인 "루프"를 표현하는 것이다.동일한 데이터 집합이 반복적으로 발생할 때마다(데이터 구조의 경우) 또는 동일한 작업 그룹이 반복적으로 발생할 때마다(처리 구조의 경우) 발생한다.반복은 반복 집합 아래 괄호 안에 숫자 집합을 배치하여 표시한다.null
일반적으로 괄호에는 두 개의 숫자가 나열되어 있는데, 세트가 반복될 횟수와 가장 적은 횟수를 나타낸다.관례상 반복 집합의 첫 번째 문자는 최대값을 나타내기 위해 선택한 문자다.null
최소 경계와 최대 경계는 기술적으로 무엇이든 될 수 있지만, 대부분 예시와 같이 "(1,n)"이거나 (0,n)이다.처리를 묘사할 때 "(1,n)" 반복은 고전적으로 "DoWhile" 반복으로 알려져 있고, (0,n) 반복은 "DoWhile" 반복이라고 불린다.그러나 Warnier/Or 도표에서는 최소 경계 값 외에 두 가지 다른 유형의 반복이 구별되지 않는다.null
경우에 따라 최소 및 최대 한계가 미리 정의되며 변경될 가능성이 없다. 예를 들어, 설정 "일"은 설정 "월"에서 설정 "월"이 28일에서 31회(가장 작은 달은 28일, 가장 큰 달, 31회)까지 발생한다.이것은 바뀔 것 같지 않다.그리고 때로는 최소와 최대가 같은 숫자로 고정되기도 한다.null
그러나 일반적으로 "0" 또는 "1" 이외의 상수를 "하드 코드"로 여러 번 절에서 "0" 또는 "1" 이외의 상수를 "하드 코드"로 하는 것은 좋지 않은 생각이다. 즉, 설계 변경 없이 횟수의 변경을 허용할 수 있을 정도로 설계가 유연해야 한다.예를 들어, 설계가 수행되는 시점에 회사가 38명의 직원을 보유하고 있다면, 회사 내의 "직원 수"로 하드 코딩하는 것은 확실히 설계(1,n)만큼 유연하지 않을 것이다.null
횟수 조항은 항상 어떤 집합(즉, 어떤 괄호 이름)에 부착된 연산자로, 요소(작은 형상으로 분해되지 않는 다이어그램 형상)에 부착되지 않는다.그 이유는 우리가 도표 작업을 계속함에 따라 더욱 분명해질 것이다.현재로서는 이것을 올바른 도표를 위한 편성 규칙으로 받아들여야 할 것이다.null
교대
교대 또는 선택은 한 가지 또는 다른 프로세스를 실행하기 위한 결정을 내리는 전통적인 "결정" 과정이다.배타적 OR 기호(원 안의 더하기 기호)는 바로 위와 아래에 있는 세트들이 상호 배타적이라는 것을 나타낸다(한 세트가 있는 경우 다른 세트는 존재하지 않음).이 도표는 한 직원이 관리직이거나 비관리직임을 나타내는데, 한 직원은 둘 다일 수 없다.공학적 표기법과 유사한 방법으로 대안 위에 "부정 막대"를 사용하는 것도 허용된다.바는 단순히 "not"라는 단어를 사용하여 읽는다.null
대안은 앞의 예에서와 같이 이항일 필요는 없지만 다방면의 대안이 될 수 있다.null
동시성
동시성은 방법론에 사용된 두 가지 선진 구조 중 하나이다.그것은 순서가 중요하지 않을 때마다 사용된다.예를 들어, 몇 년과 몇 주가 우리 달력 내에서 동시에(또는 동시에) 운영된다.동시성 운영자는 프로그램 설계에서 거의 사용되지 않지만(대부분의 언어가 어쨌든 진정한 동시 처리를 지원하지 않기 때문에), 논리적 및 물리적 데이터 구조 충돌을 해결할 때 사용된다.null
재귀
재귀는 그 구조들 중에서 가장 적게 사용된다.이것은 집합이 그 자체의 이전 또는 덜 순서화된 버전을 포함하고 있음을 나타내기 위해 사용된다.고전적인 "재료명세서"에서 문제 구성요소는 부품과 다른 하위 구성요소를 포함한다.하위 구성 요소도 하위 구성 요소 등을 포함한다.이중 브래킷은 세트가 재귀적이라는 것을 나타낸다.진정으로 재귀적인 데이터 구조는 오히려 드물다.null
참고 항목
참조
- ^ Waddel, K. C.; Cross, J. H. (1988). "Survey of empirical studies of graphical representations for algorithms". Proceedings of the 1988 ACM Sixteenth Annual Conference on Computer Science - CSC '88. Atlanta, Georgia, United States: ACM Press: 696. doi:10.1145/322609.323161. ISBN 9780897912600.
- ^ Warnier, Jean Dominique. (1976). Logical construction of programs. New York: Van Nostrand Reinhold Co. ISBN 0442291930. OCLC 2792121.
- ^ Orr, Ken. (1977). Structured systems development. New York: Yourdon Press. ISBN 0917072065. OCLC 3615720.
- ^ Higgins, David, A. (October 1977). "Structured Program Design". Byte Magazine. 02 (10): 146–155.
- ^ Higgins, David, A. (December 1977). "Structured Programming With Warnier-Orr Diagrams - Part 1: Design Methodology". Byte Magazine. 2 (12): 104–111.
외부 링크
- 와니에
- Dave Higgins Consulting 웹사이트와 위키백과 항목의 원본 출처.
- 제임스 A. McGraw-Hill 출판사, 2부, Senn, 정보 시스템 분석 및 설계
- 켄 오르 연구소
- JD WARNIER(프랑스어/영어)의 모든 작업에 대한 웹 사이트