KNOWLEDGE/Software engineering

์‘์ง‘๋„์™€ ๊ฒฐํ•ฉ๋„

2022. 5. 9. 22:53
๋ชฉ์ฐจ
  1. ๐Ÿ’ก ๋ชจ๋“ˆ ยท ๋ชจ๋“ˆํ™”
  2. ์‘์ง‘๋„(Cohesion)
  3. ์šฐ์—ฐ์  ์‘์ง‘๋„(Coincidental Cohesion)
  4. ๋…ผ๋ฆฌ์  ์‘์ง‘๋„(Logical Cohesion)
  5. ์‹œ๊ฐ„์  ์‘์ง‘๋„(Temporal Cohesion)
  6. ์ ˆ์ฐจ์  ์‘์ง‘๋„(Procedural Cohesion)
  7. ๊ตํ™˜์ (ํ†ต์‹ ์ ) ์‘์ง‘๋„(Communication Cohesion)
  8. ์ˆœ์ฐจ์  ์‘์ง‘๋„(Sequential Cohesion)
  9. ๊ธฐ๋Šฅ์  ์‘์ง‘๋„(Functional Cohesion)
  10. ๊ฒฐํ•ฉ๋„(Coupling)
  11. ์ž๋ฃŒ ๊ฒฐํ•ฉ๋„(Data Coupling)
  12. ์Šคํƒฌํ”„ ๊ฒฐํ•ฉ๋„(Stamp Coupling)
  13. ์ œ์–ด ๊ฒฐํ•ฉ๋„(Control Coupling)
  14. ์™ธ๋ถ€ ๊ฒฐํ•ฉ๋„(External Coupling)
  15. ๊ณตํ†ต ๊ฒฐํ•ฉ๋„(Common Coupling)
  16. ๋‚ด์šฉ ๊ฒฐํ•ฉ๋„(Content Coupling)
728x90

๐Ÿ’ก ๋ชจ๋“ˆ ยท ๋ชจ๋“ˆํ™”

๋ชจ๋“ˆ: ๋…๋ฆฝ์ ์ธ ํ•˜์œ„๋‹จ์œ„๋กœ ์ž‘๊ณ  ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋‹จ์œ„๋กœ ๋‚˜๋‰œ ๊ฒƒ, ๊ธฐ๋Šฅ ๋‹จ์œ„๋กœ ๋ถ„ํ•ด ๋ฐ ์ถ”์ƒํ™”

  • ex) ์ž๋ฐ”์˜ ๊ฒฝ์šฐ( ๋ชจ๋“ˆ > ํŒจํ‚ค์ง€ > ํด๋ž˜์Šค )

๋ชจ๋“ˆํ™”: ์†Œํ”„ํŠธ์›จ์–ด์˜ ์„ค๊ณ„๊ธฐ๋ฒ•, ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐ ๊ธฐ๋Šฅ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ


์‘์ง‘๋„(Cohesion)

  • ๋†’์„ ์ˆ˜๋ก ์ด์ƒ์ ์ธ ๋ชจ๋“ˆํ™”์ด๋‹ค.
  • ํ•˜๋‚˜์˜ ๋ชจ๋“ˆ ์•ˆ ์š”์†Œ๋“ค๊ฐ„์˜ ๊ด€๋ จ ์ •๋„
์šฐ์—ฐ์  ์‘์ง‘๋„ < ๋…ผ๋ฆฌ์  ์‘์ง‘๋„ < ์‹œ๊ฐ„์  ์‘์ง‘๋„ < ์ ˆ์ฐจ์  ์‘์ง‘๋„ < ๊ตํ™˜์  ์‘์ง‘๋„ < ์ˆœ์ฐจ์  ์‘์ง‘๋„ < ๊ธฐ๋Šฅ์  ์‘์ง‘๋„(๐Ÿ‘)

์šฐ์—ฐ์  ์‘์ง‘๋„(Coincidental Cohesion)

๋ชจ๋“ˆ ๋‚ด๋ถ€์˜ ์š”์†Œ๊ธ€ ๊ฐ„์— ๊ด€๋ จ, ์—ฐ๊ด€์ด ์—†๋Š” ๊ตฌ์„ฑ์ด๋‹ค.

๋…ผ๋ฆฌ์  ์‘์ง‘๋„(Logical Cohesion)

์œ ์‚ฌํ•œ ์„ฑ๊ฒฉ์„ ๊ฐ–๊ฑฐ๋‚˜ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋น„์Šทํ•œ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์š”์†Œ๋“ค์„ ๋ชจ๋“ˆ๋กœ ๊ตฌ์„ฑํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์„œ๋กœ ๋ฐ€์ ‘ํ•˜์ง€ ์•Š์€ ํ˜•ํƒœ์ด๋‹ค.

์‹œ๊ฐ„์  ์‘์ง‘๋„(Temporal Cohesion)

