Skip to content

Latest commit

ย 

History

History
802 lines (669 loc) ยท 41.3 KB

README.md

File metadata and controls

802 lines (669 loc) ยท 41.3 KB

Software Requirements Specification

Considerations for producing a good SRS

1. SRS์˜ ํŠน์„ฑ(Nature of the SRS)

  • SRS ์ž‘์„ฑ์ž๊ฐ€ ๋‹ค๋ฃจ์–ด์•ผ ํ•  ๊ธฐ๋ณธ ๋‚ด์šฉ
    1. ๊ธฐ๋Šฅ์„ฑ(Functionality)
      • ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์ด ๋ฌด์—‡์ธ๊ฐ€?
    2. ์™ธ๋ถ€ ์ธํ„ฐํŽ˜์ด์Šค(External interfaces)
      • ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์‚ฌ๋žŒ, ํ•˜๋“œ์›จ์–ด, ๋‹ค๋ฅธ ์†Œํ”„ํŠธ์›จ์–ด์™€ ์–ด๋–ป๊ฒŒ ์ƒํ˜ธ์ž‘์šฉ ํ•˜๋Š”๊ฐ€?
    3. ์„ฑ๋Šฅ(Performance)
      • ์†๋„, ๊ฐ€์šฉ์„ฑ, ๋ฐ˜์‘ ์‹œ๊ฐ„, ๋‹ค์–‘ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๊ธฐ๋Šฅ์˜ ๋ณต๊ตฌ ์†๋„๊ฐ€ ์–ด๋Š ์ •๋„์ธ๊ฐ€?
    4. ์†์„ฑ(Attributes)
      • ์ด์‹์„ฑ, ์ •ํ™•์„ฑ, ์œ ์ง€ ๋ณด์ˆ˜์„ฑ, ๋ณด์•ˆ์„ฑ ๋ฐ ๊ณ ๋ ค์‚ฌํ•ญ์ด ๋ฌด์—‡์ธ๊ฐ€?
    5. ๊ตฌํ˜„์— ๋ถ€๊ณผ๋œ ์„ค๊ณ„ ์ œ์•ฝ์‚ฌํ•ญ(Design constraints imposed on an implementation)
      • ์ ์šฉํ•ด์•ผ ํ•˜๋Š” ํ‘œ์ค€, ๊ตฌํ˜„ํ•˜๋Š” ์–ธ์–ด, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฌด๊ฒฐ์„ฑ ์ •์ฑ…, ๋ฆฌ์†Œ์Šค ์ œ์•ฝ์‚ฌํ•ญ, ์šด์˜์ฒด์ œ๊ฐ€ ๋ฌด์—‡์ธ๊ฐ€?

2. SRS์˜ ๋ฐฐ๊ฒฝ(Environment of the SRS)

  • IEEE Std 610.12-1990์— ์ •์˜๋œ ์ „์ฒด ํ”„๋กœ์ ํŠธ ๊ณ„ํš์—์„œ SRS๊ฐ€ ๋‹ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„์„ ๊ณ ๋ คํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.
  • IEEE Std 1074-1997์—์„œ๋Š” ๋‹จ๊ณ„๋ณ„ ์†Œํ”„ํŠธ์›จ์–ด์˜ ์ˆ˜๋ช… ์ฃผ๊ธฐ์™€ ๊ฐ ๋‹จ๊ณ„์— ํ•ด๋‹นํ•˜๋Š” ์ž…๋ ฅ์„ ์„ค๋ช…ํ•œ๋‹ค.
  • SRS๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์—์„œ ํŠน์ • ์—ญํ• ์„ ๋‹ด๋‹นํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์ž‘์„ฑ์ž๋Š” ํ•ด๋‹น ์—ญํ• ์„ ๋ฒ—์–ด๋‚˜์ง€ ์•Š๋„๋ก ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค.
  • SRS๊ฐ€ ๋”ฐ๋ผ์•ผ ํ•˜๋Š” ๊ทœ์น™
    1. ๋ชจ๋“  ์†Œํ”„ํŠธ์›จ์–ด ์š”๊ตฌ์‚ฌํ•ญ์„ ์ •ํ™•ํ•˜๊ฒŒ ์ •์˜ํ•ด์•ผ ํ•œ๋‹ค. ์š”๊ตฌ์‚ฌํ•ญ์€ ํ•ด๊ฒฐ๋˜์–ด์•ผ ํ•˜๋Š” ์ž‘์—…์˜ ํŠน์„ฑ ๋˜๋Š” ํ”„๋กœ์ ํŠธ์˜ ํŠน์„ฑ์œผ๋กœ ์ธํ•ด ์ƒ๊ฒจ๋‚  ์ˆ˜ ์žˆ๋‹ค.
    2. ์„ค๊ณ„ ํ˜น์€ ๊ตฌํ˜„์— ๊ด€ํ•œ ์ƒ์„ธํ•œ ๋‚ด์šฉ์„ ํฌํ•จํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค. ์ด์™€ ๊ฐ™์€ ๋‚ด์šฉ์€ ์„ค๊ณ„ ๋‹จ๊ณ„์—์„œ ํฌํ•จ๋˜์–ด์•ผ ํ•œ๋‹ค.
    3. ์†Œํ”„ํŠธ์›จ์–ด์— ์ œ์•ฝ์‚ฌํ•ญ์„ ์ถ”๊ฐ€๋กœ ๋ถ€๊ณผํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค. ์ด๋Ÿฐ ์†์„ฑ์€ ์†Œํ”„ํŠธ์›จ์–ด ํ’ˆ์งˆ๋ณด์ฆ ๊ณ„ํš(Software Quality Assurance Plan)๊ณผ ๊ฐ™์€ ๋ฌธ์„œ์—์„œ ๋ช…์„ธ ๋˜์–ด์•ผ ํ•œ๋‹ค.

