국비학원을 다니면서 프로젝트를 진행할 때 전반적인 프로세스를 정리해봤다.
나중에 프로젝트를 진행할 때, 까먹지 않고 참고할 수 있도록
1) 프로젝트 수주
2) 요구사항 분석(PM이)
- RFQ(고객사의 요청 내용문서)를 기반으로 실제 구현할 내용을 작성
- 요청사항이 현실적으로 시스템 구현가능한지 여부를 확인하고 기능 내용을 기술
3) 설계
- 화면설계: 구현할 내용에 대한 구체적인 화면 UI(user interface)를 확정. 진행 순서에 따른 내용 기술
- database 설계 : 사용될 데이터를 확인하여, 저장할 데이터의 기본 틀을 만들어 스키마 도출, 논리 테이블 도출, 연관관계 도출, 물리 테이블로 생성.
- ERD: 말로서 되어있는 요구분석사항을 그림으로 그려내어 그 관계를 도출하는 것
4) 구현
- Front end 구현
- 화면 설계 기준을 html/css/js를 통해 브라우저를 통해 나타날 화면 내용 구현
- Back end 구현
- 화면설계와 db 설계 및 생성된 내용을 기준으로 java, 프레임워크를 통해서 서버단(WAS)에서 처리할 내용 구현
- 여기서 모델1, 모델2 등 어떠한 방식과 프레임워크로 구현해나갈지 결정
5) 테스트
- 개발자가 개인적으로 테스트하고,
- 주(week) 단위로 팀원들과 함께 단위테스트와 코드 리뷰를 통해 효과적으로 코딩 내용을 확인한다.
- 통합테스트 프로젝트를 전체적으로 진행 내용을 통합해서 테스트하여 문제 및 결함을 확인한다.
- 인수테스트는 최종적으로 고객에게 인수하기 전에 테스트하여, 에러 및 결함을 고객으로부터 받아서 바로 반영하여 최종적으로 완료를 위한 테스트를 한다.
6) 프로젝트 종료
1) 요구사항 분석 : 요구사항 내용에 대한 분석 단게 처리, 문서작업,
프로젝트 개발을 위한 고객과 대화. 기존에 있는 산출물 양식들에 대한 분석
2) 화면 설계 : 요구사항 기반으로 실제로 구현할 화면단의 내용을 처리하며
기본적인 화면 배치나 화면에 사용될 요소들을 생각하여 플로우에 맞게 작성.
3) db 설계 : 요구사항 기반으로 사용할 데이터 도출, 스키마 도출, erd 사용하여 관계도 설정
4) appication 설계 : 프로그래밍의 단계에 처리할 내용을 순서도로 만들고,
이에 기반하여 단계별로 use case 다이어그램, 클래스 다이어그램 등을 작성한다.
5) Front end 구현 : html, css , js를 통해서 브라우저를 통해 로딩한 최종화면에 대한 내용을 구현한다.
backend 단에서 전달한 데이터가 있다는 가정하에 화면을 구현한다.
6) back end 구현 : db에 대한 sql 작성 능력을 기반으로 하여, 연동하여 처리하는 DAO를 작성하고,
요청값과 결과값을 기반으로 한 최종 화면구현을 front end와 연결하여 처리한다.
이 때, ajax를 통한 비동기 처리를 하기도 하고, MVC(모델2) 패턴을 이용하기도 하고 프레임워크 등을 사용하기도 한다.
7) 테스트 : 작성된 내용을 기준으로 테스트 시나리오를 만들어 수행하여 bug나 오류를 최대한 빠르게 반영하여 처리한다.
1) 요구사항 분석
2) 화면 설계
3) db 설계
4) appication 설계
5) Front end 구현
6) back end 구현
7) 테스트
👍