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