UML (Unified Modeling Language) ํตํฉ ๋ชจ๋ธ๋ง ์ธ์ด๋ ?
์์คํ ๋ถ์, ์ค๊ณ, ๊ตฌํ ๋ฑ ์์คํ ๊ฐ๋ฐ ๊ณผ์ ์์ ์์คํ ๊ฐ๋ฐ์์ ๊ณ ๊ฐ ๋๋ ๊ฐ๋ฐ์ ์ํธ๊ฐ์ ์์ฌ์ํต์ด ์ํํ๊ฒ ์ด๋ฃจ์ด์ง๋๋ก ํ์คํํ ๋ํ์ ์ธ ๊ฐ์ฒด์งํฅ ๋ชจ๋ธ๋ง ์ธ์ด.
- UML ์ Rumbaught(OMT), Booch, Jacobson ๋ฑ์ ๊ฐ์ฒด์งํฅ ๋ฐฉ๋ฒ๋ก ์ ์ฅ์ ์ ํตํฉํ์์ผ๋ฉฐ,
๊ฐ์ฒด ๊ธฐ์ ๊ตญ์ ํ์คํ๊ธฐ๊ตฌ์ธ OMG์์ ํ์ค์ผ๋ก ์ง์ ๋จ
- UML ์ผ๋ก ์์คํ
๊ตฌ์กฐ๋ฅผ ํํํ๋ 6๊ฐ์ ๊ตฌ์กฐ ๋ค์ด์ด๊ทธ๋จ, ์์คํ
๋์์ ํํํ๋ 7๊ฐ ํ์ ๋ค์ด์ด๊ทธ๋จ ์์ฑ ๊ฐ๋ฅ.
๋ค์ด์ด๊ทธ๋จ์ ํตํด ์ฌ๋ฌผ๊ฐ์ ๊ด๊ณ๋ฅผ ํํํ๋ค.
๊ตฌ์ฑ์์: ์ฌ๋ฌผ(things), ๊ด๊ณ(relationship), ๋ค์ด์ด๊ทธ๋จ (Diagram) ๋ฑ๋ฑ
๋ชจ๋ธ๋ง ์ธ์ด๋? ์ฐ๋ฆฌ๊ฐ ๋ง๋ค๊ณ ์ ํ๋ ๊ฒ์ ์๊ฐ์ ์ผ๋ก ํํํ ์ ์๋ ํ๊ธฐ๋ฒ, ๋๊ตฌ ๋ฑ์ ๋งํ๋ค.
์ฃผ๋ก ๋ํ, ๊ธฐํธ, ํ
์คํธ ๋ฑ์ ์ด์ฉํด ์๊ฐ์ ์ผ๋ก ํํ๋จ.
์ฌ๋ฌผ (Things)
๋ชจ๋ธ์ ๊ตฌ์ฑํ๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์์. ๋ค์ด์ด๊ทธ๋จ ์์์ ๊ด๊ณ๊ฐ ํ์ฑ๋ ์ ์๋ ๋์๋ค์ ๋งํ๋ค.
๊ตฌ์กฐ ์ฌ๋ฌผ (Structual Things) |
- ์์คํ
์ ๊ฐ๋
์ , ๋ฌผ๋ฆฌ์ ์์๋ฅผ ํํ - class, use case, component, node ๋ฑ *component: ๋ฌธ์, ์์ค์ฝ๋, ํ์ผ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฑ ๋ชจ๋ํ๋ ์์ |
ํ๋ ์ฌ๋ฌผ (Behavioral Things) |
- ์๊ฐ๊ณผ ๊ณต๊ฐ์ ๋ฐ๋ฅธ ์์๋ค์ ํ์๋ฅผ ํํ - ์ํธ์์ฉ, ์ํ๋จธ์ ๋ฑ |
๊ทธ๋ฃน ์ฌ๋ฌผ (Grouping Things) |
- ์์๋ค์ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ด์ ํํ - ํจํค์ง |
์ฃผํด ์ฌ๋ฌผ (Annotation Things) |
- ๋ถ๊ฐ์ ์ธ ์ค๋ช
์ด๋ ์ ์ฝ ์กฐ๊ฑด๋ค์ ํํ - ๋ ธํธ (note) |
์ถ์ฒ: ์๋๊ณต ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ํ๊ธฐ 2023
๊ด๊ณ (Relationships)
์ฌ๋ฌผ๊ณผ ์ฌ๋ฌผ ์ฌ์ด์ ์ฐ๊ด์ฑ์ ํํํ๋ ๊ฒ.
์ข ๋ฅ: ์ฐ๊ด๊ด๊ณ, ์งํฉ๊ด๊ณ, ํฌํจ๊ด๊ณ, ์ผ๋ฐํ ๊ด๊ณ, ์์กด ๊ด๊ณ, ์ค์ฒดํ ๊ด๊ณ ๋ฑ
1) ์ฐ๊ด๊ด๊ณ (Association)
2๊ฐ ์ด์์ ์ฌ๋ฌผ์ด ์๋ก ๊ด๋ จ๋์ด ์์์ ๋ํ๋.
- ์ฌ๋ฌผ ์ฌ์ด๋ฅผ ์ค์ ์ผ๋ก ์ฐ๊ฒฐํ์ฌ ํํํ๋ฉฐ, ๋ฐฉํฅ์ฑ์ ํ์ดํ๋ก ํํํ๋ค.
- ์๋ก์๊ฒ ์ํฅ์ ์ฃผ๋ ์๋ฐฉํฅ์ ๊ฒฝ์ฐ ์ค์ ์ผ๋ก ํํํ๋ค.
- ์ฐ๊ด์ ์ฐธ์ฌํ๋ ๊ฐ์ฒด ๊ฐ์๋ฅผ ์ ์์ ํํํ๋ค = ๋ค์ค๋ (multiplicity)
2) ์งํฉ ๊ด๊ณ (Aggregation)
ํ๋์ ์ฌ๋ฌผ์ด ๋ค๋ฅธ ์ฌ๋ฌผ์๊ฒ ํฌํจ๋จ.
- ํฌํจํ๋ ์ชฝ(whole)๊ณผ ํฌํจ๋๋ ์ชฝ(part) ์ ์๋ก ๋
๋ฆฝ์ ์ด๋ค.
- ํฌํจํ๋ ์ชฝ์ ์์ด ๋น ๋ง๋ฆ๋ชจ๋ฅผ ์ฐ๊ฒฐํ์ฌ์ ํํํ๋ค.
์ํฉ์ ๋ฐ๋ผ ๊ด๊ณ๋ฅผ ์ ์ํ๋ ๋ฐฉ์์ด ๋ฌ๋ผ์ง ์ ์๊ธฐ ๋๋ฌธ์ ์ด์ง ์ ๋งคํ๊ฒ ๋๊ปด์ก๋ค.
์๋ฅผ ๋ค์ด์ ํ๋ฆฐํฐ๊ฐ ์ปดํจํฐ๋ ๋จ์ํ ์ฐ๊ด ๊ด๊ณ (Association) ๋ก๋ ์ ์ํ ์๋ ์๋ค.
๊ทธ๋ฌ๋ ์ผ๋ฐ์ ์ผ๋ก๋ ์ปดํจํฐ๊ฐ ์ ์ฒด whole ์ด๊ณ , ํ๋ฆฐํฐ๊ฐ ๋ถ๋ถ part์ด๋ค. ํ๋ฆฐํฐ๋ ์ปดํจํฐ์ ์ฐ๊ฒฐ๋์ด ์๋ํ์ง๋ง ๋
๋ฆฝ์ ์ผ๋ก๋ ์กด์ฌํ ์ ์๊ณ ์ด ํ๋ฆฐํฐ๋ ๋ค๋ฅธ ์ปดํจํฐ์ ์ฐ๊ฒฐํ ์๋ ์๋ค.
3) ํฌํจ ๊ด๊ณ
์งํฉ ๊ด๊ณ์ ํน์ํ ํํ๋ก, ํฌํจํ๋ ์ฌ๋ฌผ์ ๋ณํ๊ฐ ํฌํจ๋๋ ์ฌ๋ฌผ์๊ฒ ์ํฅ์ ๋ฏธ์น๋ ๊ด๊ณ
- whole๊ณผ part๋ ์๋ก ๋
๋ฆฝ๋ ์ ์๊ณ ์๋ช
์ฃผ๊ธฐ๋ฅผ ํจ๊ป ํ๋ค.
- ํฌํจํ๋ ์ชฝ์ ์์ด ์ฑ์์ง ๋ง๋ฆ๋ชจ๋ฅผ ์ฐ๊ฒฐํ์ฌ์ ํํํ๋ค.
4) ์ผ๋ฐํ ๊ด๊ณ
ํ๋์ ์ฌ๋ฌผ์ด ๋ค๋ฅธ ์ฌ๋ฌผ์ ๋นํด ๋ ์ผ๋ฐ์ ์ธ์ง, ๊ตฌ์ฒด์ ์ธ์ง๋ฅผ ํํํ๋ค.
ex) ๋จ์, ์ฌ์, ์ฌ๋ = ์ฌ๋์ด ๋์ฑ ์ผ๋ฐ์ ์ด๊ณ , ๋จ์์ ์ฌ์๋ ์ฌ๋๋ณด๋ค ๊ตฌ์ฒด์ ์ด๋ค.
์ด๋ ์ฌ๋์ด ์์๊ฐ๋
์ฆ ๋ถ๋ชจ์ด๊ณ ๋จ์, ์ฌ์๋ ํ์ ๊ฐ๋
, ์์์ด๋ค.
5) ์์กด๊ด๊ณ
์ฐ๊ด๊ด๊ณ์ ๊ฐ์ด ์ฌ๋ฌผ ์ฌ์ด์ ์๋ก ์ฐ๊ด์ด ์๋ค.
๊ทธ๋ฌ๋ ํ์์ ์ํด ์๋ก์๊ฒ ์ํฅ์ ์ฃผ๋ ์งง์ ์๊ฐ ๋์๋ง ์ฐ๊ด์ ์ ์งํ๋ ๊ด๊ณ๋ฅผ ํํํ๋ค.
- ๊ด๊ณ์ ์๋ ์ฌ๋ฌผ๋ค์ด ์์ ๊ด๊ณ๋ ์๋๋, ํ ์ฌ๋ฌผ์ ๋ณํ๊ฐ ๋ค๋ฅธ ์ฌ๋ฌผ์๋ ์ํฅ์ ์ฃผ๋ ๊ด๊ณ์ด๋ค.
- ํ ํด๋์ค๊ฐ ๋ค๋ฅธ ํด๋์ค๋ฅผ ์คํผ๋ ์ด์
(๋ฉ์๋)์ ๋งค๊ฐ๋ณ์๋ก ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์ ๋ํ๋๋ ๊ด๊ณ์ด๋ค.
ex) ๋ฑ๊ธ์ด ๋์๋ ํ ์ธ์จ์ ์ ์ฉํ๊ณ ๋ฎ์ผ๋ฉด ํ ์ธ ์ ์ฉํ์ง ์๋๋ค. ์ด๋ ๋ฑ๊ธ์ ๋งค๊ฐ๋ณ์๋ก ๊ฐ์ ธ์ผ ํ ์ธ์จ ๊ณ์ฐ ๊ฐ๋ฅ.
- ์ํฅ์ ์ฃผ๋ ์ฌ๋ฌผ์ด (์ด์ฉ์) ์ํฅ์ ๋ฐ๋ ์ฌ๋ฌผ (์ ๊ณต์) ์ชฝ์ผ๋ก ์ ์ ํ์ดํ๋ฅผ ์ฐ๊ฒฐํ์ฌ ํํํ๋ค.
6) ์ค์ฒดํ ๊ด๊ณ
์ฌ๋ฌผ์ด ํ ์ ์๊ฑฐ๋ ํด์ผํ๋ ๊ธฐ๋ฅ์ผ๋ก ์๋ก๋ฅผ ๊ทธ๋ฃนํํ ์ ์๋ ๊ด๊ณ
- ํ ์ฌ๋ฌผ์ด ๋ค๋ฅธ ์ฌ๋ฌผ์๊ฒ ์คํผ๋ ์ด์
์ ์ํํ๋๋ก ์ง์ ํ๋ ์๋ฏธ์ ๊ด๊ณ์ด๋ค.
- ์ฌ๋ฌผ์์ ๊ธฐ๋ฅ ์ชฝ์ผ๋ก ์์ด ๋น ์ ์ ํ์ดํ๋ฅผ ์ฐ๊ฒฐํ์ฌ ํํํ๋ค.
๋ค์ด์ด๊ทธ๋จ (Diagram)
์ฌ๋ฌผ๊ณผ ๊ด๊ณ๋ฅผ ๋ํ์ผ๋ก ํํํ ๊ฒ.
- ์ฌ๋ฌ ๊ด์ ์์ ์์คํ
์ ๊ฐ์ํํ ๋ทฐ๋ฅผ ์ ๊ณตํจ์ผ๋ก์จ ์์ฌ์ํต์ ๋์์ ์ค๋ค.
- ์ ์ ๋ชจ๋ธ๋ง์์๋ ์ฃผ๋ก ๊ตฌ์กฐ์ ๋ค์ด์ด๊ทธ๋จ, ๋์ ๋ชจ๋ธ๋ง์์๋ ํ์ ๋ค์ด์ด๊ทธ๋จ ์ฌ์ฉ.
๊ตฌ์กฐ์ ๋ค์ด์ด๊ทธ๋จ์ ์ข
๋ฅ (Structual)
ํด๋์ค ๋ค์ด์ด๊ทธ๋จ, ๊ฐ์ฒด ๋ค์ด์ด๊ทธ๋จ, ์ปดํฌ๋ํธ ๋ค์ด์ด๊ทธ๋จ, ๋ฐฐ์น ๋ค์ด์ด๊ทธ๋จ, ๋ณตํฉ์ฒด ๊ตฌ์กฐ ๋ค์ด์ด๊ทธ๋จ, ํจํค์ง ๋ค์ด์ด๊ทธ๋จ
ํ์ ๋ค์ด์ด๊ทธ๋จ์ ์ข
๋ฅ (Behavioral)
์ ์ค์ผ์ด์ค ๋ค์ด์ด๊ทธ๋จ, ์์ฐจ ๋ค์ด์ด๊ทธ๋จ, ์ปค๋ฎค๋์ผ์ด์
๋ค์ด์ด๊ทธ๋จ, ์ํ ๋ค์ด์ด๊ทธ๋จ, ํ๋ ๋ค์ด์ด๊ทธ๋จ ๋ฑ
์ด ์ค ์ฃผ์ ๋ค์ด์ด๊ทธ๋จ๋ค์ ๋ค์ ๊ฒ์๊ธ์ ..
'Computer Science > ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ๊ณต๋ถ๊ธฐ๋ก' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[240713] ์ฃผ์ UML ๋ค์ด์ด๊ทธ๋จ (์ ์ค์ผ์ด์ค ๋ค์ด์ด๊ทธ๋จ, ํด๋์ค ๋ค์ด์ด๊ทธ๋จ, ์์ฐจ ๋ค์ด์ด๊ทธ๋จ) (0) | 2024.07.13 |
---|---|
[240712] ์๊ตฌ์ฌํญ ๋ถ์ CASE์ HIPO (0) | 2024.07.12 |
[240705] ์๊ตฌ์ฌํญ ์ ์ / ๊ฐ๋ฐ์์ค๋ฌ์ด ๋ง์ธ๋๋ฅผ ๊ฐ์ ธ์ผ์ง.. (0) | 2024.07.05 |
[240628] ๊ฐ๋ฐ ๊ธฐ์ ํ๊ฒฝ ํ์ (0) | 2024.06.29 |
[240621] ํํ ์์คํ ํ์ (0) | 2024.06.23 |