본문 바로가기
정보처리기사

공통모듈

by 두두리안 2022. 6. 22.
728x90

목차

  • 1.모듈
  • 2.공통모듈
  • 3.소프트웨어 재공학

1.모듈

1-1. 모듈의 개념

* 프로그램의 효율적인 관리를 위해 프로그램을 기능단위로 분해
* 인터페이스가 단순해지고 소프트웨어의 이해가 쉬워진다
* 재사용이 가능하기 때문에 프로그램 개발과 유지보수 용이
* 소프트웨어 통합, 수정및 테스트 용이
* 종속적으로 수행된다 (독립의 반대)

1-2. 모듈의 기본요소

1. 입력
2. 출력
3. 기능
4. 기관
5. 내부자료

1-3. 공유도와 제어도

1. 공유도(Fan-in)
    * 해당 모듈을 사용하는 상위 모듈 개수
    * 공유도가 높다는것은? 해당 모듈의 호출이 가능한 상위클래스가 많다
    * 이상적인 모듈설계지만, 단일실패지점이 발생할가능성 있음
2. 제어도(Fan-out)
    * 해당 모듈을 사용하는 하위 모듈 개수
    * 제어도가 높다는것은? 해당 모듈의 호출이 가능한 하위클래스가 많다
    * 불필요한 호출이 있는지, 업무로직을 좀더 단순화

1-4. 모듈설계시 고려사항

* 모듈의 크기가 작을수록 모듈의 개수가 많아짐, 모듈의 통합하는 비용이 커진다
* 모듈의 크기가 클수록 모듈의 개수가 적어짐, 모듈의 개발비용이 커진다
* 모듈통합비용과 모듈개발비용을 적절히 조절하여 최소노력비용을 산정
* 가급적 100라인 이내 설계

2.공통모듈

2-1. 공통 모듈의 개념

* 프로그램에서 공통적으로 사용할수 있는 모듈
* 정보시스템 구축시 자주 사용하는 기능들을 모듈화하여 재사용이 가능한 패키지로 제공

2-2. 공통 모듈의 설계원칙

1. 정확성: 시스템 구현에 필요여부 정확히 판단
2. 명확성: 기능이 구성이 한가지로 해석
3. 완전성: 모든 요구사항을 수행할수 있도록 설계
4. 일관성: 상호 충돌없이 적용
5. 추적성: 요구사항 출처, 관계를 파악

2-3. 공통 모듈의 재사용 범위

1. 함수와 객체 재사용: 클래스나 메소드단위
2. 컴포넌트 재사용: 컴포넌트 단위
3. 애플리케이션 재사용

2-4. 공통 모듈의 식별과 명세

1. 공통부분식별: 단위시스템의 업무기능을 분석하여 공통으로 사용될수있는부분을 식별하여 후보군으로 선정
2. 검토회의: 식별된 공통기능이 재사용의 효과성이 높은지 검토

3.소프트웨어 재공학

3-1. 소프트웨어 재사용

1. 소프트웨어 재사용의 개념
    * 개발자원을 줄이기 위해 기능을 파악하고 재구성하여 시스템에 적용하는 최적화 작업
    * 재사용이 가능한 코드로 발전
    * 개발지식의 공유가 가능하며 품질과 개발의 생산성을 높인다
    * 이미 검증된 모듈을 재사용하기 때문에 실패의 위험을 줄여준다
2. 소프트웨어 재사용의 기본기술
    * 생성중심: 추상화 형태로 쓰여진 명세를 구체화 하여 재사용 단위를 찾아 발전시키는 기술
    * 합성중심모델화: 모듈을 조립하여 소프트웨어를 완성시키는 기술
3. 재사용 모듈 설계의 유의사항
    * 결합도는 약하게, 응집도는 높게 구성
    * 공유도는 높이고, 제어도는 낮춘다
    * 모듈설계는 계층적으로 제시
    * 누구나 쉽게 이해하고 사용할수 있도록 사용법 공개
    * 유지보수 용이하고 지나치게 제한적이지 않아야 한다

3-2. 소프트웨어 재공학

1. 소프트웨어 재공학의 개념
    * 소프트웨어의 위기를 개발의 생산성이 아닌 유지보수의 생산성으로 해결하는 방법
    * 시스템에 대한 재분석을 통해 공학적으로 우수한 시스템으로 발전시키는 학문
    * 분석, 재구성, 역공학, 이식할동 등으로 구분
2. 소프트웨어 재공학의 과정
    * 분석
    * 재구성
    * 역공학
    * 이삭
3. 역공학
    * 정보를 재발견 하거나 다시 만들어 내는 작업
    * 데이터, 아키텍처, 데이터 프로세스에 대한 분석및 설계정보 추출
    * 외계인코드를 분석하여 구성요소와 그 관계를 파악하여 설계도를 추출
    * 코드의 역공학: 자료흐름도 생성
    * 데이터의 역공학: 자료사전을 생성

참고자료 : 이기적 환상콤비 정보처리기사

728x90

'정보처리기사' 카테고리의 다른 글

소프트웨어 아키텍처  (0) 2022.06.23
모듈의 성능 평가  (0) 2022.06.23
UI 표준  (0) 2022.06.22
UML  (0) 2022.06.21
요구사항 정의  (0) 2022.06.21