๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Computer Science

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์š”๊ตฌ์‚ฌํ•ญ๊ณผ ์„ค๊ณ„ ์›์น™

by Leica 2019. 10. 16.
๋ฐ˜์‘ํ˜•

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์š”๊ตฌ์‚ฌํ•ญ

์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐ ์œ ์ง€๋ณด์ˆ˜ ์ธก๋ฉด์—์„œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ์–ด๋–ค ์š”๊ตฌ์‚ฌํ•ญ์„ ๋งŒ์กฑํ•ด์•ผ ํ• ๊นŒ?

๋จผ์ € ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ž์‹ ์˜ ์•„์ด๋””์–ด๋ฅผ ์‰ฝ๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์•ผํ•œ๋‹ค. ๋˜ํ•œ ์ž‘์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ์€ ์‰ฝ๊ฒŒ ์œ ์ง€๋ณด์ˆ˜ ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๋ฉฐ, ์ปดํ“จํ„ฐ์—์„œ ๋น ๋ฅด๊ฒŒ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

 

(1) ํ‘œํ˜„ ํ’๋ถ€์„ฑ(expressiveness): ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ์•„์ด๋””์–ด๋ฅผ ์‰ฝ๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.
(2) ์œ ์ง€ ๋ณด์ˆ˜์„ฑ(maintainability): ์ž‘์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ์€ ์‰ฝ๊ฒŒ ์œ ์ง€๋ณด์ˆ˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
(3) ์‹คํ–‰ ๊ฐ€๋Šฅ์„ฑ(executability): ์ž‘์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ์ด ๋น ๋ฅด๊ฒŒ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋‹ค.

 

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์„ค๊ณ„ ์›์น™

๊ทธ๋ฆฌ๊ณ  ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ๊ณผ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋งŒ์กฑํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ๋ คํ•ด์•ผํ•˜๋Š” ์„ค๊ณ„ ์›์น™ ์ค‘ ๊ณตํ†ต์ ์œผ๋กœ ๊ฑฐ๋ก ๋˜๋Š” ๊ฒƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

(1) ๊ทœ์น™์„ฑ(regularity): ์–ธ์–ด์˜ ๊ธฐ๋Šฅ์ด ์ž˜ ์กฐํ•ฉ๋  ์ˆ˜ ์žˆ๋‹ค.
(2) ์ถ”์ƒํ™” ์ง€์›(support of abstraction): ์‹ค์„ธ๊ณ„์˜ ๋Œ€์ƒ์„ ๊ฐ„๋žตํžˆ ์ถ”์ƒํ™”ํ•˜์—ฌ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค.
(3) ๋ณต์žก๋„ ์ œ์–ด(complexity control): ๋ณต์žกํ•œ ๋Œ€์ƒ ๋ฐ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์„ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด ๋ณต์žก๋„๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๊ทœ์น™์„ฑ

๊ทœ์น™์„ฑ์ด๋ž€ ์–ธ์–ด์˜ ๊ธฐ๋Šฅ์ด ์–ผ๋งˆ๋‚˜ ์ž˜ ์กฐํ•ฉ๋  ์ˆ˜ ์žˆ๋Š๋ƒ ํ•˜๋Š” ๋ฌธ์ œ๋กœ์„œ ์„ธ๋ถ€์ ์œผ๋กœ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ํ‰๊ฐ€๊ธฐ์ค€ ์ค‘ ์ผ๋ฐ˜์„ฑ(generality), ์ง๊ต์„ฑ(orhogonality), ์ผ๊ด€์„ฑ(uniformity)์— ์˜ํ•ด ์ง€์›๋œ๋‹ค.

์ผ๋ฐ˜์„ฑ์ด๋ž€ ์—ฐ๊ด€๋œ ๊ธฐ๋Šฅ์ด ๋” ์ผ๋ฐ˜์ ์ธ ํ˜•ํƒœ๋กœ ํ™•์žฅ๋  ์ˆ˜ ์žˆ๋Š” ํŠน์„ฑ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, C์–ธ์–ด์˜ ๋น„๊ต ์—ฐ์‚ฐ์ž๋Š” ๋‘ ์ •์ˆ˜๋ฅผ ๋น„๊ตํ•˜๋Š”๋ฐ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๊ตฌ์กฐ์ฒด๋ฅผ ๋น„๊ตํ•˜๋Š”๋ฐ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. ์ด๋Š” ์ผ๋ฐ˜์„ฑ์ด ๊ฒฐ์—ฌ๋œ ๊ฒƒ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

์ถ”์ƒํ™” ์ง€์›

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ์‹ค์„ธ๊ณ„๋ฅผ ๋ชจํ˜•ํ™”ํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์„ธ๊ณ„์˜ ๋Œ€์ƒ์„ ๊ฐ„๋žตํžˆ ์ถ”์ƒํ™”ํ•˜์—ฌ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ด์•ผ ํ•œ๋‹ค. ๋˜ํ•œ ์ถ”์ƒํ™”๋œ ๋ชจํ˜•์„ ๋Œ€์ƒ์œผ๋กœ ์–ด๋–ค ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผ ํ•œ๋‹ค. ๋ฌผ๋ก  ์—ฐ์‚ฐ๋„ ์ถ”์ƒํ™”๋œ ํ˜•ํƒœ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ๋Š” ๋ฐ์ดํ„ฐ ์ถ”์ƒํ™” ๊ธฐ๋Šฅ๊ณผ ์ œ์–ด ์ถ”์ƒํ™” ๊ธฐ๋Šฅ, ์ถ”์ƒ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.

 

๋ณต์žก๋„ ์ œ์–ด

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

 

๋งˆ์ง€๋ง‰์œผ๋กœ ์ด๋Ÿฌํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์„ค๊ณ„ ์›์น™๊ณผ ์š”๊ตฌ์‚ฌํ•ญ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋„์‹์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

ํฌ์ŠคํŒ… ๋งˆ์นจ.

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€