8 자료 흐름도
모형을 사용하는 3가지 이유
1) 중요 특징 부각, 중요하지 않은 특징 생략
2) 위험부담 최소화, 사용자 요구사항의 빠른 수렴
3) 이해 확인, 문서화
모형 특성
∙ 간략한 문자로 상세한 표현이 가능한 도형 중심
∙ 시스템을 하향식이고 분할된 형태로 표현
∙ 최소한의 중복성
∙ 시스템의 처리 결과 예측
∙ 명확한 표현 가능

1. 자료흐름도(DFD : Data Flow Diagram)
자료흐름도 작성 5단계
1) 자료 흐름 유형 확정
2) 자료 흐름 경계 표시
3) DFD를 프로그램 구조로 사상
4) 제어 계층을 분해시켜서 정의
5) 결과 구조는 설계측정들과 경험적 학습법을 사용해서 정제
4 가지 기본도형
                            
         
                                 
자료흐름도 작성시 고려 사항
① 프로세스, 흐름, 저장소 와 단말의 이름은 의미를 포함할 것
② 프로세스에는 일관성 있게, 어떤 수행의 순서를 알 수 있도록 부여할 것
③ 복잡한 자료흐름도는 피할 것
④ 논리적으로 정확하고 이해하기 쉽게 그려질 때까지 여러 번 수정 및 반복하여 그릴 것

자료흐름도의 장,단점
(1) 장점
· 시스템 모형과 세부기능에 대한 모형을 묘사할 수 있다.
· 그림으로 표현 ⇒ 시스템 운영, 관계자료의 흐름을 요약, 파악 ⇒ 이해하기 쉽다
· 복잡한 시스템을 개발할 경우, 총체적, 세부적 구조의 문서로 사용
(2) 단점
· 순서도와 혼동되면 혼란을 일으킬 수 있다.
AJ.A· 요구사항을 기술하는 데 불충분
· 자료사전이나 프로세스 명세서 같은 설명문 추가 필요
· 단말내용, 작업방법 변경이 불가능
· 단말사이에 존재하는 어떤 관련성도 이 흐름도에서 찾아 볼 수 없다.
· 데이터가 어떻게 흘러 다니는지는 알 수 있지만 제어나 순서에 관한 정보는 알 수 없다.
자료흐름도 작성시 고려 사항
① 프로세스, 흐름, 저장소 와 단말의 이름은 의미를 포함할 것
② 프로세스에는 일관성 있게, 어떤 수행의 순서를 알 수 있도록 부여할 것
③ 복잡한 자료흐름도는 피할 것
④ 논리적으로 정확하고 이해하기 쉽게 그려질 때까지 여러 번 수정 및 반복하여 그릴 것

자료흐름도의 장,단점
(1) 장점
· 시스템 모형과 세부기능에 대한 모형을 묘사할 수 있다.
· 그림으로 표현 ⇒ 시스템 운영, 관계자료의 흐름을 요약, 파악 ⇒ 이해하기 쉽다
· 복잡한 시스템을 개발할 경우, 총체적, 세부적 구조의 문서로 사용
(2) 단점
· 순서도와 혼동되면 혼란을 일으킬 수 있다.
· 요구사항을 기술하는 데 불충분
· 자료사전이나 프로세스 명세서 같은 설명문 추가 필요
· 단말내용, 작업방법 변경이 불가능
· 단말사이에 존재하는 어떤 관련성도 이 흐름도에서 찾아 볼 수 없다.
· 데이터가 어떻게 흘러 다니는지는 알 수 있지만 제어나 순서에 관한 정보는 알 수 없다.
 
