한화시스템 BEYOND SW 4주차 회고록

김채우·2025년 10월 21일
post-thumbnail

이번 주는 첫 프로젝트가 끝난 주였다. 강의 시간에 학습한 것도 많았지만 이번 회고록은 프로젝트가 어땠는지에 대해 서술하겠다.

프로젝트 설계

요구사항 명세서

요구사항 명세서는 학교에서 팀 프로젝트를 하기 전에 자주 작성해서 익숙하다고 생각했었다. 하지만 그 때는 작성을 해도 주먹구구 식으로 흘러갔었고 점차 명세서를 작성한 의미가 퇴색되었었다. 그러나 이번에는 달랐다.
처음부터 팀원들과 아이디어 회의로 주제를 정한 후에 본격적으로 작성하였다. 핵심 기능들을 구현하기 위한 요구사항들을 상세히 작성하였고 그에 따른 구현을 어떻게 할 지 등을 고려했다.
결과적으로 세부적이고 해당 명세서만 보아도 핵심 기능들을 알 수 있을 정도가 되었다. 실제로 이후에 명세서를 근거로 기능들을 구현해 가며 명세서의 편리함과 중요성을 깨달았다.

ERD

ERD를 구성하면서 가장 중요하게 생각한 것은 과연 이 테이블을 더 쪼갤 필요가 없을까? 였다.
정규화에 대한 지식과 경험이 많지 않았기 때문에 팀원들과 생각들을 공유하며 꼭 필요한 정도로 테이블을 쪼개고 추가하며 다이어그램을 그려갔다.
ERD를 그리는 것이 가장 재미있었다. 데이터를 조금 더 효율적으로 저장하는 방법을 구성하고 중복을 줄이기 위해 많은 경우들을 생각하는 것이 마치 목표 점수를 달성해야 하는 게임과도 같았다.
다이어그램을 그리는 것 중에서 가장 중요한 부분 중 하나가 제약사항을 잘 설정하는 것이었다. NOT NULL과 외래 키들을 설정하며 테이블들 간의 관계를 명확히 해 유기적으로 데이터들을 주고받으며 참조하도록 하였다.

WBS

WBS를 적극적으로 도입해 일정을 관리한 것은 이번이 처음이었다. 결국 처음 계획한 대로는 일정이 딱 맞춰서 이루어 지지는 않았다. 하지만 데드라인이 명확하게 정해져 있었기 때문에 모든 팀원들이 그에 맞추려 노력했고 결과적으로 좋은 결과를 만들어 낼 수 있었다. 계획을 짜 둔 뒤에 변수가 생기는 것과 막무가내로 진행되다가 변수가 생기는 것은 확실히 그 영향이 달랐다. 전체적인 일정이 정해져 있었기 때문에 보다 효율적으로 작업이 가능했다.

Query

이번 프로젝트는 Mariadb와 서버만을 사용하기에 사실상 기능의 구현은 쿼리로 해야 했다.
학교를 다닐 때에도 전공 수업에서 데이터베이스를 다뤄 작은 프로젝트를 한 적이 있었다. 그 때도 쿼리를 짜는 것에 재미를 느꼈었는데 이번에는 테이블의 수도 더 많고 복잡성도 증가했었기 때문에 보다 흥미로웠다.
기능을 쿼리로 구현함에 있어서 가능한 프로시저를 사용하지 않으려 했다. 불필요하게 프로시저로 만들어 봤자 비효율적일 뿐이고 그렇지 않아도 쿼리로 대부분은 해결이 가능했기 때문이다. 다만 여러 문법이 필요할 때는 어쩔 수 없이 프로시저를 사용해 해결했다.

느낀점

재미있었다. 지금까지 해 온 팀 프로젝트들은 의욕 없는 팀원이 있거나 운이 안 좋으면 실력과 의지 모두 없는 팀원들이 있었다. 하지만 이번에는 팀장으로서 팀원들이 부탁에도 싫은 소리 하나 하지 않고 적극적으로 참여해 즐겁게 작업하며 좋은 결과를 낸 듯 하다.
아쉬운 점 또한 존재한다. 팀장인 내가 이번에 발표를 진행했는데 나 자신과 타협해서인지 발표의 퀄리티가 좋지 않았다. 대강 준비하고 앞선 팀들의 발표를 들었는데 너무나 뛰어났다. 자료도 깔끔하게 정리되어 있었으며 차분한 톤으로 본인들의 결과물을 조리있게 설명하는 것을 보고 다급하게 대본을 고쳤었다. 고쳐서 그나마 괜찮게 나왔지만 적당히 하는 습관은 역시 이 캠프에 들어온 김에 버리려 노력해야 한다는 생각을 다시 한 번 하게 되었다.


Keep

강의가 끝나고 나서도 한, 두시간 정도 공부를 하고 가는 것을 계속하고 있다. 그 시간에 복습도 하고 개인 사이드 프로젝트를 하나 진행중이다. 저번주부터 본격적으로 시작했으니 기간이 짧긴 해도 2주차이다. 자바를 배운 뒤 들어갈 프로젝트 전에 끝내서 완성하는 것이 목표이다.

Problem

개발자는 코딩만 잘 하면 되는 것이 아니라 들었다. 여러 문서들을 작성하고 발표를 하는 과정에서 모든 것이 많이 부족하다고 느꼈다. 앞으로 있을 프로젝트들에 더욱 적극적이고 열정적으로 참여해야 겠다는 생각을 했다.

Try

최대한 빨리 지금 프로젝트를 끝내는 것이 목표이다. 다만 예전처럼 막무가내로 하는 것이 아니라 서류들을 작성하며 보기 좋은 프로젝트를 만들어 보려 한다.

profile
예비 백엔드 개발자

0개의 댓글