구조적 분석기법
사용자의 요구분석 사항을 파악하기 위하여 자료의 흐름과 가종절차를 그림 중심으로 표현하는 방법
처리중심(process-roented)분석 기법이라고도 함
세부 작업순서
1. 배경도 작성
2. 상위 자료 흐릅도 작성
3. 하위 자료 흐릅도 작성
4. 자료 사전 작성
5. 소단위 명세서 작성
특징
그림을 중심으로 표한함
하향식 원리를 적용함
사용자의 업무요구사항을 쉽게 문서화함
사용자와 분석자간의 의사소통을 위한 고용어이다.
실체의 모형을 추출한다.
구조적 분석 기법에서 사용되는 도구

자료흐름도(DFD)
상태전이도(STD)
개체 관ㄹ계도(ERD)
소단위 명세서
자료 사전(DD)
제어 명세서
자료흐름도(DFD : Data Flow Diagram)
요구사항 분석에서 자료의 흐름 및 변화 괒어과 기능을 도형 중심으로 기술하는 방법
자료 흐름 그래프, 버블차트라고도함 |
시스템안의 프로세스, 자료 저장소 사이의 자료를 흐름을 나타내는 그래프로, 자료 흐름과 기능을 모델화 하는 데 적합하다. |
자료 흐름과 기능을 자세히 표현하기 위해 단계적으로 세분화함 |
자료는 처리를 거쳐, 변환될때마다 새로운 이름이 부여되며, 처리는 입력 자료가 발생하면 기능을 수행한 후 출력 자료를 산출함 |
자료의 흐름
자료의 각 절차에 따라 컴퓨터 기반의 시스템 내부를 흘러다니는것

