dfd 다이어그램의 외부 엔터티를 정의합니다. 데이터 흐름 다이어그램

일반 개념

프로세스 모델링 방법 - 데이터 흐름(DFD)

DFD를 사용하면 설계된 시스템에 대한 요구 사항을 제시할 수 있습니다.데이터 흐름으로 연결된 기능 구성 요소(프로세스)의 계층 구조 형태입니다.

이 표현의 목적은 각 프로세스가 입력을 출력으로 변환하는 방법을 보여주고 이러한 프로세스 간의 관계를 밝히는 것입니다.

. 미국 20대. 사무실 컨설턴트는 각 직원에게 원을 표시하고 각 문서는 화살표로 그들 사이를 통과했습니다. 그는 이러한 도표를 이용하여 많은 문서를 교환하는 두 명의 사무원이 가까이 앉고, 상호작용이 거의 없는 사무원은 서로 멀리 떨어진 곳에 앉는 재구성 방식을 제안했다. 이것이 최초의 DFD 프로토타입이 탄생한 방법입니다.

DFD를 구성하기 위해 Jordan 및 Hein-Serson 방법에 해당하는 두 가지 다른 표기법이 사용됩니다. 더 많은 예제에서는 오늘날 더 널리 사용되는 Hein-Serson 표기법을 사용할 것입니다.

시스템 모델은 정보 변환의 비동기 프로세스를 설명합니다. 분해 컨텍스트 다이어그램(상위 수준의 다이어그램)은 프로세스가 기본이 되어 더 자세히 설명할 수 없는 분해 수준에 도달할 때까지 다이어그램의 다단계 계층 구조를 생성하면서 계속됩니다.

데이터 흐름 다이어그램의 주요 구성 요소는 다음과 같습니다.

1. 외부 엔터티.

2. 시스템 및 하위 시스템.

3. 프로세스.

4. 데이터 저장 장치.

5. 데이터 스트림.

외부 엔터티– 정보의 소스 또는 수신자인 물질적 객체 또는 개인(고객, 공급업체, 고객, 창고 등). 데이터 흐름 다이어그램에서 외부 엔터티는 그림자를 드리우는 사각형으로 표시됩니다.

시스템 및 하위 시스템분해의 최상위 수준에 있는 요소이며 컨텍스트 다이어그램에 단일 전체로 표시됩니다.

시스템과 하위 시스템은 다음과 같이 분해됩니다. 프로세스– 특정 알고리즘에 따라 입력 데이터 스트림을 출력 데이터 스트림으로 변환하도록 설계된 다이어그램 구성 요소.

물리적으로 프로세스는 다양한 방식으로 구현될 수 있습니다. 입력 문서를 처리하고 보고서를 발행하는 조직의 부서일 수도 있고 프로그램 또는 하드웨어로 구현된 논리 장치 등일 수도 있습니다.

다이어그램에 "프로세스", "업그레이드" 또는 "편집"과 같은 동사를 사용하는 것은 프로세스에 대한 이해가 부족함을 나타내며 추가 분석이 필요합니다.

데이터 저장고– 정보를 저장하기 위한 추상 장치. 정보는 언제든지 저장 장치에 저장되고 일정 시간이 지나면 검색될 수 있다고 가정하며, 거기에 저장하고 검색하는 방법은 다를 수 있습니다.


물리적으로 데이터 저장 장치는 파일 캐비닛의 상자, RAM의 테이블, 자기 매체의 파일 등의 형태로 구현될 수 있습니다.

데이터 흐름도에서 데이터 드라이브는 문자 "D"와 임의의 숫자로 식별됩니다. 드라이브 이름은 설계자에게 가장 유용한 정보를 제공하도록 선택됩니다. 일반적으로 데이터 저장 장치는 미래 데이터베이스의 프로토타입이며, 여기에 저장되는 데이터에 대한 설명은 정보 모델(ERD)에 따라 지정되어야 합니다.

데이터 스트림소스에서 수신자로 연결을 통해 전송되는 정보를 정의합니다. 실제 데이터 스트림은 두 장치 사이의 케이블을 통해 전송되는 정보, 우편으로 보낸 편지, 한 컴퓨터에서 다른 컴퓨터로 전송되는 자기 테이프 또는 플로피 디스크 등이 될 수 있습니다.

다이어그램에서 데이터 흐름은 흐름 방향을 나타내는 화살표로 끝나는 선으로 표시됩니다. 각 데이터 스트림에는 해당 내용을 반영하는 이름이 있습니다.

DFD 다이어그램을 구성할 때 다음 권장 사항을 사용하는 것이 일반적입니다.

1. 각 다이어그램에 3~6~7개의 프로세스를 배치합니다.

3. 약어를 사용하지 마십시오.

4. 중요하지 않은 세부사항으로 다이어그램을 복잡하게 만들지 마십시오.

9.3. 엔터티 관계 다이어그램

엔터티-관계 다이어그램을 구성하기 위한 ERD 표기법에는 9개의 주요 구성 요소가 포함됩니다.

대부분의 경우 이러한 유형의 정보 모델은 데이터베이스 구조를 설계하는 데 사용됩니다.

정보 시스템의 그래픽 모델링을 위한 이 방법론의 기초는 DFD 데이터 흐름 다이어그램을 구성하기 위한 특수 기술입니다. 많은 분석가들이 DFD 방법론 개발에 참여했으며 그중 E. Yourdon이 주목되어야 합니다. 그는 최초의 그래픽 표기법 중 하나인 DFD의 저자입니다. 현재 가장 일반적인 것은 소위 Gene-Sarson 표기법이며, 이 섹션에서는 주요 요소를 논의할 것입니다.

