2차례의 프로젝트 기간동안 설계에 집중하기보다는 그냥 돌아가는 프로그램을 작성하는 것이 중요했다.
때문에 과정이 생략/뒤바뀐 개발들을 진행했고 어떤 기능을 개발했는지를 한눈에 파악하기에 어려웠고, 과연 효율적인 개발 방식이었을지에 대해 고민하였다.
그러다 설계의 중요성에 대해 깨달았고 그중에서도 시퀸스 다이어그램을 적극 활용하기로 했다.
갑자기 시퀸스 다이어그램?
내가 활동하는 개발 동아리인 에코노베이션에서는 매주 주간발표를 통해 프로젝트 관련 내용들을 공유하는 시간을 가진다.
어떤 점에 대해 공유를 해야한다! 라는 틀이 전혀 없긴 하지만, 대부분은 프로젝트 과정 중 겪은 트러블 슈팅 또는 개발 과정 등에 대해 공유를 한다.
이번에 다른 교외 대외활동으로 오랫동안 쉬시다가 활동을 다시 시작하신 분이 새로운 느낌의 주간발표를 진행하셨고 그때 시퀸스 다이어그램이 등장하였다.
바로 시퀸스 다이어그램을 통해 특정 언어에 종속되지 않고, 동아리원 모두가 피드백을 할 수 있도록 발표내용을 구성한 것이다.
그동안 에코노베이션에는 백엔드, 프론트, AI, Game 등의 다양한 프로젝트를 진행하는 사람들이 있고, 활동 기간이나 프로젝트 횟수에 따라 개인의 Skill Set 차이도 크다고 느꼈다.
때문에, 주간발표에서는 사실 백엔드에 대한 발표 내용은 백엔드 개발자에게, AI에 대한 내용은 AI 개발자에게 초점을 맞춰 진행하는 느낌이 강했다.
시퀸스 다이어그램이란
시퀀스 다이어그램은 UML 다이어그램의 한 종류로 시스템이나 객체들이 메세지를 주고받으며 상호 작용하는 과정을 표현한다.
시스템 내에서 자원들이 어떤 플로우들로 흘러가는지 시각화할 수 있기 때문에 전반적인 흐름을 한눈에 파악할 수 있다는 장점이 있다.
또한, 앞서 말했듯이 UML 다이어그램이기 때문에 특정 언어에 종속되지 않고 누구라도 그 흐름을 쉽게 파악할 수 있다.
때문에 기존의 주간발표에서 발생한 백엔드에 대한 발표 내용은 백엔드 개발자에게, AI에 대한 내용은 AI 개발자에게 진행되는 것이 아닌 누구든 프로젝트의 흐름에 대해 쉽게 이해할 수 있게 된다.
시퀸스 다이어그램 작성하기
결론으로, 나는 이번 위키 서비스 설계에 대해 고민하면서 헷갈렸던 부분들에 대해 시퀸스 다이어그램을 그려보았고 아래와 같다.
(시퀸스 다이어그램 내용 자체에 대한 내용은 이미 잘 작성된 블로그들이 많기 때문에 생략한다.) https://coding-factory.tistory.com/806
특히, 나는 단순 문서 정보 수정이 아닌 요청을 통해 관리자 허락을 통해서만 필수정보를 수정해야 하는 경우에서, 헷갈리는 부분들이 많았는데 시퀸스 다이어그램을 통해 그 내용들에 대해 정리할 수 있었다.
수정본 테이블을 두어 백업이 가능하게 했기 때문에 그 부분에 대한 수정이 추가적으로 필요하지만, 전체적으로 요청의 흐름에 대해서 파악하기엔 충분했다!
찐 결론, 다들 시퀸스 다이어그램 하세요^_^!
'CS 👩🏻💻' 카테고리의 다른 글
엔진엑스 주요 기능 살펴보기 (0) | 2024.08.27 |
---|---|
[Git] Clone 시 unable to access 403 해결방법 (0) | 2023.07.24 |
[CS] Tomcat에 대해 알아보자 (0) | 2023.07.10 |
MIME 타입 알아보기 (0) | 2023.07.04 |
mermaid를 이용한 쉽고 빠른 다이어그램 만들기 (0) | 2023.06.15 |