1.소프트웨어 설계원리
원리 | 설명 |
추상화 | - 상위수준에서 제품의 구현을 먼저 생각하여 필수적인 것만 초점을 맞추는 것 |
정보은닉 | - 각 모듈의 내부 내용을 감추고 인터페이스를 통해서만 메세지를 전달 할 수 있도록 하는 것 |
단계적정제 | - 프로그램의 구조에서 모듈에 대한 세부사항으로 내려가면서 구체화 되는 것 |
모듈화 | - 소프트웨어의 성능을 향상시키거나, 프로그램의 시험, 통합 및 수정을 용이하게 하기 위하여 프로그램을 분해하고 추상화하는 설계 및 구현 기법 |
구조화 | - 시스템의 중요 요소난 기능을 찾아 내어 분할 하는 과정 |
- 설계 원리에 충실하여 좋은설계 지향
2.응집도와 결합도
1) 소프트웨어 응집도의 정의
- 정보은닉 개념의 확장개념으로, 하나의 모듈은 하나의 기능을 수행하는 집적성을 지칭함
응집도 | 설명 |
우연적 | - 아무 관련성 없는 작업을 한 모듈에서 모음 |
논리적 | - 유사한 성격의 작업들을 모음 |
시간적 | - 같은 시간대에 처리되어야 하는 것들을 모음 |
절차적 | - 모듈 진행 요소들이 서로 관계되어지고 순서대로 진행 |
통신적 | - 동일한 입/출력 자료를 이용하여 서로 다른 기능을 수행하는 기능 |
순차적 | - 작업의 결과가 다른 모듈의 입력자료로 사용 |
기능적 | - 하나의 기능만 수행하는 모듈 |
- 응집도 높을수록 좋음
2)소프트웨어 결합도의 정의
- 모듈내부가 아닌 외부의 모듈과의 연관도(모듈간의 상호연관도)
응집도 | 설명 |
자료 | - 모듈들이 간단히 변수를 파라미터로 교환 |
스탬프 | - 모듈 사이에 자료구조 교환 |
제어 | - 제어용 신호, 정보를 주고 받아 제어하는 경우 |
외부 | - 모듈들이 소프트웨어의 외부환경과 연관 되는 경우 |
공통 | - 많은 모듈들이 전역변수를 참조할 때 발생 |
내용 | - 한 모듈이 다른 모듈의 내부 자료나 제어정보를 사용 |
- 결합도는 낮을수록 좋음
3.구조적 설계 방법
- 시스템을 논리적으로 분할하여 모듈화 하고 하향식으로 세분화 하는 설계 작업
설계 방법 | 프로그램 구조 | 설명 |
변환 흐름 중심 설계 | ![]() |
- 정보를 받아들여 가공 처리 후 결과를 외부세계에 출력하는 구조 |
트랜잭션흐름 중심 설계 | ![]() |
- 행위 등을 유발시키는 시그널에 대해 평가하고 그 결과에 따라 여러 출력 중 하나의 흐름으로 설계하는 구조 |
- 시스템에 따라 적절히 설계
'TOPCIT > TOPCIT교재' 카테고리의 다른 글
VI. 객체 지향 설계 - 김정옥 (0) | 2022.07.18 |
---|---|
V.소프트웨어 아키텍처 설계 - 손선희 (1) | 2022.07.18 |
자료구조와 알고리즘 - 이강욱 (0) | 2022.07.18 |
II.소프트웨어 재사용 - 손선희 (0) | 2022.07.18 |
1. 소프트웨어 공학 개요 - 문경숙 (0) | 2022.07.18 |