시스템의 Dynamic behavior를 모델링하고 설계하는 순차적인 Guideline이다. 사용자 기준, 사용 순서 설계라고 보면 될 것 같다. Activity Diagram, Sequence Diagram, State Machine Diagram, Timing Diagram, etc.
Goals
Refining the control flow of the whole system.
전체 시스템의 흐름을 파악한다.
Choosing elements of the system requiring Detailed Control Flow
전체 시스템 Control Flow에 필요한 요소들을 선정한다.
Use Case
Functional Component
Action
Activity
Designing the detailed control flow for selected elements
구체적인 설계를 진행한다.
Behavior
Aspect of Runtime Program Execution
프로그램 실행의 전부
Execution Flows
실행 흐림
Sequential : 순차
Parallel : 병렬
Control, Decision, Repetition : 조건에 따른, 결정에 따른, 반복적인 모든 행동
Process of Behavior Viewpoint 요약
Observe Behavioral Characteristics
Refine Control Flow for Whole System
Choosing Elements for Detailed Control Flow
Defining Detailed Control Flow
Step 1. Observe Behavior Characteristics
Behavior Characteristics
Explicit Invocation → 메뉴 선택을 통한 User Interaction Behavior
Event-based Invocation → Event Source, Event Sink 등을 통한 Behavior
Timer-based Invocation → 시간에 따른 Behavior
Parallel Processing → Fork (동시에 들어가는 것), Join (다시 합쳐지는 것) , 다중스레드, 병렬 처리
Close-Loop Control → loop를 통한 Control Behavior
Exception Handling-intensive → 예외 발생, 측정, 처리를 하는 Behavior
For Intelligent System
Generation of ML Models → Explicit Invocation을 통해 선택 또는 실행을 시켜 훈련 & 모델 생성
Evaluating ML Models → Explicit Invocation을 통해 선택 또는 실행을 시켜 평가
Predicting ML Models → Explicit Invocation(원할 때 선택), Closed-Loop(연속적) 방식으로 목표 예측
Acquiring Feedbacks/Rating
Enhancing ML Models → Explicit Invocation 방식 또는 Event-Driven
Event 발생 시점 : Performance가 기준 아래로 내려가는 시점에 Event 발생
Step 2. Design the Main Control Flow
Context-level의 Behavior View 먼저 작성 → 간단한 Activity Diagram 작성
Activity Diagram에 Detail과 Precision 추가 → 복잡한 Activity Diagram 작성
Behavior Characteristics 반영
Use Case Diagram 과 Activity Diagram사이의 일관성을 유지한다.
Functionality == Control Flow
Ex
Ex. Smart Mirror System
Step 3. Design the Detailed Control Flow
Activity Diagram
Sequence Diagram
State Machine Diagram
Timing Diagram
BPMN
Algorithm / Pseudocode
Petri Net
Process Specification
TODO : 각 Diagram (특히 Activity)에 대한 구체적인 설명
틀린 내용은 댓글로 알려주세요! 저도 배우는 입장이라.. 이상한 부분이 있을지도..? ㅎㅎ