2. 소프트웨어 공학/소프트웨어개발방법론

모듈화

SWExpert 2022. 10. 14. 00:02

I. 효율적 구성 지원 모듈화 개요

-.  프로그램을 분해하고 추상화하여 소프트웨어의 성능을 향상시키거나, 프로그램의 시험, 통합 및 수정을 용이하게 하는 설계 및 구현 기법

-. 프로그램을 효율적으로 관리할 수 있도록 하는 S/W 특성으로 시스템을 분해하고, 추상화를 통하여 S/W제품의 성능을 향상시키거나, 시스템의 디버깅 시험, 통합 및 수정을 용이하게 하는 설계방법

-. 소프트웨어 설계 원리

-. 특징: 모듈성, 응집도, 결합도

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

 

 

II. 모듈화 기법의 종류

가. 모듈화 기법 구성

나. 모듈화의 기법

구분 기법 내용
설계 Module
  • 설계 시 관련이 있는 기능을 한 부분에 모아놓고 library 형태로 사용
컴포넌트
  • 바이너리형태의 재사용 가능한 형태로
  • 인터페이스에 의해 로직을 수행할 수 있는 모듈단위
서비스
  • 기존 컴포넌트 보다는 Loosely coupled 한 형태의 기능을 제공하는 모듈단위
구현 Macro
  • 프로그램 구현 시 반복되는 부분을 특정 이름을 부여하고 이름을 호출하여 실행할 수 있도록 하는 프로그래밍 기법. , 전 처리기는 macro가 사용된 모든 곳에 코드를 대체해 놓음
Function
  • 프로그램 구현 시 커다란 프로그램의 일부 코드로
  • 특정한 작업을 수행하고 상대적으로 다른 코드에 비해 독립적인 모듈
Inline
  • 프로그램 구현 시 반복되는 부분을 특정 이름을 부여해 놓고 이름을 호출하여 실행할 수 있도록 하는 프로그램 기법. , 컴파일러는 이 inline이 사용된 모든 곳에 코드를 복사해 놓음

'2. 소프트웨어 공학 > 소프트웨어개발방법론' 카테고리의 다른 글

리팩토링  (0) 2022.10.14
function point  (0) 2022.10.13
사업타당성 평가  (0) 2022.10.13
요구사항관리  (1) 2022.10.13
Agile방법론  (0) 2022.10.13