๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“Certificate/Engineer Information Processing

[์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ] - [1๊ณผ๋ชฉ] 2023 (01)

by Sun A 2024. 1. 7.

[์ œ 1๊ณผ๋ชฉ ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„]

- 2023๋…„๋„ 1ํšŒ์ฐจ (01)

์›Œํฌ์Šค๋ฃจ

โ–ถ ๊ฐœ๋…

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

2. ๋ณต์žกํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋˜๋Š” ๋ฐ˜๋ณต, ์‹ค์‹œ๊ฐ„ ๋™์ž‘, ๋ณ‘ํ–‰ ์ฒ˜๋ฆฌ์™€ ๊ฐ™์€ ๊ธฐ๋Šฅ์ด๋‚˜ ๋™์ž‘์„ ์ดํ•ดํ•˜๋ ค๊ณ  ํ•  ๋•Œ ์œ ์šฉํ•˜๋‹ค.

3. ๋‹จ์ˆœํ•œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ ํ”„๋กœ๋•ํŠธ๋ฅผ ์ˆ˜์ž‘์—…์œผ๋กœ ์ˆ˜ํ–‰ํ•ด ๋ณด๋Š” ๊ฒƒ์ด๋‹ค.

 

XP(eXtreme Programming)

โ–ถ ๊ฐœ๋…

1. ์ˆ˜์‹œ๋กœ ๋ฐœ์ƒํ•˜๋Š” ๊ณ ๊ฐ์˜ ์š”๊ตฌ์‚ฌํ•ญ์— ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์‘ํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ๊ฐ์˜ ์ฐธ์—ฌ์™€ ๊ฐœ๋ฐœ ๊ณผ์ •์˜ ๋ฐ˜๋ณต์„ ๊ทน๋Œ€ํ™”ํ•˜์—ฌ ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•

2. ์งง๊ณ  ๋ฐ˜๋ณต์ ์ธ ๊ฐœ๋ฐœ ์ฃผ๊ธฐ, ๋‹จ์ˆœํ•œ ์„ค๊ณ„, ๊ณ ๊ฐ์˜ ์ ๊ทน์ ์ธ ์ฐธ์—ฌ๋ฅผ ํ†ตํ•ด ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์ด ๋ชฉ์ 

3.  ๋ฆด๋ฆฌ์ฆˆ์˜ ๊ธฐ๊ฐ„์„ ์งง๊ฒŒ ๋ฐ˜๋ณตํ•˜๋ฉด์„œ ๊ณ ๊ฐ์˜ ์š”๊ตฌ์‚ฌํ•ญ ๋ฐ˜์˜์— ๋Œ€ํ•œ ๊ฐ€์‹œ์„ฑ์„ ๋†’์ž„

4. ๋ฆด๋ฆฌ์ฆˆ ํ…Œ์ŠคํŠธ๋งˆ๋‹ค ๊ณ ๊ฐ์„ ์ง์ ‘ ์ฐธ์—ฌ์‹œํ‚ด์œผ๋กœ์จ ์š”๊ตฌํ•œ ๊ธฐ๋Šฅ์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ๊ณ ๊ฐ์ด ์ง์ ‘ ํ™•์ธ ๊ฐ€๋Šฅ

5. ๋น„๊ต์  ์†Œ๊ทœ๋ชจ ์ธ์›์˜ ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ์— ํšจ๊ณผ์ ์ž„

 

โ–ถ  5 ๊ฐ€์ง€ ํ•ต์‹ฌ ๊ฐ€์น˜ : ์˜์‚ฌ์†Œํ†ต(Communication), ๋‹จ์ˆœ์„ฑ(Simplicity), ์šฉ๊ธฐ(Courage), ์กด์ค‘(Respect), ํ”ผ๋“œ๋ฐฑ(Feedback)

 

โ–ถ XP ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค

1. ์‚ฌ์šฉ์ž ์Šคํ† ๋ฆฌ (User Story)

2. ๋ฆด๋ฆฌ์ฆˆ ๊ณ„ํš ์ˆ˜๋ฆฝ (Release Planning)

3. ์ŠคํŒŒ์ดํฌ (Spike)

4. ์ดํ„ฐ๋ ˆ์ด์…˜ (Iteration)

โ†’ ํ•˜๋‚˜์˜ ๋ฆด๋ฆฌ์ฆˆ๋ฅผ ๋” ์„ธ๋ถ„ํ™” ํ•œ ๋‹จ์œ„๋ฅผ ์˜๋ฏธ

5. ์Šน์ธ ๊ฒ€์‚ฌ (Acceptnace Test, ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ)

6. ์†Œ๊ทœ๋ชจ ๋ฆด๋ฆฌ์ฆˆ (Small Release)

