Software Requirements Engineering Elaboration Process Lecture-15 Recap Object Oriented Analysis Behavioral Modeling Today’s lecture Structure analysis Flow oriented modeling Flow-Oriented Modeling What is a Data Flow Diagram? Known as DFDs A way to model a real world situation They are the interface between the real world activities and an understanding of how this can be converted into a computer system. Why do we use DFDs? It is a way of taking the physical view and converting it into a logical view. The physical view - all documents involved The logical view - the data they contain Their main purpose is to communicate with the user, the analyst’s understanding of the scope of the required system Where do they fit in? Life Cycle Phases Planning Feasibility Study Analysis Design Code and Unit test Analysis (What do we do?) Fact finding investigate business process and the current system modelling the current and required systems deliverables requirements specification logical models of the required system Data Flow Diagrams (DFD) DFDs describe the flow of data or information into and out of a system what does the system do to the data? A DFD is a graphic representation of the flow of data or information through a system Decomposition and Abstraction Decomposition - Divide and subdivide into manageable size problems Abstraction - Concentrate on the important issues and ignore the irrelevant 4 Main Elements external entity - people or organisations that send data into the system or receive data from the system process - models what happens to the data i.e. transforms incoming data into outgoing data data store - represents permanent data that is used by the system data flow - models the actual flow of the data between the other elements Outside Entity Is anything outside the system that is of interest to the system. Can be a person, a company or another system. Customer a Outside entity shows the Name and a lowercase alpha character is used to uniquely identify it. Customer a If an outside entity is repeated for the purpose of neat layout a line is added across the top. Data Flow Is shown by a line with an arrowhead, indicating the direction of the flow of data. Each data flow should be named to indicate what data is being passed. Nouns or adjectives only no verbs are permitted. The Levels Context - Overview - contains only one process Level 1 - Utilises all four elements Level 2 - A breakdown of a level 1 process Level 3 - A breakdown of a level 2 process There is no rule as to how many levels of DFD that can be used. Rules Sequence not important - getting the Process correct is Context or Level 0 - Identifies the system/ boundary/External Links Level 1 - Overview of function Level 2 - Breakdown to Understand Hard to know where to stop Rule of Thumb If there are more than 8 data flows break it Process of Identifying major Processes The Procedure for Constructing DFD’s Draw a document flow diagram of the current situation Draw a systems boundary around the agencies that are part of the system Draw a Context Diagram Identify processes in the system Complete the level 1 Current Physical DFD Notation • Data Flow • Process • External Entity • Data Store Level 0 - Context Diagram models system as one process which represents scope of the system identifies external entities and related inputs and outputs Level 1 - overview diagram gives overview of full system identifies major processes and data flows between them identifies data stores that are used by the major processes boundary of level 1 is the context diagram Level 2 - detailed diagram level 1 process is expanded into more detail each process in level 1 is decomposed to show its constituent processes boundary of level 2 is the level 1 process Other Notation Duplicates marked by diagonal line in corner System Boundary Elementary Processes - star in corner Process that is levelled - dots on top Rules for DFDs Numbering Labelling Balancing 5 Numbering On level 1 processes are numbered 1,2,3… On level 2 processes are numbered x.1, x.2, x.3… where x is the number of the parent level 1 process Number is used to uniquely identify process not to represent any order of processing Data store numbers usually D1, D2, D3... Labelling Process label - short description of what the process does, e.g. Price order Data flow label - noun representing the data flowing through it e.g. Customer payment Data store label - describes the type of data stored Make labels as meaningful as possible Balancing and data stores Balancing any data flows entering or leaving a parent level must by equivalent to those on the child level Data stores data stores that are local to a process need not be included until the process is expanded Identifying operations The SafeHome security function enables the homeowner to configure the security system when it is installed, monitors all sensors connected to the security system, and interacts with the homeowner through the Internet, a PC, or a control panel. During installation, the SafeHome PC is used to program and configure the system. Each sensor is assigned a number and type, a master password is programmed for arming and disarming the system, and telephone number(s) are input for dialing when a sensor event occurs. When a sensor event is recognized, the software invokes an audible alarm attached to the system. After a delay time that is specified by the homeowner during system configuration activities, the software dials a telephone number of a monitoring service, provides information about the location, reporting the nature of the event that has been detected. The telephone number will be redialed every 20 seconds until a telephone connection is obtained. The homeowner receives security information via a control panel, the PC, or a browser, collectively called an interface. The interface displays prompting messages and system status information on the control panel, the PC, or the browser window. Homeowner interaction takes the following form… Data Flow Diagram Context-level DFD for SafeHome security function