[소프트웨어공학] Cohesion(응집도)란?

2024. 4. 19. 12:23·공부/소프트웨어공학
728x90

 

모듈 안에 있는 기능들이 하는 일이 얼마나 연관되었는가를 보는 정도다.

Cohesion은 특징에 따라 7단계로 나눌 수 있는데 간단히 알아보자.

 

 

1️⃣ Functional Cohesion

모듈 내 기능이 하나의 기능을 하는 상태다. 모듈의 일부 코드를 삭제하면 모듈 자체가 작동하지 않는다.

*Black box 코드가 어떤 방식으로 짜여졌는지 몰라도 모듈을 그대로 사용할 수 있다.

 

2️⃣ Sequential Cohesion

한 모듈 안에 여러 기능이 있고 각 기능은 데이터로 연관되어 있다. 기능은 순서대로 진행된다.

 

3️⃣ Communicational Cohesion

각 기능은 다른 일을 수행하지만 동일한 input data를 사용한다.

 

4️⃣ Procedural Cohesion

다른 업무를 수행하는 기능이 순차적으로 진행된다. 예를 들어, 달의 공전 궤도를 계산하고 알람을 활성화하는 프로그램이 있다고 하자. 두 프로그램은 차례대로 진행되지만 두 기능을 나누어 사용하는 것도 가능하다. 나누면 Functional Cohesion!

 

5️⃣ Temporal Cohesion

여러 기능이 연관은 없지만 실행되는 순간이 같다는 이유로 묶어 놓은 모듈이다.

 

6️⃣ Logical Cohesion

논리적으로 유사한 기능을 수행하는 프로그램을 모아 놓은 모듈이다. 

 

7️⃣ Coincidental Cohesion

데이터 공유, 실행 순서, 논리적으로도 전혀 연관 없는 기능을 모아 놓은 모듈이다.

728x90

'공부 > 소프트웨어공학' 카테고리의 다른 글

[소프트웨어공학] SOLID 원칙에 대하여  (0) 2024.05.13
[소프트웨어공학] Coupling(결합도)란?  (0) 2024.04.19
[소프트웨어공학] Lean Startup이란  (0) 2024.04.06
[소프트웨어공학] 테스팅 환경 (E2E, Integration, Unit)  (0) 2024.03.29
[소프트웨어공학] scrum이란...!  (0) 2024.03.29
'공부/소프트웨어공학' 카테고리의 다른 글
  • [소프트웨어공학] SOLID 원칙에 대하여
  • [소프트웨어공학] Coupling(결합도)란?
  • [소프트웨어공학] Lean Startup이란
  • [소프트웨어공학] 테스팅 환경 (E2E, Integration, Unit)
돌멩이수프
돌멩이수프
Information technology
  • 돌멩이수프
    WHAT DOES "IT" STAND FOR?
    돌멩이수프
  • 전체
    오늘
    어제
    • 분류 전체보기 (239)
      • 언어 (73)
        • html (3)
        • css (1)
        • java (6)
        • C (26)
        • C++ (2)
        • C# (29)
      • 공부 (7)
        • Unity (43)
        • 게임 서버 (26)
        • 네트워크 (5)
        • 데이터베이스 (7)
        • EFCore (19)
        • 기타 (14)
        • Git (5)
        • 운영체제 (1)
        • 소프트웨어공학 (21)
      • 2024-여름 (12)
      • 자기 관리 (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    EFCore
    게임서버
    C언어
    네트워크
    라즈베리파이
    EntityFramework
    unity
    HTML
    백준
    유니티
    자바
    java
    coding
    Python
    tcp
    디자인패턴
    코딩
    C
    C#
    Entityfamework
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
돌멩이수프
[소프트웨어공학] Cohesion(응집도)란?
상단으로

티스토리툴바