670 likes | 847 Views
Data Flow Diagrams. SE205 Software Engineering. Iteration 2: Functional delivery in context. Functional delivery. Deliver to the client a system that meets most of their needs Usable Stable. Requirements determination.
E N D
Data Flow Diagrams SE205 Software Engineering
Functional delivery • Deliver to the client a system that meets most of their needs • Usable • Stable
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
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
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
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!
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 The Core of AMYou Need to Adopt at Least the Core
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
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
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
Figure 2-7A Fast Food Restaurant’s Customer Order Information System Depicted in a Data Flow Diagram
Process Modeling • Graphically Represents • Functions or • Processes • Which • Capture • Manipulate • Store • Distribute data between a system, its environment and its components
Deliverables Set of data flow diagrams showing: • Scope of system • Existing system modeled • New system modeled
Key Definitions • Logical process models describe processes without suggesting how they are conducted • Physical models include information about how the processes are implemented
Deliverables - ideal • Context data flow diagram [DFD] • Shows system scope • DFD/s of current physical system • Specifies people and technologies used • DFD/s of current logical system • Show data processing functions • DFD/s of new logical system • Description of each DFD component • Data repository
Process • The work or actions performed on data so that they are transformed, stored or distributed • Verb phrase name, eg, • Update • Calculate • Verify
Data store • Data at rest, which may take the form of many different physical representationsEg, • Database • Files • Folder
Source/sink • The origin and/or destination of data, sometimes referred to as external entities • Eg, • Clients • Employees • Bank • Inland Revenue
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.
Concepts • Data movement • Coupling • Timing of data flow DFD hides some Physical Characteristics • Frequency • Volume of Data
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
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 Context Diagram
Figure 8-4Context Diagram of Hoosier Burger’s Food Ordering System • One process only • Single process (0) represents entire system
Shows all the processes that comprise the overall system Shows how information moves from and to each process Adds data stores Level 0 Diagram
Figure 8-5Level-0 DFD of Hoosier Burger’s Food Ordering System
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
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 Level 1 Diagrams
Figure 8-7Level-1 Diagram Showing Decomposition of Process 1.0 from the Level-0 Diagram
Figure 8-5Level-0 DFD of Hoosier Burger’s Food Ordering System
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 Level 2 Diagrams
Figure 8-8Level-1 Diagram Showing the Decomposition of Process 4.0 from the Level-0 Diagram
Figure 8-9Level-2 Diagram Showing the Decomposition of Process 4.3 from the Level-1 Diagram for Process 4.0
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?
Data flow diagram components • Data Store • Process • Source/Sink • Data flow
Process • The work or actions performed on data so that they are transformed, stored or distributed • Verb phrase name, eg, • Update • Calculate • Verify
Data store • Data at rest, which may take the form of many different physical representationsEg, • Database • Files • Folder
Source/sink • The origin and/or destination of data, sometimes referred to as external entities • Eg, • Clients • Employees • Bank • Inland Revenue
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.