개발자로써 다른 개발자들과 소통하는 것은 중요한 일이다.
나는 개발 기술만 공부했지 이전에 문서를 작성하고 소통하는 방법에 대해 놓치고 있었던 것 같다.
간단한 게시판 프로젝트를 만든다는 가정하에
1. 유스케이스 다이어그램
2. 시퀀스 다이어그램 (sequence diagram)
3. 순서도
4. erd
순서로 작성해보려고 한다.
유스케이스 다이어그램 작성에 대해 설명을 간단히 설명 해보자!
졸라맨 사람은 액터로 시스템 외부를 의미한다. 게시판 시스템의 경우 사용자라는 큰 외부 접근자가 있으며 사용자 안에는 인증 회원이 포함된다.
사용자는 회원가입에 접근이 가능하고 인증회원은 사용자가 사용하는 회원가입 이외에 로그인, 게시글 조회, 게시글 작성등을 사용할 수 있다.
시스템에서 사용되는 기능을 명세하며 include와 extend로 구분하여 명세한다.
include
"로그인 <--- 중복확인"과 같이 기능에 대해 포함되는 기능인지 명세할 수 있다.
extend
"회원가입 <--- SNS가입"과 같이 기능에 대해 추가적인(선택적인) 기능인지 명세할 수 있다.
위에서 사용한 액터는 동일한 개념으로 사용되고
BoardController와 같은 네모칸은 Object로써 지금처럼 Controller, Service, Entity, Repository등을 정의할수도 있고 객체를 직접 사용해도 된다 ex) 장바구니, SNS 로그인 API 등...
순서도와 ERD의 경우 크게 설명할 부분이 없어 그림만 그려놓았다. 내가 공부하려고 했던 부분만 정리하기 위함이기 때문이다!
마무리로 우리는 코로나 이후로 리모트 근무에 대해 많이 고민하게 되었고 리모트 근무를 하고 싶어한다. 그렇다면 회사에서 재택 근무가 가능할 경우 기획자, 운영팀, 사업팀 뿐만 아니라 개발자들끼리도 의사소통이 원활해야 할것이다. 개발자들 사이에 의사소통을 위한 문서들이라고 보면 될것 같다.
diagram
https://draw.io
erd
https://erdcloud.com