data flow diagrams se205 software engineering. 4-jun-14 iteration 2: functional delivery in context

Post on 30-Mar-2015

219 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Data Flow Diagrams

SE205 Software Engineering

Apr 10, 2023

Iteration 2: Functional delivery in context

Apr 10, 2023

Functional delivery

Deliver to the client a system that meets most of their needs

Usable Stable

Apr 10, 2023

Apr 10, 2023

Requirements determination

Determine how the current information system operates and what users would like to see in the new system.

Outcomes: Various forms of information gathered

Apr 10, 2023

Structured Modeling

We can model the functions of a business using a range of structured diagrams and techniques:

Functional decomposition Data flow Entity Relationship Logic structure Structure charts

Apr 10, 2023

Agile Modeling (AM)

AM is a chaordic, practices-based process for modeling and documentation

AM is a collection of practices based on several values and proven software engineering principles

AM is a light-weight approach for enhancing modeling and documentation efforts for other software processes such as XP and RUP

Your Software Process

A Base Software Process(e.g. XP, RUP, DSDM, FDD, …)

Principles and Practices ofAgile Modeling (AM)

Other Techniques(e.g. Database refactoring)

Copyright 2001-2005 Scott W. Ambler

Apr 10, 2023

What Are Agile Models?

Agile models: Fulfill their purpose Are understandable Are sufficiently accurate Are sufficiently consistent Are sufficiently detailed Provide positive value Are as simple as possible

Agile models are just barely enough!

Value

Effort

Ideal Realistic

Copyright 2005 Scott W. Ambler

Just Barely Good Enough

Apr 10, 2023

The Core of AMYou Need to Adopt at Least the Core

Core Principles Assume Simplicity Embrace Change Enabling the Next Effort is

Your Secondary Goal Incremental Change Model With a Purpose Multiple Models Maximize Stakeholder

Investment Quality Work Rapid Feedback Software Is Your Primary Goal Travel Light

Core Practices Active Stakeholder Participation Apply the Right Artifact(s) Collective Ownership Create Several Models in Parallel Create Simple Content Depict Models Simply Display Models Publicly Iterate to Another Artifact Model in Small Increments Model With Others Prove it With Code Single Source Information Use the Simplest Tools

Apr 10, 2023

Model With Others

The modeling equivalent of pair programming

You are fundamentally at risk whenever someone works on something by themselves

Several heads are better than one

Apr 10, 2023

Agile Modelswww.agilemodeling.com/artifacts/

Conceptual Domain Modeling

- Class Responsibility Collaborator (CRC) Cards- Logical Data Model (LDM)- Object Role Model (ORM) Diagram- Robustness Diagram- UML Class Diagram

Usage Modeling- Acceptance Tests- Essential Use Cases- Features- System Use Cases- Usage scenario- User Stories- UML Use Case Diagram

Supplementary Requirements Modeling

- Business Rules- Conceptual Cases- Constraints- Glossary- Technical Requirements

User Interface Development

- Essential User Interface Prototype- User Interface Flow Diagram- User Interface Prototype

Architectural Modeling

- Change Cases- Free Form Diagram- Security Threat Modeling- UML Component Diagram- UML Deployment Diagram- UML Package Diagram

Dynamic Object Modeling

- UML Communication Diagram- UML Composite Structure Diagram- UML Interaction Overview Diagram- UML Sequence Diagram- UML State Machine Diagram- UML Timing Diagram

Process Modeling

- Data Flow Diagram (DFD)- Flow Chart- UML Activity Diagram- Value Stream Map- Workflow diagram

Detailed Structural Modeling

- External Interface (EI) Specification- Physical Data Model (PDM)- UML Class Diagram- UML Object Diagram

Copyright 2003-2005Scott W. Ambler

Apr 10, 2023

Agile Documentation Agile documents:

Maximize stakeholder investment Are concise Fulfill a purpose Describe information that is less likely to change Describe “good things to know” Have a specific customer and facilitate the work efforts of that customer Are sufficiently accurate, consistent, and detailed Are sufficiently indexed

