- Considerations for producing a good SRS
- 1. SRS์ ํน์ฑ(Nature of the SRS)
- 2. SRS์ ๋ฐฐ๊ฒฝ(Environment of the SRS)
- 3. ์ข์ SRS์ ํน์ง(Characteristics of a good SRS)
- 4. SRS์ ํ์ (Joint preparation of the SRS)
- 5. SRS ๊ฐ์ (SRS evolution)
- 6. ํ๋กํ ํ์ดํ(Prototyping)
- 7. SRS์ ์ค๊ณ ํฌํจํ๊ธฐ(Embedding design in the SRS)
- 8. SRS์ ํ๋ก์ ํธ ์๊ตฌ์ฌํญ ํฌํจํ๊ธฐ(Embedding project requirements in the SRS)
- The parts of an SRS
- 1. ์๊ฐ(Introduction)
- 2. ์ ์ฒด ์์คํ
๊ฐ์(Overall description)
- 2.1. ์ ํ ๊ด์ (Product perspective)
- 2.1.1. ์์คํ ์ธํฐํ์ด์ค(System interfaces)
- 2.1.2. ์ฌ์ฉ์ ์ธํฐํ์ด์ค(User interfaces)
- 2.1.3. ํ๋์จ์ด ์ธํฐํ์ด์ค(Hardware interfaces)
- 2.1.4. ์ํํธ์จ์ด ์ธํฐํ์ด์ค(Software interfaces)
- 2.1.5. ํต์ ์ธํฐํ์ด์ค(Communications interfaces)
- 2.1.6. ๋ฉ๋ชจ๋ฆฌ ์ ์ฝ์ฌํญ(Memory constraints)
- 2.1.7. ์ด์(Operations)
- 2.1.8. ์ฌ์ดํธ ์ ์ฉ ์๊ฑด(Site adaption requirements)
- 2.2. ์ ํ ๊ธฐ๋ฅ(Product functions)
- 2.3. ์ฌ์ฉ์ ํน์ฑ(User characteristics)
- 2.4. ์ ์ฝ์ฌํญ(Constraints)
- 2.5. ๊ฐ์ ๋ฐ ์์กด์ฑ(Assumptions and dependencies)
- 2.6. ๋จ๊ณ๋ณ ์๊ตฌ์ฌํญ(Apportioning of requirements)
- 2.1. ์ ํ ๊ด์ (Product perspective)
- 3. ์์ธ ์๊ตฌ์ฌํญ(Specific requirements)
- 3.1. ์ธ๋ถ ์ธํฐํ์ด์ค ์๊ตฌ์ฌํญ(External interface requirements)
- 3.2. ๊ธฐ๋ฅ ์๊ตฌ์ฌํญ(Functional requirements)
- 3.3. ์ฑ๋ฅ ์๊ตฌ์ฌํญ(Performance requirements)
- 3.4. ๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๊ตฌ์ฌํญ(Logical database requirements)
- 3.5. ์ค๊ณ ์ ์ฝ์ฌํญ(Design constraints)
- 3.6. ์ํํธ์จ์ด ์์คํ ์์ฑ(Software system attributes)
- 3.7. ์์ธ ์๊ตฌ์ฌํญ์ ๊ตฌ์ฑ(Organizing the specific requirements)
- 4. ์ถ๊ฐ ์ ๋ณด(Supporting information)
- Annex
- A. SRS templates
- A.1. Template of SRS Section 3 organized by mode: Version 1
- A.2. Template of SRS Section 3 organized by mode: Version 2
- A.3. Template of SRS Section 3 organized by user class
- A.4. Template of SRS Section 3 organized by object
- A.5. Template of SRS Section 3 organized by feature
- A.6. Template of SRS Section 3 organized by stimulus
- A.7. Template of SRS Section 3 organized by functional hierarchy
- A.8. Template of SRS Section 3 showing multiple organizations
- A. SRS templates
- SRS ์์ฑ์๊ฐ ๋ค๋ฃจ์ด์ผ ํ ๊ธฐ๋ณธ ๋ด์ฉ
- ๊ธฐ๋ฅ์ฑ(Functionality)
- ์ํํธ์จ์ด๊ฐ ์ํํ๋ ์์ ์ด ๋ฌด์์ธ๊ฐ?
- ์ธ๋ถ ์ธํฐํ์ด์ค(External interfaces)
- ์ํํธ์จ์ด๊ฐ ์ฌ๋, ํ๋์จ์ด, ๋ค๋ฅธ ์ํํธ์จ์ด์ ์ด๋ป๊ฒ ์ํธ์์ฉ ํ๋๊ฐ?
- ์ฑ๋ฅ(Performance)
- ์๋, ๊ฐ์ฉ์ฑ, ๋ฐ์ ์๊ฐ, ๋ค์ํ ์ํํธ์จ์ด ๊ธฐ๋ฅ์ ๋ณต๊ตฌ ์๋๊ฐ ์ด๋ ์ ๋์ธ๊ฐ?
- ์์ฑ(Attributes)
- ์ด์์ฑ, ์ ํ์ฑ, ์ ์ง ๋ณด์์ฑ, ๋ณด์์ฑ ๋ฐ ๊ณ ๋ ค์ฌํญ์ด ๋ฌด์์ธ๊ฐ?
- ๊ตฌํ์ ๋ถ๊ณผ๋ ์ค๊ณ ์ ์ฝ์ฌํญ(Design constraints imposed on an implementation)
- ์ ์ฉํด์ผ ํ๋ ํ์ค, ๊ตฌํํ๋ ์ธ์ด, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฌด๊ฒฐ์ฑ ์ ์ฑ , ๋ฆฌ์์ค ์ ์ฝ์ฌํญ, ์ด์์ฒด์ ๊ฐ ๋ฌด์์ธ๊ฐ?
- ๊ธฐ๋ฅ์ฑ(Functionality)
- IEEE Std 610.12-1990์ ์ ์๋ ์ ์ฒด ํ๋ก์ ํธ ๊ณํ์์ SRS๊ฐ ๋ด๋นํ๋ ๋ถ๋ถ์ ๊ณ ๋ คํ๋ ๊ฒ์ด ์ค์ํ๋ค.
- IEEE Std 1074-1997์์๋ ๋จ๊ณ๋ณ ์ํํธ์จ์ด์ ์๋ช ์ฃผ๊ธฐ์ ๊ฐ ๋จ๊ณ์ ํด๋นํ๋ ์ ๋ ฅ์ ์ค๋ช ํ๋ค.
- SRS๋ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๋ก์ธ์ค์์ ํน์ ์ญํ ์ ๋ด๋นํ๊ณ ์์ผ๋ฏ๋ก ์์ฑ์๋ ํด๋น ์ญํ ์ ๋ฒ์ด๋์ง ์๋๋ก ์ฃผ์ํด์ผ ํ๋ค.
- SRS๊ฐ ๋ฐ๋ผ์ผ ํ๋ ๊ท์น
- ๋ชจ๋ ์ํํธ์จ์ด ์๊ตฌ์ฌํญ์ ์ ํํ๊ฒ ์ ์ํด์ผ ํ๋ค. ์๊ตฌ์ฌํญ์ ํด๊ฒฐ๋์ด์ผ ํ๋ ์์ ์ ํน์ฑ ๋๋ ํ๋ก์ ํธ์ ํน์ฑ์ผ๋ก ์ธํด ์๊ฒจ๋ ์ ์๋ค.
- ์ค๊ณ ํน์ ๊ตฌํ์ ๊ดํ ์์ธํ ๋ด์ฉ์ ํฌํจํด์๋ ์ ๋๋ค. ์ด์ ๊ฐ์ ๋ด์ฉ์ ์ค๊ณ ๋จ๊ณ์์ ํฌํจ๋์ด์ผ ํ๋ค.
- ์ํํธ์จ์ด์ ์ ์ฝ์ฌํญ์ ์ถ๊ฐ๋ก ๋ถ๊ณผํด์๋ ์ ๋๋ค. ์ด๋ฐ ์์ฑ์ ์ํํธ์จ์ด ํ์ง๋ณด์ฆ ๊ณํ(Software Quality Assurance Plan)๊ณผ ๊ฐ์ ๋ฌธ์์์ ๋ช ์ธ ๋์ด์ผ ํ๋ค.
- ์ ํ์ฑ(Correct)
- SRS์ ๋ช ์๋ ๋ชจ๋ ์๊ตฌ์ฌํญ์ด ์ํํธ์จ์ด๊ฐ ๋ง์กฑ์์ผ์ผ ํ๋ ๋ด์ฉ์ ํด๋นํ๋ค๋ฉด SRS๋ correctํ๋ค.
- ํ์ค์ฑ(Unambiguous)
- SRS์ ๋ช ์๋ ๋ชจ๋ ์๊ตฌ์ฌํญ์ด ๋จ ํ ๊ฐ์ง ๋ป์ผ๋ก ํด์๋๋ค๋ฉด SRS๋ unambiguousํ๋ค.
- ์ต์ํ ๊ณ ์ ํ ์ฉ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ ํ์ ๊ฐ ํน์ฑ์ ์ค๋ช ํด์ผ ํ๋ค.
- ํน์ ๋งฅ๋ฝ์์ ์ฌ์ฉ๋ ์ฉ์ด๊ฐ ์ฌ๋ฌ ์๋ฏธ๋ฅผ ๊ฐ์ง ์ ์๋ ๊ฒฝ์ฐ, ํด๋น ์ฉ์ด์ ๊ดํ ๊ตฌ์ฒด์ ์ธ ๋ป์ glossary์ ํฌํจํ๋ ๊ฒ์ด ์ข๋ค.
- ๋ชจํธํจ์ ํํผํ๋ ๋ฐฉ๋ฒ
- ์์ฐ ์ธ์ด์ ์ํ์ ์ธ์งํ๊ณ ํํผํ๊ธฐ(Natural language pitfalls)
- ์์ฐ์ด๋ ๋ณธ์ง์ด ๋ชจํธํ๋ค.
- ์์ฐ์ด๊ฐ ์ฌ์ฉ๋ SRS๋ ๋ชจํธํ ์ธ์ด์ ์ฌ์ฉ์ ํ๋จํ ์ ์๋ ๋ ๋ฆฝ์ ์ธ ๋น์ฌ์๊ฐ ๊ฒํ ํ๋ ๊ฒ์ด ์ข๋ค.
- ์๊ตฌ์ฌํญ ๋ช
์ธ ์ธ์ด(Requirements specification languages)
- ์์ฐ์ด๊ฐ ํฌํจํ๋ ๋ชจํธ์ฑ์ ํํผํ๊ธฐ ์ํ ํ ๊ฐ์ง ๋ฐฉ๋ฒ์ SRS๋ฅผ ์๊ตฌ์ฌํญ ๋ช ์ธ ์ธ์ด๋ก ํํํ๋ ๊ฒ์ด๋ค.
- ๋ช
์ธ ์ธ์ด๋ฅผ ์ฌ์ฉํ ๋์ ๋จ์
- ์ธ์ด๋ฅผ ๋ฐฐ์ธ ๋ ๊ฑธ๋ฆฌ๋ ์๊ฐ
- ๊ธฐ์ ์ ์ธ ์ง์์ด ๋ถ์กฑํ ์ฌ์ฉ์์ ์ดํด
- ๋ช
์ธ ์ธ์ด๋ฅผ ์ฌ์ฉํ ๋์ ์ฅ์
- ์๊ตฌ์ฌํญ์ ํจ๊ณผ์ ์ผ๋ก ํํ
- ๋ฏธ๋ฌํ ์๊ตฌ์ฌํญ์ ๋ฐ์
- ํํ ๋๊ตฌ(Representation tools)
- ์์ฐ ์ธ์ด์ ์ํ์ ์ธ์งํ๊ณ ํํผํ๊ธฐ(Natural language pitfalls)
- ์์ ์ฑ(Complete)
- SRS๊ฐ ์๋ ์กฐ๊ฑด๋ค์ ๋ง์กฑํ๋ค๋ฉด SRS๋ completeํ๋ค.
- SRS๊ฐ completeํ๊ธฐ ์ํ ์กฐ๊ฑด
- ๊ธฐ๋ฅ์ฑ, ์ฑ๋ฅ, ์ค๊ณ ์ ์ฝ์ฌํญ, ์์ฑ, ์ธ๋ถ ์ธํฐํ์ด์ค์ ๊ด๋ จ๋ ๋ชจ๋ ์๊ตฌ์ฌํญ์ ์ธ์งํ๊ณ ์ฒ๋ฆฌํด์ผ ํ๋ค.
- ์ํํธ์จ์ด์์ ์คํ๋ ์ ์๋ ๋ชจ๋ ์
๋ ฅ ๊ฐ์ ์ํฉ์ ๋ํ ๋ฐ์์ด ์ ์๋์ด์ผ ํ๋ค.
- ์ ํจํ ์ ๋ ฅ ๊ฐ๊ณผ ์ ํจํ์ง ์์ ์ ๋ ฅ ๊ฐ ๋ชจ๋์ ๋ํ ์๋ต์ ์ง์ ํ๋ ๊ฒ์ด ์ค์ํจ
- SRS์ ๋ชจ๋ ๊ทธ๋ฆผ, ํ, ๋ค์ด์ด๊ทธ๋จ์ ๊ดํ full label์ด ์ฐธ์กฐ๋์ด์ผ ํ๊ณ , ๋ชจ๋ ์ฉ์ด์ ์ธก์ ๋จ์๊ฐ ์ ์๋์ด์ผ ํ๋ค.
- TBD(to be determined)๋ผ๋ ์ฉ์ด๋ฅผ ์ฌ์ฉํ๋ SRS๋ ์์ ํ SRS๊ฐ ์๋๋ค.
- TBD๊ฐ ํ์ํ ์ํฉ
- ์ํฉ์ ํด๊ฒฐํ ์ ์๋๋ก TBD๋ฅผ ๋ฐ์์ํค๋ ์กฐ๊ฑด์ ๊ดํ ์ค๋ช
- TBD๋ฅผ ์์ ๊ธฐ ์ํด ํด์ผ ํ ์ผ, TBD์ ์ ๊ฑฐ์ ์ฑ ์์ด ์๋ ์ฌ๋, ์ธ์ ์ ๊ฑฐ๋์ด์ผ ํ๋์ง์ ๊ดํ ์ค๋ช
- ์ผ๊ด์ฑ(Consistent)
- SRS๊ฐ ์ด๋ค ์์์ ๋ฌธ์์๋ ์ถฉ๋ํ์ง ์๋๋ค๋ฉด SRS๋ consistentํ๋ค.
- SRS์์ ๋ฐ์ํ ์ ์๋ ์ถฉ๋์ ์ ํ
- ํ์ค ์ธ๊ณ์ ๊ฐ์ฒด์ ์ง์ ๋ ํน์ฑ์ ์ถฉ๋
- ๋ ํ๋ ์ฌ์ด์ ๋ ผ๋ฆฌ์ ํน์ ์๊ฐ์ ์ถฉ๋
- ๊ฐ์ ๊ฐ์ฒด๋ฅผ ์ค๋ช ํ๋ ๋ ์ด์์ ์๊ตฌ์ฌํญ์์ ์๋ก ๋ค๋ฅธ ์ฉ์ด์ ์ฌ์ฉ
- ์ค์๋/์์ ์ฐ์ ์์(Ranked for importance and/or stability)
- SRS์ ๊ฐ ์๊ตฌ์ฌํญ์ ์ค์๋๋ ์์ ์ฑ์ ๋ฐ๋ผ ๋ฑ๊ธ์ด ๋งค๊ฒจ์ง๋ค.
- ์๊ตฌ์ฌํญ์ ๋ฑ๊ธ์ ์๋ณํ ๋์ ์ด์
- ๊ณ ๊ฐ์๊ฒ ์จ๊ฒจ์ง ๊ฐ์ ์ฌํญ์ ๋ช ํํ๊ฒ ํ ์ ์๋ค.
- ๊ฐ๋ฐ์๊ฐ ์ํํธ์จ์ด ์ ํํ๊ฒ ์ค๊ณํ๊ณ ์ ํ์ ๊ฐ ๋ถ๋ถ์ ์ ์ ํ ์์ค์ ๋ ธ๋ ฅ์ ํ ์ ์๋๋ก ํ๋ค.
- ์์ ๋(Degree of stabillity)
- ์์ ์ฑ์ ์ํํธ์จ์ด ์์คํ ์ด ์ง์ํ๋ ๋จ์ฒด, ๊ธฐ๋ฅ, ์ฌ๋๋ค์ ์ํด ์ํฅ์ ๋ฐ๋ ์์ผ๋ก ๋ค๊ฐ์ฌ ์ฌ๊ฑด์ ๋ํ ๊ฒฝํ์ด๋ ์ง์์ ๊ทผ๊ฑฐํ์ฌ ์ด๋ค ์๊ตฌ์ฌํญ์ ์์ ๋ณ๊ฒฝ ํ์๋ก ํํ๋ ์ ์๋ค.
- ํ์๋(Degree of necessity)
- ์๊ตฌ์ฌํญ์ ์์๋ฅผ ์ง์ ํ๋ ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก๋ ์๊ตฌ์ฌํญ์ ํ์, ์กฐ๊ฑด, ์ ํ ์ฌํญ์ ์ข ๋ฅ๋ก ๊ตฌ๋ถํ๋ ๊ฒ์ด๋ค.
- ํ์(Essential)
- ์ ๊ณต๋์ง ์๋๋ค๋ฉด ์ํํธ์จ์ด๋ ์์ฉ๋ ์ ์๋ค.
- ์กฐ๊ฑด(Conditional)
- ์ํํธ์จ์ด๋ฅผ ํฅ์ํ ์ ์๋ ์๊ตฌ์ฌํญ์ด์ง๋ง, ์กด์ฌํ์ง ์๋๋ผ๋ ์์ฉํ ์ ์๋ ์ ํ์ ์๋๋ค.
- ์ ํ(Optional)
- ๊ฐ์น๊ฐ ์๊ฑฐ๋, ๊ทธ๋ ์ง ์์ ์ ์๋ ๊ธฐ๋ฅ์ผ๋ก SRS๋ฅผ ์ด๊ณผํ๋ ๊ธฐํ๋ฅผ ์ ๊ณตํ๋ค.
- ๊ฒ์ฆ ๊ฐ๋ฅ์ฑ(Verifiable)
- SRS์ ๊ธฐ์ ๋ ๋ชจ๋ ์๊ตฌ์ฌํญ์ ๊ฒ์ฆํ ์ ์๋ค๋ฉด SRS๋ verifiableํ๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ๋ชจํธํ ์๊ตฌ์ฌํญ์ ๊ฒ์ฆํ ์ ์๋ค.
- ์์ ๊ฐ๋ฅ์ฑ(Modifiable)
- SRS์ ๊ตฌ์กฐ์ ์คํ์ผ์ ์ ์งํ๋ฉด์ ์๊ตฌ์ฌํญ์ ์ฝ๊ณ , ์์ ํ๊ณ , ์ผ๊ด๋๊ฒ ๋ณ๊ฒฝํ ์ ์๋ค๋ฉด SRS๋ modifiableํ๋ค.
- ์์ ๊ฐ๋ฅํ SRS๊ฐ ๋๊ธฐ ์ํ ์กฐ๊ฑด
- ๋ชฉ์ฐจ, ์ธ๋ฑ์ค, ๋ช ์์ ์ํธ ์ฐธ์กฐ๊ฐ ์๋ ์ฌ์ฉํ๊ธฐ ์ฌ์ด ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ธ์ผ ํ๋ค.
- ์ค๋ณต๋์ง ์์์ผ ํ๋ค. (๊ฐ์ ์๊ตฌ์ฌํญ์ด SRS์ ๋ค๋ฅธ ๊ณณ์ ๋ํ๋์ง ์์์ผ ํ๋ค.)
- ์๊ตฌ์ฌํญ์ ํผํฉํ์ฌ ํํํ์ง ๋ง๊ณ , ๊ฐ ์๊ตฌ์ฌํญ์ ๋ณ๋๋ก ํํํด์ผ ํ๋ค.
- ์ค๋ณต ์์ฒด๋ ์ค๋ฅ๊ฐ ์๋์ง๋ง, ์ค๋ฅ๋ก ์ด์ด์ง ์ ์๋ค.
- ์ค๋ณต์ฑ์ด ๋๋ก๋ SRS๋ฅผ ๋ ์ฝ๊ธฐ ์ฝ๊ฒ ๋ง๋๋ ๋ฐ ๋์์ด ๋ ์ ์์ง๋ง, ๋ฌธ์๊ฐ ์ ๋ฐ์ดํธ๋ ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค.
- ์ค๋ณต์ด ํ์ํ ๋ SRS๋ ๋ช ์์ ์ํธ ์ฐธ์กฐ๋ฅผ ํฌํจํ์ฌ ์ด๋ฅผ ์์ ํ ์ ์๋๋ก ํด์ผ ํ๋ค.
- ์ถ์ ๊ฐ๋ฅ์ฑ(Traceable)
- SRS์ ๊ฐ ์๊ตฌ์ฌํญ์ ์ถ์ฒ๊ฐ ๋ช ํํ๊ณ , ํฅํ ๊ฐ๋ฐ ๋๋ ๊ฐ์ ๋ฌธ์์์ ์ฐธ์กฐํ ์ ์๋ค๋ฉด SRSsms traceableํ๋ค.
- ์ถ์ ๊ฐ๋ฅํ SRS์ ์ ํ
- Backwared traceability
- ๊ฐ ์๊ตฌ์ฌํญ์ด ์ด์ ๋ฌธ์์ ์ถ์ฒ๋ฅผ ๋ช ์์ ์ผ๋ก ์ฐธ์กฐํ๋ค.
- Forward traceability - ๊ฐ ์๊ตฌ์ฌํญ์ด ๊ณ ์ ํ ์ด๋ฆ์ด๋ ์ฐธ์กฐ ๋ฒํธ๋ฅผ ๊ฐ๋๋ค.
- Backwared traceability
- SRS์ forward traceability๋ ์ํํธ์จ์ด์ ์ด์ ๋ฐ ์ ์ง ๋ณด์ ๋จ๊ณ์์ ํนํ ์ค์ํ๋ค.
- ์ฝ๋์ ์ค๊ณ ๋ฌธ์๊ฐ ์์ ๋จ์ ๋ฐ๋ผ ๋ณ๊ฒฝ๋ ์ ์๋ ์ ์ฒด ์๊ตฌ์ฌํญ์ ํ์๋ก ํ์ธํ ์ ์์ด์ผ ํ๋ค.
- ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ ์์ฑ๋ ์ํํธ์จ์ด๊ฐ ๋ฌด์์ ํด์ผ ํ๋์ง๋ฅผ ๊ณต๊ธ์์ ๊ณ ๊ฐ์ ํฉ์ํ๋ ๊ฒ์์ ์์๋๋ค.
- SRS๋ฅผ ๊ณต๋์ผ๋ก ์์ฑํด์ผ ํ๋ ์ด์
- ๊ณ ๊ฐ์ ์ผ๋ฐ์ ์ผ๋ก ์ํํธ์จ์ด ์ค๊ณ์ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ์ดํดํ์ง ๋ชปํ๋ค.
- ๊ณต๊ธ์๋ ์ผ๋ฐ์ ์ผ๋ก ๊ณ ๊ฐ์ด ๋ง์กฑํ ๋งํ ์์คํ ์ ์๊ตฌ์ฌํญ์ ์ง์ ํ๊ธฐ์ ์ถฉ๋ถํ ๋งํผ ๊ณ ๊ฐ์ ๋ฌธ์ ์ ํ๋ ๋ถ์ผ๋ฅผ ์ดํดํ์ง ๋ชปํ๋ค.
- SRS๋ ์ํํธ์จ์ด์ ๊ฐ๋ฐ ์งํ์ ๋ฐ๋ผ ๋ฐ์ ์ด ํ์ํ ์ ์๋ค. (ํ๋ก์ ํธ๊ฐ ์์๋๋ ์์ ์ ์ผ๋ถ ์ธ๋ถ ์ ๋ณด๋ฅผ ์ง์ ํ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํ์ ์ ์๋ค.)
- SRS์์ ๊ฒฐํจ, ๋จ์ , ๋ถ์ ํํ ์ ๋ณด๊ฐ ๋ฐ๊ฒฌ๋ ๊ฒฝ์ฐ ์ถ๊ฐ๋ก ๋ณ๊ฒฝ๋ ์ ์๋ค.
- SRS๋ฅผ ์์ ํ ๋ ๊ณ ๋ คํด์ผ ํ๋ ๋ด์ฉ
- ์์ผ๋ก์ ๊ฐ์ ์ด ์์๋๋ ์ํฉ์์๋ ์๊ตฌ์ฌํญ์ ๋ณ๊ฒฝ๋๋ ์์ ์์ ์์ ํ๊ณ ์ฒ ์ ํ๊ฒ ๋ช ์ธ ๋์ด์ผ ํ๋ค.
- ์์๋ ๋ณ๊ฒฝ์ ํ์ธ, ์ ์ด, ์ถ์ , ๋ณด๊ณ ํ๊ธฐ ์ํ ์ ์ฐจ๋ฅผ ์์ํด์ผ ํ๋ค.
- ๋ณํ์ ๋ํ ์ ํํ๊ณ ์์ ํ ์ถ์
- ํ์ฌ์ SRS์ ๋์ฒด๋ ๋ถ๋ถ์ ๊ฒํ
- ํ๋กํ ํ์ดํ์ ํ๋ก์ ํธ์ ์๊ตฌ์ฌํญ ๋ถ๋ถ์์ ์์ฃผ ์ฌ์ฉ๋๋ค.
- ์์คํ ์ ํน์ฑ์ ๋ํ๋ด๋ ํ๋กํ ํ์ ์ ๋น ๋ฅด๊ณ ์ฝ๊ฒ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๊ฐ์ด๋: ASTM E1340-96
- ํ๋กํ ํ์ดํ์ด ์ ์ฉํ ์ด์
- ๊ณ ๊ฐ์ SRS๋ฅผ ์ฝ๊ณ ๋ฐ์ํ๋ ๊ฒ๋ณด๋ค ํ๋กํ ํ์ ์ ๋ณด๊ณ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ๋ ๋์ผ๋ฏ๋ก ์ ์ํ ํผ๋๋ฐฑ์ ์ ๊ณตํ ์ ์๋ค.
- ํ๋กํ ํ์ ์ ์์คํ ์ ์๊ธฐ์น ๋ชปํ ๋์์ ๋ณด์ฌ์ค์ ๋ฐ๋ผ ํด๋ต์ ์ ์ํ ๋ฟ๋ง ์๋๋ผ ์๋ก์ด ์ง๋ฌธ์ ์ ์ํ๋ค.
- ํ๋กํ ํ์ ์ ๊ธฐ์ดํ SRS๋ ๊ฐ๋ฐ ์ค ๋ณ๋์ด ํฌ์ง ์์ ๊ฐ๋ฐ ์๊ฐ์ด ๋จ์ถ๋๋ค.
- ํ๋กํ ํ์ ์ ์ํํธ์จ์ด ์๊ตฌ์ฌํญ์ ๋์ถํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉํด์ผ ํ๋ค.
- ํ๋ฉด์ด๋ ๋ณด๊ณ ์ ํ์์ ์ผ๋ถ ํน์ฑ์ ํ๋กํ ํ์ ์์ ์ง์ ์ถ์ถํ ์ ์๋ค.
- ๋ค๋ฅธ ์๊ตฌ์ฌํญ์ ํ๋กํ ํ์ ์ผ๋ก ์คํ์ ์คํํจ์ผ๋ก์จ ์ถ๋ก ํ ์ ์๋ค.
- ์๊ตฌ์ฌํญ์ ์ธ๋ถ์ ์ผ๋ก ๋ณด์ด๋ ์์คํ ์ ๊ธฐ๋ฅ์ด๋ ์์ฑ์ผ๋ก ์ง์ ํ๋ค.
- ์ค๊ณ๋ ์์คํ ์ ํ์ ๊ตฌ์ฑ ์์ ๋๋ ๋ค๋ฅธ ํ์ ๊ตฌ์ฑ ์์์ ์ธํฐํ์ด์ค๋ฅผ ์ค๋ช ํ๋ค.
- SRS ์์ฑ์๋ ์๊ตฌ๋๋ ์ค๊ณ ์ ์ฝ์ฌํญ์ ํ์ธํ๊ณ ํน์ ์ค๊ณ๋ฅผ ๋ช ํํ๊ฒ ๊ตฌ๋ถํด์ผ ํ๋ค.
- SRS๋ ์ํํ ์๋น์ค์ ์ด์ ์ ๋ง์ถฐ์ผ ํ๋ฉฐ, ์ด๋ค ์์น์์ ์ด๋ค ๊ฒฐ๊ณผ๋ฅผ ์ด๋ํ๋์ง๋ฅผ ์๊ธฐ ์ํด ์ด๋ค ๊ธฐ๋ฅ์ ์ํํ ๊ฒ์ธ์ง๋ฅผ ์ง์ ํด์ผ ํ๋ค.
- SRS์ ํฌํจ๋์ง ์๋ ๋ด์ฉ
- ์ํํธ์จ์ด๋ฅผ ๋ชจ๋๋ก ๋ถํ
- ๋ชจ๋์ ํ ๋น๋๋ ๊ธฐ๋ฅ
- ๋ชจ๋ ์ฌ์ด์ ์ ๋ณด ๋๋ ์ ์ด ํ๋ฆ
- ๋ฐ์ดํฐ ๊ตฌ์กฐ
- ํ์ํ ์ค๊ณ ์๊ตฌ์ฌํญ(Necessary design requirements)
- ํน์ ํ ๊ธฐ๋ฅ์ ๋ถ๋ฆฌ๋ ๋ชจ๋๋ก ์ ์งํ๋ค.
- ํ๋ก๊ทธ๋จ์ ์ผ๋ถ ์์ญ ์ฌ์ด์ ์ ํ๋ ํต์ ๋ง ํ์ฉํ๋ค
- ์ค์ํ ๋ณ์์ ๋ํ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ๊ฒ์ฌํ๋ค.
- ์ ํจํ ์ค๊ณ ์ ์ฝ ์กฐ๊ฑด์ ์๋ก๋ ๋ฌผ๋ฆฌ์ ์๊ตฌ์ฌํญ, ์ฑ๋ฅ ์๊ตฌ์ฌํญ, ์ํํธ์จ์ด ๊ฐ๋ฐ ํ์ค, ์ํํธ์จ์ด ํ์ง ๋ณด์ฆ ํ์ค์ด ์๋ค.
- ์๊ตฌ์ฌํญ์ ์ค๋ก์ง ์ธ๋ถ ๊ด์ ์์ ๋ช ์๋์ด์ผ ํ๋ค.
- ๋ชจ๋ธ์ ํ์ฉํ์ฌ ์๊ตฌ์ฌํญ์ ์ค๋ช ํ ๋๋ ์ธ๋ถ ๋์๋ง ๋ํ๋ด๋ฉฐ ์ค๊ณ๋ ์ง์ ํ์ง ์๋๋ค.
- SRS๋ ์ํํธ์จ์ด๋ฅผ ์์ฐํ๋ ํ๋ก์ธ์ค๊ฐ ์๋๋ผ ์ํํธ์จ์ด ์ ํ ๊ทธ ์์ฒด์ ๊ดํ ๋ด์ฉ์ ๋ค๋ฃจ์ด์ผ ํ๋ค.
- ํ๋ก์ ํธ ์๊ตฌ์ฌํญ์ ์ํํธ์จ์ด ์์ฐ๊ณผ ๊ด๋ จ๋ ๊ณ์ฝ ๋ฌธ์ ์ ๋ํด ๊ณ ๊ฐ๊ณผ ๊ณต๊ธ์ ์ฌ์ด์ ์ดํด๋ฅผ ๋ํ๋ด๋ฏ๋ก SRS์ ํฌํจํด์๋ ์ ๋๋ค.
- SRS์ ํฌํจ๋์ด์๋ ์ ๋๋ ํ๋ก์ ํธ ํญ๋ชฉ
- ๋น์ฉ(Cost)
- ๋ฐฐํฌ ์ผ์ (Delivery schedules)
- ๋ณด๊ณ ์ ์ฐจ(Reporting procedures)
- ์ํํธ์จ์ด ๊ฐ๋ฐ ๋ฐฉ๋ฒ(Software development method)
- ํ์ง ๋ณด์ฆ(Quality assurance)
- ์ ํจ์ฑ ๋ฐ ๊ฒ์ฆ ๊ธฐ์ค(Validation and verification criteria)
- ์ธ์ ์ ์ฐจ(Acceptance procedures)
- SRS์ ๋ชฉ์ ์ ์ค๋ช ํ๋ค.
- SRS์ ๋์์ ์ง์ ํ๋ค.
- ์ํํธ์จ์ด์ ์ด๋ฆ์ผ๋ก ์ํํธ์จ์ด ์ ํ์ ์๋ณํ๋ค.
- ์ํํธ์จ์ด๊ฐ ๋ฌด์์ ํ๊ณ , ํ์ํ ๊ฒฝ์ฐ ๋ฌด์์ ํ์ง ์๋์ง ์ค๋ช ํ๋ค.
- ์ํํธ์จ์ด์ ์ฅ์ , ๋ชฉ์ , ๋ชฉํ๋ฅผ ์ค๋ช ํ๋ค.
- SRS์์ ์ฌ์ฉ๋๋ ์ฉ์ด, ๋จธ๋ฆฌ๊ธ์, ์ฝ์ด๋ฅผ ์ ์ํ๋ค.
- ๋ถ๋ก(appendix) ๋๋ ๋ค๋ฅธ ๋ฌธ์์ ์ฐธ์กฐ๋ฅผ ํตํด ์ ๊ณต๋ ์ ์๋ค.
- SRS์ ์ธ๋ถ์์ ์ฐธ๊ณ ํ ๋ชจ๋ ๋ฌธ์์ ๋ชฉ๋ก์ ์ ๊ณตํ๋ค.
- ๊ฐ ๋ฌธ์์ ์ ๋ชฉ, ๋ณด๊ณ ์ ๋ฒํธ(ํด๋นํ๋ ๊ฒฝ์ฐ๋ง), ๋ ์ง, ์ถํ ๋จ์ฒด๋ก ์๋ณํ๋ค.
- ์ฐธ๊ณ ์๋ฃ์ ์ ๊ทผํ ์ ์๋ ์ถ์ฒ๋ฅผ ์ง์ ํ๋ค.
- SRS์ ๋๋จธ์ง ๋ถ๋ถ์ด ํฌํจํ๊ณ ์๋ ๋ด์ฉ์ ์ค๋ช ํ๋ค.
- SRS๊ฐ ์ด๋ป๊ฒ ๊ตฌ์ฑ๋์ด ์๋์ง ์ค๋ช ํ๋ค.
- ์ ํ ๋ฐ ์ ํ ์๊ตฌ์ฌํญ์ ์ํฅ์ ๋ฏธ์น๋ ์ผ๋ฐ์ ์ธ ์์ธ์ ์ค๋ช ํด์ผ ํ๋ค.
- ํน์ ์๊ตฌ์ฌํญ์ ์ค๋ช ํ์ง ์๊ณ , ์์ธ ์๊ตฌ์ฌํญ(Specific requirements)์ ๊ดํ ๋ฐฐ๊ฒฝ์ ์ ๊ณตํ๋ค.
- ์ ํ์ ๊ด๋ จ๋ ๋ค๋ฅธ ์ ํ๊ณผ์ ๊ด๊ณ๋ฅผ ์ค์ฌ์ผ๋ก ๋ด์ผ ํ๋ค.
- ์ ํ์ด ๋ ๋ฆฝ์ ์ธ ๊ฒฝ์ฐ ๋ช ์๋์ด์ผ ํ๊ณ , ๋ ํฐ ์์คํ ์ ๊ตฌ์ฑ ์์๋ก ์ ์๋๋ค๋ฉด ์์คํ ์ ์๊ตฌ์ฌํญ์ ์ํํธ์จ์ด์ ๊ธฐ๋ฅ๊ณผ ๊ด๊ณ์์ผ์ผ ํ๋ฉฐ ์์คํ ๊ณผ ์ํํธ์จ์ด ์ฌ์ด์ ์ธํฐํ์ด์ค๋ฅผ ์๋ณํด์ผ ํ๋ค.
- ๊ฐ ์์คํ ์ธํฐํ์ด์ค๋ฅผ ๋์ดํ๋ค.
- ์์คํ ์๊ตฌ์ฌํญ์ ๋ฌ์ฑํ๊ธฐ ์ํ ์ํํธ์จ์ด ๊ธฐ๋ฅ๊ณผ ์์คํ ์ ์ผ์นํ๋ ์ธํฐํ์ด์ค์ ๊ดํด ์ค๋ช ํ๋ค.
- ์ํํธ์จ์ด ์ ํ๊ณผ ์ฌ์ฉ์ ๊ฐ ์ธํฐํ์ด์ค์ ๋ ผ๋ฆฌ์ ํน์ฑ์ ์ง์ ํ๋ค.
- ์ํํธ์จ์ด ์๊ตฌ์ฌํญ์ ์ถฉ์กฑํ๋ ๋ฐ ํ์ํ ๊ตฌ์ฑ ํน์ฑ(ํ์ํ ํ๋ฉด ํ์, ํ์ด์ง ๋๋ ์ฐฝ ๋ ์ด์์, ๋ณด๊ณ ์๋ ๋ฉ๋ด์ ๋ด์ฉ, ํ๋ก๊ทธ๋๋ฐ ๊ฐ๋ฅํ ๊ธฐ๋ฅ ํค์ ์ฌ์ฉ ๊ฐ๋ฅ)์ ํฌํจ
- ์์คํ ์ ์ฌ์ฉํด์ผ ํ๋ ์ฌ๋์๊ฒ ์ต์ ํ๋ ๋ชจ๋ ์ธก๋ฉด์ ์ค๋ช ํ๋ค.
- ์ํํธ์จ์ด ์ ํ๊ณผ ์์คํ ์ ํ๋์จ์ด ์ปดํฌ๋ํธ ์ฌ์ด์ ๊ฐ ์ธํฐํ์ด์ค์ ๋ ผ๋ฆฌ์ ํน์ฑ์ ์ง์ ํด์ผ ํ๋ค.
- ์ง์ํ๋ ๊ธฐ๊ธฐ์ ์ข ๋ฅ์ ์ง์ ๋ฐฉ๋ฒ, ์ฌ์ฉํ๋ ํ๋กํ ์ฝ ๋ฑ์ ๊ดํ ๋ด์ฉ์ ๋ค๋ฃฌ๋ค.
- ๋ค๋ฅธ ํ์ ์ํํธ์จ์ด(๋ฐ์ดํฐ ๊ด๋ฆฌ ์์คํ , ์ด์์ฒด์ , ์ํ ํจํค์ง)์ ์ฌ์ฉ๊ณผ ๋ค๋ฅธ ์์คํ ๊ณผ์ ์ธํฐํ์ด์ค๋ฅผ ์ง์ ํ๋ค.
- ๊ฐ ์ํํธ์จ์ด ์ ํ์ ๋ํด ์ ๊ณต๋์ด์ผ ํ๋ ์ ๋ณด
- Name
- Mnemonic
- Specification number
- Version number
- Source
- ๊ฐ ์ธํฐํ์ด์ค์ ๋ํด ์ ๊ณต๋์ด์ผ ํ๋ ์ ๋ณด
- ์ํํธ์จ์ด์ ์ธํฐํ์ด์ค ํ๋ ๋ชฉ์
- ์ธํฐํ์ด์ค์์ ์ฌ์ฉ๋๋ ๋ฉ์์ง์ ๋ด์ฉ๊ณผ ํ์์ ๊ดํ ์ ์
- ๋ฌธ์ํ๋ ์ธํฐํ์ด์ค๋ฅผ ์์ธํ๊ฒ ์ค๋ช ํ ํ์๋ ์์ง๋ง, ์ธํฐํ์ด์ค๋ฅผ ์ ์ํ๋ ๋ฌธ์์ ๋ํ ์ฐธ์กฐ๊ฐ ํ์ํ๋ค.
- ๋ก์ปฌ ๋คํธ์ํฌ ํ๋กํ ์ฝ๊ณผ ๊ฐ์ ํต์ ์ ๋ํ ๋ค์ํ ์ธํฐํ์ด์ค๋ฅผ ์ง์ ํด์ผ ํ๋ค.
- 1์ฐจ ๋ฐ 2์ฐจ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฉ ๊ฐ๋ฅํ ํน์ฑ๊ณผ ํ๊ณ๋ฅผ ๋ช ์ํด์ผ ํ๋ค.
- ์ง์ ํด์ผ ํ๋ ์ด์ ์์ ์ ์ข ๋ฅ
- ์ฌ์ฉ์ ๊ทธ๋ฃน์ ๋ค์ํ ์ด์ ๋ชจ๋
- Interactiveํ ์์ ๊ธฐ๊ฐ๊ณผ unattendedํ ์์ ์ ๊ธฐ๊ฐ
- ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์ง์ ๊ธฐ๋ฅ
- ๋ฐฑ์ ๋ฐ ๋ณต๊ตฌ ๋์
- ์ฌ์ฉ์ ์ธํฐํ์ด์ค ํญ๋ชฉ์ ์ผ๋ถ๋ก ์ง์ ๋๊ธฐ๋ ํ๋ค.
- ํน์ ์ฌ์ดํธ, misson, ๋๋ ๋์ ๋ชจ๋(grid value, safety, etc)์ ํนํ๋ ์ด๋ค ๋ฐ์ดํฐ๋ ์ด๊ธฐํ ์์์ ๋ํ ์๊ตฌ์ฌํญ์ ์ ์ํ๋ค.
- ์ํํธ์จ์ด๋ฅผ ํน์ ์ค์น์ ์๋ง๋๋ก ์์ ํด์ผ ํ๋ ์ฌ์ดํธ ๋๋ mission๊ณผ ๊ด๋ จ๋ ํน์ง์ ์ง์ ํ๋ค.
- ์ํํธ์จ์ด๊ฐ ์ํํ๋ ์ฃผ์ ๊ธฐ๋ฅ์ ๋ํ ์์ฝ์ ์ ๊ณตํ๋ค.
- ํ์ํ ๊ธฐ๋ฅ์ ์์ฝ์ ์์ ์์ค์ ๋ช ์ธ์๋ก๋ถํฐ ๊ฐ์ ธ์ฌ ์ ์๋ค.
- ์ค์ํด์ผ ํ๋ ์ฌํญ
- ๊ณ ๊ฐ์ด๋ ๋ค๋ฅธ ์ฌ๋์ด ๋ดค์ ๋ ๊ธฐ๋ฅ ๋ชฉ๋ก์ ๋ณด๊ณ ์ดํดํ ์ ์๋๋ก ๊ธฐ๋ฅ์ด ๊ตฌ์ฑ๋์ด์ผ ํ๋ค.
- ํ ์คํธ ๋๋ ๊ทธ๋ํฝ์ ํตํด ๊ธฐ๋ฅ๋ค ์ฌ์ด์ ๊ด๊ณ๋ฅผ ๋ณด์ฌ์ค ์ ์๋ค.
- ์ฌ๊ธฐ์์ ํํ๋๋ ๋ค์ด์ด๊ทธ๋จ์ ์ค๊ณ๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ ์ํจ์ด ์๋๋ผ ๋ณ์ ์ฌ์ด์ ๋ ผ๋ฆฌ์ ๊ด๊ณ๋ฅผ ๋จ์ํ๊ฒ ๋ณด์ฌ์ฃผ๊ธฐ ์ํ ๊ฒ์ด๋ค.
- ๊ต์ก ์์ค, ๊ฒฝํ, ๊ธฐ์ ์ ์ ๋ฌธ ์ง์์ ํฌํจํ์ฌ ์ ํ์ ๋์์ด ๋๋ ์ฌ์ฉ์์ ์ผ๋ฐ์ ์ธ ํน์ฑ์ ์ค๋ช ํด์ผ ํ๋ค.
- ์ธ๋ถ์ ์ธ ์๊ตฌ์ฌํญ์ ๊ธฐ์ ํ๋ ๋ฐ ์ฌ์ฉ๋์ด์๋ ์ ๋๊ณ , ์ธ๋ถ ์๊ตฌ์ฌํญ์ด ๋์ค์ ๋ช ์๋๋ ์ด์ ๋ก ์ ๊ณต๋์ด์ผ ํ๋ค.
- ๊ฐ๋ฐ์์ ์ ํ์ ์ ํํ ๋ชจ๋ ํญ๋ชฉ์ ๊ดํ ์ผ๋ฐ์ ์ธ ์ค๋ช ์ ์ ๊ณตํด์ผ ํ๋ค.
- ํฌํจ๋๋ ๋ด์ฉ
- Regulatory plocies
- Hardware limitations (e.g., signal timing requirements)
- Interfaces to other applications
- Parallel operation
- Audit functions
- Control functions
- Higher-order language requirements
- Signal handshake protocols(e.g., XON-XOFF, ACK-NACK)
- Reliability requirements
- Criticality of the application
- Safety and security considerations
- SRS์์ ๋ช ์ํ ์๊ตฌ์ฌํญ์ ์ํฅ์ ๋ฏธ์น๋ ์์๋ค์ ๋์ดํด์ผ ํ๋ค.
- ์ด ์์๋ค์ ์ํํธ์จ์ด์ ์ค๊ณ ์ ์ฝ์ฌํญ์ด ์๋๋ผ SRS์ ์๊ตฌ์ฌํญ์ ์ํฅ์ ๋ฏธ์น ์ ์๋ ๋ณ๊ฒฝ ์ฌํญ๋ค์ด๋ค.
- ์์คํ ์ ํฅํ ๋ฒ์ ์ผ๋ก ์ง์ฐ๋ ์ ์๋ ์๊ตฌ์ฌํญ์ ์๋ณํด์ผ ํ๋ค.
- ์ค๊ณ์๊ฐ ์๊ตฌ์ฌํญ์ ๋ง์กฑํ๋ ์์คํ ์ ์ค๊ณํ ์ ์๋๋ก ๋ชจ๋ ์๊ตฌ์ฌํญ์ ์์ธํ๊ฒ ํฌํจํด์ผ ํ๋ค.
- ํ ์คํฐ๊ฐ ์์คํ ์ด ์ ์๊ฑด์ ์ถฉ์กฑํ๋์ง ํ ์คํธํด์ผ ํ๋ค.
- ๋ชจ๋ ์๊ตฌ์ฌํญ์ ์ฌ์ฉ์, ์ด์์, ๋ค๋ฅธ ์ธ๋ถ ์์คํ ์ ์ํด ์ธ๋ถ์ ์ผ๋ก ์ธ์งํ ์ ์์ด์ผ ํ๋ค.
- ์ด ์๊ตฌ์ฌํญ์๋ ์์คํ ์ ๋ํ ๋ชจ๋ ์ ๋ ฅ(์๊ทน)๊ณผ ์ถ๋ ฅ(์๋ต) ๊ทธ๋ฆฌ๊ณ ์ ๋ ฅ ๋๋ ์ถ๋ ฅ ์ง์์ ๋ํ ์๋ต์ผ๋ก ์คํ๋๋ ๋ชจ๋ ๊ธฐ๋ฅ์ ๊ดํ ์ค๋ช ์ด ํฌํจ๋์ด์ผ ํ๋ค.
- ์์ธ ์๊ตฌ์ฌํญ์ ์์ฑํ๊ธฐ ์ํ ์์น
- ์์ธ ์๊ตฌ์ฌํญ์ "Characteristics of a good SRS"์ ์ค๋ช ํ ๋ชจ๋ ํน์ฑ์ ์ค์ํ๋๋ก ์์ฑ๋์ด์ผ ํ๋ค.
- ์์ธ ์๊ตฌ์ฌํญ์ ๊ด๋ จ์ด ์๋ ์ด์ ๋ฌธ์๋ค๊ณผ ์ํธ ์ฐธ์กฐ๋์ด์ผ ํ๋ค.
- ๋ชจ๋ ์๊ตฌ์ฌํญ์ ๊ณ ์ ํ๊ฒ ์๋ณํ ์ ์์ด์ผ ํ๋ค.
- ๊ฐ๋ ์ฑ์ ๋์ด๊ธฐ ์ํด ์๊ตฌ์ฌํญ์ ๊ตฌ์ฑํ ๋ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ฌ์ผ ํ๋ค.
- ์ํํธ์จ์ด ์์คํ ์ ๋ชจ๋ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ๊ดํด ์์ธํ ์ค๋ช ํด์ผ ํ๋ค.
- "Overall description"์ ์ธํฐํ์ด์ค ์ค๋ช ์ ๋ณด์ํ๋, ๊ทธ๊ณณ์ ์ ๋ณด๊ฐ ๋ฐ๋ณต๋์ง ์์์ผ ํ๋ค.
- ํฌํจ๋๋ ์ธ๋ถ ์ธํฐํ์ด์ค์ ๋ด์ฉ ๋ฐ ํ์
- Name of item
- Description of purpose
- Source of input or destination of output
- Valid range, accuracy, and/or tolerance
- Units of measure
- Timing
- Relationships to other inputs/outputs
- Screen formats/organization
- Window formats/organization
- Data formats
- Command formats
- End messages
- ๊ธฐ๋ฅ ์๊ตฌ์ฌํญ์ ์ํํธ์จ์ด๊ฐ ์ ๋ ฅ์ ์ฒ๋ฆฌํ๊ณ ์ถ๋ ฅ์ ์์ฑํ๋ ๊ธฐ๋ณธ์ ์ธ ํ๋์ ์ ์ํด์ผ ํ๋ค.
- ํฌํจํ๋ ํ๋๋ค
- Validity checks on the inputs
- Exact sequence of operations
- Responses to abnormal situations, including
- Overflow
- Communication facilities
- Error handling and recovery
- Effect of parameters
- Relationship of outputs to inputs, including
- Input/output sequences
- Formulas for input to output conversion
- ์ํํธ์จ์ด ๋๋ ์ํํธ์จ์ด์ ์ฌ๋์ ์ํธ์์ฉ์ ๋ํ์ฌ ์์นํ๋ ์ ์ /๋์ ์๊ตฌ์ฌํญ์ด ๋ช ์๋์ด์ผ ํ๋ค.
- ์์นํ๋ ์ ์ ์๊ตฌ์ฌํญ์ ์ข ๋ฅ
- ์ง์ํ ํฐ๋ฏธ๋ ์
- ์ง์ํ ๋์ ์ ์ ์ฌ์ฉ์ ์
- ์ฒ๋ฆฌํ ์ ๋ณด์ ์๊ณผ ์ ํ์์ ๋ฐ ๋ฐ์ดํฐ์ ์
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ ์ ๋ณด์ ๊ดํ ๋ ผ๋ฆฌ์ ์๊ตฌ์ฌํญ์ ์ง์ ํด์ผ ํ๋ค.
- ๋ ผ๋ฆฌ์ ์๊ตฌ์ฌํญ์ ์ข ๋ฅ
- Types of information used by various functuons
- Frequency of use
- Accessing capabilities
- Data entities and their relationships
- Integrity constraints
- Data retention requirements
- ๋ค๋ฅธ ํ์ค, ํ๋์จ์ด ํ๊ณ ๋ฑ์ ์ํด ๋ถ๊ณผ๋ ์ ์๋ ์ค๊ณ ์ ์ฝ์ฌํญ์ ๋ช ์ํด์ผ ํ๋ค.
- ํ์ค์ด๋ ๊ท์ ์์ ํ์๋ ์๊ตฌ์ฌํญ์ ๊ธฐ์ ํ๋ค.
- ํฌํจ๋ ์ ์๋ ๋ด์ฉ
- Report format
- Data naming
- Accounting procedures
- Audit tracing
- ์๊ตฌ์ฌํญ์ผ๋ก ์ฌ์ฉ๋ ์ ์๋ ์ํํธ์จ์ด์ ์ฌ๋ฌ ๊ฐ์ง ์์ฑ ์ค ์ ํ์ด ๊ฐ๊ด์ ์ผ๋ก ์ ์ฆ๋๋ ๋ฐ ํ์ํ ์์ฑ์ ๋ช ์ํด์ผ ํ๋ค.
- ๋ฐฐํฌ๋ ๋ ์ํํธ์จ์ด ์์คํ ์ ํ์ ์ ๋ขฐ์ฑ์ ํ๋ฆฝํ๋ ๋ฐ ํ์ํ ์์๋ฅผ ๋ช ์ํด์ผ ํ๋ค.
- ๊ฒ์ฌ, ๋ณต๊ตฌ, ์ฌ์์๊ณผ ๊ฐ์ด ์ ์ฒด ์์คํ ์ ๋ํด ์ ์๋ ๊ฐ์ฉ์ฑ ์์ค์ ๋ณด์ฅํ๋ ๋ฐ ํ์ํ ์์๊ฐ ์ง์ ๋์ด์ผ ํ๋ค.
- ์ค์ ๋๋ ์ ์์ ์ธ ์ ๊ทผ, ์ฌ์ฉ, ์์ , ํ๊ดด, ๊ณต๊ฐ๋ก๋ถํฐ ์ํํธ์จ์ด๋ฅผ ๋ณดํธํ๊ธฐ ์ํ ์์๋ฅผ ๋ช ์ํด์ผ ํ๋ค.
- ํฌํจ๋ ์ ์๋ ์๊ตฌ์ฌํญ
- Utilize certain cryptographical techinques
- Keep specific log or history data sets
- Assign certain functions to diffrent modules
- Restrict communication between some areas of the program
- Check data integrity for critical variables
- ์ํํธ์จ์ด ์์ฒด๋ฅผ ์ฝ๊ฒ ์ ์ง ๋ณด์ํ ์ ์๋ ์์ฑ์ ๋ช ์ํด์ผ ํ๋ค.
- ๋ชจ๋ํ, ์ธํฐํ์ด์ค, ๋ณต์ก์ฑ ๋ฑ๊ณผ ๊ด๋ จ๋ ์๊ตฌ์ฌํญ์ด ์์ ์ ์๋ค.
- ์ํํธ์จ์ด๋ฅผ ๋ค๋ฅธ ํธ์คํธ ์์คํ ๋๋ ์ด์์ฒด์ ๋ก ์ฝ๊ฒ ์ด์ํ ์ ์๋ ์์ฑ์ ๋ช ์ํด์ผ ํ๋ค.
- ํฌํจ๋ ์ ์๋ ์์ฑ์ ์ข ๋ฅ
- Percentage of components with host-dependent code
- Percentage of code that is dependent
- Use of a proven portable language
- Use of a particular compiler or language subset
- Use of a particular operation system
- ์์คํ ์ ์ธ๋ถ ์๊ตฌ์ฌํญ์ ๊ด๋ฒ์ํ ๊ฒฝํฅ์ด ์์ผ๋ฏ๋ก ์๋ฃ๋ฅผ ์ดํดํ๊ธฐ์ ๊ฐ์ฅ ์ ํฉํ ๋ฐฉ์์ผ๋ก ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ์ธ์ฌํ๊ฒ ๊ณ ๋ คํด์ผ ํ๋ค.
- ์ผ๋ถ ์์คํ ์ ์ฌ์ฉ์์ ๋ถ๋ฅ์ ๋ฐ๋ผ ์๋ก ๋ค๋ฅธ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
- ์: ์๋ฆฌ๋ฒ ์ดํฐ ์ ์ด ์์คํ ์ ์น๊ฐ, ์ ๋น์, ์๋ฐฉ๊ด์๊ฒ ์๋ก ๋ค๋ฅธ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
- ์ฌ์ฉ์ ๋ถ๋ฅ์ ๋ฐ๋ผ ๊ตฌ์ฑํ๋ ๊ฒฝ์ฐ A.3๋ฅผ ์ฌ์ฉํ๋ค.
- ๊ฐ์ฒด๋ ์์คํ ์์ ํ์ค ์ธ๊ณ์ ๋์๋๋ ๊ฐ์ฒด์ด๋ค.
- ๊ฐ์ฒด์๋ ๊ฐ ๊ฐ์ฒด์ ์ํ(attributes) ๋ฐ ๊ฐ์ฒด์ ํ์(functions)๊ฐ ํฌํจ๋๋ค.
- ์ด๋ฌํ ํ์๋ services, methods, processes๋ผ๊ณ ๋ ํ๋ค.
- ๊ฐ์ฒด์ ๋ฐ๋ผ ๊ตฌ์ฑํ๋ ๊ฒฝ์ฐ A.4๋ฅผ ์ฌ์ฉํ๋ค.
- ํน์ง์ ์์คํ ์ ์ํด ์ธ๋ถ์ ์ผ๋ก ์๊ตฌ๋๋ ์๋น์ค๋ก์ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด์๋ ์ ๋ ฅ์ด ํ์ํ ์๋ ์๋ค.
- ์: ์ ํ ์์คํ ์์ ํน์ง๋ค์ ์ง์ญ ๋ด ํตํ, ์ฐฉ์ ์ ํ, ํ์ ํตํ๋ฅผ ํฌํจํ๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ๊ฐ ํน์ง์ ์๊ทน-๋ฐ์์ ์์๋ก ์ค๋ช ๋๋ค.
- ํน์ง์ ๋ฐ๋ผ ๊ตฌ์ฑํ๋ ๊ฒฝ์ฐ A.5๋ฅผ ์ฌ์ฉํ๋ค.
- ์ผ๋ถ ์์คํ ์ ์๊ทน์ ์ธก๋ฉด์์ ๊ธฐ๋ฅ๋ค์ ์ค๋ช ํ ๋ ๊ฐ์ฅ ์ ๊ตฌ์ฑ๋ ์ ์๋ค.
- ์: ํญ๊ณต๊ธฐ ์๋ ์ฐฉ๋ฅ ์์คํ ์ ๋๋ ฅ ์์ค, ์๋์์ด ๋ฑ์ ์ํด ๊ตฌ์ฑ๋ ์ ์๋ค.
- ์๊ทน์ ๋ฐ๋ผ ๊ตฌ์ฑํ๋ ๊ฒฝ์ฐ A.6๋ฅผ ์ฌ์ฉํ๋ค.
- ์ผ๋ถ ์์คํ ์ ๋ฐ์ ์์ฑ์ ์ง์ํ๋ ๊ธฐ๋ฅ๋ค์ ์ค๋ช ํ ๋ ๊ฐ์ฅ ์ ๊ตฌ์ฑ๋ ์ ์๋ค.
- ์: ์ง์ ์์คํ ์ ๊ธฐ๋ฅ์ ๊ธ์ฌ ์์ฑ๊ณผ ๊ด๋ จ๋ ๊ธฐ๋ฅ๋ค, ์ง์ ๋ชฉ๋ก ์์ฑ๊ณผ ๊ด๋ จ๋ ๊ธฐ๋ฅ ๋ฑ์ผ๋ก ๊ตฌ์ฑ๋ ์ ์๋ค.
- ๋ฐ์์ ๋ฐ๋ผ ๊ตฌ์ฑํ๋ ๊ฒฝ์ฐ A.6๋ฅผ ์ฌ์ฉํ๋ค.
- ์ ์กฐ์ง ์ฒด๊ณ ์ค ์ ์ฉํ ์๋จ์ด ์๋ค๋ฉด, ์ ์ฒด ๊ธฐ๋ฅ์ ๊ณตํต ์ ๋ ฅ, ๊ณตํต ์ถ๋ ฅ ๋๋ ๊ณตํต ๋ด๋ถ ๋ฐ์ดํฐ ์ ๊ทผ์ ์ํด ๊ตฌ์ฑ๋ ๊ธฐ๋ฅ์ ๊ณ์ธต์ผ๋ก ๊ตฌ์ฑ๋ ์ ์๋ค.
- ๋ฐ์ดํฐ ํ๋ฆ ๋ค์ด์ด๊ทธ๋จ๊ณผ ๋ฐ์ดํฐ ์ฌ์ ์ ์ฌ์ฉํ์ฌ ๊ธฐ๋ฅ๊ณผ ๋ฐ์ดํฐ ์ฌ์ด์ ๊ด๊ณ๋ฅผ ๋ณด์ฌ์ค ์ ์๋ค.
- ๊ธฐ๋ฅ ๊ณ์ธต๋ณ๋ก ๊ตฌ์ฑํ๋ ๊ฒฝ์ฐ A.7์ ์ฌ์ฉํ๋ค.
- ์๋ก์ด SRS๋ฅผ ๊ณ ๋ คํ ๋ ๋ ๊ฐ์ง ์ด์์ ์กฐ์ง ๊ธฐ๋ฒ์ด ์ ํฉํ ์ ์๋ค.
- ์ด ๊ฒฝ์ฐ ๋ช ์ธ์ ๋ฐ๋ฅธ ์์คํ ์ ์์ธ ์๊ตฌ์ฌํญ์ ๋ง์ถ ๋ค์ค ๊ณ์ธต์ ์๊ตฌ์ฌํญ์ ๊ตฌ์ฑํ๋ค.
- ์ฌ์ฉ์ ๋ถ๋ฅ์ ๊ธฐ๋ฅ์ ๊ฒฐํฉํ๋ ๊ตฌ์ฑ์ A.8์ ์ฐธ๊ณ ํ๋ค.
- ์ถ๊ฐ ์ ๋ณด๋ SRS๋ฅผ ๋์ฑ ์ฌ์ฉํ๊ธฐ ์ฝ๊ฒ ํ๋ค.
- ๋ชฉ์ฐจ์ ์ธ๋ฑ์ค๋ ๋งค์ฐ ์ค์ํ๋ฏ๋ก ์ผ๋ฐ์ ์ธ compositional practices๋ฅผ ๋ฐ๋ผ์ผ ํ๋ค.
- ๋ถ๋ก์ SRS์ ์ผ๋ถ๋ก ๊ฐ์ฃผํ์ง ์์ผ๋ฉฐ, ํญ์ ํ์ํ ๊ฒ๋ ์๋๋ค.
- ๋ถ๋ก์ด ํฌํจํ๋ ๋ด์ฉ
- Sample input/output formats, descriptions of cost analysis studies, or results of user surveys
- Supporting or background information that can help the readers of the SRS
- A description of the problems to be solved by the software
- Special packaging instructions for the code and the media to mmet security, export, initial loading, or other requirements
- ๋ถ๋ก์ด ํฌํจ๋ ๊ฒฝ์ฐ SRS๋ ๋ถ๋ก์ด ์๊ตฌ์ฌํญ์ ์ผ๋ถ๋ก ๊ฐ์ฃผํ๋์ง ๋ช ์ํด์ผ ํ๋ค.
- Specific requirements
- External interface requirements
- User interfaces
- Hardware interfaces
- Software interfaces
- Communication interfaces
- Functional requirements
- Mode 1
- Functional requirements 1.1
- ...
- Functional requirements 1.n
- Mode 2
- ...
- Mode 1
- Performance requirements
- Design constraints
- Software system attributes
- Other requirements
- External interface requirements
- Specific requirements
- Functional requirements
- Mode 1
- External interface requirements
- User interfaces
- Hardware interfaces
- Software interfaces
- Communication interfaces
- Functional requirements
- Functional requirements 1
- ...
- Functional requirements n
- External interface requirements
- Mode 2
- ...
- Mode 1
- Design constraints
- Software system attributes
- Other requirements
- Functional requirements
- Specific requirements
- External interface requirements
- User interfaces
- Hardware interfaces
- Software interfaces
- Communication interfaces
- Functional requirements
- User class 1
- Functional requirements 1.1
- ...
- Functional requirements 1.n
- User class 2
- ...
- User class 1
- Performance requirements
- Design constraints
- Software system attributes
- Other requirements
- External interface requirements
- Specific requirements
- External interface requirements
- User interfaces
- Hardware interfaces
- Software interfaces
- Communication interfaces
- Classes/Objects
- Class/Object 1
- Attributes
- Attribute 1
- ...
- Attribute n
- Functions
- Functional requirements 1.1
- ...
- Functional requirements 1.n
- Messages
- Attributes
- Class/Object 2
- ...
- Class/Object 1
- Performance requirements
- Design constraints
- Software system attributes
- Other requirements
- External interface requirements
- Specific requirements
- External interface requirements
- User interfaces
- Hardware interfaces
- Software interfaces
- Communication interfaces
- System features
- System feature 1
- Introduction/Purpose of feature
- Stimulus/Response sequence
- Associated functional requirements
- Functional requirements 1
- ...
- Functional requirements n
- System feature 2
- ...
- System feature 1
- Performance requirements
- Design constraints
- Software system attributes
- Other requirements
- External interface requirements
- Specific requirements
- External interface requirements
- User interfaces
- Hardware interfaces
- Software interfaces
- Communication interfaces
- Functional requirements
- Stimulus 1
- Functional requirements 1
- ...
- Functional requirements n
- Stimulus 2
- ...
- Stimulus 1
- Performance requirements
- Design constraints
- Software system attributes
- Other requirements
- External interface requirements
- Specific requirements
- External interface requirements
- User interfaces
- Hardware interfaces
- Software interfaces
- Communication interfaces
- Functional requirements
- Information flows
- Data flow diagram 1
- Data entities
- Pertinents processes
- Topology
- Data flow diagram 2
- ...
- Data flow diagram 1
- Process descriptions
- Process 1
- Input data entities
- Algorithm or formula of process
- Affected data entities
- Process 2
- ...
- Process 1
- Data construct specifications
- Construct 1
- Record type
- Constituent fields
- Construct 2
- ..
- Construct 1
- Data dictionary
- Data elemnet 1
- Name
- Representation
- Units/Format
- Precision/Accuracy
- Range
- Data element 2
- ...
- Data elemnet 1
- Information flows
- Performance requirements
- Design constraints
- Software system attributes
- Other requirements
- External interface requirements
- Specific requirements
- External interface requirements
- User interfaces
- Hardware interfaces
- Software interfaces
- Communication interfaces
- Functional requirements
- User class 1
- Feature 1.1
- Introduction/Purpose of feature
- Stimulus/Response sequence
- Associated functional requirements
- ...
- Feature 1.n
- ...
- Feature 1.1
- User class 2
- ...
- User class 1
- Performance requirements
- Design constraints
- Software system attributes
- Other requirements
- External interface requirements