Functional Modeling with Data Flow Diagrams

Similar documents
System Analysis and Design. Data Flow Diagram. System Analysis and Design

An Automatic Tool for Checking Consistency between Data Flow Diagrams (DFDs)

Chapter 6 Structuring System Requirements: Process Modeling 6.1

System Analysis & design

Slide 1 Welcome to Fundamentals of Health Workflow Process Analysis and Redesign: Process Mapping: Gane-Sarson Notation. This is Lecture d.

Fundamentals of Health Workflow Process Analysis and Redesign

Unit 6 - Software Design and Development LESSON 10 DESIGN TOOLS, INPUTS, OUTPUTS, STORYBOARDS

System Analysis and Design

Software Modeling & Analysis. - Introduction to SASD - Structured Analysis. Lecturer: JUNBEOM YOO

An Introduction to Business Process Modeling using Data Flow Diagrams

Lecture c, Process Mapping: Yourdon Notation for Data Flow Diagrams, covers Yourdon notation for data flow diagrams.

Fundamentals of Health Workflow Process Analysis and Redesign

CHAPTER 19: Building a Preliminary Behavioral Model

Structured Analysis and Structured Design

Modelling as a Communication Tool: Introduction to Process Modelling. Modelling. Simplification in modelling. Representation in modelling

SADT Structured Analysis & Design Technique

MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.

Process Modeling. Wei-Tsong Wang 1 IIM, NCKU

Structured Modeling Methods. Lecture 15: Advantages and Disadvantages. University of Toronto Department of Computer Science.

CHAPTER 4 Data and Process Modeling (Phase 2: Systems Analysis)

Process Modeling. Chapter 7. Class 05: Process Modeling 1

Process Modeling. Business Process Example. Process Design

SE Assignment III. 1. List and explain primitive symbols used for constructing DFDs. Illustrate the use of these symbols with the help of an example.

Process Modelling. Data flow Diagrams. Process Modelling Data Flow Diagrams. CSE Information Systems 1

We move from a general information system to a Computer Based Information System

Fundamentals of Health Workflow Process Analysis and Redesign

13/11/2017. Meltem Özturan misprivate.boun.edu.tr/ozturan/mis515

Chapter 9. Process Modeling. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved.

Requirements Engineering process

Requirements Engineering for Enterprise Systems

Methods for requirements engineering

Supporting Systems Engineering with Methods and Tools: A Case Study

Module 5. Function-Oriented Software Design. Version 2 CSE IIT, Kharagpur

System Analysis & design

History of object-oriented approaches

System Design and Modular Programming

ABSTRACTION OF DATA FLOW DIAGRAM FOR A C PROGRAM

Vocabulary-Driven Enterprise Architecture Development Guidelines for DoDAF AV-2: Design and Development of the Integrated Dictionary

Data Process Modeling: Context Diagrams & Data Flow Diagrams (DFDs)

Session 2b: structured specifications Purpose and criteria Structured specification components Introduction to dataflow diagrams

(Murlidhar Group of Institutions,Bhavnagar Road, Rajkot) by:-assit. Prof. Vijay Vora (SOOADM) MCA-III

Lecture Notes. Structured Systems Analysis

Transformation of analysis model to design model

SEEKING THE ACTUAL REASONS FOR THE "NEW PARADIGM" IN THE AREA OF IS ANALYSIS 2. GENERAL CHARACTERISTICS OF THE "STRUCTURED APPROACH" IN IS DEVELOPMENT

23. Action-Oriented Design Methods

H&A Engineering. Systems

Software Design Document (SDD) Template (summarized from IEEE STD 1016)

Overview. What is system analysis and design? Tools and models Methodologies

Unified Modeling Language (UML)

SYSTEMS DESIGN THROUGH THE USER INTERFACE. Jim Underwood School of Computing Sciences University of Technology, Sydney

An Agent Modeling Language Implementing Protocols through Capabilities

Lab 16: Visio Introduction

Data and Process Modeling

