System analysis and design Safaa s.y. dalloul
Unit 6: Data flow diagrams • Creating Data Flow Diagrams • Context Diagram • Level 0 Diagram • Level 1 Diagram (and Below) • Validating Data Flow Diagrams • Creating Data Flow Diagrams • Introduction • Data Flow Diagrams (DFD) • Reading Data Flow Diagrams • Elements of Data Flow Diagrams • Using DFD to Define Business Process • Process Descriptions
Creating Data flow diagrams • Process model describes business process-the activities that people do. Process models are developed for the as-is system and/or the to-be system. • Data flow diagramming, one of the most commonly used process modeling techniques.
Introduction Process model • A formal way of representing how a business system operates. • Illustrates/Explain the activities that are performed and how data moves among them. Data flow diagramming • A common technique for creating process models
Introduction • Logical process models describe processes without suggesting how they are conducted • Physical process models provide information that is needed to build the system
Using DFD to Define Business Process • Business processes are too complex to be shown on a single DFD. • Decomposition is the process of representing the system in a hierarchy of DFD diagrams. • Child diagrams show a portion of the parent diagram in greater detail. • Balancing involves insuring that information presented at one level of a DFD is accurately represented in the next level DFD.
Process Descriptions • Text-based process descriptions provide more information about the process than the DFD alone. • If the logic underlying the process is quite complex, more detail may be needed in the form of • Structured English • Decision trees • Decision tables
Context Diagrams • The first DFD in every business process model. • Context Diagram shows the entire system as context with it's environment. • All process models have only one context diagram. • Context diagram shows overall process as just one process. • Context Diagram shows data flows with external entities or/and any other systems in the organization.
Context Diagrams • In a Patient Information system in a hospital, the system will interact with three entities (Patient, Insurance company, and doctors).
Context Diagrams • There are many data exchanging between the system and the patient, such as: • Collect patient information (i.e. name, phone and address …). • Receive an appointment request from the patient. • Receive payment information from the patient • Deliver appointments schedule to the patient • Deliver bills details to the patients
Context Diagrams • And there are only two data flows with Insurance company: • Sending bills to the company • And receiving Payment information
Context Diagrams • And finally the system will produce the following reports to doctors: • Appointment report • Patient report • Financial reports
Question • Draw the context diagram for student information system
Level 0 Diagram • Once you have the set of DFD fragments (One for each use case) you simply combine them into one DFD drawing that becomes Level 0 DFD. • In this DFD you'll add data stores. • Level 0 diagrams show the major process within the system, and major process within external entities, which are the sources or destination of data flows.
Level 0 Diagram • Try to put the first chronologically process to the left top corner, and then draw the diagram bottom right ways. • Reduce the number of crosses as few as possible. • Iteration is the cornerstone of good DFD design, the first time draw DFD to understand the system. • Second iteration; draw it for better understanding and to reduce number of crosses. And so on.
Level 0 Diagram • On Doctors office system, we have four different use cases in level 1, make appointment, maintain patient info, perform billing, and prepare management reports. • So you ( as analysts) have a choice to draw them all in one diagram (witch is preferred) or to divide them into four different diagrams. • The following is a cut of the level 0 diagram
Level 0 Diagram “Explain” • Patient provides his/here information (Name, and Address). • Process 1 checks patient's state in Patients Data Store, to update or insert … • Patient requests an appointment in a suitable time for him/her. • The process checks availability of these times by querying Appointments Data Store.
Level 0 Diagram “Explain” • Then Process 1 provides the patient with a potential appointments • So the patient will select the most suitable appointment. • And the Process finally updates Appointments Data Store to assign the selected appointment. • And finally informs the patient with this/here selection to be confirmed.
Level 1 Diagram • Generally, one level 1 diagram is created for every major process on the level 0 diagram. • Shows all the internal processes that comprise a single process on the level 0 diagram. • The process for creating the level 1 DFDs is to take the steps as written on the use cases and convert them into a DFD in much the same way as for the level 0.
Level 1 Diagram • Shows how information moves from and to each of these processes • If a parent process is decomposed into, for example, three child processes, these three child processes wholly and completely make up the parent process
To Explain the chart • This chart for a doctor office. • People start reading the diagrams from top-left corner of the DFD. • The item "Patient" is an external entity. • "Patient" entity has four different arrows pointing away from itself, represent bundles of data.
To Explain the chart • Rounded rectangles such as "Get Patient Name and Address" are actions/process that are performed. • Arrows are data flows, an arrow that pointing to an entity, or pointing to a process represent the inputs for this entity or process. • Arrows that pointing out of the entity/process represent outputsfor this entity/process.
Validating Data Flow Diagrams • There are two fundamentally different types of problems that can occur in DFDs, syntax errors and semantic errors. • Syntax Errors: refers to structure of the DFDs and whether the DFDs follow the rules of the language. • Semantic Errors: refers to the meaning of the DFDs and whether they accurately describe the business process being modeled.
For each DFD: • Check each data flow for: • A unique name: noun; description • Connects to at least one process • Shown in only one direction (no two-headed arrows) • A minimum number of crossed lines
For each DFD: • Check each data store for: • A unique name: noun; description • At least one input data flow • At least one output data flow
For each DFD: • Check each external entity for: • A unique name: noun; description • At least one input or output data flow
Across DFDs: Context Diagram: • Every set of DFDs must have one Context Diagram Viewpoint: • There is a consistent viewpoint for the entire set of DFDs
Across DFDs: Decomposition: • Every process is wholly and complete described by the processes on its children DFDs Balance: • Every data flow, data store, and external entity on a higher level DFD is shown on the lower level DFD that decomposes it No data stores or data flows appear on lower-lever DFDs that do not appear on their parent DFD.
Summarize the lecture • DFD • DFD Elements • DFD Levels • Context Diagram • Level 0 • Level 1 • Level 2 • Validating DFD
Safaa S.y. dalloul Safaadalloul.wordpress.com Thank You