패스트캠퍼스X야놀자: 백엔드 개발 부트캠프_ToyProject 1 후기
개요
■ 프로젝트명
- 여행 여정을 기록과 관리하는 SNS 서비스
■ 기간, 참여인원
2023.09.04 ~ 2023.09.08
옥재욱(팀장), 이유상, 홍용현, 김정훈, 서은
■ 목적
- 협업 및 팀워크 증진을 통하여 동일한 목표 달성 및 성취
■ 핵심 내용
MVC(Model View Controller) 패턴을 통한 Java 문법, 파일 입출력, 예외처리 및 클래스 설계
여행의 여정 정보를 기록하고 조회하는 Java 애플리케이션 개발
개별 여행은 복수의 여정 정보로 구성됨 (여행 : 여정 = 1 : n )
여정 정보는 이동(출발지, 도착지, 출발시각, 도착시각) 과 숙박(체크인, 체크아웃)
등의 유형여행 정보와 특정 여행 정보의 여정 목록은 데이터 저장 경로에 따라 파일 형태 그리고 데이터베이스에 저장 (CSV, JSON)
개발과정 및 어려움
Controller 단에서부터 상향식 설계 방식으로 진행하였으며 초기에는 메서드 명을 한글로 작성하여 각 메서드의 역할을 좀 더 이해하기 쉽도록 설계하였습니다. 프로젝트를 큰 틀에서 설계한 후 더 세분화하여 각 클래스 별로 역할 분담을 확실히 하도록 노력했습니다.
Class Diagram과 Sequence Diagram을 활용하여 프로젝트의 구조 파악을 수월하게 할 수 있어 프로젝트의 동작 과정을 알기 쉬웠고 잘 못 설계된 부분을 찾기 용이했습니다.
그러나 과제 명세서에 애매했던 부분들이 많았고, 처음 팀 프로젝트이다 보니 역할 분담이 제대로 되지 않았다는 것은 아쉬웠습니다.
- ERD

- Class Diagram


개선해야 할 점 및 배운점
먼저 Sequence Diagram으로 프로젝트 구조 파악하는 방법을 배웠으며 유용한 IntelliJ의 단축키도 알 수 있었습니다. 또한 좀 더 경험이 많고 잘하는 팀원들과 함께 하다 보니 객체 지향적으로 프로젝트를 설계하고, 더 간결하게 코드를 작성하는 방법을 알게 되었습니다. 마지막으로 롬복 사용에 대해서도 다시 한번 생각해 보는 시간이 되었습니다. 롬복은 개발자가 코드를 간결하게 작성하고 반복적인 작업을 줄이는 데 도움을 주는 강력한 도구입니다. 그러나 이를 올바르게 이해한 후 사용하지 않으면 예상치 못한 문제들이 발생할 수 있어서 롬복을 사용할 것이라면 롬복의 각 어노테이션의 역할과 사용법을 학습하고, 어떻게 작동하는지 이해하는 것이 중요하다고 생각했습니다.


