Chapter 8 Testing the Programs Shari L. Pfleeger Joann M. Atlee 4 th Edition.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th...
-
Upload
randell-parrish -
Category
Documents
-
view
220 -
download
0
description
Transcript of Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th...
Modeling
Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4th edition, Prentice Hall, 2009.Hans Van Vliet, Software Engineering: Principles and Practice, third edition, John Wiley & Sons, 2008.
What Is a Model?
• Pairs (2 minutes)
2
Models
• ‘Complete’ meaning no additional information is needed to understand the system from that perspective
• abstraction of some entity – understand before build – omits nonessential details
• examples: – architectural models to show customers – airplane scale models – storyboards of advertisements – outlines of books
3
Different Models
Several models will be considered in developing our system
• Use case model: describes requirements from the user perspective
• Design model: describes classes and objects• Implementation model: source code• Test model: test cases and test procedures
4
Investigate:
• People and machines playing some role (actors)
• Items produced, consumed, or modified• Functions performed• Modes of operation that determine
when functions are performed
5
Analysis
• All aspects of the problem domain need to be investigated.
• Decompose the problem into smaller problems until the entire problem is fully understood.
• The models that depict information, function, and behavior must be constructed in a manner that uncovers detail.
6
Note:
• "Remember that all models are wrong; the practical question is how wrong do they have to be to not be useful.";
• "Essentially, all models are wrong, but some are useful."
– George E.P. Box & Norman R. Draper, Empirical Model-Building and Response Surfaces (Wiley 1987) pp. 74 and 424. (Professor of statistics, U of Wisconsin)
7
Purposes of a Model:
• Testing a real entity before building it • Communication with customers • Visualization • Reduction of complexity
8
Operational Principles: Analysis Methods
• The information domain of a problem must be represented and understood.
• The functions that the software is to perform must be defined.
• The behavior of the software (as a consequence of external events) must be represented.
9
Modeling Views
It all comes down to these:• Objects: data• Functions: transformations of data• States: transitions controlling transformations
Functional
Data
Behavior STD ScenariosEvents
DFDFunctional decomposition
ERD
10
Data (Static) Models
• Used to understand the data and actors in a system
• Abstraction of the information needed and generated by the system
• Describes the problem domain• Helps identify, classify, and abstract the
problem
11
Function (Transformational) Models
• Used to understand the transformations that take place in the system
• Used to understand the inputs and outputs for computations
12
State (Dynamic) Models
• Used to understand states and modes of the system
• Used to specify the flow of control through the system and system components
13
Modeling
DataDictionary
Object Model - static, structural, data aspects of system
Dynamic Model - temporal, behavioral, “control” aspects of system
Functional Model – transformational, “function” aspects of system
E-RDiagram
Class Diagram
State-Transition DiagramDecision TablesCollaboration Diagram
Data-flowDiagram
14
Static Models
• Entity Relationship Models• Class Models
15
Dynamic Models
• Event trace– Show a sequence of events and
associated responses• Message sequence chart
– Enhanced event trace notation– Vertical lines are entity time lines (time
flows from top to bottom)– Horizontal lines are messages or events
16
Dynamic Models (Cont.)
• State Machines– Should remind you of FSMs from theory. – Nodes are states– Arcs are transitions
• Event (condition)/action• Instantaneous
• Statecharts: UML state machine notation
17
Functional Models
• Data Flow Diagrams – Processes– Data– Data store
• Use Cases
18
Static Models
• Pairs (10 minutes)– Read about ER diagrams PP 263-265
• What are the nodes (node types)?• What are the edges?
19
In Class: Diagram the Following
• A library has books and journals, and each can be checked out.
• A patron has a name, a UTEP ID number, an address.
• A patron can check out any number of books or journals.
• When a book or journal is checked out, it must be returned in 5 days (so we must keep track of the checkout date)
20
In Class: Static Models
• Show how you can use an ER diagram to represent – Association– Aggregation– Generalization– Composition– role names– multiplicities
21