1. SW 개발 프로세스
- 고객이 경제적 가치를 지불한다.
- 요구사항 (Requirements) : 모호성
- 사람의 머리 속에 존재하기 때문에 정리가 잘 안되어 있다.
- 분석 (Analysis) : 정리
- 설계 (Design) : 구현 계획
- 구현 (Implementation) : 확정적 / 논리적
- 컴퓨터는 모호성을 용납하지 않는다.
- 요구사항을 예측하는 것이 중요하다.
- 테스트 (Test) : 요구사항과 비교
- 단위 테스트 : 함수나 객체 하나에 대한 테스트
- 통합 테스트 (내부 테스트, 알파 버전) : 여러 사람이 개발한 것에 대한 테스트
- 시스템 테스트 (실 환경 테스트, 베타 버전)
2. 아키텍쳐 (Architecture) 중심 개발
우리의 그림판 프로그램으로 예를 들면,
- DrawingPanel : drawing
- Transformer : affine transform
- Shape : graphics attribute