โ€ป ๋ฆด๋ฆฌ์ฆˆ (Release) : ๋ช‡ ๊ฐœ์˜ ์š”๊ตฌ์‚ฌํ•ญ์ด ์ ์šฉ๋˜์–ด ๋ถ€๋ถ„์ ์œผ๋กœ ๊ธฐ๋Šฅ์ด ์™„๋ฃŒ๋œ ์ œํ’ˆ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ

 

๋ฉ”์‹œ์ง€ ์ง€ํ–ฅ ๋ฏธ๋“ค์›จ์–ด(Message-Oriented Middleware, MOM)

โ–ถ ๊ฐœ๋…

= ๋ฉ”์‹œ์ง€ ๊ธฐ๋ฐ˜์˜ ๋น„๋™๊ธฐํ˜• ๋ฉ”์‹œ์ง€๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ์‹์˜ ๋ฏธ๋“ค์›จ์–ด

= ์ด๊ธฐ์ข… ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ ์‹œ์Šคํ…œ์˜ ๋ฐ์ดํ„ฐ ๋™๊ธฐ๋ฅผ ์œ„ํ•ด ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.

 

1. ๋…๋ฆฝ์ ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ•˜๋‚˜์˜ ํ†ตํ•ฉ๋œ ์‹œ์Šคํ…œ์œผ๋กœ ๋ฌถ๊ธฐ ์œ„ํ•œ ์—ญํ• ์„ ํ•œ๋‹ค.

2. ์†ก์‹ ์ธก๊ณผ ์ˆ˜์‹ ์ธก์˜ ์—ฐ๊ฒฐ ์‹œ ๋ฉ”์‹œ์ง€ ํ๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

3. ์ƒ์ดํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ„ ํ†ต์‹ ์„ ๋น„๋™๊ธฐ ๋ฐฉ์‹์œผ๋กœ ์ง€์›ํ•œ๋‹ค.

 

โ–ถ ๋‹ค๋ฅธ ๋ฏธ๋“ค์›จ์–ด(Middleware)์˜ ์ข…๋ฅ˜

1.  DB(DataBase) : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฒค๋”(Vendor)์—์„œ ์ œ๊ณตํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ์—์„œ ์›๊ฒฉ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ฏธ๋“ค์›จ์–ด

2. RPC(Remote Procedure Call) : ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ํ”„๋กœ์‹œ์ €๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›๊ฒฉ ํ”„๋กœ์‹œ์ €๋ฅผ ๋งˆ์น˜ ๋กœ์ปฌ ํ”„๋กœ์‹œ์ €์ฒ˜๋Ÿผ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ์‹์˜ ๋ฏธ๋“ค์›จ์–ด

3. TP-Monitor(Transaction Processing Monitor) : ํ•ญ๊ณต๊ธฐ๋‚˜ ์ฒ ๋„ ์˜ˆ์•ฝ ์—…๋ฌด ๋“ฑ๊ณผ ๊ฐ™์€ ์˜จ๋ผ์ธ ํŠธ๋žœ์žญ์…˜ ์—…๋ฌด์—์„œ ํŠธ๋žœ์žญ์…˜์„ ์ฒ˜๋ฆฌ ๋ฐ ๊ฐ์‹œํ•˜๋Š” ๋ฏธ๋“ค์›จ์–ด

4. ORB(Object Request Broker) : ๊ฐ์ฒด์ง€ํ–ฅ ๋ฏธ๋“ค์›จ์–ด๋กœ ์ฝ”๋ฐ”(CORBA) ํ‘œ์ค€ ์ŠคํŽ™์„ ๊ตฌํ˜„ํ•œ ๋ฏธ๋“ค์›จ์–ด

5. WAS(Web Application Server) : ์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ์— ๋”ฐ๋ผ ๋ณ€ํ•˜๋Š” ๋™์ ์ธ ์ฝ˜ํ…์ธ ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๋ฏธ๋“ค์›จ์–ด

โ†’ ๋А๋ฆฌ๊ณ  ์•ˆ์ •์ ์ธ ์‘๋‹ต๋ณด๋‹ค๋Š” ์ฆ‰๊ฐ์ ์ธ ์‘๋‹ต์ด ํ•„์š”ํ•œ ์˜จ๋ผ์ธ ์—…๋ฌด์— ์ ํ•ฉ

 

์ž๋ฃŒ ํ๋ฆ„๋„(DFD)

โ–ถ ์ž๋ฃŒ ํ๋ฆ„๋„ ์ž‘์„ฑ ์ง€์นจ ํ•ญ๋ชฉ

1.  ์ž๋ฃŒ ํ๋ฆ„(Flow)์€ ์ฒ˜๋ฆฌ(Process)๋ฅผ ๊ฑฐ์ณ ๋ณ€ํ™˜๋  ๋•Œ๋งˆ๋‹ค ์ƒˆ๋กœ์šด ์ด๋ฆ„์„ ๋ถ€์—ฌํ•œ๋‹ค.