Chapter No 13 Batch Management Information Systems. Management Information Systems. Compiled By: Muzammil Ahmad Khan and Kashif Shaikh

STRUCTURED ANALYSIS AND SYSTEM SPECIFICATION

Design and Implementation of an Efficient Algorithm Using Data Structures: A Recipe for the Structured Process Called Top Down Programming

Data Flow Diagrams System Analysis ( (

Data. Entities. Accounting Information Systems. Chapter 4: Data Management

Object-Oriented Systems Analysis and Design Using UML

Software Development Methodologies

Requirements Engineering

FORMALIZED SOFTWARE DEVELOPMENT IN AN INDUSTRIAL ENVIRONMENT

MEMOCenterNG A full-featured modeling environment for organization modeling and model-driven software development

Fundamentals of Design, Implementation, and Management Tenth Edition

Software Language Engineering of Architectural Viewpoints

Diagram (DFD) in Developing Monitoring System (OPMS) of DTI

Flight Systems are Cyber-Physical Systems

Networked Restaurant Reservation

06. Analysis Modeling

Analysis and Design for Systems h. 9 th Edition

1. i. What are the 3 major components of a information system and show their relationship input output

Improving Suffix Tree Clustering Algorithm for Web Documents

Conceptual Data Modeling for the Functional Decomposition of Mission Capabilities

17/03/2018. Meltem Özturan

Perspectives on User Story Based Visual Transformations

IDEF* - A comprehensive Modelling Methodology for the Development of Manufacturing Enterprise Systems

Requirements Analysis

Entity Relationship Modelling

Darshan Institute of Engineering & Technology for Diploma Studies

Chapter 8. Database Design. Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel

C H A P T E R SYSTEM DESIGN

Chapter 1: Introduction

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

CS560: Formal Modelling and Implementation of Systems (Term II)

System Requirements Specification

Functional Design of Web Applications. (partially, Chapter 7)

Module 3. Overview of TOGAF 9.1 Architecture Development Method (ADM)

Requests Charges. Librarian. University affiliated patrons students, faculty, staff. Media Center Staff

Design and Evolution of an Agent-Based CASE System for OOAD

A l Ain University Of Science and Technology

OBJECT-ORIENTED SOFTWARE DEVELOPMENT Using OBJECT MODELING TECHNIQUE (OMT)

Sustainable software design with design patterns

Managing Change and Complexity

A l Ain University Of Science and Technology

Fundamentals of Health Workflow Process Analysis and Redesign

Chapter 4: Data Management

Department of Industrial Engineering. Sharif University of Technology

9 Structured design. Overview of structured design. Transaction analysis. Transform analysis. System integration

Software design simulation for quick and qualitative application development

InterPARES 2 Project

Transcription:

Functional Modeling with Data Flow Diagrams Amasi Elbakush 5771668 Teaching Assistant : Daniel Alami Utrecht University

1 Introduction Data Flow Diagrams (DFDs) are a visual representation of the flow of data in a system. It is widely used in the analysis and design of systems in spectrum of disciplines. It was developed by many established researchers such as Edward Yourdon and Tom DeMacro (Yourdon, 2006). One of the DFD's core step is decomposition of processes. After looking at the big picture of the system, which is the context diagram, the decomposition process for the main activities in it starts in a top down approach. It starts with a process along with its relative data flows and further break it down into a simpler processes and so on until the entire diagram is simple enough to analyse and understand. According to Li and Chen (2009) it can be achieved in 7 steps that require many iterations depending on the size and complexity of the system at hand, and the gradual refinement of each activity until the DFD is well representative of the system. Yourdon (2006 ) best defines Data flow diagram (DFD for short) as a modeling tool that allows us to picture a system as a network of functional processes, connected to one another by pipelines and holding tanks of data. DFDs illustrate functions and how data is exchanged in a system (Li & Chen, 2009). DFDs are commonly used to model systems, specifically operational systems, where functions are very complex and of high importance (Yourdon, 2006). Some characteristics of DFDs include annotation, ability to provide a system s activities and processes descriptions, analysis of a system in its design stages, and hierarchical decomposition of functions and processes (Li & Chen, 2009). DFD provides a set of symbols to illustrate the flow of data as well as a decomposition mechanism to explain the system at different levels of details. For the data flow analysis to be complete, a data dictionary explaining the different labels and necessary details as well as a process specification need to be included according to Li and Chen (2009). As mentioned earlier, one of DFDs main characteristics is hierarchical decomposition; that activities/processes can be expanded into deeper activities/processes. More specifically, some activities/processes in the parent diagram can be decomposed into elaborate ones in the child diagrams (Li & Chen, 2009). A context diagram, level 0 diagram, and related level n diagrams comprise the components of DFDs modelling set. The context diagram represents the scope of the system that demonstrate an overview of the different aspects of the system. Whereas the level 0 diagram represents the main processes, detailed data stores and flows in the system. The successive level n diagrams represent an expansion of a single activity/process in the previous diagram or the parent diagram (Li & Chen, 2009). The expansion or decomposition step is iterated to a point where the entire system is modelled thoroughly (Durugbo et al., 2010). A tree like pattern emerges with decomposition each time (Li & Chen, 2009).

2 Procedure The procedure for making a DFD involves many iterations that gradually refine each process. The general steps to make DFDs are adopted from Li and Chen (2009) and they are as follows: Step 1: Create a preliminary Context Diagram. Step 2: Identify Use Cases, i.e., the ways in which users most commonly use the system. Step 3: Create DFD fragments for each use case. Step 4: Create a level 0 diagram from fragments. Step 5: Decompose to level 1, 2,... Step 6: Go to step (1) and revise as necessary. Step 7: Validate the DFDs with users. Notation The four essential building blocks of DFDs are processes/activities, external entities, data flow and data store. First, an activity/process takes data flow as input and produces output. An activity/process can also be decomposed to sub activities/processes for more information. The Label for the activity needs to be a verb. Second, external entities represent start and end of external flow of data. They provide connection to the system s context (Li & Chen, 2009). The label for external entities needs to be a noun. The third part is data flow which represents the flow of information in the system. It transfers data between different parts of the system. It has direction, joints or splits, and its label needs to be a noun. Lastly, data store represents the permanent store of information as well as database placeholder. The label of a data store needs to be a noun (Li & Chen, 2009). There are two main notations for DFDs, the notation of Gane and Sarson and the extended notation of Ward and Mellor (Li & Chen, 2009). Figure 1 and 2 below demonstrates these two notations. Figure 1: DFD notation by Gane and Sarson (Source: Li & Chen, 2009)

3 Figure 2: DFD notation extended by Ward and Mellor (Source: Li & Chen, 2009) The main use of DFDs is modelling functions of systems and the analysis of a system. Since a system can be very complex to understand, DFDs provide a tool to study and analyse each part of the system in more details(ibrahim & Yen, 2011). DFDs help identify the functions a system uses, the interaction between these functions, as well as the flow of inputs and outputs. (Yourdon, 2006) DFDs were first introduced in the 1970s by Yourdon and Constantine as a tool for analysing structured designs. In the late 1970s, DFDs were developed by Tom DeMarco (Durugbo et al., 2010). Example [ to be re created for final version] To get a better idea of the application of DFDs in function modeling, an example of a food ordering System adopted from Li and Chen (2009) is discussed. The functionality of this system include: 1) A customer ordering food 2) Food order received 3) Foord order sent to the kitchen 4) A receipt is sent to the customer 5) and a report is sent to the manager. The first step to create a complete DFD is to create a context diagram of the system. In this step, the system boundaries are outlined as well as main data flows and interaction between external entities and the system. In this diagram there is a single main process/activity: Order Food. Customer, kitchen and Restaurant Manager represent the external entities. Figure 3: Context Diagram of Food ordering System (Source: Li & Chen, 2009)

