Dr. Syed Noman Hasany Review of known methodologies Analysis of software requirements Real-time software Software cost, quality, testing and measurements Object programming Knowledge engineering issues: knowledge representation using rules, frames & logic, basics of logical inference, and basics of search. Requirements Traceability Matrix System modeling is the process of developing abstract models of a system, with each model presenting a different view or perspective of that system. o A picture is a replacement of thousands of words. 4 Models for existing system during requirements engineering are used to clarify these systems’ functionalities. These models can be used as a basis for discussing systems’ strengths and weaknesses, leading to requirements for the new system. Models of the new system are used during requirements engineering to help explain the proposed requirements to other system stakeholders. Engineers use these models to discuss design proposals and to document the system for implementation. In a model-driven engineering process, it is possible to generate a complete or partial system implementation from the system model. 5 Behavioral models are models of the dynamic behavior of the system as it is executing. They show what happens or what is supposed to happen when a system responds to a stimulus from its environment. Stimuli can be of two types: 1. 2. Data: Some data arrives that has to be processed by the system. Events: Some event happens that triggers system processing. Events may have associated data but this is not always the case. 6 A. B. Data-driven Event-driven 7 Many business systems are data processing systems that are primarily driven by data. They are controlled by the data input to the system with relatively little external event processing. Their processing involves a sequence of actions on that data and the generation of an output. o For example, a phone billing system will accept information about calls made by a customer, calculate the costs of these calls, and generate a bill to be sent to that customer. 8 By contrast, real-time systems are often event driven with minimal data processing. o For example, a landline phone switching system responds to events such as ‘receiver off hook’ by generating a dial tone, or the pressing of keys on a handset by capturing the phone number, etc. 9 Used for data-driven modelling Data flow diagrams (DFDs) are one of the diagramming techniques(graphical models) used in structured systems analysis and design Data flow diagrams show: o Data flowing through a system to or from users (external entities) o The processes that transform the data o The data stores that hold the data 10 Process o Activity/function that is performed for some specific business reason. Names start with a verb and ending with a noun (e.g., “Determine request quantity”). Data Flow o A data flow is a single piece of data (e.g., quantity available) (also called a data element), should be named with a noun. Data Store o collection of data that is stored in some way, named with a noun and is assigned an identification number. External Entity o a person, organization, organization unit, or system that is external to the system, but interacts with it. 11 Data Flow Diagram Symbols 12 DFD Levels Decomposition is the process of modeling the system and its components in increasing levels of detail. Context DFD Overview of the organizational system. Level-0 DFD Representation of system’s major processes at high level of abstraction. Level-1 DFD Results from decomposition of Level 0 diagram. Level-n DFD Results from decomposition of Level n-1 diagram. 13 14 Shows the context into which the business process fits Shows the overall business process as just one process Shows all the outside entities that receive information from or contribute information to the system 15 Shows all the processes that comprise the overall system Shows how information moves from and to each process Adds data stores 16 Shows all the processes that comprise a single process on the level 0 diagram Shows how information moves from and to each of these processes Shows in more detail the content of higher level process Level 1 diagrams may not be needed for all level 0 processes 17 Shows all processes that comprise a single process on the level 1 diagram Shows how information moves from and to each of these processes Level 2 diagrams may not be needed for all level 1 processes Correctly numbering each process helps the user understand where the process fits into the overall system 18 NOTE: only one process symbol, and no data stores shown. Context diagram shows the system boundaries, external entities that interact with the system, and major information flows between entities and the system. 19 Level-0 DFD shows the system’s major processes, data flows, and data stores at a high level of abstraction. Processes are labeled 1.0, 2.0, etc. These will be decomposed into more primitive (lower-level) DFDs. Depletion means reduction. 20 Processes are labeled 4.1, 4.2, etc. These can be further decomposed in more primitive (lower-level) DFDs if necessary. Level-1 DFD shows the subprocesses of one of the processes in the Level-0 DFD. This is a Level-1 DFD for Process 4.0. 21 Level-n DFD shows the subprocesses of one of the processes in the Level n-1 DFD. Processes are labeled 4.3.1, 4.3.2, etc. If this is the lowest level of the hierarchy, it is called a primitive DFD. This is a Level-2 DFD for Process 4.3. 22 DFD Diagramming Rules Process No process can have only outputs or only inputs. Processes must have both outputs and inputs. Process labels should be verb phrases. 23 DFD Diagramming Rules Data Store All flows to or from a data store must move through a process. Data Store labels should be noun phrases. 24 DFD Diagramming Rules Source/Sink No data moves directly between external entities without going through a process. Interactions between external entities without intervening processes are outside the system and therefore not represented in the DFD. Source and Sink labels should be noun phrases. 25 DFD Diagramming Rules Data Flow Bidirectional flow between process and data store is represented by two separate arrows. Forked data flow must refer to exact same data item (not different data items) from a common location to multiple destinations. 26 DFD Diagramming Rules Data Flow Joined data flow must refer to exact same data item (not different data items) from multiple sources to a common location. Data flow cannot go directly from a process to itself, must go through intervening processes. 27 Some Common Errors 28 Balancing Balancing involves insuring that information presented at one level of a DFD is accurately represented in the next level DFD. 29 Balancing the DFD 30 1 input 1 output 2 inputs 1 output This is unbalanced because the process of the context diagram has only one input but the Level-0 diagram has two inputs. 31 These are balanced because the numbers of inputs and outputs of context diagram process equal the number of inputs and outputs of Level-0 diagram. 32 These are balanced because the numbers of inputs and outputs to Process 1.0 of the Level-0 diagram equals the number of inputs and outputs to the Level-1 diagram. 1 input 4 outputs 33 A composite data flow at a higher level may be split if different parts go to different processes in the lower level DFD. This remains balanced because the same data is involved, but split into two parts. 34 Tune Source is a company headquartered in southern California, known as the place to go to find rare audio recordings. Tune Source currently has a website that enables customers to search for and purchase CDs. This site was initially developed by an Internet consulting firm and is hosted by a prominent local Internet Service Provider (ISP) in Los Angeles. The IT department at Tune Source has become experienced with Internet technology as it has worked with the ISP to maintain the site. 35 Business Need: o This project has been initiated to increase sales by creating the capability of selling digital music downloads to customers through kiosks(stalls) in our stores, and over the Internet using our website. Business Requirements: o Using the Web or in-store kiosks, customers will be able to search for and purchase digital music downloads. The specific functionality that the system should have includes the following: • Search for music in our digital music archive. • Listen to music samples. • Purchase individual downloads at a fixed fee per download. • Establish a customer subscription account permitting unlimited downloads for a monthly fee. • Purchase music download gift cards. 36 37 38 39 40 41 42 Assignment 1: Find errors?? 43 Illustrate at least 4 point to point differences between DFDs and flow charting, by making two columns or by making comparable headings. 44 Construct the context diagram from the following level 0 diagram: 45