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) 형상 기록 - 소프트웨어 형상 및 변경관리에 대한 각종 수행결과를 기록.
'자기계발 > 자격증' 카테고리의 다른 글
정처기 실기 정리] 6. 화면 설계 (0) | 2022.03.31 |
---|---|
정처기 실기 정리] 5. 인터페이스 구현 (0) | 2022.03.31 |
정처기 실기 정리] 3. 통합 구현 (0) | 2022.03.31 |
정처기 실기 정리] 2. 데이터 입출력 구현 (0) | 2022.03.31 |
정처기 실기 정리] 1. 요구사항 확인 (0) | 2022.03.30 |