์ฑ
์์ฒด์์ A, B ์ด๋ฐ ์์ผ๋ก ์ถ์ ์ ๋๋ฅผ ํ์ํ๊ณ , ์ถ์ ๋ ๋
๋ ์๋ ๋์จ๋ค. ํ์๋ ๋๋ก ํ ๋ฒ ์ด์ ์ถ์ ๋ ํ์ ๋ฐฐ๊ฒฝ, ๋ ๋ฒ์ด์ ๋ฐ ์ง์ ์ถ์ ๋ฅผ ํ์ธํ ๊ฒฝ์ฐ, ๋
ธ๋ ๋ฐฐ๊ฒฝ์ผ๋ก ํ์ํ ์์ ์ด๋ค. ๋ํ ํค์๋ ์์ฃผ๋ก ์ต๋ํ ๊ธฐ์ตํ๊ธฐ ์ฝ๊ฒ ๊ธฐ๋กํ ์์ ์ด๋ค. ๊ทธ๋์ ์ดํดํ๊ธฐ ํ๋ค ์๋์์ง๋ง ์ต๋ํ ์ฝ๊ฒ ์จ๋ณผ ์์ ์ด๋ค...
3๋ชจํ ๋ํญ์
๋์ ํ ๋ชจํ (์ ์ง์ ๋ชจํ) | ํญํฌ์ ๋ชจํ | ์ ์์ผ ๋ชจํ |
๋ณดํด(Boehm)์ ์. ๊ณํ ์๋ฆฝ -> ์ํ ๋ถ์ -> ๊ฐ๋ฐ ๋ฐ ๊ฒ์ฆ -> ๊ณ ๊ฐ ํ๊ฐ ๊ฐ ๊ณ์ ๋๊ณ ๋๋.. |
๊ณ ์ ์ ์๋ช
์ฃผ๊ธฐ ๋ชจํ. ํ๋ํ๋ ํ์คํ ๋งค๋ญ์ง๊ณ ๋์ด๊ฐ๊ธฐ ๋๋์๊ฐ ์ ์๋ค ! |
๋ณํ์ ์ ์ฐํ๊ฒ ๋์, ์ผ์ ์ฃผ๊ธฐ ๋ฐ๋ณต. ๋ํ์ ์ผ๋ก [Scrum, XP, Kanban, Lean, FDD (๊ธฐ๋ฅ ์ค์ฌ ๊ฐ๋ฐ) ] [๊ฐ์ธ๊ณผ์ ์ํธ์์ฉ, ๋ฌธ์ < ์คํ๋๋ SW, ๊ณ ๊ฐ๊ณผ์ ํ์ , ๊ณํ < ๋ณํ์ ๋ฐ์ ] |
์ ์์ผ_XP (eXtreme Programming)
- ์๊ตฌ์ฌํญ์ ์ ์ฐํ๊ฒ ๋์ํ๊ธฐ ์ํด ๊ณ ๊ฐ์ ์ฐธ์ฌ์ ๊ฐ๋ฐ ๊ณผ์ ์ ๋ฐ๋ณต์ ๊ทน๋ํ. ๊ฐ๋ฐ ์์ฐ์ฑ ํฅ์
- ํต์ฌ๊ฐ์น
- ์์ฌ์ํต, ๋จ์์ฑ, ์ฉ๊ธฐ, ์กด์ค, ํผ๋๋ฐฑ
- ์ค์ฒ๋ฐฉ๋ฒ
- Pair Programming(์ง ํ๋ก๊ทธ๋๋ฐ)
- Collective Ownership(๊ณต๋ ์ฝ๋ ์์ )
- Test-Driven Development(ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ)
- Whole Team(์ ์ฒด ํ)
- Continuous Integration(๊ณ์์ ํตํฉ)
- Refactoring(๋ฆฌํฉํ ๋ง : ๊ธฐ๋ฅ ๋ณ๊ฒฝ์์ด ์ฌ๊ตฌ์ฑ)
- Small Releases(์๊ท๋ชจ ๋ฆด๋ฆฌ์ฆ)
์๊ตฌ์ฌํญ ๋ถ์
๊ฐ๋ฐ ๋์์ ๋ํ ์ฌ์ฉ์์ ์๊ตฌ์ฌํญ์ ์ดํดํ๊ณ ๋ฌธ์ํํ๋ ํ๋
๊ธฐ๋ฅ ์๊ตฌ์ฌํญ | ๋น๊ธฐ๋ฅ ์๊ตฌ์ฌํญ |
์ ์ถ๋ ฅ ์ฌํญ, ์ด๋ค ๋ฐ์ดํฐ ์ ์ฅ, ์ฐ์ฐ, ์ํํด์ผํ๋ ๊ธฐ๋ฅ, ์ฌ์ฉ์๊ฐ ์์คํ ํตํด ์ ๊ณต๋ฐ๊ธฐ๋ฅผ ์ํ๋ ๊ธฐ๋ฅ | ์์คํ ์ฅ๋น ๊ตฌ์ฑ, ์ฑ๋ฅ, ์ธํฐํ์ด์ค, ๊ตฌ์ถํ๊ธฐ ์ํด ํ์ํ, ํ ์คํธ, ๋ณด์ ์๊ตฌ์ฌํญ. ํ์ง ์๊ตฌ์ฌํญ(๊ฐ์ฉ, ์ ํฉ, ์ํธ ํธํ, ๋์, ์ด์, ํ์ฅ, ๋ณด์์ฑ ๋ฑ) |
์๋ฃ ํ๋ฆ๋
ํ๋ก์ธ์ค Process | ์๋ฃ ๋ณํ ์์คํ ๋ถ๋ถ, ์ฒ๋ฆฌ, ๋ณํ, ๋ฒ๋ธ |
์๋ฃ ํ๋ฆ Data Flow | ์๋ฃ์ ์ด๋, ์ฐ๊ด๊ด๊ณ |
์๋ฃ ์ ์ฅ์ Data Store | ์๋ฃ ์ ์ฅ์ (ํ์ผ, ๋ฐ๋ฒ ) |
๋จ๋ง Terminator | ๊ต์ ํ๋ ์ธ๋ถ ๊ฐ์ฒด, ์ ๋ ฅ -> ์ถ๋ ฅ๋ฐ์ดํฐ ๋ฐ |
์๋ฃ ์ฌ์ DD (Data Dictionary)
์๋ฃ ํ๋ฆ๋ ์๋ฃ ์์ธํ ~
= | ์ ์ | is composed of |
+ | ์ฐ๊ฒฐ | and |
() | ์๋ต | Optional |
[] | ์ ํ | or |
{} | ๋ฐ๋ณต | iteration of |
** | ์ค๋ช | Comment |
HIPO (Hierachy Input Process Output)
์์คํ ์คํ ๊ณผ์ ์ธ ์ ๋ ฅ, ์ฒ๋ฆฌ, ์ถ๋ ฅ์ ๊ธฐ๋ฅ ํํ.
for ํํฅ์ ์ํํธ์จ์ด ๊ฐ๋ฐ
-> ์ด ์ธํฐํ์ด์ค๋ฅผ ๊ณ์ธต ๊ตฌ์กฐ๋ก ํํ -> HIPO Chart
์งํฉ๊ด๊ณ Aggregation | ์ผ๋ฐํ๊ด๊ณ Generalization | ์์กด๊ด๊ณ Dependency |
ํ๋์ ์ฌ๋ฌผ์ด ๋ค๋ฅธ ์ฌ๋ฌผ์ ํฌํจ | ํ๋์ ์ฌ๋ฌผ์ด ๋ค๋ฅธ ์ฌ๋ฌผ์ ๋นํด ๋ ์ผ๋ฐ์ ์ด๊ฑฐ๋ ๊ตฌ์ฒด์ ์ธ ๊ด๊ณ | ์๋ก์๊ฒ ์ํฅ์ ์ฃผ๋ ์งง์ ์๊ฐ ๋์๋ง ์ฐ๊ด ์ ์ง |
ํ๋ฆฐํฐ๋ ์ปดํจํฐ์ ์ฐ๊ฒฐ,,, | ์ปคํผ์ ๋ณดํต ์๋ฉ, ์์ค ๊ฐ ์๋ค | ๋ฑ๊ธ์ด ๋๋ฉด ํ ์ธํ๊ณ , ์๋๋ฉด ์ํ๋ค |
๊ตฌ์กฐ์ ๋ค์ด์ด๊ทธ๋จ์ ์ข ๋ฅ
ํด๋์ค ๋ค์ด์ด๊ทธ๋จ
- ํด๋์ค ๊ฐ.
๊ฐ์ฒด ๋ค์ด์ด๊ทธ๋จ - ํด๋์ค ์ ์ฌ๋ฌผ Instance๋ฅผ ํน์ ์์ ๊ฐ์ฒด-๊ฐ์ฒด, Rumbaugh ๊ฐ์ฒด์งํฅ ๋ถ์ ๊ธฐ๋ฒ์์ ํ์ฉ
์ปดํฌ๋ํธ ๋ค์ด์ด๊ทธ๋จ - ์ค์ ๊ตฌํ ๋ชจ๋ ์ปดํฌ๋ํธ ๊ด๊ณ, ์ปดํฌ๋ํธ ๊ฐ. ๊ตฌํ ๋จ๊ณ์์ ์ฌ์ฉ
๋ฐฐ์น ๋ค์ด์ด๊ทธ๋จ - ๊ฒฐ๊ณผ๋ฌผ, ํ๋ก์ธ์ค, ์ปดํฌ๋ํธ ๋ ๋ฌผ๋ฆฌ์ ์์๋ค ์์น. ๊ตฌํ ๋จ๊ณ์์ ์ฌ์ฉ
๋ณตํฉ์ฒด ๊ตฌ์กฐ ๋ค์ด์ด๊ทธ๋จ - ํด๋์ค๋ ์ปดํฌ๋ํธ ๋ณตํฉ ๊ตฌ์กฐ ๋ด๋ถ
ํจํค์ง ๋ค์ด์ด๊ทธ๋จ
- ์ ์ค์ผ์ด์ค๋ ํด๋์ค ๋ฑ์ ๋ชจ๋ธ ์์๋ค์ ๊ทธ๋ฃนํํ ํจํค์ง๋ค ์์กด ๊ด๊ณ ํํ
ํ์ ๋ค์ด์ด๊ทธ๋จ์ ์ข ๋ฅ
์ ์ค์ผ์ด์ค ๋ค์ด์ด๊ทธ๋จ
- ์ฌ์ฉ์์ ์๊ตฌ๋ถ์, ๊ธฐ๋ฅ ๋ชจ๋ธ๋ง ์์ . Actor, Use case
- ๊ฐ๋ฐ๋ ์์คํ -> ์ํํ ์ ์๋ ๊ธฐ๋ฅ์ ์ฌ์ฉ์ ๊ด์ ์์ ํํ
์์ฐจ ๋ค์ด์ด๊ทธ๋จ
- ์ํธ์์ฉํ๋ ์์คํ , ๊ฐ์ฒด๋ค ์ฃผ๊ณ ๋ฐ๋ ๋ฉ์ธ์ง ํํ
์ปค๋ฎค๋์ผ์ด์ ๋ค์ด์ด๊ทธ๋จ - ๋์ ์ฐธ์ฌํ๋ ๊ฐ์ฒด๋ค ์ฃผ๊ณ ๋ฐ๋ ๋ฉ์ธ์ง, ๊ฐ์ฒด๋ค๊ฐ ์ฐ๊ด ๊ด๊ณ
์ํ ๋ค์ด์ด๊ทธ๋จ - ๊ฐ์ฒด ์ํ ํด๋์ค์ ์ํ ๋ณํ or ๋ค๋ฅธ ๊ฐ์ฒด์์ ์ํธ์์ฉ -> ์ํ ์ด๋ป๊ฒ ๋ณํ. Rumbaugh ๊ฐ์ฒด์งํฅ ๋ถ์ ๊ธฐ๋ฒ์์ ๋์ ๋ชจ๋ธ๋ง
ํ๋ ๋ค์ด์ด๊ทธ๋จ - ์์คํ ์ด ์ด๋ค ๊ธฐ๋ฅํ๋์ง ๊ฐ์ฒด ์ฒ๋ฆฌ ๋ก์ง, ์กฐ๊ฑด์ ๋ฐ๋ฅธ ์ฒ๋ฆฌ ํ๋ฆ์ ์์ ํํ
์ํธ์์ฉ ๊ฐ์ ๋ค์ด์ด๊ทธ๋จ - ์ํธ์์ฉ ๋ค์ด์ด๊ทธ๋จ ๊ฐ์ ์ ์ด ํ๋ฆ ํํ
ํ์ด๋ฐ ๋ค์ด์ด๊ทธ๋จ - ๊ฐ์ฒด ์ํ ๋ณํ์ ์๊ฐ ์ ์ฝ ๋ช ์์ ํํ
์ปดํฌ๋ํธ ๊ธฐ๋ฐ ๋ฐฉ๋ฒ๋ก : Component Based Design
- ์๋ก์ด ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋๋ ๋ฐฉ๋ฒ๋ก
- ์ฌ์ฌ์ฉ
- ๊ฐ๋ฐ ์ค๋น ๋จ๊ณ → ๋ถ์ ๋จ๊ณ → ์ค๊ณ ๋จ๊ณ → ๊ตฌํ ๋จ๊ณ → ํ ์คํธ ๋จ๊ณ → ์ ๊ฐ ๋จ๊ณ → ์ธ๋ ๋จ๊ณ (๊ฐ๋ถ์ค๊ตฌํ ์ ์ธ)(???)
CASE
- ์ํํธ์จ์ด ๊ฐ๋ฐ ๊ณผ์ ์์ ์ฌ์ฉ๋๋ ์๊ตฌ ๋ถ์, ์ค๊ณ, ใฐ ๊ณผ์ ์ ์ฒด ๋๋ ์ผ๋ถ๋ฅผ ๋๊ตฌ๋ฅผ ์ฌ์ฉํด ์๋ํ
- ์ํํธ์จ์ด ์๋ช ์ฃผ๊ธฐ ์ ๋จ๊ณ์ ์ฐ๊ฒฐ
- ๊ฐ๋ฐ ๋ชจํ ์ง์, ๊ทธ๋ํฝ ์ง์
LOC ๊ธฐ๋ฒ
- ์์ ์ฝ๋ ๋ผ์ธ ์ → ๋น๊ด์น, ๋๊ด์น, ๊ธฐ๋์น๋ฅผ ์ธก์ ํ์ฌ ์์ธก์น๋ฅผ ๊ตฌํ๊ณ → ๋น์ฉ์ฐ์
- ๋
ธ๋ ฅ = ๊ธฐ๊ฐ X ์ธ์
= LOC / 1์ธ๋น ์ํ๊ท ์ฝ๋๋ผ์ธ์ - ๋น์ฉ = ๋ ธ๋ ฅ X ๋จ์ ๋น์ฉ(1์ธ๋น ์ํ๊ท ์ธ๊ฑด๋น)
- ๊ธฐ๊ฐ = ๋ ธ๋ ฅ / ์ธ์
- ์์ฐ์ฑ = LOC / ๋ ธ๋ ฅ
์ํ์ ์ฐ์ ๊ธฐ๋ฒ
- ์ํฅ์ ๋น์ฉ ์ฐ์ ๊ธฐ๋ฒ, ๊ฒฝํ์ ์ถ์ ๋ชจํ, ์คํ์ ์ถ์ ๋ชจํ
- COCOMO ๋ชจํ
- LOC์ ์ํ ๋น์ฉ ์ฐ์ ๊ธฐ๋ฒ
- ๋น์ฉ ์ฐ์ ๊ฒฐ๊ณผ๋ ์์ฑํ๋๋ฐ ํ์ํ ๋ ธ๋ ฅ (Man-Month)
- ๋ณดํด (Boehm)
์กฐ์งํ (Organic Mode) | ๊ธฐ๊ด ๋ด๋ถ์์ ๊ฐ๋ฐ๋ SW, 5๋ง ๋ผ์ธ ์ดํ, ์ฌ๋ฌด ์ ๋ฌด ๊ณผํ์ฉ.. |
๋ฐ๋ถ๋ฆฌํ (Semi-Detached Mode) | ์กฐ์ง-๋ด์ฅ ์ค๊ฐ, 30๋ง ๋ผ์ธ ์ดํ, ์ปดํ์ผ๋ฌ ์ธํฐํ๋ฆฌํฐ ๊ฐ์ ์ ํธ๋ฆฌํฐ |
๋ด์ฅํ (Embedded Mode) | ์ด๋ํ, 30๋ง๋ผ์ธ ์ด์, ํธ๋์ญ์ ์ฒ๋ฆฌ, ์ ํธ๊ธฐ ์ ์ด / ๋ฏธ์ฌ์ผ ์ ๋ / ์ค์๊ฐ ์ฒ๋ฆฌ ๊ฐ๋ฐ |
- Putnam ๋ชจํ
- ์ํํธ์จ์ด ์๋ช ์ฃผ๊ธฐ ์ ๊ณผ์ ๋์์ ์ฌ์ฉ๋ ๋ ธ๋ ฅ์ ๋ถํฌ๋ฅผ ์์ํ๋ ๋ชจํ
- ์๋ช ์ฃผ๊ธฐ ์์ธก ๋ชจํ
- ์๊ฐ์ ๋ฐ๋ฅธ Rayleigh-Norden ๊ณก์ ์ ๋ ธ๋ ฅ ๋ถํฌ๋๋ฅผ ๊ธฐ์ด
- ๊ธฐ๋ฅ ์ ์ FP ๋ชจํ
CPM Critical Path Method ์๊ณ ๊ฒฝ๋ก ๊ธฐ๋ฒ
- ํ๋ก์ ํธ์ ํ์ํ ์์ ๋์ด, ํ์ํ ์์ ๊ธฐ๊ฐ ์์ธกํ๋๋ฐ ์ฌ์ฉ
- ๋ ธ๋์ ๊ฐ์ ์ผ๋ก ํ์. ๊ตต์๊ฒ ์ต์ฅ ๊ฒฝ๋ก
CMMI Capability Maturity Model Integration
- ์ํํธ์จ์ด ๊ฐ๋ฐ ์กฐ์ง ์ ๋ฌด ๋ฅ๋ ฅ, ์กฐ์ง์ ์ฑ์๋ ํ๊ฐ
- initial → managed → Defined → Quantitatively Managed → Optimizing
SPICE
- ํ์ง ๋ฐ ์์ฐ์ฑ ํฅ์์ ์ํด ํ๋ก์ธ์ค๋ฅผ ํ๊ฐ ๋ฐ ๊ฐ์ ํ๋ ๊ตญ์ ํ์ค
- ISO/IEC 15504
์ํํธ์จ์ด ๊ฐ๋ฐ ํ๋ ์์ํฌ
- ๊ณตํต์ ์ผ๋ก ์ฌ์ฉ๋๋ ๊ตฌ์ฑ ์์์ ์ํคํ ์ฒ ์ผ๋ฐํ
- ๊ธฐ๋ฅ๋ค ์ ๊ณต ํด์ฃผ๋ ๋ฐ์ ํ ํํ SW system
- ๋ชจ๋ํ - ์บก์ํ, ์ ์ง๋ณด์ ์ฉ์ด
- ์ฌ์ฌ์ฉ์ฑ - ์์ฐ ์ ๊ฐ, ์์ฐ์ฑ ํฅ์, ํ์ง ๋ณด์ฆ
- ํ์ฅ์ฑ - ๋คํ์ฑ์ ํตํ ํ์ฅ ๊ฐ๋ฅ
- ์ ์ด์ ์ญํ๋ฆ - ๊ด๋ฆฌ ํต์ ํด์ผํ๋ ๊ฐ์ฒด๋ค์ ์ ์ด๋ฅผ ํ๋ ์์ํฌ์ ๋๊น
์ค์ ํค์๋ ์ ์ฌ์ ๋ฆฌ
ํจํค์ง ๋ค์ด์ด๊ทธ๋จ, ์ ์์ผ_XP_Refactoring, ์๊ตฌ์ฌํญ๋ถ์(๊ธฐ๋ฅ ๋น๊ธฐ๋ฅ ๊ตฌ๋ถ ๋์ฌ๋ฏ), HIPO (์งํฉ, ์ผ๋ฐํ, ์์กด), ํด๋์ค ๋ค์ด์ด๊ทธ๋จ, LOC (๋ ธ๋ ฅ = ๊ธฐ๊ฐ X ์ธ์, ๋ ธ๋ ฅ X ๋จ์ = ๋น์ฉ )
'์๊ฒฉ์ฆ ์์ผ๋ฉด ์ข์ง > ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ค๊ธฐ] ์ด์ด์ด์์ฝ - 6์ฅ ํ๋ฉด ์ค๊ณ (1) | 2024.10.16 |
---|---|
[์ค๊ธฐ] ์ด์ด์ด์์ฝ - 5์ฅ ์ธํฐํ์ด์ค ๊ตฌํ (0) | 2024.10.15 |
[์ค๊ธฐ] ์ด์ด์ด์์ฝ - 4์ฅ ์๋ฒ ํ๋ก๊ทธ๋จ ๊ตฌํ (2) | 2024.10.15 |
[์ค๊ธฐ] ์ด์ด์ด์์ฝ - 3์ฅ ํตํฉ ๊ตฌํ (1) | 2024.10.13 |
[์ค๊ธฐ] ์ด์ด์ด์์ฝ - 2์ฅ ๋ฐ์ดํฐ ์ ์ถ๋ ฅ ๊ตฌํ (3) | 2024.10.13 |