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

[์‹ค๊ธฐ] ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ 22๋…„ 2ํšŒ ๊ธฐ์ถœ ์˜ค๋‹ต๋…ธํŠธ

by ๐Ÿณ Laboon 2024. 7. 28.

1๋ฒˆ

  • ๊ด€๊ณ„๋Œ€์ˆ˜
    • ์›ํ•˜๋Š” ์ •๋ณด์™€ ๊ทธ ์ •๋ณด๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ป๊ฒŒ ์œ ๋„ํ•˜๋Š”๊ฐ€๋ฅผ ๊ธฐ์ˆ 
    • ์ ˆ์ฐจ์ ์ธ ์–ธ์–ด, ๋ฆด๋ ˆ์ด์…˜ ์ฒ˜๋ฆฌ
    • ์—ฐ์‚ฐ์ž์™€ ์—ฐ์‚ฐ ๊ทœ์น™์„ ์ œ๊ณต
    • ํ”ผ์—ฐ์‚ฐ์ž์™€ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๊ฐ€ ๋ชจ๋‘ ๋ฆด๋ ˆ์ด์…˜
    • ํ•ด๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•œ ์—ฐ์‚ฐ์˜ ์ˆœ์„œ๋ฅผ ๋ช…์‹œ
    • ์ˆœ์ˆ˜ ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž์™€ ์ผ๋ฐ˜ ์ง‘ํ•ฉ ์—ฐ์‚ฐ์žฆ๊ฐ€ ์žˆ์Œ.
  • ๊ด€๊ณ„ํ•ด์„ (Relational Calculus)
    • ์ˆ˜ํ•™์˜ ์ˆ ์–ด ํ•ด์„(Predicate Calculus)์— ๊ธฐ๋ฐ˜์„ ๋‘๊ณ  ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋ฅผ ์œ„ํ•ด ์ œ์•ˆ
    • ์›ํ•˜๋Š” ์ •๋ณด๊ฐ€ ๋ฌด์—‡์ด๋ผ๋Š” ๊ฒƒ๋งŒ ์ •์˜ํ•จ
    • ๋น„์ ˆ์ฐจ์  ํŠน์„ฑ์„ ์ง€๋‹ˆ๊ณ  ์›ํ•˜๋Š” ์ •๋ณด ์ •์˜ ์‹œ ๊ณ„์‚ฐ ์ˆ˜์‹์„ ์‚ฌ์šฉ
    • ํŠœํ”Œ ๊ด€๊ณ„ํ•ด์„๊ณผ ๋„๋ฉ”์ธ ๊ด€๊ณ„ํ•ด์„์œผ๋กœ ๊ตฌ๋ถ„

10๋ฒˆ

  • ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋‹จ๊ณ„ -> ํ…Œ์ŠคํŠธ ๋‹จ๊ณ„
    • ์š”๊ตฌ์‚ฌํ•ญ -> ๋ถ„์„ -> ์„ค๊ณ„ -> ๊ตฌํ˜„ ->
    • ๋‹จ์œ„ ํ…Œ์ŠคํŠธ -> ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ -> ์‹œ์Šคํ…œ ํ…Œ์ŠคํŠธ -> ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ
    • ์‹œ์Šคํ…œ ํ…Œ์ŠคํŠธ, ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ ์ž˜ ๊ธฐ์–ตํ•˜๊ธฐ
  • ์ธ์ˆ˜ํ…Œ์ŠคํŠธ (Acceptance Test)
    • ์‚ฌ์šฉ์ž ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ
      • ์‚ฌ์šฉ์ž๊ฐ€ ์‹œ์Šคํ…œ ์‚ฌ์šฉ์˜ ์ ์ ˆ์„ฑ ์—ฌ๋ถ€๋ฅผ ํ™•์ธ
    • ์šด์˜์ƒ์˜ ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ
      • ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž๊ฐ€ ์‹œ์Šคํ…œ ์ธ์ˆ˜ ์‹œ ์ˆ˜ํ–‰
    • ๊ณ„์•ฝ ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ
      • ๊ณ„์•ฝ์ƒ ์ธ์ˆ˜/๊ฒ€์ˆ˜ ์กฐ๊ฑด์„ ์ค€์ˆ˜ํ•˜๋Š”์ง€ ์—ฌ๋ถ€ ํ™•์ธ
    • ๊ทœ์ • ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ
      • ์ •๋ถ€ ์ง€์นจ, ๊ทœ์ • ๋“ฑ์— ๋งž๊ฒŒ ๊ฐœ๋ฐœ ๋˜์—ˆ๋Š”์ง€ ํ™•์ธ
    • ์•ŒํŒŒ ํ…Œ์ŠคํŠธ
      • ๊ฐœ๋ฐœ์ž์˜ ์žฅ์†Œ์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐœ๋ฐœ์ž ์•ž์—์„œ ํ–‰ํ•จ.
      • ํ…Œ์ŠคํŠธ๋Š” ํ†ต์ œ๋œ ํ™˜๊ฒฝ์—์„œ ํ–‰ํ•ด์ง
      • ์˜ค๋ฅ˜์™€ ๋ฌธ์ œ์ ์„ ์‚ฌ์šฉ์ž์™€ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•จ๊ป˜ ํ™•์ธ
    • ๋ฒ ํƒ€ ํ…Œ์ŠคํŠธ
      • ์„ ์ •๋œ ์ตœ์ข… ์‚ฌ์šฉ์ž ์—ฌ๋Ÿฌ๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ํ…Œ์ŠคํŠธ

