1 Structured Analysis Techniques
2 Data Flow Diagrams
3 Process models Process models show the overall process and the processes that are supported by the system A systems analysis process model consists of data flow diagrams (DFDs). A data flow diagram (DFD) depicts the flow of data through a system and the work or processing performed by that system.
4 Process models Data flow diagrams (DFDs) The DFD allows the system to be partitioned into independent units so that they, and thereby the system, can be more easily understood. The graphical aspect of DFDs means that they can be used both as static pieces of documentation and as a communication tool. DFD's contain four components: processes data flows data stores sources and sinks
Goods Purchase - Level 1 Order Goods Prepare check Receive delivery note Verify invoice order delivery note invoice Supplier Orders File Delivery Notes Invoice Filecheque Shop goods_request Supplier (Source) (Dataflow) (Process) (Datastore) (Sink)
6 Process models DFD components Processes The rectangles represent Processes or work to be done. A process is work performed on, or in response to, incoming data flows. A process must have at least one data flow into it and one data flow out of it. Processes cannot exist independently. External agents The circles represent - the boundary of the system. An external agent defines a person, organization unit, other system or other organization that lies outside the scope of the project but that interacts with the system being studied External agents provide the net inputs into a system and receive net outputs from a system.
7 Process models DFD Components (cont.) data flows The arrows represent, inputs and outputs, to and from the processes. A data flow is also used to represent the creation, deletion or updating of data in a file or database. A good analogy is that of a conveyor belt in a factory which takes data from one 'worker' to another. Each 'worker' then performs some process which may then result in another data flow on the conveyor belt.
8 Process models DFD Components (cont.) data stores The open-ended boxes represents files or databases etc.. Data stores correspond to all instances of a single entity in a data model. A data flow from a data store to a process indicates that data are to be “read” for some specific purpose. A data flow from a process to a data store indicates that data are to be created, deleted, or updated in/from that data store.
9 Illegal data flows Agent 1 Agent 2 file Agent 3 file Agent 3 file
10 Process models DFD Leveling DFDs allow the analyst or user to look at the system at different levels of detail. Even in quite small systems a level 1 DFD may contain many processes and look cluttered. To overcome this it is usual to 'break down' the level one DFD into a set of DFDs, a practice known as levelling. Context diagrams A Context DFD represents a system at a high level of detail in terms of its inputs from external entities and its outputs to external entities. A context diagram comprises one process box for the entire system, together with the external entities and the data flows that pass between them and the system.
11 Process models Level 1 diagrams. A level 1 DFD shows the system (as initially represented in a context diagram) in more detail. A level 1 diagram must have exactly the same inputs and outputs as the context diagram since it represents the same system but in more detail. The processes modelled in a level 1 diagram (and also in any further sub-levels), represent a breakdown of the activities which make up the system. Level 2 diagrams A level 2 diagram may exist for every process on a level 1 diagram. That is, each level 2 diagram relates to a single process on the corresponding level 1 diagram.
1 2 3 Sub- Process Sub-sub- Process Elementary Process Description -Decision tables -Decision Trees -Structured English Level 0 Level 1 Level 2 Level 3 Level 4 Overall Process
13 Process models Advantages of DFDs Since they are easily understood by users, they are easier to validate for correctness. It is therefore easy to determine whether requirements are correct. DFDs allow the analyst to abstract to whatever level of detail is required so that it is possible to examine a system in overview and at a more detailed level. The DFD specifies the system at a logical level rather than a physical level. The benefit of this separation is that the users can specify their requirements without any restriction being imposed of a design nature, for example, the exact hardware requirements.
14 Example 1 Description of a Purchasing System The purchasing system receives requests for goods from the shop manager. The purchasing system orders goods from a Supplier. When goods are ordered, the order is sent to the Supplier, and details are stored in the orders file. When the Supplier sends a delivery note this is recorded in the delivery-note file. When the Supplier sends an invoice this is verified by reading the delivery-note file, and then recording the details in the invoice file. Cheques are then prepared by reading the invoice file, checking this against the orders file, and then sending out a check to the Supplier.
15 Example 1 ProcessInputOutputExternal Agents Data Store Order Goods goods request order; order dets shop; supplier order-file Receive Delivery Note delivery note note details supplier delivery notes verify invoice invoice invoice details supplier invoice-file prepare cheque invoice details; cheque supplier invoice-file; order details order-file
16 Example 1 Goods Payment System delivery-note invoice order Supplier Shop goods_request cheque Goods Payment System - Context Level
Goods Purchase - Level 1 Order Goods Prepare check Receive delivery note Verify invoice order delivery note invoice Supplier Orders File Delivery Notes Invoice Filecheque Shop goods_request Supplier
18 Example 2 Another example - Order verification system A customer sends in an order form containing details of their order, and their membership number. A check is made to ensure that they are a member. After the order is verified for membership credentials, a check is made to verify that the items ordered are produced by the company. If the order is valid it is used to create an invoice, which is sent on to the Order Fulfilment System.
19 Customer Order verification system Order Fulfilment order_form Invoice Example 2 Order Verification System - Context Level
20 Customer Verify club membership Verify item ordered Create invoice Order Fulfilment Member file Items file order_form member_dets verified order valid order items_dets invoice Example 2 Order Verification - Level 1