3. ์ข‹์€ SRS์˜ ํŠน์ง•(Characteristics of a good SRS)

  1. ์ •ํ™•์„ฑ(Correct)
    • SRS์— ๋ช…์‹œ๋œ ๋ชจ๋“  ์š”๊ตฌ์‚ฌํ•ญ์ด ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ๋งŒ์กฑ์‹œ์ผœ์•ผ ํ•˜๋Š” ๋‚ด์šฉ์— ํ•ด๋‹นํ•œ๋‹ค๋ฉด SRS๋Š” correctํ•˜๋‹ค.
  2. ํ™•์‹ค์„ฑ(Unambiguous)
    • SRS์— ๋ช…์‹œ๋œ ๋ชจ๋“  ์š”๊ตฌ์‚ฌํ•ญ์ด ๋‹จ ํ•œ ๊ฐ€์ง€ ๋œป์œผ๋กœ ํ•ด์„๋œ๋‹ค๋ฉด SRS๋Š” unambiguousํ•˜๋‹ค.
    • ์ตœ์†Œํ•œ ๊ณ ์œ ํ•œ ์šฉ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ œํ’ˆ์˜ ๊ฐ ํŠน์„ฑ์„ ์„ค๋ช…ํ•ด์•ผ ํ•œ๋‹ค.
    • ํŠน์ • ๋งฅ๋ฝ์—์„œ ์‚ฌ์šฉ๋œ ์šฉ์–ด๊ฐ€ ์—ฌ๋Ÿฌ ์˜๋ฏธ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ, ํ•ด๋‹น ์šฉ์–ด์— ๊ด€ํ•œ ๊ตฌ์ฒด์ ์ธ ๋œป์„ glossary์— ํฌํ•จํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
    • ๋ชจํ˜ธํ•จ์„ ํšŒํ”ผํ•˜๋Š” ๋ฐฉ๋ฒ•
      1. ์ž์—ฐ ์–ธ์–ด์˜ ์œ„ํ—˜์„ ์ธ์ง€ํ•˜๊ณ  ํšŒํ”ผํ•˜๊ธฐ(Natural language pitfalls)
        • ์ž์—ฐ์–ด๋Š” ๋ณธ์งˆ์ด ๋ชจํ˜ธํ•˜๋‹ค.
        • ์ž์—ฐ์–ด๊ฐ€ ์‚ฌ์šฉ๋œ SRS๋Š” ๋ชจํ˜ธํ•œ ์–ธ์–ด์˜ ์‚ฌ์šฉ์„ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๋Š” ๋…๋ฆฝ์ ์ธ ๋‹น์‚ฌ์ž๊ฐ€ ๊ฒ€ํ† ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
      2. ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ ์–ธ์–ด(Requirements specification languages)
        • ์ž์—ฐ์–ด๊ฐ€ ํฌํ•จํ•˜๋Š” ๋ชจํ˜ธ์„ฑ์„ ํšŒํ”ผํ•˜๊ธฐ ์œ„ํ•œ ํ•œ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์€ SRS๋ฅผ ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ ์–ธ์–ด๋กœ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
        • ๋ช…์„ธ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์˜ ๋‹จ์ 
          1. ์–ธ์–ด๋ฅผ ๋ฐฐ์šธ ๋•Œ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„
          2. ๊ธฐ์ˆ ์ ์ธ ์ง€์‹์ด ๋ถ€์กฑํ•œ ์‚ฌ์šฉ์ž์˜ ์ดํ•ด
        • ๋ช…์„ธ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์˜ ์žฅ์ 
          1. ์š”๊ตฌ์‚ฌํ•ญ์„ ํšจ๊ณผ์ ์œผ๋กœ ํ‘œํ˜„
          2. ๋ฏธ๋ฌ˜ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์˜ ๋ฐ˜์˜
      3. ํ‘œํ˜„ ๋„๊ตฌ(Representation tools)
  3. ์™„์ „์„ฑ(Complete)
    • SRS๊ฐ€ ์•„๋ž˜ ์กฐ๊ฑด๋“ค์„ ๋งŒ์กฑํ•œ๋‹ค๋ฉด SRS๋Š” completeํ•˜๋‹ค.
    • SRS๊ฐ€ completeํ•˜๊ธฐ ์œ„ํ•œ ์กฐ๊ฑด
      1. ๊ธฐ๋Šฅ์„ฑ, ์„ฑ๋Šฅ, ์„ค๊ณ„ ์ œ์•ฝ์‚ฌํ•ญ, ์†์„ฑ, ์™ธ๋ถ€ ์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ด€๋ จ๋œ ๋ชจ๋“  ์š”๊ตฌ์‚ฌํ•ญ์„ ์ธ์ง€ํ•˜๊ณ  ์ฒ˜๋ฆฌํ•ด์•ผ ํ•œ๋‹ค.
      2. ์†Œํ”„ํŠธ์›จ์–ด์—์„œ ์‹คํ˜„๋  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์ž…๋ ฅ ๊ฐ’์˜ ์ƒํ™ฉ์— ๋Œ€ํ•œ ๋ฐ˜์‘์ด ์ •์˜๋˜์–ด์•ผ ํ•œ๋‹ค.
        • ์œ ํšจํ•œ ์ž…๋ ฅ ๊ฐ’๊ณผ ์œ ํšจํ•˜์ง€ ์•Š์€ ์ž…๋ ฅ ๊ฐ’ ๋ชจ๋‘์— ๋Œ€ํ•œ ์‘๋‹ต์„ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•จ
      3. SRS์˜ ๋ชจ๋“  ๊ทธ๋ฆผ, ํ‘œ, ๋‹ค์ด์–ด๊ทธ๋žจ์— ๊ด€ํ•œ full label์ด ์ฐธ์กฐ๋˜์–ด์•ผ ํ•˜๊ณ , ๋ชจ๋“  ์šฉ์–ด์™€ ์ธก์ • ๋‹จ์œ„๊ฐ€ ์ •์˜๋˜์–ด์•ผ ํ•œ๋‹ค.
    • TBD(to be determined)๋ผ๋Š” ์šฉ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” SRS๋Š” ์™„์ „ํ•œ SRS๊ฐ€ ์•„๋‹ˆ๋‹ค.
    1. TBD๊ฐ€ ํ•„์š”ํ•œ ์ƒํ™ฉ
      • ์ƒํ™ฉ์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋„๋ก TBD๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ์กฐ๊ฑด์— ๊ด€ํ•œ ์„ค๋ช…
      • TBD๋ฅผ ์—†์• ๊ธฐ ์œ„ํ•ด ํ•ด์•ผ ํ•  ์ผ, TBD์˜ ์ œ๊ฑฐ์— ์ฑ…์ž„์ด ์žˆ๋Š” ์‚ฌ๋žŒ, ์–ธ์ œ ์ œ๊ฑฐ๋˜์–ด์•ผ ํ•˜๋Š”์ง€์— ๊ด€ํ•œ ์„ค๋ช…
  4. ์ผ๊ด€์„ฑ(Consistent)
    • SRS๊ฐ€ ์–ด๋–ค ์ƒ์œ„์˜ ๋ฌธ์„œ์™€๋„ ์ถฉ๋Œํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด SRS๋Š” consistentํ•˜๋‹ค.
    • SRS์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์ถฉ๋Œ์˜ ์œ ํ˜•
      1. ํ˜„์‹ค ์„ธ๊ณ„์˜ ๊ฐ์ฒด์— ์ง€์ •๋œ ํŠน์„ฑ์˜ ์ถฉ๋Œ
      2. ๋‘ ํ–‰๋™ ์‚ฌ์ด์˜ ๋…ผ๋ฆฌ์  ํ˜น์€ ์‹œ๊ฐ„์  ์ถฉ๋Œ
      3. ๊ฐ™์€ ๊ฐ์ฒด๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋‘˜ ์ด์ƒ์˜ ์š”๊ตฌ์‚ฌํ•ญ์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ์šฉ์–ด์˜ ์‚ฌ์šฉ
  5. ์ค‘์š”๋„/์•ˆ์ • ์šฐ์„ ์ˆœ์œ„(Ranked for importance and/or stability)
    • SRS์˜ ๊ฐ ์š”๊ตฌ์‚ฌํ•ญ์€ ์ค‘์š”๋„๋‚˜ ์•ˆ์ •์„ฑ์— ๋”ฐ๋ผ ๋“ฑ๊ธ‰์ด ๋งค๊ฒจ์ง„๋‹ค.
    • ์š”๊ตฌ์‚ฌํ•ญ์˜ ๋“ฑ๊ธ‰์„ ์‹๋ณ„ํ•  ๋•Œ์˜ ์ด์ 
      1. ๊ณ ๊ฐ์—๊ฒŒ ์ˆจ๊ฒจ์ง„ ๊ฐ€์ • ์‚ฌํ•ญ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.
      2. ๊ฐœ๋ฐœ์ž๊ฐ€ ์†Œํ”„ํŠธ์›จ์–ด ์ •ํ™•ํ•˜๊ฒŒ ์„ค๊ณ„ํ•˜๊ณ  ์ œํ’ˆ์˜ ๊ฐ ๋ถ€๋ถ„์— ์ ์ ˆํ•œ ์ˆ˜์ค€์˜ ๋…ธ๋ ฅ์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.
    1. ์•ˆ์ •๋„(Degree of stabillity)
      • ์•ˆ์ •์„ฑ์€ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์ด ์ง€์›ํ•˜๋Š” ๋‹จ์ฒด, ๊ธฐ๋Šฅ, ์‚ฌ๋žŒ๋“ค์— ์˜ํ•ด ์˜ํ–ฅ์„ ๋ฐ›๋Š” ์•ž์œผ๋กœ ๋‹ค๊ฐ€์˜ฌ ์‚ฌ๊ฑด์— ๋Œ€ํ•œ ๊ฒฝํ—˜์ด๋‚˜ ์ง€์‹์— ๊ทผ๊ฑฐํ•˜์—ฌ ์–ด๋–ค ์š”๊ตฌ์‚ฌํ•ญ์˜ ์˜ˆ์ƒ ๋ณ€๊ฒฝ ํšŸ์ˆ˜๋กœ ํ‘œํ˜„๋  ์ˆ˜ ์žˆ๋‹ค.
    2. ํ•„์š”๋„(Degree of necessity)
      • ์š”๊ตฌ์‚ฌํ•ญ์˜ ์ˆœ์œ„๋ฅผ ์ง€์ •ํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ์š”๊ตฌ์‚ฌํ•ญ์„ ํ•„์ˆ˜, ์กฐ๊ฑด, ์„ ํƒ ์‚ฌํ•ญ์˜ ์ข…๋ฅ˜๋กœ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
      1. ํ•„์ˆ˜(Essential)
        • ์ œ๊ณต๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ์†Œํ”„ํŠธ์›จ์–ด๋Š” ์ˆ˜์šฉ๋  ์ˆ˜ ์—†๋‹ค.
      2. ์กฐ๊ฑด(Conditional)
        • ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ํ–ฅ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์š”๊ตฌ์‚ฌํ•ญ์ด์ง€๋งŒ, ์กด์žฌํ•˜์ง€ ์•Š๋”๋ผ๋„ ์ˆ˜์šฉํ•  ์ˆ˜ ์—†๋Š” ์ œํ’ˆ์€ ์•„๋‹ˆ๋‹ค.
      3. ์„ ํƒ(Optional)
        • ๊ฐ€์น˜๊ฐ€ ์žˆ๊ฑฐ๋‚˜, ๊ทธ๋ ‡์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์œผ๋กœ SRS๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ๊ธฐํšŒ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
  6. ๊ฒ€์ฆ ๊ฐ€๋Šฅ์„ฑ(Verifiable)
    • SRS์— ๊ธฐ์ˆ ๋œ ๋ชจ๋“  ์š”๊ตฌ์‚ฌํ•ญ์„ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด SRS๋Š” verifiableํ•˜๋‹ค.
    • ์ผ๋ฐ˜์ ์œผ๋กœ ๋ชจํ˜ธํ•œ ์š”๊ตฌ์‚ฌํ•ญ์€ ๊ฒ€์ฆํ•  ์ˆ˜ ์—†๋‹ค.
  7. ์ˆ˜์ • ๊ฐ€๋Šฅ์„ฑ(Modifiable)
    • SRS์˜ ๊ตฌ์กฐ์™€ ์Šคํƒ€์ผ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์š”๊ตฌ์‚ฌํ•ญ์„ ์‰ฝ๊ณ , ์™„์ „ํ•˜๊ณ , ์ผ๊ด€๋˜๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด SRS๋Š” modifiableํ•˜๋‹ค.
    • ์ˆ˜์ • ๊ฐ€๋Šฅํ•œ SRS๊ฐ€ ๋˜๊ธฐ ์œ„ํ•œ ์กฐ๊ฑด
      1. ๋ชฉ์ฐจ, ์ธ๋ฑ์Šค, ๋ช…์‹œ์  ์ƒํ˜ธ ์ฐธ์กฐ๊ฐ€ ์žˆ๋Š” ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฌ์šด ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค.
      2. ์ค‘๋ณต๋˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค. (๊ฐ™์€ ์š”๊ตฌ์‚ฌํ•ญ์ด SRS์˜ ๋‹ค๋ฅธ ๊ณณ์— ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค.)
      3. ์š”๊ตฌ์‚ฌํ•ญ์„ ํ˜ผํ•ฉํ•˜์—ฌ ํ‘œํ˜„ํ•˜์ง€ ๋ง๊ณ , ๊ฐ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ณ„๋„๋กœ ํ‘œํ˜„ํ•ด์•ผ ํ•œ๋‹ค.
    • ์ค‘๋ณต ์ž์ฒด๋Š” ์˜ค๋ฅ˜๊ฐ€ ์•„๋‹ˆ์ง€๋งŒ, ์˜ค๋ฅ˜๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.
    • ์ค‘๋ณต์„ฑ์ด ๋•Œ๋กœ๋Š” SRS๋ฅผ ๋” ์ฝ๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋ฌธ์„œ๊ฐ€ ์—…๋ฐ์ดํŠธ๋  ๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์ค‘๋ณต์ด ํ•„์š”ํ•  ๋•Œ SRS๋Š” ๋ช…์‹œ์  ์ƒํ˜ธ ์ฐธ์กฐ๋ฅผ ํฌํ•จํ•˜์—ฌ ์ด๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผ ํ•œ๋‹ค.
  8. ์ถ”์  ๊ฐ€๋Šฅ์„ฑ(Traceable)
    • SRS์˜ ๊ฐ ์š”๊ตฌ์‚ฌํ•ญ์˜ ์ถœ์ฒ˜๊ฐ€ ๋ช…ํ™•ํ•˜๊ณ , ํ–ฅํ›„ ๊ฐœ๋ฐœ ๋˜๋Š” ๊ฐœ์„  ๋ฌธ์„œ์—์„œ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด SRSsms traceableํ•˜๋‹ค.
    • ์ถ”์  ๊ฐ€๋Šฅํ•œ SRS์˜ ์œ ํ˜•
      1. Backwared traceability
        • ๊ฐ ์š”๊ตฌ์‚ฌํ•ญ์ด ์ด์ „ ๋ฌธ์„œ์˜ ์ถœ์ฒ˜๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์ฐธ์กฐํ•œ๋‹ค.
      2. Forward traceability - ๊ฐ ์š”๊ตฌ์‚ฌํ•ญ์ด ๊ณ ์œ ํ•œ ์ด๋ฆ„์ด๋‚˜ ์ฐธ์กฐ ๋ฒˆํ˜ธ๋ฅผ ๊ฐ–๋Š”๋‹ค.
    • SRS์˜ forward traceability๋Š” ์†Œํ”„ํŠธ์›จ์–ด์˜ ์šด์˜ ๋ฐ ์œ ์ง€ ๋ณด์ˆ˜ ๋‹จ๊ณ„์—์„œ ํŠนํžˆ ์ค‘์š”ํ•˜๋‹ค.
    • ์ฝ”๋“œ์™€ ์„ค๊ณ„ ๋ฌธ์„œ๊ฐ€ ์ˆ˜์ •๋จ์— ๋”ฐ๋ผ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋Š” ์ „์ฒด ์š”๊ตฌ์‚ฌํ•ญ์„ ํ•„์ˆ˜๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

