Dr. Stephania Loizidou HimonaDr. Stephania Loizidou Himona 11
ACSC 155 ACSC 155 System Analysis and DesignSystem Analysis and Design
3. Process Modelling3. Process Modelling
Dr. Stephania Loizidou HimonaDr. Stephania Loizidou Himona 22
Process ModellingProcess Modelling
A technique used to organize and document A technique used to organize and document the system’s processesthe system’s processes
Decomposition Diagram Decomposition Diagram Data Flow Diagrams (DFDs)Data Flow Diagrams (DFDs)
Dr. Stephania Loizidou HimonaDr. Stephania Loizidou Himona 33
Decomposition DiagramDecomposition Diagram
A tool used to depict the breaking of a A tool used to depict the breaking of a system into subcomponents.system into subcomponents.
A technique that helps the analyst visualize A technique that helps the analyst visualize and define hierarchies of objects (a and define hierarchies of objects (a hierarchical tree structure). The "thing" hierarchical tree structure). The "thing" represented by the parent object in the represented by the parent object in the diagram is composed of the "things" diagram is composed of the "things" represented by the child objects.represented by the child objects.
Dr. Stephania Loizidou HimonaDr. Stephania Loizidou Himona 44
Decomposition diagrams can be used to Decomposition diagrams can be used to show hierarchies of processes, functions, show hierarchies of processes, functions, requirements, goals, entities, organizations, requirements, goals, entities, organizations, problems, families or virtually anything else. problems, families or virtually anything else.
They are a very powerful and general tool They are a very powerful and general tool that allows us to partition large, complex that allows us to partition large, complex groups of things into smaller, more groups of things into smaller, more manageable groups of things. manageable groups of things.
Dr. Stephania Loizidou HimonaDr. Stephania Loizidou Himona 55
The first thing you need to create a The first thing you need to create a decomposition diagram is a decomposition diagram is a rootroot. . The root generally represents a complex The root generally represents a complex abstraction of some kind. abstraction of some kind. Then, that root is decomposed into one or Then, that root is decomposed into one or more more childrenchildren. The children, when taken as . The children, when taken as a whole, make up the entire root. a whole, make up the entire root. Each child is then decomposed into its Each child is then decomposed into its children. children. The process continues until the diagram The process continues until the diagram shows the desired level of detail.shows the desired level of detail.
Dr. Stephania Loizidou HimonaDr. Stephania Loizidou Himona 66
Dr. Stephania Loizidou HimonaDr. Stephania Loizidou Himona 77
Another exampleAnother example
Dr. Stephania Loizidou HimonaDr. Stephania Loizidou Himona 88
Data Flow Diagrams (DFDs)Data Flow Diagrams (DFDs)
DFDs show how data flows around an DFDs show how data flows around an information system.information system.
They are a simple and powerful graphic They are a simple and powerful graphic technique which is both easily updated and technique which is both easily updated and easily understood by users.easily understood by users.
One of the main diagrammatic techniques of One of the main diagrammatic techniques of SSADM (Structured System Analysis and SSADM (Structured System Analysis and Design Methodology).Design Methodology).
Dr. Stephania Loizidou HimonaDr. Stephania Loizidou Himona 99
DFDsDFDs
A hierarchical set of diagrams which is used A hierarchical set of diagrams which is used to define:to define:
- - the boundary of the system to be developedthe boundary of the system to be developed
- the information flow to and from the system- the information flow to and from the system
- data flows within the system- data flows within the system
- the functions used by the system- the functions used by the system
Dr. Stephania Loizidou HimonaDr. Stephania Loizidou Himona 1010
DFDs consists of the following DFDs consists of the following symbolssymbols
ProcessProcessShows a transformation of data, also referred Shows a transformation of data, also referred
to as a functionto as a function
nn is the number of the process, indicates the is the number of the process, indicates the level of the processlevel of the process
PNPN is the process name is the process name
n
PN
Dr. Stephania Loizidou HimonaDr. Stephania Loizidou Himona 1111
Data FlowData Flow
Data flow/Physical flow of dataData flow/Physical flow of data
External EntityExternal Entity
Source and/or destination of data (person, Source and/or destination of data (person, organisation unit, system or another organisation unit, system or another organisation interacting with the system). organisation interacting with the system).
DFName
EN
Dr. Stephania Loizidou HimonaDr. Stephania Loizidou Himona 1212
Data StoreData Store
Storage of dataStorage of data
DSn – Data Store numberDSn – Data Store number
DSName – Data Store nameDSName – Data Store name
Plus, some additional symbols that show Plus, some additional symbols that show optionality and repetitions of various optionality and repetitions of various symbolssymbols
DSn DSName
Dr. Stephania Loizidou HimonaDr. Stephania Loizidou Himona 1313
RulesRulesP. – processP. – process
D.S. – Data StoreD.S. – Data Store
E.E. – External EntityE.E. – External Entity
Plus, additionally, each data store must have at least Plus, additionally, each data store must have at least one input flow and one output flow (read and one input flow and one output flow (read and write)write)
Dr. Stephania Loizidou HimonaDr. Stephania Loizidou Himona 1414
How is DFD developed?How is DFD developed?
Identify inputs & outputsIdentify inputs & outputs Label all data flows Label all data flows Label all processes Label all processes Identify data storesIdentify data stores Label all External EntitiesLabel all External Entities Start again (be prepared)Start again (be prepared)
Dr. Stephania Loizidou HimonaDr. Stephania Loizidou Himona 1515
Data Flows betweenData Flows between
External entity and Process External entity and Process Data Store and Process Data Store and Process Process and ProcessProcess and Process
Note: Information (Data) held for any amount Note: Information (Data) held for any amount of time between processes is called a of time between processes is called a DataStore. DataStore.
Dr. Stephania Loizidou HimonaDr. Stephania Loizidou Himona 1616
ExampleExample DFD Level 0 (Context Diagram)DFD Level 0 (Context Diagram)
0
FIT DVD CLUB
SYSTEM
MEMBER
SUPPLIER
ACCOUNTING DEPARTMENT
Incomes Report
Application Form
New movies Info
Request for new movies
Request for movie availability and info
Results from customer inquiries
Member card
Account Statement
Payment
Rental info & receipt
Request for income reportLetter for overdue movies
and late return fees
Dr. Stephania Loizidou HimonaDr. Stephania Loizidou Himona 1717
Level 1 DFD Level 1 DFD (General Case)(General Case)
Dr. Stephania Loizidou HimonaDr. Stephania Loizidou Himona 1818
Data Flow Diagrams – Numbering RulesData Flow Diagrams – Numbering Rules
Dr. Stephania Loizidou HimonaDr. Stephania Loizidou Himona 1919
Level 1 DFD Level 1 DFD (example part)(example part)
Dr. Stephania Loizidou HimonaDr. Stephania Loizidou Himona 2020
Level 2 DFDLevel 2 DFD
Each Process box in the Top Level Each Process box in the Top Level diagram diagram will itself be made up of a number will itself be made up of a number of processes, and will need to be of processes, and will need to be decomposed as a second level diagram. decomposed as a second level diagram.
Basically, one for each process.Basically, one for each process.
Dr. Stephania Loizidou HimonaDr. Stephania Loizidou Himona 2121
Level 2 DFD Level 2 DFD (Example – (Example –
Decomposition of Process 1)Decomposition of Process 1)
Dr. Stephania Loizidou HimonaDr. Stephania Loizidou Himona 2222
Each box in a diagram has an identification Each box in a diagram has an identification numbernumber derived from the parent - in the top left derived from the parent - in the top left corner. corner. (The Context level is seen as box 0).(The Context level is seen as box 0).
Any box in the second level decompositionAny box in the second level decomposition may be decomposed to a third and then a fourth may be decomposed to a third and then a fourth level. level. (Very complex systems may possibly require decomposition of (Very complex systems may possibly require decomposition of
some boxes to further levels).some boxes to further levels). Decomposition stopsDecomposition stops whenwhen a process box can a process box can
be described with an be described with an Elementary Process Elementary Process DescriptionDescription using ordinary English. using ordinary English. (Later on the process (Later on the process will be described more formally as a Function Description using, for will be described more formally as a Function Description using, for example, pseudo code).example, pseudo code).
Dr. Stephania Loizidou HimonaDr. Stephania Loizidou Himona 2323
SummarySummary
A DFD is also known as a Process Model.A DFD is also known as a Process Model. Process Modelling is an analysis technique Process Modelling is an analysis technique
used to capture the flow of inputs through a used to capture the flow of inputs through a system (or group of processes) to their system (or group of processes) to their resulting output).resulting output).
The model is fairly simple in that there are The model is fairly simple in that there are only four types of symbols – process, only four types of symbols – process, dataflow, external entity and datastore.dataflow, external entity and datastore.
Dr. Stephania Loizidou HimonaDr. Stephania Loizidou Himona 2424
Process Modelling is used to visually Process Modelling is used to visually represent what a system is doing. It is much represent what a system is doing. It is much easier to look at a picture and understand easier to look at a picture and understand the essence than to read through verbiage the essence than to read through verbiage describing the activities. describing the activities.
System Analysts after talking with various System Analysts after talking with various users will create DFD diagrams and then users will create DFD diagrams and then show them to users to verify that their show them to users to verify that their understanding is correct.understanding is correct.
The process models can be created to The process models can be created to represent an existing system as well as a represent an existing system as well as a proposed system.proposed system.
Dr. Stephania Loizidou HimonaDr. Stephania Loizidou Himona 2525
Process – an activity or a function that is Process – an activity or a function that is performed for some specific reason; can be performed for some specific reason; can be manual or computerised; ultimately each manual or computerised; ultimately each process should perform only one activityprocess should perform only one activity
Data Flow – single piece of data or logical Data Flow – single piece of data or logical collection of information like a billcollection of information like a bill
Data Store – collection of data that is Data Store – collection of data that is permanently storedpermanently stored
External Entity – a person, organisation, or External Entity – a person, organisation, or system that is external to the system but system that is external to the system but interacts with itinteracts with it
Dr. Stephania Loizidou HimonaDr. Stephania Loizidou Himona 2626
Be aware of the basic rules for Process Be aware of the basic rules for Process Modelling:Modelling:- A series of data flows always starts or ends at an - A series of data flows always starts or ends at an external agent and starts or ends at a data store. external agent and starts or ends at a data store. Conversely, this means that a series of data flows Conversely, this means that a series of data flows cannot start or end at a processcannot start or end at a process- A process must have both data inflows and - A process must have both data inflows and outflowsoutflows- All data flow must be labelled with the precise - All data flow must be labelled with the precise data that is being exchangeddata that is being exchanged- Process names should start with a verb and end - Process names should start with a verb and end with a nounwith a noun- Data flows are named with descriptive nouns- Data flows are named with descriptive nouns
Dr. Stephania Loizidou HimonaDr. Stephania Loizidou Himona 2727
Rules - continuedRules - continued
- A data store must have at least one data inflow- A data store must have at least one data inflow- A data store cannot go between an external - A data store cannot go between an external agent and a data store, but a process must be in agent and a data store, but a process must be in betweenbetween- A data flow cannot go between two external - A data flow cannot go between two external entities, but a process must be in betweenentities, but a process must be in between- A data flow cannot go between two data stores, - A data flow cannot go between two data stores, but a process must be in betweenbut a process must be in between- External agents and data flows can be repeated - External agents and data flows can be repeated on a process model in order to avoid lines crossing on a process model in order to avoid lines crossing but do not repeat processes but do not repeat processes