모듈
- 그 자체로 하나의 완전한 기능을 수행할 수 있는 독립된 실체
: 모듈화를 통해 분리된 시스템의 각 기능
- 특징
: 단독으로 컴파일하고 재사용 가능
: 독립성이 높은 모듈일수록 모듈 수정시에도 다른 모듈들에 영향을 미치지 않고
오류 발생시에도 쉽게 해결 가능
: 결합도는 낮게 / 응집도는 강하게 / 크기는 작게 만들어야함
- 모듈화
: 소프트웨어의 성능 향상 및 복잡한 시스템의 수정, 재사용 등을 위해 기능 단위로 분해하는 것
ㆍ루틴
: 소프트웨어에서 특정 동작을 수행하는 일련의 코드로 기능을 가진 명령들의 모임
ㆍ메인 루틴
: 프로그램의 주요한 부분이며, 전체의 개략적인 동작 절차 표시
: 서브루틴 호출
ㆍ서브 루틴
: 메인 루틴에 의해 필요할때마다 호출되는 루틴
공통모듈
- 전체 프로그램의 모듈 중 특정 기능을 처리할 수 있는 실행 코드
: 자체적인 컴파일이 가능하며 재사용 가능
응집도 (Conhension)
- 모듈 내부 구성요소간 연관 정도 <고응집도 = 고품질>
- 유형
ㆍ우연적 : 모듈 내부의 각 구성요소가 연관이 없을 경우
ㆍ논리적 : 유사한 성격을 갖거나 특정 형태로 분류되는 처리요소들
ㆍ시간적 : 특정 시간에 처리되어야 하는 활동들
ㆍ절차적 : 모듈 구성 요소들이 기능을 순차적으로 실행할 경우
ㆍ통신적 : 동일한 입출력을 사용하면서 다른 기능을 수행하는 활동들
ㆍ순차적 : 모듈 내 한 활동으로 부터 나온 출력 값을 다른 활동이 사용할 경우
ㆍ기능적 : 모든 기능이 단일한 목적을 위해 수행되는 경우
결합도 (Coupling)
- 외부 모듈과의 연관도 또는 모듈간 상호 의존성 <저결합도 = 고품질>
- 유형
ㆍ내용 : 다른 모듈 내부의 변수나 기능을 사용
ㆍ공통 : 파라미터가 아닌 모듈 밖 전역변수를 참조하고 갱신
ㆍ외부 : 외부에서 도입된 데이터 포맷, 프로토콜, 디바이스, 인터페이스를 공유
ㆍ제어 : 값 전달이 아닌 처리에 관한 제어 요소가 전달될 경우
ㆍ스탬프 : 모듈간 인터페이스로 배열, 객체, 구조 등이 전달될 경우
ㆍ자료 : 모듈간 인터페이스로 전달되는 파라미터를 통해서만 상호작용 발생
공통 모듈 테스트
- IDE를 이용한 디버깅 수행
: JUnit을 통해 화이트 박스 기법 활용
- 종류
ㆍ화이트 박스
: 응용 프로그램 내부 구조와 동작 검사
: 소스코드 검사
ㆍ메서드 기반
: 공통 모듈의 외부에 공개된 메서드 기반
: 메서드에 서로 다른 파라미터 값을 호출하면서 진행
ㆍ화면 기반
: 화면단위로 단위모듈을 개발 후에 화면에 직접 데이터를 입력하여 테스트 수행
: 서비스, 비즈니스 컴포넌트 및 공통 컴포넌트를 한꺼번에 단위 테스트에 참여
ㆍ테스트 드라이버 / 스텁
: 기능 테스트가 가능한 화면이나 하위모듈이 구현되지 않은 경우
: 드라이버 (상위 모듈만 없는 경우)
: 스텁 (하위 모듈만 없는 경우)
'Certification > 정보처리기사' 카테고리의 다른 글
소프트웨어 개발 보안 설계 1 (0) | 2021.04.12 |
---|---|
배치 프로그램 구현 (0) | 2021.04.11 |
개발 환경 구축 (0) | 2021.04.11 |
절차형 SQL 작성 (0) | 2021.04.11 |
응용 SQL 작성 (0) | 2021.04.11 |