일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 가톨릭
- 천주교
- 정보
- 잡담만설
- 오늘의토픽
- 티스토리챌린지
- 해남종합버스터미널
- 슈퍼탱크대작전
- 끄적끄적
- 슈퍼탱크럼블
- 버스시간표
- 광주-해남
- swap
- 반복문
- 전산직
- 추가채용
- Lover
- 육아일기
- c언어
- 설계도
- 컴퓨터일반
- 일기처럼 보이는 잡글
- 말씀새기기
- 일기처럼 보이는 뻘글
- 공략
- 해남버스터미널
- 오블완
- 일상
- 정보보호론
- NICU
- Today
- Total
리안이와 함께하는 세상
[소프트웨어공학] 응집도와 결합도(Cohesion, Coupling) 본문
* 결합도 : 두 모듈간의 독립성
- 내용 결합도 : 다른 모듈을 이용하려면 해당 모듈의 내용을 알아야 함(한 모듈이 다른 모듈의 제어 정보 사용 or 중간 분기(goto)가 있는 경우)
> 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우
- 공통 결합도 : 하나의 기억장소에 공동의 자료 영역 설정하여 자료 교환(전역변수 사용)
> 파라미터가 아닌 모듈밖에 선언되어 있는 전역변수를 참조하고 전역변수를 갱신하는 식으로 상호작용
- 외부 결합도 : 동일한 광역 데이터 아이템(단일 필드변수)를 사용 (외부변수로 선언된 데이터를 같이 참조)
> 어떤 모듈에서 반환한 값을 다른 모듈에서 참조해서 사용하는 경우
- 제어 결합도 : 처리 대상뿐 아니라 어떻게 처리할 것인지에 대한 제어정보까지 파라미터로 넘기는 경우
> 하나의 모듈이 다른 모듈으로 무엇을 해야하는지 정보를 넘겨줌으로서 다른 모듈의 흐름을 제어하는 경우
- 스탬프 결합도 : 한 그룹의 모듈들이 동일한 비광역 데이터 구조 사용(모듈간의 인터페이스로 배열이나 오브젝트, 스트럭쳐등이 전달)
> 두 모듈이 동일한 자료구조 조회
- 데이터(자료) 결합도 : call by value로 매개변수 교환
* - 메시지 결합도 : 상태분산(state decentralization)을 통해 이룰 수 있고, 컴포넌트 간의 통신은 파라미터나 메시지 패싱을 통해 이루어진다.
* 응집도 : 한 모듈 내의 함수적 강도
- 우연적(Coincidental) 응집도 : 관계없는 요소가 모여 모듈 구성
- 논리적(Logical) 응집도 : 모듈의 요소가 논리적으로 관계가 있긴 함(파라미터에 따라 모듈의 기능이 달라짐(산수 함수 includes add sum sub div...)
- 시간적(Temporal) 응집도 : 연관된 기능이라기보다 특정한 시간대에 처리되는 몇개의 기능을 모아 모듈화(프로그램 초기화 모듈이나, 종료모듈)
- 절차적(Procedural) 응집도 : 다수의 관련 기능을 순차적으로 수행
> 모듈 내부의 요소들이 여러 관련 기능이 있을 때, 순차적으로 수행할 경우
> 구성요소들이 입출력을 공유하지 않으나 순서에 따라 수행될 필요가 있는 경우
- 통신적(교환적, Communication) 응집도 : 동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여있을 경우
- 순차적(sequential) 응집도 : 실행 순서가 밀접한 관계를 갖는 기능을 모아 모듈도 구성(순서도를 기반으로 프로그램을 짤 경우 이 응집도가 되기 쉽다)
> 한 모듈 내에서 한 활동으로 부터 나온 출력값을 다른 활동이 사용할 경우(?)
> 한 모듈 내부의 한 기능 요소에 의한 출력 자료가 다음 기능 원소의 입력 자료로서 제공되는 형태
- 기능적(functional) 응집도 : 모듈 내 요소가 한가지 기능을 수행하기 위해 구성
'9급 공무원 > 컴퓨터 일반' 카테고리의 다른 글
[데이터통신] 베이스 밴드(Base band) 전송 방식 (0) | 2017.03.06 |
---|---|
[데이터통신] 데이터전송장치(DCE; Data Communication Equipment) (0) | 2017.03.06 |
[소프트웨어공학] 구조적 방법론 (0) | 2017.03.05 |
[소프트웨어공학] CMMI[Capability Maturity Model Integration](능력 성숙도 모형 결합) (0) | 2017.03.05 |
[소프트웨어공학] COCOMO(Constructive Cost Model) 모델 (0) | 2017.03.05 |