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

[์†Œํ”„ํŠธ์›จ์–ด๊ณตํ•™] 9์žฅ. ์„ค๊ณ„ ๋ชจ๋ธ๋ง

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

(8์žฅ ๋ณต์Šต)

< Data Design >

๋ฐ์ดํ„ฐ ๊ฐœ์ฒด๋ฅผ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ ์ˆ˜์ค€์˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ˆ˜์ค€์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์•„ํ‚คํ…์ฒ˜๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  • ์‘์šฉํ”„๋กœ๊ทธ๋žจ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ง€์›ํ•˜๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„
  • ์ ์ ˆํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ์ˆ˜์ค€์˜ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ์กด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํƒ์ƒ‰ํ•˜๋Š” ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋‚ด์šฉ์„ '๋ฐ์ดํ„ฐ ๋งˆ์ด๋‹'ํ•˜๋Š” ๋ฐฉ๋ฒ• ์„ค๊ณ„
  • ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค ์„ค๊ณ„—๋น„์ฆˆ๋‹ˆ์Šค์— ํ•„์š”ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ธํŠธ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€๊ทœ๋ชจ ๋…๋ฆฝ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
  • ์˜ˆ: ๋น…๋ฐ์ดํ„ฐ ๋ถ„์„, ๋ฐ์ดํ„ฐ ๊ณผํ•™

9์žฅ. ์„ค๊ณ„ ๋ชจ๋ธ๋ง

What is Architecture?

  • ํ”„๋กœ๊ทธ๋žจ ๋˜๋Š” ์ปดํ“จํŒ… ์‹œ์Šคํ…œ์˜ ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ์š”์†Œ์˜ ์™ธ๋ถ€์ ์œผ๋กœ ๋ณด์ด๋Š” ํŠน์„ฑ๊ณผ ๊ทธ๋“ค ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์‹œ์Šคํ…œ์˜ ๊ตฌ์กฐ์ด๋‹ค.
  • ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๊ฐ€ ์•„๋ž˜ ์‚ฌํ•ญ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ํ‘œํ˜„
    1. ๋ช…์‹œ๋œ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๋Š” ์„ค๊ณ„์˜ ํšจ๊ณผ ๋ถ„์„
    2. ์„ค๊ณ„ ๋ณ€๊ฒฝ์ด ์—ฌ์ „ํžˆ ๋น„๊ต์  ์‰ฌ์šด ๋‹จ๊ณ„์—์„œ ์•„ํ‚คํ…์ฒ˜ ๋Œ€์•ˆ์„ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค.
    3. ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์ถ•๊ณผ ๊ด€๋ จ๋œ ์œ„ํ—˜ ๊ฐ์†Œ

 ๐Ÿ’ก Architecture Styles

  1. Data-centered architectures : ๋ฐ์ดํ„ฐ ์ค‘์‹ฌ ์„ค๊ณ„
  2. Data flow architectures : ๋ฐ์ดํ„ฐ ํ”Œ๋กœ์šฐ ์„ค๊ณ„
  3. Call and return architectures : ํ˜ธ์ถœ ๋ฐ ๋ฐ˜ํ™˜ ์„ค๊ณ„
  4. Layered architectures : ๋ ˆ์ด์–ด๋“œ ์„ค๊ณ„

Mapping Data Flow (DFD) Into a Software Architecture - ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜๋กœ์˜ ๋ฐ์ดํ„ฐ ํ๋ฆ„ ๋งคํ•‘

  • ํ˜ธ์ถœ ๋ฐ ๋ฐ˜ํ™˜ ์•„ํ‚คํ…์ฒ˜
  • ํ๋ฆ„์„ ์ˆ˜ํ–‰
    • ์œ ์ž…๋˜๋Š” ํ๋ฆ„
    • ์ค‘์‹ฌ ๋ณ€ํ™˜
    • ๋‚˜๊ฐ€๋Š” ํ๋ฆ„
  • ํŠธ๋žœ์žญ์…˜ ํ๋ฆ„
    • ์—ฌ๋Ÿฌ ๊ฒฝ๋กœ ์ค‘ ํ•˜๋‚˜๋ฅผ ๋”ฐ๋ผ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ํŠธ๋žœ์žญ์…˜
    • ์ž‘์—… ๊ฒฝ๋กœ
    • ๊ฑฐ๋ž˜ ์„ผํ„ฐ

