개발 흐름
서비스 제작에 관여하는 사람들이 모여 서비스에 대한 컨셉과 해당 컨셉에 따른 요구 사항을 지속적 수집
수집된 요구 사항에 맞춰 서비스를 화면으로 제공하기 위한 UI(User Interface)를 설계하며 구체적 기능 요구 사항 정의
Frontend 개발자는 기능 요구 사항과 UI를 통해 Frontend 측 개발 진행, 웹 디자이너는 화면을 디자인, Backend 개발자는 기능 요구 사항에 맞춰 Backend 애플리케이션 디자인
백엔드 개발자의 3번과정 개발 흐름
3-1. 백엔드 개발자들간에 수집된 요구 사항과 설계된 화면(UI 설계서 등)을 기반으로 도메인 모델 도출
3-2. 도출된 도메인 모델을 통해 클라이언트 요청 받는 엔드포인트와 비즈니스 로직, 데이터엑세스 위한 클래스와 인터페이스 등의 큰 그림 설계
3-3. 클래스 설계를 통해 애플리케이션의 큰 그림 설계 후 클래스와 인터페이스의 큰 틀 작성
3-4. 클래스와 인터페이스의 큰 틀 작성 후, 클래스와 인터페이스 내 메서드 정의하며 세부동작 고민 및 코드 구현
3-5. 해당 메서드 구현 끝냈다면 구현 기능이 잘 동작하는지 테스트
3-6. 테스트 문제 발생 시 구현 코드 디버깅하며 문제 원인 파악
선 구현, 후 테스트 방식
TDD 개발 방식
실패하는 테스트
→실패하는 테스트를 성공할 만큼의 기능 구현
→성공하는 테스트
→리팩토링
→실패하는 테스트와 성공하는 테스트 확인
→반복
TDD 장점
TDD 단점