상세 컨텐츠

본문 제목

소프트웨어를 설계하는 방법 (5) - Design with Behavior Viewpoint

IT/SW Architecture

by HarimKang 2019. 12. 14. 16:34

본문

Design with Behavior Viewpoint

Writer: Harim Kang

SW 설계에 관한 가이드라인을 글로 수록합니다. 해당 내용은 지능형 시스템(Intelligent System) 설계를 위한 가이드라인을 포함하고 있습니다.

앞서 소프트웨어 설계의 순서를 파악하시고자 한다면 다음의 링크를 통해 보고 와주세요!

2019/12/13 - [IT/SW Architecture] - 소프트웨어를 설계하는 방법 (1) - 설계 소개 및 순서

 

소프트웨어를 설계하는 방법 (1) - 설계 소개 및 순서

SW Architecture Writer: Harim Kang SW 설계에 관한 가이드라인을 글로 수록합니다. 해당 내용은 지능형 시스템(Intelligent System) 설계를 위한 가이드라인을 포함하고 있습니다. SW 설계란 무엇인가요?? Defin..

davinci-ai.tistory.com


Behavior Viewpoint


Definition

시스템의 Dynamic behavior를 모델링하고 설계하는 순차적인 Guideline이다.
사용자 기준, 사용 순서 설계라고 보면 될 것 같다.
Activity Diagram, Sequence Diagram, State Machine Diagram, Timing Diagram, etc.

Goals

  1. Refining the control flow of the whole system.
    • 전체 시스템의 흐름을 파악한다.
  2. Choosing elements of the system requiring Detailed Control Flow
    • 전체 시스템 Control Flow에 필요한 요소들을 선정한다.
    • Use Case
    • Functional Component
    • Action
    • Activity
  3. 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 요약

  1. Observe Behavioral Characteristics
  2. Refine Control Flow for Whole System
  3. Choosing Elements for Detailed Control Flow
  4. 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)에 대한 구체적인 설명

틀린 내용은 댓글로 알려주세요! 저도 배우는 입장이라.. 이상한 부분이 있을지도..? ㅎㅎ

관련글 더보기

댓글 영역