충남대학교 Software Engineering Lab 김 대 엽 (kdymn2@cnu.ac.kr) Use Case Modeling 충남대학교 Software Engineering Lab 김 대 엽 (kdymn2@cnu.ac.kr)
Use Case Diagram 용도 구성 요소 시스템의 기능(요구사항)을 결정 고객과의 의사소통 도구 향후 테스트 시나리오의 기준 제공 구성 요소 액터(Actors) 유즈케이스(Use Cases) 액터와 유즈케이스 사이의 Relationship Chungnam National University
Actor 개념 표현 시스템과 상호 작용하는 어떤 사람이나 어떤 것 시스템에 대해서 사용자가 해야 되는 역할 다른 시스템이나 데이터베이스 등 시스템 외부에 존재하는 실체 표현 ‘Stick man’ 혹은 Stereotype을 Actor로 가지는 클래스로 표기 액터는 특정 인물의 이름을 붙이지 않는다. 사람이나 외부 시스템, 구축된 시스템의 일부가 1개 이상의 유즈케이스에 대해서 얻은 역할 혹은 역할들을 식별할 수 있는 이름 Chungnam National University
Use Case 개념 표현 시스템의 핵심적인 기능을 표현한 하나의 단위 액터와의 상호작용에 의해서 나타내어짐 사용자 혹은 의뢰인의 입장에서 본 기능적인 요구사항 표현 유즈케이스의 이름을 포함한 타원으로 표기 액터의 시점에서 현재형, 능동태로 표현 시스템이 [어떻게] 실행되는지는 특별히 정하지 않고, 시스템이 [무엇을] 해야 하는지를 기술 Chungnam National University
액터와 유즈케이스 사이의 Relationship(1) Communicates 액터와 유즈케이스 사이의 관계로 액터와 유즈케이스간의 정보교환을 의미 즉, 액터가 특정 사용목적을 가지고 유즈케이스와 상호작용할 때 정의 액터는 서비스를 요구하는 입장, 유즈케이스는 서비스를 제공 표현: 화살표 없는 실선으로 표현 Chungnam National University
액터와 유즈케이스 사이의 Relationship(2) Generalization 액터와 액터, 유즈케이스와 유즈케이스 사이에 정의되는 관계 두 개체가 일반화 관계에 있음을 의미(is-a 관계) 상속(inheritance)의 개념 표현: 삼각형 화살표가 붙은 실선으로 표현 Chungnam National University
액터와 유즈케이스 사이의 Relationship(3) Includes 유즈케이스와 유즈케이스 사이에 정의되는 관계 한 유즈케이스가 다른 유즈케이스의 서비스 수행을 요청 수행요청을 의뢰받는 서비스는 반드시 수행됨 수해의뢰를 받은 유즈케이스는 공통 서비스를 가진 존재 표현: 열린 머리의 점선 화살표로 표현하고, <<include>> 스테레오 타입 표기. Chungnam National University
액터와 유즈케이스 사이의 Relationship(4) Extends 유즈케이스와 유즈케이스 사이에 정의되는 관계 한 유즈케이스가 다른 유즈케이스의 서비스 수행을 요청 Include와는 달리 수행요청을 의뢰 받는 서비스는 수행되지 않을 수도 있음. 즉, 선택적 포함관계의 의미 Extension point – 수행을 의뢰할 조건 표현: 열린 머리의 점선 화살표로 표현하고, <<extend>> 스테레오 타입 표기 Chungnam National University
액터 추출법 시스템의 주기능을 사용하는 사람은 누구인가? 누가 시스템으로부터 업무 지원을 받는가? 누가 시스템을 운영, 유지 보수하는가? 시스템과 정보를 교환하는 외부 시스템은 무엇인가? 시스템이 내어놓은 결과물에 누가 관심을 가지는가? Chungnam National University
유즈케이스 추출법 액터가 요구하는 시스템의 주요 기능은 무엇인가? 액터가 시스템의 어떤 정보를 수정, 조회, 삭제, 저장하는가? 시스템이 액터에게 주는 어떠한 event가 있는가? 액터가 시스템에 주는 어떠한 event가 있는가? 시스템의 입력과 출력으로 무엇이 필요한가? 그리고 입력과 출력이 어디에서 오고 어디로 가는가? Chungnam National University
유즈케이스 시나리오 여러 가지의 유즈케이스에 대한 이벤트의 흐름(Event flow)을 기술 Event flow의 구성 Main flow 유즈케이스 행위의 기본적(정상적) 흐름 Alternate flow 조건과 상황에 따라 기본흐름에 추가적으로 혹은 달리 실행되는 처리 흐름. 기본흐름의 branch 개념 Exceptional flow 예외적인 상황이 발생할 경우 기술 Chungnam National University
Q&A Chungnam National University