Skip to content

CH7: Process Oriented Analysis

Definitions

  • structured analysis
    • emphasizes processes and the flows of data data in and out of the processes.
    • based on system theory which assumes inputs are fed into processes to produce outputs.
    • has feedback to eliminate system entropy and complete the system model.
    • processes analyzed in isolation. then integrate processes into a system model.
    • system model
    • system has a hierarchy smaller systems, each has its own input, process, and output.
    • elementary components: the lowest level of the hierarchy, components can no longer be subdivided.
    • begins with 2 assumptions:
      1. we are interested in what the application to do: what are the functions of the system.
      2. top-down approach for problems: analyze external interfaces of the applications first, then high level functions (processes), then lower level functions (processes), and so on.
  • scope: defines the boundaries of the system to be analyzed. what’s inside the system and what’s outside the system.
  • context: is the environment in which the system operates. the context is outside the scope of the system.
  • context diagram: a diagram that shows the external interfaces of the system and the context in which the system operates.
  • data flow: the flow of data in and out of the system. (arrows).
  • components of context diagram:
    • square: external entity.
    • arrows: data flow.
    • circle: application.
    • context diagram
  • data flow diagram (DFD):
    • a diagram that shows the data flow in and out of the system.
    • describes Level 0 of the system.
    • we go down into components of the system to describe Level 1, Level 2, and so on.
    • the primitive level: the lowest level of the system, the level where the system can no longer be subdivided.
    • structured decomposition: the process of breaking down a system into smaller components.
    • data flow diagram
  • data dictionary: detailed definitions of each item in the data flow diagram DFD.
  • data dictionary example: https://imgur.com/7i8sOG4.png
  • state transition diagram: a diagram that shows the state of the system and the transitions between states.

structured system activities

  • The specific activities in structured systems analysis are:
    1. Develop context diagram
    2. Develop set of balanced data flow diagrams
    3. Develop data dictionary
    4. optional: develop state transition diagram (for online or real-time systems)
  • walk-through: formal review of analysis, design and code a program.

1. Develop Context Diagram

  • context diagram summarizes the scope of the project.
  • The dictionary information provided for a data flow is its name, contents, and contents’ source when it is not obvious.
  • context diagram only contains external entities and the application.
  • any internal entities are not shown in the context diagram.
  • ABC Rental context diagram https://imgur.com/07EXFQf.png
  • ABC Rental (Customer Entity dictionary definition) https://imgur.com/dAwrtGB.png
  • ABC Rental data flows:
    • new customer (inward flow): store information about new customer.
    • rental request (inward flow): customer choses a video to rent, the speak to the clerk who handles the request, then customer pays. (analogous to an order).
    • rental receipt (outward flow): the clerk gives the customer a receipt for the rental and the customer signs that receipt.
    • video return (inward flow): the customer returns the video to the clerk, calculate if late fees are due, and give the customer a receipt.
  • ABC data flow definitions (data dictionary) https://imgur.com/qdnBVv7.png

2. Develop Set of Balanced Data Flow Diagrams

  • ways to defines processes:
    1. direct indication from users/stakeholders.
    2. top-down: decompose the problem into smaller problems. then decompose the smaller problems into smaller problems. and so on. functions at each level are called processes each of which should independent problem.
    3. bottom-up: start by the details of task steps described by users, then combine them to define processes.
    4. outward-in: start from the context diagram to define boundary processes, follow data flows to define internal processes.
    5. functional sequence: start from data flows in the context diagram, define the first process, then define the next process, and so on.
  • timing is not important in data flow diagrams. eg. end of day, morning, etc. all defined as equal processes.
  • ignore exceptions in data flow diagrams.
  • pathological processes: processes with connection errors.
  • usually, sub-processes will become software modules.
  • aim for maximal cohesion and minimal coupling.
  • cohesion: the processes have only what they need and nothing more.
  • types of quality checks performed on the results of DFDs:
    1. correctness: syntax and connections in the diagram are accurate.
    2. completeness: diagram covers all parts of the problem.
    3. consistency: diagram is internally consistent.
  • ABC Rental expanded context diagram https://imgur.com/41ScpCW.png

3. Develop Data Dictionary

  • data dictionary is a list of all data items in the system.
  • data dictionaries:
    1. entity dictionary: list of all entities in the system.
    2. store dictionary: list of all stores in the system.
    3. process dictionary
    4. attribute dictionary
  • dictionary notation:
  • dictionary notation