DFD의 맥락에서 시스템 모델은 일부 정보 모델의 형태로 표현되며, 그 주요 구성 요소는 한 하위 시스템에서 다른 하위 시스템으로 정보를 전송하는 다양한 데이터 스트림입니다. 각 하위 시스템은 입력 데이터 스트림의 특정 변환을 수행하고 정보 처리 결과를 데이터 스트림 형태로 다른 하위 시스템에 전송합니다.

데이터 흐름 다이어그램의 주요 구성 요소는 다음과 같습니다.

외부 엔터티

데이터 드라이브 또는 스토리지

프로세스

데이터 스트림

시스템/하위 시스템

외부 실체는 정보의 소스 또는 수신자 역할을 할 수 있는 물질적 객체 또는 개인입니다. 일부 개체나 시스템을 외부 엔터티로 정의하는 것은 엄격하게 고정되어 있지 않습니다. 외부 엔터티는 고려 중인 시스템 경계 외부에 있지만 추가 분석 과정에서 일부 외부 엔터티가 시스템 모델 다이어그램 내부로 전송될 수 있습니다. 반면에 개별 프로세스는 다이어그램 외부로 이동하여 외부 엔터티로 표시될 수 있습니다. 외부 엔터티의 예로는 조직의 고객, 고객, 직원, 공급업체가 있습니다.

외부 개체는 그림자가 있는 직사각형(그림 2.15)으로 표시되며 그 안에 이름이 표시됩니다. 이 경우에는 명사로 명사를 사용하는 것이 좋습니다. 때로는 외부 엔터티를 터미네이터라고도 합니다.

쌀. 2.15.데이터 흐름 다이어그램의 외부 엔터티 그림

프로세스는 특정 알고리즘이나 규칙에 따라 입력 데이터 스트림을 출력 스트림으로 변환하는 일련의 작업입니다. 프로세스는 다양한 방법으로 물리적으로 구현될 수 있지만 가장 일반적인 방법은 프로세스를 소프트웨어로 구현하는 것입니다. 데이터 흐름 다이어그램의 프로세스는 둥근 사각형(그림 2.16)으로 표시되며 수평선으로 세 개의 섹션 또는 필드로 구분됩니다. 프로세스 번호 필드는 후자를 식별하는 데 사용됩니다. 중간 필드에는 프로세스 이름이 포함됩니다. 필요한 추가 사항을 이름으로 포함하여 무기한 형태의 동사를 사용하는 것이 좋습니다. 하위 필드에는 프로세스의 물리적 구현 방법에 대한 표시가 포함됩니다.

쌀. 2.16.데이터 흐름 다이어그램으로 프로세스 표현

쌀. 2.17.데이터 흐름 다이어그램의 하위 시스템 그림

시스템의 정보 모델은 소위 컨텍스트 다이어그램 형태의 특정 계층 다이어그램으로 구축되며, 원본 모델은 해당 데이터 변환 프로세스의 하위 시스템 모델 형태로 일관되게 표시됩니다. 이 경우 DFD 컨텍스트 다이어그램의 하위 시스템 또는 시스템은 프로세스와 동일한 방식, 즉 둥근 꼭지점이 있는 직사각형으로 표시됩니다(그림 2.17).

데이터 드라이브 또는 저장소는 프로세스 간에 이동하는 정보를 저장하는 추상적인 장치 또는 방법입니다. 데이터는 언제든지 드라이브에 배치되고 일정 시간이 지나면 검색될 수 있으며 데이터를 저장하고 검색하는 물리적 방법은 임의적일 수 있다고 가정합니다. 데이터 저장장치는 물리적으로 다양한 방식으로 구현될 수 있으나 대부분 자기 매체에 전자적 형태로 구현되는 것으로 가정하고 있다. 데이터 흐름도의 데이터 저장소는 두 개의 필드가 있는 직사각형으로 표시됩니다(그림 2.18). 첫 번째 필드는 문자 "D"로 시작하는 드라이브 번호 또는 식별자를 나타내는 데 사용됩니다. 두 번째 필드는 이름을 나타내는 데 사용됩니다. 이 경우 해당 정보를 저장하는 방법을 나타내는 드라이브 이름으로 명사를 사용하는 것이 좋습니다.

쌀. 2.18.데이터 흐름 다이어그램의 드라이브 그림

마지막으로, 데이터 흐름은 소스에서 수신자로 연결을 통해 전송되는 정보의 질적 특성을 결정합니다. 실제 데이터 스트림은 두 컴퓨터 사이의 네트워크를 통해 전송되거나 데이터를 필요한 형식으로 검색하고 복원할 수 있는 다른 방법으로 전송될 수 있습니다. DFD 다이어그램의 데이터 흐름은 한쪽 끝에 화살표가 있는 선으로 표시되며, 화살표는 데이터 흐름의 방향을 나타냅니다. 각 데이터 스트림에는 해당 내용을 반영하는 고유한 이름이 있습니다.

따라서 DFD 표기법의 시스템 정보 모델은 데이터 흐름도의 형태로 구성되며 적절한 표기법을 사용하여 그래픽으로 표현됩니다. 예를 들어, 은행 고객이 신용카드로 일정 금액의 현금을 받는 프로세스에 대한 단순화된 모델을 생각해 보세요. 이 예의 외부 엔터티는 은행 고객이며 고객 서비스 프로세스를 감독하는 은행 직원일 수도 있습니다. 데이터 저장소는 개별 은행 고객의 계좌 상태에 대한 데이터베이스일 수 있습니다. 개별 데이터 스트림은 은행 고객에게 서비스를 제공하는 데 필요한 전송된 정보의 성격을 반영합니다. 이 예에 해당하는 모델은 데이터 흐름 다이어그램으로 표현될 수 있습니다(그림 2.19).

