1. 구조적 프로그래밍 언어 활용하기
1-1. 구조적 프로그래밍 설계
1) 구조적 프로그래밍 설계 구조 및 절차
구조적 프로그래밍은 구조화 프로그래밍으로도 불리며 절차적 프로그래밍 기반 아래 만들어진 프로그래밍 기법으로 프로그램을 결합하는 순차, 분기, 반복 구조를 통하여 설계된다.
(1) 구조적 프로그래밍 설계 구조
① 순차구조
프로그램 코드가 위에서 아래로 일직선으로만 실행되는 구조
(실행을 위하여 작은 단위로 나눈 후 순서대로 진행되는 구조)
② 선택구조
선택구조는 분기형 구조로서, 주어진 조건 만족 여부에 따라 처리 대상과 순서를 전달하는 구조
(특정 조건이 들어와 참이냐 거짓이냐에 따라 처리가 분기되는 구조)
③ 반복구조
반복형 구조로 조건이 만족할 때까지 동작을 반복하는 구조
(참인 조건이 될 때까지 진행되는 구조)
(2) 구조적 프로그래밍 언어 개발 절차
요구사항 분석 > 구조적 분석 > 구조적 설계 > 구조적 프로그래밍
① 요구사항 분석
고객이 원하는 요구사항을 수집하여 명세화하는 단계
② 구조적 분석
고객이 원하는 기능, 시스템 환경, 데이터를 종합하여 데이터 흐름도(Data Flow Diagram)를 작성하는 단계
③ 구조적 설계
모듈 중심으로 설계하는 단계로 재활용, 결합도를 낮춰 독립성을 높이는 단계
④ 구조적 프로그래밍
순차, 선택, 반복의 논리 구조로 구성하여 프로그램 복잡성을 최소화하여 프로그래밍 하는 단계
2) 구조적 프로그래밍 설계서 구성요소 및 작성 방법
(1) 구조적 프로그램 구성요소
- 데이터 흐름도 DFD(Data Flow Diagram)
- 자료사전 DD(Data Dictionary)
- 상태 전이도 STD(State Transition Diagram)
- 소단위 명세 Minispec(Mini Specification)
(2) DFD 기반 구조적 프로그래밍 설계요소
① DFD 구성요소
- 프로세스
- 데이터 흐름(Data Flow)
- 데이터 저장소(Data Store)
- 외부 엔티티(External Entity)
② DFD 설계 방법
- 업무를 분석하여 프로세스에 대한 입출력 데이터 흐름을 식별
- 데이터 흐름에 필요하고 제공되어야 할 외부 엔티티를 정의
- 입력으로부터 출력으로나 출력으로부터 입력으로, 중간 지점부터의 데이터 흐름 식별
- 모든 접속 관계 데이터 흐름에 명칭을 부여
- 프로세스에 대해 입력 데이터와 출력 데이터 흐름의 명칭에 따라 이름을 부여
- 프로세스에 관련된 데이터 저장소를 정의하고 검토, 보완
- 상위 레벨 DFD 작성 후 다음 하위 레벨의 DFD로 분할하여 최하위 레벨까지 스케치
- 데이터 흐름도의 규모가 커서 한 장의 종이에 그릴 수 없을 때는 시스템을 서브 시스템들로 분할
3) 구조적 프로그래밍 설계서 구성요소 및 작성 방법
(1) 소프트웨어 개발 요구사항을 확인한다.
① 시스템 요구사항 목록을 확인한다.
② 기능 모델링을 위한 기능 요구사항을 확인한다.
(2) 설계된 다이어그램 설계서를 확인한다.
① 배경도(Context Diagram)를 이해한다.
② 자료 흐름도를 확인한다.
③ 자료 사전(Data Dictionary)을 확인한다.
1-2. 구조적 프로그래밍 언어 활용
1) 구조적 프로그래밍 언어 개요
- 절차식 언어 : 위에서 아래로 순서대로 실행되는 방식
- 명령어 언어 : 함수 또는 명령어들을 이용하는 방식
- 함수 중심 언어 : 구조화 + 독립적인 행위를 할 수 있는 함수를 활용하는 방식
2) 구조적 프로그래밍 유형
- C 언어
- 파스칼(Pascal)
- 에이다(Ada)
3) 구조적 프로그래밍 활용하기
(1) 프로그램 기능을 도출한다.
① 요구사항과 설계서를 분석하여 기능을 도출한다.
② 기능적 모듈화를 고려한다.
(2) 구조적 프로그래밍 애플리케이션을 작성한다.
① 변수를 선언한다.
② 함수를 적용하여 구현한다.
(3) 구조적 프로그래밍 애플리케이션 오류 처리를 한다.
① 프로그램을 실행한다.
② 디버깅을 실행한다.
③ 한 줄씩 실행하면서 변수값을 확인하거나 실행된 화면을 보면서 오류를 확인한다.
④ 디버깅을 종료하고 오류를 수정한다.
참고자료 : https://www.ncs.go.kr