๐ŸŽซ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ part03~05. ์‚ฌ๋ก€์—ฐ๊ตฌ / Inception / ์ง„ํ™”์ ์š”๊ตฌ์‚ฌํ•ญ

vincaยท2023๋…„ 1์›” 2์ผ
0

๐Ÿ”„ Software engineering

๋ชฉ๋ก ๋ณด๊ธฐ
4/17

[3์žฅ โ€“ ์‚ฌ๋ก€์—ฐ๊ตฌ]

โ–  SDLC (Software Development Life Cycle)

  • ์†Œํ”„ํŠธ ์›จ์–ด์˜ ๊ฐœ๋ฐœ ์ฃผ๊ธฐ

โ–  ๊ฐ์ฒด์ง€ํ–ฅ ์‹œ์Šคํ…œ์˜ 3๊ฐœ์˜ ๊ตฌ์กฐ์  ๊ณ„์ธต(architectural layer)

์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค, ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ์ง ๋ฐ ๋„๋ฉ”์ธ ์˜ค๋ธŒ์ ํŠธ, ํ…Œํฌ๋‹ˆ์ปฌ ์„œ๋น„์Šค

  • Application Logic and Domain Objects : ๋งค์ถœ ๋“ฑ๋ก ์ง€๋ถˆ ๋“ฑ ๋ฌธ์ œ ์˜์—ญ๊ณผ ๊ด€๋ จ๋œ ๊ฐ์ฒด๋“ค
  • Technical Services: ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค API, ์˜ค๋ฅ˜ ๋กœ๊ทธ

โ–  Faรงade Pattern(ํŒŒ์‚ฌ๋“œ ํŒจํ„ด)

์†Œํ”„ํŠธ์›จ์–ด ๋‚ด๋ถ€์˜ ์„œ๋ธŒ์‹œ์Šคํ…œ(ํฌ๊ณ  ๋งŽ์€ ์ฝ”๋“œ๋“ค)์— ๊ฐ๊ฐ ์ผ์ผ์ด ์ ‘๊ทผํ•˜๊ธฐ๋ณด๋‹ค facade ๊ฐ์ฒด๋ฅผ ํ†ตํ•˜์—ฌ ํ†ตํ•ฉ๋œ ์™ธ๋ถ€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ค์–ด ์‰ฝ๊ฒŒ ๋‚ด๋ถ€์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

[4์žฅ โ€“ Inception์€ ํƒ€๋‹น์„ฑ ๊ฒ€ํ† ๋‹ค]

โ–  Inception

์ด ํ”„๋กœ์ ํŠธ์˜ ๋น„์ „๊ณผ ๋น„์ฆˆ๋‹ˆ์Šค ์ผ€์ด์Šค๋Š” ๋ฌด์—‡์ธ๊ฐ€?
์‹คํ˜„๊ฐ€๋Šฅ์„ฑ์€ ์–ด๋А์ •๋„ ๋˜๋Š”๊ฐ€?
๋Œ€๊ฐ•์˜ ๋น„์šฉ ์‚ฐ์ • ๋ฐ ๊ณ„์†ํ• ์ง€ ๋ง์ง€๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.

โ–  Inception์˜ ๋ชฉ์ 

ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ์— ๋Œ€ํ•œ ๊ณตํ†ต์ ์ธ ์ดˆ๊ธฐ ๋น„์ „ ์„ค์ •
๊ฐ€๋Šฅ์„ฑ ๊ฒฐ์ •, ํˆฌ์ž๊ฐ€์น˜ ํŒ๋‹จ

โ–  V&V

Validation - ๋ถ„์„์ด ์˜ณ์€ ๊ฒƒ์ธ๊ฐ€?
๊ธฐ๋Šฅ์ด ์‹œ์žฅ์—์„œ Vaildํ•œ๊ฐ€ = Waht์ด ์ œ๋Œ€๋กœ ๋˜์—ˆ๋Š”๊ฐ€?
Verification - ์„ค๊ณ„ ๋ฐ ๊ตฌํ˜„์ด ์˜ณ์€ ๊ฒƒ์ธ๊ฐ€?
์ œ๋Œ€๋กœ ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋˜์—ˆ๋Š”๊ฐ€ = How๊ฐ€ ์ œ๋Œ€๋กœ ๋˜์—ˆ๋Š”๊ฐ€?

