게시판 만들기 -2 / usecase 다이어 그램, api 설계

패스트 캠퍼스 강의 게시판 만들기를 따라하며 백엔드 스킬을 늘려보자.

  1. 프로젝트 관리
  2. 다이어그램
    1. Usecase Diagram
      1. 구성요소
        1. 시스템
        2. 액터
        3. usecase ( 요구사항 )
        4. 관계
  3. API 설계

프로젝트 관리

프로젝트 관리 문서

다이어그램

이번 강의에서는 유즈케이스 다이어그램으로 프로젝트의 요구사항을 설계하였습니다.

image

Usecase Diagram

Usecase 다이어그램은 시스템과 사용자의 상호작용을 다이어그램으로 표현한 것입니다. 사용자의 관점에서 시스템의 서비스 혹은 기능 및 그와 관련한 외부 요소 쉽게 볼 수 있습니다.

구성요소

구성요소로는 아래와 같이 존재합니다.

  1. 시스템
  2. 액터
  3. Usecase
  4. 관계
    • 포함
    • 연관
    • 확장
    • 일반화

시스템

게시판 서비스

시스템은 만들고자 하는 저 같은 경우에는 만들고자 하는 프로젝트를 가르키고 있습니다.

액터

Actor

시스템의 외부에 존재하며 시스템을 이용하는(작용) 사람(또는 시스템)을 가르킵니다.

usecase ( 요구사항 )

회원 로그인, 인증, 회원가입, 게시판 보기, etc.

액터 입장에서 바라보는 시스템의 기능입니다. 설계에서 프로젝트에 어떠한 기능을 이용하게 만들건지 결정하는 중요한 요소입니다.

관계

액터와 요구사항, 요구사항과 요구사항의 관계입니다.

  • 포함

하나의 유스케이스가 다른 유스케이스의 실행을 전제로 할 때 만들어지는 관계입니다. 포함되는 유스케이스는 포함하는 유스케이스를 실행하기 위해 반드시 실행되어야 하는 경우에 적용됩니다.

포함하는 유스케이스에서 포함되는 유스케이스 방향으로 화살표를 점선으로 연결하고 <<include>> 라고 표기합니다.

회원 로그인을 하기 위해서는 인증이라는 기능이 필수적으로 포함되어야 합니다.

  • 연관

액터와 유스케이스의 상호작용을 나타냅니다.

실선으로 표현합니다.

액터-회원가입, 액터-게시판 보기, 액터-게시글 보기

  • 확장 확장 대상 유스케이스를 수행 할 때 특정 조건에 따라 확장 기능 유스케이스를 수행하는 경우에 적용합니다.

포함 관계는 필수라면 확장 관계는 선택적인 기능이라고 생각하시면 됩니다.

회원 로그인에서 로그인 실패라는 조건에 따라 기능을 수행합니다.

  • 일반화

중복되는 유스케이스와 액터를 모아 그룹화 하여 재사용성을 높여주는 기능입니다. 현재 제가 만든 그림에는 이 관계는 존재하지 않습니다.

API 설계

https://docs.google.com/spreadsheets/d/1VGf6yr1hwdNPby-ix7qpVxmUwF_NRyo-QFJ4HD4Sx6I/edit?usp=sharing