Valid reasons to document: Your project stakeholders require it To define a contract model To support communication with an external group To think something through

www.agilemodeling.com/essays/agileDocumentation.htm

Data Flow Diagrams

Apr 10, 2023

Apr 10, 2023

Business Process mapping - XSOL

Apr 10, 2023

Process Modeling

Data flow diagramming Graphical depiction of a system Show how data flows through your system

and what is being done to it along the way

Apr 10, 2023

Figure 2-2A General Depiction of a System

Apr 10, 2023

Figure 2-4A Fast Food Restaurant as a System

Apr 10, 2023

Figure 2-7A Fast Food Restaurant’s Customer Order Information System Depicted in a Data Flow

Diagram

Apr 10, 2023

Process Modeling

Graphically Represents Functions or Processes

Which Capture Manipulate Store Distribute data between a system, its environment

and its components

Apr 10, 2023

Deliverables

Set of data flow diagrams showing:

Scope of systemExisting system modeledNew system modeled

Apr 10, 2023

Key Definitions

Logical process models describe processes without suggesting how they are conducted

Physical models include information about how the processes are implemented

Apr 10, 2023

Deliverables - ideal

1. Context data flow diagram [DFD] Shows system scope

2. DFD/s of current physical system Specifies people and technologies used

3. DFD/s of current logical system Show data processing functions

4. DFD/s of new logical system5. Description of each DFD component

Data repository

Apr 10, 2023

Data Flow Diagram Symbols

Apr 10, 2023

Process

The work or actions performed on data so that they are transformed, stored or distributed Verb phrase name, eg,

Update Calculate Verify

Apr 10, 2023

Data store

Data at rest, which may take the form of many different physical representationsEg, Database Files Folder

Apr 10, 2023

Source/sink

The origin and/or destination of data, sometimes referred to as external entities

Eg, Clients Employees Bank Inland Revenue

Apr 10, 2023

Data flow

Data in motion, moving from one place in the system to another

Eg, Invoice Receipt Enrolment form

Must be named, often has a paper form associated with it.

Apr 10, 2023

Concepts

Data movementCouplingTiming of data flow

DFD hides some Physical Characteristics Frequency Volume of Data

Apr 10, 2023

Steps in Building DFDs

Build the context diagram Create DFD fragments Organize DFD fragments into level 0 Decompose level 0 DFDs as needed Validate DFDs with user

Apr 10, 2023

Context Diagram

Shows the context into which the business process fits

Shows the overall business process as just one process

Shows all the outside entities that receive information from or contribute information to the system

Apr 10, 2023

Figure 8-4Context Diagram of Hoosier Burger’s Food Ordering System

• One process only

• Single process (0) represents entire system

Apr 10, 2023

Apr 10, 2023

Level 0 Diagram

Shows all the processes that comprise the overall system

Shows how information moves from and to each process

Adds data stores

Apr 10, 2023

Figure 8-5Level-0 DFD of Hoosier Burger’s Food Ordering System

Apr 10, 2023

Apr 10, 2023

Decomposition of DFDs

Functional Decomposition iterative process of breaking down the

description of a system into finer and finer detail keep going until point where process can no

longer be logically broken down creates a series of exploding charts

Level-n diagram

Apr 10, 2023

Level 1 Diagrams

Shows all the processes that comprise a single process on the level 0 diagram

Shows how information moves from and to each of these processes

Shows in more detail the content of higher level process Level 1 diagrams may not be needed for all level 0

processes

Apr 10, 2023

Figure 8-7Level-1 Diagram Showing Decomposition of Process 1.0 from the Level-0 Diagram

Apr 10, 2023

Figure 8-5Level-0 DFD of Hoosier Burger’s Food Ordering System

Apr 10, 2023

Level 2 Diagrams

Shows all processes that comprise a single process on the level 1 diagram

Shows how information moves from and to each of these processes

Level 2 diagrams may not be needed for all level 1 processes

Correctly numbering each process helps the user understand where the process fits into the overall system

