소프트웨어를 체계적으로 개발하고 관리하기 위해서 개발 과정을 단계별로 나누어 구분한 것
소프트웨어를 기획하고 개발하는 개발자로써 이 단계를 바탕으로 개발하면 조금 더 안정적이고 좋은 프로그램을 만들 수 있다.
처음에 프로그래밍 언어를 접하게 되면 기초인 C언어를 배우고, C++를 다음에 배우고 자바를 접하게 된다.
만약 이런 단계적으로 배우는 게 아닌 자바를 제일 먼저 접하게 됐다면 If문, for문, class의 개념을 제대로 익히지 않은 상태에서 자바를 시작할 수 없다.
모든 일에는 단계적인 게 필요하다. 배우거나 기획하거나 만들 때 차근차근 쌓아가야 안정적이다.
3-1. 시스템 구조 설계
: 시스템을 구성하는 내부 프로그램이나 모듈 간의 관계와 구조를 설계
3-2. 프로그램 설계
: 프로그램 내의 각 모듈에서의 처리 절차나 알고리즘을 설계.
3-3. 사용자 인터페이스 설계
: 시스템을 사용하는 사용자에게 보여지는 프로그램을 설계.
예를 들어 사용할 컴퓨터 언어를 선택하거나 프로그래밍 기법과 순서를 정하고 그 언어를 사용하여 작성하는 단계이다.
요구사항이나 조건을 만족하는지 출력된 결과나 보여지는 결과가 예상한 게 맞는지 테스트한다.
5-1. 단위 테스트
: 시스템의 최소 구성 요소가 되는 모듈에 대해서 개별적으로 시행
5-2. 통합 테스트
: 단위 테스트를 통과한 모듈을 연결하여 전체 시스템으로 완성하여 통합적으로 시행하는 테스트
6-1. 수정형 유지 보수
: 사용 중에 발견한 프로그램의 오류 수정 작업
6-2. 적응형 유지 보수
: 시스템과 관련한 환경적 변화에 적응하기 위한 재조정 작업
6-3. 완전형 유지 보수
: 시스템의 성능을 향상 시키기 위한 개선 작업
6-4. 예방형 유지 보수
: 앞으로 발생할지 모를 변경사항을 수용하기 위한 대비 작업