2. ์ฒ˜๋ฆฌ(Process)๊ฐ€ ์ถœ๋ ฅ ์ž๋ฃŒ๋ฅผ ์‚ฐ์ถœํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฐ˜๋“œ์‹œ ์ž…๋ ฅ ์ž๋ฃŒ๊ฐ€ ๋ฐœ์ƒํ•ด์•ผ ํ•œ๋‹ค.

3. ์ƒ์œ„ ๋‹จ๊ณ„์˜ ์ฒ˜๋ฆฌ(Process)๋Š” ์†Œ๋‹จ์œ„ ๋ช…์„ธ์„œ๋ฅผ ๊ฐ–๋Š”๋‹ค.

4. ์ž๋ฃŒ ์ €์žฅ์†Œ์— ์ž…๋ ฅ ํ™”์‚ดํ‘œ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•˜์—ฌ ๋ฐ˜๋“œ์‹œ ์ถœ๋ ฅ ํ™”์‚ดํ‘œ๊ฐ€ ํ‘œ์‹œ๋  ํ•„์š”๋Š” ์—†๋‹ค.

โ†’ ์ž๋ฃŒ ์ €์žฅ์†Œ์˜ ์ž…๋ ฅ ํ™”์‚ดํ‘œ๋Š” ๋ฐ์ดํ„ฐ์˜ ์ž…๋ ฅ ๋ฐ ์ˆ˜์ •์„ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.

5. ์ƒ์œ„ ๋‹จ๊ณ„์˜ ์ฒ˜๋ฆฌ(Process)์™€ ํ•˜์œ„ ์ž๋ฃŒ ํ๋ฆ„๋„์˜ ์ž๋ฃŒ ํ๋ฆ„์€ ์„œ๋กœ ์ผ์น˜๋˜์–ด์•ผ ํ•œ๋‹ค. 

 

์„ค๊ณ„ ๊ธฐ๋ฒ• - ํ•˜ํ–ฅ์‹ ์„ค๊ณ„ ๋ฐฉ๋ฒ• / ์ƒํ–ฅ์‹ ์„ค๊ณ„ ๋ฐฉ๋ฒ•

โ–ถ ์ƒํ–ฅ์‹ ์„ค๊ณ„ ๊ฐœ๋…

โ†’ ํ•˜์œ„ ๋ชจ๋“ˆ์—์„œ ์ƒ์œ„ ๋ชจ๋“ˆ ๋ฐฉํ–ฅ์œผ๋กœ ์„ค๊ณ„ํ•˜๋Š” ๊ฒƒ

 

โ–ถ ํ•˜ํ–ฅ์‹/์ƒํ–ฅ์‹ ์„ค๊ณ„ ๊ธฐ๋ฒ• ๋น„๊ต

1. ํ•˜ํ–ฅ์‹ ์„ค๊ณ„์—์„œ๋Š” ํ†ตํ•ฉ ๊ฒ€์‚ฌ ์‹œ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์ด๋ฏธ ์ •์˜๋˜์–ด ์žˆ์–ด ํ†ตํ•ฉ์ด ๊ฐ„ํŽธํ•˜๋‹ค.

2. ํ•˜ํ–ฅ์‹ ์„ค๊ณ„์—์„œ ๋ ˆ๋ฒจ์ด ๋‚ฎ์€ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์˜ ์„ธ๋ถ€ ์‚ฌํ•ญ์€ ์„ค๊ณ„ ์ดˆ๊ธฐ ๋‹จ๊ณ„์—์„œ ํ•„์š”ํ•˜๋‹ค.

3. ์ƒํ–ฅ์‹ ์„ค๊ณ„๋Š” ์ตœํ•˜์œ„ ์ˆ˜์ค€์—์„œ ๊ฐ๊ฐ์˜ ๋ชจ๋“ˆ๋“ค์„ ์„ค๊ณ„ํ•˜๊ณ  ์ด๋Ÿฌํ•œ ๋ชจ๋“ˆ์ด ์™„์„ฑ๋˜๋ฉด ์ด๋“ค์„ ๊ฒฐํ•ฉํ•˜์—ฌ ๊ฒ€์‚ฌํ•œ๋‹ค.

4. ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์ด๋ฏธ ์„ฑ๋ฆฝ๋˜์–ด ์žˆ์–ด์•ผ๋งŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ์ƒํ–ฅ์‹ ์„ค๊ณ„์—์„œ๋Š” ๊ธฐ๋Šฅ ์ถ”๊ฐ€๊ฐ€ ์–ด๋ ต๋‹ค.

 

๋ชจ๋ธ๋ง (Modeling)

โ–ถ ๋ชจ๋ธ๋ง์ด๋ž€?