โ–  Inception์˜ ํŠน์ง•

  • ํ•˜๋ฃจ. ๊ธธ์–ด๋„ 2์ฃผ ์•ˆ์— ๋๋‚ด์•ผ ํ•œ๋‹ค.
  • ์™„๋ฒฝํ•œ ์ˆœ์„œ (์š”๊ตฌ์‚ฌํ•ญ ์ •์˜->์•„ํ‚คํ…์ณ ์ •์˜->๊ตฌํ˜„)๋ฅผ ๋”ฐ๋ผ๊ฐˆ ์ˆ˜ ์—†๋‹ค. ์™„๋ฒฝํ•˜์ง€ ์•Š์•„๋„ ์ง„ํ–‰๋œ๋‹ค.
  • ์œ ์ฆˆ์ผ€์ด์Šค์˜ 10~20%์ •๋„๋Š” ์ƒ์„ธํžˆ ์“ฐ์—ฌ์•ผ ํ•œ๋‹ค.
  • ์‹ ๋ขฐํ• ๋งŒํ•œ ์ถ”์ •๊ณผ ๊ณ„ํš์€ elaboration ๋‹จ๊ณ„์—์„œ ๋ฐ˜๋ณต์ ์œผ๋กœ ๋งŒ๋“ค์–ด์ง€๋Š” ๊ฒƒ์ด์ง€ Inception์—์„œ ํ•  ์ผ์ด ์•„๋‹ˆ๋‹ค.
  • ์š”๊ตฌ์‚ฌํ•ญ์„ ์ „๋ถ€ ์ •์˜ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ฉฐ, ์ด๋Š” ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ์ค‘์š”ํ•œ ๊ฑด ํƒ€๋‹น์„ฑ ๊ฒ€ํ† ๋‹ค.
  • ๋น„์ฆˆ๋‹ˆ์Šค ์ผ€์ด์Šค๋‚˜ ๋น„์ „ ์‚ฐ์ถœ๋ฌผ์ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.
  • ํ•ต์‹ฌ์ ์ธ ์œ ์ฆˆ์ผ€์ด์Šค ๋ฐ ์•กํ„ฐ๊ฐ€ ์‹๋ณ„๋˜์–ด์•ผ ํ•œ๋‹ค. (๋‹จ, ๋ชจ๋“  ์œ ์ฆˆ์ผ€์ด์Šค๋Š” ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค)

[5์žฅ โ€“ ์ง„ํ™”์ ์š”๊ตฌ์‚ฌํ•ญ]

์š”๊ตฌ์‚ฌํ•ญ์ด ์ œ๋Œ€๋กœ ์ˆ˜๋ฆฝ ๋˜์ง€์•Š์œผ๋ฉด ์ญ‰ ์ง„ํ–‰๋˜์—ˆ๋‹ค๊ฐ€ ๋‹ค์‹œ ๋Œ์•„์˜ค๊ฒŒ ๋œ๋‹ค.
๋”ฐ๋ผ์„œ ์ง€์†์ ์œผ๋กœ ๋ณ€ํ•˜๋Š” ์š”๊ตฌ์‚ฌํ•ญ์— ๋Œ€ํ•ด์„œ ์š”๊ตฌ์‚ฌํ•ญ์˜ ๊ด€๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

โ–  ํญํฌ์ˆ˜ ๋ชจ๋ธ VS UP

ํญํฌ์ˆ˜ ๋ชจ๋ธ : ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐ์— ๋ชจ๋“  ์š”๊ตฌ์‚ฌํ•ญ์„ ๋„์ถœ.
UP : ์‹œ์Šคํ…œ์— ๋Œ€ํ•ด ๋ณ€ํ™”ํ•˜๋Š” ์š”๊ตฌ์‚ฌํ•ญ์„ ์กฐ๊ธˆ์”ฉ ์ฒด๊ณ„์ ์œผ๋กœ ๋„์ถœ.
UP์™€ ๊ฐ™์€ ์ง„ํ™”์  ์š”๊ตฌ์‚ฌํ•ญ์—์„  ๋Œ€๋ถ€๋ถ„์˜ ์š”๊ตฌ์‚ฌํ•ญ์ด ํ™•์ •๋˜๊ธฐ ์ „ ์ œํ’ˆ์˜ ๊ฐœ๋ฐœ ๋ฐ ํ…Œ์ŠคํŠธ๊ฐ€ ์ง„ํ–‰๋œ๋‹ค.
๋”ฐ๋ผ์„œ ๊ฐœ๋ฐœ ์—…๋ฌด๊ฐ€ ๋Œ€ํญ ๊ฐ์†Œ๋˜๊ณ , ์ฃผ๊ธฐ์ ์ธ ์‚ฌ์šฉ์ž์™€์˜ ์†Œํ†ต์„ ํ†ตํ•ด ๋งŒ์กฑ๊ฐ๋˜ํ•œ ์˜ฌ๋ผ๊ฐ„๋‹ค.

โ–  FURPS+ ๋ชจ๋ธ

๋ชจ๋“  ์š”๊ตฌ ์‚ฌํ•ญ์„ ๋‹ค๋ฃจ์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • Functional Requirements : ๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ
  • Not-Functional Requirements : ํŽธ์˜์„ฑ, ์‹ ๋ขฐ์„ฑ, ์„ฑ๋Šฅ, ์ง€์›์„ฑ ๋“ฑ (์‹œ์Šคํ…œ ๊ตฌ์กฐ์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค)

โ–  ์š”๊ตฌ์‚ฌํ•ญ์ด ํฌํ•จ๋˜๋Š” ์‚ฐ์ถœ๋ฌผ

์š”๊ตฌ์‚ฌํ•ญ์€ ์œ ์ฆˆ์ผ€์ด์Šค, ๋น„์ „, ๋ณด์ถฉ๋ช…์„ธ, ์šฉ์–ด์ง‘(์ฃผ๋ฏผ๋ฒˆํ˜ธ ์œ ํšจ ๊ทœ์น™ ๋“ฑ)์— ํฌํ•จ๋œ๋‹ค.

profile
๋ถ‰์€ ๋ฐฐ ์˜ค์ƒ‰ ๋”ฑ๋‹ค๊ตฌ๋ฆฌ ๊ฐœ๋ฐœ์ž ๐ŸฆƒCloud & DevOps

0๊ฐœ์˜ ๋Œ“๊ธ€