๊ฐ์ฒด์งํฅ ๋ถ์(OOA, Object Orientied Analysis)๋ ์ฌ์ฉ์์ ์๊ตฌ์ฌํญ์ ๋ถ์ํ์ฌ
์๊ตฌ๋ ๋ฌธ์ ์ ๊ด๋ จ๋ ๋ชจ๋ ํด๋์ค(๊ฐ์ฒด) ์ด์ ๊ด๋ จ๋ ์์ฑ, ์ฐ์ฐ, ๊ทธ๋ค ๊ฐ์ ๊ด๊ณ ๋ฑ์ ์ ์ํ์ฌ ๋ชจ๋ธ๋งํ๋ ์์
๊ฐ์ฒด์งํฅ ๋ถ์์ ๋ฐฉ๋ฒ๋ก
- Rumbaugh(๋ผ๋ฐ์ฐ) ๋ฐฉ๋ฒ๐
- Booch(๋ถ์น) ๋ฐฉ๋ฒ - ๋ฏธ์์ , ๊ฑฐ์์ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ๋ชจ๋ ์ฌ์ฉ
- Jacobson ๋ฐฉ๋ฒ - Use Case๋ฅผ ๊ฐ์กฐ
- Coad์ Yourdon ๋ฐฉ๋ฒ - E-R ๋ค์ด์ด๊ทธ๋จ ์ฌ์ฉ
- Wirfs-Brock ๋ฐฉ๋ฒ - ๊ณ ๊ฐ ๋ช ์ธ์๋ฅผ ํ๊ฐํด์ ์ค๊ณ๊น์ง ์ฐ์์ผ๋ก ์ํ
๋ผ๋ฐ์ฐ(Rumbaugh)์ ๋ถ์ ๊ธฐ๋ฒ
๋ผ๋ฐ์ฐ์ ๋ถ์ ๊ธฐ๋ฒ์ ๋ชจ๋ ์ํํธ์จ์ด ๊ตฌ์ฑ ์์๋ฅผ ๊ทธ๋ํฝ ํ๊ธฐ๋ฒ๋ฅผ ์ด์ฉํ์ฌ ๋ชจ๋ธ๋ง
- ๊ฐ์ฒด ๋ชจ๋ธ๋ง ๊ธฐ๋ฒ(OMT, Object-Modeling Technique)
- ๋ถ์ํ๋์ ๊ฐ์ฒด→๋์ →๊ธฐ๋ฅ ๋ชจ๋ธ๋ง ์์ผ๋ก ์ด๋ค์ง
1. ๊ฐ์ฒด ๋ชจ๋ธ๋ง
์์คํ ์์ ์๊ตฌ๋๋ ๊ฐ์ฒด๋ฅผ ์ฐพ์๋ด ์์ฑ๊ณผ ์ฐ์ฐ ์๋ณ ๋ฐ ๊ฐ์ฒด๋ค ๊ฐ์ ๊ด๊ณ๋ฅผ ๊ท์ ํ์ฌ ๊ฐ์ฒด ๋ค์ด์ด๊ทธ๋จ์ผ๋ก ํ์
2. ๋์ ๋ชจ๋ธ๋ง
์ํ ๋ค์ด์ด๊ทธ๋จ์ ์ด์ฉํ์ฌ ์๊ฐ์ ํ๋ฆ์ ๋ฐ๋ฅธ ๊ฐ์ฒด ๊ฐ์ ์ ์ด ํ๋ฆ, ์ํธ ์์ฉ, ๋์ ์์ ๋ฑ ๋์ ์ธ ํ์ ํํ
3. ๊ธฐ๋ฅ ๋ชจ๋ธ๋ง
์๋ฃ ํ๋ฆ๋๋ฅผ์ด์ฉํ์ฌ ๋ค์์ ํ๋ก์ธ์ค๋ค ๊ฐ์ ์๋ฃํ๋ฆ์ ์ค์ฌ์ผ๋ก ์ฒ๋ฆฌ๊ณผ์ ์ ํํ
๊ฐ์ฒด์งํฅ ์ค๊ณ ์์น (SOLID ์์น)
SRP, Single Responsibility Principle | ๋จ์ผ ์ฑ ์ ์์น | ๊ฐ์ฒด๋ ๋จ ํ๋์ ์ฑ
์ (์์ง๋ โฌ , ๊ฒฐํฉ๋ โฌ) |
OCP, Open-Closed Principle | ๊ฐ๋ฐฉ-ํ์ ์์น | ๊ธฐ์กด์ ์ฝ๋ ์์ ์ ํ์โ ๊ธฐ๋ฅ ํ์ฅโ
(๊ณตํต ์ธํฐํ์ด์ค๋ฅผ ํ๋์ ์ธํฐํ์ด์ค๋ก ๋ฌถ์ด ์บก์ํ) |
LSP, Liskov Substitution Principle | ๋ฆฌ์ค์ฝํ ์นํ ์์น | ์์ ํด๋์ค๋ ์ต์ํ ์์ ์ ๋ถ๋ชจ ํด๋์ค์์ ๊ฐ๋ฅํ ํ์๋ ์ํ (์์ ํด๋์ค๋ ํ์ฅ๋ง ์ํ) ๐ฉ๐ถ |
ISP, Interface Segregation Principle | ์ธํฐํ์ด์ค ๋ถ๋ฆฌ ์์น | ์์ ์ ์ฌ์ฉํ์ง ์๋ ์ธํฐํ์ด์ค์ ์์กด ๊ด๊ณ โ (SRP๋ ๊ฐ์ฒด ํ๋, ISP๋ ์ธํฐํ์ด์ค ํ๋์ ์ฑ ์) |
DIP, Dependency Inversion Principle | ์์กด ์ญ์ ์์น | ๊ฐ์ฒด๋ค ๊ฐ์ ์์กด ๊ด๊ณ๊ฐ ์ฑ๋ฆฝ๋ ๋, ์ถ์์ฑ์ด ๋์ ํด๋์ค์์ ์์กด๊ด๊ณ๋ฅผ ๋งบ๋๋ค. (์ธํฐํ์ด์ค ์ฌ์ฉ) ๐/๐๐๐ |
* ๋ฆฌ์ค์ฝํ ์นํ ์์น๊ณผ ์์กด ์ญ์ ์์น์ ๊ฐ๋ฐฉ ํ์ ์์น์ ์ง์ํฉ๋๋ค. ๊ฐ๋ฐฉ ํ์ ์์น์ ๋ณํ๋๋ ๋ถ๋ถ์ ์ถ์ํํ๊ณ ๋คํ์ฑ์ ์ด์ฉํจ์ผ๋ก์จ ๊ธฐ๋ฅ ํ์ฅ์ ํ๋ฉด์๋ ๊ธฐ์กด ์ฝ๋๋ฅผ ์์ ํ๊ธฐ ์๋๋ก ๋ง๋ค์ด ์ค๋๋ค. ์ฌ๊ธฐ์, ๋ณํ๋๋ ๋ถ๋ถ์ ์ถ์ํํ ์ ์๋๋ก ๋์์ฃผ๋ ์์น์ด ๋ฐ๋ก ์์กด ์ญ์ ์์น์ด๊ณ , ๋คํ์ฑ์ ๋์์ฃผ๋ ์์น์ด ๋ฆฌ์ค์ฝํ ์นํ ์์น์ธ ๊ฒ์ ๋๋ค.
(์ถ์ฒ-https://steady-coding.tistory.com/388)
์ฐธ์กฐ
- 2021 ์๋๊ณต ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ํ๊ธฐ (๊ธธ๋ฒ)
'์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ ์ฒ๊ธฐ ์ค๊ธฐ) EAI / ESB ๊ฐ๋ ๋ฐ ๊ตฌ์ถ์ ํ (0) | 2021.09.24 |
---|---|
์ ์ฒ๊ธฐ ์ค๊ธฐ) ๋ฏธ๋ค์จ์ด ๊ฐ๋ ๊ณผ ์ข ๋ฅ (0) | 2021.09.23 |
์ ์ฒ๊ธฐ ์์ฝ) ์ํํธ์จ์ด ๊ฐ๋ฐ ํ์ค (0) | 2021.08.04 |
์ ์ฒ๊ธฐ ์์ฝ) ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทํ(Normalization) ์ ๋ฆฌ (0) | 2021.08.04 |
์ ์ฒ๊ธฐ ์์ฝ) ๋์์ธ ํจํด ์ ์์ ์ ํ ๋ถ๋ฅ (0) | 2021.07.30 |