Apr 10, 2023

Figure 8-8Level-1 Diagram Showing the Decomposition of Process 4.0 from the Level-0

Diagram

Apr 10, 2023

Figure 8-9Level-2 Diagram Showing the Decomposition of Process 4.3 from the Level-1 Diagram

for Process 4.0

Apr 10, 2023

Your Turn

At this point in the process it is easy to lose track of the “big picture”.

Sketch a context diagram for your project How many processes? What are the external sources and sinks?

Creating Data Flow Diagrams

Apr 10, 2023

Data flow diagram components

Data Store Process Source/Sink Data flow

Apr 10, 2023

Process

The work or actions performed on data so that they are transformed, stored or distributed Verb phrase name, eg,

Update Calculate Verify

Apr 10, 2023

Data store

Data at rest, which may take the form of many different physical representationsEg, Database Files Folder

Apr 10, 2023

Source/sink

The origin and/or destination of data, sometimes referred to as external entities

Eg, Clients Employees Bank Inland Revenue

Apr 10, 2023

Data flow

Data in motion, moving from one place in the system to another

Eg, Invoice Receipt Enrolment form

Must be named, often has a paper form associated with it.

Apr 10, 2023

Concepts

Data movementCouplingTiming of data flow

DFD hides some Physical Characteristics Frequency Volume of Data

Apr 10, 2023

Steps in Building DFDs

Build the context diagram Create DFD fragments Organize DFD fragments into level 0 Decompose level 0 DFDs as needed Validate DFDs with user

Apr 10, 2023

Context Diagram

Overview of the system showing:

System Boundaries External Entities that interact with the

system Major information flows between Entities

and System

Apr 10, 2023

Figure 2-2A General Depiction of a System

Apr 10, 2023

Apr 10, 2023

Next step

What processes are represented by the single process in the context diagram?

• Capturing data from different sources

• Maintaining data stores

• Producing and distributing data to different sinks

• High level descriptions of data transformation operations

Apr 10, 2023

DFD Layout Tips

All process names must be verb phrases Maintain organisation’s viewpoint in naming

processes Layouts often place

processes in the center inputs from the left outputs to the right stores beneath the processes

Apr 10, 2023

Level - 0 diagram

A dataflow diagram that represents all of the system’s major processes, data flows, and data stores at a high level of detail.

Often corresponds to selection of activities on main system menu.

Apr 10, 2023

Level 0 Tips

Generally move from top to bottom, left to right

Minimize crossed lines Iterate as needed

The DFD is often drawn many times before it is finished, even with very experienced systems analysts

Apr 10, 2023

Figure 8-5Level-0 DFD of Hoosier Burger’s Food Ordering System

Apr 10, 2023

Tips for Level 1 and Below

Sources for inputs and outputs listed at higher level

List source and destination of data flows to processes and stores within each DFD

Depth of DFD depends on overall system complexity Two processes generally don’t need lower

level More than seven processes become overly

complex and difficult to read

Apr 10, 2023

Data Flow Splits and Joins

A data flow split shows where a flow is broken into its component parts for use in separate processes

Data flow splits need not be mutually exclusive nor use all the data from the parent flow

As we move to lower levels we become more precise about the data flows

A data flow join shows where components are merged to describe a more comprehensive flow

Apr 10, 2023

Balancing DFD’s

Balancing involves ensuring that information presented at one level of a DFD is accurately represented in the next level DFD.

Apr 10, 2023

Validating the DFD

Syntax errors Assure correct DFD structure

Semantics errors Assure accuracy of DFD relative to actual/desired

business processes User walkthroughs Role-play processes Examine lowest level DFDs Examine names carefully

Apr 10, 2023

Guidelines for drawing

Use a CASE tool: BPWin, Visible Analyst Completeness

no data flows leading to nowhere Consistency

is nesting appropriate? Timing, never started, never stops Iterative development

Apr 10, 2023

Summary

Requirements Structuring Process modelling Data flow diagrams

Deliverables Three sets of DFDs current physical, current logical, new logical

top related