λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

πŸ“š 전곡 곡뢀/μ†Œν”„νŠΈμ›¨μ–΄κ³΅ν•™

[μ†Œν”„νŠΈμ›¨μ–΄κ³΅ν•™] 7μž₯. μš”κ΅¬μ‚¬ν•­ 뢄석 λͺ¨λΈλ§

7μž₯. μš”κ΅¬μ‚¬ν•­ 뢄석 λͺ¨λΈλ§

4. Flow-oriented Modeling : 흐름 지ν–₯ λͺ¨λΈλ§

λͺ¨λ“  컴퓨터 기반 μ‹œμŠ€ν…œμ€ μ •λ³΄μ˜ λ³€ν™˜μ΄λ‹€. (input → Transformation → output)

μ˜€λŠ˜λ‚  flow 기반 λͺ¨λΈμ€ κ°€μž₯ 널리 μ‚¬μš©λ˜λŠ” 뢄석 λͺ¨λΈ.

 

  • DFD (Data Flow Diagram)
    • 데이터 개체 : Labeled ν™”μ‚΄ν‘œ
    • λ³€ν™˜ : 원
    • DFDλŠ” 계측적 방식이닀.
    • 레벨 0 DFDλŠ” μ‹œμŠ€ν…œ 전체λ₯Ό λ‚˜νƒ€λ‚Έλ‹€ (context diagram)
  • External Entity - μ™ΈλΆ€ μ—”ν‹°ν‹°
    • 데이터 μƒμ‚°μž / μ†ŒλΉ„μž (ex: μ‚¬λžŒ, μž₯치, μ„Όμ„œ, 컴퓨터 기반 μ‹œμŠ€ν…œ)
    • λ°μ΄ν„°λŠ” 항상 μ–΄λ”˜κ°€μ—μ„œ μƒμ„±λ˜μ–΄μ•Ό ν•˜λ©°, 항상 λ¬΄μ–Έκ°€λ‘œ μ „μ†‘λ˜μ–΄μ•Ό ν•œλ‹€.
  • Process
    • 데이터 λ³€ν™˜κΈ° (changes input to output) (ex: μ„ΈκΈˆ 계산, 면적 계산, λ³΄κ³ μ„œ ν˜•μ‹ 지정, κ·Έλž˜ν”„ ν‘œμ‹œ)
    • μ‹œμŠ€ν…œ κΈ°λŠ₯을 λ‹¬μ„±ν•˜λ €λ©΄ 항상 데이터λ₯Ό μ–΄λ–€ λ°©μ‹μœΌλ‘œλ“  μ²˜λ¦¬ν•΄μ•Ό ν•œλ‹€.
  • Data Flow
    • λ°μ΄ν„°λŠ” μž…λ ₯μ—μ„œ 좜λ ₯으둜 λ³€ν™˜λ˜λŠ” μ‹œμŠ€ν…œμ„ 톡해 흐λ₯Έλ‹€. (base & height → compute triangle area → area)
  • Data Stores
    • λ°μ΄ν„°λŠ” μ’…μ’… λ‚˜μ€‘μ— μ‚¬μš©λ˜λŠ” 경우λ₯Ό μœ„ν•΄ μ €μž₯λœλ‹€. (= 내뢀에 ν‘œμ‹œ)

Flow-oriented Model Guidelines

  1. 레벨 0 데이터 νλ¦„λ„λŠ” SW/μ‹œμŠ€ν…œμ„ 단일 μ›μœΌλ‘œ ν‘œμ‹œ.
  2. 1μ°¨ μž…λ ₯ 및 좜λ ₯을 기둝.
  3. μ •μ œλŠ” 후보 ν”„λ‘œμ„ΈμŠ€, 데이터 개체, λ‹€μŒ λ ˆλ²¨μ„ μœ„ν•œ 데이터 μ €μž₯을 λΆ„λ¦¬ν•˜λŠ” 것뢀터 μ‹œμž‘λœλ‹€.
  4. λͺ¨λ“  ν™”μ‚΄ν‘œμ™€ 원(버블)은 μ˜λ―ΈμžˆλŠ” μ΄λ¦„μœΌλ‘œ ν‘œμ‹œ.
  5. 정보 νλ¦„μ˜ 연속성이 μˆ˜μ€€λ³„λ‘œ μœ μ§€λ˜μ–΄μ•Ό ν•œλ‹€.
  6. ν•œ λ²ˆμ— ν•œ 버블이 μ •μ œλ˜μ–΄μ•Ό ν•œλ‹€.
  • PSPEC (Process Specification)
    • μ΅œμ’… 단계에 λ‚˜νƒ€λ‚˜λŠ” λͺ¨λ“  flow model ν”„λ‘œμ„ΈμŠ€λ₯Ό μ„€λͺ….
      • Narrative text, Program design language(PDL)
      • Mathematical equations
      • Tables, Diagrams, Chart

