정보 처리 기사 실기 8. 서버 프로그램 구현 - 공통 모듈 구현

2021. 10. 10. 17:31정 보 처 리 기 사 공 부/실 기

728x90
반응형

● 모듈의 개념

모듈은 그 자체로 하나의 완전한 기능을 수행할 수 있는 독립된 실체이다.

 

● 응집도의 개념

응집도는 모듈의 독립성을 나타내는 정도로, 모듈 내부 구성요소간 연관 정도이다. 하나의 모듈은 하나의 기능을 수행할수록 응집도가 높다.

 

● 응집도의 유형

유형 설명
우연적 응집도
(Coincidental Cohension)
모듈 내부의 각 구성요소가 연관이 없을 경우의 응집도
논리적 응집도
(Logical Cohension)
유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우의 응집도
시간적 응집도
(Temporal Cohension)
연관된 기능이라기보다는 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우의 응집도
절차적 응집도
(Procedural Cohension)
모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성요소들이 그 기능을 순차적으로 수행할 경우의 응집도
통신적 응집도
(Communication Cohension)
동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여있을 경우의 응집도
순차적 응집도
(Sequential Cohension)
모듈 내에서 한 활동으로부터 나온 출력값을 다른 활동이 사용할 경우의 응집도
기능적 응집도
(Functional Cohension)
모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우의 응집도

 

● 결합도의 개념

모듈 내부가 아닌 외부의 모듈과의 연관도 또는 모듈 간의 상호의존성이다. 소프트웨어 구조에서 모듈간의 관련성을 측정하는 척도이다.

 

● 결합도의 유형

유형 설명
자료 결합도
(Data Coupling)
모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈 간의 상호 작용이 일어나는 경우의 결합도
스탬프 결합도
(Stamp Coupling)
모듈 간의 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우의 결합도
제어 결합도
(Control Coupling)
단순 처리할 대상인 값만 전달되는 게 아니라 어떻게 처리를 해야 한다는 제어 요소가 전달되는 경우의 결합도
외부 결합도
(External Coupling)
두 개의 모듈이 외부에서 도입된 데이터 포맷, 통신 프로토콜, 또는 디바이스 인터페이스를 공유할 경우의 결합도
공통 결합도
(Common Coupling)
파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호작용하는 경우의 결합도
내용 결합도
(Content Coupling)
다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우의 결합도

 

● MVC 패턴 역할

구분 역할
모델
(Model)
· 애플리케이션이 무엇을 할 것인지를 정의
· 내부 비즈니스 로직을 처리하기 위한 역할

(View)
· 화면에 무엇인가를 보여주기 위한 역할
· 모델, 컨트롤러가 보여주려고 하는 것들을 화면에 처리
컨트롤러
(Controller)
· 모델이 어떻게 처리할지를 알려주는 역할
· 뷰에 명령을 보내어 화면 요청 결과를 전달

 

● 공통 모듈 테스트의 종류

종류 설명
화이트박스 테스트 · 응용 프로그램의 내부 구조와 동작을 검사하는 소프트웨어 테스트 방식
· 소스 코드를 보면서 테스트 케이스를 다양하게 만들어 테스트를 수행
메서드 기반 테스트 · 공통 모듈의 외부에 공개된 메서드 기반의 테스트
· 메서드에 서로 다른 파라미터 값을 호출하면서 다양한 테스트를 수행
화면 기반 테스트 · 사용자용 화면이 있는 경우, 각각의 화면 단위로 단위 모듈을 개발 후에 화면에 직접 데이터를 입력하여 테스트를 수행
· 화면 기반 테스트는 화면과 연계된 서비스, 비즈니스 컴포넌트 및 공통 컴포넌트를 한꺼번에 단위 테스트에 참여
· 사용자 시나리오에 기반한 공통 모듈 테스트를 할 수 있는 장점이 있음
테스트 드라이버(Driver) / 테스트 스텁(Stub) · 기능을 테스트할 수 있는 화면 또는 하위 모듈이 구현되지 않은 경우 테스트 드라이버, 테스트 스텁을 통해 테스트를 수행
· 테스트 드라이버는 하위 모듈은 있지만 상위 모듈은 없는 경우 사용하는 기법
· 테스트 스텁은 상위 모듈은 있지만 하위 모듈은 없는 경우 사용하는 기법
728x90
반응형