ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [개인프로젝트] Use Case Diagram 이란?
    스파르타코딩클럽/스프링 개인 프로젝트 - 기본 CRUD 2023. 11. 5. 22:14

    "스파르타 익명 게시판 서버 만들기"

     

    개인프로젝트 구현사항 

    • Use Case Diagram
    • API 명세
    • ERD 
    • 구현 세부 사항
      • 게시글 작성
        • 제목, 작성자명, 비밀번호, 작성내용, 작성날짜를 저장
        • 저장한 게시글을 반환받아 확인할 수 있다. (비밀번호는 볼 수 없음)

      • 게시글 조회, 게시글 전체 조회
        • 비밀번호는 볼 수 없음

      • 게시글 수정
        • 제목, 작성자명, 작성내용 수정
        • 게시글 수정 요청시 비밀번호를 함께 전달하며, 비밀번호가 일치할때만 수정 가능

      • 게시글 삭제
        • 비밀번호를 함께 전달하여, 일치할 경우 삭제 가능

      • 게시글 수정, 삭제 요청시 비밀번호가 일치하지 않을경우 Status Code, Error 메시지 정보 반환

     

     


     

     

     

    프로젝트 진행 순서는 Use Case Diagram -> ERD -> API 명세 -> 코드 작성  순으로 진행할 것이다.

     

     

    먼저 프로젝트의 첫단추로 Use Case Diagram을 작성하려 한다.

     

     

    Use Case Diagram 이란 ?

    • 시스템의 동적 모델을 나타내는 UML다이어그램 (Unified Modeling Language) 
       -> UML은 시스템을 시각적으로 표현한 것
    • 서비스(System)와 사용자(Actor) 간의 상호작용을 다이어그램으로 표현한 것.
    • 사용자 관점에서 서비스의 기능 및 요소들을 한 눈에 확인 가능
    • 시스템을 설명하는 Behavior Diagram 이라고도 한다.
    • 설계, 구현, 프로세스, 배치   네가지 관점을 모두 연결하는 시스템의 기능을 나타낸다.

     

     



    Use Case Diagram의 구성요소

    1. 시스템
      시나리오 또는 기능이라고도 한다.
      여기는 행동과 데이터가 상세히 나와있다.
      표기법 -  맨위에 시스템 이름이 있는 직사각형
    2. Use Case
      기능 단위를 나타낸다.
      시스템 사각형 안에 위치
      특정 use case는 다른 시스템에서도 참조 가능
      표기법 - 옆으로 긴 타원형
    3. Actor
      상호작용하는 실체
      actor은 시스템의 경계 밖에 있다.
      반드시 하나 이상의 use case와 상호작용해야한다.
      또한 actor 이름은 무언가를 특정해서 지칭하면 안된다.
      actor의 종류는 2가지가 있는데
      1. Primary Actor  : 시스템을 사용하는 actor.  시스템의 왼쪽에 표시
      2. Secondary Actor  : Primary Actor의 목적 달성을 위해  돕는 actor
        시스템의 오른쪽에 표시 
    4. 관계
      화살표는 둘 사이의 관계를 나타낸다.
      use case와 actor 사이의 선은 이들 간의 커뮤니케이션 링크를 나타낸다.
      한 usc case, actor는 여러 use case와 연결될 수 있다. 
      1. 연관관계 (Association)
        use case와 actor 사이에 상호작용이 있다는 의미,  실선으로 표시

      2. 포함관계 (Include)
        두 use case 간의 의존성을 나타냄, 
        기존 use case 에서 새 use case 방향으로 점선+화살표  및 <<include>> 를 점선 중앙에 표기
        한 use case가 실행될때 포함관계에 있는 use case가 반드시 실행되어야한다는 의미
        ex. 게시글 수정(삭제)시 비밀번호를 확인

      3. 확장관계 (extend)
        두 use case 간의 확장성을 나타냄,   
        새 use case에서 기존 use case 방향으로 점선+ 화살표 및 <<extend>>를 점선 중앙에 표기
        한 use case가 실행될때 포함관계의 use case가 특정 상황에서만 실행됨을 의미
        ex. 게시글 수정(삭제)시 비밀번호를 잘못 입력한 경우 비밀번호 에러 출력
      4. 일반화 관계  (Generalization)
        부모 use case와 자식 use case간 상속관계를 나타냄.
        자식 use case에서 부모 use case 방향으로 실선 + 삼각형 화살표
        확장관계와의 차이점은 일반화관계의 자식 use case는 부모의 속성을 물려받기 떄문에 부모가 가진
        모든 포함, 확장 관계를 충족해야한다.
        하지만 확장관계는 속성을 물려받은게 아니기 때문에 이러한 조건을 충족하지 않아도 된다.

    actor 표기법

     

     

    Use Case Diagram의 작성순서

     

    1.  시스템 정의
      시스템의 영역과 이름 정의
    2. actor 정의
    3. use case 정의
    4. 관계 정의

     

     

     


     

     

    완성된 내 use case

     

     

     

    허름하지만 있을건 다 있는 그런 다이어그램이 완성되었다.

     

    다음은 ERD와 API명세를 작성할 차례다.

     

     

     

     

Designed by Tistory.