개발일지

[개발일지] Java 관리 프로그램 개발 | 개발 전 정리 | 개발이 어려울 때

kimslab01 2024. 8. 1. 19:06

 

 

 

안녕하세요.

이번에는 캠프 관리 프로그램을 개발하는 프로젝트를 받았습니다.

수강생들을 관리하는 역할을 하는 프로그램을 개발하는 프로젝트입니다.

 

저는 개발이 익숙치 않기도 하고,

자바로는 첫 개발이었습니다.

혼자 하는 프로젝트가 아니라 협업으로 해야 하는 프로젝트라서

더욱 그 시작을 어떻게 해야하는지 많은 어려움이 있었는데요!

 

그 어려움을 해쳐나가기 위해서 필수 요구사항을 어떤 메서드로 구현하면 좋을지

구상하는 작업을 했습니다.

무작정 시작하는 것보다는 이렇게 개발 전에 구상단계를 거치는 것이

훨씬 편하더라구요!!

 

그럼 개발 전에 조금 정리한 결과를 알려드리겠습니다!

 

 

 


 

 

 

 

필수 요구 사항
수강생 관리
 
 
수강생의 고유번호는 중복될 수 없습니다.
 
수강생 정보를 등록할 수 있습니다.
등록 필수 정보
고유 번호
이름
과목 목록
 
수강생 목록을 조회할 수 있습니다. 조회 형식은 자유입니다.
조회 필수 정보
고유 번호
이름
점수 관리
 
 
등록하려는 과목의 회차 점수가 이미 등록되어 있다면 등록할 수 없습니다. 과목의 회차 점수가 중복되어 등록될 수 없습니다.
 
회차에 10 초과 및 1 미만의 수가 저장될 수 없습니다. (회차 범위: 1 ~ 10)
 
점수에 100 초과 및 음수가 저장될 수 없습니다. (점수 범위: 0 ~ 100)
 
수강생의 과목별 시험 회차 및 점수를 등록할 수 있습니다.
 
점수를 등록하면 자동으로 등급이 추가 저장됩니다.
 
수강생의 과목별 회차 점수를 수정할 수 있습니다.
 
수강생의 특정 과목 회차별 등급을 조회할 수 있습니다.
 
조회 형식은 자유입니다.
조회 필수 정보
회차
등급

 

 


 

 

조건은 이렇게 주어졌습니다.

사실 조건이 있기에 개발을 아예 처음부터 해야되는 것이 아니긴 합니다만,

저는 개발 자체가 익숙치 않으니 이런 가이드라도 있어야 그나마 괜찮더라구요 ㅋㅋㅋ

언젠가는 이런 조건들도 제가 직접 생각하고 구상하는 날이 오기를!!

 

다시 본론으로 돌아오면, 저는 각각의 조건에 어떤 메서드가 필요한 지 고민해보았습니다.

그래서 필요한 조건에 필요할 것 같은 인터페이스 속 메서드를 정리해보았어요!

 

 

<수강생 관리>

수강생 등록
-> IStudentManager의 void addStudent(int id, String name, List<String> subjects);

수강생 목록 조회 (형식은 자유)
-> StudentManager의 IStudent getStudent(int id); ???

 

<점수 관리>

수강생의 과목별 시험 회차 및 점수 등록
- 점수를 등록하면 자동으로 등급이 추가 저장됩니다.
- 등록하려는 과목의 회차 점수가 이미 등록되어 있다면 등록할 수 없습니다. 과목의 회차 점수가 중복되어 등록될 수 없습니다.
- 회차에 10 초과 및 1 미만의 수가 저장될 수 없습니다. (회차 범위: 1 ~ 10)
- 점수에 100 초과 및 음수가 저장될 수 없습니다. (점수 범위: 0 ~ 100)
* 위의 조건 함께 구현!
-> ISubject의 void addScore(int round, int score);

수강생의 과목별 회차 점수 수정
-> ISubject의 void updateScore(int round, int score);

수강생의 특정 과목 회차별 등급 조회
-> ISubject의 String getGrade(int round);

 

 

이렇게 정리해봤습니다!

훨씬 보기 편하고 어떤 조건에 어떤 메서드가 필요한 지 볼 수 있어서

꼭 이 방법 사용해보셨으면 좋겠습니다 ㅎㅎ

 

감사합니다!