2. FLOW CHART
미리 정의된 기호와 그들을 서로 연결하는 선을 사용하여 그린 도표
기호는 1962년 국제 표준화 기구 (ISO)에서 정한 것을 표준으로 사용
(1) 장점
· 설계표현을 위해 가장 많이 사용
· 처리과정을 자세히 설명할 수 있다
(2) 단점
· 전체 시스템 구성을 설명해 줄 수 없다.
· 구조적 프로그램 작성을 방해
· 지엽적(枝葉的)인 문제에 집착하도록 하는 경향
· 포함된 루프나 포함된 조건으로부터 탈출하는 경우 비효율성 야기
· 제어흐름 모호, 오류발생의 가능성 증가, 이해 유지 나쁨
· 기능적인 영역에 위배되는 화살표 사용
 
                  
 
3. 결정 테이블(Decision Table : 판단표)
        Conditions & Actions                  Rules 
        --------------------------------------------------------------             
              조건 표제란                   조건 기입란
              행위 표제란                   행동 기입란
                            <결정 테이블 모형>
 
(1) 장점
· 완결성, 일관성의 체계적 점검 가능
· 복잡한 논리를 한 눈으로 알 수 있게 표현
· 누락과 오류 방지
· 복잡하게 얽힌 분기의 논리 등을 구조화하는데 적합
(2) 단점
· 순서, 반복 또는 시간에 관련된 정보를 나타낼 수 없다.
· 어느 처리를 어떤 순서로 하는가를 한눈으로 알 수 없다.
 
4. N-S 도표(Nassi-Shneiderman Chart)
                 
(1) 장점
· 기능영역이 잘 정의되고 세부적인 논리표현에 적합한 다이어그램 표현기법이다.
· 전역 또는 지역 데이터의 영역이 쉽게 표현된다.
· GO TO문을 사용하여 프로그램이 알기 어렵게 되는 것을 피했다. 따라서 프로그램 모듈의 논리를 구조화하여 표현하고 문서화하는데 편리하다.
· 읽기 쉽고 프로그램 코드로 변환하기가 쉽다.
 
(2) 단점
· 프로그램의 구조가 잘 이해되지 않고 대형 프로그램일 때 자료의 흐름을 표현하기에는 적합하지 않다.
· 제어의 임의의 전달은 불가능하다.
· 처리요소들은 표현하고 있으나 이들간의 인터페이스는 표시하지 못한다.
· 처리설계에만 적용되고 데이터 구조 설계에는 적용할 수 없다.
· 데이터베이스에 기초를 두지 않았다.
· 데이터 모델이나 자료사전과 관련을 맺기가 어렵다.

5. JACKSON DIAGRAM(METHOD)
네 가지 기본형으로 표현
1) 기본 : 더 이상 분해할 수 없는 기본이 되는 단위
2) 순차 : 둘 이상의 요소로 구성, 각각의 요소는 정해진 차례로 1회만 나타난다.
3) 선택 : 둘 이상의 요소로 구성된다는 점은 연접과 같다.
             다만 연접과는 달리 한번에 그중의 어느 하나만이 나타난다.
             선택을 나타내기 위해 。 표를 붙인다.
4) 반복 : 그 속에 포함되어 있는 요소가 몇 번이라도 반복한다.
             반복 표시를 위해 기호의 오른쪽 위에 *를 넣는다.
 
                          
(1) 장점
· 직접적으로 순차, 조건, 반복을 포함한 절차적 구성
· 역추적 상황 완화, 구조 불일치 해결, 소프트웨어 최적화에 사용
· 예비설계 기술보다 세부적인 설계 기술에 근접
(2) 단점
· 중간 파일 이용이 비효율성 증가, 개념상 불필요
· 프로그램 이해 곤란, 유지보수 곤란, 오류 유발
· 논리 또는 파일 시스템 등의 데이터베이스 시스템 설계에는 유용하지 않다.
 
6. HIPO
                   
 
           