4 The following steps are the identification of possible emergent use cases or processes from the previous diagram and combining their fragments into the Level 0 diagram. Those emergent use cases are updating inventory file, Goods sold file, and produce management report. The Level 0 diagram of the system is illustrated below as well as the flows and stores of data. Figure 4: Level 0 Diagram of the Food Ordering System (Source: Li & Chen, 2009) Procedure Description To give an idea of the DFD technique, a generic meta model is created through the application of method engineering approach. Method engineering is an engineering discipline created to guide the adaptation of methods in systems development. According to its original developer Sjaak Brinkkemper (1996) method engineering is the engineering discipline to design, construct and adapt methods, techniques and tools for the development of information systems (p. 276). One of the highlights of this discipline is the development of what is known as Process Deliverable Diagram (Weerd & Brinkkemper, 2008) for modeling methods and techniques. The main parts that represent a PDD are the meta process model and the meta data model and are based on UML diagrams. The meta process model resembles the activities of the technique, whereas the meta data model resemble the deliverable part of the PDD. The activity part is modeled on the left hand side of the PDD and the deliverables are modeled on the right hand side of the PDD. A PDD for creating a Data Flow Diagrams as proposed by Li and Chen (2009) is depicted in Figure 1 below. Both meta model sides have tables that further explain their contents. These are presented in the next section.

