SW 테스트 - 모듈화

02.SW 2020. 6. 24. 13:05
728x90
반응형

모듈화

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

 

2. 모듈화 원리 : 분할과 지배, 정보은폐(변경가능성 기능을 모듈로 은폐), 자료추상화(자료구조 표현내역 은닉), 모듈의 독립성(낮은 결합도, 높은응집도 지향)

 

3. 모듈화 필요성 : 개발측면(복잡도 감소,중복개발감소>개발용이성), 유지보수측면(재사용성 재고), 성능/비용측면(오류 파급 최소화, 단위프로그램당 노력최소화)

 

4. 모듈화의 진화 : 모듈화-클래스(OOP)-컴포넌트(CBD)-서비스(SOA)

 

5. 모듈화의 기법종류

 1) 설계단위 관점

  - 모듈(function) : 설계시 관련이 있는 기능을 모아 한부분에 모아놓고 라이브러리 형태로 사용

  - 컴포넌트 : 바이너리 형태의 재사용 가능한 형태로 인터페이스에 의해 로직을 수행할 수 있는 모듈 단위

  - 서비스: 기존 컴포넌트 보다 Loosely coupled 한 형태의 기능을 제공하는 모듈단위

 

 2) 구현방식 관점 

  - marco: 반복부분을 특정이름으로 정의하여 호출하여 실행, 전처리기가 macro 사용된 곳을 코드로 대체 > #define MAX_SIZE 100

  - Function : 특정한 작업수행하는 부분 프로그램, 결과값 반환 가능, call by value, call by referance > int func(arg1, arg2){...}

  - inline : 함수 호출 위치에 함수의 처리문장이 컴파일되어 삽입되는 함수, 호출되는 처리시간을 줄여 빠른 실행 가능 > Inline int max(arg1, arg2){...}

 

 

 

 

 

 

728x90
Posted by Mr. Slumber
,