๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“š ์ „๊ณต ๊ณต๋ถ€/์†Œํ”„ํŠธ์›จ์–ด๊ณตํ•™

[์†Œํ”„ํŠธ์›จ์–ด๊ณตํ•™] 14์žฅ. ์ตœ์‹  ๊ธฐ์ˆ  & 15์žฅ. ๋ฏธ๋ž˜ ๋™ํ–ฅ

by xxilliant 2023. 4. 23.
728x90
๋ฐ˜์‘ํ˜•

14์žฅ. ์ตœ์‹  ๊ธฐ์ˆ 

Cleanroom Software Engineering

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

  • ๊ฒฐํ•จ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด "์‚ฌ์ „ ์ค€๋น„(up-front)"์— ๋งŽ์€ ๋…ธ๋ ฅ์„ ๊ธฐ์šธ์ž„.
  • ์ ์ง„์  ๋ฐœ์ „
  • ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•œ ํ†ต๊ณ„์  ๋ฐฉ๋ฒ•
  • "์ƒ์ž ๊ตฌ์กฐ ์‚ฌ์–‘" ์ฑ„ํƒ
  • 'Box'๋Š” ์‹œ์Šคํ…œ์„ ์บก์Аํ™”ํ•จ.

์ด ์‚ฌ์ง„ ๊ธฐ๋ง๊ณ ์‚ฌ์— ๋‚˜์™”์—ˆ์Œ

<์ฆ๋ถ„ ๊ณ„ํš—์ฆ๋ถ„ ์ „๋žต ์ฑ„ํƒ>

  1. ์š”๊ตฌ์‚ฌํ•ญ ์ˆ˜์ง‘(Requirements Gathering) - ๊ณ ๊ฐ ์ˆ˜์ค€ ์š”๊ตฌ์‚ฌํ•ญ์— ๋Œ€ํ•œ ์„ค๋ช… ์ •์˜(๊ฐ ์ฆ๋ถ„์— ๋Œ€ํ•œ)
  2. ๋ฐ•์Šค ๊ตฌ์กฐ ์‚ฌ์–‘(Box Structure Specification) - ๊ธฐ๋Šฅ ์‚ฌ์–‘์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
  3. ํ˜•์‹ ์„ค๊ณ„(Formal Design) — ์‚ฌ์–‘("๋ธ”๋ž™๋ฐ•์Šค"๋ผ๊ณ  ํ•จ)์€ ์•„ํ‚คํ…์ฒ˜ ๋ฐ ์ ˆ์ฐจ ์„ค๊ณ„("์Šคํ…Œ์ดํŠธ ๋ฐ•์Šค" ๋ฐ "ํด๋ฆฌ์–ด ๋ฐ•์Šค"๋ผ๊ณ  ํ•จ)์™€ ์œ ์‚ฌํ•˜๋„๋ก ๋ฐ˜๋ณต์ ์œผ๋กœ ์กฐ์ •๋ฉ๋‹ˆ๋‹ค.
  4. ์ •ํ™•์„ฑ ๊ฒ€์ฆ(Correctness Verification) — ๊ฒ€์ฆ์€ ์ตœ๊ณ  ์ˆ˜์ค€์˜ ์ƒ์ž ๊ตฌ์กฐ(์‚ฌ์–‘)์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ์ผ๋ จ์˜ "์ •ํ™•์„ฑ ์งˆ๋ฌธ"์„ ์‚ฌ์šฉํ•˜์—ฌ ์„ค๊ณ„ ์„ธ๋ถ€์‚ฌํ•ญ๊ณผ ์ฝ”๋“œ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด๋“ค์ด ๊ทœ๊ฒฉ์ด ์ •ํ™•ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์ž…์ฆํ•˜์ง€ ๋ชปํ•  ๊ฒฝ์šฐ ๊ฒ€์ฆ์„ ์œ„ํ•œ ๋ณด๋‹ค ๊ณต์‹์ ์ธ(์ˆ˜ํ•™์ ) ๋ฐฉ๋ฒ•์ด ์‚ฌ์šฉ๋œ๋‹ค.
  5. ์ฝ”๋“œ ์ƒ์„ฑ, ๊ฒ€์‚ฌ ๋ฐ ๊ฒ€์ฆ(Code Generation, Inspection and Verification) — ๋ฐ•์Šค ๊ตฌ์กฐ ์‚ฌ์–‘์€ ์ „๋ฌธ ์–ธ์–ด๋กœ ํ‘œ์‹œ๋˜๋ฉฐ ์ ์ ˆํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค.
  6. ํ†ต๊ณ„์  ์‹œํ—˜ ๊ณ„ํš(Statistical Test Planning) — ์‚ฌ์šฉ์˜ "ํ™•๋ฅ  ๋ถ„ํฌ" ํ–‰์‚ฌ๋ฅผ ๊ณ„ํšํ•˜๊ณ  ์„ค๊ณ„ํ•˜๋Š” ์ผ๋ จ์˜ ์‹œํ—˜ ์‚ฌ๋ก€
  7. ํ†ต๊ณ„ ์‚ฌ์šฉ ํ…Œ์ŠคํŠธ(Statistical Usage Testing) - ๋Œ€์ƒ ๋ชจ์ง‘๋‹จ์˜ ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์˜ ํ†ต๊ณ„ ์ƒ˜ํ”Œ(์œ„์— ์–ธ๊ธ‰๋œ ํ™•๋ฅ  ๋ถ„ํฌ)์—์„œ ํŒŒ์ƒ๋œ ์ผ๋ จ์˜ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  8. ์ธ์ฆ(Certification) — ๊ฒ€์ฆ, ๊ฒ€์‚ฌ ๋ฐ ์‚ฌ์šฉ ํ…Œ์ŠคํŠธ๊ฐ€ ์™„๋ฃŒ๋˜๊ณ  ๋ชจ๋“  ์˜ค๋ฅ˜๊ฐ€ ์ˆ˜์ •๋˜๋ฉด ํ†ตํ•ฉ ์ค€๋น„๊ฐ€ ์™„๋ฃŒ๋œ ๊ฒƒ์œผ๋กœ ์ธ์ฆ๋ฉ๋‹ˆ๋‹ค.

 

 

Problems with Conventional Specification (ํ‘œ์ค€ ์‚ฌ์–‘์˜ ๋ฌธ์ œ์ )

  • contradictions : ๋ชจ์ˆœ
  • ambiguities : ๋ชจํ˜ธ์„ฑ
  • incompleteness : ๋ถˆ์™„์ „์„ฑ
  • mixed levels of abstraction : ํ˜ผํ•ฉ๋œ ๋ ˆ๋ฒจ์˜ ์ถ”์ƒํ™”

Formal Methods

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

fromal specification language ex

 

15์žฅ. ๋ฏธ๋ž˜ ๋™ํ–ฅ

 

15์žฅ์—๋Š” ๋ณ„ ๋‚ด์šฉ ์—†๋‹ค

๊ทธ๋ƒฅ ์•Ž์˜ ์–ด์ฉŒ๊ตฌ..๊ทธ๋Ÿฐ๊ฑฐ

ํ›„๋ฐฐ๋“ค ํ™”์ดํŒ…~!!

 

 

728x90
๋ฐ˜์‘ํ˜•