[TOPCIT 목차]

 

1.소프트웨어 설계원리

원리 설명
추상화 - 상위수준에서 제품의 구현을 먼저 생각하여 필수적인 것만  초점을 맞추는 것
정보은닉 - 각 모듈의 내부 내용을 감추고 인터페이스를 통해서만 메세지를 전달 할 수 있도록 하는 것 
단계적정제 - 프로그램의 구조에서 모듈에 대한 세부사항으로 내려가면서 구체화 되는 것
모듈화 - 소프트웨어의 성능을 향상시키거나, 프로그램의 시험, 통합 및 수정을 용이하게 하기 위하여 프로그램을  분해하고 추상화하는 설계 및 구현 기법
구조화 - 시스템의 중요 요소난 기능을 찾아 내어 분할 하는 과정

 - 설계 원리에 충실하여 좋은설계 지향

 

2.응집도와 결합도

1) 소프트웨어 응집도의 정의

- 정보은닉 개념의 확장개념으로, 하나의 모듈은 하나의 기능을 수행하는 집적성을 지칭함

응집도 설명
우연적 - 아무 관련성 없는 작업을 한 모듈에서 모음
논리적 - 유사한 성격의 작업들을 모음
시간적 - 같은 시간대에 처리되어야 하는 것들을 모음
절차적 - 모듈 진행 요소들이 서로 관계되어지고 순서대로 진행
통신적 - 동일한 입/출력 자료를 이용하여 서로 다른 기능을 수행하는 기능
순차적 - 작업의 결과가 다른 모듈의 입력자료로 사용
기능적 - 하나의 기능만 수행하는 모듈

- 응집도 높을수록 좋음

2)소프트웨어 결합도의 정의

- 모듈내부가 아닌 외부의 모듈과의 연관도(모듈간의 상호연관도)

응집도 설명
자료 - 모듈들이 간단히 변수를 파라미터로 교환
스탬프 - 모듈 사이에 자료구조 교환
제어 - 제어용 신호, 정보를 주고 받아 제어하는 경우
외부 - 모듈들이 소프트웨어의 외부환경과 연관 되는 경우
공통 - 많은 모듈들이 전역변수를 참조할 때 발생
내용 - 한 모듈이 다른 모듈의 내부 자료나 제어정보를 사용

- 결합도는 낮을수록 좋음

 

3.구조적 설계 방법

 - 시스템을 논리적으로 분할하여 모듈화 하고 하향식으로 세분화 하는 설계 작업

설계 방법 프로그램 구조 설명
변환 흐름 중심 설계
- 정보를 받아들여 가공 처리 후 결과를 외부세계에 출력하는 구조
트랜잭션흐름 중심 설계
- 행위 등을 유발시키는 시그널에 대해 평가하고 그 결과에 따라 여러 출력 중 하나의 흐름으로 설계하는 구조

 - 시스템에 따라 적절히 설계

+ Recent posts