1๏ธโฃ ์ํํธ์จ์ด ์๋ช ์ฃผ๊ธฐ (Software Development Life Cycle)
- ์์คํ ์ด ๊ฐ๋ฐ๋ ๋๋ถํฐ ์ด์ฉ๊ณผ ์ ์ง๋ณด์๋ฅผ ๊ฑฐ์ณ ์์ ๋ฅผ ๋ง์น ๋๊น์ง ์ด๋ ํ ์์๋ฅผ ๋ฐ๋์ง์ ๋ํ ์์ ํ๋ก์ธ์ค๋ฅผ ๋ชจ๋ธํํ ๊ฒ์ด๋ค.
- SDLC ๋ชจ๋ธ ํ๋ก์ธ์ค : ์๊ตฌ์ฌํญ ๋ถ์ → ์ค๊ณ → ๊ตฌํ → ํ ์คํธ → ์ ์ง๋ณด์
- SDLC ๋ชจ๋ธ ์ข
๋ฅ
- ํญํฌ์ ๋ชจ๋ธ
- ํ๋กํ ํ์ดํ ๋ชจ๋ธ
- ๋์ ํ ๋ชจ๋ธ
- ๋ฐ๋ณต์ ๋ชจ๋ธ
๐ ํญํฌ์ ๋ชจ๋ธ (Waterfall Model)
- ์ํํธ์จ์ด ๊ฐ๋ฐ ์ ๊ฐ ๋จ๊ณ๋ฅผ ํ์คํ ๋ง๋ฌด๋ฆฌ ์ง์ ํ์ ๋ค์ ๋จ๊ณ๋ก ๋์ด๊ฐ๋ ๋ชจ๋ธ
- ๊ฐ์ฅ ์ค๋๋ ๋ชจ๋ธ
- ์ ํ ์์ฐจ์ ๋ชจํ์ผ๋ก ๊ณ ์ ์ ์๋ช ์ฃผ๊ธฐ ๋ชจํ์ด๋ผ๊ณ ๋ ํจ
- ๋ชจํ์ ์ ์ฉ ๊ฒฝํ๊ณผ ์ฑ๊ณต ์ฌ๋ก๊ฐ ๋ง์
- ๋จ๊ณ๋ณ ์ ์์ ์ฐ์ถ๋ฌผ์ด ๋ช ํ
- ์๊ตฌ์ฌํญ ๋ณ๊ฒฝ์ด ์ด๋ ค์
๐ ํ๋กํ ํ์ดํ ๋ชจ๋ธ (Prototyping Model)
- ๊ณ ๊ฐ์ด ์๊ตฌํ ์ฃผ์ ๊ธฐ๋ฅ์ ํ๋กํ ํ์ ์ผ๋ก ๊ตฌํํ์ฌ, ๊ณ ๊ฐ์ ํผ๋๋ฐฑ์ ๋ฐ์ํ์ฌ ์ํํธ์จ์ด๋ฅผ ๋ง๋ค์ด๊ฐ๋ ๋ชจ๋ธ
- ํ๋กํ ํ์ ์ ๊ตฌํ ๋จ๊ณ์ ๊ตฌํ ๊ณจ๊ฒฉ, ๋ฐ์ฃผ์๋ ๊ฐ๋ฐ์ ๋ชจ๋์๊ฒ ๊ณต๋์ ์ฐธ์กฐ ๋ชจ๋ธ์ ์ ๊ณต
- ์๊ตฌ๋ถ์ ์ฉ์ด ํ๋น์ฑ ๊ฒ์ฆ ๊ฐ๋ฅ but ํ๋กํ ํ์ ํ๊ธฐ์ ๋ฐ๋ฅธ ๋น์ฉ ์ฆ๊ฐ
๐ ๋์ ํ ๋ชจ๋ธ (Spiral Model)
- ์์คํ ๊ฐ๋ฐ ์ ์ํ์ ์ต์ํํ๊ธฐ ์ํด ์ ์ง์ ์ผ๋ก ์๋ฒฝํ ์์คํ ์ผ๋ก ๊ฐ๋ฐํด ๋๊ฐ๋ ๋ชจ๋ธ
- ์ํ์ฑ ๊ฐ์์ ๋ณ๊ฒฝ์ ๋ํ ์ ์ฐํ ๋์ฒ but ๋จ๊ณ ๋ฐ๋ณต์ ๋ฐ๋ฅธ ๊ด๋ฆฌ ์ด๋ ค์
๐ ๋ฐ๋ณต์ ๋ชจ๋ธ (Iteration Model)
- ๊ตฌ์ถ๋์์ ๋๋์ด ๋ณ๋ ฌ์ ์ผ๋ก ๊ฐ๋ฐ ์ ํตํฉํ๊ฑฐ๋, ๋ฐ๋ณต์ ์ผ๋ก ๊ฐ๋ฐํ์ฌ ์ ์ฆ ์์ฑ ์ํค๋ ๋ชจ๋ธ
- ์ฌ์ฉ์์ ์๊ตฌ์ฌํญ ์ผ๋ถ๋ถ ํน์ ์ ํ ์ผ๋ถ๋ถ์ ๋ฐ๋ณต์ ์ผ๋ก ๊ฐ๋ฐํ์ฌ ์ต์ข ์์คํ ์ผ๋ก ์์ฑํ๋ ๋ชจ๋ธ
- ๋ณํ ๊ฐ๋ฐ๋ก ์ธํ ์ผ์ ๋จ์ถ ๊ฐ๋ฅ but ๋ณํ ๊ฐ๋ฐ์ ๋ฐ๋ฅธ ๊ด๋ฆฌ ๋น์ฉ ์ฆ๊ฐ
2๏ธโฃ ์ํํธ์จ์ด ๊ฐ๋ฐ ๋ฐฉ๋ฒ๋ก (Software Development Methodology)
- ์ํํธ์จ์ด ๊ฐ๋ฐ ์ ๊ณผ์ ์ ์ง์์ ์ผ๋ก ์ ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ, ์ ์ฐจ, ๊ธฐ๋ฒ์ด๋ค.
- ์ํํธ์จ์ด๋ฅผ ํ๋์ ์๋ช ์ฒด๋ก ๊ฐ์ฃผํ๊ณ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์์๋ถํฐ ์์คํ ์ ์ฌ์ฉํ์ง ์๋ ๊ณผ์ ๊น์ง์ ์ ๊ณผ์ ์ ํ์ํํ ๋ฐฉ๋ฒ๋ก
- ๊ตฌ์กฐ์ ๋ฐฉ๋ฒ๋ก , ์ ๋ณด๊ณตํ ๋ฐฉ๋ฒ๋ก , ๊ฐ์ฒด ์งํฅ ๋ฐฉ๋ฒ๋ก , ์ปดํฌ๋ํธ ๊ธฐ๋ฐ ๋ฐฉ๋ฒ๋ก , ์ ์์ผ ๋ฐฉ๋ฒ๋ก , ์ ํ ๊ณ์ด ๋ฐฉ๋ฒ๋ก
๐ ์ ์์ผ (Agile)
- ์ ์ฐจ๋ณด๋ค๋ ์ฌ๋์ด ์ค์ฌ์ด ๋์ด ๋ณํ์ ์ ์ฐํ๊ณ ์ ์ํ๊ฒ ์ ์ํ๋ฉด์ ํจ์จ์ ์ผ๋ก ์์คํ ์ ๊ฐ๋ฐํ ์ ์๋ ์ ์ ์ ์์ ๊ฒฝ๋ ๊ฐ๋ฐ ๋ฐฉ๋ฒ๋ก
- ๊ฐ๋ฐ ๊ธฐ๊ฐ์ด ์งง๊ณ ์ ์ํ๊ณ , ๊ฐ๋ฐ๊ณผ ํจ๊ป ์ฆ์ ํผ๋๋ฐฑ์ ๋ฐ์์ ์ ๋์ ์ผ๋ก ๊ฐ๋ฐํ ์ ์๋ค.
- XP, ๋ฆฐ(Lean), ์คํฌ๋ผ(SCRUM)
๐ XP (eXtreme Programming)
- 5๊ฐ์ง ๊ฐ์น
- ์ฉ๊ธฐ
- ๋จ์์ฑ
- ์์ฌ์ํต
- ํผ๋๋ฐฑ
- ์กด์ค
- 12๊ฐ์ง ๊ธฐ๋ณธ์๋ฆฌ
- ์ง ํ๋ก๊ทธ๋๋ฐ
- ๊ณต๋ ์ฝ๋ ์์
- ์ง์์ ์ธ ํตํฉ
- ๊ณํ ์ธ์ฐ๊ธฐ
- ์์ ๋ฆด๋ฆฌ์ฆ
- ๋ฉํํฌ์ด
- ๊ฐ๋จํ ๋์์ธ
- ํ ์คํธ ๊ธฐ๋ฐ ๊ฐ๋ฐ
- ๋ฆฌํฉํ ๋ง
- 40์๊ฐ ์์
- ๊ณ ๊ฐ ์์ฃผ
- ์ฝ๋ ํ์ค
๐ ์คํฌ๋ผ (SCRUM)
- ๋งค์ผ ์ ํด์ง ์๊ฐ, ์ฅ์์์ ์งง์ ์๊ฐ์ ๊ฐ๋ฐ์ ํ๋ ํ์ ์ํ ํ๋ก์ ํธ ๊ด๋ฆฌ ์ค์ฌ ๋ฐฉ๋ฒ๋ก
- ๋ฐฑ๋ก๊ทธ : ์ ํ๊ณผ ํ๋ก์ ํธ์ ๋ํ ์๊ตฌ ์ฌํญ
- ์คํ๋ฆฐํธ : 2~4์ฃผ์ ์งง์ ๊ฐ๋ฐ ๊ธฐ๊ฐ์ผ๋ก ๋ฐ๋ณต์ ์ํ์ผ๋ก ๊ฐ๋ฐํ์ง ํฅ์
- ์คํฌ๋ผ ๋ฏธํด : ๋งค์ผ 15๋ถ ์ ๋์ ๋ฏธํ , ๋ฐ์ผ๋ฆฌ ๋ฏธํ
- ์คํฌ๋ผ ๋ง์คํฐ : ํ๋ก์ ํธ ๋ฆฌ๋
- ์คํ๋ฆฐํธ ํ๊ณ
- ๋ฒ ๋ค์ด ์ฐจํธ : ๋จ์์๋ ๋ฐฑ๋ก๊ทธ ๋๋น ์๊ฐ์ ๊ทธ๋ํฝ์ ์ผ๋ก ํํํ ์ฐจํธ
๐ ๋ฆฐ (LEAN)
- ๋์ํ์ ๋ฆฐ ์์คํ ํ์ง๊ธฐ๋ฒ์ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๋ก์ธ์ค์ ์ ์ฉํด์ ๋ญ๋น ์์๋ฅผ ์ ๊ฑฐํ์ฌ ํ์ง์ ํฅ์์ํจ ๋ฐฉ๋ฒ๋ก
- JIT(Just In Time), ์นธ๋ฐ(Kanban) ๋ณด๋
3๏ธโฃ ๊ฐ์ฒด ์งํฅ ๋ถ์ ๋ฐฉ๋ฒ๋ก (OOA : Object Oriented Analysis)
- ์ฌ์ฉ์์ ์๊ตฌ์ฌํญ์ ๋ถ์ํ์ฌ ์๊ตฌ๋ ๋ฌธ์ ์ ๊ด๋ จ๋ ๋ชจ๋ ํด๋์ค(๊ฐ์ฒด), ์์ฑ๊ณผ ์ฐ์ฐ, ๊ด๊ณ๋ฅผ ์ ์ํ์ฌ ๋ชจ๋ธ๋งํ๋ ๊ธฐ๋ฒ
- OOSE : Object Oriented Software Engineering
- ์ผ์ฝฅ์จ
- ์ ์ค์ผ์ด์ค์ ์ํ ์ ๊ทผ ๋ฐฉ๋ฒ์ผ๋ก ์ ์ค์ผ์ด์ค๋ฅผ ๋ชจ๋ ๋ชจ๋ธ์ ๊ทผ๊ฐ์ผ๋ก ํ์ฉํ๋ ๋ฐฉ๋ฒ๋ก
- ๋ถ์, ์ค๊ณ, ๊ตฌํ ๋จ๊ณ๋ก ๊ตฌ์ฑ
- ๊ธฐ๋ฅ์ ์๊ตฌ์ฌํญ ์ค์ฌ์ ์์คํ
- OMT : Object Modeling Technology
- ๋ผ๋ฐ์ฐ
- ๊ทธ๋ํฝ ํ๊ธฐ๋ฒ์ ์ด์ฉํ์ฌ ์ํํธ์จ์ด ๊ตฌ์ฑ์์๋ฅผ ๋ชจ๋ธ๋งํ๋ ๋ฐฉ๋ฒ๋ก
- ๊ฐ์ฒด ๋ชจ๋ธ๋ง : ์์คํ ์์ ์๊ตฌํ๋ ๊ฐ์ฒด๋ค ๊ฐ์ ๊ด๊ณ๋ฅผ ์ ์ํ์ฌ ER ๋ค์ด์ด๊ทธ๋จ์ ๋ง๋๋ ๊ณผ์
- ๋์ ๋ชจ๋ธ๋ง : ์๊ฐ์ ํ๋ฆ์ ๋ฐ๋ผ ๊ฐ์ฒด๋ค ์ฌ์ด์ ์ ์ด ํ๋ฆ, ๋์ ์์ ๋ฑ์ ๋์ ์ธ ํ์๋ฅผ ํํ
- ๊ธฐ๋ฅ ๋ชจ๋ธ๋ง : ํ๋ก์ธ์ค๋ค์ ์๋ฃ ํ๋ฆ์ ์ค์ฌ์ผ๋ก ์ฒ๋ฆฌ ๊ณผ์ ํํ (์๋ฃํ๋ฆ๋,DFD)
4๏ธโฃ ๋น์ฉ์ฐ์ , ์ผ์ ๊ด๋ฆฌ ๋ชจํ
ํํฅ์ ์ฐ์ | ๊ฒฝํ์ด ๋ง์ ์ ๋ฌธ๊ฐ์๊ฒ ๋น์ฉ ์ฐ์ ์ ์๋ขฐํ๊ฑฐ๋ ์ฌ๋ฌ ์ ๋ฌธ๊ฐ์ ์กฐ์ ์๋ฅผ ํตํด ์ฐ์ | ์ ๋ฌธ๊ฐ ํ๋จ ๋ธํ์ด ๊ธฐ๋ฒ |
์ํฅ์ ์ฐ์ | ์ธ๋ถ์ ์ธ ์๊ตฌ์ฌํญ๊ณผ ๊ธฐ๋ฅ์ ๋ฐ๋ผ ํ์ํ ๋น์ฉ์ ๊ณ์ฐ | ์ฝ๋ ๋ผ์ธ์(Loc) Man Month COCOMO ๋ชจํ ํธํธ๋จ ๋ชจํ ๊ธฐ๋ฅ์ ์(FP) ๋ชจํ |
๐ LoC (Line of Code)
- ์์ธก์น = (๋๊ด์น + 4*์ค๊ฐ์น + ๋น๊ด์น) / 6
- ๋๊ด์น : ๊ฐ์ฅ ์ ๊ฒ ์ธก์ ๋ ์ฝ๋ ๋ผ์ธ ์
- ๋น๊ด์น : ๊ฐ์ฅ ๋ง์ด ์ธก์ ๋ ์ฝ๋ ๋ผ์ธ ์
๐ Man Month
- ํ ์ฌ๋์ด 1๊ฐ์ ๋์ ํ ์ ์๋ ์ผ์ ์์ ๊ธฐ์ค์ผ๋ก ํ๋ก์ ํธ ๋น์ฉ ์ฐ์
- (Man Month) = (LoC) / (ํ๋ก๊ทธ๋๋จธ์ ์๊ฐ ์์ฐ์ฑ)
๐ COCOMO (COnstructive COst MOdel)
- ํ๋ก๊ทธ๋จ ๊ท๋ชจ์ ๋ฐ๋ผ ๋น์ฉ ์ฐ์
- ๊ฐ๋ฐ ์ ํ : ์กฐ์งํ, ๋ฐ ๋ถ๋ฆฌํ, ์๋ฒ ๋๋ํ
๐ ํธํธ๋จ (Putnam)
- ์๋ช ์ฃผ๊ธฐ ์์ธก ๋ชจํ
- ์ํํธ์จ์ด ๊ฐ๋ฐ์ฃผ๊ธฐ์ ๋จ๊ณ๋ณ๋ก ์๊ตฌํ ์ธ๋ ฅ์ ๋ถํฌ๋ฅผ ๊ฐ์
๐ ๊ธฐ๋ฅ์ ์ (FP:Function Point)
- ๊ธฐ๋ฅ์ ์(FP) = ์ด ๊ธฐ๋ฅ์ ์ * [0.65 + (0.1 * ์ด ์ํฅ๋)]