๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ๋ฐœ ์ด์•ผ๊ธฐ/์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ

์š”๊ตฌ์‚ฌํ•ญ ํ™•์ธ - ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก 

by 0_0๐Ÿ–ค 2023. 7. 4.
๋ฐ˜์‘ํ˜•

 

- ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ƒ์‚ฐํ•˜๋Š”๋ฐ์— ํ•„์š”ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐœ๋ฐœ ๊ณผ์ •๋“ค์„ ์ •๋ฆฌํ•˜๊ณ  ํ‘œ์ค€ํ™”ํ•œ ๊ฒƒ

- ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐœ๋ฐœ ๊ณผ์ •์—์„œ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๋„๋ก ํ•ด ํ˜‘์—…์„ ๋•๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•๋ก 

- ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ํ•˜๋‚˜์˜ ์ƒ๋ช…์ฒด๋กœ ๊ฐ„์ฃผํ•œ๋‹ค.

 

๊ตฌ์กฐ์  ๋ฐฉ๋ฒ•๋ก  (Structured Development)

- ๊ธฐ๋Šฅ๋ณ„๋กœ ๋‚˜๋ˆ„์–ด ๊ฐœ๋ฐœ ํ›„ ํ†ตํ•ฉํ•˜๋Š” ๋ฐฉ์‹

- ํ•˜ํ–ฅ์‹ ๋ฐฉ๋ฒ•๋ก , ํ”„๋กœ์„ธ์Šค ์ค‘์‹ฌ์œผ๋กœ ์ง„ํ–‰๋จ

- ๋‚˜์”จ-์Šˆ๋‚˜์ด๋”๋งŒ(Nassi-Shuneiderman) ์ฐจํŠธ

 

 

 

์ •๋ณด๊ณตํ•™ ๋ฐฉ๋ฒ•๋ก  (Information Engineering Development)

- ๋ณดํŽธ์ ์œผ๋กœ ๊ธฐ์—…์˜ ๋น„์ฆˆ๋‹ˆ์Šค ์‹œ์Šคํ…œ์— ์ ์šฉ๋จ (๊ธฐ์—… ์ค‘์‹ฌ)

- ๋ฌธ์ œ ์˜์—ญ์„ ์„ธ๋ถ„ํ™”ํ•ด ์™„์„ฑํ•˜๋Š” ๋ฐฉ์‹

 

 

 

 

๊ฐ์ฒด์ง€ํ–ฅ ๋ฐฉ๋ฒ•๋ก  (Object-Oridented Development, OOD)

- ํด๋ž˜์Šค, ์—ฐ์‚ฐ ๋ฐ ์†์„ฑ, ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•˜์—ฌ ๋ชจ๋ธ๋งํ•œ๋‹ค.

 

(1) OMT(Object Modeling Technology) : ๋Ÿผ๋ฐ”์šฐ (Rumbaugh) ๊ฐ์ฒด ์ง€ํ–ฅ ๋ถ„์„ ๊ธฐ๋ฒ• โ˜…

- ๊ฐ์ฒด ๋ชจ๋ธ๋ง -> ๋™์  ๋ชจ๋ธ๋ง -> ๊ธฐ๋Šฅ ๋ชจ๋ธ๋ง ์ˆœ์„œ๋กœ ์ง„ํ–‰๋จ

   1) ๊ฐ์ฒด ๋ชจ๋ธ๋ง(Object Modeling) : ๊ฐ์ฒด ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์ด์šฉ.

   2) ๋™์  ๋ชจ๋ธ๋ง(Dynamic Modeling) : ์ƒํƒœ ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์ด์šฉ

   3) ๊ธฐ๋Šฅ ๋ชจ๋ธ๋ง(Functional Modeling) : ์ž๋ฃŒ ํ๋ฆ„๋„(DFD)๋ฅผ ์ด์šฉ

 

(2) OOSE (Object Oriented Software Engineering) : ์•ผ์ฝฅ์Šจ

  - ์œ ์Šค์ผ€์ด์Šค์— ์˜ํ•œ ์ ‘๊ทผ ๋ฐฉ๋ฒ•

  - ๋ถ„์„, ์„ค๊ณ„, ๊ตฌํ˜„ ๋‹จ๊ณ„๋กœ ๊ตฌ์„ฑ๋จ

  - ๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ ์ค‘์‹ฌ

 