4. SRS์˜ ํ˜‘์—…(Joint preparation of the SRS)

  • ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋Š” ์™„์„ฑ๋œ ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ๋ฌด์—‡์„ ํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๊ณต๊ธ‰์ž์™€ ๊ณ ๊ฐ์˜ ํ•ฉ์˜ํ•˜๋Š” ๊ฒƒ์—์„œ ์‹œ์ž‘๋œ๋‹ค.
  • SRS๋ฅผ ๊ณต๋™์œผ๋กœ ์ž‘์„ฑํ•ด์•ผ ํ•˜๋Š” ์ด์œ 
    1. ๊ณ ๊ฐ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„์™€ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ดํ•ดํ•˜์ง€ ๋ชปํ•œ๋‹ค.
    2. ๊ณต๊ธ‰์ž๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๊ณ ๊ฐ์ด ๋งŒ์กฑํ•  ๋งŒํ•œ ์‹œ์Šคํ…œ์˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ง€์ •ํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•  ๋งŒํผ ๊ณ ๊ฐ์˜ ๋ฌธ์ œ์™€ ํ™œ๋™ ๋ถ„์•ผ๋ฅผ ์ดํ•ดํ•˜์ง€ ๋ชปํ•œ๋‹ค.

5. SRS ๊ฐœ์„ (SRS evolution)

  • SRS๋Š” ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ฐœ๋ฐœ ์ง„ํ–‰์— ๋”ฐ๋ผ ๋ฐœ์ „์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ๋‹ค. (ํ”„๋กœ์ ํŠธ๊ฐ€ ์‹œ์ž‘๋˜๋Š” ์‹œ์ ์— ์ผ๋ถ€ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ–ˆ์„ ์ˆ˜ ์žˆ๋‹ค.)
  • SRS์—์„œ ๊ฒฐํ•จ, ๋‹จ์ , ๋ถ€์ •ํ™•ํ•œ ์ •๋ณด๊ฐ€ ๋ฐœ๊ฒฌ๋  ๊ฒฝ์šฐ ์ถ”๊ฐ€๋กœ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋‹ค.
  • SRS๋ฅผ ์ˆ˜์ •ํ•  ๋•Œ ๊ณ ๋ คํ•ด์•ผ ํ•˜๋Š” ๋‚ด์šฉ
    1. ์•ž์œผ๋กœ์˜ ๊ฐœ์ •์ด ์˜ˆ์ƒ๋˜๋Š” ์ƒํ™ฉ์—์„œ๋„ ์š”๊ตฌ์‚ฌํ•ญ์€ ๋ณ€๊ฒฝ๋˜๋Š” ์‹œ์ ์—์„œ ์™„์ „ํ•˜๊ณ  ์ฒ ์ €ํ•˜๊ฒŒ ๋ช…์„ธ ๋˜์–ด์•ผ ํ•œ๋‹ค.
    2. ์˜ˆ์ƒ๋œ ๋ณ€๊ฒฝ์„ ํ™•์ธ, ์ œ์–ด, ์ถ”์ , ๋ณด๊ณ ํ•˜๊ธฐ ์œ„ํ•œ ์ ˆ์ฐจ๋ฅผ ์‹œ์ž‘ํ•ด์•ผ ํ•œ๋‹ค.
      1. ๋ณ€ํ™”์— ๋Œ€ํ•œ ์ •ํ™•ํ•˜๊ณ  ์™„์ „ํ•œ ์ถ”์ 
      2. ํ˜„์žฌ์˜ SRS์™€ ๋Œ€์ฒด๋œ ๋ถ€๋ถ„์˜ ๊ฒ€ํ† 

6. ํ”„๋กœํ† ํƒ€์ดํ•‘(Prototyping)

  • ํ”„๋กœํ† ํƒ€์ดํ•‘์€ ํ”„๋กœ์ ํŠธ์˜ ์š”๊ตฌ์‚ฌํ•ญ ๋ถ€๋ถ„์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค.
  • ์‹œ์Šคํ…œ์˜ ํŠน์„ฑ์„ ๋‚˜ํƒ€๋‚ด๋Š” ํ”„๋กœํ† ํƒ€์ž…์„ ๋น ๋ฅด๊ณ  ์‰ฝ๊ฒŒ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์˜ ๊ฐ€์ด๋“œ: ASTM E1340-96
  • ํ”„๋กœํ† ํƒ€์ดํ•‘์ด ์œ ์šฉํ•œ ์ด์œ 
    1. ๊ณ ๊ฐ์€ SRS๋ฅผ ์ฝ๊ณ  ๋ฐ˜์‘ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ํ”„๋กœํ† ํƒ€์ž…์„ ๋ณด๊ณ  ๋ฐ˜์‘ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋” ๋†’์œผ๋ฏ€๋กœ ์‹ ์†ํ•œ ํ”ผ๋“œ๋ฐฑ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค.
    2. ํ”„๋กœํ† ํƒ€์ž…์€ ์‹œ์Šคํ…œ์˜ ์˜ˆ๊ธฐ์น˜ ๋ชปํ•œ ๋™์ž‘์„ ๋ณด์—ฌ์คŒ์— ๋”ฐ๋ผ ํ•ด๋‹ต์„ ์ œ์‹œํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ƒˆ๋กœ์šด ์งˆ๋ฌธ์„ ์ œ์‹œํ•œ๋‹ค.
    3. ํ”„๋กœํ† ํƒ€์ž…์— ๊ธฐ์ดˆํ•œ SRS๋Š” ๊ฐœ๋ฐœ ์ค‘ ๋ณ€๋™์ด ํฌ์ง€ ์•Š์•„ ๊ฐœ๋ฐœ ์‹œ๊ฐ„์ด ๋‹จ์ถ•๋œ๋‹ค.
  • ํ”„๋กœํ† ํƒ€์ž…์€ ์†Œํ”„ํŠธ์›จ์–ด ์š”๊ตฌ์‚ฌํ•ญ์„ ๋„์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.
  • ํ™”๋ฉด์ด๋‚˜ ๋ณด๊ณ ์„œ ํ˜•์‹์˜ ์ผ๋ถ€ ํŠน์„ฑ์€ ํ”„๋กœํ† ํƒ€์ž…์—์„œ ์ง์ ‘ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋‹ค๋ฅธ ์š”๊ตฌ์‚ฌํ•ญ์€ ํ”„๋กœํ† ํƒ€์ž…์œผ๋กœ ์‹คํ—˜์„ ์‹คํ–‰ํ•จ์œผ๋กœ์จ ์ถ”๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค.

