SlideShare a Scribd company logo
1 of 64
Chapter 9




                      Process Modeling



McGraw-Hill/Irwin    Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved.
Objectives
•   Define systems modeling and differentiate logical and physical
    models.
•   Define process modeling and explain its benefits.
•   Recognize and understand basic concepts and constructs of a
    process model.
•   Read and interpret a data flow diagram.
•   Explain when to construct process models and where to store
    them.
•   Construct a context diagram to illustrate a system’s interfaces with
    its environment.
•   Identify use cases, external and temporal business events.
•   Perform event partitioning and organize events in a functional
    decomposition diagram.
•   Draw event diagrams and merge them into a system diagram.
•   Draw primitive data flow diagrams and describe the elementary
    data flows in terms of data structures and procedural logic.
•   Document the distribution of processes to locations.
•   Synchronize data and process models using a CRUD matrix.
9-3
Models: Logical and Physical

      Model – a pictorial representation of reality.
          Just as a picture is worth a thousand words, most
          models are pictorial representations of reality.


      Logical model – a             Physical model – a
      nontechnical pictorial        technical pictorial
      representation that depicts   representation that depicts
      what a system is or does.     what a system is or does and
      Synonyms or essential         how the system is
      model, conceptual model,      implemented. Synonyms are
      and business model.           implementation model and
                                    technical model.
9-4
Why Logical System Models
      • Logical models remove biases that are the
        result of the way the system is currently
        implemented, or the way that any one person
        thinks the system might be implemented.

      • Logical models reduce the risk of missing
        business requirements because we are too
        preoccupied with technical results.

      • Logical models allow us to communicate with
        end-users in nontechnical or less technical
        languages.
9-5
Process Modeling and DFDs
      Process modeling – a technique used to organize and
      document a system’s processes.
         •   Flow of data through processes
         •   Logic
         •   Policies
         •   Procedures


      Data flow diagram (DFD) – a process model used to
      depict the flow of data through a system and the work or
      processing performed by the system. Synonyms are
      bubble chart, transformation graph, and process model.
         • The DFD has also become a popular tool for business
           process redesign.

9-6
Simple Data Flow Diagram




9-7
Differences Between DFDs
      and Flowcharts
      • Processes on DFDs can operate in parallel (at-
        the-same-time)
        • Processes on flowcharts execute one at a time

      • DFDs show the flow of data through a system
        • Flowcharts show the flow of control (sequence and
          transfer of control)

      • Processes on a DFD can have dramatically
        different timing (daily, weekly, on demand)
        • Processes on flowcharts are part of a single program
          with consistent timing
9-8
External Agents
      External agent – an outside person, unit,
      system, or organization that interacts with a
      system. Also called an external entity.
      • External agents define the “boundary” or
        scope of a system being modeled.
      • As scope changes, external agents can
        become processes, and vice versa.
      • Almost always one of the following:
                                                   Gane and Sarson shape
         • Office, department, division.
         • An external organization or agency.
         • Another business or another
           information system.
         • One of system’s end-users or managers
                                                   DeMarco/Yourdon shape
9-9
      • Named with descriptive, singular noun
Data Stores
       Data store – stored data intended for later
       use. Synonyms are file and database.
       • Frequently implemented as a file or database.
       • A data store is “data at rest” compared to a data
         flow that is “data in motion.”
       • Almost always one of the following:
          •   Persons (or groups of persons)
          •   Places
          •   Objects
          •   Events (about which data is captured)      Gane and Sarson shape
          •   Concepts (about which data is important)
       • Data stores depicted on a DFD store
         all instances of data entities
         (depicted on an ERD)
       • Named with plural noun
9-10                                                     DeMarco/Yourdon shape
Process Concepts
       Process – work performed by a system in
       response to incoming data flows or
       conditions. A synonym is transform.
         • All information systems include
           processes - usually many of them
         • Processes respond to business
           events and conditions and transform Gane and Sarson shape
           data into useful information
         • Modeling processes helps us to understand the
           interactions with the system's environment, other
           systems, and other processes.
         • Named with a strong action verb followed by object
           clause describing what the work is performed on/for .
9-11
The System is Itself a Process




9-12
Process Decomposition
       Decomposition – the act of breaking a system
       into sub-components. Each level of abstraction
       reveals more or less detail.




9-13
Decomposition Diagrams

       Decomposition
       diagram – a tool
       used to depict the
       decomposition of a
       system. Also
       called hierarchy
       chart.




9-14
Types of Logical Processes
        Function – a set of related and ongoing activities of a
        business.
        • A function has no start or end.

        Event – a logical unit of work that must be completed as
        a whole. Sometimes called a transaction.
        • Triggered by a discrete input and is completed when process
          has responded with appropriate outputs.
        • Functions consist of processes that respond to events.

        Elementary process – a discrete, detailed activity or
        task required to complete the response to an event.
        Also called a primitive process.
        • The lowest level of detail depicted in a process model.

9-15
Common Process Errors on
       DFDs




9-16
Data Flows & Control Flows
       Data flow – data that is input to or
       output from a process.
       • A data flow is data in motion                 Data flow name
       • A data flow may also be used to
         represent the creation, reading, deletion,
         or updating of data in a file or database
         (called a data store).
       Composite data flow – a data flow
       that consists of other data flows.
                                                      Control flow name
       Control flow – a condition or
       nondata event that triggers a
       process.
       • Used sparingly on DFDs.
9-17
Data Flow Packet Concept
       • Data that should travel together should be
         shown as a single data flow, no matter how
         many physical documents might be included.




9-18
Composite and Elementary
       Data Flows

                                 Composite
                                   flow


         Elementary
            flows




       Junction indicates that
        any given order is an
       instance of only one of
9-19
           the order types.
Data Flows to and from Data
       Stores




9-20
Rules for Data Flows
       •   A data flow
           should never go
           unnamed.
       •   In logical
           modeling, data
           flow names
           should describe
           the data flow
           without
           describing the
           implementation
       •   All data flows
           must begin
           and/or end at a
           process.
9-21
Data Conservation

        Data conservation – the practice of
        ensuring that a data flow contains only
        data needed by the receiving process.
        • Sometimes called starving the processes.
        • New emphasis on business process
          redesign to identify and eliminate
          inefficiencies.
        • Simplifies the interface between those
          processes.
        • Must precisely define the data composition
          of each data flow, expressed in the form of
9-22      data structures.
Data Structures
        Data attribute – the smallest piece of data that
        has meaning to the users and the business.

        Data structure – a specific arrangement of data
        attributes that defines an instance of a data flow.

       • The data attributes that comprise a data flow are
         organized into data structures.
       • Data flows can be described in terms of the following
         types of data structures:
          • A sequence or group of data attributes that occur one after
            another.
          • The selection of one or more attributes from a set of attributes.
          • The repetition of one or more attributes.
