DB 프로젝트 회고 _ 1차 프로젝트

지니·2025년 2월 16일

Project

목록 보기
3/3
post-thumbnail

프로젝트 깃허브 바로가기

1. 팀 구성

팀은 처음에 PCCE 스터디를 함께 진행했던 팀으로 구성됐다. 팀이 구성 된 이후에 우선 그라운드 룰을 정했다. 밑에 사진은 프로젝트를 진행하면서 정한 룰로, 프로젝트가 끝난 지금 규칙을 다 잘 지킨 것 같다.
아! 우리 팀은 프로젝트를 진행하면서 같이 술도 마시면서 친해지는 시간을 많이 가졌는데, 뭔가 팀원들의 성향이 어느 정도 파악됐고 좋았던 것 같다 ㅎㅎㅎㅎ


2. 사전 조사 및 기획

2-1. 주제 선정 과정

  • notion을 이용해 각자 생각하는 아이디어 적기
  • 나는 자격증 정리 및 후기 사이트, 퍼스널 컬러를 통한 화장품 추천 사이트, 목표 추천 및 기록 사이트(원포인트업), 여행 후기 사이트 이렇게 4가지의 주제를 생각했다.

2-2. 우리 조의 주제는?! One Point Up!

  • 우리 조의 주제는 One Point Up!으로 선정됐다.
  • 올해의 트렌드를 조사하면서 본 부분인데, 큰 목표를 선택해서 수행하는 것보다 작은 목표부터 차근차근 수행하는 것을 원포인트 업 이라고 한다.

  • 이 주제와 개인의 성향이 중요시 되는 요즘의 트렌드를 결합해, 개인의 성향을 분석해 이를 바탕으로 작은 목표를 추천해주고 이를 기록할 수 있는 사이트 자기계발 사이트를 만들기로 결정했다.

3. 프로젝트 요구사항 (UML, 요구사항 명세서)

3-1. 사전 회의

  • 요구사항 명세서와 UML을 그리기에 앞서, 우리 조는 모두가 구상하고 있는 사이트가 완벽하게 일치하는지 확인하는 작업을 먼저 진행했다.

  • 위에 그림처럼, 열심히 각자의 생각을 적으면서 어떤 사이트를 구현하는지 확실히 맞춰갔는데 이 과정 덕분에 다음 단계를 수월하게 진행할 수 있었다.

3-2. 요구사항 명세서

우선 프로젝트를 진행할 땐, 요구사항을 수집해야 한다. 그리고, 그 요구사항을 바탕으로 다음 상황을 진행해야 한다.

  • 요구사항 명세서를 만들기 전, 어떤 방식으로 요구사항 명세서를 적을지 논의했다. 그 결과, 우리는 요구사항 정의서와 명세서를 모두 만들기로 결정했다.
  • 우선 자세한 요구사항이 적혀 있는, 요구사항 명세서를 작성했다.
  • 목록에서 처럼 11개의 목록이 있고, 각각
    개요, 일반 요구사항 (주로 시스템에게 요구되는 부분), 상세 요구사항 (사용자의 요구사항), 용어 정리 , 예외 상황 및 대응, 서비스 흐름 예시, 추가 연계 기능 순으로 정리 되어 있다.
  • 그리고, 이렇게 만든 요구사항 명세서를 바탕으로 요구사항 정의서를 작성했다.
  • 요구사항 정의서는 기능을 세세하게 나눈 뒤에, 각각의 기능을 한 줄로 요약하는 방식으로 작성했다.

3-3. UML

  • UML은 팀원 2명이 만들고, 이후에 다 같이 점검하면서 수정할 부분은 수정하는 방식으로 만들었다.
  • UML과 요구사항 명세서 작성을 동시에 진행했는데, 약간씩 반영되지 않은 부분은 다 같이 수정을 진행했다.
  • 여진이랑 채영언니가 깔끔하게 보이게 위치 조정까지 했는데, 훨씬 보기 편해지고 좋았다 ㅎㅎㅎㅎ

