Subscribe by Email


Showing posts with label Data Flow Diagram. Show all posts
Showing posts with label Data Flow Diagram. Show all posts

Tuesday, March 15, 2011

Flow Oriented Modeling - Creating a Data Flow Model

Flow models focus on the flow of data objects as they are transformed by processing functions. Derived from structured analysis,flow models use the data flow diagram, a modeling notation that depicts how input is transformed into output as data objects move through the system. Each software function that transforms data is described by a process specification or narrative. In addition to data flow, this modeling element also depicts control flow.

Data flow oriented modeling is the most widely used analysis notation. Flow oriented modeling focuses on structured analysis and design, follows a top to down methodology and uses a graphical technique depicting information flows and the transformations that are applied as data moves from input to output.

The modeling tools that are used to build a data flow oriented model include context diagrams, data flow diagrams, entity relationship diagram, control flow diagram, state transition diagram, data dictionary, process specification and control specification.

Steps to create a data flow model
- Diagram 0: develop a context diagram.
- Decompose the Process into high level processes.
- In parallel to this, develop data flow diagrams, entity relationship diagrams and state transition diagrams.
- Define data stores which includes normalization.
- Develop data dictionary.
- Finalize data flow diagrams, entity relationship diagram and state transition diagrams.
- Develop process specifications which includes PDL, decision tables or trees.
- Perform transformational analysis which includes developing structure charts.
Information flow continuity must be maintained as each data flow diagram level is refined. This means that input and output at one level must be the same as input and output at a refined level.


How do we map data flow into a software architecture?

In architectural design, the mapping method uses data flow characteristics to derive a commonly used architectural style. A data flow diagram is mapped into program structure using one of the two mapping approaches:
- Transform Mapping
- Transaction Mapping
Structured design is often characterized as a data flow oriented design method because it provides a convenient transition from a data flow diagram. This type of information flow is the driver for the mapping approach.
Transform Flow: The overall flow of data occurs in a sequential manner and follows one, or only a few straight line paths. When a segment of a data flow diagram exhibits these characteristics, transform flow is present.

Transaction Flow: Information flow which is characterized by single data item called a transaction that triggers other data flow along one of many paths. When a data flow diagram takes this kind of form then transaction flow is present.


TRANSFORM MAPPING


It is a set of design steps that allows a data flow diagram with transform flow characteristics to be mapped into a specific architectural style.
- Review the fundamental system model.
- Review and refine data flow diagrams for the software.
- Determine whether the data flow diagram has transform or transaction flow characteristics.
- Isolate the transform center by specifying incoming and outgoing flow boundaries.
- Perform first level factoring.
- Perform second level factoring.
- Refine the first iteration architecture using design heuristics for improved software quality.

TRANSACTION MAPPING


In transaction mapping, information flow along two of the three action paths accommodates additional incoming flow. Each action path flows into a single transform, display messages and status. The design steps for transaction mapping is similar with a major difference lies in mapping of data flow diagram to software structure.
- Review the fundamental system model.
- Review and refine data flow diagrams for the software.
- Determine whether the data flow diagram has transform or transaction flow characteristics.
- Identify the transaction center and the flow characteristics along each of the action paths.
- Map the data flow diagram in a program structure amenable to transaction processing.
- Factor and refine the transaction structure and the structure of each action path.
- Refine the first iteration architecture using design heuristics for improved software quality.

Once an architecture has been derived, it is elaborated and then analyzed against quality criteria.


Sunday, May 24, 2009

Data Flow Diagram - Some template locations

There are numerous locations on the internet where data flow templates can be found. Here are a few of the sites where you can find and use DFD templates.

Flowcharttools (depiction of what a template should look like) - Click here

Sample of what a Data Flow Diagram looks like (click here)

Sample DFD at docstoc (click here)

Samples at Gene Sarson (click here)

Templates at smartdraw (click here)

Example of DFD at conceptdraw (click here)

Visio and Word templates for DFD (click here)

Flowchart samples at edrawsoft (click here)


Saturday, May 2, 2009

Data Flow Diagram Tools

The Data Flow Diagram (DFD) is an important part of the overall software document architecture. Here are some tools that will help in the generation of Data Flow Diagrams:

SmartDraw (link): Select a template, input your information, and SmartDraw does the rest—aligning everything automatically and applying professional design themes for professional-quality results every time.

Artiso Visual Case (link): Can clearly and effectively document the flow of data through your system and its interaction with elements external to the system. A commercial tool.

Edraw Flowchart (link): Edraw is a rapid and powerful data flow diagram software, novel, small and exquisite, which creates data flow diagrams and business charts with minimum time loss. It includes some data flow diagram examples such as students information data flow diagram, human resources data flow diagram, physical data flow diagrams and functional data flow diagram. A commercial tool.

ConceptDraw PRO Data Flow Diagram (link): ConceptDraw PRO allows you to quickly create data flow diagrams with data storages, external entities, functional transforms, data flows, as well as control transforms and signals. A commercial license.

Edge Diagrammer (link): Create a wide variety of technical, presentation, and design flowcharts efficiently and with the highest quality results. EDGE Diagrammer is all you need for block diagrams, org charts, family trees, Data Flow Diagrams and more. Free extension packs are available to provide support for many different diagramming methodologies. A commercial tool.

IBMS/DFD tool (link): The tool helps the users drawing a standard data flow diagram (a process-oriented model of information systems) for systems analysis and mapping it into a SER model (a data-oriented model of information systems) for database design.

JUDE/Professional (link): JUDE/Professional is the Design and Communication Tool lets you draw UML, ER, Flowchart, CRUD, Data Flow Diagram and Mind Map. It has enriched features, such as input-output and diagram creation guidance. It is suitable for business use, large-sized models, and document creation. A commercial tool.


Wednesday, April 8, 2009

DFD: data flow diagram

Not everybody who has worked in the software development cycle has heard of what a Data Flow Diagram is, or what it does. So, for example, somebody who makes applications such as Windows or Office or PhotoShop may not need to know what a DFD is. However, for a team that is designing an application for a bank or for a shopping application that involves a lot of data, it is essential to map the data flow. Hence, a Data Flow Diagram (DFD) is an essential component for the design of a large number of software applications, and if you don't do the DFD well, then the system may not end up having been designed well, and may end up being less efficient than it was supposed to be.
So, what is a DFD ? A brief definition and description:
DFDs were first used in the software engineering field as a notation for studying systems design issues. A data-flow diagram (DFD) is a graphical representation of the "flow" of data through an information system. DFDs show the flow of data from external entities into the system, showed how the data moved from one process to another, as well as its logical storage. A data-flow diagram can also be used for the visualization of data processing (structured design).
Data flow diagrams can be used to provide a clear representation of any business function. The technique starts with an overall picture of the business and continues by analyzing each of the functional areas of interest. This analysis can be carried out to precisely the level of detail required, leading to a data flow diagram that is strong in illustrating the relationship of processes, data stores and external entities in business information system.
Complicated information systems have lots of data flows which can be presented in a form of a data flow diagram. Without such data flow diagram you just can't visualize all data flows and won't be able to analyze and improve the whole system. Data flow diagrams represent data flows in a clear visual way as arrows between blocks which represent parts and processes of the system. Identifying the existing business processes, using a technique like data flow diagrams, is an essential precursor to business process re-engineering, migration to new technology, or refinement of an existing business process.
Sounds complicated, so the next few posts will detail the steps to making a data flow diagram, what are the benefits for this diagram, and some tools that will help in generating a data flow diagram.


Facebook activity