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 |