7. SRS์— ์„ค๊ณ„ ํฌํ•จํ•˜๊ธฐ(Embedding design in the SRS)

  • ์š”๊ตฌ์‚ฌํ•ญ์€ ์™ธ๋ถ€์ ์œผ๋กœ ๋ณด์ด๋Š” ์‹œ์Šคํ…œ์˜ ๊ธฐ๋Šฅ์ด๋‚˜ ์†์„ฑ์œผ๋กœ ์ง€์ •ํ•œ๋‹ค.
  • ์„ค๊ณ„๋Š” ์‹œ์Šคํ…œ์˜ ํ•˜์œ„ ๊ตฌ์„ฑ ์š”์†Œ ๋˜๋Š” ๋‹ค๋ฅธ ํ•˜์œ„ ๊ตฌ์„ฑ ์š”์†Œ์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์„ค๋ช…ํ•œ๋‹ค.
  • SRS ์ž‘์„ฑ์ž๋Š” ์š”๊ตฌ๋˜๋Š” ์„ค๊ณ„ ์ œ์•ฝ์‚ฌํ•ญ์„ ํ™•์ธํ•˜๊ณ  ํŠน์ • ์„ค๊ณ„๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ๊ตฌ๋ถ„ํ•ด์•ผ ํ•œ๋‹ค.
  • SRS๋Š” ์ˆ˜ํ–‰ํ•  ์„œ๋น„์Šค์— ์ดˆ์ ์„ ๋งž์ถฐ์•ผ ํ•˜๋ฉฐ, ์–ด๋–ค ์œ„์น˜์—์„œ ์–ด๋–ค ๊ฒฐ๊ณผ๋ฅผ ์ดˆ๋ž˜ํ•˜๋Š”์ง€๋ฅผ ์•Œ๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•  ๊ฒƒ์ธ์ง€๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค.
  • SRS์— ํฌํ•จ๋˜์ง€ ์•Š๋Š” ๋‚ด์šฉ
    1. ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋ชจ๋“ˆ๋กœ ๋ถ„ํ• 
    2. ๋ชจ๋“ˆ์— ํ• ๋‹น๋˜๋Š” ๊ธฐ๋Šฅ
    3. ๋ชจ๋“ˆ ์‚ฌ์ด์˜ ์ •๋ณด ๋˜๋Š” ์ œ์–ด ํ๋ฆ„
    4. ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ
  1. ํ•„์š”ํ•œ ์„ค๊ณ„ ์š”๊ตฌ์‚ฌํ•ญ(Necessary design requirements)
    1. ํŠน์ •ํ•œ ๊ธฐ๋Šฅ์„ ๋ถ„๋ฆฌ๋œ ๋ชจ๋“ˆ๋กœ ์œ ์ง€ํ•œ๋‹ค.
    2. ํ”„๋กœ๊ทธ๋žจ์˜ ์ผ๋ถ€ ์˜์—ญ ์‚ฌ์ด์— ์ œํ•œ๋œ ํ†ต์‹ ๋งŒ ํ—ˆ์šฉํ•œ๋‹ค
    3. ์ค‘์š”ํ•œ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„ ๊ฒ€์‚ฌํ•œ๋‹ค.
    • ์œ ํšจํ•œ ์„ค๊ณ„ ์ œ์•ฝ ์กฐ๊ฑด์˜ ์˜ˆ๋กœ๋Š” ๋ฌผ๋ฆฌ์  ์š”๊ตฌ์‚ฌํ•ญ, ์„ฑ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ, ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ‘œ์ค€, ์†Œํ”„ํŠธ์›จ์–ด ํ’ˆ์งˆ ๋ณด์ฆ ํ‘œ์ค€์ด ์žˆ๋‹ค.
    • ์š”๊ตฌ์‚ฌํ•ญ์€ ์˜ค๋กœ์ง€ ์™ธ๋ถ€ ๊ด€์ ์—์„œ ๋ช…์‹œ๋˜์–ด์•ผ ํ•œ๋‹ค.
    • ๋ชจ๋ธ์„ ํ™œ์šฉํ•˜์—ฌ ์š”๊ตฌ์‚ฌํ•ญ์„ ์„ค๋ช…ํ•  ๋•Œ๋Š” ์™ธ๋ถ€ ๋™์ž‘๋งŒ ๋‚˜ํƒ€๋‚ด๋ฉฐ ์„ค๊ณ„๋Š” ์ง€์ •ํ•˜์ง€ ์•Š๋Š”๋‹ค.

8. SRS์— ํ”„๋กœ์ ํŠธ ์š”๊ตฌ์‚ฌํ•ญ ํฌํ•จํ•˜๊ธฐ(Embedding project requirements in the SRS)

  • SRS๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ƒ์‚ฐํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์•„๋‹ˆ๋ผ ์†Œํ”„ํŠธ์›จ์–ด ์ œํ’ˆ ๊ทธ ์ž์ฒด์— ๊ด€ํ•œ ๋‚ด์šฉ์„ ๋‹ค๋ฃจ์–ด์•ผ ํ•œ๋‹ค.
  • ํ”„๋กœ์ ํŠธ ์š”๊ตฌ์‚ฌํ•ญ์€ ์†Œํ”„ํŠธ์›จ์–ด ์ƒ์‚ฐ๊ณผ ๊ด€๋ จ๋œ ๊ณ„์•ฝ ๋ฌธ์ œ์— ๋Œ€ํ•ด ๊ณ ๊ฐ๊ณผ ๊ณต๊ธ‰์ž ์‚ฌ์ด์˜ ์ดํ•ด๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฏ€๋กœ SRS์— ํฌํ•จํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค.
  • SRS์— ํฌํ•จ๋˜์–ด์„œ๋Š” ์•ˆ ๋˜๋Š” ํ”„๋กœ์ ํŠธ ํ•ญ๋ชฉ
    1. ๋น„์šฉ(Cost)
    2. ๋ฐฐํฌ ์ผ์ •(Delivery schedules)
    3. ๋ณด๊ณ  ์ ˆ์ฐจ(Reporting procedures)
    4. ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•(Software development method)
    5. ํ’ˆ์งˆ ๋ณด์ฆ(Quality assurance)
    6. ์œ ํšจ์„ฑ ๋ฐ ๊ฒ€์ฆ ๊ธฐ์ค€(Validation and verification criteria)
    7. ์ธ์ˆ˜ ์ ˆ์ฐจ(Acceptance procedures)

The parts of an SRS

1. ์†Œ๊ฐœ(Introduction)

1.1. ๋ชฉ์ (Purpose)

  • SRS์˜ ๋ชฉ์ ์„ ์„ค๋ช…ํ•œ๋‹ค.
  • SRS์˜ ๋Œ€์ƒ์„ ์ง€์ •ํ•œ๋‹ค.

1.2. ๋ฒ”์œ„(Scope)

  • ์†Œํ”„ํŠธ์›จ์–ด์˜ ์ด๋ฆ„์œผ๋กœ ์†Œํ”„ํŠธ์›จ์–ด ์ œํ’ˆ์„ ์‹๋ณ„ํ•œ๋‹ค.
  • ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ๋ฌด์—‡์„ ํ•˜๊ณ , ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋ฌด์—‡์„ ํ•˜์ง€ ์•Š๋Š”์ง€ ์„ค๋ช…ํ•œ๋‹ค.
  • ์†Œํ”„ํŠธ์›จ์–ด์˜ ์žฅ์ , ๋ชฉ์ , ๋ชฉํ‘œ๋ฅผ ์„ค๋ช…ํ•œ๋‹ค.

1.3. ์šฉ์–ด ๋ฐ ์•ฝ์–ด ์ •์˜(Definitions, acronyms and abbreviations)

  • SRS์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์šฉ์–ด, ๋จธ๋ฆฌ๊ธ€์ž, ์•ฝ์–ด๋ฅผ ์ •์˜ํ•œ๋‹ค.
  • ๋ถ€๋ก(appendix) ๋˜๋Š” ๋‹ค๋ฅธ ๋ฌธ์„œ์˜ ์ฐธ์กฐ๋ฅผ ํ†ตํ•ด ์ œ๊ณต๋  ์ˆ˜ ์žˆ๋‹ค.

1.4. ์ฐธ๊ณ ์ž๋ฃŒ(References)

  • SRS์˜ ์™ธ๋ถ€์—์„œ ์ฐธ๊ณ ํ•œ ๋ชจ๋“  ๋ฌธ์„œ์˜ ๋ชฉ๋ก์„ ์ œ๊ณตํ•œ๋‹ค.
  • ๊ฐ ๋ฌธ์„œ์˜ ์ œ๋ชฉ, ๋ณด๊ณ ์„œ ๋ฒˆํ˜ธ(ํ•ด๋‹นํ•˜๋Š” ๊ฒฝ์šฐ๋งŒ), ๋‚ ์งœ, ์ถœํŒ ๋‹จ์ฒด๋กœ ์‹๋ณ„ํ•œ๋‹ค.
  • ์ฐธ๊ณ ์ž๋ฃŒ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์ถœ์ฒ˜๋ฅผ ์ง€์ •ํ•œ๋‹ค.

1.5. ๊ฐœ์š”(Overview)

  • SRS์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์ด ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ๋‚ด์šฉ์„ ์„ค๋ช…ํ•œ๋‹ค.
  • SRS๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€ ์„ค๋ช…ํ•œ๋‹ค.

2. ์ „์ฒด ์‹œ์Šคํ…œ ๊ฐœ์š”(Overall description)

  • ์ œํ’ˆ ๋ฐ ์ œํ’ˆ ์š”๊ตฌ์‚ฌํ•ญ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์ผ๋ฐ˜์ ์ธ ์š”์ธ์„ ์„ค๋ช…ํ•ด์•ผ ํ•œ๋‹ค.
  • ํŠน์ • ์š”๊ตฌ์‚ฌํ•ญ์„ ์„ค๋ช…ํ•˜์ง€ ์•Š๊ณ , ์ƒ์„ธ ์š”๊ตฌ์‚ฌํ•ญ(Specific requirements)์— ๊ด€ํ•œ ๋ฐฐ๊ฒฝ์„ ์ œ๊ณตํ•œ๋‹ค.

