Page protected with pending changes

순서도

Flowchart
비작동 램프를 처리하는 과정을 나타내는 간단한 순서도.

순서도워크플로우 또는 프로세스를 나타내는 다이어그램의 한 유형입니다.순서도는 알고리즘을 도식적으로 표현한 것으로 정의할 수 있으며, 과제를 해결하기 위한 단계별 접근법입니다.

순서도는 다양한 종류의 상자로 단계를 표시하고 상자를 화살표로 연결하여 순서를 표시합니다.이 다이어그램 표현은 주어진 문제에 대한 해결 모델을 보여줍니다.흐름도는 다양한 분야에서 프로세스나 프로그램을 분석, 설계, 문서화 또는 관리하는데 사용됩니다.[1]

개요

다음 코드를 나타내는 C-style for loop의 플로우 다이어그램:
(i=0;i<5;i++) printf ("*);
루프로 인해 5개의 별표가 인쇄됩니다.

흐름도는 간단한 프로세스나 프로그램을 설계하고 문서화하는 데 사용됩니다.다른 유형의 다이어그램과 마찬가지로 프로세스를 시각화하는 데 도움이 됩니다.많은 이점 중 두 가지는 결점과 병목 현상이 분명해 질 수 있다는 것입니다.흐름도는 일반적으로 다음과 같은 주요 기호를 사용합니다.

  • 일반적으로 활동이라고 불리는 프로세스 단계는 직사각형 상자로 표시됩니다.
  • 결정은 보통 다이아몬드로 표시됩니다.

흐름도는 여러 조직 단위의 제어를 설명하기 위해 차트를 다른 수직 또는 수평 부분으로 분할할 때 "교차 기능"으로 설명됩니다.특정 부분에 나타나는 기호는 해당 조직 단위가 제어할 수 있는 범위 내에 있습니다.교차 기능 흐름도를 사용하면 작성자는 작업 수행이나 의사 결정에 대한 책임 소재를 정확하게 파악할 수 있으며, 단일 프로세스의 여러 부분에 대한 각 조직 단위의 책임 소재를 보여줄 수 있습니다.

흐름도는 프로세스의 특정 측면을 나타내며 일반적으로 다른 유형의 다이어그램으로 보완됩니다.예를 들어, 이시카와 카오루히스토그램, 파레토 차트, 체크 시트, 관리도, 원인 및 결과 다이어그램, 산점도 다음으로 흐름도를 품질 관리의 7가지 기본 도구 중 하나로 정의했습니다.마찬가지로, 소프트웨어 개발에 사용되는 표준 개념 모델링 표기법인 UML에서, 플로우 차트의 한 종류인 활동 다이어그램은 많은 다른 다이어그램 유형 중 하나일 뿐입니다.

Nassi-Shneiderman 다이어그램Drakon-chart는 공정 흐름에 대한 대안적인 표기법입니다.

일반적인 대체 명칭으로는 흐름도, 프로세스 흐름도, 기능 흐름도, 프로세스 맵, 프로세스 차트, 기능 프로세스 차트, 비즈니스 프로세스 모델, 프로세스 모델, 프로세스 흐름도, 워크 흐름도, 비즈니스 흐름도 등이 있습니다."흐름도"와 "흐름도"라는 용어는 혼용됩니다.

플로우 차트의 기본 그래프 구조는 노드 유형, 내용 및 기타 보조 정보를 추상화하는 플로우 그래프입니다.

역사

프로세스 흐름을 문서화하는 최초의 구조화된 방법인 "흐름 프로세스 차트"는 Frank and Lillian Gilbreth가 "프로세스 차트:1921년 미국기계공학회(ASME) 회원들에게 "일하는 최선의 방법을 찾기 위한 첫 단계"를 수여했습니다.[2]Gilbreths의 도구들은 산업 공학 교육과정에 빠르게 진입했습니다.1930년대 초, 산업 공학자인 Allan H. Mogensen뉴욕 Lake Placid에서 열린 그의 작업 간소화 회의에서 산업 공학의 도구들 중 일부를 사용하여 사업가들을 훈련시키기 시작했습니다.

1944년 모겐센 수업을 졸업한 아트 스피난저는 그 도구들을 프록터 갬블로 가져가서 그들의 의도적인 방법 변경 프로그램을 개발했습니다.1944년 졸업생인 Ben S. Graham은 Standard Register Industrial의 Formcraft Engineering 디렉터로서, 다중 흐름 과정 도표를 개발하면서 정보 처리에 적용하여 여러 문서와 그 관계를 제시했습니다.[3]1947년 ASME는 길브레스의 원작에서 파생된 기호 집합을 "ASME 표준: 운영 및 흐름 프로세스 차트"로 채택했습니다.[4]

1949년 더글러스 하트리허먼 골드스틴과 존 폰 노이만이 컴퓨터 프로그램을 계획하기 위한 흐름도(원래 다이어그램)를 개발했다고 설명했습니다.[5]그의 동시대 계정은 IBM 엔지니어들과[6] Goldstine의 개인적인 기억에 의해 승인되었습니다.[7]골드스틴과 폰 노이만의 원래 프로그래밍 흐름도는 폰 노이만의 수집된 작품에서 재현된 그들의 미발표 보고서 "전자 컴퓨팅 도구의 문제 계획 및 코딩, 파트 II, 볼륨 1"(1947)에서 찾을 수 있습니다.[8]

흐름도는 컴퓨터 알고리즘을 설명하는 데 인기 있는 도구가 되었지만, 1970년대에 그 인기는 감소했는데, 그 이유는 알고리즘이 그러한 언어에서 소스 코드로 더 간결하게 표현될 수 있기 때문입니다.종종 의사 코드가 사용되는데, 이것은 특정 언어의 세부 사항을 엄격하게 따르지 않고 그러한 언어들의 공통된 관용구를 사용합니다.

21세기 초에도 흐름도는 컴퓨터 알고리즘을 설명하는 데 여전히 사용되었습니다.[9]UML 활동 다이어그램Drakon-chart와 같은 현대적인 기술은 흐름도의 확장으로 간주될 수 있습니다.

종류들

Sterneckert(2003)는 흐름도를 다양한 사용자 그룹(관리자, 시스템 분석가 및 사무원 등)의 관점에서 모델링할 수 있으며 다음과 같은 4가지 일반적인 유형이 있다고 제안했습니다.[10]

  • 문서 흐름도, 시스템을 통한 문서 흐름에 대한 제어 표시
  • 시스템의 데이터 흐름에 대한 컨트롤을 보여주는 데이터 흐름도
  • 실제 또는 리소스 수준에서 컨트롤을 표시하는 시스템 흐름도
  • 시스템 내의 프로그램에서 컨트롤을 보여주는 프로그램 흐름도

모든 유형의 흐름도는 특정 흐름 자체보다는 일종의 제어에 초점을 맞추고 있습니다.[10]

그러나 몇 가지 다른 분류가 있습니다.예를 들어, Andrew Veronis(1978)는 시스템 흐름도, 일반 흐름도, 상세 흐름도의 세 가지 기본 유형의 흐름도를 명명했습니다.[11]같은 해 Marilyn Bohl(1978)은 "실제로 솔루션 계획에 시스템 흐름도프로그램 흐름도의 두 가지 종류가 사용됩니다."[12]라고 말했습니다. 최근에는 Mark A.Fryman(2001)은 "결정 흐름도, 논리 흐름도, 시스템 흐름도, 제품 흐름도 및 프로세스 흐름도는 비즈니스 및 정부에서 사용되는 다양한 유형의 흐름도 중 일부에 불과합니다."[13]라고 더 많은 차이점을 식별했습니다.

또한 많은 다이어그램 기법은 흐름도와 유사하지만 UML 활동 다이어그램과 같은 다른 이름을 가지고 있습니다.

빌딩블록

공통기호

미국 표준 협회(ANSI)는 1960년대에 흐름도와 그 기호에 대한 표준을 세웠습니다.[14]국제표준화기구는 1970년에 ANSI 기호를 채택했습니다.[15]현재 표준인 ISO 5807은 1985년에 발표되었고 2019년에 마지막으로 검토되었습니다.[16]일반적으로 흐름도는 위에서 아래로 그리고 왼쪽에서 오른쪽으로 흐릅니다.[17]

ANSI/ISO 모양 이름. 묘사
유동선(화살표)[15] 공정의 작업 순서를 표시합니다.한 기호에서 다른 기호를 가리키는 선.[14]흐름이 표준 상하좌우가 아닌 경우 화살표가 추가됩니다.[15]
터미널[14] 프로그램 또는 하위 프로세스의 시작과 끝을 나타냅니다.경기장,[14] 타원형 또는 둥근(필렛) 직사각형으로 표시됩니다.여기에는 보통 "시작" 또는 "종료"라는 단어나 "문의 제출" 또는 "제품 수신"과 같은 프로세스의 시작 또는 종료를 나타내는 다른 문구가 포함됩니다.
과정[15] 데이터의 값, 형식 또는 위치를 변경하는 작업 집합을 나타냅니다.직사각형으로 표시됩니다.[15]
결정을[15] 프로그램이 두 경로 중 어떤 경로를 선택할지를 결정하는 조건부 동작을 보여줍니다.[14]이 작업은 일반적으로 예/아니오 질문 또는 참/오 테스트입니다.다이아몬드(마름모)로 표현됩니다.[15]
입력/출력[15] 데이터를 입력하거나 결과를 표시할 때와 [15]같이 데이터를 입력하고 출력하는 과정을 나타냅니다.마름모꼴[14]나타났어요
주석[14](댓글)[15] 프로그램의 단계에 대한 추가 정보를 나타냅니다.순서도에서 해당 기호에 연결하는 점선 또는 실선이 있는 열린 직사각형으로 표시됩니다.[15]
미리 정의된 프로세스[14] 다른 곳에 정의된 명명된 프로세스를 표시합니다.두 번의 수직 모서리가 있는 직사각형으로 표시됩니다.[14]
온페이지 커넥터[14] 레이블이 지정된 커넥터 쌍은 순서도 페이지의 긴 줄이나 혼란스러운 줄을 바꿉니다.안에 글자가 있는 작은 원으로 표시됩니다.[14][18]
오프페이지 커넥터[14] 대상이 다른 페이지에 있을 때 사용할 레이블이 지정된 커넥터입니다.홈플레이트 모양의 오각형으로 표현됩니다.[14][18]

기타기호

ANSI/ISO 표준에는 기본 모양 이상의 기호가 포함되어 있습니다.일부는 다음과 같습니다.[17][18]

모양. 이름. 묘사
Flowchart database 데이터 파일 또는 데이터베이스 디스크 드라이브를 상징하는 실린더로 표시되는 데이터.
Flowchart Document 문서 밑면이 물결 모양인 직사각형으로 표시된 단일 문서.
Flowchart Document multiple 여러 문서가 물결 모양의 밑면을 가진 직사각형 스택으로 표시됩니다.
Flowchar Manual input 수동조작 맨 위에 평행한 변이 가장 긴 사다리꼴로 표시되어 수동으로만 수행할 수 있는 작업 또는 프로세스 조정을 나타냅니다.
Flowchart manual input 수동입력 키보드의 측면처럼 상단이 왼쪽에서 오른쪽으로 불규칙하게 경사진 사각형으로 표시됩니다.
Flowchart Preparation 준비 또는 초기화 육각형으로 표현되며, 원래는 스위치를 설정하거나 루틴을 초기화하는 등의 단계에 사용되었습니다.

병렬처리

  • Parallel Mode는 동시 작업의[17] 시작 또는 끝에 두 개의 수평선으로 표시됩니다.

병렬동시 처리의 경우 병렬 모드 수평 라인 또는[19] 수평 막대는[20] 독립적으로 수행할 수 있는 프로세스 섹션의 시작 또는 끝을 나타냅니다.

  • 포크에서 프로세스는 들어오는 경로가 하나이고 나가는 경로가 둘 이상인 막대로 표시되는 하나 이상의 추가 프로세스를 만듭니다.
  • 조인 시 두 개 이상의 프로세스가 하나의 프로세스로 계속되며, 여러 개의 들어오는 경로와 하나의 나가는 경로가 있는 막대로 표시됩니다.단일 프로세스를 계속 진행하기 전에 모든 프로세스가 완료되어야 합니다.[20]

소프트웨어

도식화

플로우 알고리즘

모든 도면 프로그램을 사용하여 순서도 다이어그램을 만들 수 있지만, 데이터베이스 또는 프로젝트 관리 시스템이나 스프레드시트와 같은 다른 프로그램과 데이터를 공유할 수 있는 기본 데이터 모델은 없습니다.프로그래밍 언어 소스 코드에서 직접 또는 흐름도 설명 언어에서 자동으로 흐름도를 생성할 수 있는 소프트웨어 패키지가 많이 있습니다.

프로그램을 표현하고 실행하기 위해 흐름도를 사용하는 여러 응용 프로그램 및 시각적 프로그래밍[21] 언어가 있습니다.일반적으로 이것들은 초급 학생들을 위한 교육 도구로 사용됩니다.

참고 항목

참고문헌

  1. ^ SEVOCAB: 소프트웨어 시스템 공학 어휘항: 흐름도.2008년 7월 31일 회수.
  2. ^ Gilbreth, Frank Bunker; Gilbreth, Lillian Moller (1921). "Process Charts" (PDF). Archived from the original (PDF) on 2015-05-09. Retrieved 2016-05-06.Gilbreth, Frank Bunker; Gilbreth, Lillian Moller (1921). "Process Charts" (PDF). Archived from the original (PDF) on 2015-05-09. Retrieved 2016-05-06.미국기계공학회.
  3. ^ Graham, Ben S. Jr. (10 June 1996). "People come first". Keynote Address at Workflow Canada.
  4. ^ 미국기계공학회(1947) ASME 표준; 작동흐름 공정도뉴욕, 1947. (온라인판)
  5. ^ Hartree, Douglas (1949). Calculating Instruments and Machines. The University of Illinois Press. p. 112.
  6. ^ Bashe, Charles (1986). IBM's Early Computers. The MIT Press. p. 327. ISBN 9780262022255.
  7. ^ Goldstine, Herman (1972). The Computer from Pascal to Von Neumann. Princeton University Press. pp. 266–267. ISBN 0-691-08104-2.
  8. ^ Taub, Abraham (1963). John von Neumann Collected Works. Vol. 5. Macmillan. pp. 80–151.
  9. ^ Bohl, Rynn: "구조적이고 객체지향적인 디자인을 위한 도구들", Prentice Hall, 2007
  10. ^ a b Alan B. Sterneckert (2003) 중요 사건 관리 페이지 126
  11. ^ Andrew Veronis (1978) 마이크로프로세서: 설계응용 프로그램 페이지 111
  12. ^ Marilyn Bohl (1978) 프로그래머를 위한 가이드. 페이지 65.
  13. ^ Mark A. Fryman (2001) 품질공정 개선. p. 169
  14. ^ a b c d e f g h i j k l m Gary B. Shelly; Misty E. Vermaat (2011). Discovering Computers, Complete: Your Interactive Guide to the Digital World. Cengage Learning. pp. 691–693. ISBN 978-1-111-53032-7.
  15. ^ a b c d e f g h i j k Harley R. Myler (1998). "2.3 Flowcharts". Fundamentals of Engineering Programming with C and Fortran. Cambridge University Press. pp. 32–36. ISBN 978-0-521-62950-8.
  16. ^ "ISO 5807:1985: Information processing — Documentation symbols and conventions for data, program and system flowcharts, program network charts and system resources charts". International Organization for Standardization. February 1985. Retrieved 23 July 2017.
  17. ^ a b c Flowcharting Techniques GC20-8152-1. IBM. March 1970. p. 10.
  18. ^ a b c "What do the different flowchart shapes mean?". RFF Electronics. Retrieved 23 July 2017.
  19. ^ Jonathan W. Valvano (2011). Embedded Microcomputer Systems: Real Time Interfacing. Cengage Learning. pp. 131–132. ISBN 978-1-111-42625-5.
  20. ^ a b Robbie T. Nakatsu (2009). Reasoning with Diagrams: Decision-Making and Problem-Solving with Diagrams. John Wiley & Sons. pp. 68–69. ISBN 978-0-470-40072-2.
  21. ^ Myers, Brad A. "시각적 프로그래밍, 예제에 의한 프로그래밍 프로그램 시각화: 분류 체계."ACM SIGCHI 게시판.제17권.4번. ACM, 1986년.

추가열람

외부 링크