-
[개인프로젝트] 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의 구성요소- 시스템
시나리오 또는 기능이라고도 한다.
여기는 행동과 데이터가 상세히 나와있다.
표기법 - 맨위에 시스템 이름이 있는 직사각형 - Use Case
기능 단위를 나타낸다.
시스템 사각형 안에 위치
특정 use case는 다른 시스템에서도 참조 가능
표기법 - 옆으로 긴 타원형 - Actor
상호작용하는 실체
actor은 시스템의 경계 밖에 있다.
반드시 하나 이상의 use case와 상호작용해야한다.
또한 actor 이름은 무언가를 특정해서 지칭하면 안된다.
actor의 종류는 2가지가 있는데- Primary Actor : 시스템을 사용하는 actor. 시스템의 왼쪽에 표시
- Secondary Actor : Primary Actor의 목적 달성을 위해 돕는 actor
시스템의 오른쪽에 표시
- 관계
화살표는 둘 사이의 관계를 나타낸다.
use case와 actor 사이의 선은 이들 간의 커뮤니케이션 링크를 나타낸다.
한 usc case, actor는 여러 use case와 연결될 수 있다.
- 연관관계 (Association)
use case와 actor 사이에 상호작용이 있다는 의미, 실선으로 표시 - 포함관계 (Include)
두 use case 간의 의존성을 나타냄,
기존 use case 에서 새 use case 방향으로 점선+화살표 및 <<include>> 를 점선 중앙에 표기
한 use case가 실행될때 포함관계에 있는 use case가 반드시 실행되어야한다는 의미
ex. 게시글 수정(삭제)시 비밀번호를 확인 - 확장관계 (extend)
두 use case 간의 확장성을 나타냄,
새 use case에서 기존 use case 방향으로 점선+ 화살표 및 <<extend>>를 점선 중앙에 표기
한 use case가 실행될때 포함관계의 use case가 특정 상황에서만 실행됨을 의미
ex. 게시글 수정(삭제)시 비밀번호를 잘못 입력한 경우 비밀번호 에러 출력 - 일반화 관계 (Generalization)
부모 use case와 자식 use case간 상속관계를 나타냄.
자식 use case에서 부모 use case 방향으로 실선 + 삼각형 화살표
확장관계와의 차이점은 일반화관계의 자식 use case는 부모의 속성을 물려받기 떄문에 부모가 가진
모든 포함, 확장 관계를 충족해야한다.
하지만 확장관계는 속성을 물려받은게 아니기 때문에 이러한 조건을 충족하지 않아도 된다.
- 연관관계 (Association)
Use Case Diagram의 작성순서
- 시스템 정의
시스템의 영역과 이름 정의 - actor 정의
- use case 정의
- 관계 정의
완성된 내 use case
허름하지만 있을건 다 있는 그런 다이어그램이 완성되었다.
다음은 ERD와 API명세를 작성할 차례다.
'스파르타코딩클럽 > 스프링 개인 프로젝트 - 기본 CRUD' 카테고리의 다른 글
최종 피드백 (1) 2023.11.17 [개인프로젝트] API 명세 작성 및 최종제출 (0) 2023.11.06 [개인프로젝트] ERD 작성 (0) 2023.11.06