Search
๐Ÿง‘โ€๐Ÿ’ผ

Ch.02 : Architecture Modeling & Views

course
last review
2023/10/12 โ†’ 2023/10/13
mastery
none
progress
not started
date
2023/09/05
4 more properties
Previous chapter

Overview

โ€ข
4+1 Views์— ๋Œ€ํ•œ ์„ค๋ช… ์™ธ์šฐ๊ธฐ
โ€ข
์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค ์™ธ์šฐ๊ธฐ
โ—ฆ
SW ๋ชจ๋ธ๋ง๊ณผ ๋‹ค์ด์–ด๊ทธ๋žจ์ด ์–ด๋””์— ํ•ด๋‹นํ•˜๋Š”์ง€๋ฅผ ์บ์น˜ํ•˜๊ธฐ
โ—ฆ

Architecture Models

์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์€ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค.
โ€ข
๋ฌธ์ œ : A System
โ—ฆ
SW๋ฅผ ๋งŒ๋“ค ๋•Œ์˜ ์‹œ์Šคํ…œ
โ€ข
๋ชจ๋ธ (์•„ํ‚คํ…์ณ) : A Model (Archidecture)
โ—ฆ
์‹œ์Šคํ…œ์„ ํŠน์ • ๊ด€์ ์—์„œ ๋ดค์„ ๋•Œ์˜ ์ถ”์ƒํ™”(๊ฐœ์š”)
โ–ช
โ€œ์–˜๋Š” ๋ญ˜ ํ•˜๋Š”(๋™์‚ฌ) ์•ฑ๋‹ˆ๋‹ค.โ€
โ€ข
์†”๋ฃจ์…˜ : A Software
โ—ฆ
๋ชจ๋ธ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ณผ์ •
๊ฑฐ๋Œ€ํ•œ ๋ฌธ์ œ๋ฅผ ๊ฐ๊ฐ์˜ ์ž‘์€ ๋ฌธ์ œ๋กœ ์ชผ๊ฐœ๊ณ , ์ด๋ฅผ ๋ชจ๋ธํ™”ํ•˜๋Š” ๊ฒƒ์„ ๋ชจ๋ธ๋ง(๋ถ„์„/์„ค๊ณ„)๋ผ๊ณ  ํ•œ๋‹ค.
๋ชจ๋ธ์„ ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๊ณผ์ •์„ ๊ตฌํ˜„(Implements)์ด๋ผ๊ณ  ํ•œ๋‹ค.
IEEE๊ตญ์ œํ‘œ์ค€์—์„œ์˜ ํ•ด์„์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
โ€ข
์‹œ์Šคํ…œ์˜ ๊ทผ๋ณธ์ ์ด๊ณ  ์กฐ์ง์ ์ธ ์ฒญ์‚ฌ์ง„
โ—ฆ
์ปดํฌ๋„ŒํŠธ(๊ตฌ์„ฑ์š”์†Œ : ์–ดํŠธ๋ฆฌ๋ทฐํŠธ์™€ ์˜คํผ๋ ˆ์ด์…˜)์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ์œผ๋ฉฐ
โ—ฆ
์ปดํฌ๋„ŒํŠธ๊ฐ„์˜, ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ฐ์‹ธ๋Š” ํ™˜๊ฒฝ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ
โ—ฆ
๊ทธ ๋””์ž์ธ์„ ๊ทœ์ •ํ•˜๋Š” ์›๋ฆฌ์›์น™์ด๋‹ค.

Architecture Conceptual Model

