(8์ฅ ๋ณต์ต)
< Data Design >
๋ฐ์ดํฐ ๊ฐ์ฒด๋ฅผ ์ํํธ์จ์ด ๊ตฌ์ฑ ์์ ์์ค์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ก ๋ณํํ๊ณ , ํ์ํ ๊ฒฝ์ฐ ์ ํ๋ฆฌ์ผ์ด์ ์์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํคํ ์ฒ๋ก ๋ณํํฉ๋๋ค.
- ์์ฉํ๋ก๊ทธ๋จ ์ํคํ ์ฒ๋ฅผ ์ง์ํ๋ ํ๋ ์ด์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ
- ์ ์ ํ ๋น์ฆ๋์ค ์์ค์ ์ ๋ณด๋ฅผ ์ถ์ถํ๊ธฐ ์ํด ๊ธฐ์กด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํ์ํ๋ ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ด์ฉ์ '๋ฐ์ดํฐ ๋ง์ด๋'ํ๋ ๋ฐฉ๋ฒ ์ค๊ณ
- ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค ์ค๊ณ—๋น์ฆ๋์ค์ ํ์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ธํธ๋ฅผ ์ ๊ณตํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ์ก์ธ์คํ ์ ์๋ ๋๊ท๋ชจ ๋ ๋ฆฝ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์: ๋น ๋ฐ์ดํฐ ๋ถ์, ๋ฐ์ดํฐ ๊ณผํ
9์ฅ. ์ค๊ณ ๋ชจ๋ธ๋ง
What is Architecture?
- ํ๋ก๊ทธ๋จ ๋๋ ์ปดํจํ ์์คํ ์ ์ํํธ์จ์ด ์ํคํ ์ฒ๋ ์ํํธ์จ์ด ๊ตฌ์ฑ์์์ ์ธ๋ถ์ ์ผ๋ก ๋ณด์ด๋ ํน์ฑ๊ณผ ๊ทธ๋ค ์ฌ์ด์ ๊ด๊ณ๋ฅผ ๊ตฌ์ฑํ๋ ์์คํ ์ ๊ตฌ์กฐ์ด๋ค.
- ์ํํธ์จ์ด ์์ง๋์ด๊ฐ ์๋ ์ฌํญ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ํํ
- ๋ช ์๋ ์๊ตฌ์ฌํญ์ ์ถฉ์กฑํ๋ ์ค๊ณ์ ํจ๊ณผ ๋ถ์
- ์ค๊ณ ๋ณ๊ฒฝ์ด ์ฌ์ ํ ๋น๊ต์ ์ฌ์ด ๋จ๊ณ์์ ์ํคํ ์ฒ ๋์์ ๊ณ ๋ คํฉ๋๋ค.
- ์ํํธ์จ์ด ๊ตฌ์ถ๊ณผ ๊ด๋ จ๋ ์ํ ๊ฐ์
๐ก Architecture Styles
- Data-centered architectures : ๋ฐ์ดํฐ ์ค์ฌ ์ค๊ณ
- Data flow architectures : ๋ฐ์ดํฐ ํ๋ก์ฐ ์ค๊ณ
- Call and return architectures : ํธ์ถ ๋ฐ ๋ฐํ ์ค๊ณ
- Layered architectures : ๋ ์ด์ด๋ ์ค๊ณ
Mapping Data Flow (DFD) Into a Software Architecture - ์ํํธ์จ์ด ์ํคํ ์ฒ๋ก์ ๋ฐ์ดํฐ ํ๋ฆ ๋งคํ
- ํธ์ถ ๋ฐ ๋ฐํ ์ํคํ ์ฒ
- ํ๋ฆ์ ์ํ
- ์ ์ ๋๋ ํ๋ฆ
- ์ค์ฌ ๋ณํ
- ๋๊ฐ๋ ํ๋ฆ
- ํธ๋์ญ์
ํ๋ฆ
- ์ฌ๋ฌ ๊ฒฝ๋ก ์ค ํ๋๋ฅผ ๋ฐ๋ผ ๋ค๋ฅธ ๋ฐ์ดํฐ ํ๋ฆ์ ํธ๋ฆฌ๊ฑฐํ๋ ํธ๋์ญ์
- ์์ ๊ฒฝ๋ก
- ๊ฑฐ๋ ์ผํฐ
Partitioning the Architecture : “horizontal” & “vertical” partitioning are required
- ์์ง ํํฐ์
๋
- ๊ฐ ์ฃผ์ ๊ธฐ๋ฅ์ ๋ํด ๋ชจ๋ ๊ณ์ธต์ ๊ฐ๋ณ ๋ถ๊ธฐ ํ์
- ์ปจํธ๋กค ๋ชจ๋์ ์ฌ์ฉํ์ฌ ๊ธฐ๋ฅ ๊ฐ ํต์ ์กฐ์
- ์ํ ํํฐ์
๋ : 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)
- ์ต์ ์ค๊ณ
- "์ต์ ์" ์ ๊ทผ ๋ฐฉ์(๋์์์)
'๐ ์ ๊ณต ๊ณต๋ถ > ์ํํธ์จ์ด๊ณตํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ํํธ์จ์ด๊ณตํ] 11์ฅ. ํ์ง๊ด๋ฆฌ (0) | 2023.04.23 |
---|---|
[์ํํธ์จ์ด๊ณตํ] 10์ฅ. ์ปดํฌ๋ํธ ๋ฐ UI ์ค๊ณ (0) | 2023.04.23 |
[์ํํธ์จ์ด๊ณตํ] 8์ฅ. ์ค๊ณ ๊ฐ๋ (0) | 2023.04.23 |
[์ํํธ์จ์ด๊ณตํ] ์์คํ ์๊ฐ : what is system? (1) | 2023.04.23 |
[์ํํธ์จ์ด๊ณตํ] 7์ฅ. ์๊ตฌ์ฌํญ ๋ถ์ ๋ชจ๋ธ๋ง (0) | 2023.04.23 |