5 Figure 1. Process Deliverable Diagram for creating Data flow diagram The PDD includes the 7 steps proposed by Li and Chen (2009) to create a DFD. These steps are modeled as activities that gets executed concurrently and sequentially (the 6th step is modeled as the condition at the end of the process).

6 Activity Table Activities contained in the PDD are illustrated in the table below. This table summarizes the activities performed to create a DFD. Each activity is supplemented with a corresponding Description of its purpose. Note that these activities correspond to the left side of the above PDD. Table 1. Activity Table of the DFD technique Activity sub activities Description Create context diagram Identify use cases in the context diagram Identify system Identify core functions Draw CONTEXT DIAGRAM Define users Define use case Identify relations This creates a basic system overview with the core system functions needed. Identifying the possible the ways that users might use the system. For example, order food, update inventory, check balance etc. Create a DFD fragments (for each use case) Create Level 0 diagram Decompose Level 0 into relative child diagrams Validate the DFDs with users [Condition]: If not approved, go to Step 1 and revise as necessary For each use case identified, create a detailed DFD that decomposes each USE CASE into smaller detailed ones. Collect the DFD FRAGMENT created for each USE CASE and combine them in one DFD called LEVEL 0 DIAGRAM From LEVEL 0 DIAGRAM take any process that can be further broken down into simpler processes and create the next level n diagram OR CHILD DIAGRAM (level 1,2,...) Check with the system users if this final DFD is an accurate representation of the system. Reviewing the first diagram and see if any existent or emergent functionalities could be modified or added. Concept Table The deliverables from each activity performed to create a DFD are presented as concepts in the following table. Each concept is described further in the adjacent column. These deliverables represent the right hand side of the PDD. They are the result of each activity performed in order to create the DFD. Table 2. Concept table of the technique DFD

7 Concept DFD SYSTEM CORE FUNCTION CONTEXT DIAGRAM USE CASE USER RELATION DFD FRAGMENT LEVEL 0 DIAGRAM CHILD DIAGRAM VALIDATION REPORT Description A diagram that represent data flows, stores, sinks as well as processes that are performed on the data. The flow of data between the node is represented by links connecting these nodes. ( ISO/IEC/IEEE, 2010). System scope identified for creating the context diagram and the DFD. Specifies the core functions of the system identified with the users using the system. The CONTEXT DIAGRAM is the DFD representing the scope of a system. It shows the boundaries, external entities which interact with the system and the main flows of information between the system and the external entities (Li & Chen, 2009). A stepwise description of events or scenarios that may happen simultaneously ( ISO/IEC/IEEE, 2010). According to Li and Chen (2009), a use case represents the ways in which users most commonly use the system. Users identified that are involved in the use cases. The relation between the different functions in a use case. For example, the extend relationship. A DFD of the USE CASE of each activity in the CONTEXT DIAGRAM that have more details. The LEVEL 0 DIAGRAM is a DFD that represents the major processes, data flows and stores in s system at a high level of detail (Li & Chen, 2009). It is also regarded as the parent diagram. A stepwise decomposition of LEVEL 0 yields LEVEL 1 DIAGRAM, LEVEL 2 DIAGRAM etc (Li & Chen, 2009). A report from users of the system confirming the completeness and correctness of the final DFD. Related literature [to be re written for final version] DFDs were first described in the 1970s in classical books such as Structured Design by Constantine, Steven and Myer (1974) and Structured Design by Yourdon and Constantine (1975). According to Yourdon (2006), DFDs were first used as a notation for analysing systems problems in the software engineering specialty. As a result, DFD notation had been borrowed