9-23
Data Structure for a Data Flow
           DATA STRUCTURE                ENGLISH ENTERPRETATION

   ORDER=                          An instance of ORDER consists of:
     ORDER NUMBER +                    ORDER NUMBER and
                                       ORDER DATE and
     ORDER DATE+                       Either PERSONAL CUSTOMER NUMBER
     [ PERSONAL CUSTOMER NUMBER,              or CORPORATE ACCOUNT
       CORPORATE ACCOUNT NUMBER]       NUMBER
     +                                 and SHIPPING ADDRESS (which is
     SHIPPING ADDRESS=ADDRESS+         equivalent        to ADDRESS)
     (BILLING ADDRESS=ADDRESS)+        and optionally: BILLING ADDRESS
     1 {PRODUCT NUMBER+                (which is         equivalent to
                                       ADDRESS)
        PRODUCT DESCRIPTION+           and one or more instances of:
        QUANTITY ORDERED+                     PRODUCT NUMBER and
        PRODUCT PRICE+                        PRODUCT DESCRIPTION and
        PRODUCT PRICE SOURCE+                 QUANTITY ORDERED and
        EXTENDED PRICE } N+                   PRODUCT PRICE and
     SUM OF EXTENDED PRICES+                  PRODUCT PRICE SOURCE and
     PREPAID AMOUNT+                          EXTENDED PRICE
                                       and SUM OF EXTENDED PRICES and
     (CREDIT CARD                      PREPAID AMOUNT and
     NUMBER+EXPIRATION DATE)           optionally: both CREDIT CARD NUMBER
     (QUOTE NUMBER)                    and EXPIRATION DATE

     ADDRESS=                      An instance of ADDRESS consists of:
       (POST OFFICE BOX NUMBER)+       optionally: POST OFFICE BOX NUMBER
       STREET ADDRESS+                 and
                                       STREET ADDRESS and
       CITY+                           CITY and
       [STATE, MUNICIPALITY]+          Either STATE or MUNICIPALITY
       (COUNTRY)+                      and optionally: COUNTRY