transaction flow mapping

Partitioning the Architecture : “horizontal” & “vertical” partitioning are required

  1. ์ˆ˜์ง ํŒŒํ‹ฐ์…”๋‹
    • ๊ฐ ์ฃผ์š” ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ๋ชจ๋“ˆ ๊ณ„์ธต์˜ ๊ฐœ๋ณ„ ๋ถ„๊ธฐ ํ‘œ์‹œ
    • ์ปจํŠธ๋กค ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋Šฅ ๊ฐ„ ํ†ต์‹  ์กฐ์ •
  2. ์ˆ˜ํ‰ ํŒŒํ‹ฐ์…”๋‹ : Factoring
    • ์˜์‚ฌ๊ฒฐ์ •๊ณผ ์—…๋ฌด๊ฐ€ ๊ณ„์ธตํ™”๋˜๋„๋ก ์„ค๊ณ„
    • ์˜์‚ฌ๊ฒฐ์ • ๋ชจ๋“ˆ์€ ์•„ํ‚คํ…์ฒ˜์˜ ๋งจ ์œ„์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Why Partitioned Architecture?

  • ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์‰ฌ์šด ์†Œํ”„ํŠธ์›จ์–ด
  • ์œ ์ง€๋ณด์ˆ˜ํ•˜๊ธฐ ์‰ฌ์šด ์†Œํ”„ํŠธ์›จ์–ด
  • ์ ์€ ๋ถ€์ž‘์šฉ์˜ ์ „ํŒŒ
  • ํ™•์žฅํ•˜๊ธฐ ์‰ฌ์šด ์†Œํ”„ํŠธ์›จ์–ด

General Mapping Approach

  • ๋ณ€ํ™˜ ํ๋ฆ„์— ๋Œ€ํ•œ ๋“ค์–ด์˜ค๋Š” ํ๋ฆ„๊ณผ ๋‚˜๊ฐ€๋Š” ํ๋ฆ„ ๊ฒฝ๊ณ„ ๋ถ„๋ฆฌ
  • ํŠธ๋žœ์žญ์…˜ ํ๋ฆ„์„ ์œ„ํ•ด ํŠธ๋žœ์žญ์…˜ ์„ผํ„ฐ ๊ฒฉ๋ฆฌ
  • ๊ฒฝ๊ณ„์—์„œ ๋ฐ”๊นฅ์ชฝ์œผ๋กœ ์ž‘์—…, ์ง€๋„ DFD

ํ•ด๋‹น ๋ชจ๋“ˆ๋กœ ๋ณ€ํ™˜

  • ํ•„์š”์— ๋”ฐ๋ผ ์ปจํŠธ๋กค ๋ชจ๋“ˆ์„ ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค.
  • ํšจ๊ณผ์ ์ธ ๋ชจ๋“ˆํ™” ๊ฐœ๋…์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฐ๊ณผ ํ”„๋กœ๊ทธ๋žจ ๊ตฌ์กฐ๋ฅผ ๊ฐœ์„ ํ•œ๋‹ค.

Type I: Transform Mapping

1๋‹จ๊ณ„ : ๊ธฐ๋ณธ ์‹œ์Šคํ…œ ๋ชจ๋ธ ๊ฒ€ํ† 

2๋‹จ๊ณ„: ์†Œํ”„ํŠธ์›จ์–ด์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ํ๋ฆ„๋„ ๊ฒ€ํ†  ๋ฐ ๊ตฌ์ฒดํ™”

