구조적 분석론-DFD, DD, mini spec

HYEONG HWAN, MUN/ 10월 18, 2014/ 미분류/ 0 comments

https://blog.lael.be/post/144

요구사항 분석 기법에서 크게 두가지로 나뉘는데

하나는 구조적 분석, 다른하나는 객체지향적 분석 이다.

이 글에서는 이것 중 구조적 분석에 대해서 서술하겠다.

 

※ 구조적 분석 : 도형 중심의 분석용 도구

⇒ 자료흐름도 (DFD : data flow diagram)

자료사전 (DD : data dictionary

소단위명세서 (mini spec.)

및 체계적인 분석 절차를 이용하여 사용자의 요구사항을

파악하고 문서화 하는 기법이다

4.4 구조적 설계 도구

· 중요한 특징은 제기된 문제에 대하여 시각적이나 회화적인 점을 강조한다는 사실. 시스템을 모듈이라고 부르는 요소로 나누어 나간다.

· 모듈은 시스템의 구성요소의 하나.

· 결국 구조적 설게 도구들은 물리적인 조작보다는 논리적인 정보의 흐름을 강조

※ 구조적 분석단계

① 자료흐름도 : 시스템의 전체적인 자료흐름을 강조

② 자료사전 : 자료의 속성을 찾음

③ 소단위명세서 : 절차나 논리적 활동을 기술하는 도구로

구조적 언어나 의사결정표의 형태로 구성

※ 구조적 분석의 특징

· 매우 간결 (concise)

· 이해하기 쉬움 (understand ability)

· 검증 가능 (verifiable)

· 체계적 (organiged)

4.4.1 자료 흐름도

(DFD : data flow diagram = 바블차트, 데이터 흐름 그래프)

: 유효성으로 인하여 시스템 모델링 도구로서 널리 사용

※ 자료흐름도

: 구조적 분석 기법 도구

: 1970년 중반부터, 자료의 이동을 나타내는 것

Yourdon, Constanine, Gane, Demarco…

: 처리 기능별로 분리된 시스템 구성요소들을 자료흐름선으로 연결한 망(Network)

 

자료흐름도의 구성요소

  1. 자료 흐름선 (Data flow)
  2. 처리기 (process)
  3. 자료저장소 (Data store)
  4. 단말자(Terminater)

 

1. 자료 흐름도의 구성 요소
(1) 단말

Source (발생지) : 자료가 발생되는 시스템의 외부 지점을 의미.

즉, 시스템에서 필요한 자료가 들어오는 곳

Sink (종착지) : 자료를 받아들이는 시스템의 외부 지점.

즉, 이는 시스템에 의해 처리된 내용을 이용하는 곳을 의미.

 

(2) 처리

 

(3) 자료 흐름 (파이프 혹은 벡터)

: 단말, 처리, 자료저장소를 연결.

· 자료흐름은 화살표로 어느 한 방향으로 자료흐름을 표현할 경우에는

『단방향 화살표』

· 양방향으로 서로 자료흐름이 있는 경우 『양방향 화살표』로 표기.

◎ 자료흐름의 사용상의 유의 사항을 요약

① 자료 흐름 이름은 자료 흐름과 나란히 기입

② 단순하게 파일(자료저장소)에 연결되는 자료흐름에는 그 이름을 붙이지 않음

③ 자료흐름은 각각에 대하여 정확하게 의미있는 이름이 부여

④ 자료흐름에는 제어흐름이나 제어항목은 나타내지 않음

* 자료 흐름에서 제외되어야 할 내용이 음영 표시로 나타내어짐

⑤ 자료 흐름은 필요한 경우에는 한 선에서 두 선으로 분기(발산)할 수도 있으며,

필요한 경우에는 두 개의 선이 하나로 합쳐도(수렴)무방하다

⑥ 대화식 자료 흐름으로서 『자극/반응』의 관계를 가지는 경우는

한 개의 선을 이용하여 양방향 화살표로 나타냄

⑦ 처리(process)가 수정만을 하기 위해서

파일(자료저장소)에 저장된 자료를 읽는 경우와 같이 단일 목적 자료흐름일 경우

⑧ 파일(자료저장소) 에서 읽은 자료가 변형된 형태로 다른 곳으로 출력된 경우에

자료 흐름은 파일과 처리 사이를 양방향 화살표로 표시

⑨ 파일(자료저장소) 내에 있는 자료요소의 일부분만을 입출력하는 경우는

자료흐름에 해당 자료만을 표기

⑩ 자료흐름을 표현하는테 오류 복구를 위하여

별도의 처리가 필요치 않은 사소한 오류흐름은 그 처리 내용이 분명하기 때문에

거부선(trivial reject)으로만 표시하고, 사소하지 않은 오류흐름의 처리는

그 처리 내용에 대한 설명이 필요. 그때의 처리과정을 표시해 주어야함

(4) 자료저장소

: 정보가 영구적 혹은 일시적으로 저장되어 있는 곳을 의미

대상 - 자기 디스크, 자기 테이프, 서류철 등에 기억된 파일

※ 계층화된 자료흐름도의 요소 (Laveled DFF)

시스템 순서도 → 최상위 계층 : 배경도 = 부모도

: 분석 대상의 범위를 설정해 주는 역할을 함

: 시스템이 무엇을 하는 것인가를 알아보게 해 주는 계층

: 분석하고자 하는 시스템과 외부관련자들과의 관계를 나타냄

· 프로그램 순서도 → 중간 계층 : 자녀도

· 상세 순서도 → 최하위 계층

: 더 이상 위의 자료 흐름도로 분할 할 수 없는 처리기들만 구성된 자료흐름도

※ 더 이상 분할 할 수 없는 처리기를 기능 단위 처리기

워드프로세서

(functional primitive)라 한다

◎ 사용상의 의미 요약

자료저장소에 기록된 자료가 갱신되는 경우

- 자료저장소를 향하여 하나의 선으로 나타냄

2. 자료흐름도의 작성법과 유의 사항

* 자료흐름도의 가지지침

① 하나의 자료흐름도에 항목의 수준(level)을 섞어서 나타내지 않음

그 대신 항목의 수준별로 여러 개의 자료흐름도를 작성하도록 함

② 어느 한가지를 선택

③ 일정한 크기와 모양의 기호로 그릴 수 있도록 Template를 사용

④ 자료흐름으로 기호들을 연결

⑤ 모든 기호와 연결자에는 이름을 붙임

* 작성시에 유의할 중요한 사항들 요약

① 자료흐름도에 사용되는 모든 이름은 정확히 표현되어야 함

② 입력된 자료흐름이 처리를 거쳐서 출력된 자료흐름으로 변환되었을 경우

새로운 자료흐름의 이름을 붙여야 함

③ 자료흐름의 처리나 자료저장소에는 블랙홀과 화이트홀이 존재하면 안됨

블랙홀 - 오직 입력만 처리, 자료저장소에 되는 경우를 의미

화이트 홀 - 입력없이 오로지 출력만 되는 처리, 자료저장소

예) 지도보고, 지도 계획보고 - 블랙홀

