안드레이 2024. 2. 15. 14:18

▼모듈 vs 컴포넌트

모듈 

- 자신만으로 동작할 수 있는 명령의 집합이다.

- 실제로 가장 맨 앞에 위치하는 구현된  단위이며, 자료 구조, 알고리즘 등. 이를 제공하는 인터페이스이다.

- 다만 정의하지 않는 이상 바로 재활용 할 수 없다.

 

컴포넌트

- SW 시스템에서 독립적인 업무 또는 기능을 수행하는 모듈로 교체가 가능한 부품이다.

- 모듈화로 생산성을 향상했으나 모듈의 소스 코드 레벨의 재활용으로 인한 한계성을 극복하기 위해 등장하였다.

- 인터페이스를 통해서 연결된다.

 

★모듈분할의 특징

설계의 질을 측정할 수 있고 유지보수가 쉽고 재사용이 쉽다.

모듈 분할 시  영향을 주는 설계 형태 : 주상화, 모듈화, 정보은폐, 복잡도, 시스템 구조

 

▼재사용과 공통 모듈

★재사용

검증된 기능을 파악하여 재구성하는 것을  의미한다. 모듈을 최적화 하여 타 시스템에 적용하면 개발 비용과 기간을 줄일 수 있ㄷ가. 생산성 및 소프트웨어의 품질이 향상되고, 재사용 시 해당 모듈은 외부 모듈과의 응집도는 높고 결합도는 낮아야한다. 다만 기존 소프트웨어에 재사용 소프트웨어를 추가하기 어려울 수 있다.

 

★재사용 규모에 따른 구분

함수와 객체 : 클래스,  메소트 단위로 소스 코드 등을 재사용한다.

애플리케이션 : 공통 업무를 처리할 수 있도록 구현된 애플리케이션을 공유하여 재사용 한다.

컴포넌트 : 컴포넌트 자체 수정 없이 인터페이스를 통하여 컴포넌트 단위로 재사용한다.

 

★공통모듈 

각 서브 시스템에서  공통으로 사용하는 기능을 묶어 하나의 공통된  모듈로 개발한다. 모듈 재사용성을 높이고 중복 개발로 인한 낭비를 없애기 위해 설계 단계에서  공통 모듈을 분리한다. 같은 기능을 재사용 함으로서 기능에 대한 정합성 유지 및 중복 개발을 방지할 수 있으며, 유지보수  단계에서도 모듈 변경을 통하여 관련된 시스템을 일관 변경할 수 있다.

 

★공통 모듈 - 명세  기법

정확성 실제 구현시 꼭 필요한 기능인지 확인할 수 있도록 정확히  작성한다
명확성 해당 기능에 대한 일관된 이해와 하나로 해석될 수 있도록 작성한다.
완전성 시스템 구현시 필요한 것,  요구되는 것을 모두 작성한다.
일관성 공통 기능  간 서로 충돌이 발생하지 않도록 작성한다.
추적성 공통 기능에 대한  요구사항 출처, 관련 시스템이 유기적 관계 구분이 가능하도록 작성한다.

 

★N-X 도표

출처: https://blog.naver.com/whatclouds/220233310948

구조적 프로그램의 순자, 선택, 반복의 구조를 사각형으로  도식화하여 알고리즘을 논리적 기술에 충점을 둔 도형식 표현방법이다. 이해하기 쉽고 코드 변환이 용이하며, 조건이 복합되어 있는 곳의 처리를 시각적으로 명확히 식별하는데 적합하다.

주로 박스다이어그램을 사용하여 논리적인 제어구조로 흐름을 표현한다.

제어구조: 순차, 선택 및 다중 선택, 반복