특징 | 설명 |
---|---|
독립성 | 각각의 모듈은 독립성을 가지고 있다. 모듈의 독립성은 결합도와 응집도에 의해 측정된다. |
다양한 조합 | 모듈 내부에는 모듈을 하나로 통합하는 수많은 조합이 존재할 수 있다. |
재사용 | 모듈은 단독으로 컴파일할 수 있고 재사용이 가능하다. |
영향 최소화 | 독립성이 높은 모듈일수록 수정 시 다른 모듈에 영향을 거의 미치지 않는다. |
여러 기능 및 프로그램에서 공통으로 사용할 수 있는 모듈을 의미
날짜 처리를 위한 Utilty Module 등이 공통 모듈에 해당된다.
원칙 | 설명 |
---|---|
정확성 Correctness |
해당 기능이 실제 시스템 구현 시 필요 여부를 정확하게 파악할 수 있도록 작성 |
명확성 Clarity |
해당 기능에 대해 일관되게 이해되고 한 가지로 해석될 수 있도록 작성 |
완전성 Completeness |
시스템이 구현될 때 필요하고, 요구되는 모든 것을 기술 |
일관성 Consistency |
공통 기능 간에 상호 충돌이 없도록 작성 |
추적성 Traceability |
공통 기능에 대한 요구 사항 출처와 관련 시스템 등의 유기적 관계에 대한 식별이 가능하도록 작성 |
Routine
, Main Routine
, Subroutine
이 존재한다.기법 | 설명 |
---|---|
Routine |
SW 내에서 특정 동작을 수행하는 일련의 코드 기능을 가진 명령들의 모임 |
Main Routine |
프로그램의 주요한 부분 전체의 개략적인 동작 절차를 표시하도록 만들어진 Routine 메인 루틴은 서브 루틴을 호출한다. |
Subroutine |
메인 루틴에 의해 필요할 때마다 호출되는 Routine |
특징 | 설명 |
---|---|
재사용성 | 모듈의 이름으로 호출하므로 다수가 이용 가능 매개변수로 값을 전달하여 사용 가능 모듈마다 사용할 변수를 정의할 필요 없이 상속해서 사용 가능 변수 선언을 효율적으로 하여 메모리를 유용하게 사용 |
복잡도 감소 | 프로그램의 복잡도가 절감 모듈은 분담하여 독립적으로 작성 |
관리 용이 | 시스템 개발 시 시간과 노력을 절감 시스템의 Debugging, Update가 수월하다. |
품질 향상 | 시스템 개발 시 SW의 품질 증대 |
특성 | 설명 |
---|---|
모듈성 Modularity |
프로그램을 효율적으로 관리할 수 있도록 하는 SW 특성 시스템 분해 및 추상화를 통해 SW 성능 향상을 위한 적합한 프로그램 단위 |
응집도 Cohesion |
모듈 내부에서 구성 요소 간에 밀접한 관계를 맺고 있는 정도 응집도 높음: 필요한 요소들로 구성됨 응집도 낮음: 관련 없은 요소들로 구성됨 모듈 간 최소한의 상호 작용으로 하나의 기능 만을 수행하는 정도 |
결합도 Coupling |
모듈 간에 어느 정도 관련성이 있는 지를 나타내는 정도 관련이 적을 수록 모듈 독립성이 높아 모듈 간 영향이 적어짐 |