Documente Academic
Documente Profesional
Documente Cultură
All copyright information MUST appear if these slides are posted on a website for student
use.
All copyright information MUST appear if these slides are posted on a website for student
use.
Sensor
name/id
type
location
area
characteristics
identify()
enable()
disable()
reconfigure ()
Entry/subsystems ready
Do: poll user input panel
Do: read user input
Do: interpret user input State activities
All copyright information MUST appear if these slides are posted on a website for student
use.
attribute
Another common form:
object 1 relationship
object 2
(0, m) (1, 1)
(1,i)
materials lists
1 1 1
W a llS e g m e n t W in d o w D oor
DisplayWindow Camera
<<access>>
{password}
All copyright information MUST appear if these slides are posted on a website for student
use.
computer
input based output
system
process
data flow
data store
base
compute
triangle area
area
height
sensor #
sensor #, type,
look-up location, age
sensor
report required data
type,
location, age
sensor number
sensor data
a c p2
p1
f
p4 b
d 5
p3 e g
level 1
bubble
PSPEC
narrative
pseudocode (PDL)
equations
tables
diagrams and/or charts
analysis model
Maps into
design model
activation tables
state diagrams
All copyright information MUST appear if these slides are posted on a website for student
use.
Data-centered architectures
Data flow architectures
Call and return architectures
Object-oriented architectures
Layered architectures
control
panel target system: surveillance
Security Function function
uses
homeowner
uses peers
uses
sensors sensors
c o m m u n ic a t e s w it h
Node
D e te cto r In d ic a t o r
F ig u r e 1 0 . 7 USoftware
These slides are designed to accompany M L r e la t io nEngineering:
s h ip s f o r S a f e HAo Practitioner’
m e s e c u r it y f usnApproach,
c t io n a r c h e t y7/e
pes
(McGraw-Hill, 2009). Slides copyright
( a d a p t e d f2009
r o m [ Bby
O S 0Roger
0]) Pressman. 131
Component Structure
architectural design
Program
Architecture
function 2
These slides are designed to accompanySoftware Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman. 140
Vertical Partitioning: Factoring
design so that decision making and work
are stratified
decision making modules should reside at
the top of the architecture
decision-makers
workers
Transform flow
This edition of
SEPA does not
cover transaction
mapping. For a
detailed
discussion see the
SEPA website
Transaction
flow
C
control
A
B
A
B
C
All copyright information MUST appear if these slides are posted on a website for student
use.
Source: Martin, R., “Design Principles and Design Patterns,” downloaded from http:www.objectmentor.com, 2000.
1: buildJob ( WOnumber )
2: submitJob ( WOnumber )
:WorkOrder
: JobQueue
walk to door;
reach for knob;
x1
b x2 c
x3 d
f e
x4
x5
easier to maintain
easy to review
Software Reusable
Domain
Architecture Artifact
Analysis
Development Development
Repository
Domain Structural Reusable
model Model Artifacts/
Components
Software Engineering
Specification
System
& Construction
Analysis
User Design
Requirements
Analysis
System Application
& Design
Spec Software
Models
Component qualification
Component adaptation
Component composition
Component update
All copyright information MUST appear if these slides are posted on a website for student
use.
Easy to learn?
Easy to use?
Easy to understand?
build
prototype #1
interface
build
prototype # n
interface
user
evaluate's
interface
design
modifications
are made
evaluation
is studied by
designer
Interface design
is complete
All copyright information MUST appear if these slides are posted on a website for student
use.
All copyright information MUST appear if these slides are posted on a website for student
use.
Interface
design
Aesthetic design
Content design
Navigation design
Architecture design
Component design
technology
Network
Hierarchical
structure
structure
link1
2 link2
NN2 4
NN1
NN4 NSU
link1NN3
3 link3
4
All copyright information MUST appear if these slides are posted on a website for student
use.
All copyright information MUST appear if these slides are posted on a website for student
use.
Development step
with reviews
These slides are designed to accompanySoftware Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 289
Informal Reviews
Informal reviews include:
a simple desk check of a software engineering work
product with a colleague
a casual meeting (involving more than 2 people) for
the purpose of reviewing a work product, or
the review-oriented aspects of pair programming
pair programming encourages continuous
review as a work product (design or code) is
created.
The benefit is immediate discovery of errors and
better work product quality as a consequence.
To accomplish this …
Inspect a fraction a o
if
ea
c
h
so
ft
wa
r
e
wo
r
kpr
o
dui
.
c
t
,
R eco
rdt he nu m ber o
f
fa
u
l
t
s
,f
f
io
un
d
wi
t
h
in
a.
i
Develop a gross estimate of the number of faults within
work producti by multiplying fi
by 1/
a.
i
Sort the work products in descending order according to
the gross estimate of the number of faults in each.
Focus available review resources on those work
products that have the highest estimated number of
faults.
These slides are designed to accompanySoftware Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 295
Chapter 16
Software Quality Assurance
Slide Set to accompany
Software Engineering: A Practitioner’s Approach, 7/e
by Roger S. Pressman
All copyright information MUST appear if these slides are posted on a website for student
use.
measurement
All copyright information MUST appear if these slides are posted on a website for student
use.
requirements conformance
performance
an indication
of quality
Analysis modeling
Design modeling
System test
module
to be
tested
results
software
engineer test cases
test cases
These slides are designed to accompanySoftware Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 318
Unit Test Environment
driver
interface
local data structures
stub stub
test cases
RESULTS
These slides are designed to accompanySoftware Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 319
Integration Testing Strategies
• Bottom-up testing
• Sandwich testing
B F G
B F G
cluster
These slides are designed to accompanySoftware Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 322
Sandwich Testing
A
Top modules are
tested with stubs
B F G
cluster
These slides are designed to accompanySoftware Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 323
Regression Testing
Regression testing is the re-execution of some subset of
tests that have already been conducted to ensure that
changes have not propagated unintended side effects
Whenever software is corrected, some aspect of the
software configuration (the program, its documentation,
or the data that support it) is changed.
Regression testing helps to ensure that changes (due to
testing or for other reasons) do not introduce
unintended behavior or additional errors.
Regression testing may be conducted manually, by re-
executing a subset of all test cases or using automated
capture/playback tools.
catastrophic
extreme
serious
disturbing
annoying
mild
Bug Type
All copyright information MUST appear if these slides are posted on a website for student
use.
loop < 20 X
14
There are 10 possible paths! If we execute one
test per millisecond, it would take 3,170 years to
test this program!!
These slides are designed to accompanySoftware Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 342
Selective Testing
Selected path
loop < 20 X
white-box black-box
methods methods
Methods
Strategies
or
modules
V(G)
2 Since V(G) = 4,
there are four paths
3 Path 1: 1,2,3,6,7,8
4
5 6
Path 2: 1,2,3,5,7,8
Path 3: 1,2,4,7,8
Path 4: 1,2,4,7,2,4,...7,8
Finally, we derive test
7 cases to exercise these
paths.
Simple
loop
Nested
Loops
Concatenated
Loops Unstructured
These slides are designed to accompanySoftware Engineering: A Practitioner’s Approach, 7/e
Loops
(McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman. 352
Loop Testing: Simple Loops
Minimum conditions—Simple Loops
1. skip the loop entirely
2. only one pass through the loop
3. two passes through the loop
4. m passes through the loop m < n
5. (n-1), n, and (n+1) passes through
the loop
where n is the maximum number
of allowable passes
requirements
output
input events
All copyright information MUST appear if these slides are posted on a website for student
use.