현재 데이터 흐름 다이어그램은 일부 CASE 도구에서 데이터 처리 시스템의 정보 모델을 구축하는 데 사용됩니다. 이 방법론의 주요 단점은 복잡한 시스템 모델의 객체 지향 표현과 복잡한 처리 알고리즘 표현을 위한 명시적 수단이 부족하다는 점입니다.

데이터. DFD 다이어그램은 개별 프로세스의 실행 시간 특성과 프로세스 간 데이터 전송을 나타내지 않으므로 동기식 데이터 처리를 구현하는 시스템 모델을 DFD 표기법으로 적절하게 표현할 수 없습니다. 구조 시스템 분석 방법론의 이러한 모든 기능은 광범위한 적용 가능성을 제한했으며 통합 모델링 언어에 적절한 도구를 포함하기 위한 기반이 되었습니다.


쌀. 2.19.신용카드에서 현금을 받는 프로세스에 대한 DFD 다이어그램의 예

가방을 판매하는 상점 체인을 위한 정보 시스템의 DFD 모델을 구축하는 것을 고려해 보겠습니다. 실험실 작업 1번에서 구성한 IDEF0 다이어그램을 DFD 다이어그램으로 보완해 보겠습니다. 함수 A4 "작업 분석"에 대한 DFD 다이어그램을 작성해 보겠습니다. 4.

쌀. 4. DFD 다이어그램의 예

운동

  1. DFD 방법을 알아보세요.
  2. 데이터 이동을 표시하는 데 필요한 모델의 기능 블록 IDEF0에 대한 데이터 흐름도를 사용하여 실험실 작업 1번에 내장된 정보 시스템의 기능 모델을 보완합니다.
  3. 보안 질문에 답하세요.
  4. 보고서 작성(표지, 작업, DFD 다이어그램)

통제 질문

  1. 데이터 흐름도를 사용하여 시스템의 어떤 프로세스를 설명합니까?
  2. 데이터 흐름 다이어그램의 주요 개체는 무엇입니까?
  3. DFD 다이어그램을 구성할 때 분해 원리가 사용됩니까?
  4. 화살표가 블록에 접근하는 위치나 화살표가 블록에서 나가는 위치는 임의적일 수 있거나 특정 규칙이 적용될 수 있습니까?
  5. 객체는 어떻게 외부 엔터티로 격리됩니까?

문학

  1. 페도토바, D.E. CASE 기술: 워크샵 / D.E. Fedotova, Yu.D. 세메노프, K.N. 시스킨. - M.: Hotline - Telecom, 2005. - 160 페이지: 아픈.
  2. Kalashyan, A.N. 구조적 비즈니스 모델: DFD 기술 / A.N. Kalashyan, G.N. Kalyanov. - M.: 금융 및 통계, 2003.
  3. DFD 데이터 흐름 다이어그램. - http://www.proinfotech.ru/dmdlr2.htm.
  4. 비즈니스 프로세스를 모델링하는 방법. - http://www.jetinfo.ru/2004/10/1/article1.10.2004153.html.


DFD 표기법으로 분해 다이어그램 작성

작업의 목표:

  • 이전 실습에서 구성한 IDEF0 다이어그램 중 하나를 DFD 표기법으로 분해 다이어그램 구성

DFD(데이터 흐름 다이어그램)는 문서 흐름 및 정보 처리를 설명하는 데 사용됩니다. IDEF0과 마찬가지로 DFD는 상호 연결된 활동의 네트워크로 모델링되는 시스템을 나타냅니다. 기업 정보 처리 시스템의 현재 문서 흐름 작업을 보다 명확하게 표시하기 위해 IDEF0 모델에 추가하여 사용할 수 있습니다. DFD의 주요 목표는 각 작업이 입력을 출력으로 변환하는 방법을 보여주고 해당 작업 간의 관계를 밝히는 것입니다.

모든 DFD 다이어그램에는 활동, 외부 엔터티, 화살표(데이터 흐름) 및 데이터 저장소가 포함될 수 있습니다.

공장.작품은 모서리가 둥근 직사각형으로 표시되며(그림 1), 그 의미는 IDEF0 및 IDEF3 작품의 의미와 일치합니다. IDEF3 작동과 마찬가지로 입력과 출력이 있지만 IDEF0과 같은 제어 및 메커니즘은 지원하지 않습니다. 작업의 모든 측면은 동일합니다. 각 작업에는 들어오고 나가는 여러 개의 화살표가 있을 수 있습니다.

그림 1. DFD에서 작업

외부 엔터티.외부 엔터티는 시스템의 입력 및/또는 출력을 나타냅니다. 단일 외부 엔터티는 동시에 입력(공급자 역할)을 제공하고 출력(수신자 역할)을 허용할 수 있습니다. 외부 실체는 고객, 직원, 공급업체, 고객, 창고와 같은 중요한 객체입니다. 객체나 시스템을 외부 엔터티로 정의하는 것은 분석 중인 시스템의 경계 외부에 있음을 나타냅니다. 외부 엔터티는 그림자가 있는 직사각형으로 표시되며 일반적으로 다이어그램 가장자리에 위치합니다(그림 2).

그림 2. DFD의 외부 엔터티

화살표(데이터 흐름).화살표는 시스템의 한 부분에서 다른 부분으로의 객체 이동을 설명합니다(따라서 DFD 다이어그램에는 경계 화살표가 있을 수 없습니다). DFD의 모든 면은 동일하므로 화살표는 직사각형의 어느 면에서나 시작하고 끝날 수 있습니다. 화살표는 양방향일 수 있습니다.

