event partitioning

advertisement
And Franchise Colleges
07 Data flow Diagrams
- Event Partitioning for Large Systems
By MANSHA NAWAZ
Section 07
DFD - Event Partitioning
1
Learning Aims
• Aim
– to be able to use the technique of event
partitioning to model a large system
• Objectives
– to use the event list to generate mini DFDs
– to construct a first cut top level DFD
– to identify and level up related processes
– to level down amalgamated processes
Section 07
DFD - Event Partitioning
2
Lecture Outline
• Method 1: first cut top level DFD
• Method 2: event partitioning
• levelling up
• levelling down
• Method 3: the event list and mini DFDs
• Checking and rechecking for consistency
Section 07
DFD - Event Partitioning
3
Producing DFDs
• Now you should have the basic DFD modeling
skills in place …
• There are a number of methods to produce
your DFD models
• Method 1: First Cut DFD (pass style solution*)
• Method 2: Event Partitioning (merit*)
• Method 3: Mini DFDs (dist*)
* Not a definitive indication of grade
Section 07
DFD - Event Partitioning
4
Method 1: The First Cut DFD
1.
2.
3.
4.
Draft a Context Diagram and Events list
For each event draft the dfd fragment
Combine these fragements for a Top-Level DFD
data stores are used as the means to connect
processes
5. no two processes should connect directly with each
other
6. Identify and add the extra processors form your
consistency checks ie datastores have required read
and writes within the top level DFD
7. on a large system this will produce a DFD with far
too many processes (>7) … time to consider
method 2 or 3
Section 07
DFD - Event Partitioning
5
Method 2: Event Partitioning (levelling)
1. Identify and group related processors on your
first cut top level DFD
2. These are combined as a single process to
produce a first cut top level DFD
3. The original related processors from step 1 are
redrawn under the single process from step 2
to form the lower-level DFD
4. data stores are used as the means to connect
processes
5. no two processes should connect directly with
each other
Section 07
DFD - Event Partitioning
6
Levelling Up
• group together related processes to make one
process
– ‘add member’, ‘delete member’, ‘edit member’
– combined to ‘update member’
• renumber the process
• to reduce complexity you can also combine the
input flows and rename them
• keep consistency and do this also on the
Context Diagram
• this lost detail can be restored later in the data
dictionary
Section 07
DFD - Event Partitioning
7
Levelling Down
• each combined process now needs to be
levelled down (exploded)
• the constituent processes become the
sub-processes (low level processors)
• each of these in turn may need to be
exploded until the required level of detail
Section 07
DFD - Event Partitioning
8
Development : Complex DFD Cont.
– Try and identify major events for entities
– Most systems will require some or all of the following
tasks…..there may be more!
Supplier: Purchase
Customer: Sales
Quote
Quote
Invoice
Order
Product / Pricing
Despatch (EPOS and/or Tracking)
Catalogues
Invoice
Returns
Admin: Product Maintenance
Accounts Maintenance (for suppliers and customers)
Reports
Report Templates
Backup & Restore
Section 07
DFD - Event Partitioning
9
Development : Complex DFD Cont.
– Events and Sub Events …
1 Customer:
1.1 Sales
1.2 Quote
1.3 Order
1.4 Despatch
1.5 Invoice
1.6 Returns
3. Admin:
3.1 Product
Maintenance
3.2 Accounts
Maintenance
3.2.1 Supplier A/C
3.2.2 Customer A/C
3.3 Reports
3.3.1 Reports
3.3.2 Report Templates
2. Supplier:
2.1 Purchase
2.2 Quote
2.3 Invoice
2.4 Product
Section 07
3.4 Backup & Restore
DFD - Event Partitioning
10
Development : Complex DFD Cont.
– Then for major events identify sub-events
(event partitioning)
– Event 1 sales processing
» 1.1 log new customer
» 1.2 amend customer details
» 1.3 customer requests quote
» 1.4 customer generates an order
» 1.5 customer makes payment
» Etc
– Event 2 purchasing
» 2.1 log new supplier details
» 2.2 amend supplier details
» 2.3 supplier makes delivery
» etc
Section 07
DFD - Event Partitioning
11
Development : Complex DFD Cont.
– Some more ways to start event partitioning
systems (see PowerQuotes document online)
•
•
•
•
•
•
•
•
1.
2.
3.
4.
5.
6.
7.
8.
Quoting
Invoicing
Purchase Order
Products
Contacts
EPOS
Tracking
Returns
• 9. Report Designer
Section 07
DFD - Event Partitioning
12
Development : Complex DFD Cont.
– Use modules to generate events and sub-events
Section 07
DFD - Event Partitioning
13
1.
1.
2.
3.
4.
5.
6.
7.
8.
9.
In addition
consider the
ADMIN
functions of the
system
Site Administration
2.
Products
1.
2.
3.
4.
Selecting Types and Categories and Setting Margins
Show Map of Website by Categories
Show Map of Website by Manufacturers
Custom Pricing by Product
Special Offers Page
Customer Administration
1.
2.
5.
Adding a New Customer
Customer Maintenance
Automatic Email Facility
1.
Section 07
Change Product Information
Add a New Product
Product Selection and Pricing
1.
2.
3.
4.
5.
6.
Logging in to Admin
Changing Admin Login and Password
Adding/Changing company logo
Changing Company details
Changing Colour of Website
Changing About Us Page
Changing Terms and Conditions Page
Changing Delivery Page Details
Change Credit Card, Free Delivery and VAT settings
Emailing your Customer database
Reports and Order Tracking
1.
Sales Report with Order Detail
2.
Total Sales Summary by Customer or Date
3.
Product Usage Summary by Customer or Date
DFD - Event Partitioning
14
Development : Complex DFD Cont.
• Find suitable systems currently available
• If there are features you like model them
for your own proposed system
• Search the net for viable systems
• Sales Order Processing System
Section 07
DFD - Event Partitioning
15
Method 3: The Event List & Mini DFDs
• Consider producing a mini DFD model for
each major event. (An ascent file for each)
• Common links between the mini DFD
models will be entities and datastores
• Each mini DFD model should comprise of
– Statement of Purpose (SoP)
– Context Diagram (CD)
– Top-Level DFD (TL-DFD)
– Low-Level DFD (LL-DFD)
Section 07
DFD - Event Partitioning
16
Method 3 Cont.
• Also consider developing generic mini DFD models which can be
combined to formulate a full systems DFD.
• E-commerce systems will typically require the following Mini DFD
models…
»
»
»
»
LOGIN
SHOPPING BASKET
PRODUCT SEARCH
Etc
• Provided on the next slides are the Context Diagrams and Top-Level
DFDs for each of the above.
• Note you need to provide for each major event the following:
–
–
–
–
Statement of Purpose (SoP)
Context Diagram (CD)
Top-Level DFD (TL-DFD)
Low-Level DFD (LL-DFD) - only for complex TL-DFD
Section 07
DFD - Event Partitioning
17
Context Diagram : LOGIN (generic)
Section 07
DFD - Event Partitioning
18
Top-Level DFD : LOGIN (generic)
Section 07
DFD - Event Partitioning
19
Context Diagram : SHOPPING BASKET (generic)
Section 07
DFD - Event Partitioning
20
Top-Level DFD : SHOPPING
Section 07
BASKET (generic)
DFD - Event Partitioning
21
Context Diagram : PRODUCT SEARCH (generic)
Section 07
DFD - Event Partitioning
22
Top-Level DFD : PRODUCT SEARCH (generic)
Section 07
DFD - Event Partitioning
23
Development : DFDs
– Now you have the awareness of complex
systems DFD modelling
– To begin with consider developing a system
model using DFD’s – there are other methods
– Start with method 1 – first cut DFD
– This will give you an understanding of the
system
Section 07
DFD - Event Partitioning
24
Development : Complex DFD
– Typically for a PASS style solution you will
need to provide…
•
•
•
•
Section 07
Statement of Purpose (SoP)
Context Diagram (CD)
Top-Level DFD (TL-DFD)
Low-Level DFD (LL-DFD) - only for the complex TL
processors
DFD - Event Partitioning
25
Development : Complex DFD
– Typically for a MERIT/DIST style DFD model
you will need to provide a solution which
encompasses all major events and sub-events.
– Either consider methods 2 – Event Partitioning
• Try and identify major events and sub-events (event
partitioning)
• The aim of event partitioning will result in a more
balanced top-level DFD.
– Or consider method 3 - Mini DFDs
• for each major event produce a mini DFD will result
in a professionally documented model.
Section 07
DFD - Event Partitioning
26
Development : Complex DFD
– Mini DFDs for each major event will produce
well balanced model to document.
– For each major event …
•
•
•
•
Section 07
Statement of Purpose (SoP)
Context Diagram (CD)
Top-Level DFD (TL-DFD)
Low-Level DFD (LL-DFD) - only for the complex TL
processors
DFD - Event Partitioning
27
Checking and rechecking
•
•
•
•
•
•
•
•
complete, included all events?
include reads and writes to all datastores?
handle abnormal/error situations?
complete, included all major processors?
consistency between CD/TL/LL DFD?
level up and level down?
consistent parent-child?
validate with Req List?
• KEEP IT SIMPLE – PEOPLE NEED TO UNDERSTAND WHAT IS
REQUIRED FROM THE SYSTEM
Section 07
DFD - Event Partitioning
28
Document : Analysis Specification
– Terms Of Reference
•
•
•
•
lecture 02
Statement of Purpose
Requirements
Functions
Constraints
– Context Diagram & Events List
lecture 03
– Top-Level Data Flow Diagram
lecture 04 lecture 05
– Low-Level Data Flow Diagrams
lecture 06 lecture 07
Section 07
DFD - Event Partitioning
29
Document : Context Diagram
–Context Diagram (CD-DFD)
• Context Diagram description
• Context Diagram
Section 07
DFD - Event Partitioning
30
Document : Top-Level DFD
– Top-Level Data Flow Diagram (TL-DFD)
• Top-Level DFD description
• Top-Level DFD Diagram
Section 07
DFD - Event Partitioning
31
Document : Low-Level DFD
– Low-Level Data Flow Diagrams
lecture 06 lecture 07
For each Top-Level process provide a
• Low-Level DFD Support Text
• Low-Level DFD complex*
• Low-Level DFD simple**
* Low Level DFD’s which has been developed
** Low Level DFD’s which have not been developed still retain their
DFD fragment view
Section 07
DFD - Event Partitioning
32
Summary & Self Study
•
•
•
•
•
•
Summary
generate events
event = mini DFD
combine mini DFDs
group related
processes
explode processes
check throughout
Section 07
Self Study
• review the lecture
• complete 7a from the
course workbook
• can you achieve the
objectives set out in
slide 2?
DFD - Event Partitioning
33
Further Reading
There are many ways to develop a proposed computer system model
… see what you can utilise from the following guides
Guide to documenting DFDs using Toy Sales Order Example
Toy Sales Ordering System
Guide to modelling multilayered systems
DFD Review 1
Guide to modelling basic systems
DFD Review 2
Common Functions, Features, Events and Sub-Events
SOP
Common Functions, Features, Events and Sub-Events from
PowerQuotes Case Study
powerquote
Sample DFD Models
Ascent Solutions
• http://outranet.scm.tees.ac.uk/users/u0018257/SDV/SDevWk11.doc
Section 07
DFD - Event Partitioning
34
Download