일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- DB
- 정보검색
- 데이터분석
- 자연어처리
- NLP
- 컴파일
- 컴파일러
- React
- 오픈소스웹소프트웨어
- OS
- Linear Algebra
- 벡터
- 소프트웨어공학
- css
- 애자일
- 웹소프트웨어
- C언어
- 836
- 데이터베이스
- 클래스
- 스케줄러
- 파싱
- Agile
- 운영체제
- 프로세스
- 파싱테이블
- 랩실일기
- 가상메모리
- 객체지향설계
- 언어모델
Archives
- Today
- Total
observe_db
[객체지향설계] 5. Use Case Diagram 본문
3/27
Funtional Modeling: 어떤 기능을 포함할 것인가.
Use Case(사용 사례, 사용 경우 등으로 번역)
: 시스템의 기능을 높은 관점(Bird's-eye view)로 간단하게 서술
: 유저에 의한 시스템의 활동을 기술
: 논리적 모델
: 시스템의 기본적 기능 서술
시스템과 유저의 상호작용을 중요하게 본다.
정의서나 Activity Diagram등의 만들어둔 정보를 이용한다.
Scenario(시나리오): Use Case의 사례
Hierarchical Diagram을 이용하여 복잡도를 개선하고 직관적인 이해를 돕는다.
UC diagram을 그리는 순서
- 브레인 스토밍
- 만들어둔 정보들을 이용한다.
Use-cases의 종류
- Overview vs. Detail Use Case
- 요구의 고수준 개요
- use case는 중요한 업무 절차를 대표함
- 시스템 요구를 이해하는 과정의 초기에 만들어짐
- 정보(use case 이름, ID, primary actor, type 등) 포함됨
- Detail Use Case(여기서는 상호작용이 나타남)으로 변환됨
- Essential vs. Real Use Case
- 필요한 기능의 이해에 필요한 최소한의 핵심적인 이슈들을 기술한다
- 실행-독립
- Real Use Case로 확장됨(실행될 때에 시스템을 어떻게 사용하는지를 자세히 묘사)
Use Case Descriptions(설명서)의 요소
- Use case Name
- ID
- Importance Level
- Primary Actor
- Use case Type
- Stakeholders and interests
- Brief Description
- Trigger(어떻게 상호작용 할지)
- Relationships(무엇과 관계를 가지는지)
- Normal Flow of Evnets
- Subflows
- Alternate/Exceptional Flows
Guidlines for 설명서
- 각 과정을 완전한 문장으로 써라
- 누가 개시자이든 확실하게 확인하라(make sure it is clear)
- 독립적인 관찰자의 관점에서 각 과정을 써라
- 같은 수준의 추상화로 각 과정을 써라
- use case가 분별력 있는 과정의 집합을 가지도록 확실히해라
- KISS 원리를 적용하라(Keep It Simple and Stupid)
- 과정의 집합이 반복된 후에 설명을 반복하라
Use Case Diagram 요소들
- Actor
- Use Case
- Subject Boundary
- Relationship(큰 사각형)
- System name
Use-Case 기술하는 과정
- 주요 use case 식별
- Activity Diagram 리뷰
- 주체의 범위 탐색(개인레벨or회사레벨)
- 주요 actor들과 그들의 목표 식별
- 주요 use case들의 개요를 작성 및 식별(이게 뭐고, 어떤 일을 하는지)
- 현재 use case들 조심히 리뷰(필요에 따라 수정)
- 주요 use case 확장
- 확장할 use-case 선정
- 선택한 use-case의 세부사항 채우기
- Normal Flow를 기술(정상적인 상황. 너무 복잡하면 세부 flow로 분리. 7~12개로)
- 가능한 alternate or exceptional flow를 기술한다(예외/대체 상황. 과도하면 불편.)
- 각 상황에서 actor와 system이 어떻게 반응하는지 기술한다.
- 주요 use case 확인
- 현재 use case들 조심히 리뷰(필요에 따라 수정. 쪼개거나 합치거나. 3~9개)
- 다시 시작으로 돌아가라(선정부터)
- Use case Diagram 생성
- 주제의 경계를 그린다
- actor를 위치시킨다(자료는 3번째로 배치)
- use-case를 위치시킨다
- 연결한다.
- association들을 위치시킨다.
관계(relationship)의 세가지 유형
- 일반화(Generalization)
- 확장(Extend)
- 포함(Include)
actor란? 외부 실재들. such as.. 사람, 소프트웨어, 하드웨어, clock(time)과 같은..
다수의 사람이 같은 역할을 수행할 수도 있고, 한 사람이 다수의 역할을 맡을 수도 있다.
actor 식별을 위한 질문
- 시스템의 주요 기능은 무엇인가?
- 주 시스템과 상호작용하는 다른 시스템은 무엇인가?
- 시스템의 보조가 필요한 업무는 무엇인가
- 누가/무엇이 사건을 발생시키는가?
- 누가/무엇이 시스템의 출력에 반응하는가
- 누가 (시스템에게/을 통해) 정보를 제공하거나 습득하는가?
- 보고하는 정보에 인터페이스가 필요한가?
- 시스템에 미리 정의된 actor가 존재하는가?
- 설치/유지/보수의 운영자가 누구인가?
+Activity Diagram은 흐름이 중요하지만
Use-Case Diagram은 흐름이 중요하지 않다.
'학교 공부 > 객체지향설계(3-1)' 카테고리의 다른 글
[객체지향설계] 7. Behavioral Modeling (0) | 2023.05.17 |
---|---|
[객체지향설계] 6. Structure Modeling (0) | 2023.04.10 |
[객체지향설계] 4. Activity Diagram (0) | 2023.03.29 |
[객체지향설계] 3. Requirements Determination (0) | 2023.03.22 |
[객체지향설계] 2. Introduction(1) (0) | 2023.03.22 |
Comments