๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“š ์ „๊ณต ๊ณต๋ถ€/์†Œํ”„ํŠธ์›จ์–ด๊ณตํ•™

[์†Œํ”„ํŠธ์›จ์–ด๊ณตํ•™] 7์žฅ. ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„ ๋ชจ๋ธ๋ง

by xxilliant 2023. 4. 23.
728x90
๋ฐ˜์‘ํ˜•

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. ์ˆ˜์ง ํƒ€์ž„๋ผ์ธ์„ ๋”ฐ๋ผ ์ƒํƒœ๊ฐ€ ํ‘œ์‹œ

 

728x90
๋ฐ˜์‘ํ˜•