(1) 장점
· 전체 또는 상세한 부분까지도 쉽게 알아본다
· 문서화의 표준화로 올바르게 생각 전달
· 구조화 프로그래밍 기법과 결합, 고도의 모듈화 실현 기대
· 기능구조가 계층적으로 도식화, 작업을 위에서 아래로 논리적으로 전개 가능
· 기능, 입력, 출력자료가 나타나 있으므로 자료가 변해 가는 과정을 시각적으로 볼 수 있다
· 작은 프로그램 개발에 좋은 도구
(2) 단점
· 그리기 어렵다.
· 프로그램구조를 구체적으로 표현하는 방법이 없다.
· 처리단계나 입출력항목이 많아지면 표현이 어렵다.
· 데이터구조나 데이터간의 관계를 표현할 수가 없다.
· 시스템 분석가나 설계자 또는 프로그래머를 위한 어떤 지침, 책략, 절차 등이 없다.
 
7. 의사코드(Pseudo-code)
 
  SALE_PRICE = PRICE * ( 1 - DISCOUNT_RATE )
  PROFIT = ( SALE_PRICE  - PURCHASE_PRICE ) * AMOUNT
  IF PROFIT IS GRATER THEN UPPER_LIMIT
  THEN MOVE EXCELLENT_CHARACTER TO ASSESS
   GO TO PRINT_ASSESS
  END-IF
  IF PROFIT IS GRATER THEN OR EQUEL TO LOWER_LIMIT
  THEN MOVE GOOD_CHARACTER TO ASSESS
   GO TO PRINT_ASSESS
  END-IF
  IF PROFIT IS LESS THEN LOWER_LIMIT
  THEN MOVE BAD_CHARACTER TO ASSESS
  END-IF
 PRINT_ASSESS.
  CALL PRINT_RECORD
 
1) 의사코드의 필요성
    플로우 챠트 :
    “어떤 순서로 처리하는가(How) ?” 표현 수단
    “무엇을 하는가(What) ?” 표현 수단으로 부적합
    의사코드 :
    What 과 How 를 동시 표현
    문서화
    생각 도구
    프로그램 설계정보 전달 도구
    자연어와 유사
2) 의사코드의 표현방법
 판매단가 = 정가 * ( 1 - 할인율 )
 이익 = ( 판매단가  - 구입단가 ) * 수량
 IF (이익 > 목표상한)
 THEN 평가 = “매우 우수”
 ELSE IF (이익 >= 목표하한)
  THEN 평가 = “우수”
  ELSE 평가 = “불량”
  END-IF
 END-IF
 인쇄하는 부프로그램 CALL

8. 워니어-오어(Warnier-Orr) 다이어그램
                         
Warnier-Orr 다이어그램
계층적 구조를 표현
제어와 흐름 표현
실행될 함수의 횟수 표현
실행제어 논리는 각주로 표기
선택구조는 (0, 1)을 함수이름 아래에 기술
+(OR), (Exclusive OR) 표기를 한다
◉ 장점
· 새로운 시스템의 설계와 기존의 시스템에 대한 문서로 광범위하게 사용된다.
· 구조화된 프로그램 코드로 옮길 경우 Begin-End 블럭구조 형식을 사용하여 간단하게 해결할 수 있다.
· 데이터 구조에 대한 효과적인 문서를 제공한다.
· 4개의 기본적인 다이어그램 기법으로 구성되어 있기 때문에 사용법이 쉽다.
◉ 단점
· 구조를 확실하게 표현할 수 있지만 세부적인 단계에서는 부피가 커지기 때문에 읽기가 어렵다.
· 제어 논리를 각주로 이용하기 때문에 읽기가 불편하다.
· 데이터베이스에 기초를 둔 것이 아니기 때문에 계층적 구조만을 기술하고 있다.

'UP! > Software Engineering' 카테고리의 다른 글

자료사전  (0) 2008.08.21
개체관계도  (0) 2008.08.21
시스템 분석  (0) 2008.08.21
타당성 검토  (0) 2008.08.21
프로젝트 계획  (0) 2008.08.21
Posted by 으랏차
,