2.1. ์ œํ’ˆ ๊ด€์ (Product perspective)

  • ์ œํ’ˆ์„ ๊ด€๋ จ๋œ ๋‹ค๋ฅธ ์ œํ’ˆ๊ณผ์˜ ๊ด€๊ณ„๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ๋ด์•ผ ํ•œ๋‹ค.
  • ์ œํ’ˆ์ด ๋…๋ฆฝ์ ์ธ ๊ฒฝ์šฐ ๋ช…์‹œ๋˜์–ด์•ผ ํ•˜๊ณ , ๋” ํฐ ์‹œ์Šคํ…œ์˜ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ์ •์˜๋œ๋‹ค๋ฉด ์‹œ์Šคํ…œ์˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ธฐ๋Šฅ๊ณผ ๊ด€๊ณ„์‹œ์ผœ์•ผ ํ•˜๋ฉฐ ์‹œ์Šคํ…œ๊ณผ ์†Œํ”„ํŠธ์›จ์–ด ์‚ฌ์ด์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‹๋ณ„ํ•ด์•ผ ํ•œ๋‹ค.
2.1.1. ์‹œ์Šคํ…œ ์ธํ„ฐํŽ˜์ด์Šค(System interfaces)
  • ๊ฐ ์‹œ์Šคํ…œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋‚˜์—ดํ•œ๋‹ค.
  • ์‹œ์Šคํ…œ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๊ธฐ๋Šฅ๊ณผ ์‹œ์Šคํ…œ์— ์ผ์น˜ํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค์— ๊ด€ํ•ด ์„ค๋ช…ํ•œ๋‹ค.
2.1.2. ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค(User interfaces)
  1. ์†Œํ”„ํŠธ์›จ์–ด ์ œํ’ˆ๊ณผ ์‚ฌ์šฉ์ž ๊ฐ„ ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋…ผ๋ฆฌ์  ํŠน์„ฑ์„ ์ง€์ •ํ•œ๋‹ค.
    • ์†Œํ”„ํŠธ์›จ์–ด ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ตฌ์„ฑ ํŠน์„ฑ(ํ•„์š”ํ•œ ํ™”๋ฉด ํ˜•์‹, ํŽ˜์ด์ง€ ๋˜๋Š” ์ฐฝ ๋ ˆ์ด์•„์›ƒ, ๋ณด๊ณ ์„œ๋‚˜ ๋ฉ”๋‰ด์˜ ๋‚ด์šฉ, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ€๋Šฅํ•œ ๊ธฐ๋Šฅ ํ‚ค์˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅ)์„ ํฌํ•จ
  2. ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์‚ฌ๋žŒ์—๊ฒŒ ์ตœ์ ํ™”๋œ ๋ชจ๋“  ์ธก๋ฉด์„ ์„ค๋ช…ํ•œ๋‹ค.
2.1.3. ํ•˜๋“œ์›จ์–ด ์ธํ„ฐํŽ˜์ด์Šค(Hardware interfaces)
  • ์†Œํ”„ํŠธ์›จ์–ด ์ œํ’ˆ๊ณผ ์‹œ์Šคํ…œ์˜ ํ•˜๋“œ์›จ์–ด ์ปดํฌ๋„ŒํŠธ ์‚ฌ์ด์— ๊ฐ ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋…ผ๋ฆฌ์  ํŠน์„ฑ์„ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค.
  • ์ง€์›ํ•˜๋Š” ๊ธฐ๊ธฐ์˜ ์ข…๋ฅ˜์™€ ์ง€์› ๋ฐฉ๋ฒ•, ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ ๋“ฑ์— ๊ด€ํ•œ ๋‚ด์šฉ์„ ๋‹ค๋ฃฌ๋‹ค.
2.1.4. ์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐํŽ˜์ด์Šค(Software interfaces)
  • ๋‹ค๋ฅธ ํ•„์ˆ˜ ์†Œํ”„ํŠธ์›จ์–ด(๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ, ์šด์˜์ฒด์ œ, ์ˆ˜ํ•™ ํŒจํ‚ค์ง€)์˜ ์‚ฌ์šฉ๊ณผ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ๊ณผ์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ง€์ •ํ•œ๋‹ค.
  • ๊ฐ ์†Œํ”„ํŠธ์›จ์–ด ์ œํ’ˆ์— ๋Œ€ํ•ด ์ œ๊ณต๋˜์–ด์•ผ ํ•˜๋Š” ์ •๋ณด
    1. Name
    2. Mnemonic
    3. Specification number
    4. Version number
    5. Source
  • ๊ฐ ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•ด ์ œ๊ณต๋˜์–ด์•ผ ํ•˜๋Š” ์ •๋ณด
    1. ์†Œํ”„ํŠธ์›จ์–ด์™€ ์ธํ„ฐํŽ˜์ด์Šค ํ•˜๋Š” ๋ชฉ์ 
    2. ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ฉ”์‹œ์ง€์˜ ๋‚ด์šฉ๊ณผ ํ˜•์‹์— ๊ด€ํ•œ ์ •์˜
      • ๋ฌธ์„œํ™”๋œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ž์„ธํ•˜๊ฒŒ ์„ค๋ช…ํ•  ํ•„์š”๋Š” ์—†์ง€๋งŒ, ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฌธ์„œ์— ๋Œ€ํ•œ ์ฐธ์กฐ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.
2.1.5. ํ†ต์‹  ์ธํ„ฐํŽ˜์ด์Šค(Communications interfaces)
  • ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ๊ณผ ๊ฐ™์€ ํ†ต์‹ ์— ๋Œ€ํ•œ ๋‹ค์–‘ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค.
2.1.6. ๋ฉ”๋ชจ๋ฆฌ ์ œ์•ฝ์‚ฌํ•ญ(Memory constraints)
  • 1์ฐจ ๋ฐ 2์ฐจ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์šฉ ๊ฐ€๋Šฅํ•œ ํŠน์„ฑ๊ณผ ํ•œ๊ณ„๋ฅผ ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค.
2.1.7. ์šด์˜(Operations)
  • ์ง€์ •ํ•ด์•ผ ํ•˜๋Š” ์šด์˜ ์ž‘์—…์˜ ์ข…๋ฅ˜
    1. ์‚ฌ์šฉ์ž ๊ทธ๋ฃน์˜ ๋‹ค์–‘ํ•œ ์šด์˜ ๋ชจ๋“œ
    2. Interactiveํ•œ ์ž‘์—… ๊ธฐ๊ฐ„๊ณผ unattendedํ•œ ์ž‘์—…์˜ ๊ธฐ๊ฐ„
    3. ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์ง€์› ๊ธฐ๋Šฅ
    4. ๋ฐฑ์—… ๋ฐ ๋ณต๊ตฌ ๋™์ž‘
  • ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ํ•ญ๋ชฉ์˜ ์ผ๋ถ€๋กœ ์ง€์ •๋˜๊ธฐ๋„ ํ•œ๋‹ค.
2.1.8. ์‚ฌ์ดํŠธ ์ ์šฉ ์š”๊ฑด(Site adaption requirements)
  • ํŠน์ • ์‚ฌ์ดํŠธ, misson, ๋˜๋Š” ๋™์ž‘ ๋ชจ๋“œ(grid value, safety, etc)์— ํŠนํ™”๋œ ์–ด๋–ค ๋ฐ์ดํ„ฐ๋‚˜ ์ดˆ๊ธฐํ™” ์ˆœ์„œ์— ๋Œ€ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ •์˜ํ•œ๋‹ค.
  • ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ํŠน์ • ์„ค์น˜์— ์•Œ๋งž๋„๋ก ์ˆ˜์ •ํ•ด์•ผ ํ•˜๋Š” ์‚ฌ์ดํŠธ ๋˜๋Š” mission๊ณผ ๊ด€๋ จ๋œ ํŠน์ง•์„ ์ง€์ •ํ•œ๋‹ค.

2.2. ์ œํ’ˆ ๊ธฐ๋Šฅ(Product functions)

  • ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ์ฃผ์š” ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์š”์•ฝ์„ ์ œ๊ณตํ•œ๋‹ค.
    • ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์˜ ์š”์•ฝ์€ ์ƒ์œ„ ์ˆ˜์ค€์˜ ๋ช…์„ธ์„œ๋กœ๋ถ€ํ„ฐ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.
  • ์ค€์ˆ˜ํ•ด์•ผ ํ•˜๋Š” ์‚ฌํ•ญ
    1. ๊ณ ๊ฐ์ด๋‚˜ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ๋ดค์„ ๋•Œ ๊ธฐ๋Šฅ ๋ชฉ๋ก์„ ๋ณด๊ณ  ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ธฐ๋Šฅ์ด ๊ตฌ์„ฑ๋˜์–ด์•ผ ํ•œ๋‹ค.
    2. ํ…์ŠคํŠธ ๋˜๋Š” ๊ทธ๋ž˜ํ”ฝ์„ ํ†ตํ•ด ๊ธฐ๋Šฅ๋“ค ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋‹ค.
      • ์—ฌ๊ธฐ์—์„œ ํ‘œํ˜„๋˜๋Š” ๋‹ค์ด์–ด๊ทธ๋žจ์€ ์„ค๊ณ„๋ฅผ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•จ์ด ์•„๋‹ˆ๋ผ ๋ณ€์ˆ˜ ์‚ฌ์ด์˜ ๋…ผ๋ฆฌ์  ๊ด€๊ณ„๋ฅผ ๋‹จ์ˆœํ•˜๊ฒŒ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด๋‹ค.

