1. ์ํํธ์จ์ด ์๋ช ์ฃผ๊ธฐ
์ํํธ์จ์ด ์๋ช ์ฃผ๊ธฐ
์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ๊ธฐ ์ํด ์ ์ํ๊ณ ์ด์ฉ, ์ ์ง๋ณด์ ๋ฑ์ ๊ณผ์ ์ ๊ฐ ๋จ๊ณ๋ณ๋ก ๋๋๊ฒ
ํญํฌ์ ๋ชจํ (Waterfall Model)
- ํญํฌ์์ ํ๋ฒ ๋จ์ด์ง ๋ฌผ์ ๊ฑฐ์ฌ๋ฌ ์ฌ๋ผ๊ฐ ์ ์๋ฏ์ด ์ํํธ์จ์ด ๊ฐ๋ฐ๋ ์ด์ ๋จ๊ณ๋ก ๋์๊ฐ ์ ์์
- ์ํํธ์จ์ด ๊ฐ๋ฐ ๊ณผ์ ์ ํ ๋จ๊ณ๊ฐ ๋๋์ผ๋ง ๋ค์ ๋จ๊ณ๋ก ๋์ด๊ฐ ์ ์์
- ๋ค์ ๋จ๊ณ๋ฅผ ์ํํ๊ธฐ ์ํ ๊ฒฐ๊ณผ๋ฌผ์ด ๋ช ํํ๊ฒ ์ฐ์ถ๋์ด์ผ ํจ
- ์ํํธ์จ์ด ๊ณตํ์์ ๊ฐ์ฅ ํญ ๋๊ฒ ์ฌ์ฉํ๋ ๋ชจํ
ํ๋กํ ํ์ ๋ชจํ (Prototype Model, ์ํ ๋ชจํ)
์ฌ์ฉ์์ ์๊ตฌ์ฌํญ์ ์ ํํ ํ์ ํ๊ธฐ ์ํด ์ค์ ๊ฐ๋ฐ๋ ์ํํธ์จ์ด์ ๋ํ ๊ฒฌ๋ณธ(์์ )ํ์ ๋ง๋ค์ด ์ต์ข ๊ฒฐ๊ณผ๋ฌผ ์์ธกํ๋ ๋ชจํ
๋์ ํ ๋ชจํ (Spiral Model, ์ ์ง์ ๋ชจํ, Bohem)
ํญํฌ์ ๋ชจํ, ํ๋กํ ํ์ ๋ชจํ์ ์ฅ์ + ์ํ ๋ถ์ ๊ธฐ๋ฅ + ์ ์ง์ ๋ชจํ
- ๋๊ท๋ชจ ์์คํ ์ ์ ํฉ
- ์ด๊ธฐ์ ์ํ ์์๋ฅผ ๋ฐ๊ฒฌํ์ง ๋ชปํ ๊ฒฝ์ฐ, ์ํ ์์๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ํด ๋ง์ ๋น์ฉ์ด ์์
- ๋ฐ์ํ ์ ์๋ ์ํ์ ๊ด๋ฆฌํ์ฌ ์ต์ํํ๋ ๊ฒ์ด ๋ชฉ์
์ ์์ผ ๋ชจํ(Agile Model) = (์คํ๋ฆฐํธ(Sprint) ๋๋ ์ดํฐ๋ ์ด์ (Iteration))
- ๊ณ ๊ฐ์ ์๊ตฌ์ฌํญ ๋ณํ์ ์ ์ฐํ๊ฒ ๋์ํ ์ ์๋๋ก ์ผ์ ํ ์ฃผ๊ธฐ๋ฅผ ๋ฐ๋ณตํ๋ฉด์ ๊ฐ๋ฐ๊ณผ์ ์งํ
- ๋ฐ๋ณต๋๋ ์ฃผ๊ธฐ๋ง๋ค ๋ง๋ค์ด์ง๋ ๊ฒฐ๊ณผ๋ฌผ์ ๋ํ ๊ณ ๊ฐ ํ๊ฐ์ ์๊ตฌ ์ ๊ทน ์์ฉ
• ์ ์์ผ ๋ชจํ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ ๋ชจํ
์คํฌ๋ผ(Scrum), XP(eXtreme Programming), ์นธ๋ฐ(Kanban), Lean, ํฌ๋ฆฌ์คํ, ASD ๋ฑ
• ์ ์์ผ ๊ฐ๋ฐ 4๊ฐ์ง ํต์ฌ ์ค์ ๊ฐ์น
1. ๊ฐ์ธ๊ณผ์ ์ํธ์์ฉ
2. ์คํ๋๋ SW
3. ๊ณ ๊ฐ๊ณผ ํ์ ํ๋ ๊ฒ
4. ๋ณํ์ ๋ฐ์ํ๋ ๊ฒ
2. ์คํฌ๋ผ(Scrum) ๊ธฐ๋ฒ
์คํฌ๋ผ
ํ์ด ์ค์ฌ์ด ๋์ด ๊ฐ๋ฐ์ ํจ์จ์ฑ์ ๋์ธ๋ค
• ์ ํ ์ฑ ์์ (PO; Product Owner)
- ์ดํด๊ด๊ณ์๋ค ์ค ์ ํ์ ๋ํ ์ดํด๋๊ฐ ๋๊ณ , ์๊ตฌ์ฌํญ์ ์ฑ ์์ง๊ณ ์์ฌ๊ฒฐ์ ์ ํจ, ์ฃผ๋ก ๊ฐ๋ฐ ์๋ขฐ์, ์ฌ์ฉ์๊ฐ ๋ด๋น
- ์๊ตฌ์ฌํญ์ด ๋ด๊ธด ๋ฐฑ๋ก๊ทธ(Backlog) ์์ฑ, ๋ฐฑ๋ก๊ทธ์ ๋ํ ์ฐ์ ์์ ์ง์
* ๋ฐฑ๋ก๊ทธ : ์ ํ ๊ฐ๋ฐ์ ํ์ํ ์๊ตฌ์ฌํญ์ ๋ชจ๋ ๋ชจ์ ์ฐ์ ์์๋ฅผ ๋ถ์ฌํด ๋์ ๋ชฉ๋ก
• ์คํฌ๋ผ ๋ง์คํฐ (SM; Scrum Master)
- ์คํฌ๋ผ ํ์ด ์คํฌ๋ผ์ ์ ์ํํ ์ ์๋๋ก ๊ฐ๊ด์ ์ธ ์๊ฐ์์ ์กฐ์ธ์ ํด์ฃผ๋ ๊ฐ์ด๋ ์ญํ
- ์งํ ์ฌํญ ์ ๊ฒ, ์ฅ์ ์์ ๊ณต๋ก ํํด ์ฒ๋ฆฌ
• ๊ฐ๋ฐํ (DT; Development Team)
- PO์ SM์ ์ ์ธํ ๋ชจ๋ ํ์
- ๋ฐฑ๋ก๊ทธ์ ์คํ ๋ฆฌ๋ฅผ ์ถ๊ฐํ๋ ๊ฒ ๊ฐ๋ฅ, ์ฐ์ ์์๋ ์ง์ ๋ชปํจ
* ์คํ ๋ฆฌ : ๋ฐฑ๋ก๊ทธ์ ์์ฑ๋๋ ์๊ตฌ์ฌํญ
์คํฌ๋ผ ๊ฐ๋ฐ ํ๋ก์ธ์ค
1. ์ ํ ๋ฐฑ๋ก๊ทธ (Product Backlog)
- ์ ํ ๊ฐ๋ฐ์ ํ์ํ ๋ชจ๋ ์๊ตฌ์ฌํญ์ ์ฐ์ ์์์ ๋ฐ๋ผ ๋์ดํ ๋ชฉ๋ก
- ์ ํ ๋ฐฑ๋ก๊ทธ์ ์์ฑ๋ ์ฌ์ฉ์ ์คํ ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ์ฒด ์ผ์ ๊ณํ์ธ ๋ฆด๋ฆฌ์ฆ ๊ณํ(Release Plan) ์๋ฆฝ
2. ์คํ๋ฆฐํธ ๊ณํํ์ (Sprint Planning Meeting)
- ์ ํ ๋ฐฑ๋ก๊ทธ ์ค ์ด๋ฒ ์คํ๋ฆฐํธ์์ ์ํํ ์์ ์ ๋์์ผ๋ก ๋จ๊ธฐ ์ผ์ ์ ์๋ฆฝ
3. ์คํ๋ฆฐํธ (Sprint)
- ์ค์ ๊ฐ๋ฐ ์์ ๊ณผ์
4. ์ผ์ผ ์คํฌ๋ผ ํ์ (Daily Scrum Meeting)
- ์ฝ 15๋ถ, ๋งค์ผ ์ฝ์๋ ์๊ฐ์ ์งง์ ์๊ฐ ์์ ๋ชจ๋ ํ์์ด ์งํ์ํฉ ์ ๊ฒ
- ๋จ์ ์์ ์๊ฐ์ ์๋ฉธ ์ฐจํธ(Burn-down Chart)์ ํ์
5. ์คํ๋ฆฐํธ ๊ฒํ ํ์ (Sprint Review)
- ์๊ตฌ์ฌํญ์ ์ ๋ถํฉ๋๋์ง ์ฌ์ฉ์ ํฌํจ ์ฐธ์์ ์์์ ํ ์คํ
- ๊ฐ์ ํ ์ฌํญ์ ๋ํ ํผ๋๋ฐฑ์ด ์ ๋ฆฌ๋๋ฉด, PO๋ ๋ค์ ์คํ๋ฆฐํธ์ ๋ฐ์ํ ์ ์๋๋ก ์ ํ ๋ฐฑ๋ก๊ทธ๋ฅผ ์ ๋ฐ์ดํธ
6. ์คํ๋ฆฐํธ ํ๊ณ (Sprint Retrospective)
- ์คํ๋ฆฐํธ ์ฃผ๊ธฐ๋ฅผ ๋๋์๋ณด๋ฉฐ ๊ท์น์ ์ ์ค์ํ๋์ง, ๊ฐ์ ํ ์ ์ด ์๋์ง ๊ฒํ ํ๊ณ ๊ธฐ๋ก
3. XP (eXtreme Programming)
XP (eXtreme Programming)
์์๋ก ๋ฐ์ํ๋ ๊ณ ๊ฐ์ ์๊ตฌ์ฌํญ์ ์ ์ฐํ๊ฒ ๋์ํ๊ธฐ ์ํด ๊ณ ๊ฐ์ ์ฐธ์ฌ์ ๊ฐ๋ฐ ๊ณผ์ ์ ๋ฐ๋ณต์ ๊ทน๋ํํ์ฌ ๊ฐ๋ฐ ์์ฐ์ฑ์ ํฅ์์ํค๋ ๋ฐฉ๋ฒ
• XP์ 5๊ฐ์ง ํต์ฌ ๊ฐ์น
1) ์์ฌ์ํต
2) ๋จ์์ฑ
3) ์ฉ๊ธฐ
4) ์กด์ค
5) ํผ๋๋ฐฑ
XP ๊ฐ๋ฐ ํ๋ก์ธ์ค
• ์ฌ์ฉ์ ์คํ ๋ฆฌ (User Story)
- ๊ณ ๊ฐ์ ์๊ตฌ์ฌํญ์ ๊ฐ๋จํ ์๋๋ฆฌ์ค๋ก ํํํ ๊ฒ
- ๋ด์ฉ์ ๊ธฐ๋ฅ ๋จ์๋ก ๊ตฌ์ฑ, ํ์ํ ๊ฒฝ์ฐ ๊ฐ๋จํ ํ ์คํธ ์ฌํญ(Test Case)๋ ๊ธฐ์ฌ
• ๋ฆด๋ฆฌ์ฆ ๊ณํ ์๋ฆฝ (Release Planning)
- ๋ช ๊ฐ์ ์คํ ๋ฆฌ๊ฐ ์ ์ฉ๋์ด ๋ถ๋ถ์ ์ผ๋ก ๊ธฐ๋ฅ์ด ์๋ฃ๋ ์ ํ์ ์ ๊ณตํ๋ ๊ฒ
- ๋ถ๋ถ ํน์ ์ ์ฒด ๊ฐ๋ฐ ์๋ฃ ์์ ์ ๋ํ ์ผ์ ์๋ฆฝ
* ๋ฆด๋ฆฌ์ฆ(Release) : ๋ช ๊ฐ์ ์๊ตฌ์ฌํญ์ด ์ ์ฉ๋์ด ๋ถ๋ถ์ ์ผ๋ก ๊ธฐ๋ฅ์ด ์๋ฃ๋ ์ ํ์ ์ ๊ณตํ๋ ๊ฒ
• ์คํ์ดํฌ (Spike)
- ์๊ตฌ์ฌํญ์ ์ ๋ขฐ์ฑ์ ๋์ด๊ณ ๊ธฐ์ ๋ฌธ์ ์ ๋ํ ์ํ์ ๊ฐ์์ํค๊ธฐ ์ํด ๋ณ๋๋ก ๋ง๋๋ ๊ฐ๋จํ ํ๋ก๊ทธ๋จ
- ์ฒ๋ฆฌํ ๋ฌธ์ ์ธ์ ๋ค๋ฅธ ์กฐ๊ฑด์ ๋ชจ๋ ๋ฌด์ํ๊ณ ์์ฑ
• ์ฃผ๊ธฐ (Iteration, ์ดํฐ๋ ์ด์ )
- ํ๋์ ๋ฆด๋ฆฌ์ฆ๋ฅผ ๋ ์ธ๋ถํ ํ ๋จ์
• ์น์ธ ๊ฒ์ฌ (Acceptance Test, ์ธ์ ํ ์คํธ)
- ํ๋์ ์ดํฐ๋ ์ด์ ์์์ ๊ณํ๋ ๋ฆด๋ฆฌ์ฆ ๋จ์์ ๋ถ๋ถ ์๋ฃ ์ ํ์ด ๊ตฌํ๋๋ฉด ์ํํ๋ ํ ์คํธ
• ์๊ท๋ชจ ๋ฆด๋ฆฌ์ฆ (Small Release)
- ๋ฆด๋ฆฌ์ฆ๋ฅผ ์๊ท๋ชจ๋ก ํ๊ฒ ๋๋ฉด, ๊ณ ๊ฐ์ ๋ฐ์์ ๊ธฐ๋ฅ๋ณ๋ก ํ์ธํ ์ ์์ด, ๊ณ ๊ฐ์ ์๊ตฌ์ฌํญ์ ์ข ๋ ์ ์ฐํ๊ฒ ๋์ ๊ฐ๋ฅ
• XP์ ์ฃผ์ ์ค์ฒ ๋ฐฉ๋ฒ
- Pair Programming (์ง ํ๋ก๊ทธ๋๋ฐ)
- Test-Driven Development (ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ)
- Whole Team (์ ์ฒด ํ)
- Continuous Integration (๊ณ์์ ์ธ ํตํฉ)
- Design Improvement (๋์์ธ ๊ฐ์ ) ๋๋ Refactoring (๋ฆฌํฉํ ๋ง)
- Small Releases (์๊ท๋ชจ ๋ฆด๋ฆฌ์ฆ)
6. ์๊ตฌ์ฌํญ ์ ์
์๊ตฌ์ฌํญ
์ด๋ ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํ์ํ ์กฐ๊ฑด์ด๋ ์ ์ฝ์ฌํญ์ ์๊ตฌํ๋ ๊ฒ
์๊ตฌ์ฌํญ์ ์ ํ
์ ํ |
๋ด์ฉ |
|
๊ธฐ๋ฅ ์๊ตฌ์ฌํญ (Functional requirements) |
- ์์คํ ์ด ๋ฌด์์ ํ๋์ง, ์ด๋ค ๊ธฐ๋ฅ์ ํ๋์ง์ ๋ํ ์ฌํญ - ์์คํ
์ ์
๋ ฅ์ด๋ ์ถ๋ ฅ์ผ๋ก ๋ฌด์์ด ํฌํจ๋์ด์ผ ํ๋์ง, ์์คํ
์ด ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ฑฐ๋ ์ฐ์ฐ์ ์ํํด์ผ ํ๋์ง์ ๋ํ ์ฌํญ - ์์คํ
์ด ๋ฐ๋์ ์ํํด์ผ ํ๋ ๊ธฐ๋ฅ - ์ฌ์ฉ์๊ฐ ์์คํ ์ ํตํด ์ ๊ณต๋ฐ๊ธฐ๋ฅผ ์ํ๋ ๊ธฐ๋ฅ |
|
๋น๊ธฐ๋ฅ ์๊ตฌ์ฌํญ (Non-functional requirements) |
- ์์คํ ์ฅ๋น ๊ตฌ์ฑ ์๊ตฌ์ฌํญ - ์ฑ๋ฅ ์๊ตฌ์ฌํญ - ์ธํฐํ์ด์ค ์๊ตฌ์ฌํญ - ๋ฐ์ดํฐ ์๊ตฌ์ฌํญ - ํ ์คํธ ์๊ตฌ์ฌํญ - ๋ณด์ ์๊ตฌ์ฌํญ - ํ์ง ์๊ตฌ์ฌํญ : ๊ฐ์ฉ์ฑ, ์งํฉ์ฑ, ์ํธ ํธํ์ฑ, ๋์์ฑ, ์ ๋ขฐ์ฑ, ์ฌ์ฉ์ฑ, ์ ์ง๊ด๋ฆฌ์ฑ, ์ด์์ฑ,ํ์ฅ์ฑ, ๋ณด์์ฑ ๋ฑ์ผ๋ก ๊ตฌ๋ถํด ๊ธฐ์ - ์ ์ฝ ์ฌํญ - ํ๋ก์ ํธ ๊ด๋ฆฌ ์๊ตฌ์ฌํญ - ํ๋ก์ ํธ ์ง์ ์๊ตฌ์ฌํญ |
|
์ฌ์ฉ์ ์๊ตฌ์ฌํญ (User requirements) |
- ์ฌ์ฉ์ ๊ด์ ์์ ๋ณธ ์์คํ ์ด ์ ๊ณตํด์ผ ํ ์๊ตฌ์ฌํญ - ์ฌ์ฉ์๋ฅผ ์ํ ๊ฒ์ผ๋ก ์น์ํ ํํ์ผ๋ก ์ดํดํ๊ธฐ ์ฝ๋ค |
|
์์คํ ์๊ตฌ์ฌํญ (System requirements) |
- ๊ฐ๋ฐ์ ๊ด์ ์์ ๋ณธ ์์คํ ์ ์ฒด๊ฐ ์ฌ์ฉ์์ ๋ค๋ฅธ ์์คํ ์ ์ ๊ณตํด์ผ ํ ์๊ตฌ์ฌํญ - ์ฌ์ฉ์ ์๊ตฌ์ฌํญ์ ๋นํด ์ ๋ฌธ์ ์ด๊ณ ๊ธฐ์ ์ ์ธ ์ฉ์ด๋ก ํํ - ์ํํธ์จ์ด ์๊ตฌ์ฌํญ์ด๋ผ๊ณ ๋ ํจ |
์๊ตฌ์ฌํญ ๊ฐ๋ฐ ํ๋ก์ธ์ค
์๊ตฌ๊ณตํ : ๋ฌด์์ ๊ฐ๋ฐํด์ผ ํ๋์ง ์๊ตฌ์ฌํญ์ ์ ์ํ๊ณ , ๋ถ์ ๋ฐ ๊ด๋ฆฌํ๋ ํ๋ก์ธ์ค๋ฅผ ์ฐ๊ตฌํ๋ ํ๋ฌธ
1. ์๊ตฌ์ฌํญ ๋์ถ (Requirement Elicitation, ์๊ตฌ์ฌํญ ์์ง)
์์คํ , ์ฌ์ฉ์, ๊ทธ๋ฆฌ๊ณ ์์คํ ๊ฐ๋ฐ์ ๊ด๋ จ๋ ์ฌ๋๋ค์ด ์๋ก ์๊ฒฌ์ ๊ตํํ์ฌ ์๊ตฌ์ฌํญ์ด ์ด๋์ ์๋์ง, ์ด๋ป๊ฒ ์์งํ ๊ฒ์ธ์ง๋ฅผ ์๋ณํ๊ณ ์ดํดํ๋ ๊ณผ์
2. ์๊ตฌ์ฌํญ ๋ถ์ (Requirement Analysis)
๊ฐ๋ฐ ๋์์ ๋ํ ์ฌ์ฉ์์ ์๊ตฌ์ฌํญ ์ค ๋ช ํํ์ง ์๊ฑฐ๋ ๋ชจํธํ์ฌ ์ดํด๋์ง ์๋ ๋ถ๋ถ์ ๋ฐ๊ฒฌํ๊ณ ์ด๋ฅผ ๊ฑธ๋ฌ๋ด๊ธฐ ์ํ ๊ณผ์
3. ์๊ตฌ์ฌํญ ๋ช ์ธ (Requirement Specification, ์๊ตฌ์ฌํญ ๋ฌธ์ํ)
์๊ตฌ์ฌํญ์ ์ฒด๊ณ์ ์ผ๋ก ๋ถ์ํ ํ ์น์ธ๋ ์ ์๋๋ก ๋ฌธ์ํํ๋ ๊ฒ
4. ์๊ตฌ์ฌํญ ํ์ธ (Requirement Validation, ์๊ตฌ์ฌํญ ๊ฒ์ฆ)
๊ฐ๋ฐ ์์์ ์๊ตฌ์ฌํญ์ ํ ๋นํ๊ธฐ ์ ์ ์๊ตฌ์ฌํญ ๋ช ์ธ์๊ฐ ์ ํํ๊ณ ์์ ํ๊ฒ ์์ฑ๋์๋์ง ๊ฒํ ํ๋ ํ๋์ผ๋ก, ๊ด๋ฆฌ ๋๊ตฌ๋ฅผ ์ด์ฉํ์ฌ ๊ต๊ตฌ์ฌํญ ์ ์ ๋ฌธ์๋ค์ ๋ํด ํ์ ๊ด๋ฆฌ๋ฅผ ์ํ
๏ผ ํ์ ๊ด๋ฆฌ (SCM; Software Configuration Management) : ์ํํธ์จ์ด์ ๊ฐ๋ฐ ๊ณผ์ ์์ ๋ง๋ค์ด์ง๋ ํ์๋ค์ ๋ณ๊ฒฝ ์ฌํญ์ ๊ด๋ฆฌํ๋ ์ผ๋ จ์ ํ๋
9. UML (Unified Modeling Language)
UML
์์คํ ๊ฐ๋ฐ์์ ๊ณ ๊ฐ ๋๋ ๊ฐ๋ฐ์ ์ํธ๊ฐ์ ์์ฌ์ํต์ด ์ํํ๊ฒ ์ด๋ฃจ์ด์ง๋๋ก ํ์คํํ ๋ํ์ ์ธ ๊ฐ์ฒด์งํฅ ๋ชจ๋ธ๋ง ์ธ์ด
- Rumbaugh, Booch, Jacobson ๋ฑ ๊ฐ์ฒด์งํฅ ๋ฐฉ๋ฒ๋ก ์ ์ฅ์ ์ ํตํฉ
- UML์ ๊ตฌ์ฑ ์์ : ์ฌ๋ฌผ, ๊ด๊ณ, ๋ค์ด์ด๊ทธ๋จ ๋ฑ
์ฌ๋ฌผ (Things)
๋ชจ๋ธ์ ๊ตฌ์ฑํ๋ ๊ฐ์ฅ ์ค์ํ ๊ธฐ๋ณธ ์์, ๋ค์ด์ด๊ทธ๋จ ์์์ ๊ด๊ณ๊ฐ ํ์ฑ๋ ์ ์๋ ๋์๋ค์ ์๋ฏธ
์ฌ๋ฌผ |
๋ด์ฉ |
๊ตฌ์กฐ ์ฌ๋ฌผ(Structural Things) |
- ์์คํ ์ ๊ฐ๋ ์ , ๋ฌผ๋ฆฌ์ ์์ ํํ - ํด๋์ค(Class), ์ ์ค์ผ์ด์ค(Use Case), ์ปดํฌ๋ํธ(Component), ๋ ธ๋(Node) ๋ฑ |
ํ๋ ์ฌ๋ฌผ(Behavioral Things) |
- ์๊ฐ๊ณผ ๊ณต๊ฐ์ ๋ฐ๋ฅธ ์์๋ค์ ํ์ ํํ - ์ํธ์์ฉ(Interaction), ์ํ ๋จธ์ (State Machine) ๋ฑ |
๊ทธ๋ฃน ์ฌ๋ฌผ(Grouping Things) |
- ์์๋ค์ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ด์ ํํ - ํจํค์ง(Package) |
์ฃผํด ์ฌ๋ฌผ(Annotation Things) |
- ๋ถ๊ฐ์ ์ธ ์ค๋ช ์ด๋ ์ ์ฝ์กฐ๊ฑด ๋ฑ ํํ - ๋ ธํธ(Note) |
๊ด๊ณ (Relationships)
์ฌ๋ฌผ๊ณผ ์ฌ๋ฌผ ์ฌ์ด์ ์ฐ๊ด์ฑ์ ํํํ๋ ๊ฒ
• ์ฐ๊ด ๊ด๊ณ
2๊ฐ ์ด์์ ์ฌ๋ฌผ์ด ์๋ก ๊ด๋ จ๋์ด ์์์ ํํ (์ ์๋ - ํ์)
• ์งํฉ ๊ด๊ณ
ํ๋์ ์ฌ๋ฌผ์ด ๋ค๋ฅธ ์ฌ๋ฌผ์ ํฌํจ๋์ด ์๋ ๊ด๊ณ (์ปดํจํฐ - ํ๋ฆฐํฐ)
• ํฌํจ ๊ด๊ณ
์งํฉ ๊ด๊ณ์ ํน์ ํํ (๋ฌธ - ์ด์ )
•์ผ๋ฐํ ๊ด๊ณ (๋๋ถ๋ฅ์ ์๋ถ๋ฅ)
ํ๋์ ์ฌ๋ฌผ์ด ๋ค๋ฅธ ์ฌ๋ฌผ์ ๋นํด ๋ ์ผ๋ฐ์ ์ธ์ง ๊ตฌ์ฒด์ ์ธ์ง ํํ (์ปคํผ - ์๋ฉ๋ฆฌ์นด๋ ธ, ์์คํ๋ ์ค)
• ์์กด ๊ด๊ณ
์ฌ๋ฌผ ์ฌ์ด์ ์๋ก ์ฐ๊ด์ ์์ผ๋ ํ์์ ์ํด ์๋ก์๊ฒ ์ํฅ์ ์ฃผ๋ ์งง์ ์๊ฐ ๋์๋ง ์ฐ๊ด์ ์ ์งํ๋ ๊ด๊ณ (๋ฑ๊ธ - ํ ์ธ์จ)
• ์ค์ฒดํ ๊ด๊ณ
์ฌ๋ฌผ์ด ํ ์ ์๊ฑฐ๋ ํด์ผ ํ๋ ๊ธฐ๋ฅ์ผ๋ก ์๋ก๋ฅผ ๊ทธ๋ฃนํ ํ ์ ์๋ ๊ด๊ณ (๋ ์ ์๋ - ์, ๋นํ๊ธฐ)
๋ค์ด์ด๊ทธ๋จ (Diagram)
์ฌ๋ฌผ๊ณผ ๊ด๊ณ๋ฅผ ๋ํ์ผ๋ก ํํํ ๊ฒ
• ๊ตฌ์กฐ์ (Structural) ๋ค์ด์ด๊ทธ๋จ (ํด๊ฐ์ปด๋ฐฐ๋ณตํจ)
- ํด๋์ค(Class) ๋ค์ด์ด๊ทธ๋จ : ํด๋์ค์ ํด๋์ค๊ฐ ๊ฐ์ง๋ ์์ฑ, ๊ด๊ณ๋ฅผ ํํํ๊ณ ์์คํ ์ ๊ตฌ์กฐ ํ์ , ๊ตฌ์กฐ์์ ๋ฌธ์ ์ ๋์ถ
- ๊ฐ์ฒด(Object) ๋ค์ด์ด๊ทธ๋จ
- ์ปดํฌ๋ํธ(Component) ๋ค์ด์ด๊ทธ๋จ : ๊ตฌํ ๋จ๊ณ์์ ์ฌ์ฉ
- ๋ฐฐ์น(Deployment) ๋ค์ด์ด๊ทธ๋จ : ๋ฌผ๋ฆฌ์ ์์๋ค์ ์์น๋ฅผ ํํ, ๊ตฌํ ๋จ๊ณ์์ ์ฌ์ฉ
- ๋ณตํฉ์ฒด ๊ตฌ์กฐ(Composite Structure) ๋ค์ด์ด๊ทธ๋จ : ํด๋์ค๋ ์ปดํฌ๋ํธ๊ฐ ๋ณตํฉ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋ ๊ฒฝ์ฐ ๊ทธ ๋ด๋ถ ๊ตฌ์กฐ ํํ
- ํจํค์ง(Package) ๋ค์ด์ด๊ทธ๋จ : ํจํค์ง๋ค์ ๊ด๊ณ ํํ
• ํ์ (Behavioral) ๋ค์ด์ด๊ทธ๋จ (์ ์์ปค์ํ์ํ)
- ์ ์ค์ผ์ด์ค(Use Case) ๋ค์ด์ด๊ทธ๋จ : ์ฌ์ฉ์์ ์๊ตฌ๋ฅผ ๋ถ์ํ๋ ๊ฒ์ผ๋ก ๋ชจ๋ธ๋ง ์์ ์ ์ฌ์ฉ
- ์ํ์ค(Sequence) ๋ค์ด์ด๊ทธ๋จ : ์ํธ ์์ฉํ๋ ์์คํ ์ด๋ ๊ฐ์ฒด๋ค์ด ์ฃผ๊ณ ๋ฐ๋ ๋ฉ์์ง ํํ
- ์ปค๋ฎค๋์ผ์ด์ ๋ค์ด์ด๊ทธ๋จ : ๋ฉ์์ง๋ฟ๋ง ์๋๋ผ ๊ฐ์ฒด๋ค ๊ฐ์ ์ฐ๊ด๊น์ง ํํ
- ์ํ(State) ๋ค์ด์ด๊ทธ๋จ : ์ํ๊ฐ ์ด๋ป๊ฒ ๋ณํํ๋์ง ํํ
- ํ๋(Activity) ๋ค์ด์ด๊ทธ๋จ : ์ฒ๋ฆฌ์ ํ๋ฆ์ ์์์ ๋ฐ๋ผ ํํ
- ์ํธ์์ฉ ๊ฐ์ ๋ค์ด์ด๊ทธ๋จ : ์ํธ์์ฉ ๋ค์ด์ด๊ทธ๋จ ๊ฐ ์ ์ด ํ๋ฆ ํํ
- ํ์ด๋ฐ ๋ค์ด๊ทธ๋จ : ๊ฐ์ฒด ์ํ ๋ณํ์ ์๊ฐ ์ ์ฝ์ ๋ช ์์ ์ผ๋ก ํํ