정보처리기사
9. 프로그래밍언어 활용
Happy Joon
2022. 10. 20. 15:02
스크립트 언어(Script language)
JavasScript, PHP, Python 언어와 같이 컴파일을 하지 않고도 인터프리터를 사용해서 코드 한줄 한줄 즉시 해석하고 실행하는 인터프리터 방식의 언어
응집도(Cohesion)
응집도는 모듈 내부의 구성 요소간 관계의 밀접 정도로 평가되며, 응집도가 높을수록 필요한 요소들로 구성되어 되고 낮을수록 요소들 간의 관련성이 적은 요소들로 구성된다.
품질 측면에서 가장 낮은 품질은 우연적 응집도, 우연적 < 논리적 < 시간적 < 절차적 < 통신적 < 순차적 < 기능적
- 기능적 응집도(Functional Cohesion) - 모듈 내부의 모든 기능이 단일한 목적을 위해 수행된다.
- 순차적 응집도(Sequential Cohesion) - 모듈 내에서 한 활동으로부터 나온 출력값을 다른 활동이 사용하는 경우.
- 통신적 응집도(Communication Cohesion) - 동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여 있을 경우.
- 절차적 응집도(Procedural Cohesion) - 모듈이 다수의 관련 기능을 가질 때, 모듈 안의 구성 요소들이 그 기능을 순차적으로 수행하는 경우.
- 시간적 응집도(Temporal Cohesion) - 연관된 기능이라기보다는 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리하는 경우.
- 논리적 응집도(Logical Cohesion) - 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우.
- 우연적 응집도(Coincidential Cohesion) - 모듈 내부에 각 구성 요소들이 연관이 없는 경우.
결합도(Coupling)
결합도는 모듈과 모듈 사이의 관련성이 어느 정도인가를 나타내며, 관련성이 적을수록 모듈의 독립성이 높아 모듈 간 영향이 작아진다. 결합도는 자료 결합도가 가장 낮고, 내용 결합도로 갈수록 강해진다.
품질 측면에서 가장 높은 품질은 자료 결합도이며, 내용 결합도의 품질이 가장 낮다.
- 자료 결합도(Data Coupling) - 모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈 상호작용이 일어난다.
- 스탬프 결합도(Stamp Coupling) - 모듈 간의 인터페이스로 배열이나 오브젝트, 스트럭처 등이 전달되는 경우.
- 제어 결합도(Control Coupling) - 단순 처리할 대상인 값만 전달하는 것이 아니라 어떻게 처리해야 한다는 제어요소가 전달 된 경우.
- 외부 결합도(External Coupling) - 모듈에서 외부로 선언한 데이터를 다른 모듈에서 참조할 때의 경우로 외부에서 도입된 데이터 포맷, 통신 프로토콜, 또는 디바이스 인터페이스를 공유할 때 주로 발생한다.
- 공통 결합도(Common Coupling) - 파라미터가 아닌 모듈 밖에 선언되어 있는 전역변수를 참조하고 전역변수를 갱신하는 식으로 상호작용하는 경우
- 내용 결합도(Content Coupling) - 다른 모듈 내부에 있는 변수나 기능을 또 다른 모듈에서 사용하는 경우.
반응형