반응형
SMALL
소프트웨어 아키텍처
- 소프트웨어 아키텍처는 소프트웨어를 구성하는 요소들 간의 관계를 표현하는 시스템의 구조 또는 구조체임.
- 애플리케이션의 분할 방법과 분할된 모듈에 할당될 기능, 모듈 간의 인터페이스 등을 결정함.
- 소프트웨어 아키텍처 설계의 기본 원리에는 모듈화, 추상화, 단계적 분해, 정보은닉이 있음.
모듈화
- 모듈화는 소프트웨어의 성능 향상, 시스템의 수정 및 재사용, 유지 관리 등이 용이하도록 시스템의 기능들을 모듈 단위로 나누는 것을 의미한다.
- 모듈화는 모듈 간 결합도(COUPLING)의 최소화와 모듈 내 요소들의 응집도(COHESION)를 최대화 하는 것이 목표이다.
추상화
- 추상화는 문제의 전체적이고 포괄적인 개념을 설계한 후 차례로 세분화하여 구체화시켜 나가는 것이다.
- 추상화의 유형과정 추상화 자세한 수행 과정을 정의하지 않고, 전반적인 흐름만 파악할 수 있게 설계하는 방법
자료 추상화 데이터의 세부적인 속성이나 용도를 정의하지 않고, 데이터 구조를 대표할 수 있는 표현으로 대체하는 방법 제어 추상화 이벤트 발생의 정확한 절차나 방법을 정의하지 않고, 대표할 수 있는 표현으로 대체하는 방법
정보 은닉
- 정보 은닉은 한 모듈 내부에 포함된 절차와 자료들의 정보가 감추어져 다른 모듈이 접근하거나 변경하지 못하도록 하는 기법이다.
- 정보 은닉을 통해 모듈을 독립적으로 수행할 수 있다.
- 하나의 모듈이 변경되더라도 다른 모듈에 영향을 주지 않으므로 수정, 시험, 유지 보수가 용이하다.
협약에 의한 설계
- 협약에 의한 설게는 컴포넌트를 설계할 때 클래스에 대한 여러 가정을 공유할 수 있도록 명세한 것이다.
- 컴포넌트에 대한 정확한 인터페이스를 명세한다.
- 명세에 포함될 조건
선행 조건(PRECONDITION) | 오퍼레이션이 호출되기 전에 참이 되어야 할 조건 |
결과 조건(POSTCONDITION) | 오퍼레이션이 수행 된 후 만족 되어야 할 조건 |
불변 조건(INVARIANT) | 오퍼레이션이 실행되는 동안 항상 만족 되어야 할 조건 |
반응형
LIST
'정보처리기사 > 서버 프로그램 구현' 카테고리의 다른 글
N-S차트 (0) | 2024.10.18 |
---|---|
모듈의 결합도와 응집도 (0) | 2024.10.18 |
객체 지향 분석의 방법론 (1) | 2024.10.17 |
객체지향 설계의 핵심 원리-클래스,메시지,캡슐화 (3) | 2024.10.17 |
소프트웨어 설계 패턴 (12) | 2024.10.17 |