Software Engineering

[소프트웨어공학] 제10장 유스케이스 다이어그램 및 명세

iseop 2023. 5. 18. 21:28   인쇄용 버전

1. 단원 요약

4+1 View

  • 개요
    • UML (Unified Markup Language) 1.0: OMG, 1997
    • UML 2.5: OMG, 2015
    • 4+1 View
      • Usecase View: 유스케이스 다이어그램
      • Logical View: 상호작용 다이어그램(시퀀스 다이어그램, 통신 다이어그램)
      • Process View: 액티비티 다이어그램
      • Development View
      • Physical View 
    • UML 2.5 다이어그램
      • 유스케이스 다이어그램: 구조적, 행위적 측면을 모두 표현한다.
      • 구조 다이어그램
        • 클래스 다이어그램
        • 객체 다이어그램
        • 패키지 다이어그램
        • 컴포넌트 다이어그램
        • 배포 다이어그램
      • 행위 다이어그램
        • 액티비티 다이어그램
        • 상태머신 다이어그램
        • 상호작용 다이어그램
          • 시퀀스 다이어그램
          • 통신 다이어그램
  • 액터: 막대인간, 아이콘, 스테레오타입(《》), 명사
    • 시스템 외부에 존재하는, 시스템과 상호작용하는 개체(사람, 타 시스템 등)
    • 액터 간에도 일반화, 상속 등의 관계가 존재 가능하다.
    • 유스케이스와의 관계는 화살표 선으로 표현한다.
  • 유스케이스: 타원, 동사
    •  시스템 사용 시나리오(Usecase)
  • 유스케이스 간 관계
    • 포함《include》
      • 중복 기능을 별도의 유스케이스로 분리하고, 점선 화살표로 표현
      • Java에서 중복되는 기능을 수행하는 코드를 별도의 클래스로 분리하고, import하는 경우와 같다.
    • 확장《extend》
      • 특정 조건에서만(선택적으로) 부모 유스케이스를 확장해서 사용
      • Java에서 부모 클래스를 상속해서 쓰는 경우와 같다.
    • 일반화(상속)《generalize》
      • 전체적인 흐름이 동일하며, 일부 구체적인 부분이 상이한 경우
      • Java에서 추상 클래스를 구현해서 쓰는 경우와 같다.
      • 부모를 가리키는 속이 빈 삼각형을 가진 실선 화살표로 표현
        • 부모를 가리키는 점선 화살표로도 표현하나 일반적이지 않음\
  • 시스템 경계(=Subject 경계): 개발 대상들을 직사각형으로 둘러쌈
    • 액터는 경계 밖에 위치
    • 사각형 상단에 시스템 이름을 명기
  • 유스케이스 명세: 시나리오의 사건 흐름을 구체적으로 추가 기술한 텍스트
    • 유스케이스 이름
    • 참여 액터
    • 요약 설명
    • 선행 조건
    • 기본 흐름: 목적을 달성하는 성공적 시나리오를 구조적으로 작성
    • 대체 흐름: 기본 흐름에서 벗어난 시나리오를 작성
    • 종료 조건
    • 특수 요구사항: 비기능 요구사항(시간, 성능, 품질) 등을 자유롭게 작성

 

2. 연습문제 요약

  • UML은 방법론을 제시하지 않는다. UML은 Markup Language이다.
  • 유스케이스는 시나리오를 표현하며, 구체적인 객체(클래스)와 그 속성 등은 완전히 표현하지 못한다.
    • 이는 클래스 다이어그램으로 표현한다