[의사코드와 흐름도] 프로그램 설계 방법 및 예제

recoDeQ·2023년 7월 28일
0

시스템 개발

목록 보기
2/2

의사코드(pseudo code)란?

프로그램이나 알고리즘이 수행되는 각 모듈의 작동 논리를 표현하기 위한 코드이다.

  • 장점
    - 전체적인 프로그램의 수행 프로세스를 알 수 있다.
    - 프로그램을 개발하기 전에 설계하여 프로그램 논리 오류를 사전에 파악하고 해결할 수 있다.
    - 별도의 설계 문서(ppt등)를 만들지 않고 코드와 함께 관리가 용이하다
    - 의사코드 기준으로 개발 진척도를 보고 개발 진행 상태를 볼 수 있다

  • 단점
    - 실행되는 코드가 아닌 흉내만 내는 코드이기 때문에 여러 스타일이 있다.


흐름도/순서도(flowchart)란?

프로그램의 실행 흐름을 도식화하여 시각적으로 나타낸 다이어그램의 한 종류다

  • 장점
    - 프로그램의 흐름을 한 눈에 보기 쉽다
    - 국제표준화기구에서 표준안으로 결의된 기호를 사용하여 공통의 규칙이 있어 보기 편하다
  • 단점
    - 도형 등으로 만들어져 있어 작성이 번거로울 수 있다.

흐름도/순서도의 기호


흐름도/순서도의 종류

프로그램 개발에서도 사용이 되지만 여러 비즈니스 분야에서 서비스에 대한 흐름도 등 매우 다방면으로 사용된다.

많이 사용되는 플로우 차트

  • 시스템 플로우 차트 : 데이터 입력, 프로그램, 스토리지 매체, 프로세서, 커뮤니케이션 네트워크 등 시스템의 주요 구성 요소를 거치는 데이터의 흐름
  • 유저 플로우 차트 : 유저 행동 흐름을 도식화
  • 태스크 플로우 차트 : 복잡한 플로우를 설계하기 전 단일 플로우 차트로 뼈대 설계
  • 데이터 플로우 차트 : 시스템의 데이터 흐름을 관리하여 제어 표현(제어의 흐름보다는 시스템을 통해 데이터를 전달하는 채널 표시)

[참조 : 프로세스 마이닝]


흐름도/순서도 작성 방법

  1. 목적과 범위 정의
    -> 프로세스의 목적, 시작점과 종료점 등을 조사하여 간단하게 정리
  2. 작업을 시간 순서대로 배치
    -> 참여자와 인터뷰, 프로세스의 관찰, 기존 문서등을 검토하여 초안 작성
  3. 작업 종류 정리 및 도형화(다이어그램 기호로 변환)
    -> 모든 작업을 작성하고 순서대로 정리하여 기호를 배정
  4. 흐름도/순서도 그리기
    -> 다양한 툴로 흐름도 그리기
  5. 검토 및 개선
    -> 각 단계별로 흐름도 확인하여 개선점이나 누락된 부분 추가

프로그래밍 순서도 작성 방법

  1. 문제 분석 → 2. 입출력 설계 → 3. 순서도 작성 → 4. 프로그램의 코딩 → 5.프로그램의 입력 → 6. 컴파일 및 오류수정 → 7. 테스트와 실행

순서도 그리는 프로그램

  1. gliffy : 크롬에서 바로 편집이 가능한 간편한 프로그램, 드래그 앤 드롭 생성 가능

  1. plantUML : 각종 개발 관련 서드파티에서 활용 가능, vs-code & python pypi & notepad & etc ..

    [참고: notepad에서 사용하려면 java 설치 및 java_home path가 잡혀 있어야 사용가능]

    [참조 : 사용 가능한 곳 확인]


vscode에서 PlantUML로 의사코드와 흐름도 한 번에 하기

PlantUML 은다이어그램을빠르게작성하기위한오픈소스프로젝트입니다.
• 시퀀스다이어그램
• 유즈케이스다이어그램
• 클래스다이어그램
• 객체다이어그램
• 액티비티다이어그램
• 컴포넌트다이어그램
• 배치다이어그램
• 상태다이어그램
• 타이밍다이어그램

다음의 UML 이외의다이어그램도지원함:
• JSON Data
• YAML Data
• Network diagram (nwdiag)
• Wireframe graphical interface
• Archimate diagram
• Specification and Description Language (SDL)
• Ditaa diagram
• Gantt diagram
• MindMap diagram
• Work Breakdown Structure diagram
• Mathematic with AsciiMath or JLaTeXMath notation
• Entity Relationship diagram

설치하기 : vs-code extension에서 검색 후 설치
[참조: PC에 Java와 graphviz 설치되어 있어야 함]

사용하기 :

위의 다이어그램들에 대해 사용법 및 예제가 모두 아래의 공식 도큐먼트에 있다.

plantUML 공식 Doc

[예시]

  1. 순서도 작성하기

  2. 파일 생성 하기 : .wsd , .pu , .puml , .plantuml, *.iuml 포멧 파일 만들기

  3. 작성하기

문서의 시작과 끝 표기 : @startuml 과 @ enduml
파일명 : @startuml "텍스트"
프로세스 시작 : start
프로세스 종료 : end

@startuml 자연어처리 분석 서비스
title 자연어처리 분석 서비스
start 
    : 자연어 입력 ;
    if (한글) then (Yes)
        : 문장 분리 ;
        repeat : 형태소 분석 ;
        : 구문 분석 ;
        : 의미 분석 ;
        repeat while (화용 분석) is (분석 \n 미완료) ;
        : 분석 결과 ;
    else (No)
        : 다국어 처리 불가 메세지 ;
    endif
end 
@enduml

코드 작성하면서 확인하기

상단 우측에 '화면 분할 + 돋보기' 클릭하면 우측에 코드를 작성하면서 결과를 미리 볼 수 있음

버튼 누르는 곳

흐름도 미리보기 적용 화면

  1. 저장하기
    1) [Ctrl + Shift + P]를 누르고
    2) "PlantUML"을 검색하고 "Preview Current Diagram"을 누릅니다.
    3) 원하는 파일 형태 누르기(png, pdf 등)
    4) 저장 파일 위치 : 프로젝트 폴더 > out > plantUML 파일명 > 파일명(@startuml 오른쪽에 쓴 텍스트).선택한 파일 포맷


[참조-의사코드]

[참조-흐름도]

[참조-plantUML]

profile
개발 스터디 노트입니다.

0개의 댓글