input is Conditions, output is Actions

  • CFD (Control Flow Diagram)
    • 데이터가 μ•„λ‹Œ μ΄λ²€νŠΈμ— μ˜ν•΄ μƒμ„±λœλ‹€.
    • μ œμ–΄ 정보λ₯Ό 생성
    • Such applications require the use of CFD in addition to DFD.
  • CSPEC (Control Specification)
    • μ‹œμŠ€ν…œμ˜ λ™μž‘μ„ λ‚˜νƒ€λƒ„
    • λ™μž‘μ˜ 순차적 λͺ…세인 State Diagram이 ν¬ν•¨λœλ‹€.

5. Behavioral Modeling : 행동 λͺ¨λΈλ§

  • 행동 λͺ¨λΈμ€ SWκ°€ μ™ΈλΆ€ μ‚¬κ±΄μ΄λ‚˜ μžκ·Ήμ— μ–΄λ–»κ²Œ λ°˜μ‘ν•˜λŠ”μ§€λ₯Ό λ‚˜νƒ€λƒ„.
    1. λͺ¨λ“  use case 평가
    2. μƒν˜Έμž‘μš© μˆœμ„œλ₯Ό μ£Όλ„ν•˜λŠ” 이벀트 식별, μ΄λŸ¬ν•œ μ΄λ²€νŠΈκ°€ κ°œμ²΄μ™€ μ–΄λ–»κ²Œ κ΄€λ ¨λ˜λŠ”μ§€ 이해
    3. 각 use case에 λŒ€ν•œ μˆœμ„œ
    4. μ‹œμŠ€ν…œμ˜ state diagram
    5. Review

FSA (Finite State Automata)

Behavioral Modeling

  • Use caseλ₯Ό ν†΅ν•œ 이벀트 식별
  • 뢄석 ν΄λž˜μŠ€μ— λŒ€ν•œ state diagram : 각 클래슀의 ν™œμ„± μƒνƒœμ™€ 이벀트λ₯Ό λ‚˜νƒ€λ‚΄λŠ” UML state diagram

The States of a System

  • State : 주어진 μ‹œκ°„μ— μ‹œμŠ€ν…œμ˜ λ™μž‘μ„ νŠΉμ„±ν™”ν•˜λŠ” κ΄€μ°°κ°€λŠ₯ν•œ μƒν™©μ˜ 집합
  • State transition : ν•œ μƒνƒœμ—μ„œ λ‹€λ₯Έ μƒνƒœλ‘œμ˜ 이동
  • Event : μ‹œμŠ€ν…œμ΄ 예츑 κ°€λŠ₯ν•œ ν˜•νƒœμ˜ λ™μž‘μ„ λ‚˜νƒ€λ‚΄λ„λ‘ ν•˜λŠ” 것
  • Action : transition의 결과둜 λ°œμƒν•˜λŠ” ν”„λ‘œμ„ΈμŠ€

State Diagram & Sequence Diagram

  • Creating a Behavioral Model
    • Sequence Diagrams
    1. μ΄λ²€νŠΈκ°€ 개체 κ°„ λ³€ν™˜μ„ μΌμœΌν‚€λŠ” 방법을 λ‚˜νƒ€λ‚Έλ‹€
    2. use case의 κ°„λ‹¨ν•œ 버전이닀
    3. 각 ν™”μ‚΄ν‘œλŠ” 이벀트λ₯Ό λ‚˜νƒ€λ‚΄λ©° 개체 κ°„μ˜ 이벀트 채널 λ™μž‘μ„ λ‚˜νƒ€λƒ„
    4. μ‹œκ°„μ€ 수직으둜 ν‘œν˜„λ˜λ©° μ§μ‚¬κ°ν˜•μ€ ν™œλ™μ„ μ²˜λ¦¬ν•˜λŠ”λ°μ— κ±Έλ¦° μ‹œκ°„.
    5. 수직 νƒ€μž„λΌμΈμ„ 따라 μƒνƒœκ°€ ν‘œμ‹œ