개발 방식 순서
서비스 제작에 관여하는 사람들이 모여 서버스에 대한 컨셉과 해당 컨셉에 따른 요구사항을 지속적으로 수집
수집된 요구사항에 맞추어 UI(User Interface)를 설계하면서 구체적인 기능의 요구 사항들을 정의
프런트엔드 개발자는 기능 요구 사항과 UI를 통해 개발을 진행하고, 웹 디자이너는 화면을 디자인하며, 백엔드 개발자는 기능 요구 사항에 맞추어 어플리케이션을 디자인함
3-1. 백엔드 개발자는 설계된 UI를 기반으로 도메인 모델을 도출함
3-2. 도출된 도메인 모델을 통해 엔드포인트, 비즈니스 로직, 데이터 엑세스 계층 등 큰그림을 설계한 후, 작성함
3-3. 큰 틀이 작성된 후, 세부 메서드를 정의하면서 세부 동작을 구현
3-4. 기능 구현 후, 기능이 잘 동작하는지 테스트함
3-5. 테스트에 문제가 발생한다면, 구현한 코드를 디버깅하면서 문제의 원인을 찾음
전통적인 개발 방식의 특징
TDD 개발 방식 (해당 과정을 반복)
: 실패하는 테스트
→ 실패하는 테스트를 성공할 만큼의 기능 구현
→ 성공하는 테스트
→ 리팩토링
→ 실패하는 테스트와 성공하는 테스트 확인
TDD의 특징
TDD의 단점