์๊ตฌ์ฌํญ ๊ฐ๋ฐ
์๊ตฌ์ฌํญ์ ์ค์์ฑ
- ๊ฐ๋ฐ๋๋ SW ์ ํ์ ์ ์ฒด์ ์ผ๋ก ํ์ ํ๋๋ก ํ์ฌ ์์ฌ์ํต ์๊ฐ์ ์ ์ฝํ๊ฒ ํด์ค
- ์์ธํ ์๊ตฌ์ฌํญ์ด ์์ด์ผ๋ง ์ฐ์ ์ด ๊ฐ๋ฅํ๊ณ , ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ณํ์ ์ธ์ธ ์ ์์
์๊ตฌ์ฌํญ์ ๋ถ๋ฅ
๊ธฐ๋ฅ์ ์๊ตฌ์ฌํญ
- ์ํ๋ ๊ธฐ๋ฅ๊ณผ ๊ด๋ จ๋ ์ ์ถ๋ ฅ ๋ฐ ๊ทธ๋ค ์ฌ์ด์ ์ฒ๋ฆฌ๊ณผ์
- ์ ํ ๊ตฌํ์ ์ํด SW๊ฐ ๊ฐ์ ธ์ผํ๋ ๊ธฐ๋ฅ์ ์์ฑ
๋น๊ธฐ๋ฅ์ ์๊ตฌ์ฌํญ
- ์ ํ์ ํ์ง ๊ธฐ์ค ๋ฑ์ ๋ง์กฑ์ํค๊ธฐ ์ํด SW๊ฐ ๊ฐ์ ธ์ผํ๋ ํ์์ ํน์ฑ
- ex) ์ฑ๋ฅ(์๋ต ์๊ฐ, ์ฒ๋ฆฌ๋), ์ฌ์ฉ์ ์ฉ์ด์ฑ, ์ ๋ขฐ๋, ๋ณด์์ฑ, ์ด์ฉ์์ ์ ์ฝ ๋ฑ
์๊ตฌ์ฌํญ ๊ฐ๋ฐ ํ๋ก์ธ์ค
์๊ตฌ์ฌํญ ๊ฐ๋ฐ
- ๊ณ ๊ฐ์ผ๋ก๋ถํฐ ๊ตฌํ๋ SW ์ ํ์ ์ฌ์์ ์ ํํ ๋์ถํ์ฌ ์๊ตฌ์ฌํญ ๋ช ์ธ, ์ด๋ฅผ ๋ถ์ํ์ฌ ๊ฐ๋ฐ์๋ค์ด ์ดํดํ ์ ์๋ ํ์์ผ๋ก ๊ธฐ์ ํ๋ ์์
์๊ตฌ์ฌํญ ๊ฐ๋ฐ ๋จ๊ณ
์๊ตฌ์ฌํญ ์ถ์ถ - ์๊ตฌ์ฌํญ ๋ถ์ - ์๊ตฌ์ฌํญ ๋ช ์ธ - ์๊ตฌ์ฌํญ ๊ฒ์ฆ
์๊ตฌ์ฌํญ ์ถ์ถ
- ๊ณ ๊ฐ์ด ์ํ๋ ์๊ตฌ์ฌํญ ์์ง
์ค์์ฑ
- ๊ณ ๊ฐ์ ์ต์ด ์๊ตฌ์ฌํญ์ ์ถ์์ ์
- ์๊ตฌ์ฌํญ์ ๊ณ์ฝ ๋ฐ ์ต์ด ์ฐ์ ์ ๊ธฐ๋ณธ์ด ๋จ
์๊ตฌ์ฌํญ ์ถ์ถ ๊ธฐ๋ฒ์ ์ข ๋ฅ
- ์ธํฐ๋ทฐ
- ํ๋ก์ ํธ ์ฐธ์ฌ์๋ค๊ณผ ์ง์ ์ ์ธ ๋ํ๋ฅผ ํตํด ์ ๋ณด๋ฅผ ์ถ์ถํ๋ ๊ธฐ๋ฒ
- ์๊ตฌ์ฌํญ ๋ถ์๊ฐ๋ ์ธํฐ๋ทฐ ์ ๋ต์ ์ธ์ฐ๊ณ ๋ชฉํ๋ฅผ ๋ฌ์ฑํด์ผ ํจ
- ์๋๋ฆฌ์ค
- ์์คํ ๊ณผ ์ฌ์ฉ์๊ฐ์ ์ํธ ์์ฉ์ ์๋๋ฆฌ์ค๋ก ์์ฑํ์ฌ ์์คํ ์๊ตฌ์ฌํญ์ ์ถ์ถ
- ์๋๋ฆฌ์ค์ ํฌํจํด์ผ ํ ํ์ ์ ๋ณด
- ์๋๋ฆฌ์ค ๋ค์ด๊ฐ๊ธฐ ์ ์์คํ ์ํ
- ์ ์์ ์ธ ์ฌ๊ฑด์ ํ๋ฆ
- ์ ์์ ์ธ ์ฌ๊ฑด์ ํ๋ฆ์ ๋ํ ์์ธ ํ๋ฆ
- ๋์์ ์ํ๋์ด์ผ ํ ๋ค๋ฅธ ํ์์ ์ ๋ณด
- ์๋๋ฆฌ์ค์ ์๋ฃ ํ์ ์์คํ ์ํ
์๊ตฌ์ฌํญ ๋ถ์
- ์๊ตฌ์ฌํญ์ ๋ถ์ ๊ธฐ๋ฒ์ ์ด์ฉํ์ฌ ์๋ณ ๊ฐ๋ฅํ ๋ฌธ์ ๋ค์ ๋์ถํ๊ณ ์๊ตฌ์ฌํญ์ ์ดํดํ๋ ๊ณผ์
๋ถ์์ ๊ธฐ์ค
- ์์คํ ์ ๊ณ์ธต์ ์ด๊ณ ๊ตฌ์กฐ์ ์ผ๋ก ํํํด์ผํจ
- ์ธ๋ถ ์ฌ์ฉ์์์ ์ธํฐํ์ด์ค ๋ฐ ๋ด๋ถ ์์คํ ๊ตฌ์ฑ์์ ๊ฐ์ ์ธํฐํ์ด์ค๋ฅผ ์ ํํ ๋ถ์
- ์ค๊ณ์ ๊ตฌํ๋จ๊ณ์ ํ์ํ ์ ๋ณด๋ฅผ ์ ๊ณต
๋ถ์ ๊ธฐ๋ฒ์ ์ข ๋ฅ
- ๊ตฌ์กฐ์ ๋ถ์ (Structured Analysis)
- ๊ธฐ๋ฅ์ ์ ์ํ๊ธฐ ์ํด ํ๋ก์ธ์ค ๋์ถ, ๋์ถ๋ ํ๋ก์ธ์ค ๊ฐ์ ๋ฐ์ดํฐ ํ๋ฆ ์ ์
- ๊ฐ์ฒด์งํฅ ๋ถ์ (Object-Oriented Analysis)
- ์ฌ์ฉ์ ์ค์ฌ์ ์๋๋ฆฌ์ค ๋ถ์์ ํตํด ์ ์ค์ผ์ด์ค ๋ชจ๋ธ (Usecase Model)๋ก ๊ตฌ์ถ
- ์ ์ค์ผ์ด์ค์ ์ค์ฒดํ ๊ณผ์ ์ ํตํด ์ถ์ถ๋ ์๊ตฌ์ฌํญ์ ๋ถ์
์๊ตฌ์ฌํญ ๋ช ์ธ
์๋ฏธ
- ๋ถ์๋ ์๊ตฌ์ฌํญ์ ๋ช ํํ๊ณ ์์ ํ๊ฒ(C&C: Complete & Consistant์ถฉ๋X) ๊ธฐ๋กํ๋ ๊ฒ
์ต์ข ๊ฒฐ๊ณผ๋ฌผ: ์๊ตฌ์ฌํญ ๋ช ์ธ์(SRS: Software Requirement Specification)
- ํ๋ก์ ํธ ์ฐ์ถ๋ฌผ ์ค ๊ฐ์ฅ ์ค์ํ ๋ฌธ์
- ๊ฐ๋ฐ์ ์ฐธ์ฌํ๋ ๋ชจ๋ ์ฌ๋ (์ฌ์ฉ์, ๋ถ์๊ฐ, ๊ฐ๋ฐ์ ๋ฐ ํ ์คํฐ) ์๊ฒ ๊ณต๋์ ๋ชฉํ๋ฅผ ์ ์
- (๋ช
์ธ์์๋ WHAT์ ๋ฃ์ ๊ฒ. HOW๋ ๋ฃ์ง ์๋๋ค. WHAT์ ๋ํ ๋ํ
์ผ์ ์ด๋ฆด๊ฒ.)
- ๊ฐ๋ฐ์ ๋ํ ๊ตฌ์ฒด์ ์ธ ๊ธฐ์ ์ ์ค๊ณ ๋จ๊ณ์ ๋ฃ์.
- ์๊ตฌ์ฌํญ์ ํ ๋ฒ ๋ง๋ค๊ณ ๋ฐ๊พธ๊ธฐ ํ๋ค์ง๋ง HOW๋ ๋ฐ๋ ๊ฐ๋ฅ์ฑ์ด ๋์.
์๊ตฌ์ฌํญ ๋ช ์ธ์ ์์ฑ ๋ฐฉ๋ฒ
- ๋ชจ๋ ๊ธฐ๋ฅ๊ณผ ์ ์ฝ ์กฐ๊ฑด์ ๋ช ํํ๊ฒ ๊ธฐ์
- ๊ณ ๊ฐ๊ณผ ๊ฐ๋ฐ์ ์ฌ์ด์์ ๋ชจ๋๊ฐ ์ดํดํ ์ ์๋๋ก ์์ฑ
- ์๊ตฌ์ฌํญ์ด ๋ช ์์ ์ผ๋ก ๊ฒ์ฆ ๊ฐ๋ฅํ๋๋ก ๊ธฐ์ . (์์น๋ yes no ์ฑ๊ณต์ฌ๋ถ๋ฅผ ์ฝ๊ฒ ํ์ ๊ฐ๋ฅํ๋๋ก ๊ธฐ์ )
- HOW๋ ๊ธฐ์ ํ์ง ์๋๋ค - ํน์ ํ ๊ตฌ์กฐ๋ ์๊ณ ๋ฆฌ์ฆ ๊ธฐ์ X
- ๊ณ์ธต์ ์ผ๋ก ๊ตฌ์ฑ - ์ฐธ์ฌ์๋ค์ด ์์คํ ์ ๊ธฐ๋ฅ์ ์ดํด ๋ถ์ํ ์ ์๋๋ก
- ๊ณ ์ ์ ์๋ณ์๋ฅผ ๊ฐ์ง๊ณ ๋ฒํธํ - ์๊ตฌ์ฌํญ์ ์ฝ๊ฒ ์ฐธ์กฐํ ์ ์๋๋ก.
์๊ตฌ์ฌํญ ๊ฒ์ฆ
๊ฒ์ฆ ๋ด์ฉ
- ๋ด๋ถ์ ์ผ์น์ฑ๊ณผ ์์ ์ฑ (C&C)์ด ์๋์ง
- ๋ฌธ์ ํ์ค์ ๋ฐ๋ฅด๋์ง
- ์ฌ์ฉ์๋ ๊ณ ๊ฐ์ ๋ชฉ์ ์ ์์ ํ๊ฒ ๊ธฐ์ ํ๋์ง
- ๊ธฐ์ ๋ ์๊ตฌ์ฌํญ์ด ์ฐธ์ฌ์์ ๊ธฐ๋์ ์ผ์นํ๋์ง
์๊ตฌ์ฌํญ ํ๋น์ฑ ๊ฒ์ฆ
- ์๊ตฌ์ฌํญ์ ๊ตฌํ ๊ฐ๋ฅ์ฑ ๊ฒ์ฆ
- ์ ํ์ฑ ๋ฐ ์์ ์ฑ ๊ฒ์ฆ (C&C)
- ํ์ค๊ณผ์ ์ผ์น์ฑ
- ์ถฉ๋ ๊ฒ์ฆ
- ๊ธฐ์ ์ ๊ฒฐํจ์ ๋ํ ๊ฒ์ฆ (C&C)
์๊ตฌ์ฌํญ ํ๋น์ฑ ๊ฒ์ฆ ์ฌํญ
๊ฒ์ฆ ์ฌํญ์ค๋ช
๋ฌด๊ฒฐ์ฑ(correctness) ๋ฐ ์์ ์ฑ(completeness) | ์ฌ์ฉ์์ ์๊ตฌ๋ฅผ ์๋ฌ ์์ด ์์ ํ๊ฒ ๋ฐ์ํ๊ณ ์๋๊ฐ? |
์ผ๊ด์ฑ(consistency) | ์๊ตฌ์ฌํญ์ด ์๋ก๊ฐ์ ๋ชจ์๋์ง ์๋๊ฐ? |
๋ช ํ์ฑ(unambiguous) | ์๊ตฌ๋ถ์์ ๋ด์ฉ์ด ๋ชจํธํจ ์์ด ๋ชจ๋ ์ฐธ์ฌ์๋ค์ ์ํด ๋ช ํํ๊ฒ ์ดํด๋ ์ ์๋๊ฐ? |
๊ธฐ๋ฅ์ฑ(functional) | ์๊ตฌ์ฌํญ ๋ช ์ธ์๊ฐ “์ด๋ป๊ฒ” ๋ณด๋ค “๋ฌด์์”์ ๊ด์ ์ ๋๊ณ ๊ธฐ์ ๋์๋๊ฐ? |
๊ฒ์ฆ ๊ฐ๋ฅ์ฑ(verifiable) | ์๊ตฌ์ฌํญ ๋ช ์ธ์์ ๊ธฐ์ ๋ ๋ด์ฉ์ด ์ฌ์ฉ์์ ์๊ตฌ๋ฅผ ๋ง์กฑํ๋๊ฐ? ๊ฐ๋ฐ๋ ์์คํ ์ด ์๊ตฌ์ฌํญ ๋ถ์ ๋ด์ฉ๊ณผ ์ผ์นํ๋์ง๋ฅผ ๊ฒ์ฆํ ์ ์๋๊ฐ? |
์ถ์ ๊ฐ๋ฅ์ฑ(traceable) | ์์คํ ์๊ตฌ์ฌํญ๊ณผ ์์คํ ์ค๊ณ ๋ฌธ์๋ฅผ ์ถ์ ํ ์ ์๋๊ฐ? |
์๊ตฌ์ฌํญ ๋ช ์ธ ๊ตฌ์กฐ ๊ฒ์ฆ
- ๊ฒ์ฆ ํญ๋ชฉ
- ๋ช ์ธ ์๊ฑด๋ค์ด ์์ ํ๊ณ ์ ํํ์ง
- ์๊ตฌ ๋ช ์ธ์๊ฐ ๋ด๋ถ์ ์ผ๋ก ์ผ๊ด์ฑ์ ๊ฐ์ง๋์ง
์๊ตฌ์ฌํญ ๊ณตํต ์ดํ ๊ฒ์ฆ
- ์ฐธ์ฌ์๋ค ๊ฐ์ ์ดํ์ ๋ํ ํผ๋์ด ์๋๋ก. ์ฉ์ด์ ๋ํ ๋ชจํธ์ฑ ์ ๊ฑฐ
์ ์ค์ผ์ด์ค ๊ธฐ๋ฐ์ ์๊ตฌ์ฌํญ ๋ถ์
UML - Unified Modeling Language
์์คํ ์ ๋ํ ๋ทฐ ์ ๊ณต - ๊ฐ์ํ, ๋ช ์ธํ, ๊ตฌ์ถ, ๋ฌธ์ํ
์ ์ค์ผ์ด์ค ๋ค์ด์ด๊ทธ๋จ
๊ตฌ์ฑ์์
- ์กํฐ : ์์คํ
๊ณผ ์ํธ์์ฉ ํ๋ ์ฌ๋ ๋๋ ๋ค๋ฅธ ์์คํ
(์ฌ์ฉ์, ๊ด๋ฆฌ์, DB ๋ฑ..)
- ์ ์ค์ผ์ด์ค : ๊ธฐ๋ฅ
- ์์คํ
: ์ ์ค์ผ์ด์ค๋ฅผ ํฌํจํจ, ๋ง๋ค๊ณ ์ ํ๋ ์ ํ๋ฆฌ์ผ์ด์
- ๊ด๊ณ : ์กํฐ์ ์ ์ค์ผ์ด์ค ๊ฐ์ ๊ด๊ณ
- ์ฐ๊ด ๊ด๊ณ(association) : ์ ์ค์ผ์ด์ค์ ์กํฐ๊ฐ์ ์ํธ์์ฉ
- ์์กด ๊ด๊ณ(dependency)
- ํฌํจ ๊ด๊ณ(include) : ๊ธ์ ๋ฑ๋กํ๋ค -> ๋ก๊ทธ์ธํ๋ค (์ ์ )
- ํ์ฅ ๊ด๊ณ(extend) : ๊ธ์ ๋ฑ๋กํ๋ค <- ํ์ผ์ ์ฒจ๋ถํ๋ค (์ถ๊ฐ ๊ธฐ๋ฅ)
- ์ผ๋ฐํ ๊ด๊ณ(generalization) : ๊ธ์ ๊ฒ์ํ๋ค (์ถ์์ ) <- ๋ ์ง๋ก ๊ฒ์ํ๋ค / ๊ธ์ด์ด๋ก ๊ฒ์ํ๋ค (๊ตฌ์ฒด์ )
์ ์ค์ผ์ด์ค ๋ค์ด์ด๊ทธ๋จ ์์ฑ ์์
์ ์ค์ผ์ด์ค ๊ธฐ์ ์
์ ์ค์ผ์ด์ค ๋ค์ด์ด๊ทธ๋จ์ ๋ณด์ํ๊ธฐ ์ํ ์ฐ์ถ๋ฌผ
reference
- ์๋ช ๋ํ๊ต ํ์ข ๋๊ต์๋ ์ํํธ์จ์ด๊ณตํ ์์
'Project๐ธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฏธ๋ ํ๋ก์ ํธ ๋๊ธ ๋ฌ๊ธฐ ๊ตฌํ๐ (0) | 2023.04.11 |
---|---|
[ํ์ ํด] drow.io ์ฌ์ฉ๋ฐฉ๋ฒ (0) | 2023.04.07 |
[ํ์ ํด] flow chart ๊ทธ๋ฆฌ๋ tool (0) | 2023.04.07 |
Front End์์ Back End๊น์ง ๋ฐ์ดํฐ ํ๋ก์ฐ ์ ๋ฆฌ (0) | 2023.03.26 |
์น ์๋ฒ์ WAS ์ ์ฐจ์ด๋ฅผ ์์๋ณด์ (0) | 2023.03.26 |