modeling shari l. pfleeger and joanne m. atlee, software engineering: theory and practice, 4 th...

Post on 19-Jan-2018

220 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

top related