정보 처리 기사 실기 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
반응형
'정 보 처 리 기 사 공 부 > 실 기' 카테고리의 다른 글
정보 처리 기사 실기 8. 서버 프로그램 구현 - 개발환경 구축 (0) | 2021.10.10 |
---|---|
정보 처리 기사 실기 7. SQL 응용 - 데이터 조작 프로시저 최적화 (0) | 2021.10.10 |
정보 처리 기사 실기 7. SQL 응용 - 절차형 SQL 활용하기 (0) | 2021.10.10 |
정보 처리 기사 실기 7. SQL 응용 - 응용 SQL 작성하기 (0) | 2021.10.10 |
정보 처리 기사 실기 7. SQL 응용 - 데이터베이스 기본 (0) | 2021.10.09 |