안녕하세요 스카이디브입니다.
오늘은 정말 중요한 개념인 응집도와 결합도에 대해서 정리해보도록 하겠습니다.
기출에 정말많이 등장하는 개념인데요.
2021년 정보처리기사 실기1회, 2회에서 각각 결합도와 응집도가 출제되어 이번시험에 나올 가능성이 적어보이지만
정말 자주 출제되는 개념이라 꼭 보고 가야 할거 같습니다.
특히 2021년 실기 1회, 2회에 출제된 문제들은 각각의 결합도와 응집도에 대한 설명이 어떤 결합도와 응집도에 해당하는지 적어야했던 만큼 세세한 내용까지 다 알아야만 풀 수 있었던 문제였는데요 다 외워야한다는 말이겠죠? 하하.....

그럼 시작해보겠습니다.
1. 모듈화
- 소프트웨어의 성능을 향상시키거나 시스템의 수정 및 재사용, 유지관리를 용이하게 하여 프로그램을 효율적으로 관리할 수 있도록 시스템을 분해하고 추상화하는 기법
- 모듈내부의 요소들이 서로 연관되어있는 정도를 의미하는 응집도와 모듈간에 상호의존하는 정도를 의미하는 결합도로 측정된다.
- 응집도는 높을수록, 결합도는 낮을수록 모듈의 독립성이 높다.
2. 공통모듈 작성원칙(5가지) -> 정일추명완(김정일의 추가 명령 완료)
(1) 정확성 : 실제 시스템 구현시 필요한 기능인지 여부를 알 수 있도록 정확하게 작성
(2) 일관성 : 공통기능사이에 충돌이 방생하지 않도록 작성
(3) 추적성 : 해당기능에 대한 요구사항의 출처와 관련시스템 등 유기적관계에 대한 식별이 가능하도록 작성
(4) 명확성 : 해당기능에 대한 일관된 이해와 하나로 해석될 수 있도록 작성
(5) 완전성 : 시스템의 구현시 요구사항과 필요한 모든 것을 기술함
3. 응집도
- 모듈내부의 요소들이 서로 연관되어 있는 정도
- 높을수록 좋다
- 우연적<논리적<시간적<절차적<교환적<순차적<기능적(우연적 worst, 기능적 best)
(우논시절교순기 - 우리가 논에서 놀던 시절 교회에서 한 순진한 기도)
(1) 우연적 응집도(worst)
: 모듈내부의 각 구성요소들이 연관이 없을 경우
(2) 논리적 응집도
: 유사한성격을 갖거나 특정형태로 분류되는 처리요소들이 하나의 모듈에서 처리되는 경우
(3) 시간적 응집도
: 특정시간에 처리되어야하는 활동들을 한 모듈에서 처리하는 경우
(4) 절차적 응집도
: 모듈안의 구성요소들이 순차적으로 수행할경우
(5) 교환적 응집도
: 동일한 입력과 출력을 사용하여 다른기능을 수행하는 활동들이 모여있는 경우
(6) 순차적 응집도
: 모듈내에서 한 활동으로부터 나온 출력값이 다음 활동의 입력데이터로 사용될 경우
(7) 기능적 응집도(best)
: 모듈내부의 모든 기능이 단일한 목적을 위해 수행되는 경우
4. 결합도
- 모듈간의 상호 의존하는 정도
- 낮을수록 좋다
- 자료<스탬프<제어<외부<공통<내용(내용 worst, 자료 best)
(자스제외공내 - 이 자스가(이자식아) 걔 제외하고 공 내놔)
(1) 자료 결합도(best)
: 모듈간의 인터페이스로 전달되는 파라미터를 통해서만 모듈간의 상호작용이 일어나는 경우
(2) 스탬프 결합도
: 모듈간의 인터페이스로 배열이나 오브젝트 스트럭쳐등(자료구조)이 전달되는 경우
(3) 제어 결합도
: 단순처리할 대상인 값만 전달하는 게 아니라 어떻게 처리해야 한다는 제어요소가 전달되는 경우
(4) 외부 결합도
: 모듈에서 외부로 선언한 데이터(변수)를 다른 모듈에서 참조하는 경우
(5) 공통 결합도
: 모듈밖에 선언되어 있는 전역변수를 참조하고 전역변수를 갱신하는 식으로 상호작용하는 경우
(6) 내용 결합도(worst)
: 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우
이상입니다.
내용은 적지만 하나하나 다 외워야한다는 점에서 무시무시했던 포스팅입니다..
열심히 읽고 읽고 또 읽고 매일매일 눈에 바르듯이 보다보면 외워지지 않을까요..? ㅠ
다음 시간에는 더 무시무시한 OSI 7계층에 대해 정리해보겠습니다.
시험은 얼마 안남았는데 갈 길이 정말 머네요.
부지런히 포스팅 해보겠습니다.
화이팅..

'정보처리기사' 카테고리의 다른 글
[정보처리기사] 실기 개념정리 5 - 테스트기법 (0) | 2021.09.17 |
---|---|
[정보처리기사] 실기 개념정리 2 - 디자인패턴 (0) | 2021.09.15 |
[정보처리기사] 실기 개념정리 1 - 객체지향, 미들웨어, 요구사항분석 (0) | 2021.09.08 |