โ†’ ๋ถ„์„ ๋ฐ ์„ค๊ณ„ ๋‹จ๊ณ„์—์„œ ๊ฐœ๋ฐœํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ์„ ์‹œ๊ฐ์ ์œผ๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ

 

1. ๊ฐœ๋ฐœํŒ€์ด ์‘์šฉ ๋ฌธ์ œ๋ฅผ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค.

2. ๊ฐœ๋ฐœ๋  ์‹œ์Šคํ…œ์— ๋Œ€ํ•˜์—ฌ ์—ฌ๋Ÿฌ ๋ถ„์•ผ์˜ ์—”์ง€๋‹ˆ์–ด๋“ค์ด ๊ณตํ†ต๋œ ๊ฐœ๋…์„ ๊ณต์œ ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค€๋‹ค.

3. ์ ˆ์ฐจ์ ์ธ ํ”„๋กœ๊ทธ๋žจ์„ ์œ„ํ•œ ์ž๋ฃŒ ํ๋ฆ„๋„๋Š” ํ”„๋กœ์„ธ์Šค ์œ„์ฃผ์˜ ๋ชจ๋ธ๋ง ๋ฐฉ๋ฒ•์ด๋‹ค.

4. ๋ชจ๋ธ๋ง์€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์˜ ์ „ ๊ณผ์ •์—์„œ ์ง€์†์ ์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

 

UML์˜ ๊ด€๊ณ„ (Relationships)

1. Association (์—ฐ๊ด€) ๊ด€๊ณ„ : 2๊ฐœ ์ด์ƒ์˜ ์‚ฌ๋ฌผ์ด ์„œ๋กœ ๊ด€๋ จ๋˜์–ด ์žˆ์Œ

2. Aggregation (์ง‘ํ•ฉ) ๊ด€๊ณ„ : ํ•˜๋‚˜์˜ ์‚ฌ๋ฌผ์ด ๋‹ค๋ฅธ ์‚ฌ๋ฌผ์— ํฌํ•จ๋˜์–ด์žˆ๋Š” ๊ด€๊ณ„

3. Composition (ํฌํ•จ) ๊ด€๊ณ„ : ์ง‘ํ•ฉ ๊ด€๊ณ„์˜ ํŠน์ˆ˜ํ•œ ํ˜•ํƒœ๋กœ, ํฌํ•จํ•˜๋Š” ์‚ฌ๋ฌผ์˜ ๋ณ€ํ™”๊ฐ€ ํฌํ•จ๋˜๋Š” ์‚ฌ๋ฌผ์—๊ฒŒ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๊ด€๊ณ„

4. Generalization (์ผ๋ฐ˜ํ™”) ๊ด€๊ณ„ : ํ•˜๋‚˜์˜ ์‚ฌ๋ฌผ์ด ๋‹ค๋ฅธ ์‚ฌ๋ฌผ์— ๋น„ํ•ด ๋” ์ผ๋ฐ˜์ ์ธ์ง€ ๊ตฌ์ฒด์ ์ธ์ง€๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๊ด€๊ณ„

5. Dependency (์˜์กด) ๊ด€๊ณ„ : ์—ฐ๊ด€ ๊ด€๊ณ„์™€ ๊ฐ™์ด ์‚ฌ๋ฌผ ์‚ฌ์ด์— ์„œ๋กœ ์—ฐ๊ด€์€ ์žˆ์œผ๋‚˜ ํ•„์š”์— ์˜ํ•ด ์„œ๋กœ์—๊ฒŒ ์˜ํ–ฅ์„ ์ฃผ๋Š” ์งง์€ ์‹œ๊ฐ„ ๋™์•ˆ๋งŒ ์—ฐ๊ด€์„ ์œ ์ง€ํ•˜๋Š” ๊ด€๊ณ„

6. Realization (์‹ค์ฒดํ™”) ๊ด€๊ณ„ : ์‚ฌ๋ฌผ์ด ํ•  ์ˆ˜ ์žˆ๊ฑฐ๋‚˜ ํ•ด์•ผ ํ•˜๋Š” ๊ธฐ๋Šฅ (ํ–‰์œ„, ์ธํ„ฐํŽ˜์ด์Šค)์œผ๋กœ ์„œ๋กœ๋ฅผ ๊ทธ๋ฃนํ™” ํ•  ์ˆ˜ ์žˆ๋Š” ๊ด€๊ณ„

โ†’ ํ•œ ๊ฐ์ฒด๊ฐ€ ๋‹ค๋ฅธ ๊ฐ์ฒด์—๊ฒŒ ์˜คํผ๋ ˆ์ด์…˜์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์ง€์ •ํ•˜๋Š” ์˜๋ฏธ์ ์ธ ๊ด€๊ณ„