ํŠน์ • ์‹œ๊ฐ„์— ์ฒ˜๋ฆฌ๋˜์–ด์•ผ ํ•˜๋Š” ํ™œ๋™๋“ค์„ ํ•œ ๋ชจ๋“ˆ์—์„œ ์ฒ˜๋ฆฌํ•œ๋‹ค.

  • ์˜ˆ์™ธ์ƒํ™ฉ, ์—๋Ÿฌ๋กœ๊ทธ

์ ˆ์ฐจ์  ์‘์ง‘๋„(Procedural Cohesion)

๋ชจ๋“ˆ ์•ˆ์˜ ๊ตฌ์„ฑ์š”์†Œ๋“ค์ด ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰. ๋‹ค์Œ ๊ธฐ๋Šฅ์š”์†Œ๋กœ ํ๋ฆ„์ œ์–ด ์š”์†Œ๊ฐ€ ์ „๋‹ฌ๋œ๋‹ค.

  • ํŒŒ์ผ ํ—ˆ๊ฐ€ ํ™•์ธ ํ›„ ์ฝ๋Š” ํ•จ์ˆ˜

๊ตํ™˜์ (ํ†ต์‹ ์ ) ์‘์ง‘๋„(Communication Cohesion)

์ˆœ์„œ๊ฐ€ ์ค‘์š”ํ•˜์ง€ ์•Š๋‹ค. ๋ชจ๋“  ์š”์†Œ๋“ค์ด ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฅผ(์ž…๋ ฅ ๋˜๋Š” ์ถœ๋ ฅ ๋ฐ์ดํ„ฐ)๋ฅผ ์‚ฌ์šฉํ•ด ์„œ๋กœ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

์ˆœ์ฐจ์  ์‘์ง‘๋„(Sequential Cohesion)

๋ชจ๋“ˆ์˜ ํ•œ ํ™œ๋™(๊ธฐ๋Šฅ)์—์„œ ๋‚˜์˜จ ์ถœ๋ ฅ ๊ฐ’์ด ๋‹ค๋ฅธ ํ™œ๋™(๊ธฐ๋Šฅ)์— ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

  • ํŒŒ์ผ์„ ์ฝ๊ณ  ์ฒ˜๋ฆฌํ•˜๋Š” ํ•จ์ˆ˜

๊ธฐ๋Šฅ์  ์‘์ง‘๋„(Functional Cohesion)

๋ชจ๋“ˆ์˜ ๋ชจ๋“  ์š”์†Œ๊ฐ€ ๋‹จ ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.


๊ฒฐํ•ฉ๋„(Coupling)

  • ๋‚ฎ์„ ์ˆ˜๋ก ์ด์ƒ์ ์ธ ๋ชจ๋“ˆํ™”์ด๋‹ค.
  • ๋ชจ๋“ˆ โ†” ๋ชจ๋“ˆ์˜ ์ƒํ˜ธ ๊ฒฐํ•ฉ๋„, ์˜์กด๋„, ์—ฐ๊ด€ ๊ด€๊ณ„
์ž๋ฃŒ ๊ฒฐํ•ฉ๋„(๐Ÿ‘) < ์Šคํƒฌํ”„ ๊ฒฐํ•ฉ๋„ < ์ œ์–ด ๊ฒฐํ•ฉ๋„ < ์™ธ๋ถ€ ๊ฒฐํ•ฉ๋„ < ๊ณตํ†ต ๊ฒฐํ•ฉ๋„ < ๋‚ด์šฉ ๊ฒฐํ•ฉ๋„

์ž๋ฃŒ ๊ฒฐํ•ฉ๋„(Data Coupling)

๋ชจ๋“ˆ๊ฐ„ ํŒŒ๋ผ๋ฏธํ„ฐ๋“ฑ์„ ํ†ตํ•ด์„œ๋งŒ ๋ชจ๋“ˆ๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ(๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ฒฝ์šฐ)์ด ์ผ์–ด๋‚˜๋Š” ๊ฒฝ์šฐ.

ํ•œ ๋ชจ๋“ˆ์ด ๋ณ€๊ฒฝ๋˜์–ด๋„ ๋‹ค๋ฅธ ๋ชจ๋“ˆ์—๋Š” ์˜ํ–ฅ์ด ์—†๋‹ค.

์Šคํƒฌํ”„ ๊ฒฐํ•ฉ๋„(Stamp Coupling)

๋‘ ๋ชจ๋“ˆ์ด ๋™์ผํ•œ ์ž๋ฃŒ ๊ตฌ์กฐ๋ฅผ ์ฐธ์กฐํ•œ๋‹ค. ๋ฐฐ์—ด, ๊ฐ์ฒด, ๊ตฌ์กฐ๋“ฑ์ด ์ „๋‹ฌ๋œ๋‹ค.

์ œ์–ด ๊ฒฐํ•ฉ๋„(Control Coupling)

ํ•˜๋‚˜์˜ ๋ชจ๋“ˆ์ด ํ๋ฆ„์„ ์ œ์–ดํ•˜๋Š” ์š”์†Œ๋ฅผ ์ „๋‹ฌํ•ด ๋‹ค๋ฅธ ๋ชจ๋“ˆ์˜ ํ๋ฆ„์„ ์ œ์–ดํ•œ๋‹ค. 

