Inception
Inception
Focuses on the core application logic layer with some secondary discussion of the other layers.
이해를 위해 신속하게 필요한 것만 Inception 단계에서 진행한다. UP(United Process)나 Agile을 활용한다. 개발 제품의 범위를 정하고(계획), rough한 최상의 case를 계획한다. use case의 대략 10% ~ 15% 정도 진행한다. 용어를 정의하는 Glossary, Risk list, Prototypes, Development case, Phase plan, Iteration plan이 포함된다. 개발 사례의 경우, 성공 사례라 하더라도 현재의 경우에 맞게 커스터마이징이 필요하다. (tailering) 요구사항에 대한 워크숍을 통해, 반드시 이해관계자(고객)를 포함시켜서 반복과 정제를 한다.
Use-Case Modeling
Use cases are text stories of some actor using a system to meet goals.
use case 모델의 목적은 시스템의 기능 요구사항을 결정하고 나타내기 위해 필요하며, basis test 시나리오를 만들 수 있다. 또한 실제 구현 시 어느 class와 관련이 있겠구나라는 관계를 trace할 수 있다. Use case 작성 시 brief, casual, fully-dressed 방식으로 한다.
pos 시스템을 예로 들면, actor를 Cashier와 System Administrator, Payment Authorization Service라고 한다면 Use case로는 Process Sale, Handle Returns, Process Rental, Cash in, Manage Users, Manage Security 등이 있다고 할 수 있다.
전체적인 구조는 Requirements 단계에서 Use case Diagram과 Use case Text가 도출되고, Text를 바탕으로 system events인 SSD를 만들 수 있다. Use Case Text를 기반으로 Business Modeling 단계에서 Domain Model를 진행하며, Domain Model과 Requirements의 Use Case Model을 활용하여 Design 단계로 갈 수 있다.