1과목 소프트웨어 설계 3. 애플리케이션 설계(6)

도지는·2024년 1월 26일

정보처리기사

목록 보기
15/43

공통 모듈

💡 공통 모듈의 개념
💡 공통 모듈 구현 시 준수해야할 명세 기법
💡 재사용 규모에 따른 분류
💡 결합도 낮게, 응집도 높게

¹ 공통 모듈의 개요

🖍️ 공통 모듈
여러 프로그램에서 공통적으로 사용할 수 있는 모듈
EX) 로그인 기능: 메인 화면 or 구매 버튼 클릭시

  • 자주 사용되는 계산식이나 매번 필요한 사용자 인증과 같은 기능
  • 모듈의 재사용성 확보와 중복 개발 회피를 위해 설게 과정에서 공통 부분을 식별하고 명세를 작성할 필요가 있음

명세기법

  • 정확성: 시스템 구현 시 해당 기능이 필요하다는 것을 알 수 있도록 정확히 작성
  • 명확성: 해당 기능을 이해할 때 중의적으로 해석되지 않도록 명확하게 작성
  • 완전성: 시스템을 구현하기 위해 필요한 모든 것 기술
  • 일관성: 공통 기능들 간 상호 충돌이 발생하지 않도록 작성
  • 추적성: 기능에 대한 요구사항의 출처, 관련 시스템 등의 관계를 파악할 수 있도록 작성

² 재사용

🖍️ 재사용
비용과 개발 시간을 절약하기 위해 이미 개발된 기능들을 파악하고 재구성하여 새로운 시스템 또는 기능 개발에 사용하기 적합하도록 최적화 시키는 작업

  • 누구나 이해할 수 있고 사용이 가능하도록 사용법을 공개해야함
  • 재사용 대상은 외부 모듈과의 결합도는 낮고 응집도는 높아야함

재사용 규모에 따른 분류

  • 함수와 객체: 클래스나 메소드 단위의 소스 코드 재사용

  • 컴포넌트: 독립적인 업무, 기능을 수행하는 실행 코드 기반으로 작성된 모듈
    컴포넌트 자체에 대한 수정 없이 인터페이스를 통해 통신하는 방식으로 재사용

  • 애플리케이션: 공통된 기능들을 제공하는 애플리케이션을 공유하는 방식


³ 효과적인 모듈 설계 방안

  • 결합도를 낮게, 응집도를 높게 ➔ 모듈의 독립성과 재사용성을 높임
  • 모듈의 제어 영역 안에서 그 모듈의 영향 영역을 유지 시킴
  • 복잡도와 중복성을 줄이고 일관성 유지
  • 모듈의 기능은 예측 가능해야함, 지나치게 제한적이어서는 안됨
  • 유지보수가 용이해야함
  • 시스템의 전반적인 기능과 구조를 이해하기 쉬운 크기로 분해
  • 하나의 입구, 하나의 출구
  • 인덱스 번호나 기능 코드들이 전반적인 처리 논리 구조에 예기치 못한 영향을 끼치지 않도록 모듈 인터페이스 설계
  • 효과적인 제어를 위해 모듈 간의 계층적 관계를 정의하는 자료가 제시되어야함
profile
왕왕

0개의 댓글