TIL: 2024/05/14 - ERD, Use Case Diagram, API 명세

White 와잇·2024년 5월 14일

TIL

목록 보기
18/40
post-thumbnail

현재 상황

어제는 Spring Boot로 웹 서버를 구축하는 생태계에 대해 전반적으로 공부를 했고,
오늘은 Spring 진도에 맞춰 새로운 과제에 도전한다.
Spring Boot를 사용한 <일정 관리 앱 웹서버 만들기> 프로젝트다.

이번 프로젝트부터 README.md 파일에 프로젝트의 전반적인 설명을 작성하기로 한다.
README.md 파일을 포함한 프로젝트 소스를 깃으로 관리하고 최소한의 깃 컨벤션을 지키며 프로젝트를 수행하기로 했다.

공부한 것

현 프로젝트에 사용될 ERD, Use Case Diagram(왜 UCD로 줄여부르지 않는지 의문), API 명세서를 작성해보면서 공부한 내용을 정리해본다.

ERD (Entity-Relationship Diagram)

  • 데이터베이스에서 사용됨 (데이터베이스 개념, 모델링)
  • 따라서, 데이터베이스에서 사용되는 테이블을 엔티티로, 테이블 관계를 실선 표기로 표현한다.
  • 기본키 여부, 테이블 간의 n:n 관계 여부, 필수/선택 여부가 포함되어야 한다.

Use Case Diagram

  • UML을 사용
  • 클라이언트의 요구사항에 맞게 시스템이 어떻게 제공할 것인지 나타냄
  • 액터(사용자 또는 외부 시스템)와 시스템(요구기능-유스케이스) 간의 상호작용을 실선/화살표로 표현
  • 상속, 일반화를 표현가능
  • include, generalization, extended
    • include: 하나의 유스케이스가 다른 유스케이스를 요청할 때 사용(여러 기능에서 공통으로 사용해야하는 모듈같은 기능일 때)
    • generalization: 추상화 <-> 일반화 관계
    • extended: 하나의 유스케이스를 실행할 때 특정 조건에서만 동작하는 기능
  • [참고 페이지 - Gnaseel님, 유스케이스 다이어그램 기초 및 그리는 방법]

API 명세서

  • (필수) 기능이름, HTTP Method, Request 형식과 정보, Response 형식과 정보
  • 위 내용을 각 기능(유스케이스)마다 나열
  • 필수 내용 외에 Request/Response에 대한 자세한 Description, 에러 형태, 예외처리 등을 상세하게 기술할 수록 좋은 API 명세서가 될 것 같다.
  • Postman 같이 API 명세서를 만들어주는 툴들이 존재한다.
    [참고 페이지 - 혁종님, Postman으로 쉽게 API 명세서 만들기]
profile
웹개발 도전! 데브옵스 도전!

1개의 댓글

comment-user-thumbnail
2024년 5월 14일

인상적이에요!

답글 달기