(3) OOD (Object Oriented Design) : ๋ถ€์น˜

  - ๋‹ค์ด์–ด๊ทธ๋žจ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก  (์„ค๊ณ„ ๋ฌธ์„œํ™” ๊ฐ•์กฐ)

  - ๋ถ„์„๊ณผ ์„ค๊ณ„์˜ ๋ถ„๋ฆฌ ๋ถˆ๊ฐ€๋Šฅ

  - ๋ถ„์„ํ•˜๋Š”๋ฐ ์ด์šฉ๋œ ๊ฐ์ฒด ๋ชจ๋ธ์˜ ์„ค๊ณ„ ์‹œ ์ ์šฉ

 

 

 

 

์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜ ๋ฐฉ๋ฒ•๋ก  (Component Based Development, CBD)

- ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ•˜๋‚˜๋กœ ์กฐ๋ฆฝํ•ด ์ƒˆ๋กœ์šด ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•œ๋‹ค.

- ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„์ด ๋‹จ์ถ•

- ์กฐ๋ฆฝํ•ด ์ œ์ž‘ํ•˜๋ฏ€๋กœ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€๊ฐ€ ์šฉ์ดํ•˜๋‹ค.

- ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

 

 

 

์• ์ž์ผ ๋ฐฉ๋ฒ•๋ก  (Agile Development) โ˜…

- ์‚ฌ๋žŒ ์ค‘์‹ฌ ( =/ ์ ˆ์ฐจ ์ค‘์‹ฌ )

- ๊ธฐ์กด ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก ์˜ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ๋“ฑ์žฅ

- ๋ณ€ํ™”์— ์œ ์—ฐํ•˜๊ณ  ๋น ๋ฅด๊ฒŒ ๋Œ€์‘ ๊ฐ€๋Šฅ 

 

