Chapter 12 Analysis Modeling

Slides:



Advertisements
Similar presentations
Chapter 7 Structuring System Process Requirements
Advertisements

Analysis Concepts, Principles, and Modeling
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Lecture 8- Analysis Modeling The Elements of Anaylsis Model The Elements of Anaylsis Model Data Modeling, Functional Modeling and Information Flow Data.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Analysis Modeling.
Chapter 8 Analysis Engineering Software Engineering: A Practitioner’s Approach by Roger S. Pressman.
Software Requirements Engineering Elaboration Process Lecture-13.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 Lecture 4 Behaviour Modelling Requirement Specification Object-Oriented Paradigm.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Analysis Modeling Over view of today’s lesson T he analysis model is the first technical representation of a system. Analysis modeling uses a combination.
Analysis Modeling Instructor: Dr. Jerry Gao. Analysis Modeling Jerry Gao, Ph.D. Jan Elements of the analysis model - Data modeling - Functional.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
CS /47 Illinois Institute of Technology CS487 Software Engineering Requirements II- part B Instructor David Lash.
Cardinality and Modality (ERD)
1 Lecture 3 Requirement Analysis System Analysis Concepts Modeling Techniques.
Requirements Modeling
Analysis Modeling Two primary methods today
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chapter 8 Analysis Modeling Adapted by Dan Fleck from: - Roger Pressman’s Slides Jochen.
CS451 - Lecture 6 1 CS451 Topic 6: DFD Tutorial Yugi Lee STB #555 (816)
Chapter 7 Structuring System Process Requirements
Lesson 3 ANALYSIS MODELLING.
Building The Analysis Model. Object-Oriented Analysis The object oriented analysis define all classes, the relationships and behavior associated with.
CS451 Introduction to Software Engineering Behavioral Modeling.
1 Chapter 8 Analysis Modeling Adapted by Dan Fleck from: - Roger Pressman’s Slides - - Jochen.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Analysis Modeling (cont’d) CpSc 372: Introduction to Software Engineering Jason O. Hallstrom Authorship Disclaimer. These slides.
Chapter 8 Analysis Modeling Adapted by Dan Fleck from: - Roger Pressman’s Slides Jochen.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chapter 6-7 Analysis Modeling Adapted by Dan Fleck from: - Roger Pressman’s Slides Jochen.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Data Flow Diagrams.
Chapter 7 Structuring System Process Requirements
1 Chapter 7 Requirement Modeling flow, behavior, patterns and Webapps.
1 Chapter 8 Analysis Modeling Adapted by Dan Fleck from: - Roger Pressman’s Slides - - Jochen.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 8: Analysis Modeling Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Analysis Modeling. Function Modeling & Information Flow  Information is transformed as it flows through a computer-based system. The system accepts input.
Chapter 3 Software Requirements
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 8: Analysis Modeling Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Chapter 8 Analysis & Modeling. Data Modeling examines data objects independently of processing focuses attention on the data domain creates a model at.
1 Chapter 6-7 Analysis Modeling Adapted by Dan Fleck from: - Roger Pressman’s Slides - - Jochen.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
CS 8532: Adv. Software Eng. – Spring 2009 Dr. Hisham Haddad Chapter 8 CS 8532: Advanced Software Engineering Dr. Hisham Haddad Class will start momentarily.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
Modern Systems Analysis and Design Fifth Edition
Chapter 7 Structuring System Process Requirements Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chapter 12 Analysis Modeling. Analysis Modeling ä Two primary methods today ä Structured Analysis ä Object-oriented analysis ä Some important considerations.
© 2005 by Prentice Hall Chapter 7 Structuring System Process Requirements Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 Functional Modeling Lecture # Recap We had talked about object-oriented static modeling in quite detail We had developed a OO static model of.
Course Instructor: Kashif I hsan 1. Chapter # 6 2.
Elements Of Modeling. 1.Data Modeling  Data modeling answers a set of specific questions that are relevant to any data processing application. e.g. ◦
1 8.1 Requirements Analysis Rules of Thumb Rules of Thumb Models should focus on requirements that are visible within the problem or business domain. The.
Chapter 8 Analysis Engineering
Software Engineering: A Practitioner’s Approach, 6/e Chapter 8 Analysis Modeling copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Requirements Modeling: Flow, Behavior, Patterns, and WebApps
Chapter 8 Analysis & Modeling
Chapter 8 Building the Analysis Model (2) Analysis Modeling
Data Dictionaries ER Diagram.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 8 Analysis Modeling copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Chapter 7 Requirements Modeling: Flow, Behavior, Patterns, and WebApps
ANALYSIS MODELING.
CS 8532: Advanced Software Engineering
Chapter 12 Analysis Modeling
Presentation transcript:

Chapter 12 Analysis Modeling

Analysis Modeling A set of models: data, function, and behavior Combination of text and diagrammatic forms Different points of view. Reviewed Work products: data object descriptions, entity relationship diagrams, …. Methods: Structured, Object-oriented, and others A set of models: data, function, and behavior The first technical representation of a system Methods: Structured, Object-oriented, and others Combination of text and diagrammatic forms Examine the software requirements from different points of view. Represent requirements in three “dimensions” – data, function, and behavior Must be reviewed Work products: data object descriptions, entity relationship diagrams, ….

Structure of Analysis model Analysis modeling: structured analysis & object-oriented analysis Primary objectives: To describe what the customer requires To establish a basis for the creation of a software design To define a set of requirements that can be validated once the software is built.

=========================

Data Modeling The elements of data modeling – data objects, attributes, and relationships

Data Modeling Analysis modeling: structured analysis & object-oriented analysis Primary objectives: To describe what the customer requires To establish a basis for the creation of a software design To define a set of requirements that can be validated once the software is built.

Why Data Modeling? examines data objects independently of processing focuses attention on the data domain creates a model at the customer’s level of abstraction indicates how data objects relate to one another

What is a Data Object? Object —something that is described by a set of attributes (data items) and that will be manipulated within the software (system) each instance of an object (e.g., a book) can be identified uniquely (e.g., ISBN #) each plays a necessary role in the system i.e., the system could not function without access to instances of the object each is described by attributes that are themselves data items

Typical Objects external entities (printer, user, sensor) things (e.g, reports, displays, signals) occurrences or events (e.g., interrupt, alarm) roles (e.g., manager, engineer, salesperson) organizational units (e.g., division, team) places (e.g., manufacturing floor) structures (e.g., employee record)

Identifying Objects and Operations define “objects” by underlining all nouns in the written statement of scope producers/consumers of data places where data are stored “composite” data items define “operations” by double underlining all active verbs processes relevant to the application data transformations consider other “services” that will be required by the objects

Data Objects and Attributes A data object contains a set of attributes that act as an aspect, quality, character-istic, or descriptor of the object object: automobile attributes: make model body type price options code

What is a Relationship? relationship —indicates “connectedness”; a "fact" that must be "remembered" by the system and cannot or is not computed or derived mechanically several instances of a relationship can exist objects can be related in many different ways

Cardinality & Modality Cardinality: define the maximum number of objects that can participate in a relationship Modality: the modality of a relationship is 0 if there is no explicit need for the relationship to occur or the relationship is optional. 1 if mandatory.

The ERD: An Example (1)

The ERD: An Example (2) request for service Customer places (1,1) standard task table (1,n) work order generates (1,1) (1,1) (1,1) selected from work tasks (1,w) consists of (1,w) (1,i) materials lists

Data Object Type Hierarchies

Associative Data Object

=========================

Function Modeling (function model = information model = Data Flow Diagram(DFD) ) <> flowchard

Function Modeling Analysis modeling: structured analysis & object-oriented analysis Primary objectives: To describe what the customer requires To establish a basis for the creation of a software design To define a set of requirements that can be validated once the software is built.

The Flow Model Every computer-based system is an information transform .... computer based system input output

Flow Modeling Notation external entity process data flow data store

External Entity A producer or consumer of data Examples: a person, a device, a sensor Another example: computer-based system Data must always originate somewhere and must always be sent to something

Process A data transformer (changes input to output) Examples: compute taxes, determine area, format report, display graph Data must always be processed in some way to achieve system function

Data Flow Data flows through a system, beginning as input and be transformed into output. base compute triangle area area height

Data Stores Data is often stored for later use. sensor # sensor #, type, location, age look-up sensor data report required type, location, age sensor number sensor data

Example Information is transformed as it flows through a computer-based system. DFD is a graphical representation that depicts that depicts information flow and the transforms that are applied as data mave from input to output. (function model = information model = Data Flow Diagram(DFD) ) <> flowchard

Constructing a DFD—I review ERD to isolate data objects and grammatical parse to determine “operations” determine external entities (producers and consumers of data create a level 0 DFD

Level 0 DFD Example processing request user requested video signal digital video processor monitor video source NTSC video signal Level 0 DFD (called fundamental system model/context model) represents the entire software element as a single bubble with input and output data indicated by incoming and outgoing arrows, respectively.

Constructing a DFD—II write a narrative describing the transform parse to determine next level transforms “balance” the flow to maintain data flow continuity develop a level 1 DFD “balance” the flow to maintain data flow continuity: input and output to each refinement must remain the same..

The Data Flow Hierarchy b x P y level 0 c a p2 f p1 b p4 d 5 g p3 e level 1

DFDs: A Look Ahead analysis model Maps into design model

Data Flow Diagramming: Guidelines all icons must be labeled with meaningful names the DFD evolves through a number of levels of detail always begin with a context level diagram (also called level 0) always show external entities at level 0 always label data flow arrows do not represent procedural logic

=========================

Behavioral Modeling

Behavior Modeling Analysis modeling: structured analysis & object-oriented analysis Primary objectives: To describe what the customer requires To establish a basis for the creation of a software design To define a set of requirements that can be validated once the software is built.

Behavioral Modeling events behavior Outside world Application

Real-Time Analysis Methods each introduces its own notation, but all propose an approach for representing control and separating it from data provide a mechanism for specifying events, states, and distributed processing begin at the analysis level and work to derive processor assignments, tasks and program architectures

Control Flow Diagram (CFD) the control flow diagram is "superimposed" on the DFD and shows events that control the processes noted in the DFD control flows—events and control items—are noted by a vertical bar implies an input to or output from a control dashed arrows spec (CSPEC) — a separate specification that describes how control is handled a dashed arrow entering a vertical bar is an input to the CSPEC a dashed arrow leaving a process implies a data condition a dashed arrow entering a process implies a control input read directly by the process control flows do not physically activate/deactivate the processes—this is done via the CSPEC

Example

Extensions for Real-Time Systems Ward & Mellor

Example

Extensions for Real-Time Systems Hatley & Pirbhai

Example

The States of a System state—a set of observable circum-stances that characterizes the behavior of a system at a given time state transition—the movement from one state to another event—an occurrence that causes the system to exhibit some predictable form of behavior action—process that occurs as a consequence of making a transition

State Transition Diagram (STD) make a list of the different states of a system (How does the system behave?) indicate how the system makes a transition from one state to another (How does the system change state?) indicate event indicate action draw a state transition diagram

State Transition Diagram Notation event causing transition action that occurs new state

Example full and start reading invoke manage-copying operator commands making copies reloading paper problem state full invoke read-op-input full and start invoke manage-copying copies done empty invoke reload paper not jammed jammed invoke problem-diagnosis

=========================

Data Dictionary The data dictionary has been proposed as a quasi-formal grammar for describing the content of objects defined during structured analysis.

Data Dictionary Analysis modeling: structured analysis & object-oriented analysis Primary objectives: To describe what the customer requires To establish a basis for the creation of a software design To define a set of requirements that can be validated once the software is built.

The Data Dictionary CASE: structured analysis and Design tool

Information Name: the primary name of the composite data item Aliases: other names for the data item Where used: data transforms (processes) that use the composite data item How used: the role of the data item (input, output, temporary storage, etc. Description: a notation for representing content (presented on next slide) Supplementary information: specific information about data types, pre-set values (if known) Although the format of dictionaries varies from tool to tool, most contain the following information.

Data Dictionary Notation

Example Build the requirements dictionary: Dial phone telephone number Telephone number tones Build the requirements dictionary: Name: Telephone number Aliases: none Where/How Assess against set-up (output) used: Dial phone (input) Description: telephone no. = [ local number | long distance number ] local number = prefix + access number long distance number = 1+ area code +local number area code = [800 | 888 | 561] prefix = *a three digit number that never starts with 0 or 1* access number = *any four number string* Format: alphanumeric data

%%%%%%%%%%%%%%%%%%%%%

The Mechanics of Structure Analysis

Data Modeling

ERD

DOD

%%%%%%%%%%%%

Function Modeling

1. Level 0 DFD

2. Level 1 DFD Underline the first occurrence of all nouns and italicize the first occurrence of all verbs. Example: ….SafeHome software 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 a key pad and function keys contained in the SafeHome control panel…

3. Level 2 DFD

Process Specification (PSPEC) bubble PSPEC narrative pseudocode (PDL) equations tables diagrams and/or charts

Creating Mini-Specs Software Specification

Creating a Process Specification (PSPEC) Using PDL

%%%%%%%%%%%

Behavior Modeling

Control Flow Diagram

Control Specification (CSPEC) The CSPEC can be: state transition diagram process activation tables combinatorial spec decision tables state transition table

Guidelines for Building a CSPEC list all sensors that are "read" by the software list all interrupt conditions list all "switches" that are actuated by the operator list all data conditions recalling the noun-verb parse that was applied to the software statement of scope, review all "control items" as possible CSPEC inputs/outputs describe the behavior of a system by identifying its states; identify how each state is reach and defines the transitions between states focus on possible omissions ... a very common error in specifying control, e.g., ask: "Is there any other way I can get to this state or exit from it?"

State Transition Diagram (STD)

Process Activation Table (PAT)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Data Dictionary The data dictionary has been proposed as a quasi-formal grammar for describing the content of objects defined during structured analysis.

Data Dictionary Analysis modeling: structured analysis & object-oriented analysis Primary objectives: To describe what the customer requires To establish a basis for the creation of a software design To define a set of requirements that can be validated once the software is built.

The Data Dictionary CASE: structured analysis and Design tool

Information Name: the primary name of the composite data item Aliases: other names for the data item Where used: data transforms (processes) that use the composite data item How used: the role of the data item (input, output, temporary storage, etc. Description: a notation for representing content (presented on next slide) Supplementary information: specific information about data types, pre-set values (if known) Although the format of dictionaries varies from tool to tool, most contain the following information.

Data Dictionary Notation

Example Build the requirements dictionary: Dial phone telephone number Telephone number tones Build the requirements dictionary: Name: Telephone number Aliases: none Where/How Assess against set-up (output) used: Dial phone (input) Description: telephone no. = [ local number | long distance number ] local number = prefix + access number long distance number = 1+ area code +local number area code = [800 | 888 | 561] prefix = *a three digit number that never starts with 0 or 1* access number = *any four number string* Format: alphanumeric data

######### The End ###########

Data Modeling Data object description (DOD) Identify objects Identify attributes Build data object table Entity relationship diagram (ERD) Identify entity relationship Identify cardinality & modality Build ERD Data object-type hierarchies, associative data objects…

Function Modeling Behavior Modeling Data Dictionary Data Flow Diagram (DFD) Process Specification (PSPEC) Behavior Modeling Control Flow Diagram (CFD) Control Specification (CSPEC) State Transition Diagram (STD) Process Activation Table (PAT) Data Dictionary

#########End###########

Writing the Software Specification Everyone knew exactly what had to be done until someone wrote it down!

Analysis Modeling: Where to Begin? A statement of scope can be acquired from: the FAST working document A set of use-cases the statement of scope must be “parsed” to extract data, function and behavioral domain information

Specification Guidelines

Specification Guidelines

Specification Guidelines

Analysis Modeling What Why How Who Product What  best representation of the requirements  combine the text and diagram Why  find error, inconsistency, omissions How  model data, functional, and behavioral requirements Product  data object descriptions, entity relationship diagrams, data flow diagrams, state transition diagrams, process specifications, and control specifications

Statement of Scope a relatively brief description of the system to be built indicates data that are input and output and basic functionality indicates conditional processing (at a high level) implies certain constraints and limitations

Flow Modeling Notes each bubble is refined until it does just one thing the expansion ratio decreases as the number of levels increase most systems require between 3 and 7 levels for an adequate flow model a single data flow item (arrow) may be expanded as levels increase (data dictionary provides information)