11๋ฒˆ

  • ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์—ฌ๋ถ€์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ
    • ์ •์  ํ…Œ์ŠคํŠธ
      • ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋Œ€์ƒ์œผ๋กœ ๋ถ„์„
    • ๋™์  ํ…Œ์ŠคํŠธ
      • ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘ ์˜ค๋ฅ˜๋ฅผ ์ฐพ๋Š” ํ…Œ์ŠคํŠธ
  • ํ…Œ์ŠคํŠธ ๊ธฐ๋ฐ˜์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ
    • ๋ช…์„ธ ๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŠธ
      • ์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ์‚ฌํ•ญ์— ๋Œ€ํ•œ ๋ช…์„ธ๋ฅผ ๋น ์ง ์—†์ด ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋กœ ๋งŒ๋“ฌ
    • ๊ตฌ์กฐ ๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŠธ
      • SW ๋‚ด๋ถ€ ๋…ผ๋ฆฌ ํ๋ฆ„์— ๋”ฐ๋ผ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ž‘์„ฑ
    • ๊ฒฝํ—˜ ๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŠธ
      • ์œ ์‚ฌ SW, ๊ธฐ์ˆ  ๋“ฑ ํ…Œ์Šคํ„ฐ์˜ ๊ฒฝํ—˜์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ˆ˜ํ–‰
  • ์‹œ๊ฐ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ
    • ๊ฒ€์ฆ(Verification) ํ…Œ์ŠคํŠธ
      • ๊ฐœ๋ฐœ์ž์˜ ์‹œ๊ฐ์—์„œ ์ œํ’ˆ์˜ ์ƒ์‚ฐ ๊ณผ์ •์„ ํ…Œ์ŠคํŠธ
    • ํ™•์ธ (Validation) ํ…Œ์ŠคํŠธ
      • ์‚ฌ์šฉ์ž์˜ ์‹œ๊ฐ์—์„œ ์ƒ์ƒ๋œ ์ œํ’ˆ์˜ ๊ฒฐ๊ณผ๋ฅผ ํ…Œ์ŠคํŠธ
  • ๋ชฉ์ ์— ๋”ฐ๋ฅธ ํ…Œ์ŠคํŠธ
    • ํšŒ๋ณต(Recovery) ํ…Œ์ŠคํŠธ
      • ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ฒฐํ•จ์„ ์ฃผ์–ด ์‹คํŒจ ํ›„, ๋ณต๊ตฌ ๋˜๋Š”์ง€ ํ…Œ์ŠคํŠธ
    • ์•ˆ์ „ (Security) ํ…Œ์ŠคํŠธ
      • ์‹œ์Šคํ…œ ๋ณดํ˜ธ ๋„๊ตฌ๊ฐ€ ๋ถˆ๋ฒ•์ ์ธ ์นจ์ž…์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธ
    • ๊ฐ•๋„(Stress) ํ…Œ์ŠคํŠธ
      • ์‹œ์Šคํ…œ์— ๊ณผ๋„ํ•œ ์ •๋ณด๋Ÿ‰์ด๋‚˜ ๋นˆ๋„ ๋“ฑ์„ ๋ถ€๊ณผ
      • ๊ณผ๋ถ€ํ•˜ ์‹œ์—๋„ SW๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๋˜๋Š”์ง€ ํ…Œ์ŠคํŠธ
    • ์„ฑ๋Šฅ (Performance) ํ…Œ์ŠคํŠธ
      • SW ์‹ค์‹œ๊ฐ„ ์„ฑ๋Šฅ์ด๋‚˜ ์ „์ฒด์ ์ธ ํšจ์œจ์„ฑ ์ง„๋‹จ
    • ๊ตฌ์กฐ (Structure) ํ…Œ์ŠคํŠธ
      • SW ๋‚ด๋ถ€์˜ ๊ฒฝ๋กœ, ์†Œ์Šค ์ฝ”๋“œ์˜ ๋ณต์žก ํ‰๊ฐ€
    • ํšŒ๊ท€ (Regression) ํ…Œ์ŠคํŠธ
      • ๋ณ€๊ฒฝ ๋˜๋Š” ์ˆ˜์ •๋œ ์ฝ”๋“œ์— ์ƒˆ๋กœ์šด ๊ฒฐํ•จ์ด ์—†๋Š”์ง€ ํ™•์ธ
    • ๋ณ‘ํ–‰(Parallel) ํ…Œ์ŠคํŠธ
      • ๋ณ€๊ฒฝ๋œ SW์™€ ๊ธฐ์กด SW์— ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•ด ๊ฒฐ๊ณผ๋ฅผ ๋น„๊ต

