๐ŸŽซ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ part15. UML ์ธํ„ฐ๋ ‰์…˜ ๋‹ค์ด์–ด๊ทธ๋žจ

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

๐Ÿ”„ Software engineering

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

UML ์ธํ„ฐ๋ ‰์…˜ ๋‹ค์ด์–ด๊ทธ๋žจ

  • ๋™์  ๊ฐ์ฒด ๋ชจ๋ธ๋ง์„ ์œ„ํ•ด์„œ ์ธํ„ฐ๋ ‰์…˜ ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์‚ฌ์šฉ
  • ์ด๋ฒˆ์žฅ์—์„œ๋Š” UML ์ธํ„ฐ๋ ‰์…˜ ๋‹ค์ด์–ด๊ทธ๋žจ์˜ ํ‘œ๊ธฐ๋ฒ•์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•œ๋‹ค. ์ž ๋“œ๊ฐ€์ž~!

์‹œํ€€์Šค ๋‹ค์ด์–ด๊ทธ๋žจ๊ณผ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๋‹ค์ด์–ด๊ทธ๋žจ

  • ๋‘˜ ๋‹ค ๋˜‘๊ฐ™์€ ๊ฒƒ์„ ํ‘œํ˜„ํ•œ๋‹ค.
  • ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰์‹œํ‚ค๋„๋ก ํ•˜๋Š” ์ฃผ์ฒด(ํด๋ž˜์Šค)๊ฐ€ ํ•ด๋‹น ํ•จ์ˆ˜์˜ ์ฑ…์ž„(ํ•จ์ˆ˜)๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
  • ์žฅ์ ๊ณผ ๋‹จ์ 

UML Interaction Diagram์˜ ํ‘œ๊ธฐ๋ฒ•

  • ๋Œ€์†Œ๋ฌธ์ž๋กœ ๊ตฌ๋ถ„๋œ๋‹ค. (๋Œ€๋ฌธ์ž๋Š” ํด๋ž˜์Šค, ์†Œ๋ฌธ์ž๋Š” ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค)
  • Sale์ด๋ผ๋Š” ํด๋ž˜์Šค์— ์ด๋ฆ„์ด ์—†๋Š” ์˜ค๋ธŒ์ ํŠธ, Sale์ด๋ผ๋Š” ํด๋ž˜์Šค์— s1์ด๋ฆ„์„ ๊ฐ€์ง€๋Š” ์˜ค๋ธŒ์ ํŠธ
  • ์ฆ‰, ๊ธฐ๋ณธ์ ์œผ๋กœ ์ฝœ๋ก (:)์ด ์žˆ๊ฒŒ๋˜๋ฉด ์˜ค๋ธŒ์ ํŠธ์ด๋‹ค.
  • ์ดํ…”๋ฆญ์ฒด๋กœ ์จ์ง„ ๊ฒƒ์€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์Šคํ…Œ๋ ˆ์˜คํƒ€์ž…์œผ๋กœ ์“ด๋‹ค.

Singleton ๊ฐ์ฒด์˜ ํ‘œํ˜„

  • ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ ๋‚ด์—์„œ ํ•˜๋‚˜์˜ ์ธ์Šคํ„ด์Šค๋งŒ์„ ์ƒ์„ฑํ•ด์•ผํ•˜๋Š” ์ƒํ™ฉ์—์„œ ์‚ฌ์šฉํ•œ๋‹ค.
  • ์˜ˆ๋ฅผ ๋“ค์–ด Connection Pool, Thread Pool๊ณผ ๊ฐ™์ด ํ’€ ํ˜•ํƒœ๋กœ ๊ด€๋ฆฌ๋˜๋Š” ํด๋ž˜์Šค๋“ค

[์‚ฌ์šฉ ํ•ด์•ผํ•˜๋Š” ์ด์œ ]

Connction์„ ์‚ฌ์šฉํ•  ๋•Œ๋งˆ๋‹ค ์ƒ์„ฑ/์ œ๊ฑฐ๋ฅผ ํ•œ๋‹ค๋ฉด, ๋งŽ์€ ์‹œ๊ฐ„์ด ๋‚ญ๋น„๋œ๋‹ค. ๋”ฐ๋ผ์„œ, Connction Pool์„ ๋งŒ๋“ค์–ด๋‘๊ณ , ์‚ฌ์šฉ ๋ฐ˜๋‚ฉํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

์‹œํ€€์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์˜ ๊ธฐ๋ณธ์ ์ธ ํ‘œ๊ธฐ๋ฒ•