๊ฐ๊ฐ์˜ ์š”์†Œ๋ฅผ ์ฐธ๊ณ ๋งŒ ํ•˜๊ณ  ๋„˜์–ด๊ฐ€์ž.
์‹œ์Šคํ…œ์€
โ€ข
ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ชฉ์ ์„ ์™„์ˆ˜ํ•ด์•ผํ•œ๋‹ค.
โ€ข
๊ทธ ๋ชฉ์ ์„ ์™„์ˆ˜ํ•˜๊ธฐ ์œ„ํ•ด ์‹œ์Šคํ…œ์€ ์•„ํ‚คํ…์ณ๋ฅผ ๊ฐ€์ง„๋‹ค.
โ€ข
์‹œ์Šคํ…œ์ด ๋™์ž‘ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ™˜๊ฒฝ์ด ํ•„์š”ํ•˜๋‹ค.
โ€ข
์‹œ์Šคํ…œ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ฑฐ๋‚˜ ์‹œ์Šคํ…œ์„ ์ดํ•ดํ•ด์•ผํ•˜๋Š” โ€œ์ดํ•ด๊ด€๊ณ„์žโ€๋ฅผ ๊ฐ€์ง„๋‹ค.(์œ ์ €)
์•„ํ‚คํ…์ณ๋Š” ์•„ํ‚คํ…์ณ ๋ช…์„ธ์— ์˜ํ•ด ๋””ํ…Œ์ผ์ด ๋ฌ˜์‚ฌ๋˜์–ด์ง„๋‹ค.
์•„ํ‚คํ…์ณ ๋ช…์„ธ์— ์˜ํ•ด ์‹œ์Šคํ…œ์— ์—ฐ๊ด€๋œ ์‚ฌ์šฉ์ž, ๊ทธ๋ฆฌ๊ณ  ์‚ฌ์šฉ์ž์˜ ์˜๋„์™€ ๋ชฉ์ ์ด ์ •์˜๋œ๋‹ค.
์‚ฌ์šฉ์ž๋Š”
โ€ข
๊ด€์‹ฌ์‚ฌ๋‚˜ ์˜๋„๋ฅผ ๊ฐ€์ง„๋‹ค.
โ€ข
๋ทฐํฌ์ธํŠธ๋Š”
โ€ข
์‚ฌ์šฉ์ž์— ๋งž๊ฒŒ ๋งคํ•‘(์ •์˜)๋œ๋‹ค.(๋งž๋‚˜?)
โ€ข
์‚ฌ์šฉ์ž์˜ ์˜๋„๋ฅผ ๋‹ค๋ฃฌ๋‹ค.(๋ญ”์†Œ๋ฆฌ์ง€?)

์†Œํ”„ํŠธ์›จ์–ด ๋ชจ๋ธ๋ง ๋ชฉ์ 

๋ชจ๋ธ๋ง์€ 4๊ฐ€์ง€ ํ™œ๋™์„ ํ•œ๋‹ค.
โ€ข
Representation
โ€ข
Specification
โ€ข
Construction
โ€ข
Documentation
์ด๋Š” ์ƒํ˜ธ์ž‘์šฉ์— ๋Œ€ํ•ด์„œ ๊ณตํ†ต์ ์ธ ์ดํ•ด๋ฅผ ์œ„ํ•ด ๊ผญ ํ•„์š”ํ•˜๋‹ค.
์ข‹์€ ์†Œํ”„ํŠธ ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœํ•˜์—ฌ ๊ธฐ๋Šฅ๊ณผ ํ’ˆ์งˆ์„ ์˜ฌ๋ฆฌ๋Š”๋ฐ ํ•„์š”ํ•˜๋‹ค.

Architectural Views