지도대상 명부, 지도누락경고 - 화이트 홀

④ 처리에서 출력자료를 만들어 내기 위해 필요한 기본적인 자료는

반드시 입력되어야 함. 즉, 자료보존 법칙이 지켜야하는 것

⑤ 자료흐름은 필요한 경우에 분할 및 통합이 되어도 논리적으로 모순이 없다면 무방

⑥ 배경도로 부터 자료흐름도를 단계화해 나갈 때

2개 이상의 처리가 파일을 공유하는 최상위의 단계에 자료저장소를 나타냄

그 하위단계의 자료흐름도에서는 그 자료저장소가 사용될 경우에만 나타냄.

자료저장소의 표현 규칙 - 자료저장소 균형법칙

3. 자료흐름도의 단계화 - 배경도 (최상위도), 중위도, 최하위도

* 단계화된 자료흐름도 사이에 관련성의 중요한 사항 요약

① 핵심적인 차이점은 표현 내용의 상세한 정도의 차이

② 상위의 자료흐름도가 하위 자료흐름도를 이해하는데 도움이 되도록 작성

③ 각 단계에서 작성되는 자료흐름도는 부모도, 자식도, 부자관계가 성립.

④ 최하위도의 자료흐름도는 완전무결하게 작성

* 단계화된 자료흐름도를 작성하는 과정의 중요사항

하위의 자료흐름도는 상위처리의 이름을 상속받아야함

4.4.2 자료사전(DD : data dictionary)

: 자료흐름도에 표기되어 있는 모든 자료흐름 및 자료저장소에 대해서

첫째로 이들을 구성하고 있는 자료항목,

둘째로 자료의 의미.

셋째로 자료원소의 단위 및 값을 정의해 주는 도구

※ 자료 사전(DD) : 자료의 구성 내용 기술

: 자료 흐름에 나타나는 자료흐름선 file 자료요소들과 같은 자료 항목을

특별한 기호로 사용하여 그 내용을 쉽게 알아 볼 수 있도록 정의하여 놓은 집합체

1. 자료사전의 표현

· 자료사전을 하나로 작성하기에는 너무 복잡한 경우에는 관련 항목을

그룹으로 분류한 다음에 자료사전을 단계화하는 것이 사용 및 이해에 효과적

◎ 일반적으로 자료사전을 작성하는데 복합적인 형태로 구성된 자료는 기본적으로

순차구조, 선택구조, 반복구조 등이 혼합된 경우

① 순차구조 : 학번 = 입학년도 + 학과번호 + 일련번호

② 반복구조 : 학적부 = {학번 + 성명 + 생년월일 + ….}

③ 선택구조 : 요일 = [월요일|화요일|…|일요일]

◎ 자료사전을 정의할 때는 사용의 편리성 및 이해의 용이성 제고 등

몇가지 사항의 유의

① 자료사전 이름 중복되면 안됨

② 자료사전 이름으로 쉽게 정의 찾을 수 있어야 함

③ 갱신의 용이성이 배려

④ 자료 정의시 모호성을 없애기 위해

세부 구성내역을 명세하는 원칙이 명확

2. 자료사전의 정의내용

① 자료흐름을 정의

② 자료요소를 정의

③ 자료저장소를 정의

④ 주석과 동의어를 정의

4.4.3 미니스팩(미니명세서, 소단위명세서 : mini spec)

※ 미니명세서 (module명세서)

: 자료의 변환을 나타내는 처리기의 내용을 명료하게 설명해 놓은 것

: 최초 단위 처리기에 대한 명세서를 작성함

즉, 설명의 중복을 피하기 위하여 최하위 게층의 처리기만 작성

★ · 구조적 언어 : 순차, 판단, 반복

· 의사 결정 나무

· 의사 결정표

· 그래프

Leave a Comment

작성하신 댓글은 관리자의 수동 승인 후 게시됩니다.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
*
*