6
System Modeling
Lab 6: System Modeling
Objective:
Deeper understanding of System modeling:
Functional model: data flow diagram (DFD).
1. Outline
System analysis model element for flow oriented aspect:
Functional model: data flow diagram (DFD)
2. Background
Modeling consists of building an abstraction of reality. These abstractions are
simplifications because they ignore irrelevant details and they only represent the
relevant details (what is relevant or irrelevant depends on the purpose of the model).
2.1 Why Model Software?
Software is getting larger, not smaller; for example, Windows XP has more than 40
million lines of code. A single programmer cannot manage this amount of code in its
entirety. Code is often not directly understandable by developers who did not
participate in the development; thus, we need simpler representations for complex
systems (modeling is a mean for dealing with complexity).
A wide variety of models have been in use within various engineering disciplines for
a long time. In software engineering a number of modeling methods are also
available.
2.2 Analysis Model Objectives
To describe what the customer requires.
To establish a basis for the creation of a software design.
To define a set of requirements that can be validated once the software is built.
2.3 Data Flow Diagram
A data flow data diagram is one means of representing the functional model of a
software product. DFDs do not represent program logic like flowcharts do.
Data flow diagram notation:
External entity
Process
Data flow
Data store
To create a DFD you need to:
Determine external entities (producers and consumers of data).
Create a level 0 DFD “Context Diagram” (one single process).
Balance the flow to maintain data flow continuity.
Develop a level 1 DFD “Overview Diagram” with high level functions;
Develop level 2 DFD for major or complex functions at level 1 individually.
Continue the development at more details level if needed.
Data Flow Diagram Guidelines:
All icons must be labeled with meaningful names.
Always show external entities at level 0 and level 1.
Always label data flow arrows.
Do not represent procedural logic.
Each bubble is refined until it does just one thing.
3. CASE Tools
You can use MS word or Rational Rose suite to create your DFD.
4. Exercises
Create a DFD for your project: all types of DFD
5. Deliverables
DFD for your project.