Karolina Muszyńska Based partly on: http://www.csun.edu/~dn58412/IS431/IS431_SP13.html Model-driven Analysis • Structured analysis • Information engineering • Object-oriented analysis Accelerated Systems Analysis • Discovery prototyping • Rapid Architected Analysis 2 Model-driven Analysis emphasizes the drawing of graphical system models to document and validate both existing and/or proposed systems. Ultimately, the system model becomes the blueprint for designing and constructing an improved system. 3 Structured Analysis: a PROCESS-centered technique to analyze an existing system and define business requirements for a new system. The models illustrate the system’s components: processes (functions, tasks) and their associated inputs, outputs, and files Information Engineering (IE): a DATA-centered, but process-sensitive technique to plan, analyze, and design information systems. IE illustrate and synchronize the system’s data and processes. Object-oriented Analysis (OOA): a technique that integrates data and process concerns into constructs called OBJECTS. OOA illustrate the system’s objects from various perspectives such as structure and behavior. 4 Within structured analysis we have the following phases: Requirements definition Requirements structuring ◦ Process modeling with Data Flow Diagrams (DFD) ◦ Data modeling with Entity Relationship Diagram (ERD) ◦ Logic modeling with Decision Tables/Trees and State-transition Diagrams/Tables Generating alternative solutions and selecting the best one 5 A system is about taking input from the environment, transforming (processing) this input, and releasing an output A system may be decomposed into subsystems A subsystem has its own input and output Output of one subsystem may become the input of other subsystems 6 INPUT OUTPUT 7 8 9 10 Process Modeling is a technique for organizing and documenting the structure and flow of data through system processes, and the logic, policies, and procedures to be implemented by the systems processes. Data Flow Diagram (DFD) is a graphical tool to depict the flow of data through a system and the work or processing performed by that system. 11 DFD documents a business function/activity/task of a system as a process DFD describes how data is manipulated within and at the boundaries of the system DFD shows detail of the interdependency among processes of the system, movements of data or info among the processes 12 DE MARCO & YOURDON NOTATIONS GANE & SARSON NOTATIONS External Entity Data Flow 3 Process Pay Bill Data Store 13 SUPPLIER An External Entity is a provider (source) or receiver (sink) of data and info of the system but is NOT part of the system An external entity defines a person, organization unit, or other organization that lies outside of the scope of the system but that interacts with the system being studied A Data Store is a storage/inventory of data: it contains information A data store is “data at rest” compared to a data flow that is “data in motion” D1 Accounts Receivable 14 DELIVERY DATA A Data Flow represents a movement of data among processes or data stores A data flow does NOT represent a document or a physical good: it represents the exchange of information in the document or about the good A data flow represents an input of data to a process, or the output of data from a process A Process is a work or action performed on input data flow to produce an output data flow A process must have at least one input data flow and at least one output data flow 3 Pay Bill 15 Context diagram ◦ Defines the boundary of the system ◦ Identifies external entities and external data flows ◦ Shows no detail on processes and data stores of the system Level-0 diagram ◦ Identifies the processes (functions of the system) ◦ Identifies external data flows between external entities and processes ◦ Identifies information storages for reference/record keeping (data stores) ◦ Identifies internal data flows between processes and data stores Level-1 diagram ◦ Shows sub-processes (activities or tasks) of Level-0 processes ◦ …. 16 Context DFD for Food Ordering System 17 Level-0 DFD for Food Ordering System 18 Level-1 DFD for ”Receive and Transform Customer Food Order” process 19 Data Modeling (database modeling, information modeling) is a technique for organizing and documenting a system’s data in a model. Entity Relationship Diagram (ERD) depicts data in terms of the entities and relationships described by the data. ERD is a conceptual model of data entities (things of interest), their attributes (characteristics of interest), and their relationships in an information system (technical independent) 20 An entity is a group of attributes corresponding to the same conceptual object about which we need to capture and store data (objects, persons, places, events, concepts) Entity is a set of occurrences (instances) of the object that it represents Entity must have a unique name, unique identifier and at least one attribute (the identifier itself) 21 An attribute is a descriptive property or characteristic of interest of an entity (also called element, property and field) The data type for an attribute defines what type of data can be stored in that attribute The domain of an attribute defines what values an attribute can take on The default value for an attribute is the value that will be recorded if not specified by the user 22 A key is an attribute, or a group of attributes, that assumes a unique value for each entity instance A group of attributes that uniquely identifies an instance of an entity is called a composite key. A candidate key is a “candidate to become the primary key” of instances of an entity (StudentID, DriverLicenseNo) A primary key (identifier) is that candidate key that will most commonly be used to uniquely identify a single entity instance (StudentID) Any candidate key that is not selected to become the primary key is called an alternate key (DriverLicenseNo) 23 A relationship documents an association between one, two, or more entities It must have a name (and may carry data) Degree of Relationship - defines how many entities are involved in a relationship ◦ ◦ ◦ ◦ Recursive (Unary) - only one entity involved Binary – two entities involved Ternary – three entities involved … Cardinality of Relationship - documents how many occurrences/instances of one entity can relate to a single occurrence/instance of another entity in a relationship (one-to-one, one-tomany, many-to-many) 24 Generalization is a technique wherein the attributes that are common to several types of an entity are grouped into their own entity, called a supertype. An entity subtype is an entity whose instances inherit some common attributes from an entity supertype and then add other attributes that are unique to an instance of the subtype. Dependency – a kind of relationship showing that instances of one entity are closely related with instances of other entity (are part of/consists of) 25 Title publication system 26 Project management system 27 Logic modeling involves representing the internal structure and functionality of the processes shown on DFDs. The primary deliverables from logic modeling are structured descriptions and diagrams that outline the logic contained within each DFD process as well as diagrams that show the temporal dimension of systems (when processes or events occur and how these events change the state of the system). The techniques used for modeling process decision and temporal logic are: decision tables, decision trees and state-transition diagrams and statetransition tables. 28 A decision table is a diagram of process logic where all of the possible choices and conditions the choices depend on are represented in a tabular form. In a decision table we have: condition stubs - the part that lists the conditions relevant to the decision, action stubs - the part that lists the actions that result for a given set of conditions, and rules - the part that specifies which actions are to be followed for a given set of conditions 29 30 A decision tree is a graphical technique that depicts a decision or a choice situation as a connected series of nodes and branches. Decision trees have two main components: decision points, which are represented by nodes, and actions, which are represented by ovals. Each path leaving a node corresponds to one of the options for that choice. For each node there are at least two paths that lead to the next step, which is either another decision point or an action. Each rule is represented by tracing a series of paths from the root node down the paths to the next node, until an action oval is reached. 31 32 State-transition diagrams/tables are diagrams/ tables that illustrate how processes are related to each other in time. They illustrate the states a system component can have and the events that cause change from one state to another. They are useful for systems where time is important, such as on-line and real-time applications. A state can be thought of as a mode or condition of existence for a process or other system component, as determined by current circumstances. Transitions from one state to another are caused by stimuli we refer to as events. Once a new state is entered an action associated with the state takes place. An event then triggers a transition to a new state and causes an action to occur. 33 34 35