# 3주차 (산출물 / 협업도구 / 화면설계 / ERD)

본격적으로 프로젝트가 시작되었다. 우리팀은 SCM(Supply Chain Maker) 프로그램을 만드는 것이 목표이며 총 시작 인원수는 7명이다.

# 산출물 표 작성과 협업 도구 선정

프로젝트를 시작하면서 '발사믹'이라는 도구를 활용해서 산출물의 설계단계에 해당하는 '화면정의서'를 만들었다.

화면정의서를 만들어가면서 프로젝트 진행에 필요한 산출물들을 미리 파악하고 만들 산출물을 결정하기 위해서 산출물 표를 작성하고 각 산출물의 의미, 예시, 적용 여부 등을 체크하였다.

프로젝트를 진행하면서 만들 산출물의 내용과 회의록 등을 기록으로 남기기 위해서 'Notion'을 활용하였고, 코드, 정보, 그리고 변경사항들을 공유하기 위해 'Slack'을 활용하였다.

# 소스 관리

프로젝트 소스코드 관리는 'SVN'을 사용하라고 팀장님께서 말씀해주셨지만, 나중에 우리가 했던 커밋 기록과 머지 기록을 언제든 확인할 수 있는 'git'을 1차 관리툴로 사용하기로 결정하였다. 팀원들의 진행 사항을 공유하기 위해 'github'를 활용하였고, GUI 도구로는 'sourcetree'를 사용하였다. 중간중간에 모든 사람이 작성한 코드를 merge하여 SVN에 커밋하기로 결정하였다.

# 화면 설계

각자가 맡은 페이지에 대해서 발사믹으로 화면 설계를 마무리하고 ppt에 통합하여 피드백을 서로 주고 받았다.

같은 내용인데 이름이 다른 부분, 자리 배치, 빠진 기능, 잘못된 부분에 대해서 의견을 주고 받았다. 각 내용들을 노션 회의록에 'TO-DO' 리스트 형식으로 작성하여 잊지 않고 수정하도록 하여 완료된 부분에 대해서 체크를 하였다.

# ERP팀과의 의견 교환

프로젝트는 두 팀(SCM, ERP)으로 나뉘어져 있었고 같은 DB를 공유하여 각 팀의 테이블을 만들기로 했다. SCM과 ERP의 로직이 독립적이 아닌 연관된 부분이 있었기 때문에 사용하는 용어나 정보들을 공유하였다. (*SCM에서는 제품 공급업체를 거래처로 사용했었는데, ERP에서는 오프라인 고객을 거래처로 사용하고 있어서 SCM팀에서 이름을 거래처 -> 공급처로 변경하였다.)

SCM에서는 온라인 고객 주문만을 관리하는 로직에서 ERP의 영업사원 파트를 맡은 쪽에서는 오프라인 고객에 대한 주문을 받아서 SCM의 주문 흐름에 데이터를 입력해주어야 했기 때문에 서로에게 필요한 정보들을 공유했다.

# ERD 설계

exERD로 최종적으로 완성을 해서 포워드 엔지니어링 (opens new window)을 사용해서 DB에 테이블들을 만들 계획이었다.

하지만 테이블을 만들 때, 각자가 exERD로 만들어서 식별/비식별 관계를 나중에 합쳐서 생각하면 시간이 더 걸릴 것 같아서 github처럼 클라우드 ERD 환경인 ERDcloud (opens new window)를 활용하였다.

각 파트에 필요한 테이블을 작성하고 다른 파트에서 만든 테이블과의 식별/비식별을 바로 연결할 수 있어서 편리하였고, 최종 완성본을 ERDcloud에서 만든 후, 팀장님의 확인을 거쳐서 수정을 마치고 나서 'exERD'로 옮겨 'Toad' DB 관리 도구를 활용해서 포워드 엔지니어링을 진행하였다.

Last Updated: 8/4/2021, 1:21:06 AM