์๊ตฌ์ฌํญ ๋ถ์ ์์ ํ์ํ ๊ธฐ์ ๋ก ๊ฐ์ฅ ๊ฑฐ๋ฆฌ๊ฐ ๋จผ ๊ฒ์? |
์๊ตฌ์ฌํญ ๊ฐ๋ฐ ํ๋ก์ธ์ค
1) ๋์ถ : ์ธํฐ๋ทฐ, ์ค๋ฌธ, ๋ธ๋ ์ธ์คํ ๋ฐ
2) ๋ถ์ : ๊ฐ๋ ๋ชจ๋ธ๋ง, ์๊ตฌ์ฌํญ ํ์/ํ ๋น, ์ ํ ๋ถ์
3) ๋ช ์ธ
4) ํ์ธ
๋ค์ ๋ด์ฉ์ด ์ค๋ช ํ๋ ๋์์ธ ํจํด์? |
<๋์์ธ ํจํด>
1. ์์ฑ ํจํด
์ถ์ ํฉํ ๋ฆฌ : ๊ฐ์ฒด๋ค์ ๊ทธ๋ฃน์ผ๋ก ์์ฑ ํ ์ถ์์ ํํ
๋น๋ : ์๊ฒ ๋ถ๋ฆฌ, ๊ฑด์ถํ๋ฏ ์กฐ๋ฆฝํ์ฌ ๊ฐ์ฒด ์์ฑ
ํฉํ ๋ฆฌ ๋ฉ์๋ : ๊ฐ์ฒด ์์ฑ by ์๋ธํด๋์ค
ํ๋กํ ํ์ : ์๋ณธ ๋ณต์
์ฑ๊ธํค : ํ๋ ์ฐธ์กฐo, ์ฌ๋ฌ ๋์ ์ฐธ์กฐx
2. ๊ตฌ์กฐ ํจํด
์ด๋ํฐ : ํธํ์ฑx ํด๋์ค ๋ณํ
๋ธ๋ฆฟ์ง : ์ถ์์ธต ๋ถ๋ฆฌ, ๋ ๋ฆฝ์ ํ์ฅ
์ปดํฌ์งํธ : ๋ณตํฉ, ๋จ์ผ ๊ตฌ๋ถx
๋ฐ์ฝ๋ ์ดํฐ : ๊ฐ์ฒด ๊ฐ ๊ฒฐํฉ, ํ์ฅ
ํผ์ธ๋ : ๋ณต์กํ ์๋ธํด๋์ค ํผํด
ํ๋ผ์ด์จ์ดํธ : ๊ณต์ , ๋ฉ๋ชจ๋ฆฌ ์ ์ฝ
ํ๋ก์ : ์ ๊ทผ ์ด๋ ค์ ํด๊ฒฐ
3. ํ์ ํจํด
์ฑ ์ ์ฐ์ : ์ฒ๋ฆฌx ๋์ด๊ฐ
์ปค๋งจ๋ : ์บก์ํ ์ฌ์ด์ฉ
์ธํฐํ๋ฆฌํฐ : ๋ฌธ๋ฒ ์ ์
๋ฐ๋ณต์(์ดํฐ๋ ์ดํฐ) : ์ ๊ทผ ์ฆ์ ๋ฐ๋ณต
์ค์ฌ์ : ์บก์ํ
๋ฉ๋ฉํ : ๋ณต์์ง์
์ต์ ๋ฒ : ์ํ๋ณํ ์ ๋ฌ
์ํ : ๊ฐ์ ๋์ ๋ค๋ฅธ ์ฒ๋ฆฌ
์ ๋ต : ์๊ณ ๋ฆฌ์ฆ
ํ ํ๋ฆฟ ๋ฉ์๋ : ์๊ณจ๊ฒฉ ํ์ธ๋ถ
๋ฐฉ๋ฌธ์ : ์ฒ๋ฆฌ ๊ธฐ๋ฅ ๋ถ๋ฆฌ
๋ผ๋ฐ์ฐ ๊ฐ์ฒด ์งํฅ ๋ถ์๊ณผ ๊ฑฐ๋ฆฌ๊ฐ ๋จผ ๊ฒ์? |
๋ผ๋ฐ์ฐ(Rumbaugh) ๋ถ์ ๊ธฐ๋ฒ ( = ๊ฐ์ฒด ๋ชจ๋ธ๋ง ๊ธฐ๋ฒ(OMT) )
๋ถ์ ํ๋ → ๊ฐ์ฒด ๋ชจ๋ธ, ๋์ ๋ชจ๋ธ, ๊ธฐ๋ฅ ๋ชจ๋ธ ๋ถ๋ฆฌ
๊ทธ๋ํฝ ํ๊ธฐ๋ฒ ์ด์ฉ ๋ชจ๋ธ๋ง
1) ๊ฐ์ฒด ๋ชจ๋ธ๋ง(Object Modeling) = ์ ๋ณด ๋ชจ๋ธ๋ง
์๊ตฌ๋๋ ๊ฐ์ฒด๋ฅผ ์ฐพ์ ๊ฐ์ฒด๋ค ๊ฐ์ ๊ด๊ณ ๊ท์ → ๊ฐ์ฒด ๋ค์ด์ด๊ทธ๋จ์ผ๋ก ํ์
2) ๋์ ๋ชจ๋ธ๋ง(Dynamic Modeling)
์ํ ๋ค์ด์ด๊ทธ๋จ(์ํ๋)๋ฅผ ์ด์ฉํ์ฌ ์๊ฐ์ ํ๋ฆ์ ๋ฐ๋ฅธ ๊ฐ์ฒด๋ค ๊ฐ์ ์ ์ด ํ๋ฆ, ์ํธ ์์ฉ, ๋์ ์์ ๋ฑ์ ๋์ ์ธ
ํ์๋ฅผ ํํ
3) ๊ธฐ๋ฅ ๋ชจ๋ธ๋ง(Function Modeling)
์๋ฃ ํ๋ฆ๋(DFD)๋ฅผ ์ด์ฉํ์ฌ ๋ค์์ ํ๋ก์ธ์ค๋ค ๊ฐ์ ์๋ฃ ํ๋ฆ ์ค์ฌ์ผ๋ก ์ฒ๋ฆฌ ๊ณผ์ ์ ํํ
์ ์์ผ ๊ธฐ๋ฒ์ ๋ํ ์ค๋ช ์ผ๋ก ๋ง์ง ์์ ๊ฒ์? |
์ ์์ผ(Agile) ๊ฐ๋ฐ 4๊ฐ์ง ํต์ฌ ๊ฐ์น
1. ํ๋ก์ธ์ค, ๋๊ตฌ < ๊ฐ์ธ๊ณผ์ ์ํธ์์ฉ
2. ๋ฐฉ๋ํ ๋ฌธ์ < ์คํ๋๋ SW
3. ๊ณ์ฝ ํ์ < ๊ณ ๊ฐ๊ณผ์ ํ์
4. ๊ณํ < ๋ณํ์ ๋ฐ์
๋ฏธ๋ค์จ์ด ์๋ฃจ์ ์ ์ ํ์ ํฌํจ๋์ง ์๋ ๊ฒ์? |
WAS(์น ์ ํ๋ฆฌ์ผ์ด์
์๋ฒ)
๋์ ์ธ ์ฝํ
์ธ ๋ฅผ ์ฒ๋ฆฌ, ์น ํ๊ฒฝ์ ๊ตฌํ
RPC(Remot Procedure Call)
ํ๋ก์์ ๋ฅผ ์ฌ์ฉํ์ฌ ์๊ฒฉ ํ๋ก์์ ๋ฅผ ๋ง์น ๋ก์ปฌ ํ๋ก์์ ์ฒ๋ผ ํธ์ถ
ORB(Object Request Broker)
๊ฐ์ฒด ์งํฅ ๋ฏธ๋ค์จ์ด
UML์์ ์ํ์ค ๋ค์ด์ด๊ทธ๋จ์ ๊ตฌ์ฑ ํญ๋ชฉ์ ํด๋นํ์ง ์๋ ๊ฒ์? |
์ํ์ค ๋ค์ด์ด๊ทธ๋จ ๊ตฌ์ฑ ํญ๋ชฉ
1) ์กํฐ
2) ํ์ฑ ๊ฐ์ฒด(object)
3) ๋ผ์ดํ๋ผ์ธ(์๋ช ์ )
4) ๋ฉ์ธ์ง
5) ์ ์ด ์ผ๊ฐํ
๊ฐ์ฒด์งํฅ์์ ์ ๋ณด ์๋๊ณผ ๊ฐ์ฅ ๋ฐ์ ํ ๊ด๊ณ๊ฐ ์๋ ๊ฒ์? |
์ ๋ณด ์๋ ? -> ์จ๊ธฐ๋ ๊ฒ!
์บก์ํ : ๋ค๋ฅธ ๊ฐ์ฒด์๊ฒ ์์ ์ ์ ๋ณด๋ฅผ ์จ๊ธฐ๊ณ , ์์ ์ func๋ง์ ํตํด ์ ๊ทผ ํ์ฉ
๋์์ธ ํจํด ์ค์์ ํ์์ ํจํด์ ์ํ์ง ์๋ ๊ฒ์? |
<๋์์ธ ํจํด>
1. ์์ฑ ํจํด
์ถ์ ํฉํ ๋ฆฌ : ๊ฐ์ฒด๋ค์ ๊ทธ๋ฃน์ผ๋ก ์์ฑ ํ ์ถ์์ ํํ
๋น๋ : ์๊ฒ ๋ถ๋ฆฌ, ๊ฑด์ถํ๋ฏ ์กฐ๋ฆฝํ์ฌ ๊ฐ์ฒด ์์ฑ
ํฉํ ๋ฆฌ ๋ฉ์๋ : ๊ฐ์ฒด ์์ฑ by ์๋ธํด๋์ค
ํ๋กํ ํ์ : ์๋ณธ ๋ณต์
์ฑ๊ธํค : ํ๋ ์ฐธ์กฐo, ์ฌ๋ฌ ๋์ ์ฐธ์กฐx
2. ๊ตฌ์กฐ ํจํด
์ด๋ํฐ : ํธํ์ฑx ํด๋์ค ๋ณํ
๋ธ๋ฆฟ์ง : ์ถ์์ธต ๋ถ๋ฆฌ, ๋ ๋ฆฝ์ ํ์ฅ
์ปดํฌ์งํธ : ๋ณตํฉ, ๋จ์ผ ๊ตฌ๋ถx
๋ฐ์ฝ๋ ์ดํฐ : ๊ฐ์ฒด ๊ฐ ๊ฒฐํฉ, ํ์ฅ
ํผ์ธ๋ : ๋ณต์กํ ์๋ธํด๋์ค ํผํด
ํ๋ผ์ด์จ์ดํธ : ๊ณต์ , ๋ฉ๋ชจ๋ฆฌ ์ ์ฝ
ํ๋ก์ : ์ ๊ทผ ์ด๋ ค์ ํด๊ฒฐ
3. ํ์ ํจํด
์ฑ ์ ์ฐ์ : ์ฒ๋ฆฌx ๋์ด๊ฐ
์ปค๋งจ๋ : ์บก์ํ ์ฌ์ด์ฉ
์ธํฐํ๋ฆฌํฐ : ๋ฌธ๋ฒ ์ ์
๋ฐ๋ณต์(์ดํฐ๋ ์ดํฐ) : ์ ๊ทผ ์ฆ์ ๋ฐ๋ณต
์ค์ฌ์ : ์บก์ํ
๋ฉ๋ฉํ : ๋ณต์์ง์
์ต์ ๋ฒ : ์ํ๋ณํ ์ ๋ฌ
์ํ : ๊ฐ์ ๋์ ๋ค๋ฅธ ์ฒ๋ฆฌ
์ ๋ต : ์๊ณ ๋ฆฌ์ฆ
ํ ํ๋ฆฟ ๋ฉ์๋ : ์๊ณจ๊ฒฉ ํ์ธ๋ถ
๋ฐฉ๋ฌธ์ : ์ฒ๋ฆฌ ๊ธฐ๋ฅ ๋ถ๋ฆฌ
UI ์ค๊ณ ์์น ์ค ๋๊ตฌ๋ ์ฝ๊ฒ ์ดํดํ๊ณ ์ฌ์ฉํ ์ ์์ด์ผ ํ๋ค๋ ์์น์? |
์ฌ์ฉ์ ์ธํฐํ์ด์ค(UI)์ ๊ธฐ๋ณธ ์์น
1) ์ง๊ด์ฑ : ๋๊ตฌ๋ ์ฝ๊ฒ ์ดํด, ์ฌ์ฉ
2) ์ ํจ์ฑ : ๋ชฉ์ ์ ํ ๋ฌ์ฑ
3) ํ์ต์ฑ : ๋๊ตฌ๋ ์ฝ๊ฒ ๋ฐฐ์ฐ๊ธฐ
4) ์ ์ฐ์ฑ : ์๊ตฌ์ฌํญ์ ์ต๋ํ ์์ฉ, ์ค์ ์ต์ํ
์ฝ๋์ ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ผ๋ก ๊ฑฐ๋ฆฌ๊ฐ ๋จผ ๊ฒ์? |
์ฝ๋(Code)์ ์ฃผ์ ๊ธฐ๋ฅ
1) ์๋ณ : ๋ฐ์ดํฐ ์ฑ๊ฒฉ์ ๋ฐ๋ผ ๊ตฌ๋ถ
2) ๋ถ๋ฅ : ๊ธฐ์ค์ ๋ฐ๋ฅธ ๋ฐ์ดํฐ ๊ทธ๋ฃนํ
3) ๋ฐฐ์ด : ์๋ฏธ ๋ถ์ฌ ํ ๋์ด
4) ํ์คํ : ์ปดํจํฐ ์ฒ๋ฆฌ ์ํด ๋จ์ผํ ํํ์ ํ์คํ๋ ํํ์ด ํ์
๋ค์ ( ) ์์ ๋ค์ด๊ฐ ๋ด์ฉ์ผ๋ก ์ณ์ ๊ฒ์? |
ํ์ฝ์ ์ํ ์ค๊ณ(Design by Contract)
ํด๋์ค์ ๋ํ ์ฌ๋ฌ ๊ฐ์ ์ ๊ณต์ ํ๋๋ก ๋ช
์ธํ ๊ฒ
์ํํธ์จ์ด ์ปดํฌ๋ํธ์ ๋ํ ์ ํํ ์ธํฐํ์ด์ค ๋ช
์ธ
ํ์ฝ์ ์ํ ์ค๊ณ์ ์ธ ๊ฐ์ง ํ์
1) ์ ํ ์กฐ๊ฑด (precondition) : ์คํผ๋ ์ด์
์ด ํธ์ถ๋๊ธฐ ์ ์ ์ฐธ์ด ๋์ด์ผ ํ ์กฐ๊ฑด
2) ๊ฒฐ๊ณผ ์กฐ๊ฑด (postcondition) : ์คํผ๋ ์ด์
์ด ์ํ๋ ํ ๋ง์กฑํ์ฌ์ผ ํ๋ ์กฐ๊ฑด
3) ๋ถ๋ณ ์กฐ๊ฑด (invariant) : ํด๋์ค ๋ด๋ถ๊ฐ ์คํ๋๋ ๋์ ํญ์ ๋ง์กฑํ์ฌ์ผ ํ๋ ์กฐ๊ฑด(์: ๋ฆฌ์คํธ์ ์๋ ๋
ธ๋๊ฐ ํญ์ ์ค๋ฆ์ฐจ์์ผ๋ก ๋์ด์ผ ํจ)
UML์์ ํ์ฉ๋๋ ๋ค์ด์ด๊ทธ๋จ ์ค, ์์คํ ์ ๋์์ ํํํ๋ ํ์(Behavioral) ๋ค์ด์ด๊ทธ๋จ์ ํด๋นํ์ง ์๋ ๊ฒ์? |
๊ตฌ์กฐ์ (Structural) ๋ค์ด์ด๊ทธ๋จ (ํด๊ฐ์ปด๋ฐฐ๋ณตํจ)
- ํด๋์ค(Class) ๋ค์ด์ด๊ทธ๋จ : ํด๋์ค์ ํด๋์ค๊ฐ ๊ฐ์ง๋ ์์ฑ, ๊ด๊ณ๋ฅผ ํํํ๊ณ ์์คํ ์ ๊ตฌ์กฐ ํ์ , ๊ตฌ์กฐ์์ ๋ฌธ์ ์ ๋์ถ
- ๊ฐ์ฒด(Object) ๋ค์ด์ด๊ทธ๋จ
- ์ปดํฌ๋ํธ(Component) ๋ค์ด์ด๊ทธ๋จ : ๊ตฌํ ๋จ๊ณ์์ ์ฌ์ฉ
- ๋ฐฐ์น(Deployment) ๋ค์ด์ด๊ทธ๋จ : ๋ฌผ๋ฆฌ์ ์์๋ค์ ์์น๋ฅผ ํํ, ๊ตฌํ ๋จ๊ณ์์ ์ฌ์ฉ
- ๋ณตํฉ์ฒด ๊ตฌ์กฐ(Composite Structure) ๋ค์ด์ด๊ทธ๋จ : ํด๋์ค๋ ์ปดํฌ๋ํธ๊ฐ ๋ณตํฉ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋ ๊ฒฝ์ฐ ๊ทธ ๋ด๋ถ ๊ตฌ์กฐ ํํ
- ํจํค์ง(Package) ๋ค์ด์ด๊ทธ๋จ : ํจํค์ง๋ค์ ๊ด๊ณ ํํ
ํ์ (Behavioral) ๋ค์ด์ด๊ทธ๋จ (์ ์์ปค์ํ์ํ)
- ์ ์ค์ผ์ด์ค(Use Case) ๋ค์ด์ด๊ทธ๋จ : ์ฌ์ฉ์์ ์๊ตฌ๋ฅผ ๋ถ์ํ๋ ๊ฒ์ผ๋ก ๋ชจ๋ธ๋ง ์์ ์ ์ฌ์ฉ
- ์ํ์ค(Sequence) ๋ค์ด์ด๊ทธ๋จ : ์ํธ ์์ฉํ๋ ์์คํ ์ด๋ ๊ฐ์ฒด๋ค์ด ์ฃผ๊ณ ๋ฐ๋ ๋ฉ์์ง ํํ
- ์ปค๋ฎค๋์ผ์ด์ ๋ค์ด์ด๊ทธ๋จ : ๋ฉ์์ง๋ฟ๋ง ์๋๋ผ ๊ฐ์ฒด๋ค ๊ฐ์ ์ฐ๊ด๊น์ง ํํ
- ์ํ(State) ๋ค์ด์ด๊ทธ๋จ : ์ํ๊ฐ ์ด๋ป๊ฒ ๋ณํํ๋์ง ํํ
- ํ๋(Activity) ๋ค์ด์ด๊ทธ๋จ : ์ฒ๋ฆฌ์ ํ๋ฆ์ ์์์ ๋ฐ๋ผ ํํ
- ์ํธ์์ฉ ๊ฐ์ ๋ค์ด์ด๊ทธ๋จ : ์ํธ์์ฉ ๋ค์ด์ด๊ทธ๋จ ๊ฐ ์ ์ด ํ๋ฆ ํํ
- ํ์ด๋ฐ ๋ค์ด๊ทธ๋จ : ๊ฐ์ฒด ์ํ ๋ณํ์ ์๊ฐ ์ ์ฝ์ ๋ช ์์ ์ผ๋ก ํํ
๊ฐ์ฒด ์งํฅ ์ํํธ์จ์ด ๊ณตํ์์ ํ๋ ์ด์์ ์ ์ฌํ ๊ฐ์ฒด๋ค์ ๋ฌถ์ด์ ํ๋์ ๊ณตํต๋ ํน์ฑ์ ํํํ ๊ฒ์? |
ํด๋์ค(Class)
๊ณตํต๋ ์์ฑ๊ณผ ์ฐ์ฐ(ํ์)์ ๊ฐ๋ ๊ฐ์ฒด์ ์งํฉ, ๊ฐ์ฒด์ ์ผ๋ฐ์ ์ธ ํ์
(Type)์ ์๋ฏธ
๋์ผ ํด๋์ค์ ์ํ ๊ฐ๊ฐ์ ๊ฐ์ฒด๋ค์ ๊ณตํต๋ ์์ฑ๊ณผ ํ์๋ฅผ ๊ฐ์ง
์๋์ UML ๋ชจ๋ธ์์ '์ฐจ' ํด๋์ค์ ๊ฐ ํด๋์ค์ ๊ด๊ณ๋ก ์ณ์ ๊ฒ์? |
• ์ฐ๊ด ๊ด๊ณ
2๊ฐ ์ด์์ ์ฌ๋ฌผ์ด ์๋ก ๊ด๋ จ๋์ด ์์์ ํํ (์ ์๋ - ํ์)
• ์งํฉ ๊ด๊ณ (๋ถ์)
ํ๋์ ์ฌ๋ฌผ์ด ๋ค๋ฅธ ์ฌ๋ฌผ์ ํฌํจ๋์ด ์๋ ๊ด๊ณ (์ปดํจํฐ - ํ๋ฆฐํฐ)
• ํฌํจ ๊ด๊ณ
์งํฉ ๊ด๊ณ์ ํน์ ํํ (๋ฌธ - ์ด์ )
•์ผ๋ฐํ ๊ด๊ณ (๋๋ถ๋ฅ์ ์๋ถ๋ฅ)
ํ๋์ ์ฌ๋ฌผ์ด ๋ค๋ฅธ ์ฌ๋ฌผ์ ๋นํด ๋ ์ผ๋ฐ์ ์ธ์ง ๊ตฌ์ฒด์ ์ธ์ง ํํ (์ฐจ - ๋ฒ์ค, ํธ๋ญ, ํ์)
• ์์กด ๊ด๊ณ
์ฌ๋ฌผ ์ฌ์ด์ ์๋ก ์ฐ๊ด์ ์์ผ๋ ํ์์ ์ํด ์๋ก์๊ฒ ์ํฅ์ ์ฃผ๋ ์งง์ ์๊ฐ ๋์๋ง ์ฐ๊ด์ ์ ์งํ๋ ๊ด๊ณ (๋ฑ๊ธ - ํ ์ธ์จ)
• ์ค์ฒดํ ๊ด๊ณ
์ฌ๋ฌผ์ด ํ ์ ์๊ฑฐ๋ ํด์ผ ํ๋ ๊ธฐ๋ฅ์ผ๋ก ์๋ก๋ฅผ ๊ทธ๋ฃนํ ํ ์ ์๋ ๊ด๊ณ (๋ ์ ์๋ - ์, ๋นํ๊ธฐ)
์๋ฃ ์ฌ์ ์์ ์๋ฃ์ ๋ฐ๋ณต์ ์๋ฏธํ๋ ๊ฒ์? |
์๋ฃ ์ฌ์ ํ๊ธฐ๋ฒ
= : ์ ์
+ : ์ฐ๊ฒฐ
() : ์๋ต
[|] : ์ ํ
{} : ๋ฐ๋ณต
** : ์ค๋ช
(์ฃผ์)
๊ฐ์ฒด์งํฅ ์ค๊ณ ์์น ์ค, ์๋ธํ์ (์์๋ฐ์ ํ์ ํด๋์ค)์ ์ด๋์์๋ ์์ ์ ๊ธฐ๋ฐํ์ (์์ํด๋์ค)์ผ๋ก ๊ต์ฒดํ ์ ์์ด์ผ ํจ์ ์๋ฏธํ๋ ์์น์? |
<๊ฐ์ฒด์งํฅ ์ค๊ณ์์น>
1. ๋จ์ผ ์ฑ
์ ์์น (SRP, Single Responsibility Principle)
๊ฐ์ฒด๋ ๋จ ํ๋์ ์ฑ
์๋ง
2. ๊ฐ๋ฐฉ-ํ์์ ์์น (OCP, Open Closed Principle)
๊ธฐ์กด ์ฝ๋๋ฅผ ๋ณ๊ฒฝx ๊ธฐ๋ฅ์ ์ถ๊ฐ ๊ฐ๋ฅ
3. ๋ฆฌ์ค์ฝํ ์นํ ์์น (LSP, Liskov Substitution Principle)
์ผ๋ฐํ ๊ด๊ณ, ์์ ํด๋์ค๋ ์ต์ํ ์์ ์ ๋ถ๋ชจ ํด๋์ค์์ ๊ฐ๋ฅํ ํ์๋ ์ํ ๊ฐ๋ฅ
4. ์ธํฐํ์ด์ค ๋ถ๋ฆฌ ์์น (ISP, Interface Segregation Principle)
์ธํฐํ์ด์ค๋ฅผ ํด๋ผ์ด์ธํธ์ ํนํ๋๋๋ก ๋ถ๋ฆฌ์ํค๋ ์ค๊ณ ์์น
5. ์์กด ์ญ์ ์์น (DIP, Dependency Inversion Principle)
์์กด ๊ด๊ณ๋ฅผ ๋งบ์ ๋ ๋ณํํ๊ธฐ ์ฌ์ด ๊ฒ ๋๋ ์์ฃผ ๋ณํํ๋ ๊ฒ๋ณด๋ค๋ ๋ณํํ๊ธฐ ์ด๋ ค์ด ๊ฒ
๊ฑฐ์ ๋ณํ๊ฐ ์๋ ๊ฒ์ ์์กดํ๋ผ๋ ๊ฒ
์๋ฃํ๋ฆ๋(Data Flow Diagram)์ ๊ตฌ์ฑ์์๋ก ์ณ์ ๊ฒ์? |
์๋ฃ ํ๋ฆ๋ ๊ตฌ์ฑ ์์
- ํ๋ก์ธ์ค (Process)
- ์๋ฃ ํ๋ฆ(Data Flow)
- ์๋ฃ ์ ์ฅ์(Data Store)
- ๋จ๋ง(Terminator)
CASE(Computer-Aided Software Engineering)๋๊ตฌ์ ๋ํ ์ค๋ช ์ผ๋ก ๊ฑฐ๋ฆฌ๊ฐ ๋จผ ๊ฒ์? |
CASE(์ํํธ์จ์ด ๊ณตํ์ ์๋ํ) ๋๊ตฌ
CASE๋ 1980๋
๋์ ์๊ฐ๋ ์ํํธ์จ์ด ๊ณตํ์์
์ ์๋ํํ ์ํํธ์จ์ด ํจํค์ง
์ํํธ์จ์ด ๊ด๋ฆฌ์๋ค๊ณผ ์ค๋ฌด์๋ค์ด ์ํํธ์จ์ด ํ๋ก์ธ์ค์ ๊ด๋ จ๋ ํ๋์ ์ง์
ํ๋ก์ ํธ ๊ด๋ฆฌ ํ๋ ์๋ํ
๊ฒฐ๊ณผ๋ฌผ ๊ด๋ฆฌ
์์ง๋์ด๋ค์ ๋ถ์, ์ค๊ณ ๋ฐ ์ฝ๋ฉ๊ณผ ํ
์คํธ ์์
์ง์
์ฃผ์๊ธฐ๋ฅ
- ๊ฐ๋ฐ ๋ชจํ
- ๊ทธ๋ํฝ
- SDLC์ ์ ๋จ๊ณ ์ฐ๊ฒฐ
์ธํฐํ์ด์ค ์๊ตฌ ์ฌํญ ๊ฒํ ๋ฐฉ๋ฒ์ ๋ํ ์ค๋ช ์ด ์ณ์ ๊ฒ์? |
<์ธํฐํ์ด์ค ์๊ตฌ์ฌํญ ๊ฒํ (๊ฒ์ฆ) ๋ฐฉ๋ฒ>
๋๋ฃ ๊ฒํ (Peer Review) : ์๊ตฌ์ฌํญ ๋ช
์ธ์ ์์ฑ์๊ฐ ์ค๋ช
ํ๊ณ ์ดํด๊ด๊ณ์๋ค์ด ์ค๋ช
์ ๋ค์ผ๋ฉด์ ๊ฒฐํจ์ ๋ฐ๊ฒฌ
์ํฌ์ค๋ฃจ(Walk Through) : ๊ฒํ ํ์ ์ , ๋ช
์ธ์๋ฅผ ๋ฏธ๋ฆฌ ๋ฐฐํฌํ์ฌ ์ฌ์ ๊ฒํ ํ์ ์งง์ ๊ฒํ ํ์๋ฅผ ํตํด ๊ฒฐํจ ๋ฐ๊ฒฌ
์ธ์คํ์
(Inspection) : ์๊ตฌ์ฌํญ ๋ช
์ธ์ ์์ฑ์๋ฅผ ์ ์ธํ ๋ค๋ฅธ ๊ฒํ ์ ๋ฌธ๊ฐ๋ค์ด ๋ช
์ธ์๋ฅผ ํ์ธํ๋ฉด์ ๊ฒฐํจ์ ๋ฐ๊ฒฌ
๋ - ์ดํด
์ - ์งง์
์ธ - ์ ๋ฌธ๊ฐ