์• ๋งค

3๋ฒˆ

where (๋‹ค์ค‘ ๋ฐ์ดํ„ฐ) ์ ˆ์—์„œ๋Š” in, any, all์ด ์žˆ๋‹ค.

 

6๋ฒˆ

  • ๋‹จ์ผ ์ฑ…์ž„์˜ ์›์น™ (SRP, Single Responsibility Principle)
    • ๊ฐ์ฒด๋Š” ๋‹จ ํ•˜๋‚˜์˜ ์ฑ…์ž„๋งŒ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค.
  • ๊ฐœ๋ฐฉ-ํ์‡ ์˜ ์›์น™ (OCP, Open-Closed Principle)
    • ๊ธฐ์กด์˜ ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„ํ•ด์•ผ ํ•œ๋‹ค.
  • ๋ฆฌ์Šค์ฝ”ํ”„ ์น˜ํ™˜์˜ ์›์น™(LSP, Liskov SUbsitution Principle)
    • ์ž์‹ ํด๋ž˜์Šค๋Š” ์ตœ์†Œํ•œ ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๊ธฐ๋Šฅ์€ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค๋Š” ์›์น™
  • ์ธํ„ฐํŽ˜์ด์Šค ๋ถ„๋ฆฌ์˜ ์›์น™ (ISP, Inserface Segregation Principle)
    • ์ž์‹ ์ด ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ธํ„ฐํŽ˜์ด์Šค์™€ ์˜์กด ๊ด€๊ณ„๋ฅผ ๋งบ์œผ๋ฉด ์•ˆ๋œ๋‹ค.
    • ์˜ํ–ฅ๋„ ๋ฐ›์•„์„œ๋Š” ์•ˆ๋œ๋‹ค.
    • ์ง€ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ง€๊บผ๋งŒ ๊ตฌํ˜„
  • ์˜์กด ์—ญ์ „์˜ ์›์น™ (Dependency Inversion Principle)
    • ์˜์กด ๊ด€๊ณ„ ์„ฑ๋ฆฝ์‹œ ์ถ”์ƒ์„ฑ์ด ๋†’์€ ํด๋ž˜์Šค์™€ ์˜์กด ๊ด€๊ณ„๋ฅผ ๋งบ์–ด์•ผ ํ•จ.