Notice
Recent Posts
Recent Comments
Link
250x250
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
Tags
- SQL
- 기구학
- 합병
- 3dof
- robotics
- homogeinous
- Coding
- 네트워크 충돌
- Computer
- 정렬
- 맥케이브
- sam2
- homogenous
- CentOS
- humble
- sort
- 컴퓨터구조
- ROS2
- 정처기
- AI
- Java
- 회전 복잡도
- 정보처리기사
- 명령어
- MIPS
- segmentation
- 리눅스
- 알고리즘
- 자격증
- Linux
Archives
- Today
- Total
UTF-404
모듈화(1) 본문
728x90
💡 모듈화 (Modularity)
- 모듈화는 프로그램이 효율적으로 관리될 수 있도록 시스템을 분해하고 추상화함으로써 소프트웨어 제품의 성능을 향상시키거나 시스템의 수정 및 재사용, 유지 관리를 쉽게 하는 기법이다.
- 소프트웨어의 성능을 향상시키거나 복잡한 시스템의 수정, 재사용, 유지 관리 등이 용이하도록 기능 단위의 모듈로 분해하는 설계 및 구현 기법이다.
| 기법 | 설명 |
| 루틴 (Routine) |
∙ 소프트웨어에서 특정 동작을 수행하는 일련의 코드로 기능을 가진 명령들의 모임 |
| 메인 루틴 (Main Routine) |
∙ 프로그램의 주요한 부분이며, 전체의 개략적인 동작 절차를 표시하도록 만들어진 루틴 ∙ 메인 루틴은 서브 루틴을 호출 |
| 서브 루틴 (Subroutine) |
∙ 메인 루틴에 의해 필요할 때마다 호출되는 루틴 |
📌 모듈화 필요성
- 모듈의 크기가 너무 작아 모듈 개수가 많아지면 모듈 간 통합 비용이 많이 발생한다.
- 모듈의 크기가 너무 크면 모듈 간의 통합 비용이 줄어드는 대신 모듈 당 개발 비용이 커진다.
📌 바람직한 모듈 설계 방안
- 모듈의 독립성과 재사용성을 높이기 위하여 결합도는 낮추고 응집도는 높인다.
- 모듈의 복잡도와 중복성을 줄이고 일관성을 유지한다.
- 모듈의 기능은 예측이 가능해야 하며, 지나치게 제한적이어서는 안 된다.
- 적당한 모듈의 크기를 유지한다.
- 모듈 간의 효과적인 제어를 위해 설계에서 계층적 자료 조직이 제시되어야 한다.
- 유지보수가 용이해야 하고, 이식성을 고려해야 한다.

📌 모듈화 측정 지표
- 모듈화의 적정성을 측정하는 지표는 응집도와 결합도이다.
- 좋은 모듈화란 용도에 맞게 잘 구분된 기능을 가진 모듈들로 세분화하는 것이다.
- 개별 모듈은 독립적으로 주어진 역할만을 수행하며, 타 모듈에 의존성이 높지 않아야 한다.
| 지표 | 설명 |
| 응집도 (Cohesion) |
∙ 모듈의 내부 요소들의 서로 관련되어 있는 정도 ∙ 모듈이 독립적인 기능으로 정의되어 있는 정도 |
| 결합도 (Coupling) |
∙ 모듈 간에 상호 의존하는 정도 ∙ 두 모듈 사이의 연관 관계를 맺고 있는 정도 |
728x90
'정보처리기사' 카테고리의 다른 글
| 객체 지향 설계 (2) | 2024.01.26 |
|---|---|
| 모듈화(2) (0) | 2024.01.25 |
| 재사용과 공통 모듈의 개념!! (0) | 2024.01.23 |
| UI 설계!! (0) | 2024.01.23 |
| UI 요구사항 확인(3) (0) | 2024.01.18 |