데이터 저장소.움직이는 물체를 나타내는 화살표와 달리 데이터 웨어하우스는 정지한 물체를 나타냅니다(그림 3). 데이터 웨어하우스는 언제든지 드라이브에 저장하고 일정 시간이 지나면 검색할 수 있는 정보를 저장하기 위한 추상 장치이며 저장 및 검색 방법은 다양할 수 있습니다. 일반적으로 이는 미래 데이터베이스의 프로토타입이며 여기에 저장된 데이터에 대한 설명은 정보 모델(Entity-RelationshipDiagram)과 일치해야 합니다.

그림 3. DFD의 데이터 저장

IDEF0을 DFD 다이어그램으로 분해합니다. IDEF0 작업을 DFD로 분해하는 경우 다음 단계를 수행해야 합니다.

  • DFD 다이어그램에서 모든 경계 화살표를 제거합니다.
  • 적절한 외부 엔터티와 데이터 저장소를 생성합니다.
  • 경계 화살표 대신 외부 엔터티에서 시작하는 내부 화살표를 생성합니다.
  • 터널링된 IDEF0 다이어그램의 화살표

DFD 표기법 규칙을 엄격하게 준수하는 것이 항상 편리한 것은 아니므로 BPWin을 사용하면 DFD 다이어그램에 경계 화살표를 만들 수 있습니다.

분해 다이어그램의 구성.작품을 분해해보자 배송 및 공급도표 A0 "컴퓨터와 노트북의 조립 및 판매에 관한 기업의 활동." 이 저작물에서 우리는 다음과 같은 아동 저작물을 확인했습니다.

  • 필요한 부품 공급 - 적합한 공급자를 찾고 그들로부터 필요한 부품을 주문하는 것과 관련된 활동을 다룹니다.
  • 부품 및 조립된 컴퓨터 보관
  • 완제품 배송 - 완제품의 포장, 문서화 및 실제 배송과 관련된 모든 작업

작품을 강조하자 배송 및 공급다이어그램 A0 "컴퓨터 및 노트북 조립 및 판매를 위한 기업의 활동", 도구 모음에서 "GotoChildDiagram" 버튼을 클릭하고 DFD 표기법을 선택합니다. 하위 다이어그램을 생성할 때 BPWin은 상위 작업의 경계 화살표를 전달하므로 이를 제거하고 외부 엔터티로 대체해야 합니다. 하위 다이어그램의 메커니즘 화살표, "규칙 및 절차", "관리 정보" 제어 화살표 및 "보고서" 종료 화살표는 덜 중요한 세부 사항으로 다이어그램을 복잡하게 만들지 않기 위해 사용되지 않습니다. 나머지 화살표를 외부 엔터티로 대체합니다. 도구 모음의 "ExternalReferenceTool" 버튼, 나타나는 창에서 "화살표" 스위치를 선택하고 목록에서 원하는 이름을 선택합니다(그림 4).



그림 4. 외부 엔터티 추가

그림 5. 작업 및 외부 엔터티

여기서 핵심 업무는 '부품 및 조립된 컴퓨터의 보관'이다. 입력에는 공급업체로부터 받은 조립된 컴퓨터와 부품, 그리고 컴퓨터 조립에 필요한 부품 목록이 입력됩니다. 이 작업의 출력은 필요한 구성 요소(사용 가능한 경우), "필요 구성 요소 공급" 작업의 입력으로 전송된 누락된 구성 요소 목록 및 배송을 위해 전송된 조립 컴퓨터입니다. "필요한 부품 공급" 및 "완제품 배송" 작업의 결과는 각각 공급업체에 대한 주문과 완제품입니다.

다음 단계는 각 작업에 어떤 정보가 필요한지 결정하는 것입니다. 데이터 웨어하우스 다이어그램(그림 6)에 배치해야 합니다.

그림 6. 최종 분해 다이어그램

"필요한 구성품 공급" 작업은 공급업체에 대한 정보와 이러한 공급업체에 주문한 정보를 사용하여 작업합니다. 작업과 "공급업체 목록" 데이터 창고를 연결하는 화살표는 양방향입니다. 작업은 기존 공급업체에 대한 정보를 받을 수도 있고 새로운 공급업체에 대한 데이터를 입력할 수도 있습니다. 작업을 "주문 목록" 데이터 웨어하우스와 연결하는 화살표는 단방향입니다. 작업에는 주문한 내용에 대한 정보만 입력됩니다.

"구성 요소 및 조립 컴퓨터 보관" 작업은 수령 및 배송된 구성 요소 및 조립 컴퓨터에 대한 정보와 함께 작동하므로 해당 작업을 데이터 창고 "구성 요소 목록" 및 "조립 컴퓨터 목록"과 연결하는 화살표는 양방향입니다. 또한 본 작업에서는 부품을 수령할 때 공급업체에 대한 주문이 완료되었음을 메모해야 합니다. 이를 위해 단방향 화살표를 사용하여 "주문 목록" 데이터 저장소에 연결됩니다. DFD 다이어그램에서는 동일한 데이터 저장소가 중복될 수 있습니다.

마지막으로 "완제품 배송" 작업은 완료된 배송에 대한 정보를 저장해야 합니다. 이렇게 하려면 해당 데이터 저장소인 "배송 데이터"를 입력하십시오.

마지막 단계는 상위 작업의 화살표를 터널링하는 것입니다(그림 7).

그림 7. 운송 및 조달 작업에 대한 터널링된 화살표가 있는 IDEF0 다이어그램.

  • 분해되는 작업에 대한 간략한 설명
  • 분해도