โ€ข
Logical View
โ—ฆ
์—”๋“œ ์œ ์ €๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์“ฐ๋Š” ๊ด€์ ์—์„œ Functionality๋ฅผ ํ‘œํ˜„ํ•œ ๋ทฐ
โ€ข
Process View
โ—ฆ
System Integrators์—๊ฒŒ ์„ฑ๋Šฅ๊ณผ Scalability์™€ Throuput์„
โ€ข
Implementation View
โ—ฆ
ํ”„๋กœ๊ทธ๋ž˜๋จธ๋“ค์„ ์œ„ํ•ด์„œ Configuration Management๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” View
โ€ข
Deployment View
โ—ฆ
์‹œ์Šคํ…œ ์—”์ง€๋‹ˆ์–ด๋“ค์„ ์œ„ํ•ด System Topology๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” View
โ€ข
Use-Case View
โ—ฆ
End User์˜ ๋ทฐ์ธ๋ฐ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์ „๊ฐœํ•ด์„œ View๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๊ณผ์ •
๊ธฐ๋ณธ์ ์ธ ์ „๋žต์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
โ€ข
Use Case ๊ธฐ์ˆ ์„œ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ์—ฌ๋Ÿฌ View๋ฅผ ๋งŒ๋“ค์–ด๋‚ธ๋‹ค.
โ—ฆ
๋กœ์ง€์ปฌ ๋ทฐ : ์‚ฌ์šฉํ•˜๋Š” ์œ ์ € ์ž…์žฅ์—์„œ ์–ด๋–ค ๊ธฐ๋Šฅ์ด ๋™์ž‘ํ•˜๋Š”์ง€(WHAT)๋ฅผ ์„œ์ˆ ํ•œ๋‹ค.
โ—ฆ
๊ตฌํ˜„,๊ฐœ๋ฐœ ๋ทฐ : ํ”„๋กœ๊ทธ๋ž˜๋จธ ์ž…์žฅ์—์„œ Configuration(๊ตฌ์„ฑ)์„ ๊ด€๋ฆฌํ•œ๋‹ค.
โ—ฆ
ํ”„๋กœ์„ธ์Šค ๋ทฐ : ์‹œ์Šคํ…œ ํ†ตํ•ฉ๊ด€๋ฆฌ์ž๋“ค์—๊ฒŒ ์‹œ์Šคํ…œ์˜ ๊ธฐ์ˆ  ์ŠคํŽ™์„ ์•Œ๋ ค์ค€๋‹ค.
์ฆ‰, ๊ฐ™์€ ์‹œ์Šคํ…œ์„ ์„ค๊ณ„ํ•  ๋•Œ๋„ ๋ˆ„๊ฐ€ ์ด ๋ฌธ์„œ๋ฅผ ๋ณด๋Š”๊ฐ€์— ๋”ฐ๋ผ ๊ทธ๋“ค์ด ์ฃผ๋ชฉํ•ด์•ผํ•  ๊ฒƒ๋“ค์ด ๋‹ฌ๋ผ์ง„๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ ๊ฐ์ž์—๊ฒŒ ๋งž๋Š” ์กฑ์ง‘๊ฒŒ ๋ฌธ์„œ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด SW ์•„ํ‚คํ…์ณ๊ฐ€ ํ•˜๋Š” ์ผ.

๊ฑด์ถ• : ๊ฐœ์ง‘๊ณผ ๊ฐ€์ •์ง‘๊ณผ ํ‘ธ๋ฅธ ๋นŒ๋”ฉ

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

์•„ํ‚คํ…์ฒ˜ ๋ชจ๋ธ๋ง์˜ ์ค‘์š”์„ฑ

์‹œ๊ฐ„์ด ์ง€๋‚  ์ˆ˜๋ก, ๊ทธ๋ฆฌ๊ณ  ๊ทœ๋ชจ๊ฐ€ ์ปค์งˆ ์ˆ˜๋ก ์‹œ์Šคํ…œ์˜ ๋ณต์žก๋„๊ฐ€ ์ฆ๊ฐ€ํ•œ๋‹ค.
๋˜ํ•œ, ์˜ˆ์ „๋ณด๋‹ค ๋” ๋†’์€ ์†Œํ”„ํŠธ์›จ์–ด ํ’ˆ์งˆ์„ ์š”๊ตฌํ•˜๊ฒŒ ๋œ๋‹ค.

์•„ํ‚คํ…์ฒ˜ ์‹œ์Šคํ…œ์˜ ๋ณต์žก์„ฑ

โ€ข
๊ธฐ์ˆ  ๋ณต์žก์„ฑ
โ—ฆ
์ž„๋ฒ ๋””๋“œ, ๋ฆฌ์–ผํƒ€์ž„, ๋ถ„์‚ฐ, ๋‚ด๊ตฌ๋ ฅ๊ณผ ๊ด€๋ จ๋œ ๊ฒƒ๋“ค
โ€ข
๊ด€๋ฆฌ ๋ณต์žก์„ฑ
โ—ฆ
Large Scale, ์‚ฌ์šฉ ๊ณ 

