정보관리기술사/소프트웨어공학

모듈화

기술기술 2023. 11. 29. 23:29

1. 정의

  • 프로그램을 분해하고 추상화하여 소프트웨어 성능 향상, 테스트, 통합 및 수정을 용이하게 하는 설계 및 구현 기법
  • 특징) 응집도 높이고 결합도 낮춰서 재사용성 증대, 정보은폐, 추상화

 

2. 소프트웨어 모듈화의 최적화

가. 소프트웨어 모듈수와 비용/노력과의 상관관계 그래프

  • 모듈의 수가 증가 할수록 모듈 당 비용은 감소 하지만 인터페이스 비용은 증가하게 되므로 적정 수준의 모듈 개수 유지

나. 소프트웨어 응집도

  • 정보은닉 확장 개념으로, 하나의 모듈은 하나의 기능을 수행하는 집적성을 지칭
  • 소프트웨어 응집도 단계 우논시절통순기 (응집도는 높을수록 좋음)

다. 소프트웨어 결합도

  • 모듈내부가 아닌 외부 모듈에 의존하는 정도를 나타내는 것
  • 소프트웨어 구조에서 모듈간의 관련성을 측정하는 척도
  • 결합도 단계 내공외제스자 (결합도는 낮을수록 좋음)

 

3. 팬 인(Fan-in) / 팬 아웃(Fan-out)

  • Fan-out : 1개의 게이트 입력에 접속할 수 있는 최대 입력 수(number of inputs) (자신이 호출하는 하위 모듈의 수) 
  • Fan-in :  출력 단의 개수 (자신을 호출하는 상위 모듈의 수)

'정보관리기술사 > 소프트웨어공학' 카테고리의 다른 글

TEST  (0) 2023.11.30
오픈소스 소프트웨어  (0) 2023.11.29
MVC 모델  (0) 2023.11.29
Design Pattern  (0) 2023.11.28
클래스 다이어그램(Class Diagram)  (0) 2023.11.28