Bpwin을 사용하여 "기술 사양 작성" 프로세스의 DFD 다이어그램 예

  • IT 표준
  • IDEF0에 대한 이전 기사 중 하나에 대한 댓글에서 사용자 중 한 명이 DFD가 무엇인지 더 자세히 알려달라고 요청했습니다. 개념이 다소 혼란스럽습니다. 많은 고객이 데이터 흐름과 차트 작성 표준에 관해 질문하기도 합니다. 이것이 바로 제가 이 기사를 DFD에 헌정하기로 결정한 이유입니다.

    DFD는 일반적으로 영어로 인정되는 약어입니다. 데이터 흐름 다이어그램 - 데이터 흐름 다이어그램. 이는 시스템 외부의 데이터 소스 및 대상, 논리 기능, 데이터 흐름 및 액세스되는 데이터 저장소를 설명하는 그래픽 구조 분석 방법론의 이름입니다. 데이터 흐름 다이어그램(DFD)은 UML이 널리 사용되기 전에 존재했던 정보 시스템의 구조 분석 및 설계를 위한 주요 도구 중 하나입니다. 위키피디아

    제 생각에는 러시아어 Wikipedia의 정의에는 정보가 다소 과부하되어 결과적으로 이해하기가 불필요하게 어렵습니다. 또한 개인적으로 DFD와 UML은 서로 다른 도구라고 생각하므로 단순히 DFD가 UML의 전신이라고 말하는 것은 옳지 않습니다.

    나 자신을 위해 다음 공식을 생각해 냈습니다.

    DFD는 데이터 저장, 처리 및 전송의 관점에서 정보 시스템을 모델링하도록 설계된 표기법입니다.

    DFD 표기법이 필요한 이유는 무엇입니까?

    역사적으로 이 표기법의 구문은 Yourdon과 Gane-Sarson의 두 가지 버전에서 사용되었습니다. 이들 간의 차이점은 아래 표에 나와 있습니다.

    Hein과 Sarson에 따르면 나 자신도 옵션 중 하나만 사용합니다. 그런데 이 글을 쓰기 전 자료를 조사하던 중 이런 비교표를 보게 되었습니다. 나는 구문 옵션을 선택하는 것이 그다지 중요하지 않다고 생각합니다. 표기법을 생성하기 위한 소프트웨어 선택과 개인 선호도에 더 많이 의존할 것이지만 DFD에는 다음과 같이 엄격한 구문이 없다는 사실을 명확하게 보여줍니다. , 예를 들어 BPMN에서. 여기에서 사용할 수 있는 다양한 옵션이 있으며, 가장 중요한 것은 해당 옵션이 귀하와 귀하의 고객에게 명확하다는 것입니다. DFD 표기법은 신속하고 최대한 자유롭게 수행할 수 있는 임시 다이어그램을 생성하는 데 편리한 도구입니다.

    이러한 유형의 표기법은 데이터 웨어하우스로서 시스템에 대한 설명이 필요할 때 사용됩니다. 저것들. 표기법은 다음 질문에 명확하게 답해야 합니다.

    • 정보시스템은 무엇으로 구성되어 있나요?
    • 정보를 처리하려면 무엇이 필요합니까?
    DFD 표기법 자체는 다음 요소로 구성됩니다.
    • 프로세스, 즉. 데이터를 처리하기 위해 수행해야 하는 기능 또는 일련의 작업입니다. 여기에는 주문 생성, 고객 등록 등이 포함될 수 있습니다. 프로세스 이름에는 동사를 사용하는 것이 일반적입니다. “고객 생성”(“고객 생성” 아님) 또는 “주문 처리”(“주문 게시” 아님). 예를 들어 IDEF0 또는 BPMN과 같이 표기법이 실행 가능하므로 엄격하게 정의된 구문을 갖는 엄격한 요구 사항 시스템은 없습니다. 그러나 다른 사람이 DFD를 읽을 때 혼란을 일으키지 않도록 특정 규칙을 따라야 합니다.
    • 외부 엔터티.이는 시스템 자체에 포함되지 않지만 해당 시스템에 대한 정보 소스이거나 데이터 처리 후 시스템에서 정보를 받는 개체입니다. 이는 사람, 외부 시스템, 저장 매체 또는 데이터 저장소일 수 있습니다.
    • 데이터 저장소. 시스템 프로세스에 대한 내부 데이터 저장소입니다. 처리 전 수신된 데이터와 처리 후 결과 및 중간 값을 어딘가에 저장해야 합니다. 이는 데이터를 구성하고 저장하기 위한 데이터베이스, 테이블 또는 기타 옵션입니다. 고객 데이터, 고객 요청, 송장 및 시스템에 입력되었거나 처리 프로세스의 결과인 기타 데이터는 여기에 저장됩니다.
    • 데이터 흐름. 표기법은 다이어그램의 특정 블록에서 어떤 정보가 포함되어 있는지, 어떤 정보가 나오는지 화살표 형태로 표시됩니다.
    DFD 표기법은 시스템 설명의 관점에서 상품 판매 또는 배송 프로세스, 고객 요청 처리 또는 자재 구매 프로세스를 포함한 모든 작업을 설명할 수 있습니다. 이 표기법은 시스템이 무엇으로 구성되어야 하는지, 비즈니스 프로세스를 자동화하는 데 필요한 것이 무엇인지 이해하는 데 도움이 됩니다. 그러나 DFD는 비즈니스 프로세스 자체에 대한 설명이 아닙니다. 예를 들어 여기에는 시간과 같은 중요한 매개 변수가 없습니다. 또한 이 표기법은 조건과 "포크"를 제공하지 않습니다. DFD에서는 데이터가 어디서 왔는지, 어떤 데이터가 필요한지, 어떻게 처리되는지, 결과를 어디로 보내야 하는지 살펴봅니다. 저것들. 이 표기법은 프로세스 자체보다는 데이터 스트림의 이동을 설명합니다. 프로세스 작업을 위해서는 BPMN 또는 IDEF3을 사용하는 것이 좋습니다(이에 대해서는 나중에 설명하겠습니다).

    DFD 표기법을 만드는 방법

    영업 자동화 표기법을 예로 들어 살펴보겠습니다. 웹사이트나 전화를 통해 지원서를 작성하는 고객이 있다고 가정해 보겠습니다. 이 애플리케이션을 등록하는 관리자가 있습니다. 따라서 고객과 그의 주문과 같은 데이터가 시스템에 나타납니다. 창고 직원은 이를 확인하고 필요한 모든 서류와 함께 상품을 배송하고 해당 서류를 고객에게 전달해야 합니다.

    순서는 다음과 같습니다.

    1. 클라이언트는 자신의 데이터와 애플리케이션을 제공합니다.
    2. 관리자는 수신된 데이터를 확인하고 시스템에 입력합니다.
    3. 창고 작업자는 송장 등의 문서를 생성하고 상품을 배송합니다.
    4. 고객은 상품과 그에 대한 문서 패키지를 받습니다.
    우리는 IT 시스템에서 데이터를 저장하고 작업하는 관점에서 이러한 일련의 작업을 보아야 합니다.

    DFD 관점에서 보면 다음과 같습니다.

    • 구매자는 데이터의 소스이자 결과의 수신자인 외부 엔터티입니다.
    • 주문 처리 과정(관리자가 시스템에 데이터를 확인하고 게시하는 과정)
    • 창고에서 주문 상품 수령(신청 접수 후)
    • 발송등록(필요서류 작성)
    DFD 다이어그램을 생성하려면 어떤 규칙을 알아야 합니까?
    • 모든 프로세스에는 최소한 하나의 입력과 하나의 출력이 있어야 합니다. 여기서 프로세스의 의미는 데이터를 처리하는 것입니다. 따라서 프로세스는 데이터를 수신하고(들어오는 화살표) 처리 후 어딘가에 데이터를 제공해야 합니다(나가는 화살표).
    • 데이터 처리 프로세스에는 외부 수신 화살표(외부 엔터티의 데이터)가 있어야 합니다. 이러한 프로세스가 작동하려면 스토리지의 데이터를 사용하는 것만으로는 충분하지 않으며 후속 처리를 위해 새로운 정보가 도착해야 합니다.
    • 화살표는 데이터 저장소를 직접 연결할 수 없으며 모든 연결은 프로세스를 거칩니다. 단순히 데이터를 한 곳에서 다른 곳으로 옮기는 것은 의미가 없으며 두 스토리지의 직접 연결을 화살표로 읽는 방법입니다. 일부 작업을 수행하기 위해 데이터가 수신됩니다. 이 예에서는 판매 프로세스가 수행됩니다. 그리고 이것은 처리(프로세스)를 통해서만 가능합니다.
    • 모든 프로세스는 다른 프로세스 또는 다른 데이터 저장소와 연결되어야 합니다. 프로세스는 그 자체로 존재하지 않으므로 결과를 어딘가에 전송해야 합니다.
    • 분해. DFD 다이어그램은 대규모 프로세스를 생성하고 이를 작업에 대한 자세한 설명과 함께 하위 프로세스로 분해하는 기능을 제공합니다. 예를 들어, "애플리케이션 생성" 프로세스를 생성할 수 있으며, 이는 예를 들어 애플리케이션 수신과 별도로 고객 데이터 확인 및 획득과 같은 일련의 작업으로 분해될 수 있습니다. 주문을 통해 판매된 경우에도 애플리케이션을 생성할 때 필요한 항목의 가용성 등에 대한 데이터를 공급업체로부터 얻어야 합니다. 그런 다음 상단 다이어그램에는 "애플리케이션 처리" 블록이 있고 분해되면 이 단계의 자세한 작업 순서가 포함된 다이어그램이 표시됩니다. 동시에 어떤 단계에서도 조건과 가지가 없을 것입니다. 최대 3~4단계 깊이까지 프로세스와 분해가 있을 것입니다.
    다이어그램의 모양(분해 없음, 최상위 수준):

    그리고 다이어그램의 주요 요소를 분해하면 다음과 같습니다.

    DFD 표기법은 어디에 사용됩니까?

    DFD 다이어그램은 소프트웨어 개발에 적극적으로 사용됩니다. 여기서:
    • 데이터 웨어하우스는 스프레드시트와 데이터베이스입니다.
    • 외부 엔터티 - 클라이언트 또는 다른 프로그램(통합 및 데이터 교환)의 데이터베이스를 포함한 기타 데이터베이스
    • 프로세스는 시스템에서 수행되는 기능과 모듈입니다.
    DFD 표기법은 문서 흐름의 관점에서 시스템을 고려할 때 분석에도 편리합니다. 동시에 데이터가 어디에 저장되어 있는지, 문서가 어떻게 교환되는지, 이 프로세스에서 비즈니스 프로세스 구성 중 오류가 발생한 위치 등을 명확하게 확인할 수 있습니다. 그러나 여기서 DFD 다이어그램을 사용하려면 특별한 주의가 필요합니다. 그러나 이는 비즈니스 프로세스 자체에 대한 설명이 아니라 비즈니스 프로세스 구현 중 데이터 이동에 대한 다이어그램입니다. 그러나 클라이언트에게 기존 문제와 작업 최적화 방법을 시각적으로 보여주는 것을 포함하여 보조 옵션으로서 이러한 유형의 표기법은 매우 적합합니다.

    예를 들어, 문서 흐름 문제, 문서 중복 또는 반대로 시스템의 누락된 문서나 전자 데이터를 식별하려면 비즈니스 프로세스에 대한 별도의 설명을 만든 다음 이에 대한 DFD 표기법을 만드는 것이 매우 편리합니다. 또는 그 반대로 비즈니스의 기본과 문서 흐름 구현의 기능을 이해하기 위해 먼저 DFD 표기법을 작성합니다. 예를 들어 실제로 (종이에) 생성되었지만 어떤 방식으로든 시스템에 표시되지 않는 중요한 문서가 자동화 시스템에 없는지 확인하는 데 도움이 됩니다. 그런 다음 식별된 문서 흐름의 미묘한 차이를 고려하여 최적화된 비즈니스 프로세스가 구축됩니다.

    DFD 표기법이 쉬워졌습니다!

    나는 DFD 표기법이 언뜻 보이는 것보다 훨씬 간단하다고 믿습니다. 가장 중요한 것은 이러한 유형의 다이어그램을 구성할 때의 한계(조건 부족, 시간 등)를 명확하게 이해하고 이 접근 방식이 더 편리한 곳에 적용하는 것입니다. 아마도 위에서 설명하지 않은 DFD에 대한 자신만의 용도를 발견하게 될 것입니다. 내 목록에는 실제로 사용하는 옵션만 포함되어 있습니다.

    DFD 표기법의 특히 편리한 점은 BPMN처럼 엄격한 규칙과 구문을 준수할 필요가 없다는 것입니다. 이러한 표기법은 실행 가능하지 않으며 문서 흐름, 구조 및 후속 데이터 작업의 기능을 이해하는 데 필요합니다. 따라서 다이어그램이 귀하와 고객 모두에게 명확하다면 DFD 표준과의 일부 편차는 상당히 허용됩니다.

    원칙적으로 DFD 다이어그램은 원하는 위치와 방식으로 그릴 수 있습니다. 그러나 분해 작업을 하고 다양한 세부 수준에서 시스템을 구축하려면 "그리기 도구"(Visio, Paint 등)를 잊어야 합니다. 전문적인 모델링 프로그램이 필요합니다.

    개인적으로 저는 ERwin을 사용하고 있으며 모든 사람에게 추천합니다. 제가 선택한 이유 중 하나는 분해의 특징입니다. ERwin에서는 다른 유사한 시스템과 마찬가지로 DFD 프로세스를 IDEF3 형식으로 분해하는 것이 가능합니다. 기본 다이어그램은 DFD 형식이며 가장 일반적인 수준에서는 기본 데이터 흐름과 해당 처리의 "노드"를 볼 수 있습니다. 그리고 분해를 통해 프로세스 접근 방식을 사용할 수 있으며 이는 대규모 시스템을 개발하거나 다양한 비즈니스 부서와 협력할 때 매우 편리할 수도 있습니다.

    질문과 답변

    DFD와 UML의 차이점은 무엇입니까?

    데이터 기반 표기법으로 자리매김하는 UML이라는 표기법 언어가 있습니다. 그러나 동시에 UML은 이미 프로그래밍 언어이므로 엄격한 구문과 요구 사항을 갖고 있지만 다양한 기능을 설명할 수 있는 가능성도 더 많습니다. DFD는 보다 자유롭게 사용되며 계획, 가능한 솔루션 옵션 연구, 고객과의 논의 등에 더 적합한 표기법입니다.

    개발자이고 UML을 알고 있다면 일부 예비 솔루션이라도 이 표기법으로 만드는 것이 더 편리할 수 있습니다. 그리고 비즈니스 컨설턴트의 경우 DFD는 자동화 관점에서 기능에 대한 자세한 설명이 필요하지 않기 때문에 항상 도구로서 더 편리할 것입니다. 이는 기술 전문가의 임무입니다. 그러나 DFD는 많은 시간과 노력을 절약해 줍니다.

    그러나 DFD를 UML의 단순화된 버전으로 간주해서는 안 됩니다. 접근 방식의 유사성에도 불구하고 이들은 서로 다른 목적을 위해 고안된 서로 다른 도구입니다.

    DFD에는 몇 개의 요소를 사용할 수 있습니까?

    엄격한 구문과 규정이 있는 시스템과 달리 DFD에서는 하나의 다이어그램에 포함될 수 있는 요소 수에 제한이 없습니다. 비교를 위해 IDEF0에는 이러한 요소가 많이 있고 세부 사항(분해) 또는 다른 표기법만 있습니다.
    한편으로는 제한이 없기 때문에 표기법을 작성할 때 최대한의 자유와 편안함을 제공하기 때문에 이는 큰 장점입니다. 반면에 이러한 자유를 남용하는 것은 권장되지 않습니다. 다이어그램에 요소가 많을수록 읽기가 더 어렵다는 점을 기억하세요.

    클라이언트 작업에 DFD 표기법을 사용할 수 있습니까?

    원칙적으로 누구도 이를 금지할 수 없습니다. 또한 제한된 수량으로 설명의 일부를 설명하기 위해 이러한 표기법은 고객과 프로젝트 기능을 논의할 때 완벽합니다. 그러나 여전히 고객은 자동화 문제, 데이터 저장 구조, 처리 기능 등에 대해 거의 이해하지 못하고 있습니다. 이것은 모두 개발자의 역량 내에 있습니다. 그리고 DFD 표기법은 데이터 작업의 세부 사항을 고려하여 작성되었으므로 전문가와 프로젝트를 논의할 때, 개발자를 위한 기술 설명 및 과제를 작성할 때 개발자의 본질과 기능에 대한 이해를 높이기 위해 주로 사용하는 것이 좋습니다. 프로젝트의. 준비가 안 된 고객에게 DFD 표기법의 기능을 설명하는 것조차 어려울 수 있습니다.

    시스템의 기능적 모델을 구축할 때 방법론()의 대안은 방법론입니다. 데이터 흐름 다이어그램 (데이터 흐름 다이어그램, DFD). 일반적인 시스템 설계를 위한 설계와 달리 DFD는 정보 시스템 설계를 위한 설계입니다. 이 방법론은 자동화된 시스템 설계에 중점을 두므로 기능적인 TO-BE 모델을 구축할 때 편리하고 유리한 도구가 됩니다.

    다이어그램을 구성할 때 표에 제시된 그래픽 표기법의 요소가 구별됩니다. 6.1.

    표 6.1. DFD 그래픽 표기법의 요소

    이름 조던 표기법 게인-사르슨 표기법
    데이터 스트림
    프로세스(시스템, 서브시스템)
    데이터 저장고
    외부 엔터티

    데이터 스트림 소스에서 수신자로 연결을 통해 전송되는 정보(물질 객체)를 정의합니다. 실제 데이터 스트림은 두 장치 사이의 케이블을 통해 전송되는 정보, 우편으로 보낸 편지, 한 컴퓨터에서 다른 컴퓨터로 전송되는 자기 테이프 또는 플로피 디스크 등이 될 수 있습니다.

    각 데이터 스트림에는 해당 내용을 반영하는 이름이 있습니다. 화살표 방향은 데이터 흐름 방향을 나타냅니다. 때로는 정보가 한 방향으로 이동하여 처리된 후 원본으로 돌아갈 수 있습니다. 이 상황은 두 개의 서로 다른 흐름이나 하나의 양방향 흐름으로 모델링될 수 있습니다.

    일부 객체, 주제 또는 시스템을 외부 실체로 정의하는 것은 그것이 설계된 정보 시스템의 경계 밖에 있음을 나타냅니다. 이로 인해 외부 엔터티는 일반적으로 상황별 DFD 다이어그램에만 표시됩니다. 분석 및 설계 프로세스 중에 일부 외부 엔터티는 필요한 경우 분해 다이어그램으로 전송될 수 있으며, 반대로 프로세스(하위 시스템)의 일부가 외부 엔터티로 표시될 수 있습니다.

    기능적 DFD 모델의 구성은 IDEF0에서와 같이 컨텍스트 다이어그램의 개발로 시작됩니다. 주요 프로세스(시스템 전체)와 외부 환경(외부 엔터티)과의 연결을 표시합니다. 이 상호 작용은 데이터 스트림을 통해 표시됩니다. 컨텍스트 다이어그램에 여러 주요 프로세스나 하위 시스템을 한 번에 표시할 수 있습니다. 고려 중인 문제에 대한 컨텍스트 다이어그램의 예가 다음 그림에 표시됩니다.


    쌀. 6.23. 허용 속도 결정 시스템의 상황 다이어그램(DFD 방법론)

    이 다이어그램은 도로 구간에 필요한 거의 모든 정보를 담고 있는 ARM-P(Track Service Workstation) 또는 SBD-P(Consolidated DB – Track Fragment) 데이터베이스가 시스템 운영을 위한 초기 데이터 소스로 사용될 수 있음을 보여줍니다.

    동시에 시스템은 수동 입력 및 조정 가능성을 남겨둡니다. ARM-P 또는 SBD-P 데이터베이스는 시스템과 관련된 외부 엔터티임에도 불구하고 더 나은 인식을 위해 데이터 저장 장치로 표시됩니다.

    추가 설계 프로세스는 분해 다이어그램을 구성하는 것으로 구성되며, 이는 구성됩니다(장치 표시). 프로세스 또는 하위 시스템(시스템)에만 해당 .

    설계된 시스템의 첫 번째 수준의 분해 다이어그램은 다음 그림에 나와 있습니다.

    쌀. 6.24. 1단계 분해 다이어그램(DFD 방법론)

    이 그림에서는 드라이브와 관련된 일부 데이터 스트림에 이름이 누락되어 있습니다. 이를 통해 레이블 중복을 제거하고 결과적으로 다이어그램의 채도를 줄일 수 있습니다.

    분해 다이어그램을 구성할 때 시스템 블록은 경우에 따라 프로세스(이름은 동사로 시작)로 표시되고 다른 경우에는 하위 시스템(이름이 "subsystem"이라는 단어로 시작)으로 표시됩니다. 이는 블록 명명 규칙을 설명하기 위해 수행됩니다. 동시에 시스템의 분해는 프로세스만 사용하거나 하위 시스템만 사용하여 표현될 수 있습니다.

    컨텍스트 다이어그램과 분해 다이어그램은 BPwin 4.0을 사용하여 작성되었습니다.

    프로세스 세부 사항을 완료하고 미니 사양을 사용하는 결정은 다음 기준에 따라 설계자가 내립니다.

    프로세스에는 상대적으로 적은 수의 입력 및 출력 데이터 스트림(2~3개 스트림)이 있습니다.

    간단한 알고리즘의 형태로 프로세스를 설명하는 가능성

    작은 미니 사양(20~30라인 이하)을 사용하여 프로세스 로직을 설명할 수 있습니다.

    DFD 모델은 시스템의 기능적 측면을 설명하는 것 외에도 정보 및 구성 요소 측면에 대한 정보도 포함합니다. 데이터 저장 장치 세트는 미래 데이터베이스의 프로토타입입니다. 정보의 구성과 구조를 결정합니다. 하위 시스템을 블록으로 사용하여 다이어그램을 구성하면 미래 시스템 구성 요소의 구성과 연결이 표시됩니다.

    6.12. 실시간 시스템을 위한 DFD 확장

    실시간 시스템은 일반적으로 컴퓨터 기술과 정보 수집을 위한 다양한 물리적 장치(센서, 카메라, 마이크 등)의 상호 작용을 기반으로 구축됩니다. 전자는 개별 정보 변환기이고 후자는 주로 아날로그입니다. 연속적인 스트림 형태로 정보를 생성합니다. 이러한 시스템의 또 다른 특징은 객체 관리에 대한 상당한 편견입니다. 실시간 시스템의 동작을 모델링하기 위해 P. Ward와 S. Mellor는 DFD에 추가 요소를 사용할 것을 제안했습니다.