프로그램 설계
Program Design · Algorithm
설계 단계에서는 요구 사항 분석 결과를 바탕으로 프로그램의 구조와 상세한 기능을 구체화한다. 코드를 작성하기 전에 어떤 데이터를 입력받고, 어떻게 처리하며, 어떤 결과를 출력할지 정리하고 해결 절차를 알고리즘으로 표현한다.
설계에서 정하는 내용
| 설계 | 내용 |
|---|---|
| 입력 설계 | 어떤 데이터를 어떤 방식으로 입력받을지 결정한다. |
| 출력 설계 | 처리한 정보를 사용자에게 어떤 형태로 전달할지 결정한다. |
| 해결 방법 | 입력된 데이터를 어떤 계산·판단·반복 과정으로 처리할지 정한다. |
| 프로그램 구조 | 프로그램의 구성 요소와 각 요소가 어떻게 연결되는지 정한다. |
| 알고리즘 | 문제를 해결하기 위한 처리 순서를 순서도, 의사 코드 등으로 표현한다. |
알고리즘과 구현의 연결
알고리즘은 실제 코드를 작성하기 전에 프로그램의 처리 과정을 논리적으로 정리한 것이다. 구현 단계에서는 이 알고리즘을 프로그래밍 언어의 순차·선택·반복 구조와 필요한 기능으로 옮긴다.
설계 점검
- 요구 사항에서 정한 기능이 설계에 빠짐없이 반영되었는가?
- 입력과 출력이 명확하게 연결되어 있는가?
- 처리 과정이 단계별로 설명 가능한가?
- 알고리즘만 보고도 구현의 흐름을 예상할 수 있는가?