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