2.3. ์‚ฌ์šฉ์ž ํŠน์„ฑ(User characteristics)

  • ๊ต์œก ์ˆ˜์ค€, ๊ฒฝํ—˜, ๊ธฐ์ˆ ์  ์ „๋ฌธ ์ง€์‹์„ ํฌํ•จํ•˜์—ฌ ์ œํ’ˆ์˜ ๋Œ€์ƒ์ด ๋˜๋Š” ์‚ฌ์šฉ์ž์˜ ์ผ๋ฐ˜์ ์ธ ํŠน์„ฑ์„ ์„ค๋ช…ํ•ด์•ผ ํ•œ๋‹ค.
  • ์„ธ๋ถ€์ ์ธ ์š”๊ตฌ์‚ฌํ•ญ์„ ๊ธฐ์ˆ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜์–ด์„œ๋Š” ์•ˆ ๋˜๊ณ , ์„ธ๋ถ€ ์š”๊ตฌ์‚ฌํ•ญ์ด ๋‚˜์ค‘์— ๋ช…์‹œ๋˜๋Š” ์ด์œ ๋กœ ์ œ๊ณต๋˜์–ด์•ผ ํ•œ๋‹ค.

2.4. ์ œ์•ฝ์‚ฌํ•ญ(Constraints)

  • ๊ฐœ๋ฐœ์ž์˜ ์„ ํƒ์„ ์ œํ•œํ•  ๋ชจ๋“  ํ•ญ๋ชฉ์— ๊ด€ํ•œ ์ผ๋ฐ˜์ ์ธ ์„ค๋ช…์„ ์ œ๊ณตํ•ด์•ผ ํ•œ๋‹ค.
  • ํฌํ•จ๋˜๋Š” ๋‚ด์šฉ
    1. Regulatory plocies
    2. Hardware limitations (e.g., signal timing requirements)
    3. Interfaces to other applications
    4. Parallel operation
    5. Audit functions
    6. Control functions
    7. Higher-order language requirements
    8. Signal handshake protocols(e.g., XON-XOFF, ACK-NACK)
    9. Reliability requirements
    10. Criticality of the application
    11. Safety and security considerations

2.5. ๊ฐ€์ • ๋ฐ ์˜์กด์„ฑ(Assumptions and dependencies)

  • SRS์—์„œ ๋ช…์‹œํ•œ ์š”๊ตฌ์‚ฌํ•ญ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์š”์†Œ๋“ค์„ ๋‚˜์—ดํ•ด์•ผ ํ•œ๋‹ค.
  • ์ด ์š”์†Œ๋“ค์€ ์†Œํ”„ํŠธ์›จ์–ด์˜ ์„ค๊ณ„ ์ œ์•ฝ์‚ฌํ•ญ์ด ์•„๋‹ˆ๋ผ SRS์˜ ์š”๊ตฌ์‚ฌํ•ญ์— ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ๋“ค์ด๋‹ค.

2.6. ๋‹จ๊ณ„๋ณ„ ์š”๊ตฌ์‚ฌํ•ญ(Apportioning of requirements)

  • ์‹œ์Šคํ…œ์˜ ํ–ฅํ›„ ๋ฒ„์ „์œผ๋กœ ์ง€์—ฐ๋  ์ˆ˜ ์žˆ๋Š” ์š”๊ตฌ์‚ฌํ•ญ์„ ์‹๋ณ„ํ•ด์•ผ ํ•œ๋‹ค.

3. ์ƒ์„ธ ์š”๊ตฌ์‚ฌํ•ญ(Specific requirements)

  • ์„ค๊ณ„์ž๊ฐ€ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋งŒ์กฑํ•˜๋Š” ์‹œ์Šคํ…œ์„ ์„ค๊ณ„ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ชจ๋“  ์š”๊ตฌ์‚ฌํ•ญ์„ ์ƒ์„ธํ•˜๊ฒŒ ํฌํ•จํ•ด์•ผ ํ•œ๋‹ค.
  • ํ…Œ์Šคํ„ฐ๊ฐ€ ์‹œ์Šคํ…œ์ด ์œ„ ์š”๊ฑด์„ ์ถฉ์กฑํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธํ•ด์•ผ ํ•œ๋‹ค.
  • ๋ชจ๋“  ์š”๊ตฌ์‚ฌํ•ญ์€ ์‚ฌ์šฉ์ž, ์šด์˜์ž, ๋‹ค๋ฅธ ์™ธ๋ถ€ ์‹œ์Šคํ…œ์— ์˜ํ•ด ์™ธ๋ถ€์ ์œผ๋กœ ์ธ์ง€ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
  • ์ด ์š”๊ตฌ์‚ฌํ•ญ์—๋Š” ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ๋ชจ๋“  ์ž…๋ ฅ(์ž๊ทน)๊ณผ ์ถœ๋ ฅ(์‘๋‹ต) ๊ทธ๋ฆฌ๊ณ  ์ž…๋ ฅ ๋˜๋Š” ์ถœ๋ ฅ ์ง€์›์— ๋Œ€ํ•œ ์‘๋‹ต์œผ๋กœ ์‹คํ–‰๋˜๋Š” ๋ชจ๋“  ๊ธฐ๋Šฅ์— ๊ด€ํ•œ ์„ค๋ช…์ด ํฌํ•จ๋˜์–ด์•ผ ํ•œ๋‹ค.
  • ์ƒ์„ธ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์›์น™
    1. ์ƒ์„ธ ์š”๊ตฌ์‚ฌํ•ญ์€ "Characteristics of a good SRS"์— ์„ค๋ช…ํ•œ ๋ชจ๋“  ํŠน์„ฑ์„ ์ค€์ˆ˜ํ•˜๋„๋ก ์ž‘์„ฑ๋˜์–ด์•ผ ํ•œ๋‹ค.
    2. ์ƒ์„ธ ์š”๊ตฌ์‚ฌํ•ญ์€ ๊ด€๋ จ์ด ์žˆ๋Š” ์ด์ „ ๋ฌธ์„œ๋“ค๊ณผ ์ƒํ˜ธ ์ฐธ์กฐ๋˜์–ด์•ผ ํ•œ๋‹ค.
    3. ๋ชจ๋“  ์š”๊ตฌ์‚ฌํ•ญ์€ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
    4. ๊ฐ€๋…์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ์š”๊ตฌ์‚ฌํ•ญ์„ ๊ตฌ์„ฑํ•  ๋•Œ ์ฃผ์˜๋ฅผ ๊ธฐ์šธ์—ฌ์•ผ ํ•œ๋‹ค.

3.1. ์™ธ๋ถ€ ์ธํ„ฐํŽ˜์ด์Šค ์š”๊ตฌ์‚ฌํ•ญ(External interface requirements)

  • ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์˜ ๋ชจ๋“  ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์— ๊ด€ํ•ด ์ž์„ธํžˆ ์„ค๋ช…ํ•ด์•ผ ํ•œ๋‹ค.
  • "Overall description"์˜ ์ธํ„ฐํŽ˜์ด์Šค ์„ค๋ช…์„ ๋ณด์™„ํ•˜๋˜, ๊ทธ๊ณณ์˜ ์ •๋ณด๊ฐ€ ๋ฐ˜๋ณต๋˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค.
  • ํฌํ•จ๋˜๋Š” ์™ธ๋ถ€ ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋‚ด์šฉ ๋ฐ ํ˜•์‹
    1. Name of item
    2. Description of purpose
    3. Source of input or destination of output
    4. Valid range, accuracy, and/or tolerance
    5. Units of measure
    6. Timing
    7. Relationships to other inputs/outputs
    8. Screen formats/organization
    9. Window formats/organization
    10. Data formats
    11. Command formats
    12. End messages
3.1.1. ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค(User interfaces)
3.1.2. ํ•˜๋“œ์›จ์–ด ์ธํ„ฐํŽ˜์ด์Šค(Hardware interfaces)
3.1.3. ์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐํŽ˜์ด์Šค(Software interfaces)
3.1.4. ํ†ต์‹  ์ธํ„ฐํŽ˜์ด์Šค(Communications interfaces)

3.2. ๊ธฐ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ(Functional requirements)

  • ๊ธฐ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ์€ ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์ž…๋ ฅ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ์ถœ๋ ฅ์„ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋ณธ์ ์ธ ํ–‰๋™์„ ์ •์˜ํ•ด์•ผ ํ•œ๋‹ค.
  • ํฌํ•จํ•˜๋Š” ํ–‰๋™๋“ค
    1. Validity checks on the inputs
    2. Exact sequence of operations
    3. Responses to abnormal situations, including
      1. Overflow
      2. Communication facilities
      3. Error handling and recovery
    4. Effect of parameters
    5. Relationship of outputs to inputs, including
      1. Input/output sequences
      2. Formulas for input to output conversion

3.3. ์„ฑ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ(Performance requirements)

  • ์†Œํ”„ํŠธ์›จ์–ด ๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด์™€ ์‚ฌ๋žŒ์˜ ์ƒํ˜ธ์ž‘์šฉ์— ๋Œ€ํ•˜์—ฌ ์ˆ˜์น˜ํ™”๋œ ์ •์ /๋™์  ์š”๊ตฌ์‚ฌํ•ญ์ด ๋ช…์‹œ๋˜์–ด์•ผ ํ•œ๋‹ค.
  • ์ˆ˜์น˜ํ™”๋œ ์ •์  ์š”๊ตฌ์‚ฌํ•ญ์˜ ์ข…๋ฅ˜
    1. ์ง€์›ํ•  ํ„ฐ๋ฏธ๋„ ์ˆ˜
    2. ์ง€์›ํ•  ๋™์‹œ ์ ‘์† ์‚ฌ์šฉ์ž ์ˆ˜
    3. ์ฒ˜๋ฆฌํ•  ์ •๋ณด์˜ ์–‘๊ณผ ์œ ํ˜•์ž‘์—… ๋ฐ ๋ฐ์ดํ„ฐ์˜ ์–‘

