자바 팀 프로젝트를 진행하게되어 우리 조는 Java와 DB를 연결해서 만드는 낚시게임을 만들어보도록 하였다.
• 역할분배
일단 조원 넷이서 역할을 분배하기위해 필요한 기능들을 얘기해보았고 정리했을 때
1. 회원가입 ( 유저 )
2. 배 운행 ( 장소 )
3. 낚시하기
4. 인벤토리 (가방) , 상점, 크기 순 랭킹
이렇게 4가지로 나누었다. 여기서 나는 회원가입기능 (유저) 를 맡았으며 생각보다 회원가입 쪽 기능을 빨리 구현하여 운행 부분의 코드 구성을 좀 더 도와주고 콘솔에 나오는 도트아트 작업을 맡아 진행하였다.
• DB ERD 구성
일단 DB와 Java를 연결하기위해서는 처음 DB 구성을 잘 디자인해야한다.
이렇게 데이터베이스를 구성하였으며, 나중에 회원과 낚시장소를 식별관계로 이었으면 좀 더 편했을거같았다고 생각했다. 역시 처음 구성할 때 시간이 걸리더라도 더 자세하고 필요한 요소를 전부 넣어서 디자인하는게 중요한거같다.
• 내가 맡은 유저클래스 관련
일단 User 클래스는 딱히 어려움이없었다. User 클래스에는 회원가입, 로그인 , 아이디중복 방지 등의 기능을 넣었으며,
운행장소나 낚시등의 기능들이 유저의 join 해야하는것이지 유저자체는 일단 Join하지않고 생성이 가능하므로 쉬웠던 작업이었다고 생각한다. 회원 쪽 작업은 빨리끝내 팀원들에게 배포하고 팀원들이 유저 생성이 가능한 단계에서 작업이 진행 될 수 있도록하였으며, 나의 작업이 끝낸 이후 전체적인 조율과 다른 조원들이 맡은 코드를 봐주며, 콘솔창에 보여지는 도트작업을 진행하였다.
• 낚시게임의 기능들
우리가 만들어낸 낚시게임은 회원가입을 하고 로그인을하면 일단 기본금 만원과 기본낚시대가 주어진다.
기본금 만원으로 돈을 내고 배를 타고 낚시터로 가야하며, 낚시터에서 미끼를 구매해 낚시를 진행하는 기본적인 구조를 가지고있다.
낚시대에는 기본낚시대부터 등급이있어 3번 단계업을 시킬 수 있으며, 단계업이 될 때마다 본인이 들어갈 수 있는 낚시터의 등급이 올라가도록 만들었다. 낚시터마다 특산물로 따로 특별한 물고기들이 나오게했으며, 각 물고기별로 드랍율도 조정하였다.
낚시를 진행하게되면 물고기를 랜덤으로 낚아오며 인벤토리안에 들어가도록 구현하였다.
이 인벤토리 안에 물고기들을 상점에서 판매하여 돈을 벌 수 있도록 하였으며, 상점은 미끼구매, 잡은 물고기판매, 낚시대 구매 3가지 기능을 구현하였다.
미끼는 말그대로 개당 500원에 미끼를 구매할 수 있도록하였으며, 물고기 판매는 가방안의 물고기들은 단품으로 판매하거나 전부판매하는 기능 두가지를 구현하였고, 단품으로 판매할시 인벤토리 안의 내역을 보여주며 각 항목에 번호를 입력하면 판매할 수 있도록하였다.
낚시대 구매는 구매하면 낚시대 등급이 바뀌며 들어갈 수 있는 낚시터가 늘어나며, 낚시터에서 배운행으로 돌아가 해금된 낚시터를 갈 수 있도록 구현하였다.
• 작업을 하며 느낀 문제점 / 느낀점
일단 사람마다 어떻게 구현해야할지 생각하는 구상이 전부 다르기에 계속해서 의견을 주고받으며 최대한 맞추려고 노력하였다. 하지만, 각자의 작업물을 합치면서 구성을 다르게한 코드들이 에러를 일으키고 이것을 해결하는 과정에서 어려움을 느꼇던거같다. 또한, 내가 구상했을 때는 서로의 작업물을 최대한 바꾸지않는선에서 각자 클래스,서비스,다오 이렇게 구성하여 연결하는 느낌으로 구성할 줄 알고있었지만, 제대로 이야기가 전달되지않아 내가 작업한 User클래스를 많이 수정하여서 본인의 기능을 구현한 조원이있었다. 여기서, 역할을 분배하고 작업하는 과정에서 어떻게 작업을할지 문제가 생기지않게 정확하게 정하고 시작을 해야겠다고 느꼇으며, 마지막에 서로가 서로의 의도를 이해했는데 체크하고 가야겠다고 생각했다. 다른 문제로는, 각자가 중요하게 생각하는 요소들이 다르기에 내가 생각하기에는 별로 중요하지않은 요소들을 굳이 작업해야하나 느꼇지만, 다른 조원에게는 중요할 수 있음을 느끼며 최대한 의견을 반영하며 보여지는 도트아트에도 세세한 부분을 추가하거나 기능에서도 다른 방향이 더 좋은거같으면 서로 의견을 주고받으며 조율했던거같다. 내가 중요하지 않다고 생각했던 부분들도 추가하고 보니 충분히 중요도가 있었던거 같았으며, 본인이 볼 수 없던 부분을 보완해주는 부분에서 팀 작업의 장점을 느꼈다.
팀 프로젝트는 전체적으로 팀원들과 함께하는 것이기때문에 전체적인 문제는 의견 조율과 서로 다른 구상등의 문제가 있었고 이것을 해결하기위해 작업을 시작하기전 정해야할 것들을 확실히하고, 서로가 서로의 의견을 이해하였는지 확인하는 과정을 중요시해야할 것 같다.
'자바 프로젝트(두번째 팀 프로젝트) 관한내용' 카테고리의 다른 글
User(회원) 관련 코드 (0) | 2024.10.20 |
---|