์ฝ๋ ํ์ง์ ์ธก์ ๊ฐ๋ฅํฉ๋๋ค. ์ด ๋ง์ ๋น์ฐํ๊ฒ ๋ค๋ฆฌ์ง๋ง, ์ํํธ์จ์ด ์ ํ์ ๊ตฌ๋งคํ๊ธฐ ์ CTO๊ฐ ๋ฌป๋ ์ง๋ฌธ์ด๋ ๋ฆฌํฉํ ๋ง ํ๋ก๊ทธ๋จ์ ์์ํ๊ธฐ ์ ๊ธฐ์ ๋ฆฌ๋๊ฐ ๋ฌป๋ ์ง๋ฌธ, ์ฆ "์ฝ๋๊ฐ ์ข์์ง ์ด๋ป๊ฒ ์ ์ ์๋์?"์ ๋ตํ๋ ค๊ณ ํ๋ฉด ์ด์ผ๊ธฐ๊ฐ ๋ฌ๋ผ์ง๋๋ค. "์ ์๋ํ๋๊น"๋, "ํ์์ ๊ฒํ ํ์ผ๋๊น"๋ ๋ต์ด ๋ ์ ์์ต๋๋ค. ์ ๋ต์ ์ผ๊ด๋๊ฒ ์ ์ฉ๋๋ ๊ฐ๊ด์ ์ธ ์ธก์ ์งํ์ ์์ต๋๋ค. ํจ์๋ณ ์ํ ๋ณต์ก๋, ๋ชจ๋๋ณ ์ ์ง๋ณด์์ฑ ์ง์, 1,000์ค๋น ๊ฒฐํจ ๋ฐ๋, ์ปดํฌ๋ํธ๋ณ ํ ์คํธ ์ปค๋ฒ๋ฆฌ์ง, ์คํ๋ฆฐํธ๋ณ ํ์ผ ์ฝ๋ ๋ณ๊ฒฝ๋ฅ ๋ฑ์ด ๊ทธ ์์ ๋๋ค. ์ด๋ฌํ ์งํ๋ค์ ๋ชจ๋ ์์น๋ก ๋ํ๋ผ ์ ์์ผ๋ฉฐ, ์ถ์ธ๋ฅผ ๋ถ์ํ๊ณ ๋ฒค์น๋งํนํ์ฌ ๊ฐ์ ๋ฐฉ์์ ๋ง๋ จํ ์ ์์ต๋๋ค.
์ฝ๋ ์ดํด๋ ์ฌ๊ธฐ์ ์์๋ฉ๋๋ค
SMART TS XL ์ฌ์ฉ์ ํ๊ฒฝ ๋ด ๋ชจ๋ ์ธ์ด ๋ฐ ํ๋ซํผ์ ๊ฑธ์ณ ํ์ง ์งํ๋ฅผ ๊ณ์ฐํฉ๋๋ค.
Click Here๋ฌธ์ ๋ ์ฝ๋ ํ์ง ์งํ๋ค์ด ์๋ก ๋์ฒด ๋ถ๊ฐ๋ฅํ๊ณ ๋ณดํธ์ ์ผ๋ก ํด์๋ ์ ์๋ค๋ ์ ์ ๋๋ค. COBOL ํ๋ก๊ทธ๋จ์์ ๋์ ์ ์ง๋ณด์์ฑ ์ง์๊ฐ ํ์ด์ฌ ์คํฌ๋ฆฝํธ์์ ๊ฐ์ ์ ์๋ฅผ ๋ฐ๋ ๊ฒ๊ณผ๋ ์๋ฏธ๊ฐ ๋ค๋ฆ ๋๋ค. ์ํ ๋ณต์ก๋ 15๋ ์ ํ ์คํธ๋ ์ํ ๋จธ์ ์์๋ ํ์ฉ ๊ฐ๋ฅํ ์์ค์ด์ง๋ง, ์ ํจ์ฑ ๊ฒ์ฌ ํจ์์์๋ ์ฌ๊ฐํ ๋ฌธ์ ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. ๊ฒฐํจ ๋ฐ๋๊ฐ KLOC๋น 2๊ฐ ๋ฒ๊ทธ์ธ ๊ฒ์ ์์คํ ํ๋ก๊ทธ๋๋ฐ์์๋ ํ๋ฅญํ ์์ค์ด์ง๋ง, ์์ ์ ์ค์ํ ์๋ฒ ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์์๋ ๋งค์ฐ ์ํํ ์์ค์ ๋๋ค. ์งํ๋ฅผ ์ ์ฉํ๊ฒ ํ์ฉํ๋ ค๋ฉด ๊ฐ ์งํ๊ฐ ๋ฌด์์ ์ธก์ ํ๋์ง, ๋ฌด์์ด ์งํ๋ฅผ ๋์ด๊ฑฐ๋ ๋ฎ์ถ๋์ง, ๊ทธ๋ฆฌ๊ณ ์ด๋ค ์๊ณ๊ฐ์ด ์ ์ ํ์ง ์ดํดํด์ผ ํฉ๋๋ค. ์ด ๊ธ์์๋ ๋ฐ๋ก ์ด๋ฌํ ๋ด์ฉ์ ๋ค๋ฃน๋๋ค.
์ฝ๋ ํ์ง์ด๋ ๋ฌด์์ธ๊ฐ์?
์ฝ๋ ํ์ง์ด๋ ์์ค ์ฝ๋๊ฐ ์ ํ์ฑ, ์ ์ง๋ณด์์ฑ, ๊ฐ๋ ์ฑ, ํจ์จ์ฑ, ๋ณด์์ฑ, ํ ์คํธ ์ฉ์ด์ฑ ๋ฑ ์ธก์ ๊ฐ๋ฅํ ์์ฑ๋ค์ ์ผ๋ง๋ ์ ์ถฉ์กฑํ๋์ง๋ฅผ ๋ํ๋ด๋ ์ ๋์ ๋๋ค. ์ด๋ค ๋จ์ผ ์์ฑ๋ง์ผ๋ก ํ์ง์ ์ ์ํ ์๋ ์์ต๋๋ค. ์ฝ๋๋ ์ ๋๋ก ์คํ๋์ง๋ง ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง๋ฉด ๊ฐ๋ฐ์๊ฐ ์ดํดํ ์ ์๊ธฐ ๋๋ฌธ์ ์์ ํ๊ฒ ์์ ํ ์ ์์ด ๋ณ๊ฒฝ๋ ๋๋ง๋ค ํ์ง์ด ์ ํ๋ฉ๋๋ค. ๊ฐ๋ ์ฑ์ ์ข์ง๋ง ํ ์คํธ๋์ง ์์ ์ฝ๋๋ ์จ๊ฒจ์ง ๊ฒฐํจ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ํ ์คํธ๋ ๋์์ง๋ง ๊ตฌ์กฐ์ ์ผ๋ก ๋ณต์กํ ์ฝ๋๋ ๊ท๋ชจ๊ฐ ์ปค์ง์๋ก ๊ฒฐํจ์ด ๋ ๋ง์ด ๋ฐ์ํฉ๋๋ค. ๋ณต์ก์ฑ์ด ์ปค์ง์๋ก ํน์ ๋ณ๊ฒฝ์ผ๋ก ์ธํด ์์์น ๋ชปํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ํ๋ฅ ์ด ๋์์ง๊ธฐ ๋๋ฌธ์ ๋๋ค.
ISO/IEC 25010 ํ์ค์ ๊ณต์์ ์ธ ์ ์์ ๋ฐ๋ฅด๋ฉด ์ํํธ์จ์ด ํ์ง์ ์ฌ๋ ๊ฐ์ง ํน์ฑ์ ๊ธฐ๋ฅ ์ ํฉ์ฑ, ์ฑ๋ฅ ํจ์จ์ฑ, ํธํ์ฑ, ์ฌ์ฉ์ฑ, ์ ๋ขฐ์ฑ, ๋ณด์, ์ ์ง๋ณด์์ฑ, ์ด์์ฑ์ ๋๋ค. ์์ค ์ฝ๋์ ๊ฒฝ์ฐ, ๋ฐํ์ ๋์์ด ์๋ ์ฝ๋ ์์ฒด์์ ์ง์ ์ธก์ ํ ์ ์๋ ํน์ฑ์ ์ ์ง๋ณด์์ฑ, ์ ๋ขฐ์ฑ(๊ฒฐํจ ๋ฐ ๋ณต์ก์ฑ ์งํ๋ก ๊ทผ์ฌํ), ๋ณด์(์ ์ ๋ถ์์ ํตํด), ๊ธฐ๋ฅ ์ ํฉ์ฑ(ํ ์คํธ ์ปค๋ฒ๋ฆฌ์ง๋ฅผ ํตํด)์ ๋๋ค. ๋๋จธ์ง ํน์ฑ์ ์ธก์ ์ ์ํด ์ฝ๋ ์คํ์ด ํ์ํฉ๋๋ค. ๋ฐ๋ผ์ ์ฝ๋ ํ์ง ์งํ๋ ์ํํธ์จ์ด ํ์ง์ ์ ์ฒด๊ฐ ์๋, ์ ์๋๊ณ ์ค์ํ ๋ถ๋ถ ์งํฉ์ ๋ค๋ฃน๋๋ค.
์ฝ๋ ํ์ง์ด ์ค์ํ ์ด์
๊ธฐ์ ํ์ ์ฝ๋ ํ์ง์ด ์ ์ค์ํ์ง ์ ์๊ณ ์์ต๋๋ค. ํ์ง๋ง ๋น์ฆ๋์ค ์ดํด๊ด๊ณ์๋ ๋ด๋ถ์ ์ผ๋ก ์ฝ๋ ํ์ง์ ์ค์์ฑ์ ์ค๋ํด์ผ ํ๋ ํ์๊ฒ๋ ๋น์ฉ๊ณผ ์๊ฐ์ด๋ผ๋ ์ธก๋ฉด์์ ๊ทธ ์ค์์ฑ์ด ๋์ฑ ๋ถ๊ฐ๋ฉ๋๋ค. ๋งฅํจ์ง์ IT ์ํํธ์จ์ด ํ์ง ์ปจ์์์(CISQ)์ ์ฐ๊ตฌ์ ๋ฐ๋ฅด๋ฉด ๊ฐ๋ฐ์๋ค์ ์๋ก์ด ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๋ ๋์ ๊ธฐ์กด์ ๊ธฐ์ ๋ถ์ฑ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ 30~40%์ ์๊ฐ์ ์๋นํ๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. ์ฝ๋ ํ์ง์ด ๋ฎ์ผ๋ฉด ๊ธฐ์ ๋ถ์ฑ๊ฐ ๋์ ๋ฉ๋๋ค. ์ด๊ธฐ์ ๋ฐ๊ฒฌ๋์ง ์์ ๊ฒฐํจ, ๋ถํ์ํ๊ฒ ๋ณต์กํ ๊ธฐ๋ฅ, ๋ณ๋๋ก ์ ์ง ๊ด๋ฆฌํด์ผ ํ๋ ์ค๋ณต๋ ๋ก์ง ๋ธ๋ก ํ๋ํ๋๊ฐ ๋ค์ ๋ณ๊ฒฝ ์์ ์ ๋น์ฉ์ ์ฆ๊ฐ์ํต๋๋ค. ๋ฐ๋ฉด ๋์ ์ฝ๋ ํ์ง์ ์์คํ ์๋ช ์ฃผ๊ธฐ ์ ๋ฐ์ ๊ฑธ์ณ ์ด๋ฌํ ๋น์ฉ์ ์ง์์ ์ผ๋ก ์ค์ฌ์ค๋๋ค.
์ฝ๋ ํ์ง ์ธก์ ์งํ: ์๋ฒฝ ์ฐธ์กฐ
์๋ ํ๋ ์ฝ๋ ํ์ง ์ธก์ ์ ๋ชจ๋ ์ฃผ์ ๋ฒ์ฃผ๋ฅผ ํฌ๊ดํ๋ ์งํ๋ค์ ์ ์ํฉ๋๋ค. ๊ฐ ์งํ์ ๋ํด ์ ์, ์ธก์ ๋ฐฉ๋ฒ, ํ์ฉ ๋ฒ์ ๋ฐ ํด์ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค. ์๋ ํ์ ์๊ณ๊ฐ์ ์ ๊ณ์์ ๋๋ฆฌ ์ธ์ฉ๋๋ ๋ฒค์น๋งํฌ๋ฅผ ๋ฐ์ํ โโ๊ฒ์ด๋ฉฐ, ์์ ์ด ์ค์ํ ํ๊ฒฝ์ด๋ ๊ท์ ๊ฐ ์๊ฒฉํ ํ๊ฒฝ์์ ์์ ํ๋ ํ์ ๋ ์๊ฒฉํ ์๊ณ๊ฐ์ ์ ์ฉํด์ผ ํฉ๋๋ค.
๋ณต์ก์ฑ ์ธก์ ํญ๋ชฉ
์ํ์ ๋ณต์ก์ฑ ํจ์ ๋๋ ๋ฉ์๋๋ฅผ ํต๊ณผํ๋ ์ ํ์ ์ผ๋ก ๋
๋ฆฝ์ ์ธ ๊ฒฝ๋ก์ ์๋ฅผ ์ธก์ ํฉ๋๋ค. 1976๋
ํ ๋ง์ค ๋งฅ์ผ์ด๋ธ๊ฐ ๋์
ํ์ผ๋ฉฐ ํ์ฌ๊น์ง ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ณต์ก์ฑ ์ธก์ ์งํ์
๋๋ค. ์ด ๊ณต์์ ๊ฒฐ์ ์ง์ ์ ๊ณ์ฐํฉ๋๋ค. if, else if, switch ๊ฒฝ์ฐ, ๋ฃจํ ์กฐ๊ฑด, catch ๋ธ๋ก๊ณผ ์กฐ๊ฑด ์ฐ์ฐ์๋ฅผ ํฌํจํ๋ฉด 1์ด ๋ํด์ง๋๋ค. ๋ถ๊ธฐ๊ฐ ์๋ ํจ์์ ์ํ ๋ณต์ก๋๋ 1์
๋๋ค.
| ์ํ์ ๋ณต์ก์ฑ | ํด์ |
|---|---|
| 1-5 | ๊ฐ๋จํ๊ณ ํ ์คํธํ๊ธฐ ์ฝ์ต๋๋ค. |
| 6-10 | ์ ๋นํ๊ณ ๊ด๋ฆฌ ๊ฐ๋ฅํ ์์ค |
| 11-20 | ๋ณต์กํด์ง๋ฉด ํ ์คํธ๊ฐ ์ด๋ ค์์ง๋๋ค. |
| 21-50 | ์ํ๋๊ฐ ๋งค์ฐ ๋์ผ๋ฏ๋ก ๋ฆฌํฉํ ๋ง์ ๊ถ์ฅํฉ๋๋ค. |
| 50+ | ๊ฒ์ฆ ๋ถ๊ฐ๋ฅํ๋ฉฐ, ๊ฒฐํจ์ด ์์ ๊ฐ๋ฅ์ฑ์ด ๋งค์ฐ ๋์ |
๋์ ์ํ ๋ณต์ก๋๋ ๊ฒฐํจ ๋ฐ๋์ ๊ฐํ ์๊ด๊ด๊ณ๋ฅผ ๋ณด์ ๋๋ค. IEEE Transactions on Software Engineering์ ๋ฐํ๋ ์ฐ๊ตฌ์ ๋ฐ๋ฅด๋ฉด ์ํ ๋ณต์ก๋๊ฐ 10์ ๋๋ ํจ์๋ ๋ ๊ฐ๋จํ ํจ์๋ณด๋ค ๊ฒฐํจ ๋ฐ์๋ฅ ์ด ํ์ ํ ๋์ต๋๋ค. ์ํ ๋ณต์ก๋ ๋ถ์ ๊ธฐ์กด ์ฝ๋๋ฒ ์ด์ค์์ ๊ฐ์ฅ ํฐ ๋ฌธ์ ๋ ์๋ ๊ฐ ์ ์ง๋ณด์ ๊ณผ์ ์์ ์ ์ฒด์ ์ธ ๊ตฌ์กฐ๋ฅผ ๋ฆฌํฉํ ๋งํ์ง ์๊ณ ๋์ ๋ ๊ฒฐ์ ๋ก์ง์ ๊ฐ์ง ํจ์๋ค์ ์ฐพ์๋ด๋ ๊ฒ์ ๋๋ค.
NPath ๋ณต์ก์ฑ NPath ๋ณต์ก๋๋ ์ค์ฒฉ๋ ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ์ ํฌํจํ์ฌ ํจ์๋ฅผ ํต๊ณผํ๋ ๊ณ ์ ํ ์คํ ๊ฒฝ๋ก์ ์๋ฅผ ๊ณ์ฐํฉ๋๋ค. ์ํ ๋ณต์ก๋๋ ๋ถ๊ธฐ๋ฅผ ์ ํ์ ์ผ๋ก ๊ณ์ฐํ๋ ๋ฐ๋ฉด, NPath ๋ณต์ก๋๋ ๋ถ๊ธฐ๋ฅผ ๊ณฑํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ธ ๊ฐ์ ์์ฐจ์ ์ธ if-else ๋ธ๋ก์ ๊ฐ์ง ํจ์๋ ์ํ ๋ณต์ก๋๋ 4์ด์ง๋ง, ๊ฐ ์กฐ๊ฑด์ด ๋ ๋ฆฝ์ ์ผ๋ก ์ฐธ ๋๋ ๊ฑฐ์ง์ผ ์ ์์ผ๋ฏ๋ก NPath ๋ณต์ก๋๋ 8์ ๋๋ค. NPath ๋ณต์ก๋๋ ์ค์ฒฉ์ด ๋ง์์ง์๋ก ๊ธฐํ๊ธ์์ ์ผ๋ก ์ฆ๊ฐํฉ๋๋ค. 200์ ์ด๊ณผํ๋ ๊ฐ์ ์ด๋ค ํ๋ ํ์ค์ ์ผ๋ก ์์ฑํ ์ ์๋ ๊ฒ๋ณด๋ค ๋ ๋ง์ ํ ์คํธ ์ผ์ด์ค๊ฐ ํ์ํ ํจ์๋ฅผ ๋ํ๋ ๋๋ค.
์ธ์ง์ ๋ณต์ก์ฑ SonarSource์์ ๋์
ํ ์ด ์งํ๋ ์ฝ๋์ ํฌํจ๋ ๊ฒฝ๋ก์ ๊ฐ์๊ฐ ์๋๋ผ ์ฝ๋๋ฅผ ์ดํดํ๊ธฐ ์ผ๋ง๋ ์ด๋ ค์ด์ง๋ฅผ ์ธก์ ํฉ๋๋ค. ์ ํ ๋ถ๊ธฐ๋ณด๋ค ์ค์ฒฉ๋ ๊ตฌ์กฐ์ ๋ ํฐ ๋ถ์ด์ต์ ์ค๋๋ค. if ๋ด๋ถ while ๋ค๋ฅธ ๋ด๋ถ if ์ฐ์ 3๊ฐ๋ณด๋ค ๋์ ์ ์ if ๋์ผํ ์ํ ๋ณต์ก๋๋ฅผ ๊ฐ๋ ๋ฌธ์ฅ๋ค. ์ธ์ง ๋ณต์ก๋๋ ๊ฐ๋ฐ์๊ฐ ์ฝ๋๋ฅผ ์ฝ์ ๋ ์ค์ ๋ก ๊ฒช๋ ์ด๋ ค์๊ณผ ๋ ์ ๋ถํฉํฉ๋๋ค. ๋ฉ์๋๋น ์ธ์ง ๋ณต์ก๋๊ฐ 15๋ฅผ ๋์ผ๋ฉด ์ผ๋ฐ์ ์ผ๋ก ๊ฒํ ๋์์ผ๋ก ํ์๋๋ฉฐ, 25๋ฅผ ๋์ผ๋ฉด ๋๋ถ๋ถ์ ๊ฐ๋ฐ์๊ฐ ์ค์ ๋ก ์ดํดํ๊ธฐ ์ด๋ ค์ํ๋ ํจ์๋ฅผ ๋ํ๋
๋๋ค.
ํ ์คํ ๋ ๋ฉํธ๋ฆญ์ค ์์ค ์ฝ๋์ ๋ค ๊ฐ์ง ์์(๊ณ ์ ์ฐ์ฐ์ ์(n1), ๊ณ ์ ํผ์ฐ์ฐ์ ์(n2), ์ ์ฒด ์ฐ์ฐ์ ์(N1), ์ ์ฒด ํผ์ฐ์ฐ์ ์(N2))๋ก๋ถํฐ ์ผ๋ จ์ ์ธก์ ๊ฐ์ ๋์ถํฉ๋๋ค. ์ด๋ฅผ ํตํด ํ ์คํ ๋๋ ๋ค์์ ๊ณ์ฐํฉ๋๋ค.
- ์๋ (N ร log2(n)): ์ ๋ณด ์ฝํ ์ธ ๊ตฌํ ํฌ๊ธฐ
- ์ด๋ ค์ (n1/2 ร N2/n2): ์ฝ๋๋ฅผ ์์ฑํ๊ฑฐ๋ ์ดํดํ๋ ๋ฐ ์ผ๋ง๋ ์ด๋ ค์ด์ง๋ฅผ ๋ํ๋ด๋ ์ถ์ ์น
- ๋ ธ๋ ฅ (์ฉ๋ ร ๋์ด๋): ์ฝ๋๋ฅผ ๊ตฌํํ๊ฑฐ๋ ์ดํดํ๋ ๋ฐ ํ์ํ ์ด ์ ์ ์ ๋ ธ๋ ฅ ์ถ์ ์น
ํ ์คํ ๋ ๋ฉํธ๋ฆญ์ ์ ์ฌํ ์ํ ๋ณต์ก๋๋ฅผ ๊ฐ์ง ํจ์๋ค์ ๋น๊ตํ์ฌ ์ด๋ ํจ์๊ฐ ์ดํดํ๊ธฐ ๋ ์ด๋ ค์ด์ง ํ๋จํ๋ ๋ฐ ํนํ ์ ์ฉํฉ๋๋ค. ๋ช ํํ๊ฒ ๋ช ๋ช ๋ ๋ณ์์ ๋ํด 10๊ฐ์ ๋ถ๊ธฐ๋ฅผ ๊ฐ์ง ํจ์๋ ๊ณ์ฐ๋ ์ธ๋ฑ์ค์ ๋จ์ผ ๋ฌธ์ ์๋ณ์์ ๋ํด 10๊ฐ์ ๋ถ๊ธฐ๋ฅผ ๊ฐ์ง ํจ์๋ณด๋ค ํ ์คํ ๋ ๋์ด๋๊ฐ ๋ฎ์ต๋๋ค.
์ ์ง๋ณด์์ฑ ์งํ
์ ์ง ๋ณด์์ฑ ์ง์ ํ ์คํ ๋ ๋ณผ๋ฅจ(Halstead volume)์ ์๋ ํด ์ค๋ง(Paul Oman)๊ณผ ์ญ ํค์ด๊ทธ๋ง์ด์คํฐ(Jack Hagemeister)๊ฐ ๊ฐ๋ฐํ์ผ๋ฉฐ, ์ดํ ๋ง์ดํฌ๋ก์ํํธ ๋น์ฃผ์ผ ์คํ๋์ค(Microsoft Visual Studio)์์ ํ์ค ์ ์ง๋ณด์์ฑ ์ธก์ ๊ธฐ์ค์ผ๋ก ์ฑํ๋์์ต๋๋ค. ํ ์คํ ๋ ๋ณผ๋ฅจ, ์ํ ๋ณต์ก๋, ์ฝ๋ ๋ผ์ธ ์๋ฅผ ํ๋์ ์ ์๋ก ๊ฒฐํฉํ ์งํ์ ๋๋ค.
Visual Studio์ ์์์ 0์์ 100 ์ฌ์ด์ ์ ์๋ฅผ ์์ฑํฉ๋๋ค.
| ์ ์ง ๋ณด์์ฑ ์ง์ | ํ์ |
|---|---|
| 20-100 | ์ ์ง๋ณด์ ๊ฐ๋ฅ(๋ น์) |
| 10-19 | ์ ์ง๋ณด์ ํ์์ฑ์ด ์ค๊ฐ ์ ๋์ (๋ ธ๋์) |
| 0-9 | ์ ์ง ๊ด๋ฆฌ๊ฐ ์ด๋ ค์ (๋นจ๊ฐ์) |
์ ์ง๋ณด์์ฑ ์ง์๋ ์์ฝ ํต๊ณ์
๋๋ค. ์ธ๋ถ์ ์ธ ๋ชจ๋ ๊ฐ ๋น๊ต๋ณด๋ค๋, ์ ์ง๋ณด์์ฑ์ด ๋ฎ์ ํ์ผ์ด๋ ๋ชจ๋ ๋ฑ ์ด์์น๋ฅผ ์๋ณํ๋ ๋ฐ ๊ฐ์ฅ ์ ์ฉํฉ๋๋ค. ํ์ด์ฌ์์๋ radon ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ ์ง๋ณด์์ฑ ์ง์๋ฅผ ์ง์ ๊ณ์ฐํฉ๋๋ค. Visual Studio์์๋ ์ฝ๋ ๋ฉํธ๋ฆญ ์ฐฝ์ ํ์๋ฉ๋๋ค. ์ ์ ์ฝ๋ ๋ถ์ ํ๋ซํผ์์ ์ ์ง๋ณด์์ฑ ์ง์๋ ์ผ๋ฐ์ ์ผ๋ก ์ํ ๋ณต์ก๋ ๋ฐ ์ฝ๋ ๋ผ์ธ ์์ ํจ๊ป ํ์ค ์ถ๋ ฅ ์งํ ์ค ํ๋์
๋๋ค.
์ฝ๋ ๋ผ์ธ ์(LOC) ๋ฐ ์ฝ๋ ๋ผ์ธ ์(KLOC) ์ฝ๋๋ฒ ์ด์ค์ ํฌ๊ธฐ๋ ์ค ์ ๋๋ ์์ฒ ์ค ๋จ์๋ก ์ธก์ ํฉ๋๋ค. LOC(๋ผ์ธ ์)๋ง์ผ๋ก๋ ์ฝ๋ ํ์ง์ ๋ํด ์๋ฌด๊ฒ๋ ์ ์ ์์ง๋ง, ๋ค๋ฅธ ์งํ์ ํ์์ ์ธ ๊ธฐ์ค์ ์ ์ ๊ณตํฉ๋๋ค. ๊ฒฐํจ ๋ฐ๋๋ KLOC(ํฌ๋ก๋ผ์ธ ์ฝ๋ ์)๋น ๋ฒ๊ทธ ์, ์ฃผ์ ๋ฐ๋๋ LOC๋น ์ฃผ์ ์, ํ ์คํธ ๋ฐ๋๋ LOC๋น ํ ์คํธ ์ด์ค์ ์์ ๋๋ค. ๋ํ LOC๋ ๋ณต์ก์ฑ์ ๋น์ฉ์ ๋ํ๋ ๋๋ค. ์ํ ๋ณต์ก๋๊ฐ 20์ธ 500์ค์ง๋ฆฌ ํจ์๋ ๋์ผํ ๋ณต์ก๋๋ฅผ ๊ฐ์ง 50์ค์ง๋ฆฌ ํจ์๋ณด๋ค ํจ์ฌ ๋ ํฐ ๋ฌธ์ ์ ๋๋ค.
์ฝ๋ ๋ณ๊ฒฝ ์ฝ๋ ๋ณ๊ฒฝ๋ฅ ์ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ฝ๋๊ฐ ๋ณ๊ฒฝ๋๋ ์๋๋ฅผ ๋ํ๋ด๋ฉฐ, ๋จ์ ์๊ฐ๋น ํ์ผ๋น ์ถ๊ฐ๋ ์ฝ๋ ์ค ์, ์ญ์ ๋ ์ฝ๋ ์ค ์, ์์ ๋ ์ฝ๋ ์ค ์๋ฅผ ํฉ์ฐํ์ฌ ์ธก์ ํฉ๋๋ค. ์ฝ๋ ๋ณ๊ฒฝ๋ฅ ์ด ๋๋ค๋ ๊ฒ์ ๋ถ์์ ์ฑ์ ์๋ฏธํฉ๋๋ค. ์์ฃผ ๋ณ๊ฒฝ๋๋ ์ฝ๋๋ ์ฒ์๋ถํฐ ์ฌ๋ฐ๋ฅด์ง ์์๋ ์ค๊ณ, ๋ถ์์ ํ ์๊ตฌ ์ฌํญ ๋๋ ์ง์์ ์ธ ํจ์น๊ฐ ํ์ํ ๋ฒ๊ทธ์ ๋ํ ๋์์ผ ์ ์์ต๋๋ค. ๋ง์ดํฌ๋ก์ํํธ์ ์ฐ๊ตฌ์ ๋ฐ๋ฅด๋ฉด ์ฝ๋ ๋ณ๊ฒฝ๋ฅ ์ด ์์ 10%์ ํด๋นํ๋ ํ์ผ์ ๋ณ๊ฒฝ๋ฅ ์ด ๋ฎ์ ํ์ผ๋ณด๋ค ๊ฒฐํจ์ด 5๋ฐฐ ๋ ๋ง์์ต๋๋ค. ์ฝ๋ ๋ณ๊ฒฝ๋ฅ ๊ณผ ๊ฒฐํจ๋ฅ ์ ํจ๊ป ์ถ์ ํ๋ฉด ์ฆ์ ๋ณ๊ฒฝ์ด ํ์ง์ ํฅ์์ํค๋์ง ์๋๋ฉด ์๋ก์ด ๋ฌธ์ ๋ฅผ ์ผ๊ธฐํ๋์ง ํ์ ํ ์ ์์ต๋๋ค.
์ฝ๋ ์ปค๋ฒ๋ฆฌ์ง ๋ฉํธ๋ฆญ
๋จ์ ํ ์คํธ ๋ฒ์ ์ฝ๋๋ฒ ์ด์ค์์ ๋จ์ ํ ์คํธ์ ์ํด ์คํ๋๋ ์ค, ๋ถ๊ธฐ ๋๋ ์กฐ๊ฑด์ ๋น์จ์ ๋ฐฑ๋ถ์จ๋ก ๋ํ๋ธ ๊ฒ์ด ๋ฐ๋ก ๋ผ์ธ ์ปค๋ฒ๋ฆฌ์ง์ ๋๋ค. ๊ฐ์ฅ ์๋ฏธ ์๋ ํํ๋ ๋ถ๊ธฐ ์ปค๋ฒ๋ฆฌ์ง์ธ๋ฐ, ์ด๋ ์ฝ๋์ ๊ฐ ๊ฒฐ์ ์ด ์ฐธ๊ณผ ๊ฑฐ์ง ๊ฒฐ๊ณผ ๋ชจ๋์์ ์ ์ด๋ ํ๋์ ํ ์คํธ์ ์ํด ์คํ๋ ์ ์๋์ง ์ฌ๋ถ๋ฅผ ๋ํ๋ ๋๋ค. ๋ผ์ธ ์ปค๋ฒ๋ฆฌ์ง๋ ์กฐ์ํ๊ธฐ ์ฝ์ต๋๋ค. ์๋ฌด๊ฒ๋ ๊ฒ์ฆํ์ง ์๊ณ ๋ชจ๋ ์ค์ ์คํํ๋ ํ ์คํธ๋ 100% ๋ผ์ธ ์ปค๋ฒ๋ฆฌ์ง๋ฅผ ๋ฌ์ฑํ๊ณ ์๋ฌด๊ฒ๋ ์ก์๋ด์ง ๋ชปํฉ๋๋ค.
๋จ์ ํ ์คํธ ์ปค๋ฒ๋ฆฌ์ง์ ๋ํ ์ ๊ณ ํ์ค:
- 50% ๋ฏธ๋ง: ๋ถ์ ์ ํจ, ๋๋ถ๋ถ์ ๊ฒฐํจ์ ๊ฒ์ฌ์์ ๋ฐ๊ฒฌ๋์ง ์์
- 50-75%: ๋ณดํต ์์ค, ์ฃผ์ ๊ฒฝ๋ก ํฌํจ, ์์ธ์ ์ธ ๊ฒฝ์ฐ๋ ๋๋ฝ๋ ๊ฐ๋ฅ์ฑ ๋์
- 75~90%: ๋๋ถ๋ถ์ ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋์ ์ ํฉ
- 90% ์ด์: ์์ ์ด ๋งค์ฐ ์ค์ํ๊ฑฐ๋ ์ ๋ขฐ์ฑ์ด ๋์ ์์คํ ์ ์ ํฉํฉ๋๋ค.
์์ ํ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ๋ ์ปค๋ฒ๋ฆฌ์ง ๋์ฑ ์๊ฒฉํ ๊ธฐ์ค์ ๋ฐ๋ฆ ๋๋ค. ํญ๊ณต ์ํํธ์จ์ด์ ๋ํ DO-178C์ ๊ธฐ๋ฅ ์์ ์ ๋ํ IEC 61508์ ํ์ค ๋จ์ ํ ์คํธ์์ ๋ฌ์ฑํ๋ ์์ค์ ๋์ด์๋ ์ปค๋ฒ๋ฆฌ์ง ์๊ตฌ ์ฌํญ(์ต๊ณ ์ค์๋ ์์ค์ ๋ํ MC/DC ์ปค๋ฒ๋ฆฌ์ง)์ ๋ช ์ํ๊ณ ์์ต๋๋ค. ์์ ์ ์ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ๋ ํ์ง์ ํฅ์์ํค๋ ค๋ฉด ์กฐ๊ฑด/๊ฒฐ์ ์ปค๋ฒ๋ฆฌ์ง๋ฅผ ์ถ์ ํ๊ณ ์ธ์ฆ ๊ธฐ๊ด์์ ์๊ตฌํ๋ ๊ณต์์ ์ธ ์ฆ๊ฑฐ๋ฅผ ์์ฑํ ์ ์๋ ์ปค๋ฒ๋ฆฌ์ง ๋๊ตฌ๊ฐ ํ์ํฉ๋๋ค.
ํ ์คํธ ๋ฐ๋ ํ ์คํธ ๋ฐ๋๋ ํ๋ก๋์ ์ฝ๋์ ํฌ๊ธฐ์ ๋ํ ํ ์คํธ ์ด์ค์ ์๋ฅผ ์ธก์ ํ์ฌ ์ฝ๋ ์ปค๋ฒ๋ฆฌ์ง๋ฅผ ๋ณด์ํฉ๋๋ค. ์ปค๋ฒ๋ฆฌ์ง๋ ๋์ง๋ง ํ ์คํธ ๋ฐ๋๊ฐ ๋ฎ์ ๊ฒฝ์ฐ, ์๋ฏธ ์๋ ๋์ ๊ฒ์ฆ ์์ด ์ฝ๋๋ง ์คํํ๋ ํ ์คํธ๊ฐ ์์ ์ ์์ต๋๋ค. ๋ฐ๋๋ก ํ ์คํธ ๋ฐ๋๊ฐ ๋์ง๋ง ์ปค๋ฒ๋ฆฌ์ง๊ฐ ๋ฎ์ ๊ฒฝ์ฐ, ์ฝ๋๋ฒ ์ด์ค์ ํน์ ๋ถ๋ถ์ ํ ์คํธ๊ฐ ์ง์ค๋์ด ์์ ์ ์์ต๋๋ค.
๊ฒฐํจ ์งํ
๋ฒ๋ ๋ฐ๋ (๊ฒฐํจ ๋ฐ๋๋ผ๊ณ ๋ ํจ)๋ ์ฝ๋ 1,000์ค(KLOC)๋น ํ์ธ๋ ๊ฒฐํจ ์๋ฅผ ๋ํ๋ ๋๋ค. ์ด๋ ์ฝ๋ ์ ํ์ฑ์ ์ธก์ ํ๋ ๊ฐ์ฅ ์ง์ ์ ์ธ ์ ๋์ ์งํ์ ๋๋ค. CISQ์ ์ ๊ณ ๋ฒค์น๋งํฌ์ ๋ฐ๋ฅด๋ฉด ์์ฉ ๊ธฐ์ฑ ์ํํธ์จ์ด๋ ํ ์คํธ ์ KLOC๋น ํ๊ท 15~50๊ฐ์ ๊ฒฐํจ์ด ์๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. ํ ์คํธ ๋ฐ ์ถ์ ํ์๋ ๊ณ ํ์ง ์์ฉ ์ํํธ์จ์ด์ ๊ฒฝ์ฐ ์ผ๋ฐ์ ์ผ๋ก KLOC๋น 1๊ฐ ๋ฏธ๋ง์ ๊ฒฐํจ์ด ๋ฐ์ํฉ๋๋ค.
์ ์ ๋ถ์ ๊ฒฐ๊ณผ ํ ์คํธ ๋๋ ์ค์ ์ฌ์ฉ์ ํตํด ๊ฒฐํจ์ด ํ์ธ๋๊ธฐ ์ ์ ๋๋ต์ ์ธ ๊ฒฐํจ ๋ฐ๋๋ฅผ ํ์ ํ ์ ์์ต๋๋ค. SonarQube, Checkmarx์ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. SMART TS XL ์๋ ค์ง ๊ฒฐํจ ๋ฐ ์ทจ์ฝ์ ์ ํ๊ณผ ๊ด๋ จ๋ ํจํด์ ํ์ ํ๊ธฐ ์ํด ์ฝ๋๋ฒ ์ด์ค๋ฅผ ๋ถ์ํ๊ณ , ์ฌ๊ฐ๋๋ณ๋ก ๋ถ๋ฅ๋ ์ ์ฌ์ ๋ฌธ์ ์๋ฅผ ์ฐ์ถํฉ๋๋ค. ์ฌ๊ฐํ ๊ฒฐํจ ๋ฐ ์ฐจ๋จ ๊ฒฐํจ ๋ฐ๊ฒฌ ๊ฑด์๋ฅผ ์ฝ๋ ๋ผ์ธ ์(LOC)๋ก ๋๋ ๋น์จ์ ์ฝ๋๊ฐ ํ ์คํธ ๋จ๊ณ์ ๋๋ฌํ๊ธฐ ์ ์ ์ฝ๋ ํ์ง์ ์กฐ๊ธฐ์ ํ์ ํ ์ ์๋ ์งํ๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ฝ๋ ์ค๋ฉ ๋ฐ๋ ์ฝ๋ ์ค๋ฉ์ ์ฝ๋ ์ค ์(KLOC)๋น ์ํฐ ํจํด, ์ค๋ณต ์ฝ๋, ์ง๋์น๊ฒ ๊ธด ํจ์, ๊ณผ๋ํ ํด๋์ค ๊ฒฐํฉ, ๊ธฐ๋ฅ ์์ฌ, ๊ฐ ๊ฐ์ฒด ๋ฑ์ ์กด์ฌ ์ฌ๋ถ๋ฅผ ๊ณ์ฐํฉ๋๋ค. ์ฝ๋ ์ค๋ฉ์ ๋น์ฅ ์ค๋ฅ๋ฅผ ๋ฐ์์ํค์ง๋ ์์ง๋ง, ํฅํ ๊ฒฐํจ ๋ฐ์ ๊ฐ๋ฅ์ฑ๊ณผ ์ ์ง๋ณด์ ๋น์ฉ์ ์์ธกํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ์ฝ๋ ์ค๋ฉ ๋ฐ๋๊ฐ ๋์ ์ฝ๋๋ฒ ์ด์ค๋ ๋์ ๋ ๊ตฌ์กฐ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํ๋ฏ๋ก ํฅํ ๋ชจ๋ ๋ณ๊ฒฝ ์์ ์ ๋น์ฉ์ด ์ฆ๊ฐํฉ๋๋ค.
๊ฐ๋ ์ฑ ๋ฐ ์คํ์ผ ์งํ
๋๊ธ ๋ฐ๋ ์ฃผ์ ์ค ์์ ์ฝ๋ ์ค ์์ ๋น์จ์
๋๋ค. ์ต์ ์ ๋ฒ์๋ ์ธ์ด์ ํ์ ๊ด๋ก์ ๋ฐ๋ผ ๋ค๋ฅด์ง๋ง ์ผ๋ฐ์ ์ผ๋ก 10~30% ์ฌ์ด์
๋๋ค. 10% ๋ฏธ๋ง์ด๋ฉด ๋ฌธ์ํ๊ฐ ๋ถ์ถฉ๋ถํ ์ฝ๋๋ฅผ ๋ํ๋ผ ์ ์์ผ๋ฉฐ, 50% ์ด์์ด๋ฉด ์ฝ๋๊ฐ ๋๋ฌด ๋ณต์กํ์ฌ ๋ช
ํํ์ง ์์ ๋
ผ๋ฆฌ์ ๋ํ ๊ด๋ฒ์ํ ์ค๋ช
์ด ํ์ํจ์ ๋ํ๋ผ ์ ์์ต๋๋ค. ์ฃผ์์ ์๋ณด๋ค ์ง์ด ๋ ์ค์ํฉ๋๋ค. ์ฝ๋๊ฐ ๋ฌด์์ ํ๋์ง ๋ค์ ์ค๋ช
ํ๋ ์ฃผ์์ด ๋ ํจ๊ณผ์ ์
๋๋ค.// increment i by 1)๋ ์๋ฌด๋ฐ ๊ฐ์น๋ฅผ ๋ํ์ง ์์ง๋ง, ํน์ ์๊ณ ๋ฆฌ์ฆ์ด ์ ํ๋ ์ด์ ๋ฅผ ์ค๋ช
ํ๋ ์ฃผ์์ ์๋นํ ๊ฐ์น๋ฅผ ๋ํฉ๋๋ค.
๋ช ๋ช ๊ท์น ์ค์ ๋ฆฐํ ์ ํ๋ก์ ํธ์ ๋ช ๋ช ๊ท์น์ ์ค์ํ๋ ์๋ณ์(๋ณ์, ํจ์, ํด๋์ค)์ ๋น์จ์ ์ธก์ ํฉ๋๋ค. ์๋ํ ๋๊ตฌ๋ ๋ฆฐํ ์ค์ ์ ์ผ๋ถ๋ก ๋ช ๋ช ๊ท์น์ ๊ฐ์ ํ ์ ์์ต๋๋ค. ์ผ๊ด๋ ๋ช ๋ช ์ ๊ฐ๋ฐ์๊ฐ ์ด๋ฆ๋ง์ผ๋ก ์๋ณ์์ ์ฉ๋๋ฅผ ์์ธกํ ์ ์๊ฒ ํด์ฃผ๋ฏ๋ก, ์ต์ํ์ง ์์ ์ฝ๋๋ฅผ ์ฝ์ ๋ ๋ฐ์ํ๋ ์ธ์ง ๋ถํ๋ฅผ ์ค์ฌ์ฃผ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ ์ฑ์ ํฌ๊ฒ ํฅ์์ํค๋ ์์ ์ค ํ๋์ ๋๋ค.
์ฝ๋ ์ค๋ณต๋ฅ ์ฝ๋ ์ค๋ณต๋ฅ ์ ์ฌ๋ฌ ์์น์ ๊ฑธ์ณ ์ค๋ณต๋ ์ฝ๋์ ๋น์จ์ ์ธก์ ํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ค๋ณต๋ฅ ์ด 5%๋ฅผ ๋์ผ๋ฉด ๋ฌธ์ ๊ฐ ์๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. ์ค๋ณต๋ ์ฝ๋๋ ์ ์ง๋ณด์ ๋ ธ๋ ฅ์ ์ฆ๊ฐ์ํต๋๋ค. ์ค๋ณต๋ ๋ก์ง์ ๋ฒ๊ทธ๋ ๋ชจ๋ ๋ณต์ฌ๋ณธ์์ ์ฐพ์ ์์ ํด์ผ ํ๋ฉฐ, ๋์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ชจ๋ ๋ณต์ฌ๋ณธ์ ์ผ๊ด๋๊ฒ ์ ์ฉํด์ผ ํฉ๋๋ค. ๋ํ ์ค๋ณต์ ์ฝ๋๋ฒ ์ด์ค์ ์ค์ ํฌ๊ธฐ๋ฅผ ๊ฐ๋ฆฝ๋๋ค. 100,000๋ง ์ค์ฒ๋ผ ๋ณด์ด๋ ์์คํ ์๋ 40,000๋ง ์ค์ ๊ณ ์ ํ ๋ก์ง๊ณผ 60,000๋ง ์ค์ ๋ณต์ฌ๋ณธ์ด ํฌํจ๋ ์ ์์ต๋๋ค.
๋ณด์ ๋ฐ ๊ธฐ์ ๋ถ์ฑ ์งํ
๊ธฐ์ ๋ถ์ฑ๋น์จ SonarQube๋ ๊ธฐ์ ๋ถ์ฑ ๋น์จ์ ์ฝ๋๋ฒ ์ด์ค์ ์์ ๊ฐ๋ฐ ๋น์ฉ ๋๋น ์์ ์์ ๋น์ฉ์ ๋น์จ๋ก ์ ์ํฉ๋๋ค. ๊ธฐ์ ๋ถ์ฑ ๋น์จ์ด 5% ๋ฏธ๋ง์ด๋ฉด ๊น๋ํ ์ฝ๋๋ฒ ์ด์ค๋ก ๊ฐ์ฃผ๋๋ฉฐ, 20% ์ด์์ด๋ฉด ์๋นํ ๋์ ๋ถ์ฑ๋ก ์ธํด ํฅํ ๊ฐ๋ฐ ์๋๊ฐ ํ์ ํ ๋๋ ค์ง ์ ์์์ ๋ํ๋ ๋๋ค.
๋ณด์ ํซ์คํ ๋ฐ๋ KLOC๋น ๋ณด์ ์ทจ์ฝ์ (ํ์ธ๋ ์ทจ์ฝ์ ์ด ์๋ ๋ณด์ ๊ฒํ ๊ฐ ํ์ํ ์ฝ๋ ํจํด)์ ์๋ฅผ ๊ณ์ฐํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋งค๊ฐ๋ณ์ํ๋์ง ์์ SQL ์ฟผ๋ฆฌ, ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ ์ํธํ ํจ์ ์ฌ์ฉ, ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ๊ฑฐ์น์ง ์์ ์ ๋ ฅ ์ฒ๋ฆฌ ๋ฑ์ด ์์ต๋๋ค. ์ ์ ๋ถ์ ๋๊ตฌ๋ ์ด๋ฌํ ํจํด์ ์๋ณํ๊ณ ์๋ ๋ณด์ ๊ฒํ ๊ฐ ํ์ํ ํญ๋ชฉ์ผ๋ก ํ์ํฉ๋๋ค.
์ทจ์ฝ์ ๋ฐ๋ KLOC๋น ํ์ธ๋ ๋ณด์ ์ทจ์ฝ์ ์๋ฅผ ์ง๊ณํ๋ฉฐ, ์ผ๋ฐ์ ์ผ๋ก CVSS ์ฌ๊ฐ๋๋ณ๋ก ๋ถ๋ฅ๋ฉ๋๋ค. ์ด ์งํ๋ ๋ฆด๋ฆฌ์ค ํ ๋ณด์ ๊ฐ์ฌ ๋๋ ์ง์์ ์ธ ๋ณด์ ๋ชจ๋ํฐ๋ง ํ์ดํ๋ผ์ธ์์ ๊ฐ์ฅ ์๋ฏธ๊ฐ ์์ต๋๋ค.
์ฝ๋ ํ์ง ์ธก์ ๋ฐฉ๋ฒ: ์ค์ฉ์ ์ธ ์ ๊ทผ๋ฒ
์ฝ๋ ํ์ง ์ธก์ ์ ์ผํ์ฑ ์์ ์ด ์๋๋ผ ๊ฐ๋ฐ ์ํฌํ๋ก์ ๋ด์ฌ๋ ์ง์์ ์ธ ํ๋์ ๋๋ค. ์ค์ฉ์ ์ธ 4๋จ๊ณ ์ ๊ทผ ๋ฐฉ์์ ์ธก์ ๊ฒฝํ์ด ์๋ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ํ๋ ํ์๊ฒ ํจ๊ณผ์ ์ ๋๋ค.
1๋จ๊ณ: ๊ธฐ์ค์ ์ค์ . ๋ณ๊ฒฝ ์์ ์ ์ํํ๊ธฐ ์ ์ ์ฝ๋๋ฒ ์ด์ค ์ ์ฒด์ ๋ํ ์ ์ ๋ถ์์ ์๋ฒฝํ๊ฒ ์คํํ์ญ์์ค. ์ํ ๋ณต์ก๋ ๋ถํฌ, ํ์ผ๋ณ ์ ์ง๋ณด์์ฑ ์ง์, ๊ฒฐํจ ๋ฐ๋, ์ฝ๋ ์ปค๋ฒ๋ฆฌ์ง ๋ฐ ์ค๋ณต๋ฅ ์ ํ์ฌ ๊ฐ์ ๊ธฐ๋กํ์ญ์์ค. ์ด ๊ธฐ์ค์ ์ ํฅํ ๋ชจ๋ ์ธก์ ๊ฐ์ ๋น๊ต ๊ธฐ์ค์ด ๋ฉ๋๋ค. ๊ธฐ์ค์ ์ด ์์ผ๋ฉด ๋ณ๊ฒฝ ์ฌํญ์ด ํ์ง์ ํฅ์์ํค๋์ง ์ ํ์ํค๋์ง ํ๋จํ ์ ์์ต๋๋ค.
2๋จ๊ณ: ์๊ณ๊ฐ์ ์ ์ํฉ๋๋ค. ๊ฐ ์ธก์ ํญ๋ชฉ์ ๋ํด ์ํฉ์ ๋ง๋ ํ์ฉ ๊ฐ๋ฅํ ์๊ณ๊ฐ์ ์ค์ ํ์ญ์์ค. ์์ฉ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์์ ์ ์ค์ํ ์๋ฃ ๊ธฐ๊ธฐ๋ ์๋ก ๋ค๋ฅธ ์ ์ ํ ์๊ณ๊ฐ์ ๊ฐ์ ธ์ผ ํฉ๋๋ค. ์ด๋ฌํ ์๊ณ๊ฐ์ ํ๋ก์ ํธ ํ์ง ํ์ค์ ๋ฌธ์ํํ๊ณ ์ ์ฒด ํ์ด ๋ณผ ์ ์๋๋ก ํ์ญ์์ค.
3๋จ๊ณ: CI/CD์ ํตํฉ. CI ํ์ดํ๋ผ์ธ์ ๊ตฌ์ฑํ์ฌ ๋ชจ๋ ์ปค๋ฐ ๋๋ ํ ๋ฆฌํ์คํธ์์ ์ฃผ์ ๋ฉํธ๋ฆญ์ ๊ณ์ฐํ๋๋ก ํฉ๋๋ค. ๋ฉํธ๋ฆญ์ด ํ์ฉ ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ ๋ณ๊ฒฝ ์ฌํญ์ ํ๋๊ทธ๋ฅผ ์ง์ ํฉ๋๋ค. ์๊ณ๊ฐ ์ด์์ ์ํ ๋ณต์ก๋๋ฅผ ๊ฐ์ง ์ ์ฝ๋๊ฐ ์ถ๊ฐ๋๊ฑฐ๋, ์๊ณ๊ฐ ๋ฏธ๋ง์ ์ฝ๋ ์ปค๋ฒ๋ฆฌ์ง๊ฐ ๋ฐ์ํ๊ฑฐ๋, ์ฌ๊ฐํ ์ ์ ๋ถ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๋ณํฉ์ ์ฐจ๋จํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ฉํธ๋ฆญ ์๊ณ๊ฐ์ ์ง์นจ์์ ๊ฐ์ ์ ์ธ ํ์ค์ผ๋ก ์ ํํ ์ ์์ต๋๋ค.
4๋จ๊ณ: ํ์ฌ ์ํฉ์ด ์๋ ์ถ์ธ๋ฅผ ๊ฒํ ํ์ญ์์ค. ๋จ์ผ ์งํ ์์น๋ ์ ์ฉํ ์ ๋ณด๋ฅผ ์ ๊ณตํ์ง๋ง, ์ถ์ธ๋ ์ค์ง์ ์ธ ์กฐ์น๋ก ์ด์ด์ง๋๋ค. ํน์ ๋ชจ๋์ ์ฝ๋ ๋ณ๊ฒฝ๋ฅ ์ด ์ฆ๊ฐํ๋ ์ถ์ธ, ๋ฆด๋ฆฌ์ค ์ฃผ๊ธฐ ์ ๋ฐ์ ๊ฑธ์ณ ์ฝ๋ ์ปค๋ฒ๋ฆฌ์ง๊ฐ ๊ฐ์ํ๋ ์ถ์ธ, ๋๋ ํน์ ํ์ผ์ ์ ์ง๋ณด์์ฑ ์ง์๊ฐ ํ๋ฝํ๋ ์ถ์ธ๋ ๋ชจ๋ ์ค๋ ์ท ์ธก์ ์ผ๋ก๋ ๋์น ์ ์๋ ๋ฌธ์ ๋ฅผ ๋ํ๋ด๋ ์ ํธ์ ๋๋ค. ๊ฐ ์คํ๋ฆฐํธ ํ๊ณ ์์ ์งํ ์ถ์ธ๋ฅผ ๊ฒํ ํ์ญ์์ค.
์ํฐํ๋ผ์ด์ฆ, ์ ์์ผ ๋ฐ ์์ ํ์ ํ๊ฒฝ์์์ ์ฝ๋ ํ์ง ์งํ
์ ์์ผ ๊ฐ๋ฐ์์์ ์ฝ๋ ํ์ง ์งํ
์ ์์ผ ํ์ ์ฝ๋ ํ์ง ์งํ์ ๊ด๋ จํ์ฌ ํน์ ํ ์ด๋ ค์์ ์ง๋ฉดํฉ๋๋ค. ์งง์ ๊ฐ๋ฐ ์ฃผ๊ธฐ ๋ด์ ์๋ํ๋ ์ํํธ์จ์ด๋ฅผ ์ ๊ณตํ๋ ๋ฐ ์ค์ ์ ๋๋ค ๋ณด๋ ํ์ง ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๊ธฐ ์ ์ ์ถ์ํด์ผ ํ๋ค๋ ์๋ฐ๊ฐ์ด ์๊ธธ ์ ์์ต๋๋ค. ํด๊ฒฐ์ฑ ์ ์งํ๋ฅผ ํฌ๊ธฐํ๋ ๊ฒ์ด ์๋๋ผ ์๋ฃ ๊ธฐ์ค์ ์งํ๋ฅผ ํฌํจ์ํค๋ ๊ฒ์ ๋๋ค. ์คํ ๋ฆฌ๋ ๊ธฐ๋ฅ์ด ์๋ํ๋ ๊ฒ๋ง์ผ๋ก ์๋ฃ๋๋ ๊ฒ์ด ์๋๋ผ, ๊ธฐ๋ฅ์ด ์๋ํ๋ ๋์์ ์๋ก์ด ์ฝ๋๊ฐ ํ์ ํ์ง ๊ธฐ์ค์ ์ถฉ์กฑํ ๋ ์๋ฃ๋ฉ๋๋ค.
์ ์์ผ ํ๊ฒฝ์์ ์ ํ ์งํ๋ ๋ฏธ๋์ ๋ฐ์ํ ๋ฌธ์ ๋ฅผ ์์ธกํ๋ ๋ฐ ๋์์ด ๋๋ ์งํ๋ก, ์ฝ๋ ๋ณ๊ฒฝ๋ฅ , ์คํ๋ฆฐํธ๋น ์๋ก ๋ฐ์ํ๋ ๊ธฐ์ ๋ถ์ฑ, ๋ฆด๋ฆฌ์ค๋ณ ์ ์ ๋ถ์ ์ค๋ฅ ๊ฑด์ ์ถ์ธ ๋ฑ์ด ์์ต๋๋ค. ํํ ์งํ๋ ์ด๋ฏธ ๋ฐ์ํ ๊ฒฐ๊ณผ๋ฌผ์ ์ธก์ ํ๋ ์งํ๋ก, ํ ์คํธ์์ ๋ฐ๊ฒฌ๋ ๊ฒฐํจ ๋ฐ๋, ์ ์ง๋ณด์์ ์์๋๋ ์๊ฐ๊ณผ ์ ๊ท ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ์์๋๋ ์๊ฐ, ๋ฆด๋ฆฌ์ค๋ณ ์ด์ ํ๊ฒฝ ์ฅ์ ๋ฐ์๋ฅ ๋ฑ์ด ์์ต๋๋ค.
๊ธฐ์ ์ค์ฌ(Technical Due Diligence)๋ฅผ ์ํ ์ฝ๋ ํ์ง
์ธ์ํฉ๋ณ ๊ฑฐ๋, ๊ณต๊ธ์ ์ฒด ์ ์ ๋ฐ ์์คํ ๋์ ๊ณผ์ ์์ ๊ธฐ์ ์ ์ค์ฌ์๋ ์ ์ฒด ์ฝ๋๋ฒ ์ด์ค์ ๊ฑธ์ณ ์ฝ๋ ํ์ง์ ๋ํ ์ฒด๊ณ์ ์ธ ํ๊ฐ๊ฐ ํ์ํฉ๋๋ค. ์ด ๋งฅ๋ฝ์์ ๊ฐ์ฅ ์ค์ํ ์งํ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ ์ง๋ณด์์ฑ ์ง์ ๋ถํฌ์ฝ๋๋ฒ ์ด์ค์์ ๋นจ๊ฐ์, ๋ ธ๋์, ๋ น์ ์์ญ์ ์ํ๋ ๋น์จ์ ๊ฐ๊ฐ ๋ช ํผ์ผํธ์ ๋๊น?
- ๊ธฐ์ ๋ถ์ฑ๋น์จ๊ฐ๋ฐ ๋น์ฉ ๋๋น ์์๋๋ ๋ณต๊ตฌ ๋น์ฉ์ ์ผ๋ง์ ๋๊น?
- ๊ฒฐํจ ๋ฐ๋KLOC๋น ์๋ ค์ง ๊ฒฐํจ ์๋ ๋ช ๊ฐ์ด๋ฉฐ, ์ด๋ ์ ๊ณ ๋ฒค์น๋งํฌ์ ์ด๋ป๊ฒ ๋น๊ต๋๋๊ฐ?
- ํ ์คํธ ์ปค๋ฒ๋ฆฌ์ง์๋ํ๋ ํ ์คํธ๋ก ์ปค๋ฒ๋๋ ์ฝ๋๋ฒ ์ด์ค์ ๋น์จ์ ๋ช ํผ์ผํธ์ด๋ฉฐ, ์ด๋ค ์์ค(๋ผ์ธ, ๋ถ๊ธฐ, ์กฐ๊ฑด)์์ ํ ์คํธ๊ฐ ์ํ๋์์ต๋๊น?
- ์์กด์ฑ ๊ฑด๊ฐ์ธ๋ถ ์์กด์ฑ์ด ์ผ๋ง๋ ์กด์ฌํ๋์ง, ์ผ๋ง๋ ๋ง์ ์์กด์ฑ์ด ์ค๋๋์๊ฑฐ๋ ํ๊ธฐ๋์๋์ง, ๊ทธ๋ฆฌ๊ณ ์ํคํ ์ฒ๊ฐ ์ผ๋ง๋ ๊น์ด ๊ฒฐํฉ๋์ด ์๋์ง๋ฅผ ํ์ ํฉ๋๋ค.
- ์ฝ๋ ์ค๋ณต์ฝ๋๋ฒ ์ด์ค์์ ์ค๋ณต๋๋ ๋ถ๋ถ์ ๋น์จ์ ํ์ ํ์ฌ ์ ์ง๋ณด์ ์ํ์ ์์ธกํฉ๋๋ค.
๋งฅ๋ฝ ์์์ ์ดํด๋ณด๋ฉด ๊ธฐ์ ์ฝ๋ ํ๊ฐ๋ฅผ ์ํ ์ํฅ ๋ถ์์ ํํ ์ค์ฌ๋ฅผ ์ํด์๋ ๊ฐ ๊ตฌ์ฑ ์์๊ฐ ํ์ง ์งํ์์ ์ด๋ค ์ ์๋ฅผ ๋ฐ๋์ง๋ฟ๋ง ์๋๋ผ ๊ตฌ์ฑ ์์ ๊ฐ์ ์์กด ๊ด๊ณ๋ฅผ ์ดํดํ๋ ๊ฒ์ด ํ์์ ์ ๋๋ค. ์๋ฅผ ๋ค์ด, ๊ณ ๋ฆฝ๋ ์ ํ์ง ๋ชจ๋์ ๊ด๋ฆฌ ๊ฐ๋ฅํ ์์ค์ ๊ฐ์ ๋น์ฉ์ ๋ํ๋ผ ์ ์์ง๋ง, ๋ณต์กํ ์์กด์ฑ ๊ทธ๋ํ์ ์ค์ฌ์ ์๋ ๋์ผํ ๋ชจ๋์ ํจ์ฌ ๋ ํฐ ์ํ์ ์๋ฏธํฉ๋๋ค.
์์ ํ์ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ํํ ํฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ๋ ํ์ง
ํญ๊ณต, ์๋์ฐจ, ์๋ฃ๊ธฐ๊ธฐ ๋ฐ ์ฐ์ ์ ์ด ๋ถ์ผ์ ์์ ํ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ผ๋ฐ์ ์ธ ์์ฉ ์ํํธ์จ์ด๋ณด๋ค ํจ์ฌ ๋์ ์ฝ๋ ํ์ง ๊ธฐ์ค์ ์๊ตฌํฉ๋๋ค. ์ฃผ์ ์ฐจ์ด์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ํ ๋ณต์ก๋ ์ ํ์ ์ผ๋ฐ์ ์ผ๋ก 10 ์ดํ๋ก ์ค์ ๋๋ฉฐ, ์์ธ๊ฐ ์๋ ๊ฒฝ์ฐ์๋ ๊ณต์์ ์ธ ๊ทผ๊ฑฐ๋ฅผ ์ ์ํด์ผ ํฉ๋๋ค.
- ๋ณด์ฅ ๋ฒ์ ์๊ตฌ ์ฌํญ์ ํ์ ๋๋ ๋ถ๊ธฐ ๋ณด์ฅ ๋ฒ์ ๋์ MC/DC(์์ ๋ ์กฐ๊ฑด/๊ฒฐ์ ๋ณด์ฅ ๋ฒ์)๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ์ ์ ๋ถ์์ ์ธ์ฆ๋ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ํํด์ผ ํ๋ฉฐ, ์๋ฐ ์ฌํญ์ ๋ฌธ์ํํ๊ณ ํด๊ฒฐํ๊ฑฐ๋ ๊ณต์์ ์ผ๋ก ์น์ธํด์ผ ํฉ๋๋ค.
- ์ฝ๋ ๋ณ๊ฒฝ ๋น๋๋ ์์ ์งํ๋ก ๋ชจ๋ํฐ๋ง๋ฉ๋๋ค. ์์ ์ ์ค์ํ ๋ชจ๋์ ๋ณ๊ฒฝ ๋น๋๊ฐ ๋์ผ๋ฉด ์ถ๊ฐ ๊ฒํ ๋ฐ ์ฌ๊ฒ์ฆ์ด ์ํ๋ฉ๋๋ค.
ํํ ํฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ท์ ํ๋ ์์ํฌ๋ก๋ถํฐ ์ ์ฌํ ์๋ ฅ์ ๋ฐ๊ณ ์์ต๋๋ค. PCI DSS๋ ์์ ํ ์ฝ๋ฉ ํ์ค๊ณผ ์ฝ๋ ๊ฒํ ํ๋ก์ธ์ค๋ฅผ ์๊ตฌํฉ๋๋ค. ๊ธ์ต ๋ณด๊ณ ์์คํ ์ ๋ํ SOX ์ค์๋ ์๊ตฌ์ฌํญ๋ถํฐ ์ฝ๋, ํ ์คํธ์ ์ด๋ฅด๊ธฐ๊น์ง ๋ฌธ์ํ๋ ์ถ์ ์ฑ์ ์๊ตฌํฉ๋๋ค. ์ฝ๋ ํ์ง ์งํ๋ ์ด๋ฌํ ํ๋ก์ธ์ค๊ฐ ์ ๋๋ก ์๋ํ๊ณ ์์์ ๊ฐ๊ด์ ์ผ๋ก ์ ์ฆํ๋ ์ฆ๊ฑฐ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ฝ๋ ์ปค๋ฒ๋ฆฌ์ง ๋ณด๊ณ ์๋ ํ ์คํธ์ ์กด์ฌ๋ฅผ, ์ ์ ๋ถ์ ๋ณด๊ณ ์๋ ์๋ ค์ง ์ทจ์ฝ์ ํจํด์ ๊ฒ์ฆ์, ๋ณต์ก์ฑ ๋ณด๊ณ ์๋ ๊ฒํ ์๊ฐ ์ฝ๋๋ฅผ ํฉ๋ฆฌ์ ์ผ๋ก ํ๊ฐํ ์ ์์์์ ๋ณด์ฌ์ค๋๋ค.
์ธ์ด๋ณ ์ฝ๋ ํ์ง ์งํ
ํ์ด์ฌ ์ฝ๋ ํ์ง ์งํ ๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ์ฐํ ์ ์์ต๋๋ค radon (์ํ ๋ณต์ก๋ ๋ฐ ์ ์ง๋ณด์์ฑ ์ง์) pylint (์ฝ๋ ๋์ ๋ฐ ์คํ์ผ ์๋ฐ) coverage.py (ํ
์คํธ ๋ฒ์) bandit (๋ณด์ ๋ฌธ์ ) mypy or pyright (ํ์
์ ํ์ฑ). ์ ์ง๋ณด์์ฑ ์ง์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. radon ํ์ด์ฌ์ ๋ง์ถฐ ์์ ๋ ํ ์คํ
๋ ๊ณต์์ ์ฌ์ฉํฉ๋๋ค. A๋ฑ๊ธ์ 20์ ์ด์, B๋ฑ๊ธ์ 10~20์ , C๋ฑ๊ธ์ 10์ ๋ฏธ๋ง์
๋๋ค.
RPG ์ฝ๋ ํ์ง IBM i ์์คํ ์์๋ ํ์ค ํ์ง ์ธก์ ๋๊ตฌ๊ฐ RPG ๊ตฌ๋ฌธ์ ๋ถ์ํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ ํน์ ๋๊ตฌ๊ฐ ํ์ํฉ๋๋ค. SMART TS XL ์ด ๊ธฐ๋ฅ์ RPG ํ๋ก๊ทธ๋จ์ ๋ํ ์ํ ๋ณต์ก๋, ์ฝ๋ ๋ผ์ธ ์ ๋ฐ ์ข ์์ฑ ๋ถ์์ ์ ๊ณตํ๋ฉฐ, ์ด๋ ํนํ ์ด์ ์๋ ํ์ง ์ธก์ ์ ์๋ํํ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํ๋ ๋๊ท๋ชจ ๋ ๊ฑฐ์ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌํ๋ IBM i ํ๊ฒฝ์ ๋งค์ฐ ์ ์ฉํฉ๋๋ค.
์ฝ๋ ๊ฒํ ์งํ
์ฝ๋ ๊ฒํ ๋ ๊ทธ ํจ๊ณผ๋ฅผ ์ธก์ ํ ์ ์๋ ํ์ง ๊ด๋ฆฌ ํ๋์ ๋๋ค.
- ์ ์ฉ ๋ฒ์ ๊ฒํ ์ปค๋ฐ๋ ์ฝ๋ ์ค ๋ณํฉ ์ ์ ๊ณต์์ ์ธ ๊ฒํ ๋ฅผ ๊ฑฐ์น ์ฝ๋์ ๋น์จ
- ๊ฒํ ๊ฒฐ๊ณผ ๋ฐ๊ฒฌ๋ ๊ฒฐํจ๊ฒํ ๊ณผ์ ์์ ๋ฐ๊ฒฌ๋ ๊ฒฐํจ ์์ ๊ฒํ ๋์ ๋ณ๊ฒฝ ์ธํธ์ ํฌ๊ธฐ ๋น์จ
- ๊ฒํ ์์ ์๊ฐ: ํ ๋ฆฌํ์คํธ๊ฐ ์์ฑ๋ ์์ ๋ถํฐ ๊ฒํ ๋ฐ ๋ณํฉ๋ ๋๊น์ง ๊ฑธ๋ฆฌ๋ ์๊ฐ
- ๋ฆฌ๋ทฐ ๋๊ธ ํด๊ฒฐ๋ฅ : ์ฝ๋ ๋ณ๊ฒฝ์ผ๋ก ์ด์ด์ง๋ ๋ฆฌ๋ทฐ ๋๊ธ์ ๋น์จ๊ณผ ๊ธฐ๊ฐ๋ ๋๊ธ์ ๋น์จ
์ผ๋ฐ์ ์ผ๋ก ์ฑ๊ณผ๊ฐ ์ฐ์ํ ํ์ 90% ์ด์์ ์ฝ๋ ๊ฒํ ์จ, ๊ฒํ 100์ค๋น ํ๊ท 1~3๊ฐ์ ๊ฒฐํจ ๋ฐ๊ฒฌ, ๊ทธ๋ฆฌ๊ณ ์งง์ ์ฒ๋ฆฌ ์๊ฐ์ ๋ณด์ ๋๋ค. ์ฝ๋ ๊ฒํ ์งํ๋ ์ฝ๋ ๊ฒํ ๊ฐ ํ์ง ๊ฒ์ฆ์ ์ญํ ์ ํ๋์ง ์๋๋ฉด ํ์์ ์ธ ์ ์ฐจ์ ๊ทธ์น๋์ง๋ฅผ ํ์ ํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
์ง์์ ์ธ ์ฝ๋ ํ์ง ๋ชจ๋ํฐ๋ง
์ผํ์ฑ ์ฝ๋ ํ์ง ์ธก์ ์ ์ง์์ ์ธ ๋ชจ๋ํฐ๋ง๋ณด๋ค ํจ์ฌ ๊ฐ์น๊ฐ ๋จ์ด์ง๋๋ค. ์ฝ๋ ํ์ง์ ์ฝ๋๋ฒ ์ด์ค์ ๊ณ ์ ๋ ์์ฑ์ด ์๋๋ผ ์ปค๋ฐํ ๋๋ง๋ค ๋ณํํฉ๋๋ค. ์ค๋๋ ํ์ง์ด ์ฐ์ํด ๋ณด์ด๋ ์ฝ๋๋ฒ ์ด์ค๋ผ๋ ํ์ง ์งํ๋ฅผ ์ง์์ ์ผ๋ก ์ถ์ ํ์ง ์์ผ๋ฉด ์ด๋ฐํ ๊ฐ๋ฐ ๊ณผ์ ์์ ์ธ ๋ฒ์ ์คํ๋ฆฐํธ ๋ง์ ํ์ง์ด ํฌ๊ฒ ์ ํ๋ ์ ์์ต๋๋ค.
ํจ๊ณผ์ ์ธ ์ง์์ ์ธ ์ฝ๋ ํ์ง ๋ชจ๋ํฐ๋ง์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
- ์ปค๋ฐ๋ณ ๋ฉํธ๋ฆญ ๊ณ์ฐ์ํ ๋ณต์ก๋ ๋ฐ ์ ์ ๋ถ์ ๊ฒฐ๊ณผ๋ ๋ชจ๋ ํธ์๋ง๋ค ๊ณ์ฐ๋ฉ๋๋ค.
- ํธ๋ ๋ ๋์๋ณด๋: ์ฃผ์ ์งํ์ ์๊ฐ ๊ฒฝ๊ณผ์ ๋ฐ๋ฅธ ์๊ฐ์ ํ์ (๋งค์ผ ๋๋ ๋ฆด๋ฆฌ์ค๋ณ๋ก ์ ๋ฐ์ดํธ๋จ)
- CI/CD์ ํ์ง ๊ฒ์ดํธ์ ์ง๋ณด์์ฑ, ๋ณด์ ๋ฐ ๊ฒฐํจ ์ํ์ ์ํฅ์ ๋ฏธ์น๋ ์งํ์ ๋ํ ์ต์ ์๊ณ๊ฐ์ ์๋ ์ ์ฉ
- ํ๊ท ๊ฐ์ง๋ฆด๋ฆฌ์ค ๊ฐ ๋ฉํธ๋ฆญ์ด ์๋ชป๋ ๋ฐฉํฅ์ผ๋ก ํฌ๊ฒ ๋ณ๋ํ ๊ฒฝ์ฐ ์๋ฆผ์ ๋ณด๋ ๋๋ค.
์ฝ๋ ํ์ง ๊ฐ์ ์ ์ฃผ์ ์งํ, ์ฆ ๋ค์ ๋ฆด๋ฆฌ์ค์์ ํ์ง์ด ์ข์์ง์ง ๋๋น ์ง์ง๋ฅผ ์์ธกํ๋ ์ ํธ๋ ์ฝ๋ ์ปค๋ฒ๋ฆฌ์ง ์ถ์ธ ๋ฐฉํฅ, ์คํ๋ฆฐํธ๋น ์๋ก ์ถ๊ฐ๋ ๋ณต์ก์ฑ, ๊ทธ๋ฆฌ๊ณ ํด๊ฒฐ๋ ์ฝ๋ ์ค๋ฉ๊ณผ ์๋ก ๋ฐ์ํ ์ฝ๋ ์ค๋ฉ์ ๋น์จ์ ๋๋ค. ์ด๋ฌํ ์งํ๋ค์ด ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ผ๋ก ์์ง์ด๋ฉด ํ์ง์ด ํฅ์๋ฉ๋๋ค. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ, ํ์ง ์ ํ๊ฐ ์์ ํ ๋ฐ์ํ๊ธฐ ์ ์ ์์ธกํ ์ ์์ต๋๋ค.
๋ฐฉ๋ฒ SMART TS XL ์ฝ๋ ํ์ง์ ์ธก์ ํ๊ณ ๊ฐ์ ํฉ๋๋ค.
SMART TS XL ์ด ๋๊ตฌ๋ ๊ฐ๋ฐ ํ๊ฒฝ์ ๋ชจ๋ ์ธ์ด ๋ฐ ํ๋ซํผ(COBOL, JCL, Java, .NET, Python, JavaScript, TypeScript, RPG, SQL ๋ฑ)์ ๊ฑธ์ณ ์ด ๋ฌธ์์ ์ค๋ช ๋ ๋ชจ๋ ์ฝ๋ ํ์ง ์งํ๋ฅผ ๊ณ์ฐํฉ๋๋ค. ๋๋ถ๋ถ์ ํ์ง ๋๊ตฌ๋ ํ ๋ฒ์ ํ๋์ ์ธ์ด๋ง ์ฒ๋ฆฌํ๋ ๋ฐ๋ฉด, SMART TS XL ์ด ๋๊ตฌ๋ ์ ์ฒด ์์คํ ์ ํตํฉ ํ์ง ๋ชจ๋ธ์ ๊ตฌ์ถํ์ฌ ์ธ์ด ๊ฐ ํ์ง ๋น๊ต, ํ์ผ ์์ค์ด ์๋ ์์คํ ์์ค์์ ์งํ ์ถ์ , ๋จ์ผ ์ธ์ด ๋๊ตฌ๋ก๋ ํ์ ํ ์ ์๋ ๊ตฌ์ฑ ์์ ๊ฐ ํ์ง ๋ฌธ์ ์๋ณ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
๋๊ท๋ชจ์ ๋ค๊ตญ์ด ์ฝ๋๋ฒ ์ด์ค๋ฅผ ๋ณด์ ํ ๊ธฐ์ ์กฐ์ง์ ๊ฒฝ์ฐ, ์ ์ ์ฝ๋ ๋ถ์ ๋ฅ๋ ฅ SMART TS XL ๊ธฐ์ ์ ์ค์ฌ, ๋ ๊ฑฐ์ ์์คํ ํ๋ํ ๊ณํ ๋ฐ ์ง์์ ์ธ ํ์ง ๊ฐ์ ์ ๋ชจ๋ ํ์ํ ๊ธฐ์ค ์ธก์ ๊ฐ์ ์ ๊ณตํฉ๋๋ค. ์ข ์์ฑ ๋งคํ ์ด ๊ธฐ๋ฅ์ ํ์ง ํ๊ฐ๋ฅผ ๊ตฌ์กฐ์ ๋ฌธ์ ๊น์ง ํ์ฅํฉ๋๋ค. ์ฆ, ์ด๋ค ๊ตฌ์ฑ ์์์ ๊ฐ์ฅ ๋ง์ด ์์กดํ๋์ง, ์ด๋ค ๋ณ๊ฒฝ ์ฌํญ์ด ๊ฐ์ฅ ํฐ ์ํฅ์ ๋ฏธ์น๋์ง, ํ์ง ์งํ์ ์์กด์ฑ ์ค์ฌ์ฑ์ ๊ฒฐํฉํ์ ๋ ์ฝ๋๋ฒ ์ด์ค์ ์ด๋ค ์์ญ์ด ์ ์ง ๊ด๋ฆฌ ์ํ์ด ๊ฐ์ฅ ๋์์ง ํ์ ํ ์ ์์ต๋๋ค.
SMART TS XL's์ ์ฝ๋ ํ์ง ๋ฉํธ๋ฆญ์ API๋ฅผ ํตํด DevOps ํ์ดํ๋ผ์ธ๊ณผ ํตํฉ๋์ด CI/CD ๊ณ์ธต์์ ํ์ง ๊ฒ์ดํธ๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค. ์ปค๋ฐ์์ ์ํ ๋ณต์ก๋๊ฐ ์๊ณ๊ฐ์ ์ด๊ณผํ๋ ํจ์๊ฐ ์ถ๊ฐ๋๊ฑฐ๋, ์ฝ๋ ์ปค๋ฒ๋ฆฌ์ง๊ฐ ๊ตฌ์ฑ๋ ์ต์๊ฐ ๋ฏธ๋ง์ผ๋ก ๊ฐ์ํ๊ฑฐ๋, ์ฌ๊ฐํ ์ ์ ๋ถ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ํ์ดํ๋ผ์ธ์ ๊ฐ๋ฐ์์๊ฒ ์ธก์ ๋ ๋ด์ฉ๊ณผ ์๊ณ๊ฐ์ ์ด๊ณผํ ์ด์ ๋ฅผ ์ ํํ๊ฒ ์๋ ค์ฃผ๋ ํน์ ์ง๋จ ๋ฉ์์ง์ ํจ๊ป ๋น๋๋ฅผ ์คํจ์ํฌ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ํ์ง ๊ด๋ฆฌ๊ฐ ๋ฆด๋ฆฌ์ค ํ ๊ฐ์ฌ์์ ๊ฐ๋ฐ ์ค ํผ๋๋ฐฑ์ผ๋ก ์ ํ๋์ด ํ์ง ๋ฌธ์ ๋ฅผ ๊ฐ์ฅ ์ ๋ ดํ๊ฒ ์์ ํ ์ ์๋ ์์ ์ ๋ฐ๊ฒฌํจ์ผ๋ก์จ ํ์ง ๋ฌธ์ ํด๊ฒฐ ๋น์ฉ์ ์ ๊ฐํ ์ ์์ต๋๋ค.
์ฝ๋ ํ์ง์ ๋ณด๊ณ ์๊ฐ ์๋๋ผ ํ์ ๊ท์จ์ ๋๋ค.
์ฝ๋ ํ์ง ์งํ์ ๊ฐ์น๋ ํ์ด ๊ทธ ์งํ๋ฅผ ์ด๋ป๊ฒ ํ์ฉํ๋์ง์ ๋ฐ๋ผ ๊ฒฐ์ ๋ฉ๋๋ค. ๋ถ๊ธฐ๋ณ ์ฝ๋ ํ์ง ๋ณด๊ณ ์๊ฐ ๋ฐํ๋๋๋ผ๋ ์๋ฌด๋ฐ ์กฐ์น๊ฐ ์ทจํด์ง์ง ์๋๋ค๋ฉด, ๋ณด๊ณ ์๊ฐ ์๋ ๊ฒ๋ณด๋ค ๋ ๋์ฉ๋๋ค. ์๋ํ๋ฉด ํ์ง ๊ด๋ฆฌ๊ฐ ์ด๋ฃจ์ด์ง๊ณ ์๋ค๋ ์ฐฉ๊ฐ์ ๋ถ๋ฌ์ผ์ผํค์ง๋ง, ์ฝ๋๋ฒ ์ด์ค๋ ๋ฐฉ์น๋ ์ฑ ์ ํ๋๊ธฐ ๋๋ฌธ์ ๋๋ค. ์งํ๋ ๊ตฌ์ฒด์ ์ธ ์กฐ์น๋ฅผ ์ ๋ํ ๋ ๋น๋ก์ ๊ฐ์น๋ฅผ ์ง๋๋๋ค. ์๋ฅผ ๋ค์ด, ์๋ก์ด ํจ์์์ ์ํ ๋ณต์ก๋๊ฐ ๊ธ์ฆํ๋ฉด ํด๋น ํจ์๊ฐ ๋ณํฉ๋๊ธฐ ์ ์ ๋ฆฌํฉํ ๋ง ๋ ผ์๊ฐ ์์๋๊ณ , ๋ชจ๋์ ์ฝ๋ ์ปค๋ฒ๋ฆฌ์ง๊ฐ ๋จ์ด์ง๋ฉด ํ ์คํธ ์คํ๋ฆฐํธ๊ฐ ์งํ๋๋ฉฐ, ํน์ ์ปดํฌ๋ํธ์์ ๊ฒฐํจ ๋ฐ๋๊ฐ ๋์์ง๋ฉด ํด๋น ์ปดํฌ๋ํธ์ ์ค๊ณ์ ๋ํ ๊ณต์์ ์ธ ๊ฒํ ๊ฐ ์ด๋ฃจ์ด์ง๋ ๊ฒฝ์ฐ์ฒ๋ผ ๋ง์ ๋๋ค.
๊ทธ๋ฌํ ๋ฌธํ๋ฅผ ๊ตฌ์ถํ๋ ค๋ฉด ์ ์ ํ ์์ , ์ฆ ๊ฐ๋ฐ ์ค์ ์งํ๋ฅผ ๊ณต๊ฐํ๊ณ ์ด๋ฅผ ๊ตฌ์ฒด์ ์ธ ํ ๋ชฉํ์ ์ฐ๊ฒฐํด์ผ ํฉ๋๋ค. ๋งค ์คํ๋ฆฐํธ ํ๊ณ ์์ ์ฝ๋ ํ์ง ์ถ์ธ๋ฅผ ๊ฒํ ํ๊ณ , ์๋ฃ ๊ธฐ์ค์ ํ์ง ์๊ณ๊ฐ์ ํฌํจํ๋ฉฐ, ์งํ ํ๋ฝ์ ๊ธฐ๋ฅ ํ๋ฝ๋งํผ ์ฌ๊ฐํ๊ฒ ๋ฐ์๋ค์ด๋ ํ์ ์ ์ง ๊ด๋ฆฌ ๋น์ฉ์ด ์ ๊ฒ ๋ค๊ณ ์ฅ๊ธฐ์ ์ผ๋ก ํ๋ก๋์ ํ๊ฒฝ์์ ๋ฐ์ํ๋ ์ฅ์ ๋ ์ ์ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ๊ตฌ์ถํ๊ฒ ๋ฉ๋๋ค. ์ธก์ ์ ์์์ ์ผ ๋ฟ์ด๋ฉฐ, ์ค์ฒ์ด ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค์ด๋ ๋๋ค.