1) XP (eXtreme Programming)

   - ์ฃผ๊ธฐ์ ์ด๊ณ  ์งง์€ ํ”ผ๋“œ๋ฐฑ

   - 1~3์ฃผ ๋ฐ˜๋ณต ๊ฐœ๋ฐœ ์ฃผ๊ธฐ

   - 5๊ฐ€์ง€ ๊ฐ€์น˜ : ์šฉ๊ธฐ / ๋‹จ์ˆœ์„ฑ / ์˜์‚ฌ์†Œํ†ต / ํ”ผ๋“œ๋ฐฑ / ์กด์ค‘

   - 12๊ฐ€์ง€ ๊ธฐ๋ณธ ์›๋ฆฌ

      1) ์ง ํ”„๋กœ๊ทธ๋ž˜๋ฐ : ๋‘ ๋ช…์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์„ ์ด๋ค„ ๊ฐœ๋ฐœ

      2) ๊ณต๋™ ์ฝ”๋“œ ์†Œ์œ  : ๋ˆ„๊ตฌ๋‚˜ ์‹œ์Šคํ…œ์˜ ์ฝ”๋“œ ์ˆ˜์ • ๊ฐ€๋Šฅ

      3) ์ง€์†์ ์ธ ํ†ตํ•ฉ : ๋งค์ผ, ์—ฌ๋Ÿฌ๋ฒˆ์”ฉ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ํ†ตํ•ฉํ•˜๊ณ  ๋นŒ๋“œ ํ•ด์•ผ ํ•จ

      4) ๊ณ„ํš ์„ธ์šฐ๊ธฐ : ๊ณ ๊ฐ์ด ์š”๊ตฌํ•˜๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๊ฐ€์น˜๋ฅผ ์ •์˜, ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•„์š”ํ•œ ๊ฒƒ๊ณผ ์ง€์—ฐ ๊ฐ€๋Šฅ์„ฑ ์œ ๋ฌด ์•ˆ๋‚ดํ•ด์•ผ ํ•จ

      5) ์ž‘์€ ๋ฆด๋ฆฌ์ฆˆ : ์ž‘์€ ์‹œ์Šคํ…œ์ด ์„ ํ–‰๋˜์–ด ์ œ์ž‘, ์งง์€ ๋‹จ์œ„๋กœ ์—…๋ฐ์ดํŠธ ํ•ด์•ผ ํ•จ

      6) ๋ฉ”ํƒ€ํฌ์–ด : ๊ณตํ†ต์˜ ์ด๋ฆ„ ์ฒด๊ณ„์™€ ์‹œ์Šคํ…œ ์„œ์ˆ ์„œ๋กœ ์›ํ™œํ•˜๊ฒŒ ์˜์‚ฌ์†Œํ†ต ํ•ด์•ผ ํ•จ

      7) ๊ฐ„๋‹จํ•œ ๋””์ž์ธ : ์š”๊ตฌ์‚ฌํ•ญ์— ์ ํ•ฉํ•œ ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ์‹œ์Šคํ…œ์œผ๋กœ ๊ฐœ๋ฐœ

      8) ํ…Œ์ŠคํŠธ ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ(TDD) : ํ”„๋กœ๊ทธ๋žจ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•  ์ˆ˜ ์žˆ๋„๋ก ์‹ค์ œ ์ฝ”๋“œ ์ž‘์„ฑ

      9) ๋ฆฌํŒฉํ† ๋ง : ํ”„๋กœ๊ทธ๋žจ ๊ธฐ๋Šฅ์„ ๋ฐ”๊พธ์ง€ ์•Š์œผ๋ฉด์„œ ์ค‘๋ณต์ œ๊ฑฐ, ๋‹จ์ˆœํ™”๋ฅผ ์œ„ํ•ด ์‹œ์Šคํ…œ์„ ์žฌ๊ตฌ์„ฑ ํ•ด์•ผ ํ•จ

      10) 40์‹œ๊ฐ„ ์ž‘์—… : ๊ฐœ๋ฐœ์ž๊ฐ€ ์‹ค์ˆ˜ํ•˜์ง€ ์•Š๋„๋ก ์ผ์ฃผ์ผ์— 40์‹œ๊ฐ„ ์ด์ƒ ์ผํ•˜์ง€ ์•Š์•„์•ผ ํ•จ

      11) ๊ณ ๊ฐ ์ƒ์ฃผ : ๊ฐœ๋ฐœ์ž๋“ค์˜ ์งˆ๋ฌธ์— ๋Œ€๋‹ตํ•  ๊ณ ๊ฐ์ด 24์‹œ๊ฐ„ ์žˆ์–ด์•ผ ํ•จ

      12) ์ฝ”๋“œ ํ‘œ์ค€ : ํšจ๊ณผ์ ์ธ ํ˜‘์—…์„ ์œ„ํ•ด ์ฝ”๋”ฉ ํ‘œ์ค€์„ ์ •์˜ํ•ด์•ผ ํ•จ

 

  2) ์Šคํฌ๋Ÿผ (Scrum)

      - ๋งค์ผ ์ •ํ•ด์ง„ ์žฅ์†Œ์—์„œ ์งง์€ ์‹œ๊ฐ„์˜ ๊ฐœ๋ฐœ์„ ํ•˜๋Š” ํŒ€์„ ์œ„ํ•œ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ•๋ก 

      - ์Šคํฌ๋Ÿผ ๋ฏธํŒ… : ๋งค์ผ 15๋ถ„ ์ •๋„ ๋ฏธํŒ…์œผ๋กœ To-Do-List ๊ณ„ํš (๋ฐ์ผ๋ฆฌ ๋ฏธํŒ… ์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค)

 

 3) ๋ฆฐ (LEAN)

      - ๋„์š”ํƒ€์˜ ๋ฆฐ ์‹œ์Šคํ…œ ํ’ˆ์งˆ ๊ธฐ๋ฒ•์„ ๊ฐœ๋ฐœ์— ์ ์šฉํ•ด์„œ ํ’ˆ์งˆ์„ ํ–ฅ์ƒ ์‹œํ‚จ ๋ฐฉ๋ฒ•๋ก 

      - JIT(Just In Time), ์นธ๋ฐ˜(KanBan) ๋ณด๋“œ ์‚ฌ์šฉ

      - 7๊ฐ€์ง€ ์›์น™ : ๋‚ญ๋น„์ œ๊ฑฐ, ํ’ˆ์งˆ ๋‚ด์žฌํ™”, ์ง€์‹ ์ฐฝ์ถœ, ๋Šฆ์€ ํ™•์ •, ๋น ๋ฅธ ์ธ๋„, ์‚ฌ๋žŒ ์กด์ค‘, ์ „์ฒด ์ตœ์ ํ™”

 

 

 

 

์ œํ’ˆ ๊ณ„์—ด ๋ฐฉ๋ฒ•๋ก  (Product Line Development)

- ํŠน์ • ์ œํ’ˆ์— ์ ์šฉํ•˜๊ณ  ์‹ถ์€ ๊ณตํ†ต๋œ ๊ธฐ๋Šฅ์„ ์ •์˜ํ•˜์—ฌ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐฉ๋ฒ•๋ก 

- ์˜์—ญ ๊ณตํ•™๊ณผ ์‘์šฉ ๊ณตํ•™์œผ๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค

- ์ž„๋ฒ ๋””๋“œ ์†Œํ”„ํŠธ์›จ์–ด ์ž‘์„ฑ์‹œ ์œ ์šฉํ•˜๋‹ค.

 

 

 

 

๋ฐ˜์‘ํ˜•