모듈화
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){...}
'02.SW' 카테고리의 다른 글
SW 개발 성능 - CoCoMo - SW 비용 평가 (0) | 2020.06.24 |
---|---|
SW 테스트 - SW 동적 분석 (0) | 2020.06.24 |
SW 개발 방법론 - 구조적 방법론 (0) | 2020.06.24 |
SW 재사용 - 모듈화 - 결합도 (0) | 2020.06.24 |
SW 개발 방법론 - 객체지향 (OOP) - 다형성(Polymorphism) (0) | 2020.06.24 |