본문 바로가기
디자인웨일

소프트웨어 모듈화(Modularity)란?

by 자연!!!! 2023. 4. 14.
반응형

안녕하세요 시제품 개발 전문기업 디자인웨일입니다.

오늘은 소프트웨어 모듈화(Modularity)에 대해서 알아보겠습니다.


 

1.모듈화의 개념

모듈 : 소프트웨어 설계에서 기능단위로 분해하고 추상화되어 재사용 및 공유 가능한 수준으로 만드러진 단위

모듈화 : 프로그램을 분석하고 추상화하여 소프트웨어의 성능을 향상시키거나,

프로그램의 시험, 통합 및 수정을 용이하게 하는 설계 및 구현 기법

 

2. 모듈화의 원칙

특징
내용
분할과 지배
복잡한 문제를 분해, 모듈 단위로 문제 해결
정보 은폐
어렵거나 변경 가능성이 있는 다른 모듈로부터 은폐
자료 추상화
각 모듈 자료구조를 액세스하고 수정하는 함수내에 자료 구조와 표현내역을 은폐
모듈 독립성
낮은 결합도와 응집도를 가집니다.
 

3. 모듈화의 필요성

구분
설명
관리 측면
프로그램의 효율적인 관리 및 성능향상 요구
개발 측면
복잡도 감소로 프로그램 개발의 용이성, 시험, 통합 용이성 요구
유지보수 측면
프로그램 재사용을 통한 유지보수 용이성 요구
성능/비용 측면
오류 파급효과 최소화 요구
단위당 프로그램 개발 노력/비용 최소화 요구
 

4. 모듈화의 주요 특성

구분
설명
비고
모듈성
프로그램을 효율적으로 관리할 수 있도록 하는 소프트웨어의 특성으로
시스템 분해 및 추상화를 통해 소프트웨어 선응 향상을 위한 적합한 프로그램 단위
응집도
모듈의 독립성을 나타내는 개념으로 하나의 모듈 내부 처리 요소들간에
기능적 연관도를 측정하는 척도
높을수록 좋음
결합도
소프트웨어 구조에서 모듈간 연관성을 측정하는 척도
낮을수록 좋음

 

 

5. 모듈화 절차

-소프트웨어의 문제영역에서 시스템의 독립적인 부분으로 분할

-복잡한 문제를 작고 간결한 문제로 나누어 해결

-문제가 내포하는 특성을 고려하여 각 기능단위로 분할처리

 

 

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

모듈 수가 증가할수록 모듈 비용은 감소하지만 인터페이스 비용이 증가하므로 적정 수준의 모듈 개수 유지 필요합니다.

 

7.모듈화의 장점 및 효과

1 ) 장점

-프로그램의 효율적인 관리 및 성능향상

-전체적인 소프트웨어 이해의 용이성 증대 및 복잡성 감소

-소프트웨어 시험, 통합, 수정시 용이성 제공

-기능성의 분리가 가능하고 인터페이스가 단순

-오류 파급효과 감소

-모듈의 재사용성 증대로 개발 및 유지보수 용이

2 ) 모듈화의 효과

구분
설명
개발 측면
복잡도 감소로 프로그램 개발의 용이성, 시험, 통합 용이성 요구
유지보수 측면
프로그램 재사용을 통한 유지보수 용이성 요구
성능/비용 측면
오류 파급효과 최소화, 단위당 프로그램 개발 노력/비용 최소화 요구

오늘은 소프트웨어 모듈화(Modularity)에 대해서 알아봤는데요.

시제품제작 상담과 제작의뢰는

디자인웨일로 문의 주시면 성심성의껏 빠르게 답해드립니다.

문의사항은 디자인웨일 홈페이지와 이메일로

보내주시길 바랍니다.

https://www.design-whale.com/contact

이메일:

info@design-whale.com

지금까지 시제품 개발전문기업 디자인웨일이었습니다.

반응형

'디자인웨일' 카테고리의 다른 글

메타버스란?  (1) 2023.04.18
적층제조란?  (0) 2023.04.18
이형소재(이형필름)이란?  (0) 2023.04.14
5G 특화망이란?(Private 5G)  (0) 2023.04.14
사물배터리 시대 - 폐배터리 재활용  (0) 2023.03.30

댓글


"); wcs_do();