본문 바로가기
2023-1/소프트웨어 설계

04 - Use Case Diagram

by 철없는민물장어 2023. 4. 16.
728x90
반응형

기능을 잘 정리하고 표현하는 방법

-Use case

-prototype

-natural language

 

Use Case

-외부에서 본 시스템의 view, behavior

-시스템에 무슨 서비스가 있는지 사용자의 관점에서 본 것(기능중심)

-개발 대상이 되는 시스템이 제공하는 개별적인 기능

-시스템의 범위에 해당되어 개발될 시스템의 단위기능

-시스템과 외부 액터 사이의 관계

-목표 지향적 interaction의 집합

 

UseCase 작성 목적

-시스템의 범위를 정하는데 도움

-개발 과정을 계획하는데 사용

-요구를 개발하고 검증하는데 사용

-테스트케이스를 정의하는 데 기초로 사용

-사용자 메뉴얼 구성하는데 사용

 

Use case diagram

사용자의 관점에서 시스템의 서비스 혹은 기능 및 그와 관련한 외부 요소를 보여주는 다이어그램

Use case에 대한 목차 성격의 그림

고객과 PM이 함께 보며 요구사항에 대한 의견을 조율할 수 있음

요구 사항 정의는 개발과 설계에서 매우 큰 비중을 차지함

(누가 사용하며, 시스템은 사용자를 위해 무엇을 하고, 인터페이스는 무엇인지)

 

구성요소

  • System
  • Actor
  • Use case
  • Association

시스템:

만들고자 하는 시스템의 범위.

 

표기법:

Use case를 포함한 사각형틀로 표현.

시스템이나 모델의 명칭을 사각형 안쪽 상단에 기술

서브시스템의 경우 <<subsystem>>이라 기술

 

Actor:

시스템과 상호작용하는 시스템 외부의 존재

시스템으로부터 서비스를 받을 필요가 있는 외부 요소

시스템 외부에 있으면서 시스템과 상호 작용을 하는 "사람" 또는 "다른 시스템"

 

표기법:

원과 선을 조합한 사람 모양

그 아래에 Actor명 표시

Actor명은 Actor의 역할로 정함

 

Actor을 찾는 요령

-시스템 주요 기능을 사용하는 사용자는 누구인가?

-시스템을 지원하기 위해 필요한 사람은 누구인가?

-시스템을 유지하고 관리하는 사람은 누구인가?

-시스템에 필요한 하드웨어 장치는 무엇인가?

-시스템과 상호작용하는 다른 시스템은 무엇인가?

-시스템의 처리 결과에 연결되는 사람 또는 사물은 무엇인가?

 

-누가 정보를 제공,사용,삭제하는가

-누가 개발될 시스템을 사용하는가

-누가 요구사항에 대한 관심을 가지고. 시스템이 만들어낸 결과에 관심이 있는가

-누가 시스템 유지보수 및 관리하는가

 

 

UseCase:

Actor에게 서비스를 제공하기 위하여 시스템이 수행하는 중요 기능. 

시스템의 요구사항을 보여줌

 

Use case를 찾기 위한 질문들

-Actor가 원하는 시스템 제공 기능은 무엇인가

-액터는 시스템에 어떤 정보를 CRUD하고싶어하는가

-액터는 시스템의 갑작스러운 외부 변화에 대해 어떤 정보를 필요로 하는가

-시스템이 어떤 기능을 제공하면 Actor의 일상 작업이 효율적이고 편리해지는가

 

 

표기법:

타원으로 표시하고 그 안쪽이나 아래쪽에 Use case 명을 기술

Use case의 이름은 동명사 형태

각 Use case가 개발될 기능 하나와 연결될 수 있도록 해야함.

 

유의사항:

단일 Use case가 여러 Actor에 의하여 구동 될 때

작업이 동일하면 같은 사용 사례이지만,

이벤트 흐름이 다르면 다른 사용 사례임(다른 use case로 작성)

 

Association:

Actor와 Use case 사이의 관계

 

표기법: 

Actor와 Use case 사이의 실선으로 표시

관계 특성에 따라 적절한 모양의 선으로 표시함

-Association(연관 관계): 실선

-Dependency(의존 관계)

--포함 관계: 하나의 유스케이스가 다른 유스케이스의 실행을 전제로 할 때. 

글 등록하기 --<<include>>-->로그인하기

위와 같이 포함되는 유스케이스에서 포함되는 유스케이스로 점선으로 표현하고 <<include>> 표기

 

--확장 관계(extend):

확장 기능 유스케이스에서 확장 대상 유스케이스 방향으로 화살표를 점선으로 표현하고 <<extend>>표기

글을 등록하기 <---<<extend>>---파일을 첨부하기

 

-Generalization(일반화 관계)

액터들이 유스케이스와 중복하여 관게가 나타나면 액터들을 통합하여 일반화 관계로 표현

회원->고객 <-비회원

 

use case diagram 작성순서

1. 액터 식별

2. 유스케이스 식별

3. 관계 정의

 

 

유스케이스 다이어그램 작성시

  • 소프트웨어가 제공할 기능에 집중하라
  • 사용자 관점으로 작성하라
  • 목표 지향적으로 작성하라
  • 시스템 흐름도와는 다름
  • 읽기 쉽게 작성하라
  •  
728x90
반응형

'2023-1 > 소프트웨어 설계' 카테고리의 다른 글

Structural Modeling  (0) 2023.06.16
Use case diagram 2  (0) 2023.06.16
03 - UML  (0) 2023.04.16
02 - Planning  (0) 2023.04.16
01  (1) 2023.04.16

댓글