4. DB 모델링 (논리, 물리)

  • ERD 작업을 진행할 때, 관계를 어떻게 설정할 건지에 관해서 정말 많은 토의를 했다.
  • 특히, 식별자/비식별자 관련된 부분을 정말 많이 상의해서 수도 없이 상의했다.
  • 이런식으로 ERD를 만들고, 그에 관한 피드백이나 생각들을 메모에 적으면서 열심히 수정을 진행했다.
  • 밑에는 위의 과정을 거치면서 탄생한 erd이다!!

4-1. 논리 ERD

4-2. 물리 ERD


5. 테스트 with 깃허브 사용

5-1. 테스트 케이스 정의서

  • 이렇게 테스트 케이스를 작성한 뒤에 각자 역할 분담을 한 뒤에 테스트가 완료된 부분에 PASS 표시를 하면서 테스트를 진행했다.
  • 이 사진은 내가 테스트 한 부분을 가져온거고, 이 외에도 등급 수정 부분 코드 짜기와 테스트를 진행했다.
  • 등급 수정 부분은 기준이 있어서, 프로시저 2개와 트리거 2개를 구현해서 완성했는데 정말 어려웠다.... 하지만, 계속 구현한 덕분에 완성할 수 있었고 테스트 케이스까지 잘 통과 할 수 있었다.

5-2. 깃허브 사용

  • 사실 깃허브를 배울 때, 협업 관리 기능인 이슈, 라벨, 마일스톤, 프로젝트 기능을 모두 사용하고 싶었다.
  • 조원들이랑 함께 테스트 케이스 부분은 깃허브 협업 관리 기능을 통해 이렇게 작성하면서 각자의 진행상황을 확인했다.

6. 발표 준비

  • PPT 만들기 담당이었어서, 열심히 PPT를 만들었다. 열심히 만든 피피티의 첫 페이지는 이렇다!!
  • 크게 프로젝트 개요 -> 프로젝트 진행 -> 프로젝트 결과로 진행했다.

7. 프로젝트를 되돌아 보며

우선 프로젝트를 시작할 때, 내가 생각한 One Point Up! 이 주제로 선정되어서 너무 좋았다!! 짧은 시간 동안 많은 부분을 진행했어야 했는데, 조원들 덕분에 체계적으로 좋은 결과를 이끌어 낼 수 있었다.

그리고, 프로젝트를 처음 진행할 때는 과정을 차근차근 진행하면 되겠다고 생각했다. 그런데, 뒤에 내용을 진행하면 앞에서 수정사항이 생기고 해서 계속 앞에서 만들었던 요구사항 명세서나, 정의서 등을 다시 봐야해서 좀 힘들었다. 그리고, 다음부턴 최대한 설계를 잘해서 계속 앞으로 가서 수정하는 일은 최대한 줄여야 겠다고 생각했다.

아! 등급 수정에서 등급 수정 조건이 게시글과 opu 성공 개수를 고려해야 해서 프로시저와 트리거로 구현했어야 했다. 게다가 5레벨인 사람 중 상위 30명은 6레벨로 가는 조건을 만족시키기 위해, 프로시저를 구현했다. 이 과정이 가장 기억에 남고, 힘든 부분이었던 것 같다. 그래도 성공해서 다행이었다!!ㅎㅎㅎ

마지막으로 이번 프로젝트를 진행할 때, 내가 스스로 세운 목표가 있었다.

1. 수업 시간에 배운 내용 모두 적용하기
2. 모든 부분을 한 번씩은 직접 해보기
3. 깃허브에서 협업 관리 도구 무조건 사용하기
4. 처음 세운 계획 모두 완성하기

이 계획들을 모두 지킬 수 있었다. 다음 프로젝트에서도 이러한 경험을 바탕으로 열심히 프로젝트를 진행해야겠다.

0개의 댓글