์†Œํ”„ํŠธ์›จ์–ด ํ’ˆ์งˆ

ํ’ˆ์งˆ ๋‹ฌ์„ฑ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์ œ์ž‘ํ•œ๋‹ค.
์˜ค๋ธŒ์ ํŠธ 1000๊ฐœ์งœ๋ฆฌ๊ฐ€ ๋ถˆ์—ํƒ€๋Š” ์ดํŽ™ํŠธ๋ฅผ 30fps์— ๊ตฌํ˜„ํ•˜๋Š” ๊ฒŒ ๋ชฉํ‘œ์ธ ๊ฒฝ์šฐ
๊ฑด๋ฌผ์ด ์ž˜ ์ง€์–ด์กŒ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ ์—ฌ๋Ÿฌ ์ŠคํŠธ๋ ˆ์Šค ํ…Œ์ŠคํŠธ๋ฅผ ํ•œ๋‹ค.
์–ด๋–ค ํ™˜๊ฒฝ์—์„œ๋„ ์˜ค๋ธŒ์ ํŠธ 1000๊ฐœ๋Š” 30fps์—์„œ ๊ตฌ๋™๋˜์–ด์•ผ ํ•˜๋ฏ€๋กœ, ๊ทนํ•œ์˜ ์กฐ๊ฑด์„ ๋ถ™์—ฌ๋ณธ๋‹ค.
Availabililty : ๊ฐ€์šฉ์„ฑ - ๋žœ๋คํ•œ ์กฐ๊ฑด์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.
Modifiability :
Performance : ์„ฑ๋Šฅ
Security : ๋ณด์•ˆ
Testability :
Usability : ์‚ฌ์šฉ์„ฑ
Scalability :
๋“ฑ๋“ฑโ€ฆ ์ด๋Ÿฐ ์š”๊ตฌ์‚ฌํ•ญ์ด ๊ธฐ์ค€์น˜์— ์ž˜ ๋งž๊ฒŒ ๋™์ž‘ํ•œ๋‹ค๋ฉด Qualifiedํ•œ ์„œ๋น„์Šค๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค

Business Modeling : ๊ฐœ๋ฐœ ๋ชฉ์ ์„ ์ •ํ•จ
Technical Feasibility Test : ๊ธฐ์ˆ ์ ์œผ๋กœ ์„ฑ์ทจ๊ฐ€ ๊ฐ€๋Šฅํ•œ์ง€ ํ…Œ์ŠคํŠธ
์š”๊ตฌ์‚ฌํ•ญ ์บก์ณ (Requirement Capture)
โ€ข
Functional Requirement : ๊ธฐ๋Šฅ์ ์ธ ์š”๊ตฌ์‚ฌํ•ญ
โ€ข
Quality Requirement : ์งˆ์ ์ธ ์š”๊ตฌ์‚ฌํ•ญ
์•„ํ‚คํ…์ณ ๋ชจ๋ธ๋ง (Architecture Modeling)
โ€ข
Problem Analysis : ๋ฌธ์ œ ๋ถ„์„
โ€ข
Solution Design : ํ•ด๊ฒฐ์ฑ… ๋ชจ์ƒ‰
๊ตฌํ˜„ : ์ฝ”๋”ฉ
ํ†ตํ•ฉ : ๋ถ™์ด๊ธฐ
ํ…Œ์ŠคํŠธ
๋ฐฐํฌ

Architecture Views in UML

์™ธ์šฐ์„ธ์š”.
Activity Diagram : Business Modeling
Information Flow Diagram : Business Modeling
Use Case Modeling : Functional Requirement
Collaboration Diagram : Solution Design
Sequence Diagram : Solution Design
Class Diagram : Solution Design(์ฃผ๋กœ), (Problem Analysis)
State Machine Diagram :
Process Modeling View :
Component View :
Package Diagram :
Model Diagram :
Deployment Diagram :
Next chapter