이렇게 자료의 흐름을 도표로 만들수가있다.
구성 요소 표기법
기호 | 의미 | 표기법 Yourdon/DeMacro | Gane/Sarson |
프로세스 | 자료를 변화시키는 시스템의 한부분(처리과정)을 나타내며, 처리, 기능, 변환, 버블이라고 한다. 원이나 둥근 사격형으로 표시하고, 그 안에 프로세스 이름을 기입한다. |
(![]() ![]() |
자료 흐름 | 자료의 이동을 나타낸다. 화살표 위에 자료의 이름을 기입힌다. |
![]() |
자료저장소 | 시스템에서의 자료 저장소(파일, 데이터 베이스)를 나타냄 도형안에 자료 저장소 이름을 기입한다. |
![]() ![]() |
단말 | 시스템과 교신하는 외부 개체로, 입력 데이터가 만들어지고, 출력데이터를 받는다. (정보의 생산자와 소비자) 도형 안에 이름을 기입힌다. |
![]() ![]() |
자료의 흐름도의 세분화(상세화)
요구사항 분석이 진행됨에 따라 하나의 자료 흐름도를 보다 자세히 표현하기 위해서 또 다른 자료 흐름도를 생성하는 것
1. 단계 0의 자료흐름도는 기본 시스템 모델 또는 배경도라고 하며, 전체 소프트웨어 요소를 표시하는 하나의 프로세스(원)과 입출력하나로 표현된다.
2. 각각의 프로세스에 대해 개별적인 상세화가 가능하다
3. 세분화 단계가 많아질수록 소프트웨어 설계와 구현작업이 용이해진다.
자료사전(DD : Data Dictionary)
자료 흐름도에 있는 자료를 더 자세히 정의하고 기록한것
1. 데이터를 설명하려는 데이터를 데이터의 데이터 또는 메타 데이터라고 함
2. 자료 흐름도에 시각적으로 표시된 자료에 대한 정보를 체계적이고, 조직적으로 모아 개발자나 사용자가 편리하게 사용할 수 있다.
자료 사전 작성 시 유의 사항
1. 자료 사전의 한 항목은 자료에 대한 정의 부분과 설명부분으로 구성되며, 정의 부분에는 자료의 이름을, 설명 부분에는 자료에 대한 자세한 내용을 표현함
2. 이름으로 정의를 쉽게 찾을 수 있어야 하며, 이름이 중복되어선 안된다.
3. 갱신하기 쉬워야 하며, 정의하는 방식이 명확해야 함
기호 | 의미 | |
= | 자료의 정의 | ~구성되어 있음 (is composed of) |
+ | 자료의 연결 | 그리고(and) |
( ) | 자료의 생략 | 생략가능한 자료(optional) |
[ ] | 자료의 선택 | 또는 (or) |
{ } | 자료의 반복 | iteration of { }n : n번 이상 반복 { }^n : 최대로 n번 반복 {}m^n : m이상 n이하 반복 |
* * | 자료의 설명 | 주석(comment) |
사용 예시를 보면 다음과 같다.
고객파일 = * 구성은 주민등록번호에 따라 순차적임 *
= {주민등록번호 + 고객명세 + 고객신용 + 입금현황}
고객명세 = 고객성명 + 고객주소 + 거래 개시일
고객신용 = 신용상태 + 현재잔고
입금상황 = 입금일 + 입금액 + 입금방법
입금방법 = [현금 |수표|신용카드]
소단위 명세서(mini-specification)
세분화된 자료 흐름도에서 최하위 단계 버블(프로세스)의 처리 절차를 기술한 것
1. 프로세스 명세서라고도함
2. 분석가의 문서, 자료흐름도(DFD)를 지원하기 위하여작성함
3. 구조적 언어, 의사 결정표(판단표)등을 이용하여 기술함
4. 반페이지나 한페이지 정도의 크기로 세분화된 모듈을 작성할 때 사용함
한개의 처리 공정이 그 대상이 되지만, 한 공정의 기능이 두가지 이상이거나 더 세분화함으로써 소단위 명세서를 이해하기가 쉬워진다면 더욱 세분화될 수 있음
작성도구
서술문장
의사렬정나무
의사결정표
표
그래프
총 5개가있다.
최하위 단계 버블 (프로세스) |
더 이상 세분화할 수 없는 단계의 프로세스로 , 원시 버블 또는 프리미티브 버블이라고도 함 |
구조적 언어 | 자연어의 일부분으로 한정된 단어와 문형, 제한된 구조를 사용하여 명세서를 작성하는데 이용하는 명세서 언어를 말한다. |
의사 결정표 (decision table) |
복잡한 의사 결정 논리를 기술하는데 사용하며, 주로 자료처리 분야에서 이용된다. |
개체 관계도(ERD : Entity Relationship Diagram)
시스템에서 처리되는 개체(자료)와 개체의 구성과 속성, 개체 간의 관계를 표현하여 자료를 모델화하는데 사용된다.
구성요소는 다음과 같다.

개체(entity) : 소프트웨어에 의해 인식되는 여러 종류의 자료
속성(attribut) : 개체에 관련된 특성
관계(relationship) : 개체간에 존재하는 상호작용
표시방법

예시

작성순서
1. 주요키를 포함하여 개체의 속성을 모두 찾아냄
2. 기본적인 개체와 주요키를 정의하며, 개체사이의 관계를 정의함
3. 1:M 관계를 단순화 하기 위해 속성 개체를 추가하며, 연관관계를 정의하여 M:N관계를 표현함
4. 각 개체의 정규화, 누락된 개체 점검 및 클래스 구조가 필요한지 결정함
주요키 : 기본키 라고 하며, 개체의 속성중 그 개체를 고유하게
정의하는 속성을 의미하고, 주요키 속성은 밑줄로 표시한다.
작성순서중 제일 중요한게 첫번째 주요키를 포함하는것이다.
상태전이도(SDT : State Transition Diagram)
시스템에 어떤 일이 발생할 경우 시스템의 상태와 상태간의 전이를 모델화 한것
상태 전이도를 토해 개발자는 시스템의 행위를 정의할 수있다.

시스템의 상태는 네모로, 전이는 화살표로 표현한다.
화살표의 시작 부분은 상태 전이르 일으키는 사전을 의미하며, 화살표의 끝은 사전의 결과로 발생하는 동작이다.
Q. 데이터 흐름도의 구성요소에 포함되지 않는 것은?
처리공정(process)
자료흐름(dataflow)
자료사전(DD)
자료 저장소(Data strore)
Q. 구조적 분석 도구인 자료 흐름도의 구성 요소가 아닌것은?
Process
DataStore
Definition
Terminator
Q. DFD에 대한 설명으로 거리가 먼것은?
자료흐름그래프 또는 버블차트라고한다.
구조적 분석기법에 이용된다.
시간 흐름의 개념을 명확하게 표현 할 수 있다. - 시간에 흐름이 아니다.
DFD 요소에는 화살표, 원, 사격형, 직선으로 표시
Q. 기본 DFD의 특성이라고 볼 수 없는 것은?
시스템 내의 모든 자료 흐름은 4가지 기본 기호로 표시된다.
각각의 변환(처리)에 대해 개별적인 상세화가 가능하다
변환(처리) 과정이 버블로 표현된다.
배경도는 단 하나의 원으로 구성되어 레벨1으로 나타난다. - 래밸 0이다.
Q. 구조적 분석 도구와 거리가 먼것은?
자료사전
자료흐름도
프로그램명세서
프르그램 명세서
소단위 명세서
Q. 자료 흐름도의 구성요소와 표시 기호의 연결이 틀린것은?
종착지 : 오각형
자료흐름 : 화살표
처리공정 : 원
자료저장소 : 직선
Q. 자료 사전에서호 '( )'의 의미는?
정의
생략
선택
반복
Q. 소단위 명세서(mini-specification)에 관한 내용중 옳지 않은 것은?
반페이지나 한페이지 정도의 크기로 세분화된 모듈을 작성할 때 사용한다.
DFD에서는 한 개의 처리공정이 그 대상이 되지만, 한공정의 기능이 두가지 이상이거나 더 세분화함으로써 소단위 멍세서를 이해하기가 쉬워진다면 더욱 세분화 될 수도 있다.
소단위 명세서를 작성하는 도구에는 서술문장, 의사결정나무, 의사 결정표 , 표, 그래프등이있다.
소단위 명세서는 구조적 언어를 사용하지 않고, 자연어를 사용하여 이해하기 쉽게 엄미하게 기술한다. - 구조적인 언어를 사용한다.
Q. 자료 모형화를 위해 ERD를 작성하 떄 올바른 순서는?
1. 기본벅인 엔티티와 주요키를 정의하며, 엔티티 사이의 관계를 정의한다.
2. 주요키를 포함하여 엔티티의 속성을 모두 찾아낸다.
3. 1:m관계를 단순화 시키기 위해 속성 엔티티를 추가하며, 연관관계를 정의하여 M:N관계를 표현한다.
4. 각 엔티티의 정규화 , 누락된 엔티티 점검 및 클래스 구조가 필요한지 결정한다.
2-1-3-4
Q. 데이터 모델링에 있어서 ERD(Entity Relationship Diagram)은 무엇을 나타내고자 하는가?
데이터 흐름의 표현
데이터 구조의 표현
데이터 구조들과 그들 간의 관계들을 표현
데이터 사잔을 표현
댓글