공통 모듈에 대한 이해
1) 공통 모듈은 정보 시스템 구축 시 자주 사용하는 기능들로써 재사용이 가능하게 패키지로 제공하는 독립된 모듈을 의미한다.
2) 재사용(Reuse) : 목표 시스템의 개발 시간 및 비용 절감을 위하여 검증된 기능을 파악하고 재구성하여 시스템에 응용하기 위한 최적화 작업이다.
- 함수와 객체 재사용 : 클래스(Class)나 함수(Function) 단위로 구현한 소스코드를 재사용
- 컴포넌트 재사용 : 컴포넌트(Component) 단위로 재사용하며, 컴포넌트의 인터페이스를 통해 통신
- 애플리케이션 재사용 : 공통된 기능을 제공하도록 구현된 애플리케이션과의 통신으로 기능을 공유하며 재사용
3) 공통 모듈의 종류
구분 | 분류 | 기능 |
공통 기술 | 사용자 디렉터리/통합 인증 | 사용자 통합 인증, 로그인 |
보안 | 실명 확인, 역할/권한 관리, 암호화/복호화 | |
통계/리포팅 | 통계 | |
협업 | 게시판, 동호회, 전자 우편, 일정 관리, 주소록/명함록, 문자 메시지, 전자 결제 | |
사용자 지원 | 사용자 관리, 약관 관리, 개인화, 온라인 참여, 온라인 헬프, 정보 제공/알림 | |
시스템 관리 | 공통 코드 관리, 메뉴 관리, 프로그램 관리, 로그 관리, 배치 관리, 시스템 관리, 장애 관리 | |
시스템/서비스 연계 | 시스템 연계 | |
디지털 자산 관리 | 지식 관리 | |
모바일 공통 기술 | 협업 | 모바일 실시간 공지 서비스, 모바일 위치 정보 연계 서비스, 오프라인 웹 서비스, 모바일 기기 식별, 모바일 메뉴 |
사용자 지원 | 모바일 메뉴 관리 | |
시스템/서비스 연계 | 시스템 연계 | |
디지털 자산 관리 | 모바일 차트/그래프, 모바일 사진 앨범, 모바일 멀티미디어 제어 | |
요소 기술 | 달력, 웹 에디터, 쿠키/세션, 인터페이스/화면, 시스템, 파일 업로드/다운로드, 이중 등록 방지, 인쇄/출력, 웹 소켓 등 |
소프트웨어 모듈 응집도
1) 응집도는 모듈 내부 처리 요소 간 기능적 연관도를 나타내는 척도이며, 응집도가 높을수록 필요한 요소들로 구성되어 있고 낮을수록 관련이 적은 요소들로 구성되어 있다.
2) 응집도의 유형
응집도 유형 | 설명 |
기능적 응집도 (Functional Cohesion) |
1. 하나의 기능만 수행하는 모듈이다. 2. 구조도 최하위 모듈에서 많이 발견된다. |
순차적 응집도 (Sequential Cohesion) |
모듈 내에서 한 활동으로부터 나온 작업 결과를 다른 모듈의 입력 값으로 사용하는 경우이다. ex : 행렬 입력 후 그 행렬의 역행렬을 구해서 이를 출력 |
통신적 응집도 (Communication Cohesion) |
동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여 있을 경우이다. ex : 같은 입력 자료를 사용하여 A를 계산한 후 B를 계산 |
절차적 응집도 (Procedural Cohesion) |
모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성 요소들이 그 기능을 순차적으로 수행할 경우이다. ex : Restart 루틴 - 총계를 출력한 후, 화면을 지우고 메뉴를 표시 |
시간적 응집도 (Temporal Cohesion) |
같은 시간대에 처리되어야 하는 활동들을 한 모델에서 처리하는 경우이다. ex : 초기치 설정, 종료 처리 등 |
논리적 응집도 (Logical Cohesion) |
유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우이다. ex : 오류 처리 - 자판기의 잔액 부족, 음료수 부족 등 출력 처리 - 직원 인사 정보 출력, 회계 정보 출력 등 |
우연적 응집도 (Coincidental Cohesion) |
1. 관련없는 작업을 한 모듈에 모은 경우이다. 2. 모듈화 장점이 없고, 유지 보수 작업이 어렵다. |
3) 응집도와 품질 : 품질 측면에서 응집도의 유형 중 기능적 응집도가 가장 높고 우연적 응집도가 가장 낮다.
소프트웨어 모듈 결합도
1) 결합도는 소프트웨어 구조에서 모듈 간 연관성을 측정하는 척도이며, 관련이 적을수록 모듈의 독립성이 높아져 모듈 간 영향이 적어지게 된다.
2) 결합도의 유형
결합도 유형 | 설명 |
자료 결합도(Data Coupling) |
모듈들이 변수 파라미터를 교환하여 모듈 간의 상호 작용이 일어나는 경우이다. ex : 제곱근을 계산하는 함수로 하나의 정수를 전달 |
스탬프 결합도(Stamp Coupling) | 모듈 간의 인터페이스로 배열이나 객체(Object), 구조체(Structure) 등을 교환하는 경우이다. |
제어 결합도(Control Coupling) | 단순 처리할 대상인 값만 전달되는 게 아니라 제어용 신호를 주고받는 경우이다. |
외부 결합도(External Coupling) | 다수의 모듈이 모듈 밖에서 도입된 데이터, 프로토콜, 인터페이스 등을 공유할 때 발생하는 경우이다. |
공통 결합도(Common Coupling) | 파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호 작용하는 경우이다. |
내용 결합도(Content Coupling) | 모듈 내부에 있는 변수나 제어정보를 다른 모듈에서 사용하는 경우이다. |
3) 결합도와 품질 : 품질 측면에서 결합도의 유형 중 자료 결합도의 품질이 가장 높고 내용 결합도의 품질이 가장 낮다. 불필요한 관련성과 인터페이스를 제거하고, 필요한 관계를 연결하여 낮은 결합도를 구현할 수 있다.
'정보처리기사 실기(개편) > 서버 프로그램 구현' 카테고리의 다른 글
[정보처리기사 실기 - 서버 프로그램 구현]공통 모듈 테스트 (0) | 2020.05.05 |
---|---|
[정보처리기사 실기 - 서버 프로그램 구현]개발환경 구축하기 (0) | 2020.05.04 |