이전에 시작한 내일 배움 캠프 수강생들에 대한 정보를 관리하는 프로그램이다.
일반적으로는 수강생들의 정보와 점수 정보를 관리하는 프로그램으로, 자바의 기초를 다시 한번 복습한다는 느낌으로 진행할 예정이다.
수강생 등록
수강생 정보를 입력 받아서 데이터로 저장하는 기능이다.수강생 조회
등록된 수강생 데이터를 조건에 맞게 조회하는 기능이다.수강생 수정
등록된 수강생 데이터를 수정할 수 있는 기능이다.수강생 제거
등록된 수강생 데이터를 제거할 수 있는 기능이다.
점수 등록
등록된 수강생 데이터를 바탕으로 수강하고 있는 과목의 점수를 입력받아 등록하는 기능이다.점수 조회
등록된 수강생 데이터를 바탕으로 다양한 조건에 맞게 점수를 조회할 수 있는 기능이다.점수 수정
등록된 수강생 데이터에서 점수 데이터를 가져와 수정하는 기능이다.
이번에는 Git과 GIthub를 이용해서 팀 프로젝트를 진행하였으며 전체적인 코드는 다음 Github 링크를 통해 확인할 수 있다.
🦆 Team Duck - NBC Management Program
발표를 준비하면서 우리가 작성한 코드에 대해 간단하게 알아볼 수 있는 클래스 다이어그램을 작성했다.

다음과 같이 전체적으로 StudentManager와 ScoreManager에서 기능들을 호출하는 방식으로 설계가 되어 있으며, 각 기능 클래스들에서 StudentData 클래스를 참조하여 기능을 구현하는 구조이다.
- 언제나 캠을 키고 있으면서 키지 않더라도 화면 공유를 한 점
- 하루 2번 이상의 회의와 원활한 대화
- 긍정적이고 상호존중하는 분위기가 결과에도 좋은 영향을 미쳤다고 생각한다.
- 팀원과의 내용 공유가 활발하게 진행되어서 진척도나 앞으로의 계획 수행에 대해 생각하기 편했다.
- 적극적인 태도
- 적극적인 질의 응답을 통해서 빠르게 문제를 해결할 수 있었다.
- 의사 표현이 확실하며, 타인의 의견 역시 경청하게 다양한 코드가 나왔고 따라서 더 적합한 코드를 사용할 수 있었다.
- 작성한 코드에 대한 코드 리뷰 진행
- 자신의 코드를 설명하며 다시금 이해하게 되고 온전히 스스로의 성장을 이뤄낼 수 있었다.
- 타인의 코드를 보고 이해하며 창의성 및 코딩의 다양성이 성장할 수 있었다.
- 불필요한 파일정리,패키지로 기능구분
- 불필요한 파일은 프로젝트 완성단계에서 리팩토링하며 삭제,정리함으로써 프로젝트 파일이 명료해졌다.
- 패키지를 통해 기능구분을 명확히 정리함으로써 가독성을 높였다.
- Github Commit, Push, Pull, Merge
- Github를 통한 팀 프로젝트가 익숙지 않기에 초반부터 상당히 어려움을 겪음
- 데이터 구조를 수정하는 과정에서 팀원들의 코드에도 영향이 가게 됨
- 데이터의 수정이 왜 필요한지, 데이터의 수정이 이뤄지면 무슨 변경 사항이 생기는지, 더 잘 전달하고, 더 일찍 대화를 했으면 하는 아쉬움이 있었음
- 생각지도 못했던 수많은 예외 사항들의 개선 팀원분들의 QA로 빠르게 예외 사항 처리
- 자바 코드 컨벤션에 맞지않는 코드들이 많았음
- 예외처리가 모잘랐던부분들이 많았음
- 데이터를 저장하고 불러오는 기능을 추가하고 싶었지만, 구현하지 못한 점
- RDB적 관점으로 데이터 구조를 설계했다면, 지금보다 더 깔끔하게 구조 구현
- 인텔리제이 기준으로
ctrl+alt+L을 누르면 코드가 현재 설정해 놓은 서식으로 정렬된다. 이 기능을 자주 사용해서 통일성 있는 코드 작성을 할 수 있을 것이다.- 프로그램을 작성할때 들어올 수 있는 예외상황을 생각하면서 코드를 짜면 추후 테스트를 진행하며 생기는 수정을 줄일 수 있을 것이다.
오랜만에 자바를 다루면서 잊고있던 기능들도 생각할 수 있는 시간이었고, 생각보다 빈틈이 많았던 기초적인 부분을 다시금 보완할 수 있는 시간이었다고 생각한다.
마지막으로 고생한 팀원들에게 감사의 말씀드리며 이상 프로젝트 NBC Management Program을 마무리 하겠다.
Thanks for Team Duck🦆