Professional Documents
Culture Documents
18-Nov-17
Functional delivery
Deliver to the client a
system that meets
most of their needs
Usable
Stable
18-Nov-17
18-Nov-17
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
18-Nov-17
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
18-Nov-17
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
Principles and Practices of Other Techniques
Agile Modeling (AM) (e.g. Database refactoring)
18-Nov-17
What Are Agile Models?
Agile models:
Fulfill their purpose Just Barely
Good Enough
18-Nov-17
The Core of AM
You Need to Adopt at Least the Core
Core Principles Core Practices
Assume Simplicity Active Stakeholder Participation
Embrace Change Apply the Right Artifact(s)
Enabling the Next Effort is Your Collective Ownership
Secondary Goal Create Several Models in
Incremental Change Parallel
Model With a Purpose Create Simple Content
Multiple Models Depict Models Simply
Maximize Stakeholder Display Models Publicly
Investment Iterate to Another Artifact
Quality Work
Model in Small Increments
Rapid Feedback
Model With Others
Software Is Your Primary Goal
Prove it With Code
Travel Light
Single Source Information
Use the Simplest Tools
18-Nov-17
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
18-Nov-17
Agile Models
www.agilemodeling.com/artifacts/
Usage Modeling
- Acceptance Tests
User Interface Development
- Essential Use Cases
- Features
- Essential User Interface Prototype
- System Use Cases
- User Interface Flow Diagram
- Usage scenario
- User Interface Prototype
- User Stories
- UML Use Case Diagram
Supplementary Requirements
Detailed Structural Modeling Modeling
- External Interface (EI) Specification - Business Rules
- Physical Data Model (PDM) - Conceptual Cases
- UML Class Diagram - Constraints
- UML Object Diagram - Glossary
- Technical Requirements
18-Nov-17
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
18-Nov-17
Data Flow Diagrams
18-Nov-17
Business Process
mapping - XSOL
18-Nov-17
Process Modeling
18-Nov-17
Figure 2-2
A General Depiction of a System
18-Nov-17
Figure 2-4
A Fast Food Restaurant as a System
18-Nov-17
Figure 2-7
A Fast Food Restaurants Customer Order Information System Depicted in a Data Flow
Diagram
18-Nov-17
Process Modeling
Graphically Represents
Functions or
Processes
Which
Capture
Manipulate
Store
18-Nov-17
Deliverables
Set of data flow diagrams showing:
Scope of system
Existing system modeled
18-Nov-17
Key Definitions
Logical process models describe
processes without suggesting how they
are conducted
Physical models include information about
how the processes are implemented
18-Nov-17
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 system
5. Description of each DFD component
Data repository
18-Nov-17
Data Flow Diagram Symbols
18-Nov-17
Process
Verify
18-Nov-17
Data store
Data at rest, which may take the form of
many different physical representations
Eg,
Database
Files
Folder
18-Nov-17
Source/sink
The origin and/or destination of data,
sometimes referred to as external entities
Eg,
Clients
Employees
Bank
Inland Revenue
18-Nov-17
Data flow
Data in motion, moving from one place in the
system to another
Eg,
Invoice
Receipt
Enrolment form
18-Nov-17
Concepts
Data movement
Coupling
Timing of data flow
18-Nov-17
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
18-Nov-17
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
18-Nov-17
Figure 8-4
Context Diagram of Hoosier Burgers Food Ordering System
18-Nov-17
Figure 8-5
Level-0 DFD of Hoosier Burgers Food Ordering System
18-Nov-17
18-Nov-17
Decomposition of DFDs
Functional Decomposition
iterativeprocess 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
18-Nov-17
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
18-Nov-17
Figure 8-7
Level-1 Diagram Showing Decomposition of Process 1.0 from the Level-0 Diagram
18-Nov-17
Figure 8-5
Level-0 DFD of Hoosier Burgers Food Ordering System
18-Nov-17
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
18-Nov-17
Figure 8-8
Level-1 Diagram Showing the Decomposition of Process 4.0 from the Level-0
Diagram
18-Nov-17
Figure 8-9
Level-2 Diagram Showing the Decomposition of Process 4.3 from the Level-1 Diagram
for Process 4.0
18-Nov-17
Your Turn
At this point in the process it is easy to lose track
of the big picture.
18-Nov-17
Creating Data Flow
Diagrams
Data flow diagram components
Data Store
Process
Source/Sink
Data flow
18-Nov-17
Process
Verify
18-Nov-17
Data store
Data at rest, which may take the form of
many different physical representations
Eg,
Database
Files
Folder
18-Nov-17
Source/sink
The origin and/or destination of data,
sometimes referred to as external entities
Eg,
Clients
Employees
Bank
Inland Revenue
18-Nov-17
Data flow
Data in motion, moving from one place in the
system to another
Eg,
Invoice
Receipt
Enrolment form
18-Nov-17
Concepts
Data movement
Coupling
Timing of data flow
18-Nov-17
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
18-Nov-17
Context Diagram
Overview of the system showing:
System Boundaries
External Entities that interact with the
system
Major information flows between Entities
and System
18-Nov-17
Figure 2-2
A General Depiction of a System
18-Nov-17
18-Nov-17
Next step
What processes are represented by the
single process in the context diagram?
18-Nov-17
Level - 0 diagram
18-Nov-17
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
18-Nov-17
Figure 8-5
Level-0 DFD of Hoosier Burgers Food Ordering System
18-Nov-17
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 dont need lower
level
More than seven processes become overly
complex and difficult to read
18-Nov-17
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
18-Nov-17
Balancing DFDs
18-Nov-17
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
18-Nov-17
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
18-Nov-17
Summary
Requirements Structuring
Process modelling
Data flow diagrams
Deliverables
Three sets of DFDs
current physical, current logical, new logical
18-Nov-17