기능을 잘 정리하고 표현하는 방법
-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. 관계 정의
유스케이스 다이어그램 작성시
- 소프트웨어가 제공할 기능에 집중하라
- 사용자 관점으로 작성하라
- 목표 지향적으로 작성하라
- 시스템 흐름도와는 다름
- 읽기 쉽게 작성하라
'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 |
댓글