시스템 설계 ! 구조적분석
1. 구조적 분석의 개요
* 도형 중심의 분석용 도구와 분석 절차를 이용하여, 사용자의 요구사항을 파악하고
문서화하는 체계적인 분석 기법
* 구조적 분석도구
* 자료 흐름도 ( DFD )
* 자료 사전 ( DD )
* 소단위 명세서 ( Mini-Specification )
* 개쳬 관계도 ( ERD )
* 상태 전이도 ( STD )
2. 구조적 분석의 효과
* 시스템 분할할 수 있음
* 분석자와 사용자 간의 의사소통에 용이함
* 전체 시스템을 일관성 있게 이해할 수 있음
3. 구조적 분석도구
1) 자료 흐름도 ( DFD : Data Flow Diagram )
* 자료 흐름 그래프, 버블 차트 라고도 함
* 시스템의 처리 과정을 자료의 흐름에 중점을 두어 기술하는 방법
2) 자료 흐름도 구성 요소
* 타원 : 프로세스 , 처리 공정을 나타냄 ( ★ )
* 화살표 : 자료 흐름
* 선 두개 : 자료 저장소 이름 ( ★ )
* 사각형 : 단말 이름
3) 자료 사전 ( DD , Data Dictionary )
* 데이터를 상세히 기술 ( 메타데이타 )
1. 자료 사전 기호와 의미
[ l ] -> 자료의 선택 예) [남|여] = > 남 또는 여 선택 해야 함
{ } - > 반복을 나타냄
** - > 주석
4) 소단위 명세서 ( Mini - Spec )
* 처리과정을 자세히 기술
* 구조화 된 언어를 사용 함
5) 상태 전이도 ( STD )
* 시스템의 상태와 상태 변화를 모델링 하는 것
4. 구조적 설계
1) 구조적 설계의 개념
* 최적의 해결 방안을 찾도록 하는 체계화된 설계 기법
2) 구조적 설계 순서
* 구조도표 작성 -> 구조 도표 평가 -> 모듈 설계 -> DB 설계 -> 패키징
1) 구조 도표 작성
* 자료 흐름도 ( DFD ) 를 구조 도표로 변환하는 단계
2) 구조 도표 평가
* 구조적 설계 평가 기준에 준하여 작성된 구조 도표를 평가하는 단계
3) 모듈 설계
4) 디비 설계
5) 패키징
3) 구현
5. 구조적 설계 도구
1) 모듈 명세서 ( Module - Spec )
* 모듈들의 세부 내용을 기술 함
2) 모듈 ( Module )
1. 모듈 설계시 유의 사항
* 모듈간의 결합도는 낮게 하고, 모듈 내의 응집도는 높게 하여 모듈의 독립성을 높임
3) 프로그램 기술 언어 ( P D L )
* 의사 코드 ( Pseudo Code ) 라고도 함
4) N-S 차트 ( 나씨-슈나이더만 차트 )
* 논리 기술에 중점을 두고 상자도형을 이용한 도형식 설계 도구
* 3가지 제어 논리 구조 : 순차, 선택, 반복
6. 구조적 설계의 평가 기준
1) 결합도
* 두 모듈 간의 상호 의존도롤 나타낸것,
* 독립적인 모듈이 되기 위해서는 의존도가 낮아야 하며, 결합도가 약해야 함
2) 결합도의 종류 ( ★ )
1. 결합 정도에 따른 순서
자료 결합도 < 스탬프 < 제어 < 외부 < 공통 < 내용
결합도가 클 수록 안좋음 !
3) 응집도
* 한 모듈 내에 있는 구성 요소의 기능적 관련성을 평가하는 기준
4) 응집도의 종류 ( ★ )
우연적 < 논리적 < 시간적 < 절차적 < 통신적 < 순차적 < 기능적
응집도가 높을수록 좋음
5) 응집도 적용 시 고려 사항
* 기능적 응집도를 갖는것이 바람직함
* 모듈을 기능적으로 분해하면, 기능적으로는 강해지나, 파일 구조의 변화에 쉽게 영향 받음
* 설계 목표의 상충 발생 시 우선순위의 부여는 상황과 조건을 고려하여 설계자가 내려야 함
7. 모듈의 독립성을 높이기 위한 방법
- > 응 고 결 저 ,