프로젝트 기간 4월 5일부터(공식 일정은 4월 11일부터) 17일이었다
팀이 나눠진게 4월 5일이고 주말 제외하면 10일,, 급한 맘 안먹고 천천히 준비했다
아이디어 추출과 협업툴 세팅에 3일정도 썼음
이제 진짜 시작!
1. Logical/Physical Design
초반 프로젝트는 테이블이 네개에 테이블당 10개 정도의 데이터만 있으면 된다고 했다
우리의 모델링은 이렇게!
회원관리 테이블에서는 회원의 정보를 입력받도록 구성했다
수험장 테이블에서는 시험의 일정과 지역을 관리하도록 구성했는데, 한 시험당 3회차까지 설정하고 지역은 12개로 입력해두었다
시험정보 테이블에서는 시험의 코드와 시험명, 응시료를 10가지정도 미리 입력해두었다
회원이 시험을 고르고 지역 및 회차를 선택하면 해당 내용이 접수 테이블에 들어갈 수 있도록 접수테이블을 구성했다
2. 유스케이스 다이어그램 작성하기
졸업플젝 했던 경험을 살려 유스케이스 다이어그램을 작성했다
냅다 그냥 바로 코딩을 시작해버리면 개요가 안잡힐 것 같아 사용자 입장에서 프로그램이 어떻게 흘러갈지를 미리 생각해둬야 한다고 생각했기 때문,,
사용자가 시스템에 접속하면 회원가입이나 로그인을 해야 시스템을 이용할 수 있다 로그인을 하려면 회원가입을 필수로 진행해야 한다 회원가입을 진행하면 해당 정보는 데이터베이스에 저장된다 로그인을 할 때에는 사용자가 입력한 아이디와 비밀번호가 ①데이터베이스에 존재하는지, ②아이디와 비밀번호가 매칭되는지를 확인한다 두가지가 전부 확인되었다면 시험접수, 접수조회, 접수취소, 회원탈퇴를 할 수 있다 네가지 전부 데이터베이스와 데이터를 주고 받는 등의 작업을 하기 때문에 프로젝트의 취지인 CRUD를 만족한다고 볼 수 있음! 이렇게 작성하니 어떤 데이터를 삽입/수정/삭제를 해야할지, 어떤 데이터를 조회해야할지 감이 잡혔다
3. 클래스 다이어그램 작성하기
MVC패턴을 배우자마자 거의 바로 프로젝트를 진행했기 때문에 클래스들에 대한 정의가 필요했고 각 클래스마다 필요한 필드와 메서드에 대한 정의도 마찬가지로 필요했다 그때 생각난 것이 클래스 다이어그램이다 나중에 전부 사용하진 않더라도 미리 개요를 짜두는 것이 프로젝트 진행에 필요하다고 생각했고 바로 다이어그램을 그렸다 원래 화살표로 관계를 확실히 맺었어야 하는데 워낙 간단한 프로젝트이고 팀원끼리 상의가 충분히 가능했기 때문에 그작업은 생략했다(사실 그런게 필요하다는 걸 플젝 끝나서야 기억해냈다..,) 해당 다이어그램을 작성하면서 무엇보다 뷰에 필요한 메서드 정의가 쉬워졌다 아래 구현예시를 미리 작성하면서 다이어그램과 구현예시를 짝지어가면서 작업했더니 훨씬 수월한 설계가 됐다고 생각한다
4. 구현 예시 작성하기
처음에는 클래스다이어그램까지 작성하고 바로 코딩 작업에 들어가려고 했는데 아무리 생각해도 뷰를 어떻게 구성해야 할지가 막막한 것이다 ,,, 그래서 스앵님께 여쭤봤더니 그런 경우에는 미리 구현예시를 작성해두는 것이 프로그램 이해에 좋다고 하셨다 그래서 바로 작성함!
여기에 색깔별로 구분해가며 클래스다이어그램의 메서드와 짝을 지었다
위 설계 작업들이 없었다면 모든 코딩이 아주아주 고된 작업이 됐을 것이라고 프로젝트 진행 중에 깨달았다 설계에 힘을 준다는게 좀 쓸데없는 짓같고 시간을 허비한다는 생각을 가지고 있었는데 그 생각을 완전히 엎어버리는 중요한 경험이었다고 생각한다
이 다음글은 완성된 결과와 짧은 느낀점이 이어질 예정입니다 꾸우벅 그럼 안녕