본문 바로가기
정보처리기사

모듈의 성능 평가

by 두두리안 2022. 6. 23.
728x90

목차

  • 1.모델링 절차
  • 2.모듈의 성능 평가 기준
  • 3.소프트웨어 모듈 결합도
  • 4.소프트웨어 모듈 응집도

1.모델링 절차

1-1. 설계 모델링

1. 설계 모델링의 개념
    * 요구사항 분석단계를 바탕으로 정의된 기능들을 구체적으로 구현하여 명시하는 단계
    * 소프트웨어에서 요구되는 기능과 성능을 만족하도록 설계명세서를 작성
    * 소프트웨어 구조,행위들을 모델링하여 분석, 검증하는 단계이다
2. 설계 모델링의 절차
    * 요구 명세: 기능적요구, 품질적요구, 형태적 요구사항
    * 설계프로세스: 분석, 명세, 검증, 모델링절차를 반복
    * 아키텍처 설계 명세: 설계 프로세스를 통해 생성된 행위및 구조모델
    * 상세 설계 명세: 코드, UI, 인터페이스
3. 설계 모델링의 구성
    * 구조 모델의 구성 : 시스템구조, 컴포넌트 구조
    * 구조 모델의 요소 : 정적요소, 동적요소
    * 행위 모델의 구성 : 시스탬행위, 컴포넌트 행위
    * 행위 모델의 요소 : 정적요소, 동적요소

1-2. 구조 모델링

* 소프트웨어 구성요소들 사이의 구조적 관계에 대한 특성을 모델링하는 과정
* 구성요소들은 유형, 인터페이스, 내부설계구조 형태별로 분류하여 구조화

1-3. 행위 모델링

1. 기능적 특성 모델링 : 입출력 데이터, 데이터 흐름, 데이터 변환, 데이터 저장
2. 동적 특성 모델링 : 구성요소가 어떠한 순서로 수행되는지 모델링

2.모듈의 성능 평가 기준

2-1. 결합도

* 모듈 사이의 연관관계에 의해 모듈이 서로 의존하는 정도
* 결합도가 약할수록 의존성이 약해지기 때문에 독립성이 높아진다

2-2. 응집도

* 모듈 내부 요소들이 밀접한 관계를 맺고 있는 정도
* 응집도가 강할수록 필요한 요소들로만 구성되어 있기 때문에 독립성이 높다

2-3. 모듈의 독립성과 품질의 관계

* 모듈의 결합도가 약하고 응집도가 강할수록 모듈의 독립성이 높아진다
* 독립성이 높아진 모듈을 높은 품질을 가진다

응집도

* 응집도 낮음 -> 응집도 높음
* (우)연적 -> (논)리적 -> (시)간적 -> (절)차적 -> (통)신적 -> (순)차적 -> (기)능적

결합도

* 결합도 낮음 -> 결합도 높음
* (자)료 -> (스)탬프 -> (제)어 -> (외)부 -> (공)통 -> (내)용 

3.소프트웨어 모듈 결합도

3-1. 자료 결합도

* 가장 낮은 결합도를 가지며 모듈의 품질을 향상
* Call By Value 방식으로 함수를 호출

3-2. 스탬프 결합도

* 두 모듈이 동일한 자료구조를 부분적으로 공유
* 자료구조의 어떠한 변화가 결합되어 있는 모든 모듈들에게 영향을 미친다

3-3. 제어 결합도

* 모듈간의 인터페이스로 값만 전달되는것이 아니라 제어요소를 전달하는 경우
* 모듈이 전달하는 인수로 인해 다른 모듈의 처리 절차가 변경되는 종속적인 관계

3-4. 외부 결합도

* 두 모듈이 모듈 외부에 선언된 변수를 참조하는 경우
* 외부 변수는 모든 모듈이 공통으로 사용 가능하므로 문제발생의 가능성이 높다

3-5. 공통 결합도

* 모듈이 다른 모듈의 내부 데이터를 참조하는 경우
* 인수로 전달받은 매개변수가 아닌, 호출 모듈의 내부전역변수를 제어하는 Call By Reference

3-6. 내용 결합도

* 가장 높은 결합도를 가짐
* 가장 좋지않은 결합으로 모듈의 설계를 다시할필요가 있다

4.소프트웨어 모듈 응집도

4-1. 기능적 응집도

* 가장 강한 응집도를 가지며 모듈의 품질을 향상
* 모듈 내부의 모든 기능요소들이 단일 문제를 해결하는데 수행
* 모듈 구조의 최하위 계층에 많이 분포

4-2. 순차적 응집도

* 모듈의 기능 수행의 결과를 그다음 기능 수행의 입력 데이터로 사용하는 경우
    - 합계 계산 모듈의 출력값이 평균 계산 모듈과 학점 계산 모듈의 입력값이 되는 경우

4-3. 교환적(대화) 응집도

* 모듈의 기능들이 동일한 입출력 데이터를 사용하여 서로다른 기능을 수행하는 경우
    - 합계 계산 모듈의 출력값이 평균 계산 모듈과 학점 계산 모듈의 입력값이 되는 경우

4-3. 절차적 응집도

* 모듈의 기능들이 하나의 문제를 해결하기 위해 순차적으로 수행되는 경우
* 순차적 응집도와 달리 이전 기능의 출력 데이터를 현재 기능의 입력 데이터로 사용하지 않는다
    - 데이터 입력모듈, 데이터 분석 모듈 등이 차례로 실행되는 경우

4-4. 시간적 응집도

* 각 기능들의 연관성은 없지만 특정시기에 함께 처리해야 하는 기능들을 묶어 놓은 경우

4-5. 논리적 응집도

* 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들로 모듈이 형성되는 경우

4-6. 우연적 응집도

* 가장 약한 응집도를 가지며 모듈의 품질을 하락 시킨다
* 모듈화의 장점이 전혀없고 유지보수가 어렵다
* 모듈 내부의 각 구성요소들이 서로 관련없는 요소로만 구성

참고자료 : 이기적 환상콤비 정보처리기사

728x90

'정보처리기사' 카테고리의 다른 글

디자인 패턴  (0) 2022.06.24
소프트웨어 아키텍처  (0) 2022.06.23
공통모듈  (0) 2022.06.22
UI 표준  (0) 2022.06.22
UML  (0) 2022.06.21