3.4. ๋…ผ๋ฆฌ์  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์š”๊ตฌ์‚ฌํ•ญ(Logical database requirements)

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•  ์ •๋ณด์— ๊ด€ํ•œ ๋…ผ๋ฆฌ์  ์š”๊ตฌ์‚ฌํ•ญ์„ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค.
  • ๋…ผ๋ฆฌ์  ์š”๊ตฌ์‚ฌํ•ญ์˜ ์ข…๋ฅ˜
    1. Types of information used by various functuons
    2. Frequency of use
    3. Accessing capabilities
    4. Data entities and their relationships
    5. Integrity constraints
    6. Data retention requirements

3.5. ์„ค๊ณ„ ์ œ์•ฝ์‚ฌํ•ญ(Design constraints)

  • ๋‹ค๋ฅธ ํ‘œ์ค€, ํ•˜๋“œ์›จ์–ด ํ•œ๊ณ„ ๋“ฑ์— ์˜ํ•ด ๋ถ€๊ณผ๋  ์ˆ˜ ์žˆ๋Š” ์„ค๊ณ„ ์ œ์•ฝ์‚ฌํ•ญ์„ ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค.
3.5.1. ํ‘œ์ค€ ์ค€์ˆ˜(Standards compliance)
  • ํ‘œ์ค€์ด๋‚˜ ๊ทœ์ •์—์„œ ํŒŒ์ƒ๋œ ์š”๊ตฌ์‚ฌํ•ญ์„ ๊ธฐ์ˆ ํ•œ๋‹ค.
  • ํฌํ•จ๋  ์ˆ˜ ์žˆ๋Š” ๋‚ด์šฉ
    1. Report format
    2. Data naming
    3. Accounting procedures
    4. Audit tracing

3.6. ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ ์†์„ฑ(Software system attributes)

  • ์š”๊ตฌ์‚ฌํ•ญ์œผ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ์†Œํ”„ํŠธ์›จ์–ด์˜ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์†์„ฑ ์ค‘ ์ œํ’ˆ์ด ๊ฐ๊ด€์ ์œผ๋กœ ์ž…์ฆ๋˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์†์„ฑ์„ ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค.
3.6.1. ์‹ ๋ขฐ์„ฑ(Reliability)
  • ๋ฐฐํฌ๋  ๋•Œ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์˜ ํ•„์ˆ˜ ์‹ ๋ขฐ์„ฑ์„ ํ™•๋ฆฝํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์š”์†Œ๋ฅผ ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค.
3.6.2. ๊ฐ€์šฉ์„ฑ(Availability)
  • ๊ฒ€์‚ฌ, ๋ณต๊ตฌ, ์žฌ์‹œ์ž‘๊ณผ ๊ฐ™์ด ์ „์ฒด ์‹œ์Šคํ…œ์— ๋Œ€ํ•ด ์ •์˜๋œ ๊ฐ€์šฉ์„ฑ ์ˆ˜์ค€์„ ๋ณด์žฅํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์š”์†Œ๊ฐ€ ์ง€์ •๋˜์–ด์•ผ ํ•œ๋‹ค.
3.6.3. ๋ณด์•ˆ์„ฑ(Security)
  • ์‹ค์ˆ˜ ๋˜๋Š” ์•…์˜์ ์ธ ์ ‘๊ทผ, ์‚ฌ์šฉ, ์ˆ˜์ •, ํŒŒ๊ดด, ๊ณต๊ฐœ๋กœ๋ถ€ํ„ฐ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•œ ์š”์†Œ๋ฅผ ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค.
  • ํฌํ•จ๋  ์ˆ˜ ์žˆ๋Š” ์š”๊ตฌ์‚ฌํ•ญ
    1. Utilize certain cryptographical techinques
    2. Keep specific log or history data sets
    3. Assign certain functions to diffrent modules
    4. Restrict communication between some areas of the program
    5. Check data integrity for critical variables
3.6.4. ์œ ์ง€ ๋ณด์ˆ˜์„ฑ(Maintainability)
  • ์†Œํ”„ํŠธ์›จ์–ด ์ž์ฒด๋ฅผ ์‰ฝ๊ฒŒ ์œ ์ง€ ๋ณด์ˆ˜ํ•  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ์„ ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค.
  • ๋ชจ๋“ˆํ™”, ์ธํ„ฐํŽ˜์ด์Šค, ๋ณต์žก์„ฑ ๋“ฑ๊ณผ ๊ด€๋ จ๋œ ์š”๊ตฌ์‚ฌํ•ญ์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.
3.6.5. ์ด์‹์„ฑ(Portability)
  • ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋‹ค๋ฅธ ํ˜ธ์ŠคํŠธ ์‹œ์Šคํ…œ ๋˜๋Š” ์šด์˜์ฒด์ œ๋กœ ์‰ฝ๊ฒŒ ์ด์‹ํ•  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ์„ ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค.
  • ํฌํ•จ๋  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ์˜ ์ข…๋ฅ˜
    1. Percentage of components with host-dependent code
    2. Percentage of code that is dependent
    3. Use of a proven portable language
    4. Use of a particular compiler or language subset
    5. Use of a particular operation system

3.7. ์ƒ์„ธ ์š”๊ตฌ์‚ฌํ•ญ์˜ ๊ตฌ์„ฑ(Organizing the specific requirements)

  • ์‹œ์Šคํ…œ์˜ ์„ธ๋ถ€ ์š”๊ตฌ์‚ฌํ•ญ์€ ๊ด‘๋ฒ”์œ„ํ•œ ๊ฒฝํ–ฅ์ด ์žˆ์œผ๋ฏ€๋กœ ์ž๋ฃŒ๋ฅผ ์ดํ•ดํ•˜๊ธฐ์— ๊ฐ€์žฅ ์ ํ•ฉํ•œ ๋ฐฉ์‹์œผ๋กœ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ธ์‹ฌํ•˜๊ฒŒ ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค.
3.7.1. ์‹œ์Šคํ…œ ๋ชจ๋“œ(System mode)
  • ์ผ๋ถ€ ์‹œ์Šคํ…œ์€ ์šด์˜ ๋ชจ๋“œ์— ๋”ฐ๋ผ ์ƒ๋‹นํžˆ ๋‹ค๋ฅด๊ฒŒ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์˜ˆ: ์ œ์–ด ์‹œ์Šคํ…œ์€ ์—ฐ์Šต, ์ผ๋ฐ˜, ๊ธด๊ธ‰ ๋“ฑ์˜ ์—ฌ๋Ÿฌ ๋ชจ๋“œ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.
  • ๋ชจ๋“œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ A.1๊ณผ A.2๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
3.7.2. ์‚ฌ์šฉ์ž ๋ถ€๋ฅ˜(User class)
  • ์ผ๋ถ€ ์‹œ์Šคํ…œ์€ ์‚ฌ์šฉ์ž์˜ ๋ถ€๋ฅ˜์— ๋”ฐ๋ผ ์„œ๋กœ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.
    • ์˜ˆ: ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ ์ œ์–ด ์‹œ์Šคํ…œ์€ ์Šน๊ฐ, ์ •๋น„์›, ์†Œ๋ฐฉ๊ด€์—๊ฒŒ ์„œ๋กœ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.
  • ์‚ฌ์šฉ์ž ๋ถ€๋ฅ˜์— ๋”ฐ๋ผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ A.3๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
3.7.3. ๊ฐ์ฒด(Objects)
  • ๊ฐ์ฒด๋Š” ์‹œ์Šคํ…œ์—์„œ ํ˜„์‹ค ์„ธ๊ณ„์™€ ๋Œ€์‘๋˜๋Š” ๊ฐœ์ฒด์ด๋‹ค.
  • ๊ฐ์ฒด์—๋Š” ๊ฐ ๊ฐ์ฒด์˜ ์ƒํƒœ(attributes) ๋ฐ ๊ฐ์ฒด์˜ ํ–‰์œ„(functions)๊ฐ€ ํฌํ•จ๋œ๋‹ค.
    • ์ด๋Ÿฌํ•œ ํ–‰์œ„๋Š” services, methods, processes๋ผ๊ณ ๋„ ํ•œ๋‹ค.
  • ๊ฐ์ฒด์— ๋”ฐ๋ผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ A.4๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
3.7.4. ํŠน์ง•(Feature)
  • ํŠน์ง•์€ ์‹œ์Šคํ…œ์— ์˜ํ•ด ์™ธ๋ถ€์ ์œผ๋กœ ์š”๊ตฌ๋˜๋Š” ์„œ๋น„์Šค๋กœ์„œ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ž…๋ ฅ์ด ํ•„์š”ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.
    • ์˜ˆ: ์ „ํ™” ์‹œ์Šคํ…œ์—์„œ ํŠน์ง•๋“ค์€ ์ง€์—ญ ๋‚ด ํ†ตํ™”, ์ฐฉ์‹  ์ „ํ™˜, ํ™”์ƒ ํ†ตํ™”๋ฅผ ํฌํ•จํ•œ๋‹ค.
  • ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐ ํŠน์ง•์€ ์ž๊ทน-๋ฐ˜์‘์˜ ์ˆœ์„œ๋กœ ์„ค๋ช…๋œ๋‹ค.
  • ํŠน์ง•์— ๋”ฐ๋ผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ A.5๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
3.7.5. ์ž๊ทน(Stimulus)
  • ์ผ๋ถ€ ์‹œ์Šคํ…œ์€ ์ž๊ทน์˜ ์ธก๋ฉด์—์„œ ๊ธฐ๋Šฅ๋“ค์„ ์„ค๋ช…ํ•  ๋•Œ ๊ฐ€์žฅ ์ž˜ ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ๋‹ค.
    • ์˜ˆ: ํ•ญ๊ณต๊ธฐ ์ž๋™ ์ฐฉ๋ฅ™ ์‹œ์Šคํ…œ์€ ๋™๋ ฅ ์ƒ์‹ค, ์œˆ๋“œ์‹œ์–ด ๋“ฑ์„ ์œ„ํ•ด ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ๋‹ค.
  • ์ž๊ทน์— ๋”ฐ๋ผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ A.6๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
