728x90

1. 결합도(Coupling)

  - 상호 의존 정도를 말하며 결합도가 약해야 모듈의 독립성이 높아지고 품질이 상승한다.

  1) 용 결합도 : 하나의 모듈이 직접적으로 다른 모듈의 내용을 참조

  2) 통 결합도 :

    - 두 모듈이 동일한 전역 데이터를 접근한다면 공통결합 되어 있다고 한다.

    - 파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 전역변수를 갱신하는 식으로 상호 작용하는 경우

  3) 외 결합도 : 어떤 모듈에서 선언한 데이터를 외부의 다른 모듈에서 참조하는 경우

  4) 어 결합도 : 한 모듈이 다른 모듈의 상세한 처리 절차를 알고 있어 이를 통제하는 경우

  5) 탬프 결합도 : 두 모듈이 매개변수로 자료를 전달할 때, 자료구조 형태로 전달되어 이용될 때 데이터가 결합되어있다고 한다.(두 모듈이 동일한 자료구조를 조회)

  6) 료 결합도 : 어떤 모듈이 다른 모듈을 호출하면서 매개변수나 인수를 넘겨주고, 호출 받은 모듈은 받은 데이터에 대한 처리결과를 다시 돌려주는 방식.

  * 결합도 강한 순서 : 1) ~ 6)

 

2. 응집도(Cohesion)

  - 모듈 안의 요소들이 서로 관련되어 있는 정도를 나타낸다.

  - 응집도가 강할수록 모듈의 독립성이 높아지고 품질이 상승한다.

   1) 기능적 응집도(Functional Cohension) : 모듈 내 모든 요소들이 단일 기능 수행

   2) 순차적 응집도(Sequential Cohension) : 이전의 명령어로부터 나온 출력결과를 다음 명령어의 입력자료로 사용

   3) 교환적 응집도(Communication Cohension) : 모듈 내의 요소들이 동일한 입출력 자료로 서로 다른 기능을 수행하는 경우[ ex) 총점과 평균의 관계 ]

   4) 절차적 응집도(Procedural Cohension) : 모듈 수행 요소들이 반드시 특정 순서대로 수행

   5) 시간적 응집도(Temporal Cohension) : 특정 시간에 실행되는 기능들을 모아 작성된 모듈(서로 다른 기능을 같은 시간대에 함께 실행)

   6) 논리적 응집도(Logical Cohension) : 같은 범주에 속한 기능끼리 묶임(새글, 불러오기, 저장하기, 다른이름 저장 등)

 논리적으로 유사한 기능을 수행 하지만 서로의 관계는 밀접하지 않음.

   7) 우연적 응집도(Coincidental Cohension) : 모듈 내 요소들이 뚜렷한 관계가 없이 존재, 어떤 의미 있는 연관 관계도 지니지 않은 기능 요소로 구성되고 서로 다른 상위 모듈에 의해 호출되어 처리상의 연관성이 없는 서로 다른 기능을 수행하는 경우

1-1. 응집도 강한 순 [ 기순 교절 시논우 ]

 - 기능적 > 순차적 > 교환적 > 절차적 > 시간적 > 논리적 > 우연적

 

3. 살충제 패러독스(Pesticide Paradox)

  - 동일한 테스트 케이스는 새로운 결함을 찾을 수 없기 때문에 테스트 케이스를 점검 및 개선해야한다.

 

4. Fan-in은 상위 모듈의 개수이고 Fan-out은 하위 모듈의 개수이다.

 

5. 형상관리

 ① 소프트웨어 개발 과정에서 발생하는 산출물의 변경 사항을 관리하기 위한 일련의 활동을 말한다.

 ② 소프트웨어 리사이클 기간 동안 개발되는 제품의 무결성을 유지하고 소프트웨어의 식별, 편성 및 수정을 통제하는 프로세스를 제공한다.

※ 형상관리의 절차

 1) 형상 식별 - 형상 관리 대상을 정의 및 식별하는 활동.

 2) 버전 제어 - 소프트웨어 업그레이드나 유지 보수 과정에서 생성된 다른 버전의 형상 항목을 관리, 특정 절차와 도구(Tool)를 결합시키는 작업

 3) 형상 통제.

  ① 변경 요청이 있을 경우 변경 여부와 변경 활동을 통제하는 것이다.

  ② 형상 항목의 버전 관리를 위한 형상통제위원회 운영.

 4) 형상 감사 - 소프트웨어 베이스라인의 무결성 평가.

 5) 형상 기록 - 소프트웨어 형상 및 변경관리에 대한 각종 수행결과를 기록.

728x90
TOP