자격증/정보처리기사
공통 모듈
Jong_seoung
2024. 1. 11. 17:11
반응형
모듈
모듈의 개념
- 모듈이란, 크게 독립된 하나의 소프트웨어/ 하드웨어를 지칭
모듈화를 통해 분리된 시스템의 기능
- 서브 프로그램
- 서브 루틴
- 소프트웨어 내의 단위 프로그램
- 작업 단위
모듈의 기본요소
- 입력
- 출력
- 기능
- 기관 - 모듈 내부 기능이 수행되는 알고리즘을 의미
- 내부자료 - 모듈 내부의 데이터들을 의미
공유도와 제어도
공유도
- 해당 모듈을 사용하는 상위 모듈들의 개수
- 이상적인 모듈 설계지만, 단일 실패지점이 발생할 가능성이 있다.
제어도
- 하위 모듈들의 개수
- 불필요한 호출이 있는지, 업무 로직을 좀 더 단순화할 수 있는지 검토해야한다.
모듈 설계 시 고려사항
- 모듈의 크기가 작을수록 모듈의 개수가 많아지므로 모듈을 통합하는 비용이 커진다.
- 모듈의 크기가 클수록 모듈의 개수가 적어지므로 개발 비용이 커진다.
- 통합 비용과 개발비용을 적절히 조절한다.
모듈의 특징
- 각각의 모듈은 상대적으로 독립성을 가지고 있다.
- 모듈은 단독으로 컴파일할 수 있으며, 재사용할 수 있다.
- 독립성이 높은 모듈일수록 수정 시 다른 모듈에 영향을 거의 미치지 않고, 오류 발생 시 쉽게 해결할 수 있다.
- 모듈의 독립성은 결합도와 응집도에 의해 측정된다.
- 모듈의 독립성을 높이는 방법
- 모듈의 결합도는 약하게
- 응집도는 강하게
- 모듈의 크기는 작세
공통 모듈
공통 모듈의 개념
- 프로그램에서 공통적으로 사용할 수 있는 모듈
- 정보 시스템 구축 시 자주 사용하는 기능들을 모듈화하여 재사용이 가능한 패키지로 제공하는 것이다.
공통 모듈의 설계 원칙
- 정확성 - 시스템 구현에 필요 여부를 정확히 판단할 수 있도록 설계
- 명확성 - 기능의 구성이 한 가지로 해석될 수 있도록 일관되게 설계
- 완전성 - 시스템 구현에 필요한 모든 요구사항을 수행할 수 있도록 설계
- 일관성 - 상호 충돌없이 적용될 수 있도록 설계
- 추적성 - 요구사항의 출처, 관련 시스템등의 관계를 파악
공통 모듈의 재사용 범위
- 함수와 객체 재사용
- 컴포넌트 재사용
- 애플리케이션 재사용
소프트웨어 재공학
소프트웨어 재사용의 기본 기술
- 생성 중심(모듈화)
- 추상화 형태로 쓰여진 명세를 구체화하여 재사용 단위를 찾아 발전시키는 기술
- 패턴 구성 방법
- 합성 중심(모델화)
- 모듈을 조립하여 소프트웨어를 완성시키는 기술
- 블록 구성 방법
재사용 모듈 설계의 유의사항
- 결합도는 약하게, 응집도는 높게 구성되어야 한다.
- 누구나 쉽게 이해하고 사용할 수 있도록 사용법이 공개되어야한다.
- 공유도는 높이고, 제어도는 낮추어 설계되었는지 검토한다.
- 효과적인 제어를 위해 모듈 설계가 계층적으로 제시되어야 한다.
- 모듈은 유지보수가 용이하고 지나치게 제한적이지 않아야 한다.
소프트웨어 재공학
- 소프트웨어 재공학의 개념
- 소프트웨어의 위기를 유지보수의 생산성으로 해결하는 방법
- 시스템에 대한 재분석을 통해 공학적으로 우수한 시스템으로 발전
- 도구를 사용하여 정보 저장소의 정보를 충분히 활용하여 분석
- 분석, 재구성, 역공학, 이식 활동등으로 구분 - 모두 기존 산출물을 다시 활용하여 생산성을 높이는 것이 목적
- 소프트웨어 재공학의 과정
- 분석
- 재구성
- 역공학
- 이식
- 역공학
- 데이터 처리 과정에 대한 정보를 재발견하거나 다시 만들어내는 작업
- 분석 및 설계 정보를 추출한다.
- 외계인 코드를 분석하여 구성요소와 그 관계를 파악하여 설계도를 추출한다.
- 코드의 역공학: 자료의 흐름도 생성
- 데이터의 역공학: 자료 사전을 생성
반응형