observe_db

[객체지향설계] 5. Use Case Diagram 본문

학교 공부/객체지향설계(3-1)

[객체지향설계] 5. Use Case Diagram

쩡윤 2023. 3. 30. 00:15

3/27

 

Funtional Modeling: 어떤 기능을 포함할 것인가.

 

Use Case(사용 사례, 사용 경우 등으로 번역)

: 시스템의 기능을 높은 관점(Bird's-eye view)로 간단하게 서술

: 유저에 의한 시스템의 활동을 기술

: 논리적 모델

: 시스템의 기본적 기능 서술

 

시스템과 유저의 상호작용을 중요하게 본다.

정의서나 Activity Diagram등의 만들어둔 정보를 이용한다.

Scenario(시나리오): Use Case의 사례

 

Hierarchical Diagram을 이용하여 복잡도를 개선하고 직관적인 이해를 돕는다.

 

UC diagram을 그리는 순서

  1. 브레인 스토밍
  2. 만들어둔 정보들을 이용한다.

 

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 식별
    1. Activity Diagram 리뷰
    2. 주체의 범위 탐색(개인레벨or회사레벨)
    3. 주요 actor들과 그들의 목표 식별
    4. 주요 use case들의 개요를 작성 및 식별(이게 뭐고, 어떤 일을 하는지)
    5. 현재 use case들 조심히 리뷰(필요에 따라 수정)
  • 주요 use case 확장
    1. 확장할 use-case 선정
    2. 선택한 use-case의 세부사항 채우기
    3. Normal Flow를 기술(정상적인 상황. 너무 복잡하면 세부 flow로 분리. 7~12개로)
    4. 가능한 alternate or exceptional flow를 기술한다(예외/대체 상황. 과도하면 불편.)
    5. 각 상황에서 actor와 system이 어떻게 반응하는지 기술한다.
  • 주요 use case 확인
    1. 현재 use case들 조심히 리뷰(필요에 따라 수정. 쪼개거나 합치거나. 3~9개)
    2. 다시 시작으로 돌아가라(선정부터)
  • Use case Diagram 생성
    • 주제의 경계를 그린다
    • actor를 위치시킨다(자료는 3번째로 배치)
    • use-case를 위치시킨다
    • 연결한다.
    • association들을 위치시킨다.

관계(relationship)의 세가지 유형

  • 일반화(Generalization)
  • 확장(Extend)
  • 포함(Include)

actor란? 외부 실재들. such as.. 사람, 소프트웨어, 하드웨어, clock(time)과 같은..

다수의 사람이 같은 역할을 수행할 수도 있고, 한 사람이 다수의 역할을 맡을 수도 있다.

actor 식별을 위한 질문

  • 시스템의 주요 기능은 무엇인가?
  • 주 시스템과 상호작용하는 다른 시스템은 무엇인가?
  • 시스템의 보조가 필요한 업무는 무엇인가
  • 누가/무엇이 사건을 발생시키는가?
  • 누가/무엇이 시스템의 출력에 반응하는가
  • 누가 (시스템에게/을 통해) 정보를 제공하거나 습득하는가?
  • 보고하는 정보에 인터페이스가 필요한가?
  • 시스템에 미리 정의된 actor가 존재하는가?
  • 설치/유지/보수의 운영자가 누구인가?

 

+Activity Diagram은 흐름이 중요하지만

Use-Case Diagram은 흐름이 중요하지 않다.

Comments