Upload
griffin-arnold
View
314
Download
7
Tags:
Embed Size (px)
Citation preview
Structuring system requirements:
process modeling
Chapter 8
Three views for structuring data requirements
• Process view: – the sequence of data movement and handling operations within
the system (chapter 8) process modelling
• Logic and timing view: – the rules by which data are transformed and manipulated and an
indication of what triggers data transformation (chapter 9 & 12) Logic modelling
• Data view: – the inherent structure of data independent of how or where it is
processed (chapter 10) Data modelling
Key Definitions
• A process model is a formal way of representing how a business operates
• Data flow diagramming shows business processes and the data that flows between them
• Logical process models describe processes without suggesting how they are conducted
• Physical models include information about how the processes are implemented
Objectives
• Understand the logical of processes modeling through studying examples such as data flow diagrams (DFD)
• Learn basic mechanisms of drawing and revising data flow diagram (DFD)
• Use flow diagrams as tools to support the analysis of information
Modelling for three main reasons
1. Facilitate understanding a system
2. Process modelling involves graphical representation of function and processes which capture, manipulate, store and distribute data between a system and its environment, and between component within a system
3. It supports communication with a systems analysts, end-users, and other roles
Reading a DFD
DFD Elements
DFD Shapes from Visio
From Flow Chart /Data Flow Diagram
Process
Data Store
External Entity
From Softw are Diagram /Gane-Sarson DFD
Process
ID #
ID#
ExternalEntity
Data Store1
External Entity
Data Store
Process
From Flow Chart /Data Flow Diagram
Visio 5.x Visio 2000
DFD – Practical Example
Launched Dec. 11, 1998, the Climate Orbiter plunged too steeply into the Martian atmosphere Sept. 23, 1999, and either burned up or crashed. In an initial failure report released Oct. 15, 2000 the review board blamed the navigation error on a communications foul-up between NASA's Jet Propulsion Laboratory and prime contractor Lockheed Martin.
Collect,analyze,
generate flightcontrol data
JPL-1
J1 JPL store
Convert datafrom Metric to
English
?
LM1 LM store
Controlspaceflight
LM-1
English data
Transfer of Flight Control DataThis processwas missing
Metric data
Transfer data
?
Who wasresponsible
for this task?
Data Flow Diagram (DFD)
• DFD is one of several notations that are called structured analysis technique
• It is a graphical tool that allows analyst-users to depict the flow of data in an IS
• It concentrates on the movement of data between processes
• DFD evolves four symbols for process modelling– Data flows
– Data stores
– Process
– Source / sink
Data flows– They are groups of data that move and flow through a system
from one place to another.
– Include names of all individual elements of data moving
– Data flow is represented by “arrow”• E.g. results of grading mark
Current score
Final score
Final grades
Data stores
– They refer to data at rest that may represent one or many physical locations.
– Each data store has a label and number (number of files location)
– Data store is represented by a rectangle • E.g. data about students (paper-based or floppy disk)
Class/ grad file
D1
Processes
– They are the action performed on data so that they are transformed (manual or automatic), stored or distributed
• E.g. calculate class mark
– Each process includes a name & process number
– It is represented by rectangle with rounded corners
CalculateClass Grad
1.0
Sources / sinks
– They are the origin (sources) and/or destinations (sink) of the data, i.e. that supplies or receive data
– They refer to external entities (or outside) to a system; boundaries of the system; boundaries
– Each source/ sink has a name that states what the external agent is, e.g. students
– A source (sink) is represented by square
Teacher
Example of Data Flow Diagram
Process
Source / sink
Data stores (files)
Data flow
Current grade
Final grades
Test scores
Current score
Final score Final grades
Student
CalculateClass Grad
CalculateUniversity Grad
Class/ grad file
Studentfiles
1.0 2.0
D1D2
Register’soffice
Teacher
Save Open Save Open
Items not considered in DFD
– Interaction between source (sink)
– Actions of source (sink) are black box
– How to redesign or control the source (sink)
– How to provide source (sink) direct access to data,
Clarification of the concept source (sink)
– Any organisation unit or other organisation which send or receive data (information) from the system you are analysing (e.g. supplier)
– A person inside or outside the business supported by the system (e.g. customer)
– Another system with which the system, you are analysing, exchanges data (information)
Context diagram of DFDFinal grades
Test scores
Current scoreFinal score
Final grades
Student
Grading system
Register’soffice
Teacher
Context diagram is an overview of an organisational system that show the system boundaries, external entities that interact with the system, and the major information flows between the entities and the system
Level-0 diagram• DFD could have many levels diagrams: level-0, level-1, etc.
• Level-0 diagram is a data flow diagram that represents a system’s major processes, data flows, and data stores at a high level of detail.
• Level-n A DFD that is the result of n nested decomposition of a series of sub processes from a process on a level 0 diagram
– Example of level-0 diagram
Current grade
Final grades
Test scores
Current score
Final score Final grades
Student
CalculateClass Grad
CalculateUniversity Grad
Class/ grad file
Studentfiles
1.0 2.0
D1D2
Register’soffice
Teacher
Save Open Save Open
Context diagram of MacDonald food ordering system
Customer Kitchen
Restaurant manager
Customer order
Receipt Food order
Management report
Food ordering system
0
Level-0 diagram
• Exercise in the classroom– Generate the level-0 diagram by detailing the main process
– Food ordering system (process 0) could be split into three sub processes • Receive and transform customer food order
• Update good sold file
• Update inventory file
• Produce management report
Rules of DFD / decomposition of process 4.0
• Functional decomposition is an iterative processes of breaking the description of a system down into finer and finer details which creates a set of charts in which one process in a given chart is explained in greater details on another chart
Produce management
report
4.0
Daily inventory amount
Daily Good sold amounts
Management report
Access good sold & inventory
data
4.1Inventory
dataDaily
Goods Sold
amounts
Prepare management
report
4.3
Aggregate good sold &
inventory data
4.2
Good sold data
Aggregate data
Management report
Daily inventory amount
Rules of DFD / balancing
• Balancing is the conservation of inputs and outputs to a DFD process when that process is decomposed to lower levels
Which of the two diagrams is balanced or unbalanced?
Produce report
4.0
Daily inventory amount
Daily Good sold amounts
Management report
Access data
4.1Inventory
dataDaily
Goods Sold
amounts
Prepare report
4.3
Aggregate data
4.2
Good sold data
Aggregate data
Management report
Produce report
4.0
Daily inventory amount
Daily Good sold amounts
Management report
Access data
4.1Inventory
dataDailyGoods
Soldamounts
Prepare report4.3
Aggregate data
4.2
Good sold data
Aggregate data
Management report
Daily inventory amount
A
B
A DFD Fragment Example
A Second DFD Fragment Example
Four types of DFD used in system development
• Current physical– Processes label include the name of people and technology used to process
data– Data flow and data store include the name of actual physical media in which
data flow or in which data are stored (file location, PCs, etc.)
• Current logical– Physical model is reduced to only essential part, i.e. reduced to data &
processes that transform them (what and how)
• New logical– Models is the same as current logical model if users were happy about
current functionality of the system (there were errors during implementation)– Others, new logical models include new functions according to users’ wishes
• New physical– Reflect decisions about which functions to automate or to leave manually
Output/deliverable of process modeling
ProcessModeling
InputInformation gathered from: interview, questionnaire, JAD sessions, etc.
Output (DFDs)Context Data Flow Diagram
DFD of current physical system
DFD of current Logical system (technology impendent)
DFD of new logical system
Description of each DFD components
Using DFD in the analysis process & guideline
• Correctness
• Completeness
• Inconsistency
• Timing
• Primitive DFD
Correctness and Completeness
• Correctness: it refers to drawing a correct DFD (see rules e.g. balancing, functional decomposition)
• Completeness: it refers to whether you have included in your DFDs all the components necessary for the system you are modeling.– Examples of completeness
• There are entities that are not connected to any thing else
• There is a process with only input and without output
Example of completeness: where is the error?
Update inventory file
Update good sold file
Produce management
report
Customer Kitchen
Good sold file Inventory file
Receive & transform customer food order
1.0
2.0 3.0
4.0
Good sold
Inventory sold
Format data
Format data
Daily good sold amount
Daily inventory amount
Consistency
• Consistency: it refers to whether or not the depiction of the system shown in at one level of a nested set of DFD is compatible with the depiction of the system shown in at other level
– Example of inconsistencies• Existing of a level-1 diagram with no high level -0 diagram
• Existing of a data flow at level-0 diagram but not at level-1 diagram
Example of inconsistencies: where is the error? (already seen)
Produce report
4.0
Daily inventory amount
Daily Good sold amounts
Management report
Level-0 diagram
Aggregate data
Access data
4.1Inventory
dataDaily
Goods Sold
amounts
Prepare report
4.3
Aggregate data
4.2
Good sold data
Management report
Level-1 diagram
Daily inventory amount
Other guidelines
• DFD does not show timing, draw diagrams as if the system has never started and will never stop
• Iterative development: DFD recognize that system requirement determination & structuring are interacting
• Primitive DFD: it refers to the lowest level of DFD decomposition. When does a DFD decomposing stop?
• Very important idea: there is no good or bad modelling!!!• Drawing DFD is facilitated by CASE upper tools (generating processes and
diagrams)• DFD can be used as an analysing tool to check correctness, inconsistencies and
completeness• DFD can be used as a tool to support Business Process Re-engineering (BPR)
– Example of CASE tool, developed in SIMNET, used to generate processes (different from DFD)
– It consists to generate processes manually and the system converts the process into a coding system
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
Relationship Among DFD levels
Decomposition Diagram
Level 0 Diagram
• Shows all the processes that comprise the overall system
• Shows how information moves from and to each process
• Adds data stores
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
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
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
Alternative Data Flows
• Where a process can produce different data given different conditions
• We show both data flows and use the process description to explain why they are alternatives
• Tip -- alternative data flows often accompany processes with IF statements
Your Turn
• At this point in the process it is easy to lose track of the “big picture”. • Describe the difference between data flows, data stores, and processes.
• Describe in your own words the relationship between the DFD and the ultimate new application being developed.