· 오늘 공부한 것

프로젝트 진행 시 사전에 진행해야 할 것들

  1. Use Case Diagram
  2. API 명세서
  3. ERD (Entity Relationship Diagram)

 

· 공부한 내용, 궁금한 내용, 부족한 내용

개인과제를 진행하기 전에 사전에 작업할 것들이 필요했다. 사전에 정하지 않고 바로 시작하면 데이터의 흐름도 파악하지 못하고 지금은 개인과제이지만 팀단위로 들어가면 서로 간의 약속이 없어서 많은 충돌이 발생할 수 있다. 그래서 첫 번째로 진행한 것은 Use Case Diagramd인데 이것은 사용자가 내가 만든 시스템에서 무엇을 할 수 있는지와 이것들이 어떻게 진행되는지 흐름을 파악할 수 있는 것이다. 전에 Figma를 사용한 적 있는데 여기서 prototype을 제작하면서 직접 사용자가 무언가를 클릭했을 때 무엇이 진행되는지 알 수 있었다. 하지만 이번에는 서버를 만드는 작업이기에 간단한 다이어그램으로 표현을 해주었다. 간단한 그림이었지만 사용하는데 약속이 있었다. 크게 구성 요소로는 시스템, 액터, 유스케이스, 관계로 나눌 수 있다.

시스템은 개발하고자 하는 것으로 여기서는 게시판 서버라고 생각할 수 있다. 그리고 이것은 사각형의 형태로 표시하고 상단에 시스템이름을 작성한다.

액터는 2가지로 나눌 수 있는데 primary actor, secondary actor이다.

  • 프라이머리 액터 (Primary Actor) : 시스템을 사용하고, 직접 이득을 보는 액터이며 졸라맨으로 표기합니다. 보통 시스템의 왼쪽에 표시합니다.
  • 세컨더리 액터 (Secondary Actor) : 프라이머리 액터가 목적을 달성하기 위해 도움을 주는 액터이며 사각형 박스에 <<actor>>를 입력하여 표기합니다. 보통 시스템의 오른쪽에 표시합니다.

유스케이스는 시스템 내에서 작업을 수행하기 위한 행위를 나타낸다. 보통 타원형으로 표현한다.

마지막으로 관계는 유스케이스 간의 의존성을 나타내며 다음과 같이 나눌 수 있다.

  • 연관간계 (Association)
    • 유스케이스 간의 상호작용을 하고 있다고 보고 실선으로 나타낸다.
  • 포함관계 (Include)
    • 하나의 유스케이스가 실행되면 반드시 실행되는 것을 나타낸다.
    • 화살표를 그리고 중앙에 <<include>>를 표시한다.
  • 확장관계 (Extend)
    • 하나의 유스케이스가 실행되면 특정 상황에만 실행되는 것을 나타낸다.
    • 화살표를 그리고 중앙에 <<extend>>를 표시한다.
  • 일반화관계 (Generalization)
    • 부모 유스케이스와 자식 유스케이스 간의 상속관계를 나타낸다.
    • 자식 유스케이스들은 상속을 받았기 때문에 부모 유스케이스가 해당된 모든 포함, 확장관계를 만족해야 한다.

 

그다음으로 수행한 작업은 API 명세서를 작성한 것이다. 이것은 API명, 요청 값(파라미터), 반환 값, 인증/인가 방식, 데이터 및 전달 형식 등 API를 정확하게 호출하고 그 결과를 명확하게 해석하는데 필요한 정보들을 일관된 형식으로 기술한 것을 의미한다.

전에 GitBook이라는 사이트에서 작성한 경험이 있는데 한글칠 때 계속 깨지는 현상이 있어서 다른 곳에서 작성하고 계속 복붙을 해서 고생했었다. 그래서 이번에는 postman에서 작성을 하였다. postman은 직접 요청을 해서 반응도 바로 볼 수 있어서 훨씬 능률이 올랐다. 이번 개인 과제는 기본적인 CRUD만을 다루었기 때문에 API 5개로 끝낼 수 있었다.

마지막으로 수행한 것은 ERD를 작성하는 것인데 이것은 데이터베이스의 table(entity)의 속성(attribute)과 관계(relationship)를 나타낸 것이다. 이것은 전에 사용했던 dbdiagrm 사이트에서 수행했다. 먼가 코드를 작성해서 table들을 나타내야 하지만 한 번 익히면 익숙한 내용이어서 쉽게 따라 할 수 있다. 그리고 작성한 코드에 따라 바로 눈으로 볼 수가 있어서 틀려도 바로바로 수정할 수 있었다. 이번 과제는 테이블 1개로 끝낼 수 있었기에 간단하게 완료했지만 나중에 테이블 간의 관계가 들어가면 복잡해질 것 같다.

 

 

· 오늘 서칭 한 자료

https://www.figma.com/design-systems/?utm_source=google&utm_medium=cpc&utm_campaign=20410937970&utm_term=&utm_content=667739942608&gclid=Cj0KCQiAuqKqBhDxARIsAFZELmL4OoxBNhIHWbPn6GMBIOeOSig6OzIOy3CwwAgDHdvtlDAR5igTBaUaAjpTEALw_wcB

 

Design System Software | Figma

Design, manage, and deploy your design system components with collaboration and control at scale with Figma. Get started building design systems today.

www.figma.com

https://app.diagrams.net/

 

Flowchart Maker & Online Diagram Software

Flowchart Maker and Online Diagram Software draw.io is free online diagram software. You can use it as a flowchart maker, network diagram software, to create UML online, as an ER diagram tool, to design database schema, to build BPMN online, as a circuit d

app.diagrams.net

https://devjaewoo.tistory.com/15

 

[UML] 유스케이스 다이어그램 (Use-case Diagram)

유스케이스 다이어그램이란? 사용자(Actor)의 관점에서 시스템의 기능, 상호작용과 그들 간의 관계를 표현합니다. 유스케이스 다이어그램을 사용하는 이유는 다음과 같습니다. 제품과 상호작용

devjaewoo.tistory.com

https://www.gitbook.com/

 

GitBook – Knowledge management simplified

GitBook is a knowledge management tool for technical teams. It simplifies knowledge sharing, with an intuitive editor and docs-as-code support. Sign up for free today!

www.gitbook.com

https://learning.postman.com/docs/publishing-your-api/api-documentation-overview/

 

Document your APIs in Postman | Postman Learning Center

Document your APIs in Postman: documentation for Postman, the collaboration platform for API development. Create better APIs—faster.

learning.postman.com

https://dbdiagram.io/home

 

dbdiagram.io - Database Relationship Diagrams Design Tool

 

dbdiagram.io

 

 

· 느낀 점

- 무언가를 진행할 때 사전준비는 정말 중요하다고 생각한다.

- 나중에 팀단위로 뭔가를 수행할 때 사전에 여러 가지 약속을 하고 시작하면 프로젝트할 때 굉장히 좋을 거 같다고 느꼈다.

- 하지만 그만큼 사전단계에 시간이 많이 쓰게 될 거 같다. (중요한 만큼 시간을 갈자!!)

반응형

'Today I Learned' 카테고리의 다른 글

2023-11-07 TIL  (0) 2023.11.07
2023-11-06 TIL  (0) 2023.11.06
2023-10-26 TIL  (0) 2023.10.26
2023-10-23 TIL  (0) 2023.10.23
2023-10-18 TIL  (0) 2023.10.19

+ Recent posts