* 공통 모듈 구현
소프트웨어 개발 시 기능 분할하고 추상화하여 성능 향상과 유지보수를 효과적으로 하기 위한 공통 컴포넌트 구현 기법
인터페이스 모듈, 데이터베이스 접근 모듈 등 필요한 공통 모듈 구현
모듈 간의 결합도는 줄이고 응집도는 높인 공통 모듈 구현을 권장
* 결합도
모듈 내부가 아닌 외부의 모듈과의 연관도 또는 모듈 간 상호의존성
소프트웨어 구조에서 모듈 간 관련성을 측정하는 척도
* 응집도
모듈의 독립성을 나타내는 개념으로, 모듈 내부 구성요소 간 연관 정도
정보은닉 개념의 확장개념으로, 하나의 모듈은 하나의 기능을 수행하는 것을 의미
* 응집도 유형
- 우연적 응집도 : 모듈 내부 각 구성요소가 연관이 없음
- 논리적 응집도 : 유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우
- 시간적 응집도 : 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우
- 절차적 응집도 : 다수의 관련 기능을 가질 때 모듈 안 구성요소들이 그 기능을 순차적으로 수행할 경우
- 통신적 응집도 : 동일한 입출력을 사용하여 다른 기능을 수행하는 활동이 모여 있는 경우
- 순차적 응집도 : 모듈 내에서 한 활동으로부터 나온 출력을 다른 활동이 사용할 경우
- 기능적 응집도 : 모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우
* 결합도 유형
- 내용 결합도 : 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우
- 공통 결합도 : 전역변수를 참조하고 전역 변수를 갱신하는 식으로 상호작용하는 경우
- 외부 결합도 : 두 모듈이 외부에서 도입된 데이터 포맷, 통신 프로토콜, 디바이스 인터페이스를 공유할 경우
- 제어 결합도 : 어떻게 처리해야 하는 지 제어 요소가 전달되는 경우
- 스탬프 결합도 : 모듈 간 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우
- 자료 결합도 : 모듈 간 인터페이스로 전달되는 파라미터를 통해 모듈 간 상호작용이 일어나는 경우
* MVC 패턴
- model : 애플리케이션이 무엇을 할 것인지 정의, 내부 비즈니스 로직을 처리하기 위한 역할
- controller : model이 어떻게 처리할 지를 알려주는 역할, view에 명령을 보내어 화면 요청 결과를 전달
- view : 화면에 무엇인가를 보여주기 위한 역할, model, controller가 보여주려고 하는 것을 화면에 처리
* 공통 모듈 테스트 개념
- 공통 모듈 테스트를 위해 IDE 도구를 활용하여 개별 공통 모듈에 대한 디버깅 수행
- 공통 모듈 테스트는 화이트 박스 기법 활용
- 대표적인 단위테스트 도구인 JUnit을 활용하여 테스트 코드 구현
* 화이트 박스 테스트
응용 프로그램 내부 구조와 동작을 검사하는 소프트웨어 테스트 방식
소스 코드를 보면서 테스트 케이스를 다양하게 만들어 테스트
* 메서드 기반 테스트
공통 모듈의 외부에 공개된 메서드 기반의 테스트
메서드에 서로 다른 파라미터 값을 호출하면서 다양한 테스트 수행
* 화면 기반 테스트
사용자용 화면이 있는 경우, 각 화면 단위로 단위 모듈을 개발하고 화면에 직접 데이터를 입력하여 테스트 수행
화면 기반 테스트는 화면과 연계된 서비스, 비즈니스 컴포넌트 및 공통 컴포넌트를 한번에 단위 테스트에 참여
사용자 시나리오에 기반한 공통 모듈 테스트를 할 수 있는 장점
* 테스트 드라이버/ 테스트 스텁
기능을 테스트할 수 있는 화면 또는 하위 모듈이 구현되지 않은 경우 테스트 드라이버, 테스트 스텁을 통해 테스트
테스트 드라이버는 하위 모듈은 있지만 상위 모듈은 없는 경우, 테스트 스텁은 상위 모듈은 있지만 하위 모듈은 없는 경우
* 루틴
소프트웨어 특정 동작을 수행하는 일련의 코드로서 기능을 가진 명령들의 모임
'정보처리기사 실기 > 2020 정처기 암기 모음' 카테고리의 다른 글
[2020 정보처리기사 실기 암기] 5-1. 인터페이스 설계 확인 (0) | 2020.07.19 |
---|---|
[2020 정보처리기사 실기 암기] 4-3. 서버 프로그램 구현, 배치 프로그램 구현 (0) | 2020.07.15 |
[2020 정보처리기사 실기 암기] 4-1. 개발환경 구축 (0) | 2020.07.15 |
[2020 정보처리기사 실기 암기] 3-3. 내외부 연계 모듈 구현 (0) | 2020.07.15 |
[2020 정보처리기사 실기 암기] 3-2. 연계 메커니즘 구성 (0) | 2020.07.15 |