PHASE 2 : SYSTEM ANALYSIS LESSON 5 PROCESS MODELING INTRODUCTION In the previous lesson, we have learned data modeling. Data modeling is a technique for defining business requirements for database. After we have completed the data modeling with an ER-Diagram, we can continue with the process modeling. In this lesson, we will continue the discussion on process modeling. We will discuss how the requirements definition and use cases are further defined into a process model. In this lesson, our focus on one tool that is used to represent the information gathered as parts of requirements gathering – data flow diagram. This lesson consists of four sections : Overview of process modeling DFD symbols Drawing DFD Use Case LEARNING OUTCOMES At the end of this lesson, students should be able to : define process modeling differentiate DFD symbols draw DFD use a case as a process modeling TERMINOLOGY No 1 Word Context diagram Definition A diagram that shows the system boundaries, external agents that interact with the system and major flows between them 2 Data flow A data that is input or output to or from a process 3 Data flow diagram A process model used to depict the flow of data through a system and work done by the system 4 Data store A stored data intended for later use 5 External agents An outside person, organization unit, system or other organization that interact with the system 6 Process A work performed by a system in response to incoming data flows or conditions 7 Process modeling A process-centered technique used to organize and document a system’s processes 5.1 OVERVIEW OF PROCESS MODELING System Planning Requirements Gathering Data Modeling √ Process Modeling System Analysis System Design System Implementation System Maintenance Figure 5-1: Process Modeling Activities in the System Analysis Phase Process modeling is a formal way of representing how an information system operates. It illustrates the processes or activities that are performed and how data moves among them in the system environment. Process modeling involves representing the functions, processes, manipulate, store and distribute the data among them and its environment. There are many different process modeling techniques can be used today. The most popular one is Data flow diagram (DFD). Data flow diagramming is a technique that diagrams the processes and the data passes among them in the system. It’s a traditional process modeling technique of structured analysis and design. Data flow diagram uses various symbols to show how the system transforms input data into useful information. There are two standard sets of data flow diagram symbols being used; DeMarco and Yourdon and Gane and Sarson. 5.2 DFD SYMBOLS Before we start draw a DFD for the system, we need to understand various types of symbols in DFD. DFD uses four basic symbols that represent processes, data flows, data stores and entities. Both standards; DeMarco and Yourdon and Gane and Sarson have a different ways to represent the symbols. Figure 5-2 shows how both standards represent the symbols for DFD. Symbol Name External Agents Data Store Process Gane & Sarson Symbols Yourdon Symbols Name Name Name Name Name Name Data Flow Figure 5-2: DFD Symbols 5.2.1 External Agents All information systems respond to events and conditions in the system’s environment. System’s environment includes external agents that form the boundary of the system and define where the system interfaces with its environment. It’s also referring to source or sink. External agents give an input to a system and receive an output from the system. An external agent of an information system are already fixed and defined. When the system is getting big, the external agents may be changed. An external agent can be an outside person, organization unit, system or organization that interacts with a system and eternal organization It can be such as : An office, department, division or individual from the same organization An organization, agency, or individual that is outside the organization Another business or information system System’s end users or managers Figure 5-2 shows how to represent an external agent. The name of the entity appears inside the symbols. External agents should be named with descriptive, singular nouns such as VENDOR and ACCOUNTING SYSTEM. System analyst called an external agent that supplies data to the system a source, and an entity that receives data from a system a sink. An external entity can be a source or a sink or both, but each entity must be connected to a process by a data flow. 5.2.2 Data Store Information system captures data to be used. This data is kept in a data store. A data store is used in a DFD in order to represent data that the system stores because one or more processes need to use the data. For instance, lecturers need to store student’s scores on tests and assignments during the semester so that they can assign final grades at the end of the semester. Figure 5-2 shows how to represent the data store. The name of the data store appears between the lines and identifies the data contains. A data store name should be in plural name consisting of a noun and adjectives, if needed. An example of data store is STUDENTS, ACCOUNT HOLDERS, INSURANCE POLICIES, and others. A data stores must be connected to a process with a data flow. Data stores describe things about which the business wants to store data such as : Persons : STUDENT, LECTURER, ADMINISTRATOR, DEPARTMENT Places : BUILDING, BLOCK, ROOM, BRANCH OFFICE Objects : BOOK, VEHICLE, PRODUCT Events : APPLICATION, LECTURE, REGISTRATION, RENEWAL Concepts : ACCOUNT, COURSE, QUALIFICATION, FUND 5.2.3 Process A system is a combination of processes. A process receives input data and produces output that has a different content, form or both and have a meaning for its environment. The process defines the boundary of the system. The system is must be inside the boundary. The system exchanges the input and output within its environment through a process. A process is a work performed by a system in response to incoming data flows or conditions. Figure 5-2 shows how to represent a process. The name of the process appears inside the rectangle the process name should identifies a specific function and consists of verbs (and adjective, if necessary) followed by a singular nouns. For example of process name are APPLY RENT PAYMENT, CALCULATE COMMISION, ASSIGN MARK and VERIFY ORDERS. 5.2.4 Data Flow As stated earlier, process respond to inputs and generate outputs. Meaning that each process should have at least one input and one output data flow. A data flow is a path for data to move from one part of the information system to another. A data flow in information system represents one or more data items. For example, a data flow could consist of a single data item (such as STUDENT_ID) or a set of data (such as class roster with student ID number, names, address). A data flow represents an input of data to a process or the output of data from a process. A data flow also represent the creation, reading, deletion or updating of data in a file or a database. Database is refers as data store in a DFD. Figure 5-2 shows how to represent a data flow symbols. The data flow name appears above, below or alongside with the line. 5.2.5 Exercises Answer TRUE or for FALSE for each of the questions below. 1. A data flow diagram is a process model. TRUE 2. A system is a combination of processes. TRUE 3. In a data flow diagram, rounded rectangles are used to represent a process. FALSE 4. The calculation of a student’s grade is represented on a data flow diagram as a process. TRUE 5. Sources and sinks are internal to the system. FALSE 5.3 DRAWING DFD 5.3.1 Context diagram Student info Lecturer Info STUDENT LECTURER Registration slip Fee Status COURSE Course Assigned COURSE REGISRTATION SYSTEM Course Info Student info Fee Status STUDENT FINANCIAL SYSTEM Figure 5-3: Context Diagram for Course Registration System 5.3.2 Diagram 0 DFD STUDENT Student info Course info 1 Register Student info Course 2 Registration Report Produce Registration report List Course Offered STUDENT COURSE 3 Lecturer Info Courses Course Fee status Student info LECTURER Assigned 4 Fee status Check Fee status Student info Course Assigned STUDENT FINANCIAL SYSTEM Figure 5-4: An example of Diagram 0 DFD for Course Registration System 5.3.3 Lower-level Diagram 1.1 Matric Num Get student profile Fee status 1.2 Student Info Register course List courses 1.3 View course Course Info COURSE Figure 5-5: An example of one of the lower level diagram for Course Registration System 5.3.4 Exercises Answer TRUE or for FALSE for each of the questions below. 1. Context diagrams have only more than one process. TRUE 2. A context data flow diagram defines the scope and boundary for the system and project. TRUE 3. A data flow cannot go directly back to the same process it leaves. TRUE 4. Data cannot move directly from a source to a sink. FALSE 5. The lowest-level data flow diagrams are called level-0 diagrams. FALSE 5.4 USE CASE Data flow diagram is a popular modeling tool that you can use to show system’s functionality and the flow of data. Use case modeling is another way to show the system’s functionality. Use case modeling helps the analyst to analyze the functional requirements of a system. Although use case modeling is often associated with object oriented system analysis and design, but the concepts is flexible enough, so it can be used in traditional approach of system analysis and design. 5.4.1 Use Case Use case modeling identifies and describes the system functions by using a tool called use cases. A use case is a depiction of a system’s behavior or functionality under various conditions as the system responds to requests from users (Hoffer et. al., 2005). A use case represents a single goal of the system and describes a sequence of activities and user interactions in trying to accomplish the goal. It describes the behavior of the system under the various situations as the system responds to request from principal actors. An actor initiates the request to the system, and the system responds the request. Use cases are represented by a horizontal ellipse with the name of the use case appearing above, below or inside the ellipse. A use case can be stated in a present-tenses verb phrase, containing the verbs (what should the system do) and the objects of the system (what the system should act on). 5.4.2 Actors A use case diagram consists of use cases and actors. An actor is anything that needs to interact with the system to exchange information. An actor initiates system activities; known as use case for the purpose of completing some task defined. A user is anyone who uses the system. An actor represents a role fulfilled by a user interacting with the system. An actor is not only human being but also can be organization, other information system. Figure 5-6 shows an example of representation of actor. There are four types of actors : primary business actor – the stakeholder which primarily benefits from the execution of the use case by receiving something of measurable primary system actor – the stakeholder that directly interfaces with the system to initiate the business or system events external server actor – the stakeholder that responds to a request from the use case defined external receiver actor – the stakeholder that is not primary actor but receives something of measurable from the use case. Figure 5-6: An Actor 5.4.3 Relationship A relationship is depicted as a line between two symbols on the use-case diagram. There are several meanings of the relationship, depends on how the lines are drawn and what types of symbols are connected. This type of relationship is: Association – a relationship between an actor and a use case exists when ever the use case describes an interaction between them. Association contains an arrowhead at the end touching the use case indicate that the use case was imitated by the actor on the other end of line. An association without an arrowhead indicates an interaction between the use case and external server or receiver actor. Extend Relationship – a use case may contain complex functionality consisting several steps which make it difficult to understand. So, to make it simpler, we can extend the relationship. It extends the use case by adding new behaviors or actions. It’s shown as a dotted line arrow pointing towards the use case that have been extended and labeled with the <<extend>> symbol. Include Relationship – a use case may contain several steps of functionality where we can combine this step to reduce redundancy. It’s an association between two use cases where one use case uses the functionality contained in the other. An include relationship implies that the use case where the arrow originates uses the use case where the arrow ends while it’s executing. It’s shown as a dotted line arrow pointing towards the use case that is being used and labeled with the <<include>> symbol. 5.4.4 Exercises Answer TRUE or for FALSE for each of the questions below. 1. A use case is a depiction of a system’s behavior or functionality under various conditions as the system responds to requests from users. TRUE 2. Use case analysis is the process of identifying and modeling business events, who initiated them, and how the system responds. TRUE 3. A relationship is anything that needs to interact with the system to exchange information. FALSE 4. An actor is not only human being but also can be organization, other information system. TRUE 5. Include relationship is a relationship type between an actor and a use case exists whenever the use case describe an interaction between them. FALSE SUMMARY This is the end of lesson Five. In this lesson, we have learned : Overview of process modeling DFD symbols Drawing DFD Use Case In the next lesson, we will continue our discussion on how to conduct an assessment before the information system project will be develop. SELF ASSESSMENT Fill in with the correct answer 1. _________________________ is a technique for organizing and documenting the structure and flow of data through a system's processes and /or the logic, policies and procedures to be implemented by a system's processes. Process modeling 2. A(n)_________________________ is a graphical tool that allows analysts to illustrate the flow of data in an information system. data flow diagram 3. A (n)_________________________ is used in a DFD in order to represent data that the system stores because one or more processes need to use the data. data store 4. A process receives _________________________ data and produces _________________________ that has meaning to its environment. Input; output 5. A _________________________ shows the scope of the organizational system, system boundaries, external entities that interact with the system, and major information flows between entities and the system. context diagram 6. _________________________ is an iterative process of breaking the description of a system down into finer and finer detail. Functional decomposition 7. A _________________________ is a data flow diagram that represents a system’s major processes, data flows, and data stores at a high level of detail. level-0 diagram 8. A _________________________ is a depiction of a system’s behavior or functionality under various conditions as the system responds to requests from users. use case 9. An _________________________ is anything that needs to interact with the system to exchange information. Actor 10. _________________________ is a relationship between an actor and a use case exists when ever the use case describes an interaction between them. Association relationship