์‹œํ€€์Šค ๋‹ค์ด์–ด ๊ทธ๋žจ์„ ๋ณด๊ณ  ๋‹ค์Œ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๋ผ.

  • ์‹คํ–‰ ๋ช…์„ธ ๋ง‰๋Œ€
  • ์ธ์Šคํ„ด์Šค์˜ ์ƒ์„ฑ์€ ์˜†ํ†ต์ˆ˜์— ์“ด๋‹ค. โ†’
  • ์กฐ๊ฑด ํ”„๋ ˆ์ž„ (if, alt)
  • ๋ฐ˜๋ณต ํ”„๋ ˆ์ž„ (loop)

ํด๋ž˜์Šค์˜ ์†์„ฑ๊ณผ ๋ฉ”์†Œ๋“œ

  • ํด๋ž˜์Šค ์–ดํŠธ๋ฆฌ๋ทฐํŠธ์™€ ๋ฉ”์†Œ๋“œ / ์˜ค๋ธŒ์ ํŠธ์˜ ์–ดํŠธ๋ฆฌ๋ทฐํŠธ์™€ ๋ฉ”์†Œ๋“œ๋ฅผ ๊ตฌ๋ถ„ํ•  ์ค„ ์•Œ์•„์•ผํ•œ๋‹ค.
  • ํด๋ž˜์Šค ๋ฉ”์†Œ๋“œ์—์„œ๋Š” ํด๋ž˜์Šค ์–ดํŠธ๋ฆฌ๋ทฐํŠธ๋งŒ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค. (์–ด๋–ค ์˜ค๋ธŒ์ ํŠธ์ธ์ง€ ์•Œ ์ˆ˜ ์—†์Œ)
  • ํด๋ž˜์Šค ์–ดํŠธ๋ฆฌ๋ทฐํŠธ๋Š” static์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉฐ ์ •์˜๋ฅผ ํ•˜์ง€ ์•Š์•„๋„ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค (C1.cal =0)

๋‹คํ˜•์„ฑ

  • ๋‹คํ˜•์„ฑ์„ ์œ„ํ•ด์„œ ์ถ”์ƒํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค (๋ฉ”์†Œ๋“œ๋งŒ ์žˆ๊ณ , ๋ฉ”์†Œ๋“œ์˜ body๋Š” ์—†๋‹ค.)
  • ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜๋”๋ผ๋„ Shape์˜ draw๋งŒ ํ˜ธ์ถœํ•˜๋ฉด ๋œ๋‹ค. (์ˆ˜์ •ํ•˜๋Š” ๋ถ€๋ถ„์ด ๋‹จ์ˆœ)
  • ์š”๊ตฌ์‚ฌํ•ญ์ด ๋ณ€๊ฒฝ๋˜์—ˆ์„ ๋•Œ, ์ตœ์†Œํ•œ์˜ ์ˆ˜์ •๋งŒ์œผ๋กœ ๊ฐ€๋Šฅ.

์ธํ„ฐํŽ˜์ด์Šค

  • ์†์„ฑ์ด ์—†๋Š” ์ถ”์ƒ ํด๋ž˜์Šค (์†์„ฑ์€ ์ค‘๋ณต๋  ์šฐ๋ ค๊ฐ€ ํฌ๋‹ค)
  • ๋‹ค์ค‘ ์ƒ์†์˜ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉ

์–ธ์–ด ์„ค๊ณ„์˜ 2๊ฐ€์ง€ ๋ฐฉ๋ฒ•

๋‹ค์ค‘์ƒ์†์„ ์ง€์›ํ•˜๊ณ , ํ•ด๊ฒฐ๋ฐฉ์•ˆ์„ ์ œ์‹œํ•œ๋‹ค. (C++)
๋‹ค์ค‘ ์ƒ์†์„ ์ง€์›ํ•˜์ง€ ์•Š๊ณ , ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ง€์› (JAVA)

๋™๊ธฐ์ ๊ณผ ๋น„๋™๊ธฐ์  ํ˜ธ์ถœ

  • ๋™๊ธฐ์  : ์Šค๋ ˆ๋“œ 1๊ฐœ๋กœ ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋๋‚  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฐ๋‹ค. (๋‹ซํžŒ ํ™”์‚ดํ‘œ โž)
  • ๋น„๋™๊ธฐ์  ํ˜ธ์ถœ : ์Šค๋ ˆ๋“œ ์—ฌ๋Ÿฌ ๊ฐœ๋กœ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ํ•จ๊ป˜ ๋™์ž‘ํ•œ๋‹ค. (์—ด๋ฆฐ ํ™”์‚ดํ‘œ ๏ƒ )
    (์ฐธ๊ณ ๋กœ ์ƒ์† ์‹œ, ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ ์„ ์œผ๋กœ ๋‚˜ํƒ€๋‚ธ๋‹ค)
profile
๋ถ‰์€ ๋ฐฐ ์˜ค์ƒ‰ ๋”ฑ๋‹ค๊ตฌ๋ฆฌ ๊ฐœ๋ฐœ์ž ๐ŸฆƒCloud & DevOps

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