3.7.6. ๋ฐ˜์‘(Response)
  • ์ผ๋ถ€ ์‹œ์Šคํ…œ์€ ๋ฐ˜์‘ ์ƒ์„ฑ์„ ์ง€์›ํ•˜๋Š” ๊ธฐ๋Šฅ๋“ค์„ ์„ค๋ช…ํ•  ๋•Œ ๊ฐ€์žฅ ์ž˜ ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ๋‹ค.
    • ์˜ˆ: ์ง์› ์‹œ์Šคํ…œ์˜ ๊ธฐ๋Šฅ์€ ๊ธ‰์—ฌ ์ƒ์„ฑ๊ณผ ๊ด€๋ จ๋œ ๊ธฐ๋Šฅ๋“ค, ์ง์› ๋ชฉ๋ก ์ƒ์„ฑ๊ณผ ๊ด€๋ จ๋œ ๊ธฐ๋Šฅ ๋“ฑ์œผ๋กœ ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฐ˜์‘์— ๋”ฐ๋ผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ A.6๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
3.7.7. ๊ธฐ๋Šฅ ๊ณ„์ธต(Functional hierarchy)
  • ์œ„ ์กฐ์ง ์ฒด๊ณ„ ์ค‘ ์œ ์šฉํ•œ ์ˆ˜๋‹จ์ด ์—†๋‹ค๋ฉด, ์ „์ฒด ๊ธฐ๋Šฅ์€ ๊ณตํ†ต ์ž…๋ ฅ, ๊ณตํ†ต ์ถœ๋ ฅ ๋˜๋Š” ๊ณตํ†ต ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์— ์˜ํ•ด ๊ตฌ์„ฑ๋œ ๊ธฐ๋Šฅ์˜ ๊ณ„์ธต์œผ๋กœ ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ํ๋ฆ„ ๋‹ค์ด์–ด๊ทธ๋žจ๊ณผ ๋ฐ์ดํ„ฐ ์‚ฌ์ „์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋Šฅ๊ณผ ๋ฐ์ดํ„ฐ ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋‹ค.
  • ๊ธฐ๋Šฅ ๊ณ„์ธต๋ณ„๋กœ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ A.7์„ ์‚ฌ์šฉํ•œ๋‹ค.
3.7.8. Additional comments
  • ์ƒˆ๋กœ์šด SRS๋ฅผ ๊ณ ๋ คํ•  ๋•Œ ๋‘ ๊ฐ€์ง€ ์ด์ƒ์˜ ์กฐ์ง ๊ธฐ๋ฒ•์ด ์ ํ•ฉํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์ด ๊ฒฝ์šฐ ๋ช…์„ธ์— ๋”ฐ๋ฅธ ์‹œ์Šคํ…œ์˜ ์ƒ์„ธ ์š”๊ตฌ์‚ฌํ•ญ์— ๋งž์ถ˜ ๋‹ค์ค‘ ๊ณ„์ธต์˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ๊ตฌ์„ฑํ•œ๋‹ค.
  • ์‚ฌ์šฉ์ž ๋ถ„๋ฅ˜์™€ ๊ธฐ๋Šฅ์„ ๊ฒฐํ•ฉํ•˜๋Š” ๊ตฌ์„ฑ์€ A.8์„ ์ฐธ๊ณ ํ•œ๋‹ค.

4. ์ถ”๊ฐ€ ์ •๋ณด(Supporting information)

  • ์ถ”๊ฐ€ ์ •๋ณด๋Š” SRS๋ฅผ ๋”์šฑ ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๊ฒŒ ํ•œ๋‹ค.

4.1. Table of contents and index(๋ชฉ์ฐจ์™€ ์ธ๋ฑ์Šค)

  • ๋ชฉ์ฐจ์™€ ์ธ๋ฑ์Šค๋Š” ๋งค์šฐ ์ค‘์š”ํ•˜๋ฏ€๋กœ ์ผ๋ฐ˜์ ์ธ compositional practices๋ฅผ ๋”ฐ๋ผ์•ผ ํ•œ๋‹ค.

4.2. ๋ถ€๋ก(Appendixes)

  • ๋ถ€๋ก์€ SRS์˜ ์ผ๋ถ€๋กœ ๊ฐ„์ฃผํ•˜์ง€ ์•Š์œผ๋ฉฐ, ํ•ญ์ƒ ํ•„์š”ํ•œ ๊ฒƒ๋„ ์•„๋‹ˆ๋‹ค.
  • ๋ถ€๋ก์ด ํฌํ•จํ•˜๋Š” ๋‚ด์šฉ
    1. Sample input/output formats, descriptions of cost analysis studies, or results of user surveys
    2. Supporting or background information that can help the readers of the SRS
    3. A description of the problems to be solved by the software
    4. Special packaging instructions for the code and the media to mmet security, export, initial loading, or other requirements
  • ๋ถ€๋ก์ด ํฌํ•จ๋œ ๊ฒฝ์šฐ SRS๋Š” ๋ถ€๋ก์ด ์š”๊ตฌ์‚ฌํ•ญ์˜ ์ผ๋ถ€๋กœ ๊ฐ„์ฃผํ•˜๋Š”์ง€ ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค.

Annex

A. SRS templates

A.1. Template of SRS Section 3 organized by mode: Version 1

  1. Specific requirements
    1. External interface requirements
      1. User interfaces
      2. Hardware interfaces
      3. Software interfaces
      4. Communication interfaces
    2. Functional requirements
      1. Mode 1
        1. Functional requirements 1.1
        2. ...
        3. Functional requirements 1.n
      2. Mode 2
        1. ...
    3. Performance requirements
    4. Design constraints
    5. Software system attributes
    6. Other requirements

A.2. Template of SRS Section 3 organized by mode: Version 2

  1. Specific requirements
    1. Functional requirements
      1. Mode 1
        1. External interface requirements
          1. User interfaces
          2. Hardware interfaces
          3. Software interfaces
          4. Communication interfaces
        2. Functional requirements
          1. Functional requirements 1
          2. ...
          3. Functional requirements n
      2. Mode 2
        1. ...
    2. Design constraints
    3. Software system attributes
    4. Other requirements

A.3. Template of SRS Section 3 organized by user class

  1. Specific requirements
    1. External interface requirements
      1. User interfaces
      2. Hardware interfaces
      3. Software interfaces
      4. Communication interfaces
    2. Functional requirements
      1. User class 1
        1. Functional requirements 1.1
        2. ...
        3. Functional requirements 1.n
      2. User class 2
        1. ...
    3. Performance requirements
    4. Design constraints
    5. Software system attributes
    6. Other requirements

A.4. Template of SRS Section 3 organized by object

  1. Specific requirements
    1. External interface requirements
      1. User interfaces
      2. Hardware interfaces
      3. Software interfaces
      4. Communication interfaces
    2. Classes/Objects
      1. Class/Object 1
        1. Attributes
          1. Attribute 1
          2. ...
          3. Attribute n
        2. Functions
          1. Functional requirements 1.1
          2. ...
          3. Functional requirements 1.n
        3. Messages
      2. Class/Object 2
        1. ...
    3. Performance requirements
    4. Design constraints
    5. Software system attributes
    6. Other requirements

A.5. Template of SRS Section 3 organized by feature

  1. Specific requirements
    1. External interface requirements
      1. User interfaces
      2. Hardware interfaces
      3. Software interfaces
      4. Communication interfaces
    2. System features
      1. System feature 1
        1. Introduction/Purpose of feature
        2. Stimulus/Response sequence
        3. Associated functional requirements
          1. Functional requirements 1
          2. ...
          3. Functional requirements n
      2. System feature 2
        1. ...
    3. Performance requirements
    4. Design constraints
    5. Software system attributes
    6. Other requirements

A.6. Template of SRS Section 3 organized by stimulus

  1. Specific requirements
    1. External interface requirements
      1. User interfaces
      2. Hardware interfaces
      3. Software interfaces
      4. Communication interfaces
    2. Functional requirements
      1. Stimulus 1
        1. Functional requirements 1
        2. ...
        3. Functional requirements n
      2. Stimulus 2
        1. ...
    3. Performance requirements
    4. Design constraints
    5. Software system attributes
    6. Other requirements

A.7. Template of SRS Section 3 organized by functional hierarchy

  1. Specific requirements
    1. External interface requirements
      1. User interfaces
      2. Hardware interfaces
      3. Software interfaces
      4. Communication interfaces
    2. Functional requirements
      1. Information flows
        1. Data flow diagram 1
          1. Data entities
          2. Pertinents processes
          3. Topology
        2. Data flow diagram 2
          1. ...
      2. Process descriptions
        1. Process 1
          1. Input data entities
          2. Algorithm or formula of process
          3. Affected data entities
        2. Process 2
          1. ...
      3. Data construct specifications
        1. Construct 1
          1. Record type
          2. Constituent fields
        2. Construct 2
          1. ..
      4. Data dictionary
        1. Data elemnet 1
          1. Name
          2. Representation
          3. Units/Format
          4. Precision/Accuracy
          5. Range
        2. Data element 2
          1. ...
    3. Performance requirements
    4. Design constraints
    5. Software system attributes
    6. Other requirements

A.8. Template of SRS Section 3 showing multiple organizations

  1. Specific requirements
    1. External interface requirements
      1. User interfaces
      2. Hardware interfaces
      3. Software interfaces
      4. Communication interfaces
    2. Functional requirements
      1. User class 1
        1. Feature 1.1
          1. Introduction/Purpose of feature
          2. Stimulus/Response sequence
          3. Associated functional requirements
        2. ...
        3. Feature 1.n
          1. ...
      2. User class 2
        1. ...
    3. Performance requirements
    4. Design constraints
    5. Software system attributes
    6. Other requirements