Alternative Approach to Systems Analysis
Structured analysis
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
Systems Analysis Approaches
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 Analysis
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
Model-Driven Methods
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
Stages of Structured Analysis
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
System Concept
7
Systems and Subsystems
INPUT OUTPUT
8
System Decomposition
9
Decomposition Diagram
10
Functional Decomposition Diagram
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
Process Modeling with DFD
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
Data Flow Diagrams
DE MARCO & YOURDON
NOTATIONS
13
Elements of a DFD
External Entity
Data Flow
Process
Data Store
GANE & SARSON NOTATIONS
Pay Bill
3
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”
14
Elements of a DFD
Accounts Receivable
D1
SUPPLIER
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
15
Elements of a DFDDELIVERY DATA
Pay Bill
3
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
Levels of DFD
17
DFDs - examples
Context DFD for Food Ordering System
18
DFDs - examplesLevel-0 DFD for Food Ordering System
19
DFDs - examplesLevel-1 DFD for ”Receive and Transform
Customer Food Order” process
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
Data Modeling with ERD
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
Entity
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
Attribute
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
Entities: Identification
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-to-many, many-to-many)
24
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
Relationship
26
ERDs - examples
Title publication system
27
ERDs - examplesProject management system
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 state-transition tables.
28
Logic Modeling
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
Modeling logic with decision tables
30
Decision table - example
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
Modeling logic with decision trees
32
Decision tree - example
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
Modeling temporal logic with state-transition diagrams/tables
34
State-transition diagram - example
35
State-transition table - example