3๋‹จ๊ณ„ : DFD์— ๋ณ€ํ™˜ ๋˜๋Š” ํŠธ๋žœ์žญ์…˜ ํ๋ฆ„ ํŠน์„ฑ์ด ์žˆ๋Š”์ง€ ํ™•์ธ

4๋‹จ๊ณ„ : ์œ ์ž… ๋ฐ ์œ ์ถœ ์œ ๋Ÿ‰ ๊ฒฝ๊ณ„๋ฅผ ์ง€์ •ํ•˜์—ฌ ํŠธ๋žœ์Šคํผ ์„ผํ„ฐ ๊ฒฉ๋ฆฌ

5๋‹จ๊ณ„: "1๋‹จ๊ณ„ ์ธ์ˆ˜๋ถ„ํ•ด" ์ˆ˜ํ–‰

6๋‹จ๊ณ„: "2๋‹จ๊ณ„ ์ธ์ˆ˜๋ถ„ํ•ด" ์ˆ˜ํ–‰

7๋‹จ๊ณ„: ์„ค๊ณ„ ํœด๋ฆฌ์Šคํ‹ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์†Œํ”„ํŠธ์›จ์–ด ํ’ˆ์งˆ ๊ฐœ์„ ์„ ์œ„ํ•œ 1์ฐจ ๋ฐ˜๋ณต ์•„ํ‚คํ…์ฒ˜ ๊ฐœ์„ 

Type II: Transaction Mapping

1๋‹จ๊ณ„: ๊ธฐ๋ณธ ์‹œ์Šคํ…œ ๋ชจ๋ธ ๊ฒ€ํ† 

2๋‹จ๊ณ„: ์†Œํ”„ํŠธ์›จ์–ด์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ํ๋ฆ„ ๋‹ค์ด์–ด๊ทธ๋žจ ๊ฒ€ํ†  ๋ฐ ์„ธ๋ถ„ํ™”

3๋‹จ๊ณ„ : DFD์— ํŠธ๋žœ์žญ์…˜ ํ๋ฆ„ ํŠน์„ฑ์ด ์žˆ๋Š”์ง€ ํ™•์ธ

4๋‹จ๊ณ„ : ๊ฐ ์ž‘์—… ๊ฒฝ๋กœ๋ฅผ ๋”ฐ๋ผ ํŠธ๋žœ์žญ์…˜ ์„ผํ„ฐ ๋ฐ ํ๋ฆ„ ํŠน์„ฑ ํ™•์ธ

5๋‹จ๊ณ„ : ํŠธ๋žœ์žญ์…˜์ด ๊ฐ€๋Šฅํ•œ ํ”„๋กœ๊ทธ๋žจ ๊ตฌ์กฐ์—์„œ DFD ๋งคํ•‘ ์ฒ˜๋ฆฌ.

6๋‹จ๊ณ„ : ๊ฑฐ๋ž˜ ๊ตฌ์กฐ์™€ ๊ฐ ํ–‰๋™ ๊ฒฝ๋กœ์˜ ๊ตฌ์กฐ๋ฅผ ์š”์†Œํ™”ํ•˜๊ณ  ์„ธ๋ถ„ํ™”ํ•œ๋‹ค.

7๋‹จ๊ณ„: ์†Œํ”„ํŠธ์›จ์–ด ํ’ˆ์งˆ ํ–ฅ์ƒ์„ ์œ„ํ•ด ์„ค๊ณ„ ํœด๋ฆฌ์Šคํ‹ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ 1์ฐจ ๋ฐ˜๋ณต ์•„ํ‚คํ…์ฒ˜ ๊ฐœ์„ 

 

์„ค๊ณ„ ๋””์ž์ธ ๊ฐœ์„  (Refining)

  • ์ตœ์  ์„ค๊ณ„
  • "์ตœ์„ ์˜" ์ ‘๊ทผ ๋ฐฉ์‹(๋Œ€์•ˆ์—์„œ)

 

728x90
๋ฐ˜์‘ํ˜•