Professional Documents
Culture Documents
Lecture Outline
Traditional Approach vs. OOA Data Flow Diagrams (DFDs) DFD and Levels of Abstraction Context Diagrams DFD Fragments Physical and Logical DFDs Evaluating DFD Quality Documentation of DFD Components Locations and Communication Through Networks
2
Graphical system model that shows all main requirements for an IS in one diagram
Inputs/outputs Processes Data storage
Easy to read and understand with minimal training (only 5 symbols used) DFD integrates processing triggered by events (event table) with the data entities modeled by ERD
DFD Symbols
The square is an external agent (a person or organization, outside the boundary of a system that provides data inputs or accepts data outputs) The rectangle with rounded corners is a process (named Look up item available and can be referred to by its number, 1) A process defines rules (algorithms or procedures) for transforming inputs into outputs The lines with arrows are data flows (represents movement of data). Slide shows two data flows between Customer and process 1: a process input Item inquiry and process output named Item availability details The flat three-sided rectangle is a data store (a file or part of a database that stores information about data entity)
7
DFD Fragment Showing Use Case Look Up Item Availability from the RMO
10
DFD is a modeling technique that breaks the system into a hierarchical set of increasingly more detailed models DFD may reflect the processing at either a higher level (more general view of the system) or at lower level (a more detailed view of one process) These different views of the system (higher level versus low level) creates the levels of abstraction DFDs are decomposed into additional diagrams to provide multiple levels of detail Higher-level diagrams provide general views of system Lower-level diagrams provide detailed views of system
11
12
Context Diagrams
DFD that summarizes all processing activity for the system or subsystem
Highest level (most abstract) view of system Shows system boundaries System scope is represented by a single process, external agents, and all data flows into and out of the system
13
14
16
DFD Fragments
Self-contained models
Focus attention on single part of system Show only data stores required in the use case
17
18
DFD to model system requirements using single process for each use case/activity in system or subsystem Combines all DFD fragments together to show decomposition of the context-level diagram
Shows the entire system on a single DFD (in greater detail than on the context diagram)
Sometimes called diagram 0 Used primarily as a presentation tool Decomposed into more detailed DFD fragments
19
20
21
22
23
24
25
27
There is no single diagram 0. Instead, there is an event-partitioned DFD for each of the subsystems
Each event-partitioned DFD is a diagram 0 for a single subsystem
28
29
Logical model
Assumes implementation in perfect technology Does not tell how system is implemented
Physical model
Describes assumptions about implementation technology Developed in last stages of analysis or in early design E.g., the technology assumption is embedded in the name of process 1.1 Making copies for department chairs it is a manual task, which implies that the data store Old schedule 31 and the data flows into and out of process 1.1 are papers, etc.
32
Readable Internally consistent and balanced Accurately represents system requirements Reduces information overload rule of 7 +/- 2
Single DFD should not have more than 7 +/-2 processes No more than 7 +/- 2 data flows should enter or leave a process or data store in a single DFD
35
36
37
38
39
DFDs show three types of internal system component: processes, data flows and data stores The details of each component need to be described Lowest-level processes need to be described in detail Data flow contents need to be described Data stores need to be described in terms of data elements Each data element needs to be described
40
Process Descriptions
Each process on a DFD must be formally defined There are several options for process definition including decomposition. In a process of decomposition, a higherlevel process is formally defined by a DFD that contains lover-level processes, which, in turn, may be further decomposed into even lower-level DFDs. Eventually a point will be reached when a process becomes so simple that it can adequately be described by another process description method, i.e. without next lower-level DFD. These description methods include: - Structured English - Decision tables - Decision trees These models describe the process as an algorithm.
41
Structured English
Well-suited for lengthy sequential processes or simple control logic (single loop or if-then-else)
Ill-suited for complex decision logic or few (or no) sequential processing steps
42
43
44
45
46
47
48
49
Data flow is a collection of data elements Data flow definition is a textual description of data flows content and internal structure Lists all the elements, e.g. a New Order data flow consists of CustomerName, Customer-Address, CreditCard-Information, Item-Number and Quantity Often coincide with attributes of data entities included in ERD plus computed values
51
52
Data Flow Definition for RMO Products and Items Control Break Report
53
Length of element (usually for strings) Maximum and minimum values (for numeric values) Data dictionary repository for definitions of data flows, data stores, and data elements
54
55
A data store on the DFD represents a data entity on the ERD (so, no separate definition is needed, just a note referring to the ERD for details) If a data store are not linked to an ERD, a definition is provided as a collection of elements (like did for data flows)
56
Four components of a traditional analysis model are Data flow diagrams Entity-relationship diagram Process definitions Data definitions They form an interlocking set of specifications for system requirements DFD shows highest-level view of the system Other components describe some aspect of DFD These models were created in the 1970s and 1980s as a part of the structured analysis methodology
57
58
59
Identify locations where work is to be performed Draw location diagram a map that identifies all of the processing locations of a system (business offices, warehouses, manufacturing facilities) List functions performed by users at each location Build activity-location matrix - a table that describes the relationship between processes and the locations where they are performed Rows are system activities from event table Columns are physical locations Build activity-data (CRUD) matrixis a table that describes stored data entities, the locations from which they are accessed and the nature of the access (i.e. which activities require access to the data). Source of this information is: - the DFD fragments (traditional approach) and - sequence diagrams (OO approach) CRUD create, read, update, and delete 60
61
62
63
Readings
Todays lecture: Chapter 6 The Traditional Approach to Requirements For next lecture: Chapter 7 The ObjectOriented Approach to Requirements
64