in many graph theory papers. It remained a useful and suitable method for modeling functions and analysing systems (Yourdon, 2006). Although DFDs offer a suitable functional modeling method, Yourdon (2006) argues that they do not give specific details regarding the function components of the system that they model and that they need to be accompanied by dictionaries and specifications. Kojarski and Lorenz (2006) emphasise that DFDs do not imply process ordering. The labels resemble the role of identifiers only. Thus, when the communication between different parts of the system occur is not implied in DFDs. Avison and Fitzgerald (2003) mention the fact that data flow diagramming is a structured analysis technique provides the ability to analyse complex system from top to bottom. DFDs represent a useful systems analysis tool as they illustrate a clear overview of a system s boundaries, data flow, and connections. Le Vie and Donald (2000) state that DFDs offer system designers help in visualizing their current system while in the preliminary stages. Such benefit will make it convenient for designers to make changes and meet requirements for the system. However, the authors state that DFDs are most useful with smaller system as they tend to be complicated to interpret with large systems (Le Vie & Donald, 2000). Le Vie and Donald (2000) also recommend using DFDs in object oriented architectures and that they can be beneficial when used with object oriented languages. 8

9 References Avison, D. E., & Fitzgerald, G. (2003). Where now for development methodologies?. Communications of the ACM, 46 (1), (pp. 78 82). Brinkkemper, S. (1996). Method engineering: engineering of information systems development methods and tools. Information and Software Technology, 38(4), (pp. 275 280.) Durugbo, C., Tiwari, A., & Alcock, J. R. (2011). A review of information flow diagrammatic models for product service systems. The International Journal of Advanced Manufacturing Technology, 52 (9 12),(pp. 1193 1208). Gane, C. P., & Sarson, T. (1979). Structured systems analysis: tools and techniques. Prentice Hall Professional Technical Reference. Ibrahim, R., & Yen, S. Y. (2011). A Formal Model for Data Flow Diagram Rules. ARPN Journal of Systems and Software, 1(2), (pp. 60 61). ISO/IEC/IEEE. (2010). ISO/IEC/IEEE 24765:2010 Systems and software engineering Vocabulary. Geneva, Switzerland: ISO/IEC/IEEE. Kojarski, S., & Lorenz, D. H. (2006). Modeling aspect mechanisms: a top down approach. Proceedings of the 28th international conference on Software engineering, (pp.212 221). Le Vie, D. S., & Donald, S. (2000). Understanding data flow diagrams. Annual Conference Society for Technical Communication, 47, (pp. 396 401). Li, Q., & Chen, Y. (2009). Data Flow Diagram. Modeling and Analysis of Enterprise and Information Systems, (pp. 85 97). Springer Berlin Heidelberg.

10 Stevens, W. P., Myers, G. J., & Constantine, L. L. (1974). Structured design. IBM Systems Journal, 13(2), (pp. 115 139). Weerd, I., & Brinkkemper, S. (2008). Meta modeling for situational analysis and design methods. In M. R. Syed & S. N. Syed (Eds.), Handbook of research on modern systems analysis and design technologies and applications (pp. 35 54). Hershey, PA: Idea Group Publishing. Yourdon, E. & Constantine, L. (1975). Structured Design. Yourdon Press, New York. Yourdon, E. (2006). Just Enough Structured Analysis. Yourdon Press, New York, (pp. 147 166).