9-24   POSTAL CODE                     and POSTAL CODE
Data Structure Constructs
        Data Structure                  Format by Example                English Interpretation
                                   (relevant portion is boldfaced    (relevant portion is boldfaced)
Sequence of Attributes - The      WAGE AND TAX STATEMENT=           An instance of WAGE AND TAX
sequence data structure            TAXPAYER IDENTIFICATION          STATEMENTS consists of:
indicates one or more attributes NUMBER+                             TAXPAYER IDENTIFICATION
that may (or must) be included in  TAXPAYER NAME+                   NUMBER and
a data flow.                       TAXPAYER ADDRESS+                 TAXPAYER NAME and
                                   WAGES, TIPS, AND                  TAXPAYER ADDRESS and
                                  COMPENSATION+                      WAGES, TIPS AND
                                   FEDERAL TAX WITHHELD+            COMPENSATION and
                                  …                                  FEDERAL TAX WITHHELD
                                                                    and…
Selection of Attributes - The     ORDER=                            An instance or ORDER consists
selection data structure allows    (PERSONAL CUSTOMER               of:
you to show situations where      NUMBER,                             Either PERSONAL
different sets of attributes       CORPORATE ACCOUNT                CUSTOMER NUMBER or
describe different instances of   NUMBER)+                                   CORPORATE
the data flow.                     ORDER DATE+…                     ACCOUNT NUMBER; and
9-25                                                                  ORDER DATE and…
Data Structure Constructs
       (continued)
       Data Structure                Format by Example                English Interpretation
                                (relevant portion is boldfaced    (relevant portion is boldfaced)

Repetition of Attributes - The      POLICY NUMBER+               An instance of CLAIM consists
repetition data structure is used    POLICYHOLDER NAME+          of:
to set off a data attribute or       POLICY HOLDER                 POLICY NUMBER and
group of data attributes that may ADDRESS+                         POLICYHOLDER NAME and
(or must) repeat themselves a        0 {DEPENDENT NAME+            POLICYHOLDER ADDRESS
specific number of time for a           DEPENDENT’S              and
single instance of the data flow. RELATIONSHIP} N+                 zero or more instance of:
  The minimum number of              1 {EXPENSE DESCRIPTION+         DEPENDENT NAME and
repetitions is usually zero or one.     SERVICE PROVIDER+            DEPENDENT’S
  The maximum number of                 EXPENSE AMOUNT} N        RELATIONSHIP and
repetitions may be specified as                                    one or more instances of:
“n” meaning “many” where the                                         EXPENSE DESCRIPTION
actual number of instances                                       and
varies for each instance of the                                      SERVICE PROVIDER and
data flow.                                                           EXPENSE ACCOUNT

9-26
Data Structure Constructs
       (concluded)
         Data Structure                   Format by Example                English Interpretation
                                     (relevant portion is boldfaced    (relevant portion is boldfaced)
Optional Attributes - The           CLAIM=                            An instance of CLAIM consists
optional notation indicates that     POLICY NUMBER+                   of:
an attribute, or group of            POLICYHOLDER NAME+                 POLICY NUMBER and
attributes in a sequence or          POLICYHOLDER ADDRESS+              POLICYHOLDER NAME and
selection date structure may not     ( SPOUSE NAME+                     POLICYHOLDER ADDRESS
be included in all instances of a      DATE OF BIRTH)+…               and
data flow.                                                              optionally, SPOUSE NAME
Note: For the repetition data                                         and
structure, a minimum of “zero” is                                       DATE OF BIRTH and…
the same as making the entire
repeating group “optional.”
Reusable Attributes - For           DATE=                             Then, the reusable structures
groups of attributes that are        MONTH+                           can be included in other data
contained in many data flows, it     DAY+                             flow structures as follows:
is desirable to create a separate    YEAR+                               ORDER=ORDER NUMBER…
data structure that can be                                            +DATE
reused in other data structures.                                         INVOICE=INVOICE
                                                                      NUMBER…+DATE
                                                                         PAYMENT=CUSTOMER
9-27                                                                  NUMBER…+DATE
Data Types and Domains

       Data attributes should be defined by data
       types and domains.

       Data type - a class of data that be stored
       in an attribute.
         • Character, integers, real numbers, dates,
           pictures, etc.

       Domain – the legitimate values for an
       attribute.
9-28
Diverging and Converging
       Data Flows
       Diverging data flow – a data flow that splits
       into multiple data flows.
        • Indicates data that starts out naturally as one flow,
          but is routed to different destinations.
        • Also useful to indicate multiple copies of the same
          output going to different destinations.

       Converging data flow – the merger of multiple
       data flows into a single packet.
        • Indicates data from multiple sources that can (must)
          come together as a single packet for subsequent
          processing.
9-29
Diverging and Converging
       Data Flows




9-30
When to Draw Process Models
       • Strategic systems planning
         • Enterprise process models illustrate important
           business functions.
       • Business process redesign
         • “As is” process models facilitate critical analysis.
         • “To be” process models facilitate improvement.
       • Systems analysis (primary focus of this
         course)
         •   Model existing system including its limitations
         •   Model target system’s logical requirements
         •   Model candidate technical solutions
9-31     •   Model the target technical solution
Classical Structured Analysis
        Rarely practiced anymore because cumbersome & time-consuming



       1. Draw top-down physical DFDs that represent current
          physical implementation of the system.
       2. Convert physical DFDs to logical equivalents.
       3. Draw top-down logical DFDs that represent improved
          system.
       4. Describe all data flows, data stores, policies, and
          procedures in data dictionary or encyclopedia.
       5. Optionally, mark up copies of the logical DFDs to
          represent alternative physical solutions.
       6. Draw top-down physical DFDs representing target
9-32
          solution.
Modern Structured Analysis
       (More Commonly Practiced)

       1. Draw context DFD to establish initial project scope.
       2. Draw functional decomposition diagram to partition the
          system into subsystems.
       3. Create event-response or use-case list for the system
          to define events for which the system must have a
          response.
       4. Draw an event DFD (or event handler) for each event.
       5. Merge event DFDs into a system diagram (or, for larger
          systems, subsystem diagrams).
       6. Draw detailed, primitive DFDs for the more complex
          event handlers.
       7. Document data flows and processes in data dictionary.
9-33
Structured Analysis Diagram
       Progression (1 of 3)




9-34
Structured Analysis Diagram
       Progression (2 of 3)




9-35
Structured Analysis Diagram
       Progression (3 of 3)




9-36
CASE for Process Modeling




9-37
Context Data Flow Diagram
       •    Context data flow diagram - a process model
            used to document the scope for a system. Also
            called the environmental model.

           1. Think of the system as a "black box."
           2. Ask users what business transactions the system
              must respond to. These are inputs, and the sources
              are external agents.
           3. Ask users what responses must be produced by the
              system. These are outputs, and the destinations are
              external agents.
           4. Identify any external data stores, if any.
9-38
           5. Draw a context diagram.
SoundStage Context DFD




9-39
SoundStage Functional
       Decomposition Diagram
       • Break system into
         sub-components
         to reveal more
         detail.
       • Every process to
         be factored
         should be
         factored into at
         least two child
         processes.
       • Larger systems
         might be factored
         into subsystems
         and functions.
9-40
Events and Use Cases
       • External events are initiated by external agents. They
         result in an input transaction or data flow.

       • Temporal events are triggered on the basis of time,
         or something that merely happens. They are indicated
         by a control flow.

       • State events trigger processes based on a system’s
         change from one state or condition to another. They
         are indicated by a control flow.

       • Use case – an analysis tool for finding and identifying
         business events and responses.

       • Actor – anything that interacts with a system.
9-41
SoundStage Partial Use Case
       List
            Actor/                Event               Trigger               Response
        External Agent        (or Use Case)
       Marketing         Establishes a new        New Member       Generate Subscription Plan
                         membership               Subscription     Confirmation.
                         subscription plan to     Program          Create Agreement in the
                         entice new members.                       database.
       Marketing         Establishes a new        Past Member      Generate Subscription Plan
                         membership               Resubscription   Confirmation.
                         resubscription plan to   Program          Create Agreement in the
                         lure back former                          database.
                         members.
       (time)            A subscription plan      (current date)   Generate Agreement Change
                         expires.                                  Confirmation.
                                                                   Logically delete Agreement in
                                                                   database.
       Member            Joins club by            New              Generate Member Directory
                         subscribing.             Subscription     Update Confirmation.
                                                                   Create Member in database.
                                                                   Create first Member Order and
                                                                   Member Ordered Products in
9-42
                                                                   database.
SoundStage Partial
       Event Decomposition Diagram




9-43
Event Diagrams
       Event diagram – data flow diagram that
       depicts the context for a single event.
         • One diagram for each event process
         • Depicts
           • Inputs from external agents
           • Outputs to external agents
           • Data stores from which records must be "read."
             Data flows should be added and named to
             reflect the data that is read.
           • Data stores in which records must be created,
             deleted, or updated. Data flows should be
             named to reflect the update.
9-44
Simple Event Diagram




9-45
Event Diagram (more complex)




9-46
Temporal Event Diagram




9-47
System DFD




9-48
System DFD (concluded)




9-49
Balancing

       Balancing - a concept that requires that
       data flow diagrams at different levels of
       detail reflect consistency and completeness

         • Quality assurance technique
         • Requires that if you explode a process to
           another DFD to reveal more detail, you must
           include the same dta flows and data stores

9-50
Primitive Diagrams

       • Some (not necessarily all) event
         processes may be exploded into primitive
         diagrams to reveal more detail.
         • Complex business transaction processes
         • Process decomposed into multiple
           elementary processes
         • Each elementary process is cohesive - it
           does only one thing
         • Flow similar to computer program structure
9-51
Primitive DFD
       (see book for more readable copy)




9-52
Specifying a Data Flow
       Using a CASE Tool




9-53
Process Logic

       • Data Flow Diagrams good for identifying and
         describing processes
       • Not good at showing logic inside processes
       • Need to specify detailed instructions for
         elementary processes
       • How to do it?
         • Flowcharts & Pseudocode - most end users do not
           understand them
         • Natural English - imprecise and subject to
           interpretation
9-54
Problems with Natural English
       • Many do not write well and do not question writing abilities.
       • Many too educated to communicate with general audience
       • Some write everything like it was a program.
       • Can allow computing jargon, acronyms to dominate
         language.
       • Statements frequently have excessive or confusing scope.
       • Overuse compound sentences.
       • Too many words have multiple definitions.
       • Too many statements use imprecise adjectives.
       • Conditional instructions can be imprecise.
       • Compound conditions tend to show up in natural English.
                                   Source: Adapted from Matthies, Leslie, The New Playscript Procedure,
9-55                                                     (Stamford, CT: Office Publications, Inc. 1977)
Structured English

       Structured English – a language syntax
       for specifying the logic of a process.
         • Based on the relative strengths of structured
           programming and natural English.




9-56
Structured English Constructs
       (Part 1)




9-57
Structured English Constructs
       (Part 2)




9-58
Structured English Restrictions
       on Process Logic
       • Only strong, imperative verbs may be used.
       • Only names that have been defined in project
         dictionary may be used.
       • Formulas should be stated clearly using
         appropriate mathematical notations.
       • Undefined adjectives and adverbs are not
         permitted.
       • Blocking and indentation are used to set off the
         beginning and ending of constructs.
       • User readability should always take priority.
9-59
Policies and Decision Tables

       Policy – a set of rules that govern show a
       process is to be completed.

       Decision table – a tabular form of
       presentation that specifies a set of
       conditions and their corresponding actions.
         • As required to implement a policy.


9-60
A Simple Decision Table




9-61
Describing an Elementary
       Process Using a CASE Tool




9-62
Data & Process Model
       Synchronization CRUD Matrix




9-63
Process Distribution




9-64

More Related Content

What's hot

Introduction to data structures and Algorithm
Introduction to data structures and AlgorithmIntroduction to data structures and Algorithm
Introduction to data structures and Algorithm
Dhaval Kaneria
 
Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]
Ravindra Raju Kolahalam
 
Software development slides
Software development slidesSoftware development slides
Software development slides
iarthur
 

What's hot (20)

Chapter07 determining system requirements
Chapter07 determining system requirementsChapter07 determining system requirements
Chapter07 determining system requirements
 
Introduction to data structures and Algorithm
Introduction to data structures and AlgorithmIntroduction to data structures and Algorithm
Introduction to data structures and Algorithm
 
Software design
Software designSoftware design
Software design
 
Data Flow Diagram_DFD
Data Flow Diagram_DFDData Flow Diagram_DFD
Data Flow Diagram_DFD
 
Process management os concept
Process management os conceptProcess management os concept
Process management os concept
 
Data flow diagram
Data flow diagramData flow diagram
Data flow diagram
 
Project Management Concepts
Project Management ConceptsProject Management Concepts
Project Management Concepts
 
Evolving role of Software
Evolving role of SoftwareEvolving role of Software
Evolving role of Software
 
Chapter08 structuring system requirements
Chapter08 structuring system requirementsChapter08 structuring system requirements
Chapter08 structuring system requirements
 
Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]
 
Data Flow Diagrams
Data Flow DiagramsData Flow Diagrams
Data Flow Diagrams
 
Software development slides
Software development slidesSoftware development slides
Software development slides
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1
 
System design
System designSystem design
System design
 
Os Swapping, Paging, Segmentation and Virtual Memory
Os Swapping, Paging, Segmentation and Virtual MemoryOs Swapping, Paging, Segmentation and Virtual Memory
Os Swapping, Paging, Segmentation and Virtual Memory
 
requirement gathering
requirement gatheringrequirement gathering
requirement gathering
 
Operating Systems - Processor Management
Operating Systems - Processor ManagementOperating Systems - Processor Management
Operating Systems - Processor Management
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Software Engineering - chp3- design
Software Engineering - chp3- designSoftware Engineering - chp3- design
Software Engineering - chp3- design
 
Requirements analysis and modeling
Requirements analysis and modelingRequirements analysis and modeling
Requirements analysis and modeling
 

Viewers also liked

Erakartzeko marketing aurkezpena
Erakartzeko marketing aurkezpenaErakartzeko marketing aurkezpena
Erakartzeko marketing aurkezpena
ioritzrz
 
Risk taking and emotions
Risk taking and emotionsRisk taking and emotions
Risk taking and emotions
Nitesh Singh
 
His 150 Intro To Historiography
His 150 Intro To HistoriographyHis 150 Intro To Historiography
His 150 Intro To Historiography
mr1861
 
Devry University Senior Project Presentation
Devry University Senior Project PresentationDevry University Senior Project Presentation
Devry University Senior Project Presentation
Taha Rabbani
 

Viewers also liked (20)

Algorithms
AlgorithmsAlgorithms
Algorithms
 
Chap01
Chap01Chap01
Chap01
 
Questionnare
QuestionnareQuestionnare
Questionnare
 
Chap15
Chap15Chap15
Chap15
 
Erakartzeko marketing aurkezpena
Erakartzeko marketing aurkezpenaErakartzeko marketing aurkezpena
Erakartzeko marketing aurkezpena
 
Chap14
Chap14Chap14
Chap14
 
Risk taking and emotions
Risk taking and emotionsRisk taking and emotions
Risk taking and emotions
 
Chap04
Chap04Chap04
Chap04
 
Chap05
Chap05Chap05
Chap05
 
Chap06
Chap06Chap06
Chap06
 
Chap17
Chap17Chap17
Chap17
 
TalentWeek™ Presentation - Tesla - Louis Efron and Juliana Bednarski
TalentWeek™ Presentation - Tesla - Louis Efron and Juliana BednarskiTalentWeek™ Presentation - Tesla - Louis Efron and Juliana Bednarski
TalentWeek™ Presentation - Tesla - Louis Efron and Juliana Bednarski
 
Asi Chap005
Asi Chap005Asi Chap005
Asi Chap005
 
Architecture & Periodicals Presentation
Architecture & Periodicals PresentationArchitecture & Periodicals Presentation
Architecture & Periodicals Presentation
 
Image & language in Architecture
Image & language in ArchitectureImage & language in Architecture
Image & language in Architecture
 
His 150 Intro To Historiography
His 150 Intro To HistoriographyHis 150 Intro To Historiography
His 150 Intro To Historiography
 
Jio questionnare
Jio questionnareJio questionnare
Jio questionnare
 
Simplexity
SimplexitySimplexity
Simplexity
 
Chapter05
Chapter05Chapter05
Chapter05
 
Devry University Senior Project Presentation
Devry University Senior Project PresentationDevry University Senior Project Presentation
Devry University Senior Project Presentation
 

Similar to Chap09

DFDs_and_Algorithms.pptx
DFDs_and_Algorithms.pptxDFDs_and_Algorithms.pptx
DFDs_and_Algorithms.pptx
AliyahAli19
 
chapter05-120827115357-phpapp01.pdf
chapter05-120827115357-phpapp01.pdfchapter05-120827115357-phpapp01.pdf
chapter05-120827115357-phpapp01.pdf
AxmedMaxamuud6
 

Similar to Chap09 (20)

Data Flow Diagram (DFD)
Data Flow Diagram (DFD)Data Flow Diagram (DFD)
Data Flow Diagram (DFD)
 
DFDs_and_Algorithms.pptx
DFDs_and_Algorithms.pptxDFDs_and_Algorithms.pptx
DFDs_and_Algorithms.pptx
 
Chap13
Chap13Chap13
Chap13
 
MS-CIT Unit 9.pptx
MS-CIT Unit 9.pptxMS-CIT Unit 9.pptx
MS-CIT Unit 9.pptx
 
Data warehouse
Data warehouseData warehouse
Data warehouse
 
Design Flow Diagram for Information System
Design Flow Diagram for Information SystemDesign Flow Diagram for Information System
Design Flow Diagram for Information System
 
DFD.pptx
DFD.pptxDFD.pptx
DFD.pptx
 
DW 101
DW 101DW 101
DW 101
 
__Stude_DATA FLOW DIAGRAMS.ppt
__Stude_DATA FLOW DIAGRAMS.ppt__Stude_DATA FLOW DIAGRAMS.ppt
__Stude_DATA FLOW DIAGRAMS.ppt
 
Free ebooks download ! Edhole
Free ebooks download ! EdholeFree ebooks download ! Edhole
Free ebooks download ! Edhole
 
Free ebooks download ! Edhole
Free ebooks download ! EdholeFree ebooks download ! Edhole
Free ebooks download ! Edhole
 
SYSTEM MODELLING
SYSTEM MODELLINGSYSTEM MODELLING
SYSTEM MODELLING
 
DBMS.pptx
DBMS.pptxDBMS.pptx
DBMS.pptx
 
Hi600 u05_inst_slides
Hi600 u05_inst_slidesHi600 u05_inst_slides
Hi600 u05_inst_slides
 
Data Flow Diagram.pptx
Data Flow Diagram.pptxData Flow Diagram.pptx
Data Flow Diagram.pptx
 
SAD 2nd PPT
SAD 2nd PPTSAD 2nd PPT
SAD 2nd PPT
 
RDBMS to NoSQL. An overview.
RDBMS to NoSQL. An overview.RDBMS to NoSQL. An overview.
RDBMS to NoSQL. An overview.
 
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptxSE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
SE2018_Lec 14_ Process Modeling and Data Flow Diagram.pptx
 
1_DBMS_Introduction.pdf
1_DBMS_Introduction.pdf1_DBMS_Introduction.pdf
1_DBMS_Introduction.pdf
 
chapter05-120827115357-phpapp01.pdf
chapter05-120827115357-phpapp01.pdfchapter05-120827115357-phpapp01.pdf
chapter05-120827115357-phpapp01.pdf
 

More from professorkarla (6)

Chap12
Chap12Chap12
Chap12
 
Chap11
Chap11Chap11
Chap11
 
Chap08
Chap08Chap08
Chap08
 
Chap07
Chap07Chap07
Chap07
 
Chap03
Chap03Chap03
Chap03
 
Chap02
Chap02Chap02
Chap02
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
The Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and InsightThe Zero-ETL Approach: Enhancing Data Agility and Insight
The Zero-ETL Approach: Enhancing Data Agility and Insight
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

Chap09

  • 1. Chapter 9 Process Modeling McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved.
  • 2. Objectives • Define systems modeling and differentiate logical and physical models. • Define process modeling and explain its benefits. • Recognize and understand basic concepts and constructs of a process model. • Read and interpret a data flow diagram. • Explain when to construct process models and where to store them. • Construct a context diagram to illustrate a system’s interfaces with its environment. • Identify use cases, external and temporal business events. • Perform event partitioning and organize events in a functional decomposition diagram. • Draw event diagrams and merge them into a system diagram. • Draw primitive data flow diagrams and describe the elementary data flows in terms of data structures and procedural logic. • Document the distribution of processes to locations. • Synchronize data and process models using a CRUD matrix.
  • 3. 9-3
  • 4. Models: Logical and Physical Model – a pictorial representation of reality. Just as a picture is worth a thousand words, most models are pictorial representations of reality. Logical model – a Physical model – a nontechnical pictorial technical pictorial representation that depicts representation that depicts what a system is or does. what a system is or does and Synonyms or essential how the system is model, conceptual model, implemented. Synonyms are and business model. implementation model and technical model. 9-4
  • 5. Why Logical System Models • Logical models remove biases that are the result of the way the system is currently implemented, or the way that any one person thinks the system might be implemented. • Logical models reduce the risk of missing business requirements because we are too preoccupied with technical results. • Logical models allow us to communicate with end-users in nontechnical or less technical languages. 9-5
  • 6. Process Modeling and DFDs Process modeling – a technique used to organize and document a system’s processes. • Flow of data through processes • Logic • Policies • Procedures Data flow diagram (DFD) – a process model used to depict the flow of data through a system and the work or processing performed by the system. Synonyms are bubble chart, transformation graph, and process model. • The DFD has also become a popular tool for business process redesign. 9-6
  • 7. Simple Data Flow Diagram 9-7
  • 8. Differences Between DFDs and Flowcharts • Processes on DFDs can operate in parallel (at- the-same-time) • Processes on flowcharts execute one at a time • DFDs show the flow of data through a system • Flowcharts show the flow of control (sequence and transfer of control) • Processes on a DFD can have dramatically different timing (daily, weekly, on demand) • Processes on flowcharts are part of a single program with consistent timing 9-8
  • 9. External Agents External agent – an outside person, unit, system, or organization that interacts with a system. Also called an external entity. • External agents define the “boundary” or scope of a system being modeled. • As scope changes, external agents can become processes, and vice versa. • Almost always one of the following: Gane and Sarson shape • Office, department, division. • An external organization or agency. • Another business or another information system. • One of system’s end-users or managers DeMarco/Yourdon shape 9-9 • Named with descriptive, singular noun
  • 10. Data Stores Data store – stored data intended for later use. Synonyms are file and database. • Frequently implemented as a file or database. • A data store is “data at rest” compared to a data flow that is “data in motion.” • Almost always one of the following: • Persons (or groups of persons) • Places • Objects • Events (about which data is captured) Gane and Sarson shape • Concepts (about which data is important) • Data stores depicted on a DFD store all instances of data entities (depicted on an ERD) • Named with plural noun 9-10 DeMarco/Yourdon shape
  • 11. Process Concepts Process – work performed by a system in response to incoming data flows or conditions. A synonym is transform. • All information systems include processes - usually many of them • Processes respond to business events and conditions and transform Gane and Sarson shape data into useful information • Modeling processes helps us to understand the interactions with the system's environment, other systems, and other processes. • Named with a strong action verb followed by object clause describing what the work is performed on/for . 9-11
  • 12. The System is Itself a Process 9-12
  • 13. Process Decomposition Decomposition – the act of breaking a system into sub-components. Each level of abstraction reveals more or less detail. 9-13
  • 14. Decomposition Diagrams Decomposition diagram – a tool used to depict the decomposition of a system. Also called hierarchy chart. 9-14
  • 15. Types of Logical Processes Function – a set of related and ongoing activities of a business. • A function has no start or end. Event – a logical unit of work that must be completed as a whole. Sometimes called a transaction. • Triggered by a discrete input and is completed when process has responded with appropriate outputs. • Functions consist of processes that respond to events. Elementary process – a discrete, detailed activity or task required to complete the response to an event. Also called a primitive process. • The lowest level of detail depicted in a process model. 9-15
  • 16. Common Process Errors on DFDs 9-16
  • 17. Data Flows & Control Flows Data flow – data that is input to or output from a process. • A data flow is data in motion Data flow name • A data flow may also be used to represent the creation, reading, deletion, or updating of data in a file or database (called a data store). Composite data flow – a data flow that consists of other data flows. Control flow name Control flow – a condition or nondata event that triggers a process. • Used sparingly on DFDs. 9-17
  • 18. Data Flow Packet Concept • Data that should travel together should be shown as a single data flow, no matter how many physical documents might be included. 9-18
  • 19. Composite and Elementary Data Flows Composite flow Elementary flows Junction indicates that any given order is an instance of only one of 9-19 the order types.
  • 20. Data Flows to and from Data Stores 9-20
  • 21. Rules for Data Flows • A data flow should never go unnamed. • In logical modeling, data flow names should describe the data flow without describing the implementation • All data flows must begin and/or end at a process. 9-21
  • 22. Data Conservation Data conservation – the practice of ensuring that a data flow contains only data needed by the receiving process. • Sometimes called starving the processes. • New emphasis on business process redesign to identify and eliminate inefficiencies. • Simplifies the interface between those processes. • Must precisely define the data composition of each data flow, expressed in the form of 9-22 data structures.
  • 23. Data Structures Data attribute – the smallest piece of data that has meaning to the users and the business. Data structure – a specific arrangement of data attributes that defines an instance of a data flow. • The data attributes that comprise a data flow are organized into data structures. • Data flows can be described in terms of the following types of data structures: • A sequence or group of data attributes that occur one after another. • The selection of one or more attributes from a set of attributes. • The repetition of one or more attributes. 9-23
  • 24. Data Structure for a Data Flow DATA STRUCTURE ENGLISH ENTERPRETATION ORDER= An instance of ORDER consists of: ORDER NUMBER + ORDER NUMBER and ORDER DATE and ORDER DATE+ Either PERSONAL CUSTOMER NUMBER [ PERSONAL CUSTOMER NUMBER, or CORPORATE ACCOUNT CORPORATE ACCOUNT NUMBER] NUMBER + and SHIPPING ADDRESS (which is SHIPPING ADDRESS=ADDRESS+ equivalent to ADDRESS) (BILLING ADDRESS=ADDRESS)+ and optionally: BILLING ADDRESS 1 {PRODUCT NUMBER+ (which is equivalent to ADDRESS) PRODUCT DESCRIPTION+ and one or more instances of: QUANTITY ORDERED+ PRODUCT NUMBER and PRODUCT PRICE+ PRODUCT DESCRIPTION and PRODUCT PRICE SOURCE+ QUANTITY ORDERED and EXTENDED PRICE } N+ PRODUCT PRICE and SUM OF EXTENDED PRICES+ PRODUCT PRICE SOURCE and PREPAID AMOUNT+ EXTENDED PRICE and SUM OF EXTENDED PRICES and (CREDIT CARD PREPAID AMOUNT and NUMBER+EXPIRATION DATE) optionally: both CREDIT CARD NUMBER (QUOTE NUMBER) and EXPIRATION DATE ADDRESS= An instance of ADDRESS consists of: (POST OFFICE BOX NUMBER)+ optionally: POST OFFICE BOX NUMBER STREET ADDRESS+ and STREET ADDRESS and CITY+ CITY and [STATE, MUNICIPALITY]+ Either STATE or MUNICIPALITY (COUNTRY)+ and optionally: COUNTRY 9-24 POSTAL CODE and POSTAL CODE
  • 25. Data Structure Constructs Data Structure Format by Example English Interpretation (relevant portion is boldfaced (relevant portion is boldfaced) Sequence of Attributes - The WAGE AND TAX STATEMENT= An instance of WAGE AND TAX sequence data structure TAXPAYER IDENTIFICATION STATEMENTS consists of: indicates one or more attributes NUMBER+ TAXPAYER IDENTIFICATION that may (or must) be included in TAXPAYER NAME+ NUMBER and a data flow. TAXPAYER ADDRESS+ TAXPAYER NAME and WAGES, TIPS, AND TAXPAYER ADDRESS and COMPENSATION+ WAGES, TIPS AND FEDERAL TAX WITHHELD+ COMPENSATION and … FEDERAL TAX WITHHELD and… Selection of Attributes - The ORDER= An instance or ORDER consists selection data structure allows (PERSONAL CUSTOMER of: you to show situations where NUMBER, Either PERSONAL different sets of attributes CORPORATE ACCOUNT CUSTOMER NUMBER or describe different instances of NUMBER)+ CORPORATE the data flow. ORDER DATE+… ACCOUNT NUMBER; and 9-25 ORDER DATE and…
  • 26. Data Structure Constructs (continued) Data Structure Format by Example English Interpretation (relevant portion is boldfaced (relevant portion is boldfaced) Repetition of Attributes - The POLICY NUMBER+ An instance of CLAIM consists repetition data structure is used POLICYHOLDER NAME+ of: to set off a data attribute or POLICY HOLDER POLICY NUMBER and group of data attributes that may ADDRESS+ POLICYHOLDER NAME and (or must) repeat themselves a 0 {DEPENDENT NAME+ POLICYHOLDER ADDRESS specific number of time for a DEPENDENT’S and single instance of the data flow. RELATIONSHIP} N+ zero or more instance of: The minimum number of 1 {EXPENSE DESCRIPTION+ DEPENDENT NAME and repetitions is usually zero or one. SERVICE PROVIDER+ DEPENDENT’S The maximum number of EXPENSE AMOUNT} N RELATIONSHIP and repetitions may be specified as one or more instances of: “n” meaning “many” where the EXPENSE DESCRIPTION actual number of instances and varies for each instance of the SERVICE PROVIDER and data flow. EXPENSE ACCOUNT 9-26
  • 27. Data Structure Constructs (concluded) Data Structure Format by Example English Interpretation (relevant portion is boldfaced (relevant portion is boldfaced) Optional Attributes - The CLAIM= An instance of CLAIM consists optional notation indicates that POLICY NUMBER+ of: an attribute, or group of POLICYHOLDER NAME+ POLICY NUMBER and attributes in a sequence or POLICYHOLDER ADDRESS+ POLICYHOLDER NAME and selection date structure may not ( SPOUSE NAME+ POLICYHOLDER ADDRESS be included in all instances of a DATE OF BIRTH)+… and data flow. optionally, SPOUSE NAME Note: For the repetition data and structure, a minimum of “zero” is DATE OF BIRTH and… the same as making the entire repeating group “optional.” Reusable Attributes - For DATE= Then, the reusable structures groups of attributes that are MONTH+ can be included in other data contained in many data flows, it DAY+ flow structures as follows: is desirable to create a separate YEAR+ ORDER=ORDER NUMBER… data structure that can be +DATE reused in other data structures. INVOICE=INVOICE NUMBER…+DATE PAYMENT=CUSTOMER 9-27 NUMBER…+DATE
  • 28. Data Types and Domains Data attributes should be defined by data types and domains. Data type - a class of data that be stored in an attribute. • Character, integers, real numbers, dates, pictures, etc. Domain – the legitimate values for an attribute. 9-28
  • 29. Diverging and Converging Data Flows Diverging data flow – a data flow that splits into multiple data flows. • Indicates data that starts out naturally as one flow, but is routed to different destinations. • Also useful to indicate multiple copies of the same output going to different destinations. Converging data flow – the merger of multiple data flows into a single packet. • Indicates data from multiple sources that can (must) come together as a single packet for subsequent processing. 9-29
  • 30. Diverging and Converging Data Flows 9-30
  • 31. When to Draw Process Models • Strategic systems planning • Enterprise process models illustrate important business functions. • Business process redesign • “As is” process models facilitate critical analysis. • “To be” process models facilitate improvement. • Systems analysis (primary focus of this course) • Model existing system including its limitations • Model target system’s logical requirements • Model candidate technical solutions 9-31 • Model the target technical solution
  • 32. Classical Structured Analysis Rarely practiced anymore because cumbersome & time-consuming 1. Draw top-down physical DFDs that represent current physical implementation of the system. 2. Convert physical DFDs to logical equivalents. 3. Draw top-down logical DFDs that represent improved system. 4. Describe all data flows, data stores, policies, and procedures in data dictionary or encyclopedia. 5. Optionally, mark up copies of the logical DFDs to represent alternative physical solutions. 6. Draw top-down physical DFDs representing target 9-32 solution.
  • 33. Modern Structured Analysis (More Commonly Practiced) 1. Draw context DFD to establish initial project scope. 2. Draw functional decomposition diagram to partition the system into subsystems. 3. Create event-response or use-case list for the system to define events for which the system must have a response. 4. Draw an event DFD (or event handler) for each event. 5. Merge event DFDs into a system diagram (or, for larger systems, subsystem diagrams). 6. Draw detailed, primitive DFDs for the more complex event handlers. 7. Document data flows and processes in data dictionary. 9-33
  • 34. Structured Analysis Diagram Progression (1 of 3) 9-34
  • 35. Structured Analysis Diagram Progression (2 of 3) 9-35
  • 36. Structured Analysis Diagram Progression (3 of 3) 9-36
  • 37. CASE for Process Modeling 9-37
  • 38. Context Data Flow Diagram • Context data flow diagram - a process model used to document the scope for a system. Also called the environmental model. 1. Think of the system as a "black box." 2. Ask users what business transactions the system must respond to. These are inputs, and the sources are external agents. 3. Ask users what responses must be produced by the system. These are outputs, and the destinations are external agents. 4. Identify any external data stores, if any. 9-38 5. Draw a context diagram.
  • 40. SoundStage Functional Decomposition Diagram • Break system into sub-components to reveal more detail. • Every process to be factored should be factored into at least two child processes. • Larger systems might be factored into subsystems and functions. 9-40
  • 41. Events and Use Cases • External events are initiated by external agents. They result in an input transaction or data flow. • Temporal events are triggered on the basis of time, or something that merely happens. They are indicated by a control flow. • State events trigger processes based on a system’s change from one state or condition to another. They are indicated by a control flow. • Use case – an analysis tool for finding and identifying business events and responses. • Actor – anything that interacts with a system. 9-41
  • 42. SoundStage Partial Use Case List Actor/ Event Trigger Response External Agent (or Use Case) Marketing Establishes a new New Member Generate Subscription Plan membership Subscription Confirmation. subscription plan to Program Create Agreement in the entice new members. database. Marketing Establishes a new Past Member Generate Subscription Plan membership Resubscription Confirmation. resubscription plan to Program Create Agreement in the lure back former database. members. (time) A subscription plan (current date) Generate Agreement Change expires. Confirmation. Logically delete Agreement in database. Member Joins club by New Generate Member Directory subscribing. Subscription Update Confirmation. Create Member in database. Create first Member Order and Member Ordered Products in 9-42 database.
  • 43. SoundStage Partial Event Decomposition Diagram 9-43
  • 44. Event Diagrams Event diagram – data flow diagram that depicts the context for a single event. • One diagram for each event process • Depicts • Inputs from external agents • Outputs to external agents • Data stores from which records must be "read." Data flows should be added and named to reflect the data that is read. • Data stores in which records must be created, deleted, or updated. Data flows should be named to reflect the update. 9-44
  • 46. Event Diagram (more complex) 9-46
  • 50. Balancing Balancing - a concept that requires that data flow diagrams at different levels of detail reflect consistency and completeness • Quality assurance technique • Requires that if you explode a process to another DFD to reveal more detail, you must include the same dta flows and data stores 9-50
  • 51. Primitive Diagrams • Some (not necessarily all) event processes may be exploded into primitive diagrams to reveal more detail. • Complex business transaction processes • Process decomposed into multiple elementary processes • Each elementary process is cohesive - it does only one thing • Flow similar to computer program structure 9-51
  • 52. Primitive DFD (see book for more readable copy) 9-52
  • 53. Specifying a Data Flow Using a CASE Tool 9-53
  • 54. Process Logic • Data Flow Diagrams good for identifying and describing processes • Not good at showing logic inside processes • Need to specify detailed instructions for elementary processes • How to do it? • Flowcharts & Pseudocode - most end users do not understand them • Natural English - imprecise and subject to interpretation 9-54
  • 55. Problems with Natural English • Many do not write well and do not question writing abilities. • Many too educated to communicate with general audience • Some write everything like it was a program. • Can allow computing jargon, acronyms to dominate language. • Statements frequently have excessive or confusing scope. • Overuse compound sentences. • Too many words have multiple definitions. • Too many statements use imprecise adjectives. • Conditional instructions can be imprecise. • Compound conditions tend to show up in natural English. Source: Adapted from Matthies, Leslie, The New Playscript Procedure, 9-55 (Stamford, CT: Office Publications, Inc. 1977)
  • 56. Structured English Structured English – a language syntax for specifying the logic of a process. • Based on the relative strengths of structured programming and natural English. 9-56
  • 59. Structured English Restrictions on Process Logic • Only strong, imperative verbs may be used. • Only names that have been defined in project dictionary may be used. • Formulas should be stated clearly using appropriate mathematical notations. • Undefined adjectives and adverbs are not permitted. • Blocking and indentation are used to set off the beginning and ending of constructs. • User readability should always take priority. 9-59
  • 60. Policies and Decision Tables Policy – a set of rules that govern show a process is to be completed. Decision table – a tabular form of presentation that specifies a set of conditions and their corresponding actions. • As required to implement a policy. 9-60
  • 61. A Simple Decision Table 9-61
  • 62. Describing an Elementary Process Using a CASE Tool 9-62
  • 63. Data & Process Model Synchronization CRUD Matrix 9-63

Editor's Notes

  1. This repository of slides is intended to support the named chapter. The slide repository should be used as follows: Copy the file to a unique name for your course and unit. Edit the file by deleting those slides you don’t want to cover, editing other slides as appropriate to your course, and adding slides as desired. Print the slides to produce transparency masters or print directly to film or present the slides using a computer image projector. Each slide includes instructor notes. To view those notes in PowerPoint, click-left on the View Menu; then click left on Notes View sub-menu. You may need to scroll down to see the instructor notes.
  2. Chapter 9 objectives.
  3. Teaching Notes This slide shows the how this chapter's content fits with the building blocks framework used throughout the textbook. The emphasis of this chapter is upon PROCESSES. It also reflects the fact that process modeling may be performed during certain analysis phases and involves not only systems analysts…but owners and users.
  4. Teaching Notes In some books, the term logical is called a conceptual or essential . The term essential comes from the notion that the model represents the “essence” of the system. For database-oriented instructors, the term logical in the world of systems analysis is NOT equivalent to the term logical in the world of database. In the database world, a “logical schema” is already constrained by the choice of a database technology, which runs contrary to the systems analysis expectation that a logical model is technology- in dependent. In some books, the term physical is called implementation or technical . Emphasize that there are nearly always multiple technical solutions for any given set of business requirements. In most projects, there is one logical model that represents the mandatory and desirable business requirements, regardless of how those requirements might be implemented. On the other hand, given that one logical model, there are multiple candidate physical models that could represent alternative, technical implementations that could fulfill the business requirements (although analysts rarely draw more than one or two of those physical models).
  5. No additional notes
  6. Teaching Notes Many, if not most students have drawn or seen process models in the form of program flowcharts. Unfortunately, flowcharts are control-flow process models as opposed to data flow process models. This can cause some students trouble because they want to illustrate structured flow of control (nonparallel processing) in their early DFDs. Most introductory information systems books at least introduce, with one or two examples, DFDs.
  7. Teaching Notes We have found it useful to walk through this first DFD. Don’t be alarmed if students take exception to some of the oversimplification of the illustrated problem—it can actually contribute to the learning experience.
  8. No additional notes
  9. Teaching Notes It is very important to emphasize the external agents on DFDs are not the same as entities on ERDs (from Chapter 7) —especially if the instructor prefers the more traditional term “external entity.” This is true even though you could have both an entity (on an ERD) with the same name as an external agent/entity on a DFD. Consider the entity CUSTOMER and the external agent CUSTOMER: The entity CUSTOMER indicates the requirement to store data about customers. The external agent CUSTOMER indicates the requirement for an interaction (inputs and/or outputs) with customers. It is very important for students to understand that external agents are “processes” outside of the scope of the system or business. As such, as scope “increases,” external agents can become processes. Conversely, if scope “decreases,” processes can become external agents.
  10. Teaching Notes Emphasize that a data store contains all instances of a data entity (from the data model). That is why data store names are plurals (as contrasted to data entity names that are singular). Although we don’t prefer it, some analysts designate a data store to contain all instances of several entities and relationships from a data model. For example, an ORDERS data store might include all instances of the data entities ORDER and ORDERED PRODUCT, and all instances of the relationship between ORDER and ORDERED PRODUCT —We prefer the simplicity of representing each data entity from the data model as its own data store on the process models. Emphasize that because data stores are shared resources available to many processes, it is acceptable to duplicate them on several DFDs—The duplication does NOT indicate redundant storage (on logical DFDs); it merely represents the sharing of the data store by several processes.
  11. No additional notes.
  12. No additional notes.
  13. No additional notes
  14. Teaching Notes Decomposition is a top-down problem-solving approach. It might be useful to point out the numbering scheme. This scheme is common, but we do not like it because if the system is restructured, it forces renumbering all processes. Some instructors like to do a quick example using a small but realistic problem.
  15. No additional notes
  16. Teaching Notes Idea: Correct this diagram as an in-class exercise. 3.1.1: To correct the diagram, a data flow, ACCOUNTING DATA, should be added from the data store, MEMBER ACCOUNTS, to process 3.1.1. 3.1.2: To fix the black hole, we might add an output data flow called NEW MEMBER ACCOUNT from process 3.1.2 to the data store MEMBER ACCOUNTS. 3.1.3: To fix the miracle, you would need to at least add a data flow such as ACCOUNTING DATA from the data store, MEMBER ACCOUNTS, to process 3.1.3. In all likelihood, you also need some type of triggering data flow, such as ACCOUNT FREEZE AUTHORIZATION, from a new external agent, such ACCOUNTING DEPARTMENT, to process 3.1 3.
  17. Teaching Notes Most books do not teach “control flows.” The were initially proposed by Paul Ward in his books that extended structured analysis techniques to cover real-time systems. They are especially useful in contemporary information systems analysis because they are as close as structured analysis gets to illustrating “messages” in an object-oriented world. Make sure students do not confuse data flows with flowchart arrows. Flowchart arrows are not named because they merely indicate “the next step.” Data flows pass actual data attributes to and from processes. CRUD is a useful acronym from the database world to remember the basic data flows as they relate to data stores: C reate, R ead, U pdate (or change), and D elete. One of the most common uses of composite data flows is to combine many reports into a single data flow on a high-level DFD. They can also be used to combine similar transactions on a higher level DFD before differentiating between those flows on lower-level DFDs. Use case diagrams, an object-oriented analysis tool that also describes interfaces are taught in Chapter 7.
  18. No additional notes
  19. Teaching Notes Some DFD methodologies suggest that data flows to and from data stores not be named. We think this confuses the end-users when they try to read the diagrams. Also, we believe that it is easier to have DFD errors of omission if the rules state that some flows are named while others are not. Some DFD notations actually use the CRUD letters only to name flows to and from data stores. We consider this an acceptable alternative. CRUD is a useful acronym from the database world to remember the basic data flows as they relate to data stores: C reate, R ead, U pdate (or change), and D elete.
  20. No additional notes.
  21. No additional notes.
  22. Conversion Notes Many structured analysis books do not specifically use the term data structure, but the relational algebraic notation is very common in both books and CASE tools. Some books refer to data attributes as data elements . Some also call them data fields , but some would argue that field is a very technical-, implementation-, or physical-oriented term (that is not consistent with our emphasis on logical DFDs).
  23. Teaching Notes Bring several “physical” business forms to class. Transform one form into its relational algebraic data structure. Then, divide students into teams and ask them to perform the same exercise on a form and present their solutions to the class.
  24. Teaching Notes Point out that the same basic structures of sequence, selection, and iteration—that we applied to procedures using Structured English—are being applied here to describe data structures. We have never found any form or file structure that could not be described using this notation!
  25. Teaching Notes Point out that the same basic structures of sequence, selection, and iteration—that we applied to procedures using Structured English—are being applied here to describe data structures. We have never found any form or file structure that could not be described using this notation!
  26. Teaching Notes Point out that the same basic structures of sequence, selection, and iteration—that we applied to procedures using Structured English—are being applied here to describe data structures. We have never found any form or file structure that could not be described using this notation!
  27. Teaching Notes The same concepts with the same names were used in chapter 8.
  28. No additional notes.
  29. Teaching Notes Different CASE tools use different notations to illustrate converging and diverging data flows. In fact, some CASE tools do not even support this concept.
  30. Teaching Notes This is a context slide only. In this chapter, our demonstration of DFDs is exclusively for “systems analysis,” specifically “requirements modeling.”
  31. Teaching Notes It might be best NOT to show this slide to students. It is primarily intended to help instructors understand the differences between original structured analysis and contemporary structured analysis (the latter is shown on the next slide). This approach to systems analysis is rarely practiced and is no longer recommended even by its original evangelists, Tom DeMarco and Ed Yourdon. Yourdon officially updated the methodology based on the seminal work, Essential Systems Analysis , by McMenamin and Palmer. The revised approach is shown on the next slide.
  32. Teaching Notes Although this process may not be as familiar to some adopters as the top-down, fully leveled, classical “physical-logical-logical-physical” approach in the 1976 DeMarco methodology, this is the more contemporary approach and is taught in our book. The original approach is rarely, if ever, practiced because it is so labor intensive and time consuming.
  33. Teaching Notes The numbers in red correspond to the numbers on the previous slide.
  34. Teaching Notes The numbers in red correspond to the numbers on the slide 33.
  35. Teaching Notes The numbers in red correspond to the numbers on the slide 33.
  36. No additional notes.
  37. Teaching Notes This may be review from chapter 5.
  38. Teaching Notes Emphasize that a context DFD does not have to show every net data flow. For most systems, that would overwhelm the reader. Trivial or less common flows can be omitted until later diagrams, and composite data flows can be created to combine multiple flows. As a result, and in the strictest sense, not all primitive data flows may “balance” up to the context DFD, but we sacrifice that balancing to improve readability and validation. All data flows on the context DFD will balance down to the lower-level DFDs (although composite data flows will be replaced by their separate component data flows).
  39. No additional notes.
  40. Teaching Notes Events are very similar to use cases in object-oriented analysis. Events are represented on DFDs as data flows (for external events) or control flows (for temporal and state events).
  41. Teaching Notes Walk through this so that students understand what goes in a use case list for DFDs. This is an abbreviated list from what is shown in the text.
  42. Teaching Notes Most event decomposition diagrams will require multiple pages (or one very large plotter-style page) because most systems are required to respond to many events (possibly dozens or hundreds).
  43. No additional notes.
  44. No additional notes.
  45. No additional notes.
  46. No additional notes.
  47. Teaching Notes Most system DFDs will not fit on one or two pages —too many event processes. Instead they must be illustrated in a series of system diagrams that correspond to the structure originally depicted in the functional decomposition diagram.
  48. No additional notes.
  49. Teaching Notes Discuss balancing with the class, the concept that requires that data flow diagrams at different levels of detail reflect consistency and completeness.
  50. Teaching Notes It is important to recognize that not all events require a primitive DFD to be drawn. This is especially true of most report-writing and inquiry response event processes. Drawing detailed DFDs for such processes is usually little more than “busy work.”
  51. No additional notes.
  52. Teaching Notes The screen capture demonstrates the dialogue box used to insert the data structure for a data flow on a DFD. Each data flow would require a similar data structure to be specified.
  53. No additional notes.
  54. Conversion Notes The text on this slide has been shortened for the sake of readability. Refer to Figure 9-6 in the text for fuller explanations and examples.
  55. Teaching Notes On the diagram, we recorded the Structured English inside the process box to reinforce the fact that the Structured English specifies the underlying procedure being executed by the process. In practice, the procedural specification is recorded in a data dictionary/encyclopedia that is separate from the actual diagram (but linked to/associated with the process “name” on the DFD). If students are familiar with pseudocode, point out the similarities and differences between Structured English and pseudocode.
  56. No additional notes.
  57. Teaching Notes Decision tables are useful for simplifying very complex combinations of conditions. They replace complex, nested if-then-else selection structures.
  58. No additional notes.
  59. No additional notes.
  60. No additional notes
  61. No additional notes.
  62. No additional notes.
  63. No additional notes.