๊ณผ์ ํ๊ฐํ ์ ๋ณด์ฒ๋ฆฌ์ฐ์ ๊ธฐ์ฌ ํ๊ธฐ์ ๋ฆฌ 9๊ณผ๋ชฉ - 2024๋
- ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ
- ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ํ์ฉ
- ์์ฉ SW ๊ธฐ์ด ๊ธฐ์ ํ์ฉ
- ํ๋ฉด ๊ตฌํ
- ์ ํ๋ฆฌ์ผ์ด์ ํ ์คํธ ์ํ
- SQL ํ์ฉ
- UI ํ ์คํธ
- ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์์ฉ
- ๊ฐ๋ฐ์ ํ๊ฒฝ ๊ตฌ์ถ
1. ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ
1. ์ ํ๋ฆฌ์ผ์ด์
๋ฐฐํฌํ๊ฒฝ ๊ตฌ์ฑํ๊ธฐ
๊ฐ. ์์ค์ฝ๋ ๋น๋ ๊ณผ์ ์ ์ดํด
1) ์ปดํ์ผ ์ธ์ด(C, C++ ๋ฑ) : ํ ๋ฒ์ ๊ธฐ๊ณ์ด๋ก ๋ณํํ๊ธฐ ๋๋ฌธ์ ์ปดํ์ผ(๋ฒ์ญ) ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ์ง๋ง ๋ฒ์ญ ํ ํ๋ก๊ทธ๋จ ์๋๊ฐ ๋น ๋ฅด๊ณ , ๋ณด์์ด ์ฐ์ํ๋ค.
2) Byte Code ์ธ์ด(Java, C# ๋ฑ) : ์ปดํ์ผ์ ๊ฒฐ๊ณผ๋ฌผ์ด ์คํํ์ผ์ด ์๋ 'class'๋ผ๋ ๋ฐ์ดํธ ์ฝ๋๋ก ํ์ผ์ ์์ฑํ์ฌ ๊ฐ์ ์คํํ๊ฒฝ์ธ JRE, CLI์์ ํ ์ค์ฉ ์คํํ๋ ๋ฐฉ์์ด๋ค.
3) ์ธํฐํ๋ฆฌํฐ ์ธ์ด(Javascript, Python, Ruby ๋ฑ) : ํ ์ค์ฉ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํ๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ๊ฒ ์๋ชจ๋์ด ์ปดํ์ผ(๋ฒ์ญ) ์๊ฐ์ ๋น ๋ฅด์ง๋ง ํ์ํ ๋๋ง๋ค ๋ฒ์ญํด์ผ ํ๋ฏ๋ก ํ๋ก๊ทธ๋จ ์๋๋ ๋จ์ด์ง๋ค.
๋. ์ ํ๋ฆฌ์ผ์ด์
๋ฐฐํฌ(Release) ํ๊ฒฝ
์ ํ๋ฆฌ์ผ์ด์
๋ฐฐํฌ๋ ๊ฐ๋ฐ์ ๋๋ ์ฌ์ฉ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์
์ ์คํ, ํ
์คํธํ ์ ์๋๋ก ์ปดํ์ผ๋ ํ๋ก๊ทธ๋จ, ์คํ์ ํ์ํ ๋ฆฌ์์ค(์ด๋ฏธ์ง, ํ๊ฒฝ์ค์ ํ์ผ ๋ฑ)๋ฅผ ์๋ฒ์์ ์ ํฉํ ์์น๋ก ์ด๋ํ๋ ์์
์ ๋งํ๋ค.
1) ์น ์๋ฒ(Web Server) : ์ฌ์ฉ์์ ์์ฒญ์๋ฃ(์ ์ ์ธ ๋ฐ์ดํฐ : html, ๊ทธ๋ฆผ, ๋์์ ๋ฑ)์ ๊ฒฐ๊ณผ๊ฐ์ ๋น ๋ฅด๊ณ ์์ ์ ์ผ๋ก ์ฒ๋ฆฌํ์ฌ ์ ๊ณตํ๋ค.
2) WAS(Web Application Server) : ์ฌ์ฉ์์ ์์ฒญ์๋ฃ(๋์ ์ธ ๋ฐ์ดํฐ : ์ฐ์ฐ, ํ
์ด๋ธ ๊ฒ์, ์ฝ์
, ์ญ์ ๋ฑ)์ ๊ฒฐ๊ด๊ฐ์ ๋น ๋ฅด๊ฒ ์์ ์ ์ผ๋ก ์ฒ๋ฆฌํ์ฌ ์ ๊ณตํ๋ค.
๋ค. ์ ํ๋ฆฌ์ผ์ด์
๋ฐฐํฌ ๋จ์
1) jar(Java Archive) : java ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๋ฆฌ์์ค, property ํ์ผ๋ค์ ํฌํจํ๋ค. ํ๋ก๊ทธ๋จ์์ ์ฐธ์กฐํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๊ตฌํ๋ ๋น์ฆ๋์ค ์๋น์ค๋ฅผ ๋ฐฐํฌํ ๋ jar ๋จ์๋ก ํจํค์งํ์ฌ ๋ฐฐํฌํ๋ค.
2) war(Web Archive) : ์น ์ผํ
์ด๋์ ๋ฐฐํฌ๋๋ ๋ฐฐํฌ ํ์์ผ๋ก Servlet, jar ํ์ผ๊ณผ WEB-INF ํด๋์ ์๋ web.xml ํ์ผ๋ก ๊ตฌ์ฑ๋๋ค. ์น ์ผํ
์ด๋์์ ๋ฐฐํฌ๋์ด ๋
๋ฆฝ์ ์ธ UI ๋ฐ ์น ์ ํ๋ฆฌ์ผ์ด์
์๋น์ค๋ฅผ ์ ๊ณตํ ์ ์๋ค.
3) ear(Enterprise Archive) : jar์ war์ ๋ฌถ์ด์ ํ๋์ ์์ฑ๋ ์น ์ ํ๋ฆฌ์ผ์ด์
์๋น์ค๋ฅผ ์ ๊ณตํ ์ ์๋ค.
๋ผ. ํ์๊ด๋ฆฌ(Configuration Management) ์์คํ
: ํ์๊ด๋ฆฌ(configuration management)๋ ํ์ํญ๋ชฉ์ ์๋ณํ์ฌ ๊ทธ ๊ธฐ๋ฅ์ , ๋ฌผ๋ฆฌ์ ํน์ฑ์ ๋ฌธ์ํํ๊ณ , ๊ทธ๋ฌํ ํน์ฑ์ ๋ณ๊ฒฝ, ์ ์ด, ์ฒ๋ฆฌ ์ํ๋ฅผ ๊ธฐ๋ก ๋ฐ ๋ณด๊ณ ํ๋ฉด์ ๋ช
์๋ ์๊ตฌ์ฌํญ์ ๋ถํฉํ๋์ง ํ์ธ ๋ฐ ๊ฐ๋
ํ๋ ํ๋์ ์๋ฏธํ๋ค.
2. ์ ํ๋ฆฌ์ผ์ด์
์์ค ๊ฒ์ฆํ๊ธฐ
๊ฐ. ์์ค์ฝ๋ ๊ฒ์ฆ๋๊ตฌ
1) ์ ์ ํ
์คํธ ๋๊ตฌ : ํ
์คํธํ๊ธฐ ์ ์ ์ฝ๋ฉ์ค๋ฅ, ์ฑ๋ฅ์ ํ, ๋ณด์ ์ทจ์ฝ์ ๋ฑ์ ๊ฒฐํจ์ ์กฐ๊ธฐ์ ๋ฐ๊ฒฌํ ์ ์๋๋ก ์ง์ํ๋ค. ์ด๋ ๊ฒ ํ์ฌ ํ๋ก๊ทธ๋จ ์์ฐ์ฑ ํฅ์๊ณผ ํ์งํฅ์์ ํ์ํ ๊ด๋ฆฌ ์์คํ
์ ๊ตฌ์ถํ๋ค.
2) ๋์ ํ
์คํธ ๋๊ตฌ : ํ
์คํธ ๋ฏธ์ํ ์ฝ๋๋ฅผ ํ์ธ ๋ฐ ์ฝ๋๊ตฌ์กฐ๊ฐ ์ถฉ๋ถํ ํ
์คํธ ๋์๋์ง ํ์ธํ์ฌ ์ ํ๋ฆฌ์ผ์ด์
์ ์์ ์ฑ์ ๋์ด๊ธฐ ์ํ ๊ด๋ฆฌ ์์คํ
์ ๊ตฌ์ถํ๋ค.
๋. ์ฝ๋ ์ธ์คํ์
: ์ฝ๋ ์ธ์คํ์
์ ์ ์ ํ
์คํธ์ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์ ํ์ผ๋ก, ์ฌ์ ์ ์ ์๋ ์ฝ๋ ์์ฑ ๊ท์นRule) ๊ธฐ๋ฐ์ผ๋ก ์์ค์ฝ๋๋ฅผ ์ ๊ฒํ์ฌ ์์ฑ ๊ท์น์ ์๋ฐ๋๋ ์์ค์ฝ๋๋ฅผ ์ถ์ถํ์ฌ ์ ๊ฒํ๋ค.
1) ์ฝ๋ ์ธ์คํ์
Rule ์ ํ 3๊ฐ์งโ
๊ฐ) ์ฑ๋ฅ๊ฐ์
๋) ์ฝ๋ ์์ฑ ๊ท์น
๋ค) ์๋ฌ ๋ฐ์ ๊ฐ๋ฅ์ฑ
2) ์ ๊ท ํํ์ : ์ ๊ท ํํ์์ ํน์ ํ ๊ท์น์ ๊ฐ์ง ๋ฌธ์์ด์ ์งํฉ์ ํํํ๋ ๋ฒ์ฉ์ ์ธ ๋ฐฉ์์ ๋งํ๋ค. ์ฝ๋ ์ธ์คํ์
๋๊ตฌ์ ์ฝ๋ ์์ฑ ๊ท์น์ ์ผ๋ฐ์ ์ผ๋ก ์ ๊ท์์ผ๋ก ํํ๋๋ฉฐ, ์ ๊ท์์ ๋ด์ฉ์ ์์ ํด์ ์ ๊ฒ Rule์ ๋ด์ฉ์ ์์ ํ ์ ์๋ค.
๋. ํ
์คํธ ํ๋ ์์ํฌ(๋์ ๋ถ์ ๋๊ตฌ)์ ๊ตฌ์ฑ : ํ
์คํธ ํ๋ ์์ํฌ๋ ํ
์คํธ ์ผ์ด์ค๋ฅผ ๋ณ๋์ ํ
์คํธ ์ฝ๋๋ก ์์ฑํ๊ณ ๋์์ํฌ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณตํ๋ ๋๊ตฌ๋ก, ๊ฐ๋ฐ์์ ๋ฐ๋ณต์ ์ด๊ณ ์๊ฐ์ด ๋ง์ด ์์๋๋ ํ
์คํธ ์์
์ ์๋ํํ์ฌ ํ
์คํธ์ ์์๋๋ ์๊ฐ๊ณผ ๋
ธ๋ ฅ์ ์ ๊ฐํ ์ ์๊ฒ ํ๋ค.
3. ์ ํ๋ฆฌ์ผ์ด์
๋น๋ํ๊ธฐ
๊ฐ. ์ง์์ ์ธ ํตํฉ(CI: Continuous Integration) ํ๊ฒฝ : ์ ํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ ๊ณผ์ ์ค ์ง์์ ์ผ๋ก ๊ฐ๋ฐ๋ ํ๋ก๊ทธ๋จ์ ํตํฉ, ๋น๋, ๋ฐฐํฌํ์ฌ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐ ๋ด์ญ์ ๊ฒ์ฆ, ํ
์คํธํ ์ ์๋ ํ๊ฒฝ์ ๋งํ๋ค.
๋. ํ
์คํธ ์ปค๋ฒ๋ฆฌ์ง : ํ
์คํธ ์ปค๋ฒ๋ฆฌ์ง๋ ์ ์ฒด ํ๋ก๊ทธ๋จ์ ๋ฒ์ ๋๋น ํ
์คํธ ์ํ ์ ํด๋น ํ
์คํธ ์ํ์ ์ํด ๋์๋ ํ๋ก๊ทธ๋จ์ ๋ฒ์ ๋น์จ์ ์๋ฏธํ๋ค.
๋ค. ๋น๋ ์ค์ผ์ค ๊ด๋ฆฌ๋๊ตฌ : ๋น๋ ์ค์ผ์ค ๊ด๋ฆฌ๋๊ตฌ๋ ๋ณ๋์ ์น ์ ํ๋ฆฌ์ผ์ด์
์ผ๋ก ๊ตฌ์ฑ๋์ด ์น ์๋ฒ์์ ๋ฐฐํฌ๋๊ณ , ์ด๋ฉ์ผ์ ํตํด์ ๊ด๋ จ ๊ฐ๋ฐ์, ๊ด๋ฆฌ์๋ค์๊ฒ ๋น๋ ์ํ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตโํ๋ค.
4. ์ ํ๋ฆฌ์ผ์ด์
๋ฐฐํฌํ๊ธฐ : ์ ํ๋ฆฌ์ผ์ด์
๋ฐฐํฌ ์ ์ฌ์ ์ ๋ถํ์ํ ์์ค์ฝ๋, ์์
ํ์ผ, ๋ฐฑ์
ํ์ผ ๋ฑ์ ๋ฐ๋์ ์ ๋นํ์ฌ ์์ ์ ์ผ๋ก ๋ฐฐํฌํ ์ ์๋๋ก ํ๋ค.
2. ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ํ์ฉ
1. ๊ธฐ๋ณธ ๋ฌธ๋ฒ ํ์ฉํ๊ธฐ
๊ฐ. ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ณธ ๋ฌธ๋ฒ
1) ๋นํธ : ๋นํธ๋ ์ปดํจํฐ๋ฅผ ์ดํดํ๊ธฐ ์ํ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์ฉ์ด๋ก, Binary Digit์ ์ฝ์นญ์ด๋ค. 0๊ณผ 1๋ก๋ง ๊ตฌ์ฑ๋ ์ด์ง๋ฒ(ex. 101001)์ ์ด์ฉํ๋ค.
[ ๋จ์ : bit - byte - KB(ํฌ๋ก) - MB(๋ฉ๊ฐ) - GB(๊ธฐ๊ฐ) - TB(ํ
๋ผ) - PB(ํํ) - EB(์์ฌ) ]
2) ์ปดํจํฐ ์์คํ
๊ตฌ์กฐ
๊ฐ) ์
๋ ฅ์ฅ์น
๋) ๊ธฐ์ต์ฅ์น
๋ค) ์ค์์ฒ๋ฆฌ์ฅ์น
๋ผ) ์ถ๋ ฅ์ฅ์น
3) ๋ช
๋ น์ด(Instruction) ํ์
๊ฐ) ์ฐ์ฐ์ฝ๋(OP-Code) : ์ปดํจํฐ๊ฐ ์ํํ ๋ช
๋ น์ด๋ฅผ ๋งํ๋ค.
๋) ์คํผ๋๋(Operand) : ์ฐ์ฐ์ฝ๋์ ๋ช
๋ น์ ์ํํ๊ธฐ ์ํด ํ์ํ ์๋ฃ๋ฅผ ๋งํ๋ค.
4) ์๋ฃ๊ตฌ์กฐ : ์๋ฃ ๊ตฌ์กฐ๋ ์ปดํจํฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์
, ์ญ์ , ์์ ํ๊ฒ ํด ์ฃผ๋ ๋
ผ๋ฆฌ์ ์ธ ๊ณต๊ฐ ๊ตฌ์กฐโ๋ฅผ ์๋ฏธํ๋ฉฐ, ์๋ฃ์ ํํ์ ๋ฐ๋ผ ๋จ์ ๊ตฌ์กฐ, ์ ํ ๊ตฌ์กฐ, ๋น์ ํ ๊ตฌ์กฐ, ํ์ผ ๊ตฌ์กฐ๋ก ๋ถ๋ฅํ ์ ์๋ค.
๊ฐ) ๋จ์ ๊ตฌ์กฐ : ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ์ ๊ณตํ๋ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ํ์
(ex. Int, float, double, char ๋ฑ)
๋) ์ ํ ๊ตฌ์กฐ : ์๋ฃ๋ค ์ฌ์ด์ ์ ํ ๊ด๊ณ๊ฐ ์ผ๋์ผ ๊ตฌ์กฐ (ex. ์ฐ๊ฒฐ ์๋ฃ ๊ตฌ์กฐ, ์์ฐจ ์๋ฃ ๊ตฌ์กฐ, ์คํ, ํ ๋ฑ)
๋ค) ๋น์ ํ ๊ตฌ์กฐ : ์๋ฃ๋ค ์ฌ์ด์ ์ ํ ๊ด๊ณ๊ฐ ๊ณ์ธต ๋๋ ๊ทธ๋ฌผ ํํ๋ฅผ ๊ฐ์ง๋ ๊ตฌ์กฐ (ex. ํธ๋ฆฌ, ๊ทธ๋ํ ๋ฑ)
๋ผ) ํ์ผ ๊ตฌ์กฐ : ๋ณด์กฐ ๊ธฐ์ต ์ฅ์น์ ๋ฐ์ดํฐ๊ฐ์ด ์ค์ ๋ก ๊ธฐ๋ก๋๋ ์๋ฃ ๊ตฌ์กฐ (ex. ์์ฐจ ํ์ผ, ์์ธ ํ์ผ ๋ฑ)
5) ์๊ณ ๋ฆฌ์ฆ : ์๊ณ ๋ฆฌ์ฆ์ ๋์ ์๋ฏธ์์ ์๋ฃ ๊ตฌ์กฐ์ ํจ๊ป ํ๋ก๊ทธ๋จ์ ๊ตฌ์ฑํ๋ ์์๋ฅผ ์๋ฏธํ๋ฉฐ, ์ข์ ์๋ฏธ์์๋ ์ด๋ค ๋ฌธ์ ์ ๋ํ ๋ต์ ์ฐพ๋ ํด๋ฒ์ ์๋ฏธํ๋ค.
๊ฐ) ์
๋ ฅ : ์ธ๋ถ๋ก๋ถํฐ ์
๋ ฅ๋๋ ์๋ฃ๊ฐ 0๊ฐ ์ด์์ด์ด์ผ ํ๋ค.
๋) ์ถ๋ ฅ : ์ถ๋ ฅ๋๋ ๊ฒฐ๊ณผ๊ฐ 1๊ฐ ์ด์์ด์ด์ผ ํ๋ค.
๋ค) ๋ช
ํ์ฑ : ๊ฐ ๋ช
๋ น์ด์ ์๋ฏธ๊ฐ ๋ช
ํํ์ฌ์ผ ํ๋ค.
๋ผ) ์ ํ์ฑ : ์ ํด์ง ๋จ๊ณ๋ฅผ ์ง๋๋ฉด ์ข
๋ฃ๋์ด์ผ ํ๋ค.
๋ง) ์ ํจ์ฑ : ๋ชจ๋ ๋ช
๋ น์ ์คํ์ด ๊ฐ๋ฅํ ์ฐ์ฐ๋ค์ด์ด์ผ ํ๋ค.
6) ๊ธฐํ ์ฉ์ด
๊ฐ) ๋ณ์ : ์ด๋ค ๊ฐ์ ์ฃผ๊ธฐ์ต ์ฅ์น์ ๊ธฐ์ตํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ ๊ณต๊ฐ์ ์๋ฏธํ๋ค.
๋) ์๋ณ์ : ํ๋ก๊ทธ๋จ์ ๊ตฌ์ฑ ์์๋ฅผ ๊ตฌ๋ณํ๊ธฐ ์ํ ๊ธฐ์ค์ผ๋ก, ๋ณ์๋ช
์ด ์๋ณ์์ ์ํ๋ค.
๋ค) ๋ฐ์ธ๋ฉ : ๋ณ์์ ๋ณ์์ ๊ด๋ จ๋ ์์ฑ์ ์ฐ๊ฒฐํ๋ ๊ณผ์ ์ผ๋ก, ์ ์ ๋ฐ์ธ๋ฉ๊ณผ ๋์ ๋ฐ์ธ๋ฉ์ผ๋ก ๊ตฌ๋ถ๋๋ค.
1) ์ ์ ๋ฐ์ธ๋ฉ: ํ๋ก๊ทธ๋จ ์คํ ์๊ฐ ์ ์ ์์ฑ์ ์ฐ๊ฒฐํ๋ ๋ฐฉ์์ด๋ค.
2) ๋์ ๋ฐ์ธ๋ฉ: ํ๋ก๊ทธ๋จ ์คํ ์๊ฐโ์ ์์ฑ์ ์ฐ๊ฒฐํ๋ ๋ฐฉ์์ด๋ค.
๋ผ) ์ ์ธ : ๋ณ์์ ์ด๋ฆ, ๋ฐ์ดํฐ ํ์
๋ฑ์ ์์ฑ์ ๋ถ์ฌํ๋ ์์
์ผ๋ก, ๋ช
์์ ์ ์ธ๊ณผ ๋ฌต์์ ์ ์ธ์ผ๋ก ๊ตฌ๋ถ๋๋ค.
1) ๋ช
์์ ์ ์ธ : ์ ์ธ๋ฌธ์ ์ด์ฉํ์ฌ ๋ณ์ ์ด๋ฆ์ ๋์ดํ๊ณ ์์ฑ์ ๋ถ์ฌํ๋ ๋ฐฉ์์ด๋ค.
2) ๋ฌต์์ ์ ์ธ : ๋ณ๋์ ์ ์ธ๋ฌธ ์์ด ๋ํดํธ ๊ท์น์ ์ํด ์์ฑ์ด ๋ถ์ฌ๋๋ ๋ฐฉ์์ด๋ค.
๋ง) ์์ญ : ์ด๋ฆ์ด ์ฌ์ฉ๋๋ ๋ฒ์๋ฅผ ์๋ฏธํ๋ฉฐ, ์ ์ ์์ญ๊ณผ ๋์ ์์ญ์ผ๋ก ๊ตฌ๋ถ๋๋ค.
1) ์ ์ ์์ญ : ๋ณ์๋ฅผ ์ฐพ์ ๋ ๊ตฌ์กฐ์ ๊ธฐ๋ฐํ๋ ๋ฐฉ์์ด๋ค.
2) ๋์ ์์ญ : ๋ณ์๋ฅผ ์ฐพ์ ๋ ๊ตฌ์กฐ๋ณด๋ค๋ ์์์ ๊ธฐ๋ฐํ๋ ๋ฐฉ์์ด๋ค.
๋ฐ) ํ ๋น : ๋ณ์์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ฐ์ธ๋ฉํ๋ ์์
์ ์๋ฏธํ๋ค.
์ฌ) ๋ฐ์ดํฐ ํ์
: ๋ณ์๊ฐ ๊ฐ์ง ์ ์๋ ์์ฑ๊ฐ์ ๊ธธ์ด ๋ฐ ์ฑ์ง์ ์๋ฏธํ๋ค.
์) ์ฐ์ฐ์: ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ์ํด ์ฐ์ฐ์ ํํํ๋ ๊ธฐํธ๋ก +, - ๋ฑ๊ณผ ๊ฐ์ ์ฐ์ฐ์๋ฅผ ํฌํจํ๋ค.
์) ๋ช
๋ น๋ฌธ: ํ๋ก๊ทธ๋จ์ ๊ตฌ์ฑํ๋ ๋ฌธ์ฅ์ผ๋ก, ์ง์ ์ฌํญ์ ์ฒ๋ฆฌํ๋ ๋จ์๋ฅผ ์๋ฏธํ๋ค.
๋. ์ฐ์ฐ์์ ๋ช
๋ น๋ฌธ ํ์ฉ
1) ์ฐ์ฐ์
๊ฐ) ์ฐ์ ์ฐ์ฐ์ : +, -, *, /, %
๋) ์ํํธ ์ฐ์ฐ์ : <<, >>
๋ค) ๊ด๊ณ ์ฐ์ฐ์ : >, <, >=, <+, ==, !=
๋ผ) ๋
ผ๋ฆฌ ์ฐ์ฐ์ : &&, ||โ
๋ง) ๋นํธ ์ฐ์ฐ์ : &, |, ^(XORโ)
2) ๋ช
๋ น๋ฌธ
๊ฐ) ์กฐ๊ฑด๋ฌธ : IF, case/switch
๋) ๋ฐ๋ณต๋ฌธ : while, for, do~while
๋ค. ์ฌ์ฉ์ ์ ์ ์๋ฃํ ํ์ฉ
1) ์ด๊ฑฐํ(enum) : ์ฐ์์ ์ธ ๊ฐ์ด ๋ค์ด๊ฐ๋ ์๋ฃํ์ผ๋ก ํน์ ๊ฐ์ ๋ฃ์ด ์ฃผ์ง ์์ผ๋ฉด 1์ฉ ๋์ด๋๊ธฐ ๋๋ฌธ์ ์์ ๋ฐฐ์ด์ด๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ๋ค.
2) ๊ตฌ์กฐ์ฒด(struct) : ๋ฉค๋ฒ ๋ณ์๋ฅผ ์ฌ์ฉํ๋ ์๋ฃํ์ผ๋ก ๋ด๋ถ์ ๋ฉค๋ฒ ๋ณ์ ์๋ฃํ์ ๋ง์๋๋ก ์ ์ธโํ ์ ์๋ค.
3) ๊ณต์ฉ์ฒด(union) : ๊ตฌ์กฐ์ฒด์ ๊ฑฐ์ ์ ์ฌํ๋ ๋ฒ์ฃผ๊ฐ ๋ ํฌ๋ค๊ณ ๋ณผ ์ ์์ผ๋ฉฐ, ๊ตฌ์กฐ์ฒด๋ฅผ ๋ฉค๋ฒ๋ก ์ฌ์ฉํ ์ ์๋ค.
๋ผ. ์ถ์ํ์ ์์
1) ์ถ์ํ : ๋ณต์กํ ๋ฌธ์ ์ ๋ณธ์ง์ ์ดํดํ๊ธฐ ์ํด ์ธ๋ถ ์ฌํญ์ ๋ฐฐ์ ํ๊ณ , ์ค์ํ ๋ถ๋ถ์ ์ค์ฌ์ผ๋ก ๊ฐ๋ตํ ๊ธฐ๋ฒ
2) ์์์ฑ : ์์ ์์ค ๊ทธ๋ฃน์ ๋ชจ๋ ํน์ฑ์ ํ์ ์์ค ๊ทธ๋ฃน์ด ์ด์ด๋ฐ์ ์ฌ์ฌ์ฉ ๋๋ ํ์ฅ์ฑ์ ๋์ด๋ ๊ธฐ๋ฒโ
2. ํ๋ก๊ทธ๋จ ์ธ์ด ํน์ฑ
๊ฐ. ํ๋ก๊ทธ๋จ ์ธ์ด์ ์ข
๋ฅ
1) C : UNIX ์ด์์ฒด์ ๊ตฌํ์ ์ฌ์ฉ๋๋ ์ธ์ดโ์ด๋ฉฐ, ๋ฌธ๋ฒ์ ๊ฐ๊ฒฐ์ฑ, ํจ์จ์ ์คํ, ํฌ์ธํฐ ํ์
์ ๊ณต์ด๋ผ๋ ํน์ง์ผ๋ก ์์คํ
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ง์ด ์ฌ์ฉ๋๊ณ ์๋ค.
2) c++ : C ์ธ์ด๋ฅผ ๋ฐ์ ์ํจ ์ธ์ดโ๋ก ํด๋์ค, ์์ ๋ฑ์ ์ ๊ณตํ๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๋ค. ๋ํ ํ๋ก์ ํธ ์ํ ์ ๋ชจ๋๋ณ ๋ถ๋ฆฌ๊ฐ ๊ฐ๋ฅํ์ฌ ๊ฐ๋ฐ๊ณผ ์ ์ง ๊ด๋ฆฌ์ ์ ํฉํ๋ค.
3) JAVA : C++์ ๋นํด ๋จ์ํ๊ณ ๋ถ์ฐ ํ๊ฒฝ ๋ฐ ๋ณด์์ฑ์ ์ง์ํ๋ค. JAVA ์ธ์ด๋ ์ปดํ์ผ์ ๊ฑฐ์ณ์ผ ํ๋ฉฐ, ์ปดํ์ผ์ ํตํด ์์ฑ๋ class ํ์ผ์ ๊ฐ์ ๋จธ์ ์ ํตํด ์คํํ์ฌ์ผ ํ๋ค
4) JAVASCRIPT : ์คํฌ๋ฆฝํธ ์ธ์ด๋ก ๋น ๋ฅธ ์๊ฐ์ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๊ณ , ํ์ฅ์ฑ์ด ์ข์ ๋ฐฐ์ฐ๊ธฐ ์ฝ๋ค๋ ์ฅ์ ์ด ์์ผ๋, ๋ณด์์ด๋ ์ฑ๋ฅ์ด ๋ค๋ฅธ ์ธ์ด์ ๋นํ์ฌ ๋ถ์กฑํ๋ค๋ ๋จ์ ์ด ์๋ค.
5) PERL : ํ
์คํธ ์ฒ๋ฆฌ์ ์ฃผ์์ ์ ๋๊ณ ๊ฐ๋ฐ๋ ์ธํฐํ๋ฆฌํฐ ์ธ์ดโ๋ก CGI์ฉ์ผ๋ก๋ ๋ง์ด ์ฌ์ฉ๋๋ค. ๋ณ์๋ฅผ ๋ช
์์ ์ผ๋ก ์ ์ธํ ํ์๊ฐ ์์ผ๋ฉฐ, ์ง์ ๋์ง ์์ ๋ณ์๋ ๋ชจ๋ ๊ธฐ๋ณธ ์ด๊ธฐ๊ฐ์ ๊ฐ์ง๋ค.
6) PYTHON : PERL์ฒ๋ผ ์ธํฐํ๋ฆฐํฐ ์ธ์ด๋ก์ ๋ฐฐ์ฐ๊ธฐ ์ฝ๊ณ ์ด์์ฑ์ด ์ข์ ์ธ์ด๋ก ์ต๊ทผ์ ๋ง์ด ์ฌ์ฉ๋๊ณ ์๋ค. ๋ค์ํ ํจ์๋ค๋ ๋ง์ด ์ ๊ณต๋์ด ์คํํธ์
๊ณผ ๊ธ๋ก๋ฒ ๊ธฐ์
์์๋ ๋ง์ด ์ฌ์ฉํ๋ค
7) GOLANG : Google์์ ๋ง๋ ์ธ์ด๋ก ์งง๊ฒ GO๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค.โ C ์ธ์ด์ ์ง์ ์ ์ธ ์ฐ๊ด์ ๊ฐ์ง๋ฉฐ, ๋ด์ฅ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ง์ด ์ง์ํ๊ณ ์๋ค. ํ๋์จ์ด ์ฌ์์ด ๋ฎ๋๋ผ๋ ๋น ๋ฅธ ์ปดํ์ผ์ด ๊ฐ๋ฅํ๋ค๋ ํน์ง์ ๊ฐ์ง๋ค.
8) DART : JAVASCRIPT์ JAVA์ ์ํฅ์ ๋ฐ์ ๊ฐ๋ฐ๋ ๊ฐ์ฒด ์งํฅ์ ์ธ ์ธ์ด์ด๋ค. ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์๋ํ๋ค๋ ์ ์์ JAVASCRIPT์ ์ฐจ์ด๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, JAVASCRIPT์ ์ ์ฌํ๋ ๋จ์ํํ์๋ค. ๋ณ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น ์์ด HTML ํ์ด์ง๋ฅผ ์์ ํ ์ ์๋ค๋ ํน์ง์ ๊ฐ์ง๋ค.
๋. ํ๋ก๊ทธ๋จ ์ธ์ด์ ๋ถ๋ฅ
1) ๊ฐ๋ฐ ํธ์์ฑ์ ๋ฐ๋ฅธ ๋ถ๋ฅ
๊ฐ) ์ ๊ธ์ธ์ด : ๊ธฐ๊ณ๊ฐ ์ดํดํ ์ ์๋๋ก ๋ง๋ค์ด์ง ์ธ์ด (๊ธฐ๊ณ์ด, ์ด์
๋ธ๋ฆฌ์ด ๋ฑ)
๋) ๊ณ ๊ธ์ธ์ด : ๊ฐ๋ฐ์๊ฐ ์ฝ๊ฒ ์ดํดํ ์ ์๋๋ก ์์ฑ๋ ์ธ์ด (C, C++, JAVA ๋ฑ)
2) ์คํ ๋ฐฉ์์ ๋ฐ๋ฅธ ๋ถ๋ฅ
๊ฐ) ๋ช
๋ นํ ์ธ์ด : ์ ์ฐจ ์งํฅํ ์ธ์ด๋ก ์ ์ฅ๋ ๋ช
๋ น์ด๋ค์ ์์ฐจ์ ์ผ๋ก ์คํ (FORTRAN, COBOL, PASCAL, C)
๋) ํจ์ํ ์ธ์ด : ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ง ํจ์๋ฅผ ํธ์ถํ์ฌ ์คํ (LISP)
๋ค) ๋
ผ๋ฆฌํ ์ธ์ด : ์กฐ๊ฑด์ด ๋ง์กฑ๋๋ฉด ์ฐ๊ด๋ ๊ท์น์ ์คํํ๋ ๊ตฌ์กฐ (PROLOG)
๋ผ) ๊ฐ์ฒด ์งํฅ ์ธ์ด : ๊ฐ์ฒด ๊ฐ์ ๋ฉ์์ง ํต์ ์ ์ด์ฉํ์ฌ ์คํ (JAVA, C++)
โป ๊ตฌ์ฑ์์
(1) ๊ฐ์ฒด(Object) : ํด๋์ค๋ก ๋ถํฐ ๋ง๋ค์ด์ง ์ธ์คํด์ค
(2) ํด๋์ค(Class) : ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ํ
(3) ๋ฉ์๋(Method) : ๊ฐ์ฒด๋ฅผ ์คํ(์์ง์ด๊ฒ)ํ๊ธฐ ์ํ ํธ์ถ๋จ์
(4) ์์ฑ(Attribute) : ์๋ฃ๋ฅผ ์ ์ฅํ๋ ์์ ๋จ์
(5) ๋ฉ์์ง(Message) : ๊ฐ์ฒด ๊ฐ์ ํต์
3) ๊ตฌํ ๊ธฐ๋ฒ์ ๋ฐ๋ฅธ ๋ถ๋ฅ
๊ฐ) ์ปดํ์ผ ๋ฐฉ์ : ๊ณ ๊ธ์ธ์ด๋ฅผ ๊ธฐ๊ณ์ด๋ก ํ๋ฒ์ ๋ฒ์ญํ๋ ๋ฐฉ์โ์ ์ธ์ด (PASCAL, C, C++)
๋) ์ธํฐํ๋ฆฌํฐ ๋ฐฉ์ : ๊ณ ๊ธ์ธ์ด๋ฅผ ๊ธฐ๊ณ์ด๋ก ํ์ค์ฉ ๋ฒ์ญํ๋ ๋ฐฉ์์ ์ธ์ด (PROLOG, LISP, JAVASCRIPT)
๋ค) ํผํฉํ ๋ฐฉ์ : ๊ณ ๊ธ์ธ์ด๋ฅผ ์ค๊ฐ์ธ์ด๋ก ๋ณํํ ํ ์ธํฐํ๋ฆฌํฐ์ ์ํด ๋ฒ์ญํ๋ ๋ฐฉ์์ ์ธ์ด(JAVA)
3. ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ฉํ๊ธฐ
๊ฐ. ๋ผ์ด๋ธ๋ฌ๋ฆฌ(Library) : ํจ์จ์ ์ธ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์ ์ํด ํ์ํ ํ๋ก๊ทธ๋จ์ ๋ชจ์ ๋์ ์งํฉ์ฒด๋ก์, ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ฐ๋ผ ์ผ๋ฐ์ ์ผ๋ก ๋์๋ง, ์ค์น ํ์ผ, ์ํ ์ฝ๋ ๋ฑ์ ์ ๊ณตํ๋ค.
๋. ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ํ
1) ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ : ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ง๊ณ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์๋ฏธํ๋ค
2) ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ : ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฌ๋ฆฌ ๋ณ๋์ ํ์ผ์ ์ค์นํ์ฌ์ผ ํ๋ค.
3) ๋ชจ๋(Module)๊ณผ ํจํค์ง(Package) : ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ชจ๋๊ณผ ํจํค์ง๋ฅผ ์ด์นญํ๋ฉฐ, ๋ชจ๋์ด ๊ฐ๋ณ ํ์ผ์ด๋ผ๋ฉด ํจํค์ง๋ ํ์ผ๋ค์ ๋ชจ์ ๋์ ํด๋๋ผ๊ณ ๋ณผ ์ ์๋ค.
3. ์์ฉ SW ๊ธฐ์ด ๊ธฐ์ ํ์ฉ
1. ์ด์์ฒด์
๊ฐ. ์ด์์ฒด์ ์ ์ : ์ด์์ฒด์ ๋ ์ฌ์ฉ์๋ก ํ์ฌ๊ธ ์ปดํจํฐ์ ํ๋์จ์ด๋ฅผ ๋ณด๋ค ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํด ์ฃผ๋ ์ํํธ์จ์ด์ด๋ค.
๋. ์ด์์ฒด์ ์ ์ข
๋ฅ
1) ์๋์ฐ : ๋ง์ดํฌ๋ก์ํํธ์ฌ์์ ๊ฐ๋ฐํ ์ ํ์ผ๋ก GUI(Graphic User Interface)์ Multitasking ๊ธฐ๋ฐ์ผ๋ก ์ผ๋ฐ ์ฌ์ฉ์๋ค์ด ๋ณด๋ค ํธ๋ฆฌํ๊ฒ ํ๋์จ์ด๋ฅผ ์กฐ์ํ๊ณ , ํ์ฉํ ์ ์๋๋ก ์ง์ํด์ฃผ๋ ์ํํธ์จ์ด์ด๋ค.
2) ๋งฅ OS : ์ ํ์ฌ์์ ๊ฐ๋ฐํ ์ ํ์ผ๋ก ๋ค์ํ GUI ๊ธฐ์ ์ ํ์ฉํ์ฌ ์ฌ์ฉ์์ ํธ์์ฑ๋ฟ๋ง ์๋๋ผ ๊ทธ๋ํฝ๊ณผ ๋์์ธ ๋ถ๋ถ์ ๋ง์ ์๊ฐ๊ณผ ๋
ธ๋ ฅ์ ๊ธฐ์ธ์ฌ ๋ง๋ค์ด์ง ์ํํธ์จ์ด์ด๋ค.
3) ์ ๋์ค / ๋ฆฌ๋
์ค : ์ผ๋ฐ์ฌ์ฉ์๋ค์ด ํ์ฉํ๊ณ ์๋ ํด๋ผ์ด์ธํธ ์ปดํจํฐ๋ค์๊ฒ ํน์ ํ ์๋น์ค์ ์ ๋ณด๋ฅผ ์ ๊ณตํด์ฃผ๋ ์๋ฒ์ฉ ์ปดํจํฐ ์ด์์ฒด์ ๋ก ๋ง์ด ์ฌ์ฉ๋๊ณ ์์ผ๋ฉฐ, ํธ๋ฆฌํจ๋ณด๋ค๋ ์์ ์ฑ๊ณผ Multitasking์ ์ฃผ์์ ์ ๋๊ณ ์๋ค. (์ ๋์ค์ ๋ฌ๋ฆฌ ๋ฆฌ๋
์ค์ ๊ฐ์ ์ ์คํ ์์ค์ด๊ธฐ ๋๋ฌธ์ ๋๊ตฌ๋ ์ฌ์ฉ์ด ๊ฐ๋ฅํจ.)
๋ค. ๋ช
๋ น์ด ์ธํฐํ์ด์ค
1) CLI (Command Line Interface) : ์ฌ์ฉ์๊ฐ ์ง์ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ์ฌ ์ปดํจํฐ์๊ฒ ๋ช
๋ น์ ๋ด๋ฆฌ๋ ๋ฐฉ์
2) GUI (Graphic User Interface) : ๋ง์ฐ์ค๋ก ํ๋ฉด์ ํด๋ฆญํ์ฌ ์ปดํจํฐ๋ฅผ ์ ์ดํ๋ ๋ฐฉ์
๋ผ. ์ด์์ฒด์ ์ ๊ด๋ฆฌ๋์
1) ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ : ํ๋ก๊ทธ๋จ ์คํ ์ค ๋ฉ๋ชจ๋ฆฌ๊ฐ ๊ฝ ์ฐจ๊ฒ ๋๋ฉด ์์คํ
์ ์๋๊ฐ ๋๋ ค์ง๊ณ ๋๋ก๋ ์์คํ
์ด ๋ฉ์ถ๋ ํ์์ด ๋ฐ์ํ๋ค. ๋ฐ๋ผ์ ํ๋ก๊ทธ๋จ์ ์คํ์ด ์ข
๋ฃ๋ ๋๊น์ง ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฐ์ฉํ ์ํ๋ก ์ ์ง ๋ฐ ๊ด๋ฆฌํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
2) ํ๋ก์ธ์ค๊ด๋ฆฌ : ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ์ ํ๋ก์ธ์ค(Process)๋ผ๊ณ ํ๋ฉฐ, ํ๋ก์ธ์ค๊ด๋ฆฌ ๊ธฐ๋ฒ์๋ `์ผ์ ์ค์ง ๋ฐ ์ฌ์คํ', `๋๊ธฐํ', `ํต์ ', `๊ต์ฐฉ์ํ ์ฒ๋ฆฌ', `ํ๋ก์ธ์ค ์์ฑ ์ญ์ ' ๋ฑ์ด ์๋ค.
๋ง. ๊ธฐํ ๊ด๋ จ ์ฉ์ด
1) ๊ฐ์ํ : ํ๋์ PC์ ์ฌ๋ฌ ๊ฐ์ ์ด์์ฒด์ (์๋์ฆ, ์ ๋์ค/๋ฆฌ๋
์ค ๋ฑ)๋ฅผ ์ค์นํ์ฌ ๊ฐ๋ฐ๋๋ ํ๋ก๊ทธ๋จ์ ๋ค์ํ ํ๊ฒฝ์์ ํ
์คํธํ ์ ์๋๋ก ํ๋ค.
2) ํด๋ผ์ฐ๋ : ์ธํฐ๋ท ๊ธฐ๋ฐ์์ ๊ตฌ๋๋๋ ์ปดํจํ
๊ธฐ์ ์ ์๋ฏธํ๋ค. ํด๋ผ์ฐ๋ ์ปดํจํ
์ ์ด์ฉํ๋ฉด ์์ฉ ํ๋ก๊ทธ๋จ์ ํ์์ ๋ฐ๋ผ ๋ถ๋ฌ ์ฌ์ฉํ๊ณ , ๋ฐ์ดํฐ๋ฅผ ์์ฝ๊ฒ ์ ์ฅ ๋ฐ ์ถ์ถํ ์ ์๋ค.
๊ฐ) IaaS (Infrastructure as a Service) : ์น์์์ ๊ตฌ๊ธ, ๋ง์ดํฌ๋ก์ํํธ, ์๋ง์กด ๋ฑ์์ ์ ๊ณตํ๋ ํ๊ฒฝ์ ๋คํธ์ํฌ, ๋ณด์, ๋ฐ์ดํฐ ์ ์ฅ์, ์ฝํ
์ธ ๋๋ฆฌ๋ฒ๋ฆฌ ์๋น์ค๋ฅผ ํฌํจํ ๋ค์ํ ์ธํ๋ผ๋ฅผ ์๋ํ์ฌ ์ด์ฉํ ์ ์๋ ์๋น์ค
๋) PaaS(Platform as a Service) : ์ด์์ฒด์ ๊ฐ ์ด๋ฏธ ๊ตฌ์ฑ๋์ด ์๋ ์ํ์์ ์ฌ์ฉ์๋ ๋ฐ์ดํฐ์ ์ ํ๋ฆฌ์ผ์ด์
๋ง ์ง์ ๊ด๋ฆฌํ ์ ์๋ ์๋น์ค
๋ค) SaaS(Software as a Service): ์ธํ๋ผ์ ์ด์์ฒด์ ๋ฟ๋ง ์๋๋ผ ์ฌ์ฉํ ์ ์๋ ์ํํธ์จ์ด๊น์ง ๊ฐ์ถ์ด์ ธ ์น์์ ๋ก๊ทธ์ธ๋ง์ผ๋ก ๋ค์ํ ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ ๋งํผ ๋น์ฉ์ ์ง๋ถํด ๊ฐ๋ฉฐ ์ฌ์ฉํ ์ ์๋ ์๋น์ค
โ
2. ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ฉํ๊ธฐ
๊ฐ. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์์คํ
(DBMS) : DBMS(Database Management System)๋ ๋ฐ์ดํฐ ๊ด๋ฆฌ์ ๋ณต์ก์ฑ์ ํด๊ฒฐ(์ค๋ณต์ฑ ์ ๊ฑฐ, ๋ฌด๊ฒฐ์ฑ ํ๋ณด, ์ผ๊ด์ฑ ์ ์ง, ์ ์ฉ์ฑ ๋ณด์ฅ)ํ๋ ๋์์ ๋ฐ์ดํฐ ์ถ๊ฐ, ๋ณ๊ฒฝ, ๊ฒ์, ์ญ์ ๋ฐ ๋ฐฑ์
, ๋ณต๊ตฌ ๋ฑ์ ๊ธฐ๋ฅ์ ์ง์ํ๋ ์ํํธ์จ์ด์ด๋ค.
โป DBMS(๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์์คํ
) ํน์ง
1) ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ : ๋์ผํ ๋ด์ฉ์ ๋ํ์ฌ ์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ๊ฒ์ ํ์ฉํ์ง ์์
2) ๋ฐ์ดํฐ ์ผ๊ด์ฑ : ์ฝ์
, ์ญ์ , ๊ฐฑ์ , ์์ฑ ํ์๋ ์ ์ฅ๋ ๋ฐ์ดํฐ๊ฐ ๋ณํ์ง ์์
3) ๋ฐ์ดํฐ ํ๋ณต์ฑ : ์ฅ์ ๊ฐ ๋ฐ์ํ์์ ์ ํน์ ์ํ๋ก ๋ณต๊ตฌ๋์ด์ผ ํจ
4) ๋ฐ์ดํฐ ๋ณด์์ฑ : ๋ถ๋ฒ์ ์ธ ๋
ธ์ถ, ๋ณ๊ฒฝ, ์์ค๋ก๋ถํฐ ๋ณดํธ๋์ด์ผ ํจ
5) ๋ฐ์ดํฐ ํจ์จ์ฑ : ์๋ต ์๊ฐ, ์ ์ฅ ๊ณต๊ฐ ํ์ฉ ๋ฑ์ด ์ต์ ํ๋์ด ์ฌ์ฉ์ ์๊ตฌ ์กฐ๊ฑด์ ๋ง์กฑ์์ผ์ผ ํจ
๋. ๋ฐ์ดํฐ ๋ฒ ์ด์ค ์ข
๋ฅ
1) ํ์ผ์์คํ
: ํ์ผ์ ์ด๋ฆ์ ๋ถ์ฌํ๊ณ ์ ์ฅ์ด๋ ๊ฒ์์ ์ํ์ฌ ๋
ผ๋ฆฌ์ ์ผ๋ก ๊ทธ๊ฒ๋ค์ ์ด๋์ ์์น์์ผ์ผ ํ๋์ง ๋ฑ์ ์ ์ํ ๋ค ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ ์์คํ
2) ๊ณ์ธตํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ
: ๋ฐ์ดํฐ๋ฅผ ์ํ ์ข
์์ ์ธ ๊ด๊ณ(ํธ๋ฆฌ๊ตฌ์กฐ)๋ก ๊ณ์ธตํํ์ฌ ๊ด๋ฆฌํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ด๋ฆฌ ์์คํ
3) ๋งํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ
: ๋ฐ์ดํฐ์ ๊ตฌ์กฐ๋ฅผ ๋คํธ์ํฌ์์ ๋ง ํํ๋ก ๋
ผ๋ฆฌ์ ์ผ๋ก ํํํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ด๋ฆฌ ์์คํ
4) ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ
: ๊ฐ์ฅ ๋ณดํธ์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์์คํ
์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ํ
์ด๋ธ์ ์ผ๋ถ๋ฅผ ๋ค๋ฅธ ํ
์ด๋ธ๊ณผ ์๊ด๊ด๊ณ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ ์์คํ
(Oracle, SQL Server, MySQL ๋ฑ)
๋ค. ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ฉ
1) ํ
์ด๋ธ ๊ตฌ์กฐํํ๊ธฐ
๊ฐ) ERD(E-R Diagram) : ER ๋ชจ๋ธ์ ๋ฐ์ดํฐ์ ์๊ด๊ด๊ณ๋ฅผ ๊ฐ์ฒด, ๊ด๊ณ, ์์ฑ์ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ์ฌ ์ํฐํฐ(์ค์ฒด, ๊ฐ์ฒด) ๊ฐ์ ๊ด๊ณ๋ฅผ ๋์ํํ ๊ฒ์ด๋ค.
๋) ERD ๊ตฌ์ฑ์์
(1) ๊ฐ์ฒด(Entity) : ์ฌ๋ฌผ ๋๋ ์ฌ๊ฑด์ผ๋ก ์ ์๋๋ฉฐ ๊ฐ์ฒด๋ผ๊ณ ๋ ํ๋ค. ERD์์ ์ํฐํฐ๋ ์ฌ๊ฐํ์ผ๋ก ๋ํ๋ด๊ณ ์ฌ๊ฒฉํ ์์๋ ์ํฐํฐ์ ์ด๋ฆ์ ๋ฃ๋๋ค.
(2) ์์ฑ(Attribute) : ๊ฐ์ฒด(์ํฐํฐ)๊ฐ ๊ฐ์ง๊ณ ์๋ ์์ ๋๋ ์ฑ์ง์ ์์ฑ์ด๋ผ ๋ถ๋ฅด๋ฉฐ ์ ์ผ๋ก ์ฐ๊ฒฐ๋ ๋๊ทธ๋ผ๋ฏธ๋ก ํ๊ธฐํ๋ค.
(3) ๊ด๊ณ(Relationship) : ๋ ๊ฐ์ฒด ๊ฐ์ ๊ด๊ณ๋ฅผ ์ ์ ์ด์ฉํ์ฌ ํ๊ธฐํ๋ค.
2) ํ
์ด๋ธ ์ต์ ํํ๊ธฐ
๊ฐ) ์ ๊ทํ : ์ ๊ทํ๋ ๋ฌด๊ฒฐ์ฑ์ ํ๋ณดํ๊ณ ์ค๋ณต์ฑ์ ๋ฐฐ์ ํ์ฌ ํ
์ด๋ธ์ ์ ํํ ๋ฐ์ดํฐ๊ฐ ๋ค์ด๊ฐ๋๋ก ํ๋ ๋ฐ ๋ชฉ์ ์ด ์๋ค. ๋ฐ์ดํฐ์ ์ค๋ณต์ฑ์ ์์ ๋ฉด ์ ์ฅ ๊ณต๊ฐ์ ์ต์ํํ๊ณ ์์คํ
์ ์๋ ๋ํ ๋น ๋ฅด๊ฒ ํ ์ ์๋ค.
(1) 1์ฐจ ์ ๊ทํ: ๋ฐ๋ณต๋๋ ๊ทธ๋ฃน์ ์์ฑ์ ๋ณ๋๋ก ์ถ์ถํ๋ค.
(2) 2์ฐจ ์ ๊ทํ: ๋ถ๋ถ ํจ์์ ์ข
์์ฑ์ ์ ๊ฑฐํ๋ค.
(3) 3์ฐจ ์ ๊ทํ: ํค์ ์ข
์๋์ง ์์ ์นผ๋ผ์ ์ ๊ฑฐํ๋ค.
3) ํ
์ด๋ธ ๋ง๋ค๊ธฐ(SQL)
๊ฐ) DDL(๋ฐ์ดํฐ ์ ์์ด)
(1) ์ ์ : ํ
์ด๋ธ์ ์์ฑํ๊ฑฐ๋ ๋ณ๊ฒฝ, ์ญ์ ํ ๋ ์ฌ์ฉํ๋ ๋ช
๋ น์ด
(2) ๋ช
๋ น์ด (3๊ฐ์ง)
- CREATE : ํ
์ด๋ธ ์์ฑ
- ALTER : ํ๋/์์ฑ ๋ณ๊ฒฝ
- DROP : ํ
์ด๋ธ ์ญ์
๋) DML(๋ฐ์ดํฐ ์กฐ์์ด)
(1) ์ ์ : ํ
์ด๋ธ์ ์ ์ฅ๋์ด ์๋ ํ
์ดํฐ๋ฅผ ๊ฒ์, ์ฝ์
, ์ญ์ , ๋ณ๊ฒฝํ ๋ ์ฌ์ฉํ๋ ๋ช
๋ น์ด
(2) ๋ช
๋ น์ด (4๊ฐ์ง)
- SELECT : ํ
์ด๋ธ์ ์กฐ๊ฑด์ ๋ง๋ ๋ฐ์ดํฐ(ํํ) ๊ฒ์
- INSERT : ํ
์ด๋ธ์ ์๋ก์ด ๋ฐ์ดํฐ(ํํ) ์ฝ์
- DELETE : ํ
์ด๋ธ์ ์กฐ๊ฑด์ ๋ง๋ ๋ฐ์ดํฐ(ํํ)์ ์ญ์
- UPDATE : ํ
์ด๋ธ์ ์กฐ๊ฑด์ ๋ง๋ ๋ฐ์ดํฐ(ํํ)์ ๋ณ๊ฒฝ
๋ค) DCL(๋ฐ์ดํฐ ์ ์ด์ด)
(1) ์ ์ : ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์(DBA)๊ฐ ํ
์ดํฐ ๊ด๋ฆฌ๋ฅผ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋ช
๋ น์ด
(2) ๋ช
๋ น์ด (4๊ฐ์ง)
- GRANT : ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์(ID, ๊ณ์ )์๊ฒ ์ฌ์ฉ ๊ถํ์ ๋ถ์ฌํ๋ ๋ช
๋ น์ด
- REVOKE : ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์(ID, ๊ณ์ )์ ์ฌ์ฉ ๊ถํ์ ์ทจ์ํ๋ ๋ช
๋ น์ด
- COMMIT : ๋ฐ์ดํฐ๋ฒ ์ด์ค ์กฐ์ ์์
์ด ์ ์์ ์ผ๋ก ์๋ฃ ๋์์์ ์๋ ค์ฃผ๋ ๋ช
๋ น์ด
- ROLLBACK : ํ
์ดํฐ๋ฒ ์ด์ค ์กฐ์ ์์
์ด ๋น์ ์์ ์ผ๋ก ์๋ํ์ฌ ์๋์ ์ํ๋ก ๋ณต๊ตฌํ๋ ๋ช
๋ น์ด
โ
3. ๋คํธ์ํฌ ๊ธฐ์ด ํ์ฉํ๊ธฐ
๊ฐ. ๋คํฌ์ํฌ ๋ถ๋ฅ
1) WAN : ๊ตญ๊ฐ, ๋๋ฅ๊ณผ ๊ฐ์ด ๊ด๋ฒ์ํ ์ง์ญ์ ์ฐ๊ฒฐํ๋ ๋คํธ์ํฌ์ด๋ค. ๊ฑฐ๋ฆฌ์ ์ ์ฝ์ด ์์ผ๋ ๋ค์ํ ๊ฒฝ๋ก๋ฅผ ์ง๋ ์ ๋ณด๊ฐ ์ ๋ฌ๋๋ฏ๋ก LAN๋ณด๋ค ์๋๊ฐ ๋๋ฆฌ๊ณ ์๋ฌ์จ๋ ๋๋ค.
2) LAN : ํ ๊ฑด๋ฌผ ๋๋ ์์ ์ง์ญ์ ์ฐ๊ฒฐํ๋ ๋คํธ์ํฌ
๋. ๋คํธ์ํฌ ์ฅ์น
1) NIC (Network Interface Card) : ์ปดํจํฐ์ ์ฅ์ฐฉ๋์ด ์๋ ๋์นด๋๋ฅผ ์๋ฏธํ๋ค. ์ปดํจํฐ์์ ๋ฐ์ํ๋ ๋ฐ์ดํฐ(์๋ฃ)๋ฅผ ์ ์ก๊ฐ๋ฅํ ์ ๊ธฐ์ ์ธ ์ ํธ๋ก ๋ณํํ๊ณ , ๋ณต์ํ๋ ์ญํ ์ ์ํํ๋ค.
2) LAN ์ผ์ด๋ธ : NIC ๊ฐ ๋ณํํ ์ ๊ธฐ์ ์ธ ์ ํธ๋ฅผ ๋ค๋ฅธ ์ปดํจํฐ๋ก ์ ์กํ๊ธฐ ์ํ์ฌ ์ฌ์ฉ๋๋ ์ผ์ด๋ธ์ ์๋ฏธํ๋ค.
3) ํ๋ธ (์ค์ต์ค) : ์ฌ๋ฌ๊ฐ์ LAN ์ผ์ด๋ธ(์ปดํจํฐ)์ ํ๋๋ก ํฉ์ณ์ฃผ๋ ์ญํ ์ ํ๋ค. IP๋ฅผ ํ ๋นํ๋ ๊ธฐ๋ฅ์ ์๊ณ , IP๊ฐ ํ ๋น๋ ์ปดํจํฐ๊ฐ ๋์์ ์ธํฐ๋ท(WAN)์ ์ฌ์ฉํ ์ ์๋๋ก ๋ถ๋ฐฐํ๋ ์ญํ ์ ์ํํ๋ค.
โป ๊ณต์ ๊ธฐ : ํ๋ธ์ ๋น์ทํ ์ญํ ์ ์ํํ์ง๋ง ์ฐจ์ด์ ์ IP๋ฅผ ์ง์ ํ ๋นํ์ฌ ๋ถ๋ฐฐํ๋ค.
4) ์ค์์น (ํ๊ต) : ํ๋ธ์ ๊ฐ์ด ์ผ์ด๋ธ(ํ๋ธ)์ ํ๋๋ก ํฉ์ณ์ฃผ๋ ์ญํ ์ ์ํํ๋ค. ํ๋ธ์ ์ฐจ์ด์ ์ ์ฐ๊ฒฐ๋ ์ผ์ด๋ธ์ ์ ์ก๋์ญ์ด ๋ชจ๋ ๊ฐ๋ค.
ex) 10Mbps ํ๋ธ์ 5๊ฐ์ ์ผ์ด๋ธ์ด ์ฐ๊ฒฐ๋ ๊ฒฝ์ฐ : 2Mbps ์๋๋ก ๋๋์ด ์ฌ์ฉ
10Mbps ์ค์์น์ 5๊ฐ์ ์ผ์ด๋ธ์ด ์ฐ๊ฒฐ๋ ๊ฒฝ์ฐ : ๋ชจ๋ ์ผ์ด๋ธ 10Mbps ์๋
5) ๋ผ์ฐํฐ (์ง์ญ) : ์๋ก ๋ค๋ฅธ ๋คํธ์ํฌ(ํ๊ต, ๊ธฐ๊ด ๋ฑ)๋ฅผ ์ฐ๊ฒฐํด์ฃผ๋ ์ญํ ์ ํ๋ค. ๋ณด๋ด๊ณ ์ ํ๋ ๋ฐ์ดํฐ๊ฐ ์ด๋ค ๋คํธ์ํฌ๋ฅผ ํตํ์ฌ ์ ์กํ๋์ง ์ ์ก๊ฒฝ๋ก๋ฅผ ์ฐพ์์ค๋ค.
๋ค. ๋ฐ์ดํฐ ๊ตํ๋ฐฉ์
1) ํ์ ๊ตํ ๋ฐฉ์ : ๋ฐ์ดํฐ๊ฐ ์ ๋ฌ๋ ๊ฒฝ๋ก๋ฅผ ๋ฏธ๋ฆฌ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ ์ฉ์ ์ผ๋ก ์ค์ ํ์ฌ ์ ํด์ง ๊ฒฝ๋ก๋ก๋ง ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๋ ๋ฐฉ์์ ๋งํ๋ค.
2) ํจํท ๊ตํ ๋ฐฉ์ : ํจํท์ด๋ผ๋ ๋จ์๋ก ์ ๋ณด๋ฅผ ์ผ์ ํ ํฌ๊ธฐ๋ก ๋ถํ ํ ๋ค ํจํท์ ๋ณด(์ฃผ์, ๋ฐ์ดํฐ)๋ฅผ ํ์ฉํ์ฌ ๋ค์ํ ๊ฒฝ๋ก๋ก ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๋ ๋ฐฉ์์ ๋งํ๋ค.
โ
๋ง. ๋คํธ์ํฌ ํ๋กํ ์ฝ
1) ํ๋กํ ์ฝ : ํ๋กํ ์ฝ์ ์ปดํจํฐ๋ ์๊ฑฐ๋ฆฌ ํต์ ์ฅ๋น ์ฌ์ด์์ ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ์์ ๋๋ ํต์ ๊ท์ฝ์ด๋ค.
2) OSI(Open System Interconnection) 7๊ณ์ธต : ๊ตญ์ ํ์คํ ๊ธฐ๊ตฌ์ธ ISO(International Standardization Organization)์์ ๊ฐ๋ฐํ ๋คํธ์ํฌ ๊ณ์ธต ํํ ๋ชจ๋ธ์ด๋ค.
๊ฐ) ๋ฌผ๋ฆฌ ๊ณ์ธต : ์ค์ ์ฅ๋น๋ค์ ์ฐ๊ฒฐํ๊ธฐ ์ํ ์ฐ๊ฒฐ ์ฅ์น (ํ๋ธ, ๋ฆฌํผํฐ)
๋) ๋ฐ์ดํฐ ๋งํฌ ๊ณ์ธต : ์ค๋ฅ์ ํ๋ฆ์ ์ ์ดํ์ฌ ์ ๋ขฐ์ฑ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ก (๋ธ๋ฆฌ์ง, ์ค์์น)
๋ค) ๋คํธ์ํฌ ๊ณ์ธต : ๋ค์์ ์ค๊ฐ ์์คํ
์ค์์ ๊ฐ์ฅ ์ต์ ์ ๊ฒฝ๋ก๋ฅผ ์ ํํ๋๋ก ์ง์ (๋ผ์ฐํฐ)
๋ผ) ์ ์ก ๊ณ์ธต : ํต์ ์ฅ๋น์ ์ก์ /์์ ์ ์ฐ๊ฒฐํ์ฌ ๋ชฉ์ ์ง ๊ฐ์ ์ ์ก์ ์ด์ ์๋ฌ๋ฅผ ๊ด๋ฆฌ(TCP/IP, UDP)
๋ง) ์ธ์
๊ณ์ธต : ๋ฐ์ดํฐ์ ์ก์ /์์ ์ ๋
ผ๋ฆฌ์ ์ผ๋ก ์ฐ๊ฒฐ ์ ์งํ๋ฉฐ ๋๊ธฐํ๋ฅผ ๋ด๋น (ํธ์คํธ, ์ผ๋ฐPC)
๋ฐ) ํํ ๊ณ์ธต : ์ฝ๋, ๋ฌธ์ ๋ฑ์ ๋ฒ์ญํ์ฌ ์์ถ, ํด์ , ๋ณด์ ๊ธฐ๋ฅ์ ๋ด๋น (ํธ์คํธ, ์ผ๋ฐPC)
์ฌ) ์์ฉ ๊ณ์ธต : ์ฌ์ฉ์๊ฐ ์ง์ ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋จ (๋ฉ์ผ, ์น, ์์ฉํ๋ก๊ทธ๋จ ๋ฑ)
3) TCP / IP ํ๋กํ ์ฝ : TCP/IP์ด๋ TCP์ IP ํ๋กํ ์ฝ๋ง์ ์ง์นญํ๋ ๊ฒ์ด ์๋๋ผ UDP(User Datagram Protocol), ICMP(Internet Control Message Protocol), ARP(Address Resolution Protocol), RARP(Reverse ARP) ๋ฑ ๊ด๋ จ๋ ํ๋กํ ์ฝ์ ํต์นญํ๋ค.
๊ฐ) ๋คํธ์ํฌ ์ก์ธ์ค ๊ณ์ธต (๋ฌผ๋ฆฌ ๊ณ์ธต, ๋ฐ์ดํฐ๋งํฌ ๊ณ์ธต)
๋) ์ธํฐ๋ท ๊ณ์ธต (๋คํธ์ํฌ ๊ณ์ธต)
๋ค) ํธ๋์คํฌํธ๊ณ์ธต (์ ์ก๊ณ์ธต)
๋ผ) ์์ฉ๊ณ์ธต (์ธ์
๊ณ์ธต, ํํ๊ณ์ธต, ์์ฉ๊ณ์ธต)
โป TCP์ UDP์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ ๋ฐ์ดํฐ ์ ์ก์ ์ ๋ขฐ์ฑ์ ์๋ค. TCP๋ ์์ ์ธก์ ์์ ๊ฐ๋ฅ ์ํ, ์์ ์ฌ๋ถ ๋ฑ์ ๋จ๊ณ๋ณ๋ก ์ฒดํฌํด ๊ฐ๋ฉฐ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ณ , UDP๋ ๋ง์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ก์ ํ ๋ฟ ํ์ธ ์์
์ ์ํํ์ง ์๋๋ค.
๋ฐ. ๋ผ์ฐํ
์๊ณ ๋ฆฌ์ฆ : ๋ฐ์ดํฐ๋ ์ก์ ์ธก์ผ๋ก๋ถํฐ ์์ ์ธก๊น์ง ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๊ณผ์ ์์ ๋ชฉ์ ์ง๊น์ง ์ต์ ์ ๊ฒฝ๋ก๋ฅผ ์ฐ์ถํ๊ธฐ ์ํ ๋ฒ์น์ ๋ผ์ฐํ
์๊ณ ๋ฆฌ์ฆ์ด๋ผ ํ๋ค.
1) ๋ผ์ฐํ
ํ๋กํ ์ฝ ์ข
๋ฅ
- RIP : ์ต์ด์ ๋ผ์ฐํ
ํ๋กํ ์ฝ๋ก์จ ๊ฑฐ๋ฆฌ ๋ฒกํฐ ์๊ณ ๋ฆฌ์ฆ์ ํ์ฉํ ๋ผ์ฐํ
๊ธฐ๋ฒ์ด๋ค.
๋ผ์ฐํ
๋ฃจํ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ์์.
- IGRP : RIP์ ๋ฃจํ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๋ฐฉ์์ผ๋ก ๋คํธ์ํฌ ์ํ๋ฅผ ๊ณ ๋ คํ์ฌ ๋ผ์ฐํ
- OSPF : ๋งํฌ์ํ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ฉฐ ๋ณ๊ฒฝ๋ ๋คํธ์ํฌ ์ ๋ณด๋ฅผ ๋น ๋ฅด๊ฒ ์
ํ
์ดํธ ํด์ค.
- BGP : ๊ท๋ชจ๊ฐ ํฐ ๋คํธ์ํฌ๋ฅผ ์ํธ ์ฐ๊ฒฐํ๊ณ ์ ํ ๋ ์ฌ์ฉํ๋ฉฐ, ์ฃผ๋ก ๋ํ ์ฌ์
์(ISP)๊ฐ์ ๋ผ์ฐํ
4. ํ๋ฉด๊ตฌํ
1. UI / UX ์ค๊ณ
๊ฐ. UI(User Interface) : ์ฌ์ฉ์๊ฐ ํ๋์จ์ด๋ ์์คํ
์ ์ฐ๊ฒฐ๋๋ ๊ณผ์ ์์ ์ฌ์ฉ์์ ํธ๋ฆฌ์ฑ๊ณผ ๊ฐ๋
์ฑ์ ๋์ฌ ์ฃผ๊ธฐ ์ํ ๊ธฐ์
๋. UX(User Experience) : UI์ ๋น์ทํ์ง๋ง, ์ฌ์ฉ์๋ค์ ํน์ฑ์ ๊ฐ๊ด์ ์๋ฃ ๋ฐ ํต๊ณ๋ฅผ ๋ฐํ์ผ๋ก ๋ฉด๋ฐํ๊ฒ ๋ถ์ํ์ฌ ์ฌ์ฉ์์ ๋ถํธํจ์ ์ต์ํํ๊ธฐ ์ํด ๋ง๋ค์ด์ง ๊ธฐ์ ์ ์๋ฏธํ๋ค.
๋ค. ์ธํฐํ์ด์ค ์ข
๋ฅ
1) CLI(Command Line Interface) : ์ฌ์ฉ์์ ์์คํ
์ด ์ํธ ์์ฉํ๋ ๋ฐฉ์์ผ๋ก ๋ช
๋ น๊ณผ ์ถ๋ ฅ์ด ํ
์คํธ ํํ๋ก ํํ๋๋ค.
2) GUI(Graphical User Interface) : ์ฌ์ฉ์๊ฐ ์ปดํจํฐ์ ์์์ ์ฌ์ฉํ ์ ์๋๋ก ๊ตฌ์ฑ ์์๋ค์ด ๊ทธ๋ํฝ ํํ๋ก ํํ๋๋ค.
3) NUI(์์ฐ์ด ์ ์ ์ธํฐํ์ด์ค, Natural User Interface) : ์ฌ์ฉ์์ ๋ชธ์ง, ๋ง์๋ฆฌ๋ง์ผ๋ก๋ IT ๊ธฐ๊ธฐ๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ธฐ์ ์ด๋ค.
๋ผ. UI ๊ฐ๋ฐ
1) ์๊ตฌ์ฌํญ ๋ถ์ : ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ณ ์ ํ๋ ์ด์ ๊ฐ ๋ช
ํํด์ผ ํ๋ค. ์ฆ, ์ด๋ค ๋ฌธ์ ์ ์ ํด๊ฒฐํ๊ณ ์ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๊ฒ ๋์๋์ง ๋ชฉ์ ์ด ๋ถ๋ช
ํด์ผ ํ๋ค.
2) ์คํ ๋ฆฌ๋ณด๋ ์์ฑ : ๋ถ์๋ ์๊ตฌ์ฌํญ์ ๋ฐํ์ผ๋ก ์๊ฐ์ ์ผ๋ก ์ด๋ป๊ฒ ๊ตฌํํ๊ณ , ์ด๋ป๊ฒ ํ๋ฌ๊ฐ๋์ง ํ๋ฆ๋๋ฅผ ๋์์ธ์ ์ผ๋ก ์ค์ผ์นํ๋ ์์
์ ์๋ฏธํ๋ค.
๋ง. UI ๋ฉ๋ด ์ค๊ณ ๊ตฌ์กฐ ํ์ธ
1) ์ฌ์ฉ์ฑ : ์ฌ์ฉ์๊ฐ ์
๋ฌด๋ฅผ ์ฝ๊ณ ํธ๋ฆฌํ๊ฒ ์ํํ๋ ๊ฒ์ ์๋ฏธ๋ฅผ ๋๋ค.
2) ์ ์ฉ์ฑ : ์ฌ์ฉ์๊ฐ ์
๋ฌด๋ฅผ ์ํํ๋ ๋ฐ ์์ด ์ผ๋ง๋ ์ ํํ๊ฒ ์ํํ ์ ์๋์ง๋ฅผ ๋ํ๋ด๋ ๊ฒ์ด๋ค.
3) ์ ๋ณด๊ตฌ์กฐ : ์ฒ๋ฆฌ ๋ด์ฉ์ด๋ ๋ฉ๋ด์ ๊ตฌ์กฐ๋ฅผ ํํํจ ์์ด ์ฌ์ดํธ์ ๊ตฌ์กฐ๋ฅผ ํ์
ํ ์ ์๋๋ก ํ๋ ๊ฒ์ด๋ค.
4) ๋ด๋น๊ฒ์ด์
: ์ฌ์ฉ์๊ฐ ์ง๊ด์ ์ผ๋ก ์์ ์ด ์ฐพ๊ณ ์๋ ์ ๋ณด๋ฅผ ์ฝ๊ฒ ์ฐพ์ ์ ์๋๋ก ์ค๊ณ ํ๋ค.
5) ์ ์ค์ผ์ด์ค : ์ฌ์ฉ์๊ฐ ์ํ๋ ๋ชฉํ๋ฅผ ์ํ์ฌ ์์คํ
์์ ์ํํด์ผ ํ๋ ๋ด์ฉ์ ๊ธฐ์ ํ๋ค.
2. UI ๊ตฌํํ๊ธฐ
๊ฐ. ์น์ 3์์
1) ์น ํ์ค : ์น์์ ์ฌ์ฉ๋๋ ๊ธฐ์ ์ด๋ ๊ท์น์ ์๋ฏธํ๋ฉฐ ์น ์ฌ์ดํธ๋ฅผ ์์ฑํ ๋ ์ด์ฉํ๋ HTML, CSS, JavaScript ๋ฑ์ ๊ดํ ๊ท์ ์ ์๋ฏธํ๋ค.
2) ์น ์ ๊ทผ์ฑ : ์ด๋ ํ ์ฌ์ฉ์(์ฅ์ ์ธ, ๋
ธ์ธ ๋ฑ), ์ด๋ ํ ๊ธฐ์ ํ๊ฒฝ์์๋ ์ฌ์ฉ์๊ฐ ์ ๋ฌธ์ ์ธ ๋ฅ๋ ฅ ์์ด ์น ์ฌ์ดํธ์์ ์ ๊ณตํ๋ ๋ชจ๋ ์ ๋ณด์ ์ ๊ทผํ ์ ์๋๋ก ๋ณด์ฅํ๋ ๊ฒ์ ๋ปํ๋ค.
3) ์น ํธํ์ฑ : ์๋น์ค ์ด์ฉ์ ๋จ๋ง๊ธฐ์ ํ๋์จ์ด ๋ฐ ์ํํธ์จ์ด ํ๊ฒฝ์ด ๋ค๋ฅธ ๊ฒฝ์ฐ์๋ ๋๋ฑํ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
๋. UI ๊ฐ๋ฐ๊ธฐ์
1) ์๋ฒ : ํด๋ผ์ด์ธํธ์๊ฒ ๋คํธ์ํฌ๋ฅผ ํตํด ์ ๋ณด๋ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์ปดํจํฐ ๋๋ ํ๋ก๊ทธ๋จ์ ์๋ฏธํ๋ค.
โ 2) ํด๋ผ์ด์ธํธ : ๋คํธ์ํฌ๋ฅผ ํตํ์ฌ ๋ค๋ฅธ ์๋ฒ ์์คํ
์์ ์ปดํจํฐ์ ์๊ฒฉ ์๋น์ค์ ์ ์ํ ์ ์๋ ์์ฉ ํ๋ก๊ทธ๋จ์ด๋ ์๋น์ค๋ฅผ ํด๋ผ์ด์ธํธ๋ผ๊ณ ํ๋ค.
3) HTML์ ์๋งจํฑ ํ๊ทธ : ํ๊ทธ ์ด๋ฆ์ผ๋ก ์ญํ ์ ์ง์ํ ์ ์์ผ๋ฉฐ, ์น ํ์ด์ง์์ ์ฌ๋์ด ์ธ์ํ๋ ์ ๋ณด๋ฅผ ๊ธฐ๊ณ๊ฐ ์ดํดํ ์ ์๋๋ก ํ๋ ์ปดํจํฐ ๊ธฐ์ ์ ์๋ฏธํ๋ค.
- ๋ํ์ ์ธ ์๋งจํฑ ํ๊ทธ : <header>, <nav>, <section>, <article>, <aside>, <footer>
<header> ์ ๋ชฉ, ๋จธ๋ฆฌ๊ธ
<nav> ๋ฉ๋ด, ๋งํฌ
<section> ์ฝํ
์ธ ์ ๋ชฉ, ๊ทธ๋ฃนํ
<aside> ๊ด๊ณ
<article> ๋ฌธ๋จ, ๋ณด์ถฉ ์ค๋ช
<footer> ์ ์๊ถ, ํ์ฌ์ ๋ณด
๊ฐ) Header - ํด๋น ํ์ด์ง์ ํค๋ ์์ญ์ ์ง์ ํ๊ณ ์ฃผ๋ก ๋ก๊ณ ๋ ํ์ฌ๋ช
, ์ฌ์ดํธ ๋งต, ๋ก๊ทธ์ธ/ํ์๊ฐ์
๋ฒํผ, ๊ฒ์ ๋ฒํผ ๋ฑ์ด ์์นํ๋ค.
๋) Navigation - ๋ณธ๋ฌธ์ ์ฃผ์ ๋ด๋น๊ฒ์ด์
(๋ฉ์ธ ๋ฉ๋ด) ์์ญ์ ์ง์ ํ๋ค.
๋ค) Section - ํด๋น ํ์ด์ง์ ์ฝํ
์ธ ์์ญ์ ์ง์ ํ ๋ ์ฌ์ฉํ๋ฉฐ ํค๋, ํธํฐ ํ๊ทธ์ ๋น๊ตํด์ ์์ญ์ ๊ตฌ๋ถ ์ง์ ํ ๋ ์ฌ์ฉํ๋ค.
๋ผ) Article - ๋
๋ฆฝ์ ์ธ ์ฝํ
์ธ ํญ๋ชฉ์ ๋ํ ์์ญ์ ์ง์ ํ ๋ ์ฌ์ฉํ๋ค.
๋ง) Aside - ๋ณธ๋ฌธ ๋ด์ฉ ์ด์ธ์ ํํํ๊ณ ์ ํ๋ ๊ธฐํ ๋ด์ฉ์ด ์์ ๊ฒฝ์ฐ ์์ญ์ ์ง์ ํ ๋ ์ฌ์ฉํ๊ฑฐ๋ ์๋ธ ๋ฉ๋ด๋ฅผ ํ์ํ๊ณ ์ ํ ๋ ์ฌ์ฉํ๊ธฐ๋ ํ๋ค.
๋ฐ) Footer - ๋ณธ๋ฌธ ๋ด์ฉ์ ์๋์ ์์นํ๋ฉฐ ์ฃผ๋ก ๊ฐ์ธ์ ๋ณด ๋ณดํธ์ ์ฑ
, ํ์ฌ ์ฃผ์ ๋ฑ์ ์์ฑํ๋ค.
4) CSS(Cascading Style Sheets)
๊ฐ) ์ ์ : ์น ํ์ด์ง ์ ์ฒด์ ์ผ๊ด์ฑ์ ์ ์งํ ์ ์๋๋ก ์คํ์ผ(์์, ๊ธ๊ผด, ํฌ๊ธฐ ๋ฑ)์ ๋ฏธ๋ฆฌ ์ ์ฅํด ๋ ์ํธ๋ฅผ ์๋ฏธํ๋ค.
๋) ํน์ง
(1) ๋ธ๋ผ์ฐ์ ์ ๊ด๊ณ์์ด ์ ์ฉ์ด ๊ฐ๋ฅํ๋ค.
(2) ์๋ฐ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ ๋์ ์ธ ํ์ด์ง๋ฅผ ์ ์ํ ์ ์๋ค.
(3) ๋ค์ํ ์์(๊ธ์ํฌ๊ธฐ, ์ค ๊ฐ๊ฒฉ, ์ฌ๋ฐฑ ๋ฑ)์ ์ฝ๊ฒ ์ค์ ํ ์ ์๋ค.
๋ค) CSS ์ ์ฉ ๋ฐฉ๋ฒ
(1) ๋ฒ์ฉ ์ ํ์ : ์์์ ์น ํ์ด์ง์ ์ผ๋ถ๋ถ๋ง ์ ์ฉ๋๋ ๊ฒ์ด ์๋๋ผ ์ ์ฒด๋ฅผ ๋์์ผ๋ก ์ ์ฉ
(2) ํ๊ทธ ์ ํ์ : ํน์ ํ ํ๊ทธ์ ์์ ์ ์ฉ
โ (3) ์์ด๋ ์ ํ์ : id๋ก ์ฌ๋ฌ ๊ฐ์ ํ๊ทธ๋ฅผ ๊ทธ๋ฃนํํ์ฌ ์์ ์ ์ฉ (ํ์ฌ ํ์ด์ง์์ ๊ฐ๋จํ๊ฒ ์์ ์ ์ฉํ ๋ ์ฌ์ฉ)
โ (4) ํด๋์ค ์ ํ์ : ํด๋์ค๋ก ์ฌ๋ฌ ๊ฐ์ ํ๊ทธ๋ฅผ ๊ทธ๋ฃนํํ์ฌ ์์ ์ ์ฉ (์ฌ๋ฌ ํ์ด์ง์์ ์์ฃผ ์ฌ์ฉํ๋ ์์์ ๋ฏธ๋ฆฌ ๋ง๋ค์ด ๋ )
5) ์๋ฐ์คํฌ๋ฆฝํธ(JavaScript) : ์๋ฐ์คํฌ๋ฆฝํธ๋ HTML ๋ฌธ์ ๋ด์์ <script></script> ํ๊ทธ๋ฅผ ํตํด ์์ฑ๋๊ณ , ์์ฑ๋๋ ์์น๋ <head> ์์ญ, <body> ์์ญ์ด๋ฉฐ, .js ํ์ฅ์๋ฅผ ๊ฐ๋ ์ธ๋ถ ํ์ผ ํํ๋ก ์์ฑํ ์ ์๋ค.
6) ์ด๋ฒคํธ ์ฒ๋ฆฌ
(1) onclick : ๋ฒํผ๊ณผ ๊ฐ์ HTML์ ๋ค์ํ ํผ ์์์์ ์ง์ํ๋ฉฐ, ์ฌ์ฉ์๊ฐ ํด๋น ์์๋ฅผ ํด๋ฆญํ ๋ ๋์ํ๋ค. ๋ง์ผ onclick ํธ๋ค๋ฌ๊ฐ false(๊ฑฐ์ง)๋ฅผ ๋ฐํํ ๊ฒฝ์ฐ์๋ ํด๋น ์์์ ์ด๋ ํ ๊ธฐ๋ฅ๋ ์ํํ์ง ์๋๋ค.
(2) onmousedown, onmouseup : onclick ํธ๋ค๋ฌ์ ์ ์ฌํ๊ฒ ๋์ํ์ง๋ง, ๋ง์ฐ์ค๋ฅผ ๋๋ฅผ ๋์ ๋์์ ๋๋ฅผ ๊ตฌ๋ถํ์ฌ ๋์ํ ์ ์๋ค๋ ์ ์ด ๋ค๋ฅด๋ค.
(3) onmouseover, onmouseout : ๋ง์ฐ์ค์ ํฌ์ธํฐ๊ฐ ํด๋น ์์์ ์๋ก ์ฌ๋ผ์ค๊ฑฐ๋ ๋ฒ์ด๋ ๋ ๊ตฌ๋ํ๋ค.
(4) onchange : <input>, <select>, <textarea> ์์์์ ์ง์ํ๋ฉฐ ํด๋น ์์์ ์
๋ ฅ ํฌ์ปค์ค๋ฅผ ๋ค๋ฅธ ๊ณณ์ผ๋ก ์ด๋ํ ๋ ๊ตฌ๋ํ๋ค.
(5) onload : <body> ํ๊ทธ์์ ์ฌ์ฉ๋๋ฉฐ ํด๋น ํ์ด์ง์ ํด๋น ํ์ด์ง์ ์ฐ๊ฒฐ๋ ์ธ๋ถ ๋ด์ฉ๋ค์ด ์์ ํ ๋ก๋ฉ๋์์ ๋ ๊ตฌ๋ํ๋ค
๋ค. UI ํ
์คํธ : ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ ๊ณผ์ ์์ ์๊ฐํ์ง ๋ชปํ ์ค๋ฅ๋ ๋ฒ๊ทธ๋ฅผ ์ฐพ๊ณ , ์๋กญ๊ฒ ์ถ๊ฐํ ์ธ๋ถ ๊ธฐ๋ฅ๋ค์ ๋ํ์ฌ ์ ์์ ์ผ๋ก ์๋๋๋์ง ๋ค์ํ ์๊ฐ์์ ํ
์คํธํด์ผ ํ๋ค.
1) Top-Down(ํํฅ์) ํ
์คํธ : ์ต์์ ๋ชจ๋์์ ํ์ ๋ชจ๋๋ก ํ
์คํธํ๋ ๊ธฐ๋ฒ์ผ๋ก ์ค์ฌ์ฉ ํ๊ฒฝ๊ณผ ์ ์ฌํ ํ
์คํธ์ด๋ค. S/W์ ๋ณ๊ฒฝ์ผ๋ก ์ํฅ์ ๋ฐ๊ฒ ๋ ๋ค๋ฅธ ์ธ๋ถ์ ์ธ ๊ธฐ๋ฅ์ ์ด์ ์ ๋ง์ถ๋ค.
2) Bottom-Up(์ํฅ์) ํ
์คํธ : ์ตํ์ ๋ชจ๋์์ ์์ ๋ชจ๋๋ก ํ
์คํธํ๋ ๊ธฐ๋ฒ์ผ๋ก ๋ํ ์์คํ
์์ ์ฃผ๋ก ์ฌ์ฉ๋๋ฉฐ, ์ด๊ธฐ์ ๋ณํ ์์
์ด ๊ฐ๋ฅํ์ฌ ํ
์คํธ๊ฐ ์ฉ์ดํ๋ค.
3) ์ฌ์ฉ์ฑ ํ
์คํธ ๊ณผ์
๊ฐ) ๊ณํ ์๋ฆฝ - ๋ชฉ์ , ํ๊ฐ ๋ด์ฉ(ํญ๋ชฉ) ๋ถ์, ์ฌ์ฉ ํ๊ฒฝ, ์ฌ์ฉ์ ๋ฑ์ ๋ถ์ํ๋ค.
๋) ํ
์คํธ ์ค๊ณ - ์งํ ์ ์ฐจ ์์ฑ, ํ
์คํธ ์ฐธ๊ฐ์ ๊ฒฐ์ , ํ
์คํธ ํญ๋ชฉ์ ํ๊ฐ ๋ฐฉํฅ ๊ฒฐ์ , ๋ค์ํ ํ๊ฐ ๋ฐฉ๋ฒ์ผ๋ก ์ค๊ณํ๋ค.
๋ค) ํ
์คํธ ์คํ - ์ค๊ณ๋ ์งํ ์ ์ฐจ๋๋ก ์งํํ๋ค.
๋ผ) ๊ฒฐ๊ณผ ๋ณด๊ณ ์ ์์ฑ - ํ๊ฐ์ ์ฌ์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฅํ๊ณ ๋ถ์ํ๋ฉฐ ๊ฒฐ๊ณผ๋ฅผ ํตํด ๋ฌธ์ ์ ์ ๋ถ์ํ ํ, ์์ ์ ํ์ํ ์๊ฒฌ์ ํฌํจํ์ฌ ๋ณด๊ณ ์๋ฅผ ์์ฑํจ์ผ๋ก์จ ํผ๋๋ฐฑ์ ํตํด ์ค๋ฅ๋ฅผ ์์ ํ๋๋ก ํ๋ค.
5. ์ ํ๋ฆฌ์ผ์ด์ ํ ์คํธ ์ํ
1. ์ ํ๋ฆฌ์ผ์ด์
ํ
์คํธ ์ํํ๊ธฐ
๊ฐ. ํ๋ก์ ํธ ์ํ ๋จ๊ณ์ ๋ฐ๋ฅธ ํ
์คํธ์ ๋ถ๋ฅ
1) ๋จ์ ํ
์คํธ : ์์ ์ํํธ์จ์ด ๋จ์(์ปดํฌ๋ํธ ๋๋ ๋ชจ๋)๋ฅผ ํ
์คํธํ๋ ๊ฒ์ผ๋ก์, ์ผ๋ฐ์ ์ผ๋ก ๊ฐ๋ฐ์ ์์ ์ ์ํด ํํด์ง๋ค.
2) ํตํฉ ํ
์คํธ : ๋ชจ๋ ์ฌ์ด์ ์ธํฐํ์ด์ค, ํตํฉ๋ ์ปดํฌ๋ํธ ๊ฐ์ ์ํธ ์์ฉ์ ํ
์คํธํ๋ ๊ฒ์ผ๋ก, ํ๋์ ํ๋ก์ธ์ค๊ฐ ์์ฑ๋ ๊ฒฝ์ฐ ๋ถ๋ถ์ ์ผ๋ก ํตํฉ ํ
์คํธ๋ฅผ ์ํํ๋ ๊ฒฝ์ฐ๋ ์๋ค.
3) ์์คํ
ํ
์คํธ : ํตํฉ๋ ๋จ์ ์์คํ
์ ๊ธฐ๋ฅ์ด ์ปดํจํฐ ์์คํ
์์ ์ ์์ ์ผ๋ก ์ํ๋๋์ง๋ฅผ ํ
์คํธํ๋ ๊ฒ์ผ๋ก ์ฑ๋ฅ ๋ฐ ์ฅ์ ํ
์คํธ๊ฐ ์ฌ๊ธฐ์ ํฌํจ๋๋ค.
4) ์ธ์ ํ
์คํธ : ์ผ๋ฐ์ ์ผ๋ก ์ต์ข
์ฌ์ฉ์์ ์
๋ฌด์ ๋ฐ๋ฅธ ์ดํด๊ด๊ณ์ ๋ฑ์ด ํ
์คํธ๋ฅผ ์ํํจ์ผ๋ก์จ ๊ฐ๋ฐ๋ ์ ํ์ ๋ํด ์ด์ ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๋ ํ
์คํธ๋ก, ์ค์ ์
๋ฌด ์ ์ฉ ์ ์ ์ํํ๋ค.
๋. ํ
์คํธ ๋จ๊ณ๋ณ ๋๊ตฌ
1) ํ
์คํธ ๊ณํ : ์๊ตฌ์ฌํญ ๊ด๋ฆฌ
2) ํ
์คํธ ๋ถ์/์ค๊ณ : ํ
์คํธ์ผ์ด์ค ์์ฑ, ์ปค๋ฒ๋ฆฌ์ง ๋ถ์
3) ํ
์คํธ ์ํ : ํ
์คํธ ์๋ํ, ์ ์ ๋ถ์, ๋์ ๋ถ์, ์ฑ๋ฅ ํ
์คํธ, ๋ชจ๋ํฐ๋ง
4) ํ
์คํธ ํต์ : ํ์๊ด๋ฆฌ, ํ
์คํธ ๊ด๋ฆฌ, ๊ฒฐํจ ์ถ์ /๊ด๋ฆฌ
๋ค. ๊ฒฐํจ๊ด๋ฆฌ
1) ๊ฒฐํจ๊ด๋ฆฌ ํ๋ก์ธ์ค
๊ฐ) ๊ฒฐํจ๊ด๋ฆฌ ๊ณํ : ๊ฒฐํจ๊ด๋ฆฌ ๊ณํ์ ์ ์ฒด ํ๋ก์ธ์ค์์ ๊ฒฐํจ๊ด๋ฆฌ์ ๋ํ ์ผ์ , ์ธ๋ ฅ, ์
๋ฌด ํ๋ก์ธ์ค๋ฅผ ํ๋ณดํ์ฌ ๊ณํ์ ์๋ฆฝํ๋ ๊ฒ์ ๋งํ๋ค.
๋) ๊ฒฐํจ ๊ธฐ๋ก : ํ
์คํฐ๋ ๋ฐ๊ฒฌ๋ ๊ฒฐํจ์ ๋ํ ์ ๋ณด๋ฅผ ๊ฒฐํจ๊ด๋ฆฌ DB์ ๊ธฐ๋กํ๋ค.
๋ค) ๊ฒฐํจ ๊ฒํ : ๋ฑ๋ก๋ ๊ฒฐํจ์ ์์ด์ ์ฃผ์ ๋ด์ฉ์ ๊ฒํ ํ๊ณ , ๊ฒฐํจ์ ์์ ํ ๊ฐ๋ฐ์์๊ฒ ์ ๋ฌํ๋ค.
๋ผ) ๊ฒฐํจ ์์ : ๊ฐ๋ฐ์๋ ํ ๋น๋ ๊ฒฐํจ์ ํ๋ก๊ทธ๋จ์ ์์ ํ๋ค.
๋ง) ๊ฒฐํจ ์ฌํ์ธ : ํ
์คํฐ๋ ๊ฐ๋ฐ์๊ฐ ์์ ํ ๋ด์ฉ์ ํ์ธํ๊ณ ๋ค์ ํ
์คํธ๋ฅผ ์ํํ๋ค.
๋ฐ) ๊ฒฐํจ ์ํ ์ถ์ ๋ฐ ๋ชจ๋ํฐ๋ง ํ๋ : ๊ฒฐํจ๊ด๋ฆฌ ํ์ฅ์ ๊ฒฐํจ๊ด๋ฆฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ด์ฉํ์ฌ ๊ฒ์ํ ํํ์ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ค.
์ฌ) ์ต์ข
๊ฒฐํจ ๋ถ์ ๋ฐ ๋ณด๊ณ ์ ์์ฑ : ๋ฐ๊ฒฌ๋ ๊ฒฐํจ์ ๋ํ ๋ด์ฉ๊ณผ ์ดํด๊ด๊ณ์๋ค์ ์๊ฒฌ์ด ๋ฐ์๋ ๋ณด๊ณ ์๋ฅผ ์์ฑํ๊ณ ๊ฒฐํจ๊ด๋ฆฌ๋ฅผ ์ข
๋ฃํ๋ค.
2) ๊ฒฐํจ์ ์ํ ๋ฐ ์ถ์
๊ฐ) ๊ฒฐํจ ๋ฑ๋ก(Open) : ํ
์คํฐ์ ํ์ง ๊ด๋ฆฌ(QA) ๋ด๋น์์ ์ํด ๊ฒฐํจ์ด ์ฒ์ ๋ฐ๊ฒฌ๋์ด ๋ฑ๋ก๋์ง๋ง, ์์ง ๋ถ์์ด ๋์ง ์์ ์ํ์ด๋ค.
๋) ๊ฒฐํจ ๊ฒํ (Reviewed) : ๋ฑ๋ก๋ ๊ฒฐํจ์ ๋ด๋น ๋ชจ๋ ๊ฐ๋ฐ์, ํ
์คํฐ, ํ์ง ๊ด๋ฆฌ(QA) ๋ด๋น์์ ๊ฒํ ํ๋ ์ํ์ด๋ค.
๋ค) ๊ฒฐํจ ํ ๋น(Assigned) : ๊ฒฐํจ์ ์ํฅ ๋ถ์ ๋ฐ ์์ ์ ์ํด ๊ฐ๋ฐ์์ ๋ฌธ์ ํด๊ฒฐ ๋ด๋น์์๊ฒ ํ ๋น๋ ์ํ์ด๋ค.
๋ผ) ๊ฒฐํจ ์์ (Resolved) : ๊ฐ๋ฐ์์ ์ํด ๊ฒฐํจ์ ์์ ์ด ์๋ฃ๋ ์ํ์ด๋ค.
๋ง) ๊ฒฐํจ ์กฐ์น ๋ณด๋ฅ(Deferred) : ์์ ์ด ํ์ํ ๊ฒฐํจ์ด์ง๋ง ํ์ฌ ์์ ์ด ๋ถ๊ฐ๋ฅํด์ ์ฐ๊ธฐ๋ ์ํ๋ก์ ์ฐ์ ์์, ์ผ์ ๋ฑ์ ๊ณ ๋ คํ์ฌ ์ฌ์คํ์ ์ค๋นํ๋ ์ํ์ด๋ค.
๋ฐ) ๊ฒฐํจ ์ข
๋ฃ(Closed) : ๋ฐ๊ฒฌ๋ ๊ฒฐํจ์ด ํด๊ฒฐ๋๊ณ ํ
์คํฐ์ ํ์ง ๊ด๋ฆฌ(QA) ๋ด๋น์์ ์ํด ์ข
๋ฃ ์น์ธ์ ํ ์ํ์ด๋ค.
์ฌ) ๊ฒฐํจ ํด์ (Clarified) : ํ
์คํฐ, ํ์ง ๊ด๋ฆฌ(QA) ๋ด๋น์๊ฐ ๊ฒฐํจ์ ๊ฒํ ํ ๊ฒฐ๊ณผ, ๊ฒฐํจ์ด ์๋๋ผ๊ณ ํ๋ช
๋ ๊ฒฝ์ฐ์ด๋ค.
3) ๊ฒฐํจ ๋ถ๋ฅ
๊ฐ) ์์คํ
๊ฒฐํจ : ๋น์ ์์ ์ธ ์ข
๋ฃ/์ค๋จ, ์๋ต ์๊ฐ ์ง์ฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฌ ๋ฑ ์ฃผ๋ก ์ ํ๋ฆฌ์ผ์ด์
ํ๊ฒฝ๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฒ๋ฆฌ์์ ๋ฐ์ํ๋ ๊ฒฐํจ์ ๋งํ๋ค.
(1) ๋น์ ์์ ์ธ ์ข
๋ฃ/์ค๋จ : ํน์ ๊ธฐ๋ฅ ์คํ ์ ์์ฉ ํ๋ก๊ทธ๋จ์ ์๋ ์ ์ง, ์ข
๋ฃ, ์์คํ
๋ค์ด์ด ๋๋ ๊ฒฝ์ฐ์ด๋ค.
(2) ์๋ต ์๊ฐ ์ง์ฐ : ์์ฉ ํ๋ก๊ทธ๋จ ์๋ ํ ์กฐํ ๋๋ ๋ณด๊ณ ์ ์ถ๋ ฅ ์ ์ง์ฐ๋๋ ๊ฒฝ์ฐ์ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ, ํ๋์จ์ด์ ์ํํธ์จ์ด์ ๋น์ผ๊ด์ฑ์ผ๋ก ๋ฐ์๋๋ ๊ฒฝ์ฐ์ด๋ค.
(3) ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฌ : ์์ฉ ํ๋ก๊ทธ๋จ ์๋ ํ ์ฌ์ฉ์ ๋ฐ์ดํฐ์ ๋ฑ๋ก, ์์ , ์ญ์ , ์กฐํ๊ฐ ์ ์์ ์ผ๋ก ์๋ํ์ง ์๋ ๊ฒฝ์ฐ
๋) ๊ธฐ๋ฅ ๊ฒฐํจ : ์ฌ์ฉ์์ ์๊ตฌ์ฌํญ ๋ฏธ๋ฐ์/๋ถ์ผ์น, ๋ถ์ ํํ ๋น์ฆ๋์ค ํ๋ก์ธ์ค, ์คํฌ๋ฆฝํธ ์๋ฌ, ํ ์์คํ
์ฐ๋ ์ ์ค๋ฅ ๋ฑ ๊ธฐํ, ์ค๊ณ, ์
๋ฌด ์๋๋ฆฌ์ค ๋จ๊ณ์์ ๋ฐ์๋ ๊ฒฐํจ์ ๋งํ๋ค.
(1) ์๊ตฌ์ฌํญ ๋ฏธ๋ฐ์/๋ถ์ผ์น : ์๊ตฌ์ฌํญ์ ๋ช
์๋ ๊ธฐ๋ฅ์ด ์์ฉ ํ๋ก๊ทธ๋จ์ ๊ตฌํ๋์ง ์์ ๊ฒฝ์ฐ์ ๋ค๋ฅด๊ฒ ๊ตฌํ๋์ด ์๋ํ๋ ๊ฒฝ์ฐ
(2) ๋ถ์ ํํ ๋น์ฆ๋์ค ํ๋ก์ธ์ค : ๊ธฐ๋ฅ ์์ฒด๋ ์ํ๋๋ ๋ด๋ถ ํ๋ก์ธ์ค ๋ก์ง์ ๋ฌธ์ ๋ก ๋ถ์ ํํ ๊ฒฐ๊ณผ๋ฅผ ๋ด๋ ๊ฒฝ์ฐ์ด๋ค.
(3) ์คํฌ๋ฆฝํธ ์๋ฌ : ํน์ ๊ธฐ๋ฅ ์คํ ์ ์น ๋ธ๋ผ์ฐ์ ์์ ์คํฌ๋ฆฝํธ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ์ด๋ค.
(4) ํ ์์คํ
์ฐ๋ ์ ์ค๋ฅ : ๊ธฐ์กด ์์คํ
๊ณผ์ ์ฐ๋์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ณผ์ ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ์ด๋ค.
๋ค) GUI ๊ฒฐํจ : GUI ๊ฒฐํจ์ ์์ฉ ํ๋ก๊ทธ๋จ์ UI ๋น์ผ๊ด์ฑ, ๋ถ์ ํํ ์ปค์/๋ฉ์์ง, ๋ฐ์ดํฐ ํ์
์ ํ์ ์ค๋ฅ ๋ฑ์ผ๋ก ์ฌ์ฉ์ ํ๋ฉด ์ค๊ณ์์ ๋ฐ์๋ ๊ฒฐํจ์ ๋งํ๋ค.
(1) ์์ฉ ํ๋ก๊ทธ๋จ UI ๋น์ผ๊ด์ฑ : ํ๋ก์ ํธ์์ ์ ์ํ UI ํ์ค๊ณผ ์์ดํ๊ฒ ๊ตฌํ๋ ๊ฒฝ์ฐ์ด๋ค.
(2) ๋ถ์ ํํ ์ปค์/๋ฉ์์ง : ์ปค์์ ์์น๊ฐ ์
๋ ฅ ๋์์ ์ฒซ ๋ฒ์งธ ํ๋์ ์์นํด ์์ง ์๊ฑฐ๋, ํญ ์ํ์ค๊ฐ ์์ฐจ์ ์ผ๋ก ๋์ํ์ง ์๋ ๊ฒฝ์ฐ, ๊ฐ ๊ธฐ๋ฅ์์ ์ ๊ณตํ๋ ๋ฉ์์ง ๋ด์ฉ์ด ๋ถ์ ํํ ๋ด์ฉ์ ๋ณด์ฌ์ฃผ๋ ๊ฒฝ์ฐ์ด๋ค.
(3) ๋ฐ์ดํฐ ํ์
์ ํ์ ์ค๋ฅ : ์
๋ ฅ ํ๋์ ์ง์ ๋ ํ์๊ณผ ๋ค๋ฅด๊ฒ ์
๋ ฅํด๋ ์ ์ฅ์ด ๋๋ ๊ฒฝ์ฐ์ ์
๋ ฅ ํ๋์ ์ ํจํ์ง ์์ ๋ฐ์ดํฐ(Invalid Data)๋ฅผ ์
๋ ฅํ์ ๋ ์ค๋ฅ๊ฐ ๋๋ ๊ฒฝ์ฐ์ด๋ค.
๋ผ) ๋ฌธ์ ๊ฒฐํจ : ๊ธฐํ์, ์ฌ์ฉ์, ๊ฐ๋ฐ์ ๊ฐ์ ์์ฌ์ํต๊ณผ ๊ธฐ๋ก์ด ์ํํ์ง ์์ ๊ฒฝ์ฐ์ ๋ฐ์ํ๋ ๊ฒฐํจ์ผ๋ก ์ฌ์ฉ์์ ์จ๋ผ์ธ / ์คํ๋ผ์ธ ๋งค๋ด์ผ์ ๋ถ์ผ์น, ์๊ตฌ์ฌํญ ๋ถ์์์ ๊ธฐ๋ฅ ์๊ตฌ์ฌํญ์ ๋ถ์ผ์น๋ก ์ธํ ๋ถ์์ ํ ์ํ์ ๋ฌธ์์ ๊ฒฝ์ฐ๋ฅผ ๋งํ๋ค.
๋ง) ๊ฒฐํจ ๊ด๋ จ ์ฉ์ด
(1) ์๋ฌ(Error) : ์ํํธ์จ์ด ๊ฐ๋ฐ ๋๋ ์ ์ง ๋ณด์ ์ํ ์ค์ ๋ฐ์ํ ๋ถ์ ํํ ๊ฒฐ๊ณผ๋ก, ๊ฐ๋ฐ์์ ์ค์๋ก ๋ฐ์ํ ์คํ, ๊ฐ๋ฐ ๋ช
์ธ์์ ์๋ชป๋ ์ดํด, ์๋ธ๋ฃจํด์ ๊ธฐ๋ฅ ์คํด ๋ฑ์ด ์๋ค.
(2) ์ค๋ฅ(Fault) : ํ๋ก๊ทธ๋จ ์ฝ๋ ์์ ์กด์ฌํ๋ ๊ฒ์ผ๋ก ๋น์ ์์ ์ธ ํ๋ก๊ทธ๋จ๊ณผ ์ ์์ ์ธ ํ๋ก๊ทธ๋จ ๋ฒ์ ๊ฐ์ ์ฐจ์ด๋ก ์ธํ์ฌ ๋ฐ์๋๋ฉฐ, ์๋ชป๋ ์ฐ์ฐ์๊ฐ ์ฌ์ฉ๋ ๊ฒฝ์ฐ์ ํ๋ก๊ทธ๋จ์ด ์๋ธ๋ฃจํด์ผ๋ก๋ถํฐ์ ์๋ฌ ๋ฆฌํด์ ์ ๊ฒํ๋ ์ฝ๋๊ฐ ๋๋ฝ๋ ๊ฒ์ ๋งํ๋ค.
(3) ์คํจ(Failure) : ์ ์์ ์ธ ํ๋ก๊ทธ๋จ๊ณผ ๋น์ ์์ ์ธ ํ๋ก๊ทธ๋จ์ ์คํ ๊ฒฐ๊ณผ์ ์ฐจ์ด๋ฅผ ์๋ฏธํ๋ฉฐ, ํ๋ก๊ทธ๋จ ์คํ ์ค์ ํ๋ก๊ทธ๋จ์ ์ค์ ์คํ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ๋ฐ ๋ช
์ธ์์ ์ ์๋ ์์ ๊ฒฐ๊ณผ์ ๋น๊ตํจ์ผ๋ก์จ ๋ฐ๊ฒฌํ๋ค.
(4) ๊ฒฐํจ(Defect) : ๋ฒ๊ทธ, ์๋ฌ, ์ค๋ฅ, ์คํจ, ํ๋ก๊ทธ๋จ ์คํ์ ๋ํ ๋ฌธ์ ์ , ํ๋ก๊ทธ๋จ ๊ฐ์ ์ฌํญ ๋ฑ์ ์ ์ฒด๋ฅผ ํฌ๊ดํ๋ ์ฉ์ด์ด๋ค.
2. ์ ํ๋ฆฌ์ผ์ด์
๊ฒฐํจ ์กฐ์นํ๊ธฐ
๊ฐ. ๋ถํ ๋ฐ ์ฑ๋ฅ ํ
์คํธ
1) ๋์ ์ด์ฉ์ ์ : TPS(Throughput)*ํธ์ถ๊ฐ๊ฒฉ(์๋ต์๊ฐ(Sec)+๋๊ธฐ์๊ฐ(Sec))
2) ๋์ ๋จ๋ง ์ด์ฉ์(Concurrent User) : PC ์์ ์์์ ์์คํ
์ ์ด์ฉํ๋ ์ด์ฉ์๋ก์, Active User์ In-active User(๊ฐ์์ ์ ์ ) ์ ํฉ์ผ๋ก ์ ์ํ๋ค.
3) ์กํฐ๋ธ ์ด์ฉ์(Active User) : ๋์์ ๊ฐ์ ์๋น์ค๋ ์
๋ฌด๋ฅผ ์คํํ๊ณ ๋์ ์๋ต์ ๊ธฐ๋ค๋ฆฌ๊ณ ์๋ ์ด์ฉ์
4) ์ฒ๋ฆฌ๋(Throughtput) : ๋จ์ ์๊ฐ๋น ์ฒ๋ฆฌํ๋ ๊ฑด์๋ก์จ ๋จ์ ์๊ฐ๋น ์์ฒญ ๊ฑด์(Arrival rate)์ ๋จ์ ์๊ฐ๋น ์ฒ๋ฆฌ ๊ฑด์(Service Rate)๋ก ๊ตฌ๋ถ๋์ด ํํํ๋ค.
5) ๋๊ธฐ ์๊ฐ(Thinktime) : ์๋ต์ ๋ฐ์ ์งํ๋ถํฐ ๋ค์ ๋ช
๋ น ๋๋ ํธ์ถํ ๋๊น์ง ์ฌ์ฉ์๊ฐ ๋๊ธฐํ๋ ์๊ฐ
๋. ์ฅ์ ๋ณต๊ตฌ ํ
์คํธ
1) ์น ์๋ฒ ์ฅ์ ํ
์คํธ : ๋์ ์ค์ธ ์น ์๋ฒ 10๋ ์ค 1๋์ ์น ์๋ฒ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ ๋ก Killํ๋ค.
2) ์น ์ ํ๋ฆฌ์ผ์ด์
์ฅ์ ํ
์คํธ : ๋์ ์ค์ธ WAS์๋ฒ์ ์ธ์คํด์ค 8๊ฐ ์ค ์คํ ์ค์ธ ์ธ์คํด์ค ํ ๊ฐ๋ฅผ ๋ฉ์ถ๋ค.
3) ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฅ์ ํ
์คํธ : Activeํ Primary ์๋ฒ์ DB์๋น์ค๋ฅผ ๊ฐ์ ๋ก Killํ๋ค.
๋ค. ์ฝ๋ ์ธ์คํ์
(inspection, ์ ๊ฒ)
1) ์ธ์คํ์
: ์ธ์คํ์
์ ๊ฐ๋ฐ ๊ฐ์ด๋์ ๋ฐ๋ฅธ ํ์ค(์ฒดํฌ๋ฆฌ์คํธ)์ ์ค์ํ์๋์ง๋ฅผ ํ์
ํ๊ธฐ ์ํจ์ ์์ผ๋ฏ๋ก ๊ธฐ๋ฅ์ ์ผ๋ก ์ด์์ด ์๋ ์์ค ์ฝ๋๋ฅผ ๋์์ผ๋ก ๊ฒ์ฆํ๋ค.
2) ์ํฌ์ค๋ฃจ(walk-through) : ํ์ด๋ ๊ด๋ฆฌ์์ ํ์์ ๋ฐ๋ผ ์ง๋จ ํ ์ ํตํ์ฌ ํ๋ก๊ทธ๋จ ์ฐ์ถ๋ฌผ ํ๊ฐ์ ๊ฐ์ ์ ๋ํ์ฌ ๊ฒ์ฆํ๋ค.
3) ์ธ์คํ์
ํ์์ฑ
๊ฐ) ๊ฒฐํจ์ ๋นจ๋ฆฌ ์ฐพ์์๋ก ์์ (fix) ๋น์ฉ์ด ์ ๊ฒ ๋ ๋ค.
๋) ์ธ์คํ์
์ ๋ฐ์ดํฐ๋ฅผ ํตํด ์
๋ฌด์ ์ง์คํ ์ ์๋ค.
๋ค) ์ธ์คํ์
์ ํจ์ผ๋ก์จ ๊ต์ฐจ ๊ต์ก(Cross-training)์ ๋๋๋ค.
๋ผ) ์ ํ์ "re-engineering”์ด ๊ฐ๋ฅํ ์์ญ์ ์๋ณํ๋๋ก ๋๋๋ค.
๋ง) ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ๊ณ ์ ์งํ๋ ๋ฐ ์ ์ ๋น์ฉ์ด ๋ ๋ค.
๋ฐ) ์ค์ผ์ค์ ๊ธ์ ์ ์ธ ํจ๊ณผ๋ฅผ ์ค๋ค.
์ฌ) ํ์ง์ ํฅ์์ํจ๋ค.
3. ํ์๊ด๋ฆฌ
๊ฐ. ์ ์ : ํ์๊ด๋ฆฌ(configuration management)๋ ํ์ํญ๋ชฉ์ ์๋ณํ์ฌ ๊ทธ ๊ธฐ๋ฅ์ , ๋ฌผ๋ฆฌ์ ํน์ฑ์ ๋ฌธ์ํํ๊ณ , ๊ทธ๋ฌํ ํน์ฑ์ ๋ณ๊ฒฝ, ์ ์ด, ์ฒ๋ฆฌ ์ํ๋ฅผ ๊ธฐ๋ก ๋ฐ ๋ณด๊ณ ํ๋ฉด์ ๋ช
์๋ ์๊ตฌ์ฌํญ์ ๋ถํฉํ๋์ง ํ์ธ ๋ฐ ๊ฐ๋
ํ๋ ํ๋์ ์๋ฏธํ๋ค.
๋. ํน์ง
1) ํ์์ ํฌ๊ฒ ํ๋์จ์ด์ ์ํํธ์จ์ด๋ก ๊ตฌ๋ถํ์ฌ ๊ด๋ฆฌํ๋ค.
2) ํ์์ ์ํํธ์จ์ด ๊ฐ๋ฐ ์ฐ์ถ๋ฌผ(๋ฌธ์, ์ฝ๋ ๋ฑ)์ด ๋ฐฐ์น๋์ด ์๋ ํํ๋ฅผ ์๋ฏธํ๋ค.
3) ์ผ๋ฐ์ ์ผ๋ก ์ํํธ์จ์ด๊ฐ ํ๋์จ์ด๋ณด๋ค๋ ๋ณํ๊ฐ ๋ ๋น ๋ฅด๊ฒ ๋ฐ๋๋ค.
4) ์ํํธ์จ์ด๋ ํ๋ฃจ์๋ ๋ช๋ฒ์ฉ ๋ฐ๋ ์ ์์ผ๋ฉฐ, ์ด๋ ๋จ๊ณ์์๋ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ค.
5) ์ธ์ ์ด๋ป๊ฒ ๋ณ๊ฒฝ๋ ์ง ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ์ํํธ์จ์ด ํ์์ ๋ํ ๊ด๋ฆฌ๊ฐ ๋งค์ฐ ์ด๋ ต๋ค.
โ
4. ํ์๊ด๋ฆฌ ๋ถ์ผ๋ณ ์ญํ
๊ฐ. ๊ฒฝ์์ธต : ํ๋ก์ ํธ์ ํ์๊ด๋ฆฌ ํ๋์ ๋ํ ๋ฐฉ์นจ, ์์, ์๊ธ์ ์ ๊ณตํ๋ฉฐ ์ ๊ธฐ์ ์ผ๋ก ๊ฒํ ํ๋ค.
๋. ํ๋ก์ ํธ ๊ด๋ฆฌ์ : ํ๋ก์ ํธ์ ํ์๊ด๋ฆฌ ์กฐ์ง(ํ์๊ด๋ฆฌ์, ํ์ํต์ ์์ํ)์ ๊ตฌ์ฑํ๋ฉฐ, ๋ด๋ถ/์ธ๋ถ์ ๋ณ๊ฒฝ์์ฒญ์ ๋ํ ์ต์ข
์น์ธ๊ถํ์ ๊ฐ์ง๋ค. ๋ํ ํ์๊ด๋ฆฌ ํ๋์ ์ฃผ์ ์ฌ์์ ๊ฒฝ์์ธต์ ๋ณด๊ณ ํ๋ ์ญํ ์ ํ๋ค.
๋ค. ๊ฐ๋ฐ์ : ๋ฑ๋ก๋ ํ์ํญ๋ชฉ์ ์ฌ์ฉํ์ฌ ์์ง๋์ด๋ง ํ๋์ ์ํํ๊ณ , ๋ณ๊ฒฝ๋ ํ์ํญ๋ชฉ์ ๋ํ์ฌ ์กฐ์น๋ฅผ ์ทจํ๋ ์ญํ ์ ํ๋ค.
๋ผ. ํ์๊ด๋ฆฌ์ : ํ์๊ด๋ฆฌ ๊ณํ์์ ๋ฐ๋ผ ํ์๊ด๋ฆฌ ํ๋์ ์ํํ๋ ์ฌ๋์ผ๋ก์ ์ ์ฐจ์ ๋ฐ๋ผ ๋ฌธ์ํ ๋ฐ ๋ณ๊ฒฝ๊ด๋ฆฌ๋ฅผ ๋ด๋นํ๋ค.
๋ง. ํ์ํต์ ์์ํ : ํ์ํญ๋ชฉ์ ๋ณ๊ฒฝ์ ๋ํ์ฌ ์๋ฝ ๋ฐ ๊ฑฐ์ ํ๋ ์ญํ ์ ๋ด๋นํ๋ค. ์ผ๋ฐ์ ์ผ๋ก ํ๋ก์ ํธ ๊ด๋ฆฌ์, ํ์๊ด๋ฆฌ์, ํ์ง ๋ด๋น์, ๊ธฐ์ ๋ด๋น์, ๊ณ ๊ฐ๊ด๋ฆฌ ๋ด๋น์๋ก ๊ตฌ์ฑ๋๋ค.
โ
5. ํ์๊ด๋ฆฌ ์ ์ฐจ 4๋จ๊ณ
๊ฐ. 1๋จ๊ณ : ํ์์๋ณ : ํ์๊ด๋ฆฌ์ ์์์ผ๋ก ์์คํ
์ ๊ตฌ์ฑํ๋ ํ์๊ด๋ฆฌ์ ๋์๋ค์ ๊ตฌ๋ถํ๊ณ , ๊ด๋ฆฌ ๋ชฉ๋ก์ ๋ฒํธ๋ฅผ ๋ถ์ฌํ๋ค.
๋. 2๋จ๊ณ : ํ์ํต์ : ์ํํธ์จ์ด ํ์๋ณ๊ฒฝ ์ ์์ ๊ฒํ /์น์ธํ์ฌ ํ์ฌ์ ์ํํธ์จ์ด ๊ธฐ์ค์ ์ ๋ฐ์๋ ์ ์๋๋ก ํต์ ํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
๋ค. 3๋จ๊ณ : ํ์๊ฐ์ฌ : ํ์ํญ๋ชฉ์ ๋ณ๊ฒฝ์ด ์ ๋๋ก ์ด๋ฃจ์ด์ก๋์ง ๋ฌด๊ฒฐ์ฑ์ ๊ฒํ /์น์ธํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
๋ผ. 4๋จ๊ณ : ํ์๊ธฐ๋ก/๋ณด๊ณ : ํ๋ก์ ํธ์ ๋ํ ๋ชจ๋ ์ํฉ์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํ์ฌ ์ ๋ณด๋ฅผ ๊ธฐ๋กํ๊ณ , ๋ณด๊ณ ํ๋ค.
6. ํ์๊ด๋ฆฌ ์ ์ง๋ณด์
๊ฐ. ์ ์ : ์ํํธ์จ์ด์ ์ ์ง๋ณด์๋ ์ฌ์ฉ์์๊ฒ ๋ฐฐ๋ฌ๋์ด ์ฌ์ฉ๋๋ ๊ณผ์ ์์ ๋ฐ์ํ๋ ํ๋๋ค์ ์๋ฏธํ๋ฉฐ, ๊ฐ๋ฐ๊ณผ์ ์ ์ํ์ด๋ผ ํ ์ ์๋ค. ์ํํธ์จ์ด๋ ๊ณ์์ ์ผ๋ก ๋ณ๊ฒฝ๋๊ธฐ ๋๋ฌธ์ ์ ์ง๋ณด์ ๊ณผ์ ์ ์ฒด๊ณ์ ์ผ๋ก ๋ฌธ์ํํ์ฌ ๋ถ์ผ์น์ ํผ๋์ ์ต์ํํ์ฌ์ผ ํ๋ค.
๋. 4๊ฐ์ง ์ ํ
1) ์์ ์ ์ง๋ณด์(ํ์๋ณด์) : ํ๋ก๊ทธ๋จ์ด ์ฌ์ฉ์์๊ฒ ๋ฐฐ๋ฌ๋์ด ์ฌ์ฉ๋๋ ๋์์ ์ค๋ฅ๊ฐ ๋ฐ๊ฒฌ๋์ด ์์ ํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
2) ์ ์ ์ ์ง๋ณด์ : ๋ณ๊ฒฝ๋ ํ๊ฒฝ(ํ๋์จ์ด/์ํํธ์จ์ด)์ ๋ฐ๋ผ ์ ์ ํ๊ฒ ์กฐํ๋ฅผ ์ด๋ฃจ๋๋ก ์ํํธ์จ์ด๋ฅผ ๋ณ๊ฒฝ์ํค๋ ํ๋์ ์๋ฏธํ๋ค.
3) ์์ ์ ์ง๋ณด์ : ์์คํ
์ ์๋ฒฝ์ฑ์ ์ถ๊ตฌํด๊ฐ๋ ๊ณผ์ ์ผ๋ก ์ฌ์ฉ์๊ฐ ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ๋ฉด์ ํ์ํ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ฑฐ๋, ๋ณ๊ฒฝํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
4) ์๋ฐฉ ์ ์ง๋ณด์ : ๋ฏธ๋์ ์ ์ง๋ณด์๋ฅผ ์ํด ์ค๋นํ๋ ํ๋์ ์๋ฏธํ๋ค.
โ
7. ํ์ํญ๋ชฉ์ ์ ํฉ์ฑ
๊ฐ. ์ ์ : ์ ํฉ์ฑ์ด๋ ๊ฐ์ง๋ฐํ ๋ค์ด๋ง์ผ๋ฉฐ, ์ด๋ก ์ ๋ด๋ถ์ ๋ชจ์์ด ์๋ ๊ฒ, ๊ณต๋ฆฌ๊ณ(ๅ
ฌ็็)์์ ์ด๋ค ๋
ผ๋ฆฌ์์ ๋ํด ๊ทธ๊ฒ๊ณผ ๊ทธ๊ฒ์ ๋ถ์ ์ด ๋์์ ์ฑ๋ฆฝ๋์ง ์๋ ๊ฒ์ด๋ ์๋ฏธ์ด๋ค.
๋. ์ ํฉ์ฑ ๊ฒ์ฆ ์ ์ฐจ
1) ํ์๊ด๋ฆฌ ๊ณํ ์๋ฆฝ : ํ์๊ด๋ฆฌ๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ์ํํ๊ธฐ ์ํด ํ์๊ด๋ฆฌ ๊ณํ์ ์๋ฆฝํด์ผ ํ๋ค.
2) ์ฐ์ถ๋ฌผ ํ๊ฐ ์ํ : ์ํํธ์จ์ด์ ํ์์ ๋ํ์ฌ ์ ์ง๋ณด์ ๋ฐ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํ์ฌ ์ฃผ๊ธฐ์ ์ผ๋ก ํ๊ฐํ๊ณ ํ์ธํด์ผ ํ๋ค.
6. SQL ํ์ฉ
1. ๊ธฐ๋ณธ SQL ์์ฑํ๊ธฐ
๊ฐ. DDL(๋ฐ์ดํฐ ์ ์์ด) : DDL(Data Definition Language)์ `๋ฐ์ดํฐ๋ฅผ ์ ์ํ๋ ์ธ์ด'๋ก์ BMS์์๋ ์ค๋ธ์ ํธ๋ผ๊ณ ํ๋ค. (๋ฐ์ดํฐ๋ฅผ ๋ด๋ ๊ทธ๋ฆ(ํ
์ด๋ธ)์ ์ ์ํ๋ ์ธ์ด)
1) DDL ๊ด๋ จ ์ฉ์ด
๊ฐ) ์คํค๋ง(Schema) : DBMS ํน์ฑ๊ณผ ๊ตฌํ ํ๊ฒฝ์ ๊ฐ์ํ ๋ฐ์ดํฐ ๊ตฌ์กฐ
๋) ๋๋ฉ์ธ(Domain) : ์์ฑ์ด ๊ฐ์ง ์ ์๋ ๊ฐ์ ๋ฒ์
๋ค) ํ
์ด๋ธ(Table) : ๋ฐ์ดํฐ ์ ์ฅ ๊ณต๊ฐ
๋ผ) ๋ทฐ(View) : ํ๋ ์ด์์ ๋ฌผ๋ฆฌ ํ
์ด๋ธ์์ ์ ๋๋๋ ๊ฐ์์ ๋
ผ๋ฆฌ ํ
์ด๋ธ
๋ง) ์ธ๋ฑ์ค(Index) : ๊ฒ์์ ๋น ๋ฅด๊ฒ ํ๊ธฐ ์ํ ๋ฐ์ดํฐ ๊ตฌ์กฐ
2) DDL ๋ช
๋ น์ด
๊ฐ) CREATE : ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๋ธ์ ํธ ์์ฑ
๋) ALTER : ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๋ธ์ ํธ ๋ณ๊ฒฝ
๋ค) DROP : ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๋ธ์ ํธ ์ญ์
3) DDL ํ์ฉ ์์
CREATE TABLE ๊ณ ๊ฐ (
๊ณ ๊ฐID int NOT NULL,
๊ณ ๊ฐ๋ช
varchar(10),
์ ๋ฆฝ๊ธ varchar(10),
PRIMARY KEY (๊ณ ๊ฐID)
);
CREATE TABLE ๊ตฌ๋งค (
๊ณ ๊ฐID int NOT NULL,
๊ตฌ๋งค์ผ์ varchar(10),
๊ฒฐ์ฌ๋ฐฉ์ varchar(10),
ISBN varchar(10),
PRIMARY KEY (๊ณ ๊ฐID),
FOREIGN KEY (๊ณ ๊ฐID) REFERENCES ๊ณ ๊ฐ(๊ณ ๊ฐID) ON DELETE CASCADE
);
โป ๋ชจ๋ ํ
์ด๋ธ ๊ฒ์ : SELECT * FROM tab;
โป ํ
์ด๋ธ ํ๋/์์ฑ ํ์ธ(์ค๋ผํด) : DESC ํ
์ด๋ธ๋ช
;
โป ์๋ ์ฆ๊ฐ : AUTO_INCREMENT
โป ํ
์ด๋ธ ์์ฑ ํ์ธ : DESC ๊ณ ๊ฐ
โป ์ ์ฝ์กฐ๊ฑด ( CONSTRAINT ) : ๋ฌด๊ฒฐ์ฑ์ ์งํค๊ธฐ ์ํด ์ ํ๋ ์กฐ๊ฑด์ ์๋ฏธํจ.
ex) CONSTRAINT ๊ณ ๊ฐ_๊ตฌ๋งค_fk FOREIGN KEY (๊ณ ๊ฐID) REFERENCES ๊ณ ๊ฐ(๊ณ ๊ฐID)
- NOT NULL : NULL๊ฐ์ ํ์ฉํ์ง ์๋๋ค.
- UNIQUE : ์ค๋ณต๋ ๊ฐ์ ๊ฐ์ง์ ์๋ ์ ์ผํ ๊ฐ์ด๋ค.
- CHECK : ์กฐ๊ฑด์ ๋ง๋ data๋ง ํ์ฉํ๋ค.
- PRIMARY KEY : ๋ฐ๋์ ์กด์ฌํด์ผํ๋ฉฐ, ์ ์ผํ ๊ฐ์ด์ด์ผ ํ๋ค.
- FOREIGN KEY : ๋ค๋ฅธ ํ
์ด๋ธ์์ ํค๊ฐ์ ์ฐธ์กฐํ๋ค.
- DEFAULT : ๊ธฐ๋ณธ๊ฐ์ ๊ฐ์ง๋ค.
ALTER TABLE ๊ณ ๊ฐ ADD ๋ฉ์ผ varchar(255);
ALTER TABLE ๊ณ ๊ฐ DROP COLUMN ๋ฉ์ผ;
DROP TABLE ๊ณ ๊ฐ;
๋. DML (๋ฐ์ดํฐ ์กฐ์์ด) : ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ๋ ๋ช
๋ น์ด๋ฅผ DML(Data Manipulation Language)์ด๋ผ๊ณ ํ๋ค. ์ฌ๊ธฐ์ ์กฐ์์ ๋ฐ์ดํฐ ๊ด์ ์์ ์๋ช
์ฃผ๊ธฐ๋ฅผ ์ ์ดํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
1) DML ๋ช
๋ น์ด
๊ฐ) INSERT : ํ
์ด๋ธ์ ๋ด์ฉ์ ์ฝ์
๋) SELECT : ํ
์ด๋ธ์ ๋ด์ฉ์ ์กฐํ
๋ค) UPDATE : ํ
์ด๋ธ์ ๋ด์ฉ์ ๋ณ๊ฒฝ
๋ผ) DELETE : ํ
์ด๋ธ์ ๋ด์ฉ์ ์ญ์
2) DML ํ์ฉ ์์
INSERT INTO ๊ณ ๊ฐ (๊ณ ๊ฐID, ๊ณ ๊ฐ๋ช
, ์ ๋ฆฝ๊ธ)
VALUES ('1', '์ฅ๋๊ฑด', '100');
โป ์ํ์ค(custno_seq)๊ฐ ์ค์ ๋ ๊ฒฝ์ฐ
INSERT INTO ๊ณ ๊ฐ VALUES (custno_seq.nextval, '์ฅ๋๊ฑด', '200');
SELECT * FROM ๊ณ ๊ฐ;
SELECT ๊ณ ๊ฐ๋ช
, ์ ๋ฆฝ๊ธ FROM ๊ณ ๊ฐ
WHERE ๊ณ ๊ฐID=1;
โป ๋ชจ๋ ํ
์ด๋ธ ๊ฒ์ : SELECT * FROM tab;
UPDATE ๊ณ ๊ฐ
SET ๊ณ ๊ฐ๋ช
= '๊ณ ์์', ์ ๋ฆฝ๊ธ= '1000'
WHERE ๊ณ ๊ฐID = 1;
DELETE FROM ๊ณ ๊ฐ WHERE ๊ณ ๊ฐID=1;
๋ค. DCL (๋ฐ์ดํฐ ์ ์ด์ด) : ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ ์ด์ธ์ ์ค๋ธ์ ํธ์ ๋ํด ์กฐ์ํ ํ์๊ฐ ์๋ค. ์ด๋ ์ฌ์ฉํ๋ SQL ๋ช
๋ น์ DCL(Data Control Language)์ด๋ผ๊ณ ํ๋ค.
1) DCL ์ ์ด ๋์
๊ฐ) ์ฌ์ฉ์ ๊ถํ : ์ฌ์ฉ์๋ฅผ ๋ฑ๋กํ๊ณ , ์ฌ์ฉ์์๊ฒ ํน์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ถ๋ฆฌ๋ฅผ ๋ถ์ฌํ๋ ์์
๋) ํธ๋์ญ์
: ์์ ํ ๊ฑฐ๋ ๋ณด์ฅ์ผ๋ก ๋์์ ๋ค์์ ์์
์ ๋
๋ฆฝ์ ์ผ๋ก ์์ ํ๊ฒ ์ฒ๋ฆฌํ๊ธฐ ์ํ ์ํธ ์์ฉ ๋จ์
2) DCL ๋ช
๋ น์ด
๊ฐ) GRANT : ์ฌ์ฉ์ ๊ถํ ๋ถ์ฌ
๋) REVOKE : ์ฌ์ฉ์ ๊ถํ ํ์
๋ค) COMMIT : ํธ๋์ญ์
ํ์
๋ผ) ROLLBACK : ํธ๋์ญ์
์ทจ์
3) DCL ํ์ฉ ์์
โป ํ
์คํธ๋ฅผ ์ํด ์๋ก์ด ๊ณ์ (์์ด๋)์ ๋ง๋ฌ : jjang
- CONNECT system/1234;
- CREATE USER jjang IDENTIFIED BY 1234;
- GRANT CREATE SESSION TO jjang;
- GRANT CREATE TABLE TO jjang;
- GRANT SELECT ANY TABLE TO jjang;
โป ๋ชจ๋ ๊ถํ ๋ถ์ฌ : GRANT CONNECT, RESOURCE, DBA TO jjang;
- REVOKE CREATE SESSION FROM jjang;
- INSERT INTO ๊ณ ๊ฐ VALUE ('2', '์ฅ๋๊ฑด', '100');
COMMIT;
- SELECT * FROM ๊ณ ๊ฐ;
- DELETE FROM ๊ณ ๊ฐ WHERE ๊ณ ๊ฐ๋ช
='์ฅ๋๊ฑด' ;
ROLLBACK;
- SELECT * FROM ๊ณ ๊ฐ;
๋ผ. ๋ฐ์ดํฐ ์ฌ์ : ๋ฐ์ดํฐ ์ฌ์ (Data Dictionary)์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ์ดํฐ๋ฅผ ์ ์ธํ ๋ชจ๋ ์ ๋ณด๊ฐ ์๋ค. ๋ฐ์ดํฐ ์ฌ์ ๋ด์ฉ์ ๋ณ๊ฒฝํ๋ ๊ถํ์ ์์คํ
์ด ๊ฐ์ง๋ฉฐ, ์ฌ์ฉ์์๊ฒ๋ ์ฝ๊ธฐ ์ ์ฉ ํ
์ด๋ธ ํํ๋ก ์ ๊ณต๋๋ฏ๋ก ๋จ์ ์กฐํ๋ง ๊ฐ๋ฅํ๋ค.
1) ๋ฐ์ดํฐ ์ฌ์ ๋ด์ฉ
๊ฐ) ์ฌ์ฉ์ ์ ๋ณด(์์ด๋, ํจ์ค์๋ ๋ฐ ๊ถํ ๋ฑ)
๋) ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด ์ ๋ณด(ํ
์ด๋ธ, ๋ทฐ, ์ธ๋ฑ์ค ๋ฑ)
๋ค) ๋ฌด๊ฒฐ์ฑ ์ ์ฝ ์ ๋ณด
๋ผ) ํจ์, ํ๋ก์์ ๋ฐ ํธ๋ฆฌ๊ฑฐ ๋ฑ
2) ๋ฐ์ดํฐ ์ฌ์ ์์ญ
๊ฐ) DBA : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ชจ๋ ๊ฐ์ฒด ์กฐํ ๊ฐ๋ฅ (DBA_๋ ์์คํ
์ ๊ทผ ๊ถํ ์๋ฏธ)
๋) ALL : ์์ ์ ๊ณ์ ์ผ๋ก ์ ๊ทผ ๊ฐ๋ฅํ ๊ฐ์ฒด์ ํ ๊ณ์ ์ ์ ๊ทผ ๊ถํ์ ๊ฐ์ง ๋ชจ๋ ๊ฐ์ฒด ์กฐํ ๊ฐ๋ฅ
๋ค) USER : ํ์ฌ ์์ ์ ๊ณ์ ์ด ์์ ํ ๊ฐ์ฒด ์กฐํ ๊ฐ๋ฅ
3) ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ๋ฐ์ดํฐ ์ข
๋ฅ
๊ฐ) ์ ์ฅ ๋ฐ์ดํฐ : ์ปดํจํฐ๋ฅผ ํตํด ์ ๊ทผ ๊ฐ๋ฅํ ์ ์ฅ ๋งค์ฒด์ ์ ์ฅ๋ ๋ฐ์ดํฐ
๋) ํตํฉ ๋ฐ์ดํฐ : ์ค๋ณต์ด ์ต์ํ๋ ๋ฐ์ดํฐ
๋ค) ๊ณต์ ๋ฐ์ดํฐ : ์ฌ๋ฌ ์์ฉ ํ๋ก๊ทธ๋จ์ด ๊ณต๋์ผ๋ก ์ฌ์ฉํ๋ ๋ฐ์ดํฐ
๋ผ) ์ด์ ๋ฐ์ดํฐ : ์กฐ์ง์ ๋ชฉ์ ์ ์ํด ์กด์ฌ ๊ฐ์น๊ฐ ํ์คํ๊ณ ๋ฐ๋์ ํ์ํ ๋ฐ์ดํฐ
2. ๊ณ ๊ธ SQL ์์ฑํ๊ธฐ
๊ฐ. ์ธ๋ฑ์ค : ์ธ๋ฑ์ค๋ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์๋ ์๋จ์ผ๋ก์, ํ
์ด๋ธ์ ๋ํ ์กฐํ ์๋๋ฅผ ๋์ฌ ์ฃผ๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ผ์ปซ๋๋ค. ์ธ๋ถ์ ์ผ๋ก ์ ๊ทํ๋์ง ์์ ํ
์ด๋ธ์์ ํ์ํ ์์ฑ(์ปฌ๋ผ)๋ถ๋ถ๋ง ๋จผ์ ์ถ์ถ ํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ค. SELECT๋ฌธ๊ณผ ๋น์ทํ์ง๋ง DDL๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ํ
์ด๋ธ์ ์ค์ ๋ก ๋ง๋ค์ด, ์ญ์ ํ๋ค.
1) ์ธ๋ฑ์ค ์์ฑ
CREATE INDEX <index_name> ON <table_name> (<column(s)>);
2) ์ธ๋ฑ์ค ์ญ์
DROP INDEX <index name>;
3) ์ธ๋ฑ์ค ๋ณ๊ฒฝ
ALTER INDEX <index name> ON <table name> (<column(s)>);
โ
๋. ๋ทฐ(View) : ๋ทฐ๋ ์ฌ์ฉ์์ ๊ด์ ์์ ํ์ํ ๋ถ๋ถ๋ง ๊ณจ๋ผ์ ๋
ผ๋ฆฌ์ ์ผ๋ก ๋ง๋ ๊ฐ์ ํ
์ด๋ธ์ ์๋ฏธํ๋ค.
1) ๋ทฐ์ ์ฅ์
๊ฐ) ๋
ผ๋ฆฌ์ ๋
๋ฆฝ์ฑ ์ ๊ณต : ๋
ผ๋ฆฌ(๊ฐ์) ํ
์ด๋ธ๋ก ํ
์ด๋ธ์ ๊ตฌ์กฐ๊ฐ ๋ณ๊ฒฝ๋์ด๋ ๋ทฐ๋ฅผ ์ฌ์ฉํ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ณ๊ฒฝํ์ง ์์๋ ๋จ.
๋) ์ฌ์ฉ์ ๋ฐ์ดํฐ ๊ด๋ฆฌ ์ฉ์ด : ๋ณต์ ํ
์ด๋ธ์ ์กด์ฌํ๋ ์ฌ๋ฌ ์ข
๋ฅ์ ๋ฐ์ดํฐ์ ๋ํด ๋จ์ํ ์ง์์ด ์ฌ์ฉ์ด ๊ฐ๋ฅ
๋ค) ๋ฐ์ดํฐ ๋ณด์ ์ฉ์ด : ์ค์ ๋ณด์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ ์ค์ธ ํ
์ด๋ธ์๋ ์ ๊ทผ ๋ถํํ๊ณ , ํด๋น ํ
์ด๋ธ์ ์ผ๋ถ ์ ๋ณด๋ง์ ๋ณผ ์ ์๋ ๋ทฐ์๋ ์ ๊ทผ์ ํ์ฉํ๋ ๋ฐฉ์์ผ๋ก ๋ณด์ ๋ฐ์ดํฐ์ ๋ํ ์ ๊ทผ ์ ์ด ๊ฐ๋ฅ
2) ๋ทฐ์ ๋จ์
๊ฐ) ๋ทฐ ์์ฒด ์ธ๋ฑ์ค ๋ถ๊ฐ : ์ธ๋ฑ์ค๋ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๋์์ผ๋ก ํ๊ธฐ์ ๋
ผ๋ฆฌ์ ๊ตฌ์ฑ์ธ ๋ทฐ ์์ฒด๋ ์ธ๋ฑ์ค๋ฅผ ๊ฐ์ง์ง ๋ชปํจ.
๋) ๋ทฐ ์ ์ ๋ณ๊ฒฝ ๋ถ๊ฐ : ๋ทฐ์ ์ ์๋ฅผ ๋ณ๊ฒฝํ๋ ค๋ฉด ๋ทฐ๋ฅผ ์ญ์ ํ๊ณ ์ฌ์์ฑํ์ฌ์ผ ํจ.
๋ค) ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ ์ฝ ์กด์ฌ : ๋ทฐ์ ๋ด์ฉ์ ๋ํ ์ฝ์
, ์ญ์ , ๋ณ๊ฒฝ ์ ์ฝ์ด ์์.
3) ๋ทฐ ์ฌ์ฉ ์์
CREATE VIEW <๋ทฐ์ด๋ฆ> AS select * from <ํ
์ด๋ธ๋ช
>;
SELECT * FROM <๋ทฐ์ด๋ฆ>;
DROP VIEW <๋ทฐ์ด๋ฆ>;
๋ค. ๋ค์ค ํ
์ด๋ธ ๊ฒ์ : ๋ฐ์ดํฐ๋ฅผ ๋ถํดํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ ๊ทํ ๊ธฐ๋ฒ์ด ์ฌ์ฉ๋๋ฉฐ, ํตํฉํ๋ ๊ธฐ๋ฒ์ผ๋ก ๋ค์ค ํ
์ด๋ธ์ ๋ํ ๊ฒ์์ด ์ฌ์ฉ๋๋ค.
1) ๋ค์ค ํ
์ด๋ธ ์ฌ์ฉ ๊ธฐ๋ฒ
๊ฐ) ์กฐ์ธ : ๋ ๊ฐ์ ํ
์ด๋ธ์ ๊ฒฐํฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๋ ๊ธฐ๋ฒ
๋) ์๋ธ์ฟผ๋ฆฌ : SQL๋ฌธ ์์ ํฌํจ๋ SQL๋ฌธ ํํ์ ์ฌ์ฉ ๊ธฐ๋ฒ
๋ค) ์งํฉ์ฐ์ฐ : ํ
์ด๋ธ์ ์งํฉ ๊ฐ๋
์ผ๋ก ์กฐ์ํ๋ ๊ธฐ๋ฒ
2) ์กฐ์ธ
๊ฐ) ๋ด๋ถ์กฐ์ธ(INNER JOIN)
- ์ ์ : ๋ ํ
์ด๋ธ์ ๊ณตํต์ผ๋ก ์กด์ฌํ๋ ํ๋๊ฐ์ ์ด์ฉํ์ฌ ํ
์ด๋ธ์ ํฉํ๋ ๋ฐฉ๋ฒ
(1) ๋ด๋ถ์กฐ์ธ(INNER JOIN) : ์กฐ๊ฑด(WHRER)๊ณผ ์ผ์นํ๋ ๋ฐ์ดํฐ๋ฅผ ์ค์ฌ์ผ๋ก ํ
์ด๋ธ์ ํฉํ๋ค.
[ ๊ณ ๊ฐ ]
๊ณ ๊ฐ์์ด๋
๊ณ ๊ฐ๋ช
์ ๋ฆฝ๊ธ
[ ๊ตฌ๋งค ]
๊ณ ๊ฐ์์ด๋
๊ตฌ๋งค์ผ์
๊ฒฐ์ฌ๋ฐฉ์
ISBN
[ ๋ช
์์ ํํ๋ฒ ]
SELECT *
FROM ๊ณ ๊ฐ
INNER JOIN ๊ตฌ๋งค
ON ๊ณ ๊ฐ.๊ณ ๊ฐ์์ด๋ = ๊ตฌ๋งค.๊ณ ๊ฐ์์ด๋;
[ ์๋ฌต์ ํํ๋ฒ ] --->> ์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
SELECT *
FROM ๊ณ ๊ฐ, ๊ตฌ๋งค
WHERE ๊ณ ๊ฐ.๊ณ ๊ฐ์์ด๋ = ๊ตฌ๋งค.๊ณ ๊ฐ์์ด๋;
๊ณ ๊ฐ์์ด๋ JJANG
๊ณ ๊ฐ๋ช
๋๊ฑด
์ ๋ฆฝ๊ธ 100
๊ณ ๊ฐ์์ด๋ JJANG
๊ตฌ๋งค์ผ์ 12.05.
๊ฒฐ์ฌ๋ฐฉ์ ์นด๋
ISBN 09383
โป ํน์ง : ๊ณตํต์ ๊ฐ์ ๊ฐ์ง ์์ฑ(ํ๋)์ด ๋๋ฒ ์ถ๋ ฅ๋จ. ex) ๊ณ ๊ฐ์์ด๋, ๊ณ ๊ฐ์์ด๋
(2) ์์ฐ์กฐ์ธ(NATURAL JOIN) : ๋ด๋ถ์กฐ์ธ์์ ์ค๋ณต๋ ์์ฑ์ ํ๋๋ก ์ถ๋ ฅ (์ค๋ณต์ ๊ฑฐ)
[ ์์ฐ ์กฐ์ธ ]
SELECT *
FROM ๊ณ ๊ฐ NATURAL JOIN ๊ตฌ๋งค;
๊ณ ๊ฐ์์ด๋ JJANG
๊ณ ๊ฐ๋ช
๋๊ฑด
์ ๋ฆฝ๊ธ 100
๊ตฌ๋งค์ผ์ 12.05.
๊ฒฐ์ฌ๋ฐฉ์ ์นด๋
ISBN 09383
๋) ์ธ๋ถ์กฐ์ธ(OUTER JOIN)
- ์ ์ : ๊ณตํต์ ์กด์ฌํ๋ ํ๋๊ฐ์ด ์์ด๋ null ๊ฐ์ผ๋ก ๋ํ
์ด๋ธ์ ํ๋๋ก ํฉํ๋ ๋ฐฉ๋ฒ
(1) ์ผ์ชฝ ์ธ๋ถ์กฐ์ธ(LEFT OUTER JOIN) : ๋ด๋ถ์กฐ์ธ์์ ์ผ์ชฝ ํ
์ด๋ธ์ ๊ธฐ์ค์ผ๋ก ๊ณตํต์ ๋ฐ์ดํฐ๊ฐ ์๋๋ผ๋ null๊ฐ์ผ๋ก ํ
์ด๋ธ์ ์์ฑํ๋ค.โ
[ ์ผ์ชฝ ์ธ๋ถ์กฐ์ธ ]
SELECT *
FROM ๊ณ ๊ฐ LEFT OUTER JOIN ๊ตฌ๋งค
ON ๊ณ ๊ฐ.๊ณ ๊ฐ์์ด๋ = ๊ตฌ๋งค.๊ณ ๊ฐ์์ด๋;
๊ณ ๊ฐ์์ด๋ JJANG
๊ณ ๊ฐ๋ช
๋๊ฑด
์ ๋ฆฝ๊ธ 100
๊ณ ๊ฐ์์ด๋ null
๊ตฌ๋งค์ผ์ null
๊ฒฐ์ฌ๋ฐฉ์ null
ISBN null
(2) ์ค๋ฅธ์ชฝ ์ธ๋ถ์กฐ์ธ(RIGHT OUTER JOIN) : ๋ด๋ถ์กฐ์ธ์์ ์ค๋ฅธ์ชฝ ํ
์ด๋ธ์ ๊ธฐ์ค์ผ๋ก ๊ณตํต์ ๋ฐ์ดํฐ๊ฐ ์๋๋ผ๋ null๊ฐ์ผ๋ก ํ
์ด๋ธ์ ์์ฑํ๋ค.โ
[ ์ค๋ฅธ์ชฝ ์ธ๋ถ์กฐ์ธ ]
SELECT *
FROM ๊ณ ๊ฐ RIGHT OUTER JOIN ๊ตฌ๋งค
ON ๊ณ ๊ฐ.๊ณ ๊ฐ์์ด๋ = ๊ตฌ๋งค.๊ณ ๊ฐ์์ด๋;
๊ณ ๊ฐ์์ด๋ null
๊ณ ๊ฐ๋ช
null
์ ๋ฆฝ๊ธ null
๊ณ ๊ฐ์์ด๋ JJANG
๊ตฌ๋งค์ผ์ 12.05.
๊ฒฐ์ฌ๋ฐฉ์ ์นด๋
ISBN 09383
3) ์๋ธ์ฟผ๋ฆฌ
๊ฐ) GROUP BY ๋ฅผ ์ด์ฉํ ๊ทธ๋ฃนํ
- ์ ์ : ํ
์ด๋ธ์ ํน์ ์์ฑ์ผ๋ก ๊ทธ๋ฃนํํ์ฌ ์ง๊ณํฉ์(sum, avg, count ๋ฑ)๋ฅผ ์ด์ฉํ์ฌ ํ
์ดํฐ๋ฅผ ๊ณ์ฐํจ.
[ ์ ๋ฆฝ๊ธ์ ๋ฐ๋ฅธ ๊ณ ๊ฐ์ ]
SELECT ์ ๋ฆฝ๊ธ, COUNT(*) AS ๊ณ ๊ฐ์
FROM ๊ณ ๊ฐ
GROUP BY ์ ๋ฆฝ๊ธ;
[ ์ ๋ฆฝ๊ธ์ ๋ฐ๋ฅธ ๊ณ ๊ฐ์๊ฐ 2๋ช
์ด์์ธ ๊ณ ๊ฐ์
SELECT ์ ๋ฆฝ๊ธ, COUNT(*) AS ๊ณ ๊ฐ์
FROM ๊ณ ๊ฐ
WHERE ๊ณ ๊ฐID > 10 // WHERE ์ ์ ํน๋ณํ ์กฐ๊ฑด์ด ์์ ๊ฒฝ์ฐ ์๋ต๊ฐ๋ฅ
GROUP BY ์ ๋ฆฝ๊ธ
HAVING COUNT(*) >= 2; // ๋ฐ๋์ GROUP BY์ ํจ๊ป ์ฌ์ฉ๋๋ฉฐ, ๊ทธ๋ฃน์ ์กฐ๊ฑด์ ๋ช
์(๊ณ ๊ฐ์ ์กฐ๊ฑด)
๋) SQL ๋ค์ค์ฒ๋ฆฌ๋ฌธ(์๋ธ์ฟผ๋ฆฌ)์ ์ด์ฉํ ๊ทธ๋ฃนํ
- ์ ์ : ํ
์ด๋ธ์ ํน์ ์์ฑ์ผ๋ก ๊ทธ๋ฃนํํ์ฌ ์ง๊ณํฉ์(sum, avg, count ๋ฑ)๋ฅผ ์ด์ฉํ์ฌ ํ
์ดํฐ๋ฅผ ๊ณ์ฐํจ.
[ '20200405'์ผ์์ ๊ตฌ๋งคํ ๊ณ ๊ฐ๋ช
๊ฒ์ ]
SELECT ๊ณ ๊ฐ๋ช
FROM ๊ณ ๊ฐ
WHERE ๊ณ ๊ฐID = ( SELECT ๊ณ ๊ฐID FROM ๊ตฌ๋งค WHRER ๊ตฌ๋งค์ผ์ = '20200405');
[ ๊ตฌ๋งคํ๋์ ํ์ง ์์ ๊ณ ๊ฐ์ ๋ณด ๊ฒ์ ]
SELECT *
FROM ๊ณ ๊ฐ
WHERE ๊ณ ๊ฐID NOT IN ( SELECT ๊ณ ๊ฐID FROM ๊ตฌ๋งค );
โป ORDER BY ๋ฅผ ์ด์ฉํ ์ ๋ ฌ(๋ด๋ฆผ์ฐจ์, ์ค๋ฆ์ฐจ์)
- ์ ์ : ํ
์ด๋ธ์ ๊ฐ์ ๋ด๋ฆผ์ฐจ์( 4, 3, 2, 1) ๋๋ ์ค๋ฆ์ฐจ์(1, 2, 3, 4, 5)์ผ๋ก ์ ๋ ฌํ์ฌ ๊ฒ์
[๊ณ ๊ฐ ํ
์ด๋ธ์์ ๊ณ ๊ฐ๋ช
(์ค๋ฆ์ฐจ์), ์ ๋ฆฝ๊ธ(๋ด๋ฆผ์ฐจ์)์ผ๋ก ๊ฒ์]
SELECT ๊ณ ๊ฐ๋ช
, ์ ๋ฆฝ๊ธ
FROM ๊ณ ๊ฐ
ORDER BY ๊ณ ๊ฐ๋ช
ASC, ์ ๋ฆฝ๊ธ DESC;
4) ์งํฉ์ฐ์ฐ
๊ฐ) ์งํฉ ์ฐ์ฐ์ ์ ํ
(1) UNION : ์ฌ๋ฌ SQL๋ฌธ์ ๊ฒฐ๊ณผ์ ๋ํ ํฉ์งํฉ(์ค๋ณต ํ ์ ๊ฑฐํจ.)
(2) UNION ALL : ์ฌ๋ฌ SQL๋ฌธ์ ๊ฒฐ๊ณผ์ ๋ํ ํฉ์งํฉ(์ค๋ณต ํ ์ ๊ฑฐํ์ง ์์.)
(3) INTERSECTION : ์ฌ๋ฌ SQL๋ฌธ์ ๊ฒฐ๊ณผ์ ๋ํ ๊ต์งํฉ(์ค๋ณต ํ ์ ๊ฑฐํจ.)
(4) EXCEPT (MINUS) : ์์ SQL๋ฌธ์ ๊ฒฐ๊ณผ์ ๋ค์ SQL๋ฌธ์ ๊ฒฐ๊ณผ ์ฌ์ด์ ์ฐจ์งํฉ(์ค๋ณต ํ ์ ๊ฑฐ, ์ผ๋ถ ์ ํ์ ๊ฒฝ์ฐ MINUS ์ฌ์ฉ)
7. UI ํ ์คํธ
1. ์ฌ์ฉ์ฑ ํ
์คํธ ๊ธฐ๋ฒ 4๊ฐ์ง
๊ฐ. ํด๋ฆฌ์คํฑ (Heuristic Evaluaion) ํ๊ฐ : ์ฌ์ฉ์ฑ์ ๋ํ ๋ฌธ์ ๋ฅผ ์ฐพ์๋ด๊ธฐ ์ํ ์ ๋ฌธ๊ฐ์ ์ํด ์ด๋ก ๊ณผ ๊ฒฝํ์ ๊ทผ๊ฑฐ๋ก ํ์ฌ ์ผ๋ จ์ ๊ท์น๋ค์ ์ผ๋ง๋ ์ ์งํค๊ณ ์๋๊ฐ๋ฅผ ํ์ธํ๋ ํ๊ฐ ๋ฐฉ๋ฒ์ด๋ค. (๊ฒฐ๊ณผ๋ฌผ : ํ๊ฐ๋ณด๊ณ ์)
๋. ํ์ดํผ ํ๋กํ ํ์
(Paper Prototype) ํ๊ฐ : ํ๋กํ ํ์
์ ๊ฐ์ฅ ๋น ๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ์ค์ ์ถ์๋ ์ ํ์ ์ ๋ฐ์ ์ธ ์ปจ์
๊ณผ ํ๋ฆ์ ์ ๋ณด์ฌ์ฃผ์ด ๋ณด๋ ์ฌ๋๋ค์ด ๋ ์์ ๋กญ๊ฒ ์๊ฒฌ์ ๊ฐ์งํ๋ฉด์ ์์ ๋ฐ ๋ณด์ํ์ฌ ๋ฐ์ ์ํฌ ์ ์๋ ๋ฐฉ๋ฒ์ด๋ค. (๊ฒฐ๊ณผ๋ฌผ : ํ๋กํ ํ์
)
๋ค. ์ ํธ๋ (Prefernece) ํ๊ฐ : “A๊ฐ B๋ณด๋ค ๋ ์ข๋ค”, “C๊ฐ D๋ณด๋ค ๋ ํธ๋ฆฌํ๋ค”์ ๊ฐ์ด ์ ํ์ด๋ ์๋น์ค์ ๋ํ ์ฌ์ฉ์์ ์ ํธ๋์ ์ํฅ์ ๋ฏธ์น๋ ์์ฑ๋ค์ ํ์
ํ์ฌ ์ฌ์ฉ์์ ๋์ฆ์ ๋์ํ ์ ์๋ ๊ฐ๊ด์ ํ๊ฐ ๋ฐฉ๋ฒ์ด๋ค. (๊ฒฐ๊ณผ๋ฌผ : ์ ํธ๋ ํ๊ฐ)
๋ผ. ์ฑ๋ฅ (Performance) ํ๊ฐ : ์ฌ์ฉ์๊ฐ ์ค์ ๋ก ์ ํ์ด๋ ์๋น์ค์ ์ฐ๊ด๋ ๊ฒ์ ์ฌ์ฉํด ๋ณด๊ณ ํ์คํฌ(TASK) ๋ณ ํ์ต์ฑ, ํจ์จ์ฑ, ๊ธฐ์ต์ฉ์ด์ฑ, ์ค๋ฅ, ๋ง์กฑ๋ ๋ฑ์ ๋ํด ํ๊ฐํ๋ ๋ฐฉ๋ฒ์ด๋ค. (๊ฒฐ๊ณผ๋ฌผ : ํ์ต์ฑ, ํจ์จ์ฑ, ์ค๋ฅ ๋ฑ ํ๊ฐ)
2. ํ
์คํธ ํ๊ฒฝ ๊ตฌ์ถ ํ์์ง์
๊ฐ. ์ฌ์ฉ์ ์ค์ฌ ๋์์ธ (User Centered Design)โ : ์ฌ์ฉ์ ์ค์ฌ ๋์์ธ์ ์ฌ์ฉ์๊ฐ ์ํ๊ณ ํ์๋ก ํ๋ ๊ฒ์ ๋ํด ์ฌ์ฉ์์ ํ๊ณ ๋ฅ๋ ฅ๊ณผ ์ํฉ์ ๋ง์ถ์ด ๋์์ธํ๋ ๊ธฐ์ ์ด๋ค.
๋. ์ธํฐ๋์
๋์์ธ (Interaction Design) : ์ธํฐ๋์
์ด๋ ์
์ถ๋ ฅ ์ฅ์น๋ฅผ ๋งค๊ฐ๋ก ๋์งํธ ์์คํ
๊ณผ ์ฌ๋์ด ์ฃผ๊ณ ๋ฐ๋ ์ผ๋ จ์ ์์ฌ์ํต ๊ณผ์ ์ผ๋ก ์ฌ๋์ ํ๋๊ณผ ์ด์ ๋ฐ์ํ๋ ์์คํ
์ ์ ์ฐจ๋ฅผ ์ค๊ณํ๋ ๊ฒ์ด๋ค.
๋ค. ํ๋กํ ํ์
(Prototype) : ํ๋กํ ํ์
์ ์ฌ์ฉ์์ ๋ชจ๋ ์๊ตฌ์ฌํญ์ด ์ ํํ๊ฒ ๋ฐ์๋ ๋๊น์ง ๊ณ์ํด์ ๊ฐ์ ๋๊ณ ๋ณด์๋๋ ๊ฒ์ผ๋ก ์ค์ํ ๊ธฐ๋ฅ์ด ํฌํจ๋์ด ์๋ ์์คํ
์ ์ด๊ธฐ๋ชจ๋ธ์ ์๋ฏธํ๋ค.
๋ผ. ์์ด์ดํ๋ ์ (Wireframe) : ์ต์ข
ํ๋ฉด์ ํ์๋ ์ปจํ
์ธ ์์ ์์, ํ์ดํฌ๊ทธ๋ํฝ, ์ด๋ฏธ์ง๋ฅผ ์๋ตํ์ฌ ์์ฝํ๋ ๊ฒ์ผ๋ก ๋์, ์ฒญ์ฌ์ง, ๋๋ ํ๋กํ ํ์
์ด๋ผ ๋ถ๋ฅธ๋ค.
๋ง. ์์ฅํํฉ๋ณด๊ณ ์ : ๊ธฐ์
์ด ์ฐธ์ฌํ๊ณ ์๋ ์ฌ์
๋ถ์ผ์ ์์ฅ ํํฉ ๋ฐ ํน์ฑ์ ํ์
ํ์ฌ ์์ฅ ๋งค๋ ฅ ์์ธ์ ๋์ถํ๊ณ ์ฑ๊ณต๊ฐ๋ฅ์ฑ์ ์์ธกํ๊ธฐ ์ํ ๋ณด๊ณ ์์ด๋ค.
์ฌ. ๊ธฐ์ ํํฉ๋ณด๊ณ ์ : ๋ฆฌ์์น๋ฅผ ํตํด ํ์
ํ ์ฌ์ฉ์ ์ ๋ณด(๋๊ธฐ, ๋ชฉํ, ์ต๊ด, ๊ธฐ๋, ๊ฐ์ ๋ฑ)๋ฅผ ํ๋ก์ ํธ ๋ฉค๋ฒ๋ค๊ณผ ์ฌ์
๋ถ์ผ๋ณ๋ก ์ํ, ๋์์ธ, ํนํ ์ค์ฉ ๋ฑ ๊ธฐ์
์ด ๋ฑ๋กํ ์ง์ ์ฌ์ฐ๊ถ ๋ฐ ๋ฑ๋ก ๋ด์ฉ์ ๋ณํ ์ถ๋ฆฌ๋ฅผ ์กฐ์ฌํ ๋ณด๊ณ ์์ด๋ค.
3. ์ฌ์ฉ์ฑ ํ
์คํธ์ ๊ฐ์ ๋ฐ ์ฃผ์ ์ฌํญ
(1) ๋์ ์ ํ(์์คํ
, ํจํค์ง ์ํํธ์จ์ด, ํํ์ด์ง ๋ฑ)์ ์ฌ์ฉ์์๊ฒ ์ต์ข
์ ์ผ๋ก ๋ฐฐํฌํ๊ธฐ ์ ์, ์ผ๋ฐ ์ฌ์ฉ์๋ฅผ ๋์์ผ๋ก ์ํํธ์จ์ด ๋ฐ ์๋น์ค์ ์ฌ์ฉ์ฑ์ ๊ฒ์ฆํ๋ ๊ฒ์ด ์ฌ์ฉ์ฑ ํ
์คํธ์ด๋ค.
(2) ๊ด๋ จ ์ ๋ฌธ๊ฐ๊ฐ ์๋ ์ผ๋ฐ ์ฌ์ฉ์๋ฅผ ๋์์ผ๋ก ์ฌ์ฉ์ฑ์ ๊ฒ์ฆํ๋ ๋จ๊ณ์์ ๊ณ ๋ คํ์ฌ, ์ ์ ํ ํ
์คํธ ๋ฐฉ๋ฒ๊ณผ ํ๊ฐ ๋์์๋ฅผ ์ ์ ํด์ผ ํ๋ค.
4. ์ฌ์ฉ์ฑ ํ
์คํธ ๊ธฐ๋ฒ
: ์ผ๋ฐ ์ฌ์ฉ์๋ฅผ ๋์์ผ๋ก, ์ค์ ๋ก ์์คํ
์ด๋ ์ํํธ์จ์ด๋ก ๊ตฌํ๋ UI๋ฅผ ์ฌ์ฉํด ๋ณด๋๋ก ํ๋ฉด์ ์ฌ์ฉ์ฑ์ ๋ฌธ์ ์ ์ ๋์ถํด ๋ด๋ ๋ฐฉ์
๊ฐ. ์ฌ์ฉ์ฑ ํ
์คํธ ๊ธฐ๋ฒ์ ์ข
๋ฅ
1) ํด๋ฆฌ์คํฑ ํ๊ฐ
2) ํ์ดํผ ํ๋กํ ํ์
ํ
์คํธ
3) ์ฌ์ธต/ํฌ์ปค์ค ๊ทธ๋ฃน ์ธํฐ๋ทฐ ์ฌ์ฉ์ฑ ํ
์คํธ
4) ์จ๋ผ์ธ ์ค๋ฌธ ์ฌ์ฉ์ฑ ํ
์คํธ
5) ์ํ์ ์ด ๋ค์ด์ด๊ทธ๋จ
๋. ์ฌ์ฉ์ฑ ํ
์คํธ ์งํ ์ธ์๋ณ ์ญํ
1) ํ
์คํธ ์งํ์ : ์ ํ์ ๋ํ ์ค๋ฆฝ์ ์ธ ์ฌ๋์ผ๋ก์ ํ
์คํธ ์งํ ๋ฐ ๊ฒฐ๊ณผ์ ์ฑ
์์
2) ๊ธฐ๋ก ๋ด๋น์ : ํ
์คํธ ๊ณผ์ ์์ ๋ฐ์ํ๋ ์ค์ ์ด๋ฒคํธ๋ฅผ ๊ธฐ๋กํ์ฌ ์ฐธ์ฌ์์ ์๊ฒฌ์ ๊ธฐ๋ก
3) ์๊ฐ๊ธฐ๋ก ๋ด๋น์ : ํ
์คํธ์ ์์, ๋, ์ง์ ์๊ฐ์ ๊ธฐ๋กํ๋ ์ฌ๋
4) ๋น๋์ค ๋
นํ ๋ด๋น์ : ํ
์คํธ ๊ณผ์ ์ ๋ชจ๋ ํ์๋ฅผ ๋
นํํ๋ ์ฌ๋
5) ํ
์คํธ ๊ด์ฐฐ์ : ๋์ ์ ํ์ ๊ฐ๋ฐ์ ์ง๊ฐ์ ์ ์ธ ๊ด๋ จ์ด ์๋ ์ฌ๋
๋ค. ์ฌ์ฉ์ฑ ํ
์คํธ ํ๊ฒฝ ๊ตฌ์ถํ๊ธฐ ์ํ์ ์ฐจ
1) ํ
์คํธ ๋ชฉํ ์ค์
2) ํ
์คํธ ํญ๋ชฉ ์ ์
3) ํ
์คํธ ์ฐธ์ฌ์ ํ๋ณด
4) ํ
์คํธ ๋ฃธ ์ค์
5) ํ
์คํธ ํ๊ฒฝ ์ค์
6) ํ
์คํธ ์ธ์ ๊ตฌ์ฑ
๋ผ. ์ฌ์ฉ์ฑ ํ
์คํธ ์ํ
1) ํ์ผ๋ฟ ํ
์คํธ : ์ฃผ๋ก ์ปดํจํฐ ํ๋ก๊ทธ๋จ ๋ฑ์ ์ต์ ๊ธฐ์ ์ ๊ฐ๋ฐํ์ฌ, ์ค์ ์ํฉ์์ ์คํํ๊ธฐ ์ ์ ์๊ท๋ชจ๋ก ์ํ ์๋ํด๋ณด๋ ๊ฒ์ ์๋ฏธํ๋ค.
2) ์ฌ์ธต ์ธํฐ๋ทฐ (In Depth Interview) : ์ผ๋์ผ ๋ฉด์ ์ ํตํด ์๋น์์ ์ฌ๋ฆฌ๋ฅผ ํ์
ํ๋ ์กฐ์ฌ๋ฒ์ผ๋ก ์ด๋ค ์ฃผ์ ์ ๋ํด ์๋ต์์ ์๊ฐ์ด๋ ๋๋์ ์์ ๋กญ๊ฒ ์ด์ผ๊ธฐํจ์ผ๋ก์จ ์ฌ์ฉ์์ ์๊ตฌ, ํ๋, ๊ฐ์ ๋ฑ์ ๋ฐ๊ฒฌํ ์ ์๋ค.
3) ํฌ์ปค์ค ๊ทธ๋ฃน ์ธํฐ๋ทฐ : ํ์ ์์ฅ์ผ๋ก ์์๋๋ ์๋น์๋ฅผ ์ผ์ ํ ์๊ฒฉ ๊ธฐ์ค์ ๋ฐ๋ผ 6~12๋ช
์ ๋ ์ ๋ฐํ์ฌ, ํ ์ฅ์์ ๋ชจ์ด๊ฒ ํ ํ, ๋ฉด์ ์์ ์งํ ์๋ ์กฐ์ฌ ๋ชฉ์ ๊ณผ ๊ด๋ จ๋ ํ ๋ก ์ ํจ์ผ๋ก์จ ์๋ฃ๋ฅผ ์์งํ๋ ๋ฐฉ๋ฒ์ด๋ค.
4) ๋งฅ๋ฝ์ ์ธํฐ๋ทฐ : ๋งฅ๋ฝ์ ์ธํฐ๋ทฐ๋ ์๋น์ค ๊ณผ์ ๊ฐ์ด๋ฐ ํน์ ์ํฉ์ด๋ ๋งฅ๋ฝ์์ ์ด๋ฃจ์ด์ง๋ฉฐ, ์ธํฐ๋ทฐ๋ฅผ ์งํํ๋ฉด์ ๋ฆฌ์์น๋ ํน์ ํ๋์ ๊ด์ฐฐํ๊ณ ์กฐ์ฌํ๋ ๋ฐฉ๋ฒ์ด๋ค.
๋ง. ์ฌ์ฉ์ฑ ํ
์คํธ ์ํํ๊ธฐ ์ํ์ ์ฐจ
1) ํ์ผ๋ฟ ํ
์คํธ ์ค์ : ๋ฌธ์ ์ ํ์
๋ฐ ์ ํ๋ณ ์ ๋ฆฌ, ์ดํด๊ด๊ณ์ ๊ณต์
2) ์ฌ์ฉ์ ํ๋กํ ์ ์ : ์ฌ์ฉ์ ํ
์คํธ ์ฐธ์ฌ ํ๋ณด์ ์ ์ ์ ์ํ ์ธํฐ๋ทฐ
3) ์ฌ์ฉ์ฑ ํ
์คํธ ํ๊ฒฝ์ ๊ฒ : ์ฅ๋น ๋ฐ ๋นํ์ ๊ฒ, ์ธ๋ ฅ์ ๊ตฌ์ฑ ์ ๊ฒ
4) ์ฌ์ฉ์ฑ ํ
์คํธ ์ค๋ช
: ํ
์คํธ์ ์ทจ์ง, ๋ชฉ์ ์ ๋ํ ์ค๋ช
5) ์ฌ์ฉ์ฑ ํ
์คํธ ์ํ : ํ
์คํธ ๊ณผ์ ์ ์์ฐจ์ ์ค์, ๊ฒฐ๊ณผ๋ณด๊ณ ์์ฑ
์ฌ. ์ฌ์ฉ์ฑ ํ
์คํธ UI ๊ฐ์ ๋ฐ ๊ฒฐ๊ณผ๋ณด๊ณ
1) UI ๋์์ธ (Usdr Interface Design) : ์ธํฐํ์ด์ค, ์ฆ ์ ๋ณด๊ธฐ๊ธฐ๋ ์ํํธ์จ์ด์ ํ๋ฉด ๋ฑ ์ฌ๋๊ณผ ์ ํ๋ ๋ฉด์ ์ค๊ณํ๊ณ ๋์์ธํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
2) UI ์ปจ์
์
(UI Conception) : UX(User Experience) ์ปจ์
์ ๊ฐ์ํ ๋จ๊ณ์์ ์งํ๋๋ ์ฃผ์ ํ๋ฉด(Key Screen)์ ๋ํ UI ์ปจ์
์ค๊ณ๋ฅผ ์๋ฏธํ๋ค. UX ์ปจ์
์ ๊ฐ์ํํ๊ณ ์ค์ ์ค๊ณ ์ ์ ๊ฒ์ฆํ๋ ๋ฐ ๋ชฉ์ ์ด ์๋ค.
3) GUI ์ปจ์
์
(GUI Conception) : UI ์ปจ์
์
๊ณผ ํจ๊ป, ํ๋ฉด ๋์์ธ ๊ด์ ์์ UX ์ปจ์
์ ๊ฐ์ํํ๋ ๊ฒ์ผ๋ก, ์ฃผ์ ํ๋ฉด(Ke Screen)์ ๋ํ ์์์ ๋์์ธํ๊ฑฐ๋, ์ฐธ์กฐ ์ด๋ฏธ์ง ๋ฑ์ผ๋ก ์ปจ์
์ ๊ฒํ ํ ์ ์๋ ์ปจ์
๋ณด๋๋ฅผ ์ ์ํ๋ค.
4) UX ์ปจ์
๋ฆฌ๋ทฐ (UX Concept Review) : UX ์ ๋ต, UI ์ปจ์
์
, GUI ์ปจ์
์
์ ๊ฒฐ๊ณผ๋ฌผ์ ํ ๋๋ก UX ์ ๋ต์ด ์ ์ ์ฉ๋์๋์ง ๋ด๋ถ๊ด๊ณ์, ์ฌ์ฉ์ ๋ฑ์ ๋์์ผ๋ก ๋ฆฌ๋ทฐํ์ฌ ๊ฐ์ ํ๋ ๋ฐ์ ๋ชฉ์ ์ด ์๋ค.
5) ์ปจ์
๋ชจ๋ธ (Concept Model) : ์ปจ์
๋ชจ๋ธ์ ์ฌ๋ฌ ๊ฐ์ง ์ถ์์ ์ธ ์ปจ์
๋ค ์ฌ์ด์ ๊ด๊ณ๋ฅผ ๋ณด์ฌ์ฃผ๋ ๋ค์ด์ด๊ทธ๋จ์ด๋ฉฐ, ๋ค์ํ ์์ด๋์ด๋ค์ ๊ฐํธํ๊ฒ ์๊ฐํํ์ฌ ํํํ ์ ์๋ ์ ์ฉํ ๋ฐฉ๋ฒ์ด๋ค.
6) ๋ฉํ๋ชจ๋ธ (Mental Model) : ์ฌ๋๋ค์ ํ๋, ๋๊ธฐ, ์ฌ๊ณ ๊ณผ์ ๋ฟ๋ง ์๋๋ผ, ๊ทธ๋ค์ด ํ๋ํ๋ ๊ฐ์ฑ์ , ์ฒ ํ์ ๋ฐฐ๊ฒฝ์ ์ดํดํ๊ธฐ ์ํ์ฌ ๋ํ ์ฌ์ฉ์๋ค์๊ฒ์ ์์ง๋ ํ๋ ํจํด๋ค์ ์ ์ํ๋ค.
7) ์นด๋์ํ
(Card Sortingl) : ์นด๋์ํ
์ ์ ๋ณด๊ตฌ์กฐ๋ฅผ ์ ์ ์๋ ๊ฐ์ฅ ๋จ์ํ๋ฉด์๋ ํจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ ์ค์ ํ๋๋ก์, ์์ด๋์ด์ ์ปจ์
์ ์์ ์นด๋์ ์ ๊ณ ์ฌ์ฉ์๊ฐ ์นด๋๋ฅผ ๊ทธ๋ฃน์ผ๋ก ๋ถ๋ฅ ๋ฐ ์ ๋ ฌํ์ฌ ์ ๋ณด๋ฅผ ๊ตฌ์กฐํ์ํค๋ ๋ฐฉ๋ฒ์ด๋ค
์. ์ฌ์ฉ์ฑ ํ
์คํธ ๊ฒฐ๊ณผ๋ณด๊ณ
1) ์ฌ์ฉ์ ์ค์ฌ ๋งค๋ด์ผ : ๊ฐ๋ฐ์ ๊ด์ ์์ ์์ฑํ ๋ฉ๋ด์ผ์ ์ผ๋ฐ ์ฌ์ฉ์๋ค์ด ์ดํดํ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ ์ค์ ์ฌ์ฉ์๋ค์ ์ฌ์ฉํ๊ฒฝ์์ ๋ง๊ฒ ๋งค๋ด์ผ์ ์์ฑํ์ฌ ํ๋ก๊ทธ๋จ ์ดํด๋๋ฅผ ๋์ธ๋ค.
2) ISO/IEC 9126 : ISO/IEC 9126(Information Technology-Software Quality Characteristics and Metrics), ์ํํธ์จ์ด์ ํ์ง ์์์ ํน์ฑ์ ์ ์ํ๋ ํ์ค์ผ๋ก ํ๋ก๊ทธ๋จ์ ๊ฐ๊ด์ ์ผ๋ก ์ ๋ํํ์ฌ ๊ณ์ธต๊ตฌ์กฐ๋ก ์ธ๋ถํ์์ผ ํํํ๋ค.
3) ์ ๋์ ๋ฆฌ์์น (Quantitative Research) : ๊ฒฝ์์ฌ ์ฌ์ดํธ, ๋ฒค์น๋งํน ์ฌ์ดํธ ๋๋ ์ด์ ๋์์ธ๊ณผ ๋น๊ตํ์ฌ ํ์ฌ ๋์ UX ๋์์ธ ์์ค์ ํ๊ฐํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ค๋ฌธ ํํ์ ์๋ฒ ์ด(ํฐ ์ฌ์ฉ์ ์ง๋จ์ ๊ฒฐ๊ณผ๋ก ์ผ๋ฐํ)๊ฐ ๋ํ์ ์ด๋ค.
4) ์ ์ฑ์ ๋ฆฌ์์น (Qualitative Research) : ํ์ค์ฑ์ด๋ ๋ฐ๋ณต์ฑ ๋ณด๋ค๋ ์ฌ์ฉ์์ ํ๋๊ณผ ๊ด๋ จ๋ ์ปจํ
์คํธ์ ์ธ์ฌ์ดํธ๋ฅผ ์ป๊ธฐ ์ํ ๋ฐฉ๋ฒ์ด๋ค. ํ
์คํธ๋ฅผ ํตํด ์ฌ๋๋ค์ ๋ฐ์์ ๋ณด๊ณ ์ธ์ฌ์ดํธ๋ฅผ ์ป์ด ํ์ฌ์ ์์ ๊ฐ์ ํ๋ ๊ฒ์ด ๋ชฉ์ ์ด๋ค.
5. ISO/IEC ์ํํธ์จ์ด ํ์ง ํน์ฑ
๊ฐ. ๊ธฐ๋ฅ์ฑ(Functionality) : ์ํํธ์จ์ด๊ฐ ํน์ ์กฐ๊ฑด์์ ์ฌ์ฉ๋ ๋, ๋ช
์๋ ์๊ตฌ์ ๋ด์ฌ๋ ์๊ตฌ๋ฅผ ๋ง์กฑํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์ํํธ์จ์ด ์ ํ์ ๋ฅ๋ ฅ์ ๋งํ๋ค.
๋. ์ ๋ขฐ์ฑ(Reliability) : ๋ช
์๋ ์กฐ๊ฑด์์ ์ฌ์ฉ๋ ๋, ์ฑ๋ฅ ์์ค์ ์ ์งํ ์ ์๋ ์ํํธ์จ์ด ์ ํ์ ๋ฅ๋ ฅ์ผ๋ก ์ ๋ขฐ์ฑ์ ํ์ง๋ถํน์ฑ์ ์ฑ์์ฑ, ๊ฒฐํจ ํ์ฉ์ฑ, ํ๋ณต์ฑ, ์ค์์ฑ ๋ฑ์ด ์๋ค.
๋ค. ์ฌ์ฉ์ฑ(Usability) : ๋ช
์๋ ์กฐ๊ฑด์์ ์ฌ์ฉ๋ ๊ฒฝ์ฐ, ์ฌ์ฉ์์ ์ํด ์ดํด๋๊ณ ํ์ต๋๊ณ ์ฌ์ฉ๋๊ณ ์ ํธ๋ ์ ์๋ ์ํํธ์จ์ด ์ ํ์ ๋ฅ๋ ฅ์ ๋งํ๋ค. ์ฌ์ฉ์ฑ์ ํ์ง๋ถํน์ฑ์ ์ดํด์ฑ, ํ์ต์ฑ, ์ด์ฉ์ฑ, ์น๋ฐ์ฑ, ์ค์์ฑ ๋ฑ์ด ์๋ค.
๋ผ. ํจ์จ์ฑ(Efficiency) : ๋ช
์๋ ์กฐ๊ฑด์์ ์ฌ์ฉ๋๋ ์์์ ์์ ๋ฐ๋ผ ์๊ตฌ๋ ์ฑ๋ฅ์ ์ ๊ณตํ๋ ์ํํธ์จ์ด ์ ํ์ ๋ฅ๋ ฅ์ ๋งํ๋ฉฐ ํจ์จ์ฑ์ ํ์ง๋ถํน์ฑ์ ์๊ฐ๋ฐ์์ฑ, ์์ ํจ์จ์ฑ, ์ค์์ฑ ๋ฑ์ด ์๋ค.
๋ง. ์ด์์ฑ(Portability) : ํ ํ๊ฒฝ์์ ๋ค๋ฅธ ํ๊ฒฝ์ผ๋ก ์ ์ด๋ ์ ์๋ ์ํํธ์จ์ด ์ ํ์ ๋ฅ๋ ฅ์ ๋งํ๋ค. ์ด์์ฑ์ ํ์ง๋ถํน์ฑ์ ์ ์์ฑ, ์ค์น์ฑ, ๊ณต์กด์ฑ, ๋์ฒด์ฑ, ์ค์์ฑ ๋ฑ ์ด ์๋ค.
๋ฐ. ์ ์ง๋ณด์์ฑ(Maintainability) : ์ํํธ์จ์ด ์ ํ์ด ๋ณ๊ฒฝ๋๋ ๋ฅ๋ ฅ, ๋ณ๊ฒฝ์๋ ํ๊ฒฝ๊ณผ ์๊ตฌ์ฌํญ ๋ฐ ๊ธฐ๋ฅ์ ๋ช
์ธ์ ๋ฐ๋ฅธ ์ํํธ์จ์ด์ ์์ , ๊ฐ์ , ํน์ ๊ฐ์ ๋ฑ์ด ํฌํจ๋๋ค.
8. ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์์ฉ
9. ๊ฐ๋ฐ์ ํ๊ฒฝ๊ตฌ์ถ