Alternative Approach to Systems Analysis Structured analysis Karolina

  • Slides: 35
Download presentation
Alternative Approach to Systems Analysis Structured analysis Karolina Muszyńska Based partly on: http: //www.

Alternative Approach to Systems Analysis Structured analysis Karolina Muszyńska Based partly on: http: //www. csun. edu/~dn 58412/IS 431_SP 13. html

Systems Analysis Approaches � Model-driven Analysis • Structured analysis • Information engineering • Object-oriented

Systems Analysis Approaches � Model-driven Analysis • Structured analysis • Information engineering • Object-oriented analysis � Accelerated Systems Analysis • Discovery prototyping • Rapid Architected Analysis 2

Model-Driven Analysis Model-driven Analysis emphasizes the drawing of graphical system models to document and

Model-Driven Analysis 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

Model-Driven Methods � � � Structured Analysis: a PROCESS-centered technique to analyze an existing

Model-Driven Methods � � � 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

Stages of Structured Analysis Within structured analysis we have the following phases: � Requirements

Stages of Structured Analysis 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

System Concept �A system is about taking input from the environment, transforming (processing) this

System Concept �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

Systems and Subsystems INPUT OUTPUT 7

Systems and Subsystems INPUT OUTPUT 7

System Decomposition 8

System Decomposition 8

Decomposition Diagram 9

Decomposition Diagram 9

Functional Decomposition Diagram 10

Functional Decomposition Diagram 10

Process Modeling with DFD Process Modeling is a technique for organizing and documenting the

Process Modeling with DFD 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

Data Flow Diagrams � DFD documents a business function/activity/task of a system as a

Data Flow Diagrams � 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

Elements of a DFD DE MARCO & YOURDON NOTATIONS GANE & SARSON NOTATIONS External

Elements of a DFD DE MARCO & YOURDON NOTATIONS GANE & SARSON NOTATIONS External Entity Data Flow 3 Process Pay Bill Data Store 13

Elements of a DFD SUPPLIER � An External Entity is a provider (source) or

Elements of a DFD 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” D 1 Accounts Receivable 14

Elements of a DFD DELIVERY DATA �A Data Flow represents a movement of data

Elements of a DFD 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

Levels of DFD � Context diagram � Level-0 diagram � Level-1 diagram ◦ Defines

Levels of DFD � Context diagram � Level-0 diagram � Level-1 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 ◦ 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 ◦ Shows sub-processes (activities or tasks) of Level-0 processes ◦ …. 16

DFDs - examples Context DFD for Food Ordering System 17

DFDs - examples Context DFD for Food Ordering System 17

DFDs - examples Level-0 DFD for Food Ordering System 18

DFDs - examples Level-0 DFD for Food Ordering System 18

DFDs - examples Level-1 DFD for ”Receive and Transform Customer Food Order” process 19

DFDs - examples Level-1 DFD for ”Receive and Transform Customer Food Order” process 19

Data Modeling with ERD Data Modeling (database modeling, information modeling) is a technique for

Data Modeling with ERD 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

Entity � An entity is a group of attributes corresponding to the same conceptual

Entity � 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

Attribute �An attribute is a descriptive property or characteristic of interest of an entity

Attribute �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

Entities: Identification �A key is an attribute, or a group of attributes, that assumes

Entities: Identification �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 (Student. ID, Driver. License. No) �A primary key (identifier) is that candidate key that will most commonly be used to uniquely identify a single entity instance (Student. ID) � Any candidate key that is not selected to become the primary key is called an alternate key (Driver. License. No) 23

Relationship �A relationship documents an association between one, two, or more entities � It

Relationship �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

Relationship � Generalization is a technique wherein the attributes that are common to several

Relationship � 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

ERDs - examples Title publication system 26

ERDs - examples Title publication system 26

ERDs - examples Project management system 27

ERDs - examples Project management system 27

Logic Modeling Logic modeling involves representing the internal structure and functionality of the processes

Logic Modeling 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

Modeling logic with decision tables A decision table is a diagram of process logic

Modeling logic with decision tables 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

Decision table - example 30

Decision table - example 30

Modeling logic with decision trees A decision tree is a graphical technique that depicts

Modeling logic with decision trees 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 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

Decision tree - example 32

Decision tree - example 32

Modeling temporal logic with state-transition diagrams/tables State-transition diagrams/tables are diagrams/ tables that illustrate how

Modeling temporal logic with state-transition diagrams/tables 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

State-transition diagram - example 34

State-transition diagram - example 34

State-transition table - example 35

State-transition table - example 35