์™ธ๋ถ€ ๊ฒฐํ•ฉ๋„(External Coupling)

๋ชจ๋“ˆ์ด ์™ธ๋ถ€์˜ ๋ชจ๋“ˆ ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฐธ์กฐํ•œ๋‹ค.

๋‘ ๊ฐœ์˜ ๋ชจ๋“ˆ์ด ์™ธ๋ถ€์˜ ๋ฐ์ดํ„ฐ, ํ†ต์‹ ํ”„๋กœํ† ์ฝœ, ๋””๋ฐ”์ด์Šค ์ธํ„ฐํŽ˜์ด์Šค ๋“ฑ์„ ๊ณต์œ ํ•  ๋•Œ ๋ฐœ์ƒํ•œ๋‹ค.

๊ณตํ†ต ๊ฒฐํ•ฉ๋„(Common Coupling)

์—ฌ๋Ÿฌ ๋ชจ๋“ˆ์ด ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ ์ฐธ์กฐ, ๊ณต์œ ํ•œ๋‹ค. ์˜ˆ์‹œ๋กœ ์ „์—ญ๋ณ€์ˆ˜(gloval varuable)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋งํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ณต์œ ํ•˜๋Š” ๋ฐ์ดํ„ฐ(์ „์—ญ๋ณ€์ˆ˜)๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ํ•ด๋‹น ์ž์›์„ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ๋ชจ๋“ˆ์˜ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

๋‚ด์šฉ ๊ฒฐํ•ฉ๋„(Content Coupling)

ํ•˜๋‚˜์˜ ๋ชจ๋“ˆ์ด ์ž๋ฅธ ๋ชจ๋“ˆ์˜ ๋‚ด๋ถ€ ๋™์ž‘์„ ์ง์ ‘ ์ฐธ์กฐํ•˜์—ฌ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ๋‚ด๋ถ€๋™์ž‘์— ์˜์กดํ•œ๋‹ค.

ํ•œ ๋ชจ๋“ˆ์ด ๋ณ€๊ฒฝ๋˜๋ฉด ๋‹ค๋ฅธ ๋ชจ๋“ˆ์˜ ๋ณ€๊ฒฝ์ด ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•˜๋‹ค.

 

๐Ÿ“๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ํ‹€๋ฆฐ์ ์ด ์žˆ๋‹ค๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”!

 

728x90
  1. ๐Ÿ’ก ๋ชจ๋“ˆ ยท ๋ชจ๋“ˆํ™”
  2. ์‘์ง‘๋„(Cohesion)
  3. ์šฐ์—ฐ์  ์‘์ง‘๋„(Coincidental Cohesion)
  4. ๋…ผ๋ฆฌ์  ์‘์ง‘๋„(Logical Cohesion)
  5. ์‹œ๊ฐ„์  ์‘์ง‘๋„(Temporal Cohesion)
  6. ์ ˆ์ฐจ์  ์‘์ง‘๋„(Procedural Cohesion)
  7. ๊ตํ™˜์ (ํ†ต์‹ ์ ) ์‘์ง‘๋„(Communication Cohesion)
  8. ์ˆœ์ฐจ์  ์‘์ง‘๋„(Sequential Cohesion)
  9. ๊ธฐ๋Šฅ์  ์‘์ง‘๋„(Functional Cohesion)
  10. ๊ฒฐํ•ฉ๋„(Coupling)
  11. ์ž๋ฃŒ ๊ฒฐํ•ฉ๋„(Data Coupling)
  12. ์Šคํƒฌํ”„ ๊ฒฐํ•ฉ๋„(Stamp Coupling)
  13. ์ œ์–ด ๊ฒฐํ•ฉ๋„(Control Coupling)
  14. ์™ธ๋ถ€ ๊ฒฐํ•ฉ๋„(External Coupling)
  15. ๊ณตํ†ต ๊ฒฐํ•ฉ๋„(Common Coupling)
  16. ๋‚ด์šฉ ๊ฒฐํ•ฉ๋„(Content Coupling)
๋”๋ผ
๋”๋ผ
250x250
๋”๋ผ
WINSOME
๋”๋ผ
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
  • ALL (63)
    • KNOWLEDGE (4)
      • Software engineering (1)
      • Data base (1)
      • Algorithm (0)
      • Security (2)
    • LANGUAGE (5)
      • Python (3)
      • Java (0)
      • C (0)
      • HTML (0)
      • CSS (2)
      • Javascript (0)
    • CODING TEST (35)
      • Beakjoon (20)
      • Code Tree (15)
    • PROGAMMING (6)
      • AR (0)
      • Android (0)
      • Program (1)
      • Project (5)
    • ERROR (4)
      • Android Error (1)
      • Unity (1)
      • Web (2)
    • Self-improvement (4)
      • certificate (3)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

hELLO ยท Designed By ์ •์ƒ์šฐ.
๋”๋ผ
์‘์ง‘๋„์™€ ๊ฒฐํ•ฉ๋„
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.