프로그램 개발과정
- 프로그램 개발과정은 시스템 생명주기(system life cycle)상의 개발단계를 거침.
- 요구사항, 분석, 설계, 코딩, 검증 과정으로 구성
요구사항 (requirements) | 프로젝트의 목적을 정의한 명세 |
분석 (analysis) | 대상을 실제 다룰 수 있는 작은 단위로 나눔 |
상향식(bottom-up) - 코딩 중심의 비구조적 방법. 기본 계획이 없어 결과 프로그램은 연관성이 떨어지거나 오류를 수반할 수 있다. | |
하향식(top-down) - 프로그램을 다룰 수 있을 단위로 분리하는 게 목적. 시스템 설계시 다이어그램을 생성함. | |
설계 (design) |
프로그램이 필요로 하는 데이터 객체와 수행될 연산들을 고려하여 시스템 접근 추상 데이터 타입(abstract data type)과 알고리즘 명세(알고리즘 설계 기법 포함)을 고려. 구현을 위한 결정사항들은 뒤로 연기됨.(ADT와 알고리즘은 언어독립적임.) |
정제 (refinement)와 코딩 (coding) |
데이터 객체 표현을 결정. 관련 연산에 대한 알고리즘 작성. 데이터 객체의 표현은 관련 연산의 알고리즘을 결정함. (독립적 알고리즘을 우선 작성) |
검증 (verification) |
프로그램의 정확성 증명. 데이터 입력을 이용한 프로그램의 테스트와 오류제거. 정확성 증명 : 1)수학적 기법들 이용. 2)증명된 알고리즘 선택 테스트 : 실제 수행 가능한 코드 필요. 실행시간 시간도 중요함. 모든 프로그램 단위들이 정확히 수행되는가를 검증. 오류제거 : 오류제거의 편리함은 설계와 코딩에 영향을 받음. 설명 기술과 독립적 단위로 구성된 프로그램들은 수정을 용이하게 함. |
참고자료
Fundamentals of Data structures in C - Horowitz, Sahni, Anderson-Freed
- 참고서적에는 [시스템 생명주기(system life cycle)]로 표현되어 있음 [본문으로]