Upload
muhammad-muchtar-aham
View
220
Download
0
Embed Size (px)
Citation preview
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
1/123
1
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Supplementary Slides for Supplementary Slides for Software Engineering:Software Engineering:A Practitioner's Approach, 5/eA Practitioner's Approach, 5/e
copyright 1996, 2001R.S. Pressman & Associates, Inc.
For University Use OnlyMay be reproduced ONLY for student use at the university level
when used in conjunction with Software Engineering: A Practitioner's Approach.
Any other reproduction or use is expressly prohibited.This presentation, slides, or hardcopy may NOT be used for
short courses, industry seminars, or consulting purposes.
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
2/123
2
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
D esign Concepts and PrinciplesD esign Concepts and Principles
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
3/123
3
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Analysis to D esignAnalysis to D esign
En t i ty-
elat io nsh ipDiagra
Data F lo Diagra
t a t e -Trans i t ionD i a g r a
Data Dic t ion ary
r o c e s s
pec i f i ca t ion (
EC )
Co ntro l
p ecifi cation (C S P E C )
D a t a b j ec t Desc r ip t ion
THE
L
SIS DEL
p r o c e d u r a ldes ign
in ter facedes ign
a rch i t ec tu ra ldes ign
data
des ign
THE DESIG DEL
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
4/123
4
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
W here D o W e Begin?W here D o W e Begin?
Spec
PrototypePrototype
esign
esign
modeling
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
5/123
5
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
D esign PrinciplesD esign PrinciplesThe design process should not suffer from tunnel vision.The design process should not suffer from tunnel vision.The design should be traceable to the analysis model.The design should be traceable to the analysis model.The design should not reinvent the wheel.The design should not reinvent the wheel.The design should minimize the intellectual distance [DAV9 5] between the softwareThe design should minimize the intellectual distance [DAV9 5] between the softwareand the problem as it exists in the real world.and the problem as it exists in the real world.The design should exhibit uniformity and integration.The design should exhibit uniformity and integration.
The design should be structured to accommodate change.The design should be structured to accommodate change.The design should be structured to degrade gently, even when aberrant data, events,The design should be structured to degrade gently, even when aberrant data, events,or operating conditions are encountered.or operating conditions are encountered.Design is not coding, coding is not design.Design is not coding, coding is not design.The design should be assessed for quality as it is being created, not after the fact.The design should be assessed for quality as it is being created, not after the fact.The design should be reviewed to minimize conceptual (semantic) errors.The design should be reviewed to minimize conceptual (semantic) errors.
From
avis [
AV95]
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
6/123
6
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
F undamental ConceptsF undamental Conceptsabstractionabstraction data, procedure, controldata, procedure, controlrefinementrefinement elaboration of detail for all abstractionselaboration of detail for all abstractionsmodularitymodularity compartmentalization of data andcompartmentalization of data andfunctionfunctionarchitecturearchitecture overall structure of the softwareoverall structure of the software
Structural propertiesStructural propertiesExtraExtra- -structural propertiesstructural propertiesStyles and patternsStyles and patterns
procedureprocedure the algorithms that achieve functionthe algorithms that achieve functionhidinghiding controlled interfacescontrolled interfaces
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
7/123
7
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
D ata AbstractionD ata Abstractiondoor
implemented as a data structure
manufacturer model number type
swing directioninsertslights
typenumber
weightopening mechanism
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
8/123
8
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Procedural AbstractionProcedural Abstraction
open
implemented with a "knowledge" of theobject that is associated with enter
details of enter algorithm
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
9/123
9
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Stepwise RefinementStepwise Refinementopen
walk to door;reach for knob;
open door;
walk through;close door.
repeat until door opensturn knob clockwise;if knob doesn't turn, then
take key out;find correct key;insert in lock;
endif pull/push door move out of way;end repeat
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
10/123
10
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
M odular D esignM odular D esigneasier t ild, easier t ange, easier t f ix ...
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
11/123
11
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
M odularity: TradeM odularity: Trade- -offsoffsWhat i the "r i ht" numb e r of modu l es What i s the " r i ht" numb e r of modu l es for a spe ci f i c s of twa r e d es i ? for a spe ci f i c s of twa r e d es i ?
o pt i m a l numb e r o pt i m a l numb e r of modu l es of modu l es
co st
of c
o st
of s of twa r e s of twa r e
n umb e r of modu l es n umb e r of modu l es
modu l e modu l e i nteg r at i o n i nteg r at i o n
co st co st
modu l e d e ve l o p m ent co st modu l e d e ve l o p m ent co st
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
12/123
12
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Sizing M odules: Two ViewsSizing M odules: Two Views
MODULE
What'sinside??
How bigis it??
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
13/123
13
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Functional Independence
Functional Independence
COHESION - the degree to which amodule performs one and only onefunction.COUPLING - the degree to which amodule is "connected" to other modules in the system.
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
14/123
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
15/123
15
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Information HidingInformation Hiding
modulemodulecontrolledcontrolledinterfaceinterface
"secret""secret"
algorithm algorithm data structure data structure details of external interface details of external interface resource allocation policy resource allocation policy
clientsclients
a specific design decisiona specific design decision
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
16/123
16
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
W hy Information Hiding?W hy Information Hiding?reduces the likelihood of side effectsreduces the likelihood of side effectslimits the global impact of local designlimits the global impact of local designdecisionsdecisions
emphasizes communication throughemphasizes communication throughcontrolled interfacescontrolled interfacesdiscourages the use of global datadiscourages the use of global dataleads to encapsulationleads to encapsulation an attribute of an attribute of
high quality designhigh quality designresults in higher quality softwareresults in higher quality software
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
17/123
17
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Architectural D esignArchitectural D esign
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
18/123
18
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
W hy Architecture?W hy Architecture?
The architecture is not the operational software. Rather, it is aThe architecture is not the operational software. Rather, it is arepresentation that enables a software engineer to: representation that enables a software engineer to:
(1) analyze the effectiveness of the design in meeting its stated(1) analyze the effectiveness of the design in meeting its statedrequirements,requirements,
(2) consider architectural alternatives at a stage when making design(2) consider architectural alternatives at a stage when making designchanges is still relatively easy, andchanges is still relatively easy, and
(3) reduce the risks associated with the construction of the software.(3) reduce the risks associated with the construction of the software.
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
19/123
19
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
D ata D esignD ata D esign
refine data objects and develop a set of datarefine data objects and develop a set of dataabstractionsabstractionsimplement data object attributes as one or implement data object attributes as one or
more data structuresmore data structuresreview data structures to ensure thatreview data structures to ensure thatappropriate relationships have beenappropriate relationships have beenestablishedestablishedsimplify data structures as requiredsimplify data structures as required
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
20/123
20
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
D ata D esignD ata D esign Component LevelComponent Level1. The systematic analysis principles applied to function and behavior should alsobe applied to data.2. All data structures and the operations to be performed on each should beidentified.3. A data dictionary should be established and used to define both data andprogram design.4 . Low level data design decisions should be deferred until late in the designprocess.5 . The representation of data structure should be known only to those modulesthat must make direct use of the data contained within the structure.6. A library of useful data structures and the operations that may be applied tothem should be developed.7. A software design and programming language should support the specificationand realization of abstract data types.
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
21/123
21
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Architectural StylesArchitectural Styles
D ataD ata--centered architecturescentered architecturesD ata flow architecturesD ata flow architecturesCall and return architecturesCall and return architectures
ObjectObject- -oriented architecturesoriented architecturesLayered architecturesLayered architectures
Each style describes a system category that encompasses: (1) a set of components(e.g., a database, computational modules) that perform a function required by asystem, (2) a set of connectors that enable communication, coordination andcooperation among components, (3) constraints that define how components can beintegrated to form the system, and (4) semantic modelsthat enable a designer tounderstand the overall properties of a system by analyzing the known properties of itsconstituent parts.
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
22/123
22
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
D ataD ata--Centered ArchitectureCentered Architecture
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
23/123
23
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
D ata F low ArchitectureD ata F low Architecture
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
24/123
24
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Call and Return ArchitectureCall and Return Architecture
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
25/123
25
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Layered ArchitectureLayered Architecture
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
26/123
26
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Analyzing Architectural D esignAnalyzing Architectural D esign1. Collect scenarios.1. Collect scenarios.2. E licit requirements, constraints, and environment description.2. E licit requirements, constraints, and environment description.3. escribe the architectural styles/patterns that have been chosen to address3. escribe the architectural styles/patterns that have been chosen to addressthe scenarios and requirements: the scenarios and requirements:
module view module view process view process view data flow view data flow view
4 . Evaluate quality attributes by considered each attribute in isolation.4 . Evaluate quality attributes by considered each attribute in isolation.5 . Identify the sensitivity of quality attributes to various architectural attributes for 5 . Identify the sensitivity of quality attributes to various architectural attributes for a specific architectural style.a specific architectural style.6. Critique candidate architectures (developed in step3) using the sensitivity6. Critique candidate architectures (developed in step3) using the sensitivity
analysis conducted in step5.analysis conducted in step
5.
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
27/123
27
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
An Architectural D esign M ethodAn Architectural D esign M ethod
"four bedrooms, three baths,lots of glass ..."
customer requi remen ts
archi tectural desi gn
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
28/123
28
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
D eriving ProgramD eriving Program
ArchitectureArchitecture
ProgramProgramArchitectureArchitecture
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
29/123
29
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Partitioning the ArchitecturePartitioning the Architecture
horizontal and vertical partitioninghorizontal and vertical partitioningare requiredare required
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
30/123
30
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Horizontal PartitioningHorizontal Partitioning
define separate branches of the moduledefine separate branches of the modulehierarchy for each major functionhierarchy for each major functionuse control modules to coordinateuse control modules to coordinatecommunication between functionscommunication between functions
function 1function 1 function 3function 3
function 2function 2
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
31/123
31
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Vertical Partitioning:Vertical Partitioning:F
actoringF
actoringdesign so that decision making and workdesign so that decision making and workare stratifiedare stratified
decision making modules should residedecision making modules should resideat the top of the architectureat the top of the architecture
workersworkers
decisiondecision- -makersmakers
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
32/123
32
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
W hy Partitioned Architecture?W hy Partitioned Architecture?
results in software that is easier to testresults in software that is easier to testleads to software that is easier to maintainleads to software that is easier to maintain
results in propagation of fewer sideresults in propagation of fewer sideeffectseffectsresults in software that is easier to extendresults in software that is easier to extend
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
33/123
33
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Structured D esignStructured D esign
objective:objective: to derive a programto derive a programarchitecture that is partitionedarchitecture that is partitionedapproach:approach:
the DFD is mapped into a program architecturethe DFD is mapped into a program architecturethe PSPEC and ST D are used to indicate thethe PSPEC and ST D are used to indicate thecontent of each modulecontent of each module
notation:notation: structure chartstructure chart
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
34/123
34
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
F low CharacteristicsF low Characteristics
Transform flow
Transactionflow
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
35/123
35
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
General
Mapping Approach
General
Mapping Approachisolate incoming and outgoing flowisolate incoming and outgoing flow
boundaries; for transaction flows, isolateboundaries; for transaction flows, isolatethe transaction center the transaction center
working from the boundary outward, mapworking from the boundary outward, mapF transforms into corresponding modulesF transforms into corresponding modules
add control modules as requiredadd control modules as required
refine the resultant program structurerefine the resultant program structureusing effective modularity conceptsusing effective modularity concepts
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
36/123
36
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Transform M appingTransform M apping
data flo odel
"Transfor " apping
ab
c
d ef
g h
ij
x1
x2 x3 x4
b c
a
d e f g i
h j
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
37/123
37
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
F actoringF actoring
typical "worker" modules
typical "decisionmaking" modules
direction of increasingdecision making
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
38/123
38
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
First Level
Factoring
First Level
Factoring
mainprogramcontroller
inputcontroller
processingcontroller
outputcontroller
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
39/123
39
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Second Level M appingSecond Level M apping
D
BA
A
B
Dm apping from the
flo boundary out ard
main
control
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
40/123
40
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Transaction F lowTransaction F low
T
incoming flow
action path
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
41/123
41
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Transaction ExampleTransaction Example
operator commands
processoperator commands
fixture setting
report
robot control
fixtureservos
displayscreen
robotcontrolsoftware
in reality, other commandswould also be shown
assemblyrecord
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
42/123
42
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Refining the Analysis M odelRefining the Analysis M odelwrite anEnglish language processing narrativewrite anEnglish language processing narrativefor the level 01 flow modelfor the level 01 flow model
apply noun/verb parse to isolate processes, dataapply noun/verb parse to isolate processes, dataitems, store and entitiesitems, store and entities
develop level 02 and 03 flow modelsdevelop level 02 and 03 flow models
create corresponding data dictionary entriescreate corresponding data dictionary entries
refine flow models as appropriaterefine flow models as appropriate
... now, we're ready to begin design! ... now, we're ready to begin design!
1.1.
2.2.
3.3.
4 .4 .
5 .5 .
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
43/123
43
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
D eriving Level 1D eriving Level 1P ro cess i ng na rr at iv e for " p ro cess o pe r at or comm an d s"
P ro cess o pe r at or comm an d s of t wa r e r ea d s o pe r at or comm an d s from t he ce llo pe r at or . An e rror m essage i s d i sp la ye d for i n v a li d comm an d s .The comm an d t ype i s d ete rm i ne d for v a li d comm an d s an d app ro p r i ate a ct i o n i s ta ken . When f i xt ur e comm an d s a r e en co unte r e d , f i xt ur e stat us i s ana lyze d an d a f i xt ur e sett i ng i s o utp ut t o t he f i xt ur e se r v o s .When a r ep or t i s se le cte d , t he asse m blyr e cord f i le i s r ea d an d a r ep or t i s gene r ate d an d d i sp la ye d o n t he o pe r at or d i sp la y s cr een .
When ro bo t co nt ro l s wi t ches a r e se le cte d , co nt ro l v a lues a r e sent t o t he ro bo t co nt ro l s yste m .
P ro cess i ng na rr at iv e for " p ro cess o pe r at or comm an d s"
P ro cess o pe r at or comm an d s of t wa r e r ea d s o pe r at or comm an d s from t he ce ll o pe r at or . An e rror m essage i s d i sp la ye d for i n v a li d comm an d s .The comm an d t ype i s d ete rm i ne d for v a li d comm an d s an d app ro p r i ate a ct i o n i s ta ken . When f i xt ur e comm an d s a r e en co unte r e d , f i xt ur e stat us i s ana lyze d an d a f i xt ur e sett i ng i s o utp ut t o t he f i xt ur e se r v o s .When a r ep or t i s se le cte d , t he asse m blyr e cord f i le i s r ea d an d a r ep or t i s gene r ate d an d d i sp la ye d o n t he o pe r at or d i sp la y s cr een .When ro bo t co nt ro l s wi t ches a r e se le cte d , co nt ro l v a lue s a r e sent t o t he ro bo t co nt ro l s yste m .
n o un -v e r bpa r se
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
44/123
44
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Level 1 D ata F low D iagramLevel 1 D ata F low D iagram
operator comm ands
readoperator
comm ands
deter m inecomm and
type
analyzefixturestatus
generatereport
sendcontrol
value
fixtureservos
displayscreen
robotcontrolsystem
asse mblyrecord
valid comm and
rror msg
fixture setting
report
robot control
fixture
select report
controlrobot
status
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
45/123
45
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Level 2 D ata F low D iagramLevel 2 D ata F low D iagram
readcommand
produceerror msg
validatecommand
determine
type
readfixturestatus
determinesetting
formatsetting
readrecord
calculateoutputvalues
formatreport
reportvalues
record
assemblyrecord
command
command invalid command
status
error msg
robot control
sendcontrolvalue
start /stop
combinedstatus
raw setting
fixture setting
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
46/123
46
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Transaction M apping PrinciplesTransaction M apping Principles
isolate the incoming flow pathisolate the incoming flow path
define each of the action paths by looking for define each of the action paths by looking for the "spokes of the wheel"the "spokes of the wheel"
assess the flow on each action pathassess the flow on each action path
define the dispatch and control structuredefine the dispatch and control structure
map each action path flow individuallymap each action path flow individually
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
47/123
47
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Transaction M appingTransaction M apping
data fl w del
ab
t
d e f
i
jl
appi
b
a
x1
t
x2
d e f
x3
g h x3.1
i j
x4
l
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
48/123
48
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Isolate F low PathsIsolate F low Paths
readcommand
produceerror msg
validatecommand
determine
type
readfixturestatus
determinesetting
formatsetting
readrecord
calculateoutputvalues
formatreport
reportvalues
record
assemblyrecord
command
command invalid command
status
error msg
robot control
sendcontrolvalue
start /stop
combinedstatus
raw setting
fixture setting
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
49/123
49
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
M ap the F low M odelM ap the F low M odelprocessoperator
commands
command
inputcontroller
readcommand
validatecommand
produceerror
message
determine
type
fixturestatus
controller
reportgenerationcontroller
sendcontrolvalue
each of the action paths must be expanded further
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
50/123
50
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Refining the Structure ChartRefining the Structure Chartprocess operator
comm ands
comm and input
controller
read comm and
validate comm and
produce error
message
deter m ine t pe
send controlvalue
read fi ture status
deter m ine se tting
f or m atse tting
read record
calculate outputvalues
f or matrepor t
fi ture status
controller
repor tgeneration controller
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
51/123
51
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Interface Are D esignedInterface Are D esigned
intermodular interface designintermodular interface designdriven by data flow between modulesdriven by data flow between modules
external interface designexternal interface designdriven by interface between applicationsdriven by interface between applicationsdriven by interface between software and nondriven by interface between software and non- -humanhumanproducers and/or consumers of informationproducers and/or consumers of information
humanhuman- -computer interface designcomputer interface designdriven by the communication between human anddriven by the communication between human andmachinemachine
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
52/123
52
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
U ser Interface D esignU ser Interface D esign
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
53/123
53
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Interface D esignInterface D esign
Easy to use?Easy to use?Easy to understand?Easy to understand?
Easy to learn?Easy to learn?
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
54/123
54
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Interface D esignInterface D esign
lack of consistencylack of consistencytoo much memorizationtoo much memorization
no guidance / helpno guidance / helpno context sensitivityno context sensitivitypoor responsepoor responseArcane/unfriendlyArcane/unfriendly
Ty p i ca l es i gn E rror s Ty p i ca l es i gn E rror s
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
55/123
55
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
G olden RulesG olden Rules
Place the user in controlPlace the user in controlReduce the users memory loadReduce the users memory loadM ake the interface consistentM ake the interface consistent
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
56/123
56
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Place the U ser in ControlPlace the U ser in Control
Define interaction modes in a way that does not force a user into unnecessary or Define interaction modes in a way that does not force a user into unnecessary or undesired actions.undesired actions.
Provide for flexible interaction.Provide for flexible interaction.
Allow user interaction to be interruptible and undoable.Allow user interaction to be interruptible and undoable.
Streamline interaction as skill levels advance and allow the interaction to beStreamline interaction as skill levels advance and allow the interaction to becustomized.customized.
ide technical internals from the casual user.ide technical internals from the casual user.
Design for direct interaction with objects that appear on the screen.Design for direct interaction with objects that appear on the screen.
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
57/123
57
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Reduce the U sers M emory LoadReduce the U sers M emory Load
Reduce demand on shortReduce demand on short--term memory.term memory.
Establish meaningful defaults.Establish meaningful defaults.
Define shortcuts that are intuitive.Define shortcuts that are intuitive.
The visual layout of the interface should be based on a real worldThe visual layout of the interface should be based on a real worldmetaphor.metaphor.
Disclose information in a progressive fashion.Disclose information in a progressive fashion.
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
58/123
58
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
M ake the Interface ConsistentM ake the Interface Consistent
Allow the user to put the current task into a meaningful context.Allow the user to put the current task into a meaningful context.
Maintain consistency across a family of applications.Maintain consistency across a family of applications.
If past interactive models have created user expectations, do not makeIf past interactive models have created user expectations, do not makechanges unless there is a compelling reason to do so.changes unless there is a compelling reason to do so.
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
59/123
59
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
U ser Interface D esign M odelsU ser Interface D esign M odels
System perceptionSystem perception the users mental imagethe users mental imageof what the interface isof what the interface isU ser modelU ser model a profile of all end users of thea profile of all end users of thesystemsystemSystem imageSystem image the presentation of thethe presentation of thesystem projected by the complete interfacesystem projected by the complete interfaceD esign modelD esign model data, architectural, interfacedata, architectural, interfaceand procedural representations of theand procedural representations of the
softwaresoftware
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
60/123
60
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
U ser Interface D esign ProcessU ser Interface D esign Process
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
61/123
61
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Task Analysis and M odelingTask Analysis and M odeling
All human tasks required to do the job (of theAll human tasks required to do the job (of theinterface) are defined and classifiedinterface) are defined and classifiedObjects (to be manipulated) and actionsObjects (to be manipulated) and actions(functions applied to objects) are identified(functions applied to objects) are identifiedfor each taskfor each taskTasks are refined iteratively until the job isTasks are refined iteratively until the job iscompletely definedcompletely defined
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
62/123
62
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Interface D esign ActivitiesInterface D esign Activities1. Establish the goals and intentions for each task.
2. Map each goal/intention to a sequence of specific actions.
3. Specify the action sequence of tasks and subtasks, also called a user scenario, asit will be executed at the interface level.4 . Indicate the state of the system, i.e., what does the interface look like at the timethat a user scenario is performed? 5 . Define control mechanisms, i.e., the objects and actions available to the user toalter the system state.
6. Show how control mechanisms affect the state of the system.
7. Indicate how the user interprets the state of the system from information providedthrough the interface.
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
63/123
63
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
D esign Evaluation CycleD esign Evaluation Cyclepreliminarydesign
buildprototype #1
interface
evaluationis studied by
designer
designmodifications
are made
buildprototype # n
interface
user evaluate'sinterface
Interface designis complete
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
64/123
64
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
ComponentComponent- -Level D esignLevel D esign
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
65/123
65
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
ComponentComponent- -Level D esignLevel D esign
the closest design activity to codingthe closest design activity to codingthe approach:the approach:
review the design description for thereview the design description for thecomponentcomponent
use stepwise refinement to develop algorithmuse stepwise refinement to develop algorithmuse structured programming to implementuse structured programming to implementprocedural logicprocedural logicuse formal methods to prove logicuse formal methods to prove logic
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
66/123
66
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Stepwise RefinementStepwise Refinement
openopen
walk to door;walk to door;reach for knob;reach for knob;
open door;open door;
walk through;walk through;close door.close door.
repeat until door opensrepeat until door opensturn knob clockwise;turn knob clockwise;if knob doesn't turn, thenif knob doesn't turn, then
take key out;take key out;find correct key;find correct key;insert in lock;insert in lock;
endif endif pull/push door pull/push door move out of way;move out of way;end repeatend repeat
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
67/123
67
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
The ComponentThe Component- -LevelLevelD esign M odelD esign M odel
represents the algorithm at a level of detailrepresents the algorithm at a level of detailthat can be reviewed for qualitythat can be reviewed for qualityoptions:options:
graphical (e.g. flowchart, box diagram)graphical (e.g. flowchart, box diagram)pseudocode (e.g., P D L)pseudocode (e.g., P D L) ... choice of many... choice of manyprogramming languageprogramming languagedecision tabledecision tableconduct walkthrough to assess qualityconduct walkthrough to assess quality
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
68/123
68
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Structured ProgrammingStructured Programmingfor Procedural D esignfor Procedural D esign
uses a limited set of logical constructs: uses a limited set of logical constructs: sequencesequenceconditionalconditional if if--thenthen--else, selectelse, select--casecase
loop sloop s dodo--while, rep eat untilwhile, rep eat untilleads to more readable, testable codeleads to more readable, testable code
imp ortant for achieving high quality,imp ortant for achieving high quality,but not enoughbut not enough
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
69/123
69
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
A Structured Procedural D esignA Structured Procedural D esign
a
x1
x2b
3x
4
5
c
d
ef
g
x
x
add a condition Z,if true, exit the progra
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
70/123
70
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Program D esign Language (P D L)Program D esign Language (P D L)
if-then-else
if condition xthen process a;else process b;
endif
PDL
easy to combine with source codemachine readable, no need for graphics input
graphics can be generated from PDL
enables declaration of data as well as procedure
easier to maintain
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
71/123
71
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
W hy D esign Language?W hy D esign Language?can be a derivative of the OL of choicee.g., Ada PDL
machine readable and processable
can be embedded with source code,therefore easier to maintain
can be represented in great detail, if designer and coder are different
easy to review
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
72/123
72
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Software Testing TechniquesSoftware Testing Techniques
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
73/123
73
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Software TestingSoftware Testing
Testing is the process of exercising aTesting is the process of exercising aprogram with the specific intent of findingprogram with the specific intent of findingerrors prior to delivery to the end user.errors prior to delivery to the end user.
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
74/123
74
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
TestabilityTestabilityOperabilityOperability it operates cleanlyit operates cleanlyObservabilityObservability the results of each testthe results of each testcase are readily observedcase are readily observedControlabilityControlability the degree to which testingthe degree to which testing
can be automated and optimizedcan be automated and optimizedD ecomposabilityD ecomposability testing can be targetedtesting can be targetedSimplicitySimplicity reduce complex architecturereduce complex architectureand logic to simplify testsand logic to simplify testsStabilityStability few changes are requestedfew changes are requestedduring testingduring testingU nderstandabilityU nderstandability of the designof the design
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
75/123
75
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
W hat Testing ShowsW hat Testing Shows
errorserrors
requirements conformancerequirements conformance
performanceperformance
an indicationan indicationof qualityof quality
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
76/123
76
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
W ho Tests the Software?W ho Tests the Software?
d e v e l o pe r d e v e l o pe r i n d epen d ent teste r i n d epen d ent teste r
Un d e r st an d s t he s yste mUn d e r st an d s t he s yste mbut , will test "gent l y"but , will test "gent l y"
an d , i s dr iv en by "d e liv e r y"an d , i s dr iv en by "d e liv e r y"
Must l e ar n abo ut t he s yste m,Must l e ar n abo ut t he s yste m,but , will atte mpt t o br e ak i t but , will atte mpt t o br e ak i t
an d , i s dr iv en by quali t yan d , i s dr iv en by quali t y
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
77/123
77
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Exhaustive TestingExhaustive Testing
loop < 20 Xloop < 20 X
There are 10 possible paths! If we execute oneThere are 10 possible paths! If we execute onetest per millisecond, it would take3,170 years totest per millisecond, it would take3,170 years totest this program!! test this program!!
1414
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
78/123
78
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Selective TestingSelective Testing
loop < 20 Xloop < 20 X
Selected pathSelected path
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
79/123
79
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Software TestingSoftware Testing
Methods
Strategies
white-boxmethods
black-boxmethods
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
80/123
80
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Test Case D esignTest Case D esign
"Bugs lurk in corners"Bugs lurk in cornersand congregate atand congregate atboundaries ..."boundaries ..."
Boris Beizer Boris Beizer
OBJECTI VE OBJECTI VE
CRIT ERIACRIT E RIA
CON STRAINT CON STRAINT
to uncover errorsto uncover errors
in a complete manner in a complete manner
with a minimum of effort and timewith a minimum of effort and time
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
81/123
81
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
W hiteW hite--Box TestingBox Testing
... our goal is to ensure that all... our goal is to ensure that all
statements and conditions havestatements and conditions havebeen executed at least once ...been executed at least once ...
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
82/123
82
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
W hy Cover?W hy Cover?
logic errors and incorrect assumptionslogic errors and incorrect assumptionsare inversely proportional to a path'sare inversely proportional to a path'sexecution probabilityexecution probability
we oftenwe often believebelieve that a path is notthat a path is notlikely to be executed; in fact, reality islikely to be executed; in fact, reality isoften counter intuitiveoften counter intuitive
typographical errors are random; it'stypographical errors are random; it'slikely that untested paths will containlikely that untested paths will containsomesome
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
83/123
83
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Basis Path TestingBasis Path Testing
First, we compute the cyclomaticcomplexity:
number of simple decisions + 1
or
number of enclosed areas + 1
In this case, V( ) = 4
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
84/123
84
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Cyclomatic ComplexityCyclomatic ComplexityA number of industry studies have indicatedA number of industry studies have indicatedthat the higher V( ), the higher the probabilitythat the higher V( ), the higher the probabilityor errors.or errors.
V( )V( )
modulesmodules
modules in this range aremodules in this range aremore error pronemore error prone
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
85/123
85
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Basis Path TestingBasis Path Testing
Next, we derive theNext, we derive theindependent paths: independent paths:
Since V( ) = 4 ,Since V( ) = 4 ,there are four pathsthere are four paths
Path 1: 1,2,3,6,7,8Path 1: 1,2,3,6,7,8Path 2: 1,2,3,5 ,7,8Path 2: 1,2,3,5 ,7,8Path 3: 1,2,4 ,7,8Path 3: 1,2,4 ,7,8Path 4 : 1,2,4 ,7,2,4 ,...7,8Path 4 : 1,2,4 ,7,2,4 ,...7,8
Finally, we derive testFinally, we derive testcases to exercise thesecases to exercise thesepaths.paths.
11
22
3344
55 66
77
88
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
86/123
86
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Basis Path Testing NotesBasis Path Testing Notes
you don't need a flow chart,you don't need a flow chart,but the picture will help whenbut the picture will help whenyou trace program pathsyou trace program paths
count each simple logical test,count each simple logical test,compound tests count as 2 or compound tests count as 2 or moremore
basis path testing should bebasis path testing should be
applied to critical modulesapplied to critical modules
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
87/123
87
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Loop TestingLoop Testing
NestedNestedLoopsLoops ConcatenatedConcatenated
LoopsLoops UnstructuredUnstructuredLoopsLoops
SimpleSimplelooploop
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
88/123
88
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Loop Testing: Simple LoopsLoop Testing: Simple Loops
M i n i mum co n d i t i o ns M i n i mum co n d i t i o ns Si m p l e Loo ps Si m p l e Loo ps
1. s ki p t he l oo p ent i r e l y1. s ki p t he l oo p ent i r e l y2. o n l y o ne p ass t hr ou gh t he l oo p 2. o n l y o ne p ass t hr ou gh t he l oo p
3. t wo p asses t hr ou gh t he l oo p 3. t wo p asses t hr ou gh t he l oo p 4 . m p asses t hr ou gh t he l oo p m < n 4 . m p asses t hr ou gh t he l oo p m < n 5 . (n 5 . (n --1), n , an d (n +1) p asses t hr ou gh1), n , an d (n +1) p asses t hr ou ght he l oo p t he l oo p
whe r e n i s t he m axi mum n um be r whe r e n i s t he m axi mum n um be r o f all o wabl e p asses o f all o wabl e p asses
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
89/123
89
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Loop Testing: Nested LoopsLoop Testing: Nested Loops
Start at the innermost loop. Set all outer loops to their Start at the innermost loop. Set all outer loops to their minimum iteration parameter values.minimum iteration parameter values.Test the min+1, typical, maxTest the min+1, typical, max--1 and max for the1 and max for theinnermost loop, while holding the outer loops at their innermost loop, while holding the outer loops at their minimum values.minimum values.Move out one loop and set it up as in step 2, holding allMove out one loop and set it up as in step 2, holding allother loops at typical values. Continue this step untilother loops at typical values. Continue this step untilthe outermost loop has been tested.the outermost loop has been tested.
If the loops are independent of one another If the loops are independent of one another then treat each as a simple loopthen treat each as a simple loopelse* treat as nested loopselse* treat as nested loopsendif*endif*
for example, the final loop counter value of loop 1 isfor example, the final loop counter value of loop 1 isused to initialize loop 2.used to initialize loop 2.
N ested LoopsN ested Loops
Concatenated LoopsConcatenated Loops
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
90/123
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
91/123
91
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Equivalence PartitioningEquivalence Partitioning
user user queriesqueries mousemouse
pickspicks
outputoutputformatsformats
promptsprompts
FKFKinputinput datadata
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
92/123
92
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Sample EquivalenceSample EquivalenceClassesClasses
user supplied commandsuser supplied commandsresponses to system promptsresponses to system promptsfile namesfile namescomputational datacomputational data
physical parametersphysical parametersbounding valuesbounding valuesinitiation valuesinitiation values
output data formattingoutput data formattingresponses to error messagesresponses to error messagesgraphical data (e.g., mouse picks)graphical data (e.g., mouse picks)
data outside bounds of the programdata outside bounds of the programphysically impossible dataphysically impossible dataproper value supplied in wrong placeproper value supplied in wrong place
Valid dataValid data
I nvalid dataI nvalid data
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
93/123
93
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Boundary Value AnalysisBoundary Value Analysis
user user queriesqueries mousemousepickspicks
outputoutputformatsformats
promptsprompts
FKFKinputinput datadata
outputoutputdomaindomaininput domaininput domain
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
94/123
94
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Other Black Box TechniquesOther Black Box Techniqueserror guessing methodserror guessing methodsdecision table techniquesdecision table techniques
cause effect graphingcause effect graphing
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
95/123
95
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Software Testing StrategiesSoftware Testing Strategies
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
96/123
96
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Testing StrategyTesting Strategy
unit testunit test integrationintegrationtesttest
validationvalidationtesttestsystemsystemtesttest
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
97/123
97
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
U nit TestingU nit Testing
modulemoduleto beto betestedtested
test casestest cases
resultsresults
softwaresoftwareengineer engineer
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
98/123
98
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
U nit TestingU nit Testing
interfaceinterfacelocal data structureslocal data structuresboundary conditionsboundary conditionsindependent pathsindependent pathserror handling pathserror handling paths
modulemoduleto beto betestedtested
test casestest cases
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
99/123
99
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
U nit Test EnvironmentU nit Test Environment
ModuleModule
stubstub stubstub
driver driver
R ESULT SR ESULT S
interfaceinterface
local data structureslocal data structures
boundary conditionsboundary conditions
independent pathsindependent paths
error handling pathserror handling paths
test casestest cases
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
100/123
100
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Integration Testing StrategiesIntegration Testing StrategiesOptions:Options:
the big bang approachthe big bang approach an incremental construction strategyan incremental construction strategy
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
101/123
101
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Top D own IntegrationTop D own Integration
top module is tested withtop module is tested withstubsstubs
stubs are replaced one atstubs are replaced one ata time, "depth first"a time, "depth first"
as new modules are integrated,as new modules are integrated,some subset of tests is resome subset of tests is re--runrun
AA
BB
CC
DD EE
FF
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
102/123
102
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
BottomBottom- -U p IntegrationU p Integration
drivers are replaced one at adrivers are replaced one at atime, "depth first"time, "depth first"
worker modules are grouped intoworker modules are grouped intobuilds and integratedbuilds and integrated
AA
BB
CC
DD EE
FF
cluster cluster
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
103/123
103
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Sandwich TestingSandwich Testing
Top modules areTop modules aretested with stubstested with stubs
Worker modules are grouped intoWorker modules are grouped intobuilds and integratedbuilds and integrated
AA
BB
CC
DD EE
FF
cluster cluster
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
104/123
104
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
High Order TestingHigh Order Testing
validation testvalidation test
system testsystem test
alpha and beta testalpha and beta test
other specialized testingother specialized testing
D b iD b i
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
105/123
105
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
D ebugging:D ebugging:A D iagnostic ProcessA D iagnostic Process
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
106/123
106
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
The D ebugging ProcessThe D ebugging Process
test casestest cases
resultsresults
Debugging
Debugging
suspectedsuspectedcausescauses
identifiedidentifiedcausescauses
correctionscorrections
regressionregressionteststests
new testnew testcasescases
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
107/123
107
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
D ebugging EffortD ebugging Effort
time requiredtime requiredto diagnose theto diagnose thesymptom andsymptom anddetermine thedetermine thecausecause
time requiredtime required
to correct the error to correct the error and conductand conductregression testsregression tests
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
108/123
108
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Symptoms & CausesSymptoms & Causes
symptomsymptomcausecause
symptom and cause may besymptom and cause may begeographically separatedgeographically separated
symptom may disappear whensymptom may disappear whenanother problem is fixedanother problem is fixed
cause may be due to acause may be due to a
combination of noncombination of non--errorserrorscause may be due to a systemcause may be due to a systemor compiler error or compiler error
cause may be due tocause may be due toassumptions that everyoneassumptions that everyonebelievesbelieves
symptom may be intermittentsymptom may be intermittent
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
109/123
109
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Consequences of BugsConsequences of Bugs
damagedamage
mildmild annoyingannoying
disturbingdisturbingseriousserious
extremeextremecatastrophiccatastrophic
infectiousinfectious
Bug TypeBug Type
BugC ategories: BugC ategories: functionfunction--related bugs,related bugs,systemsystem--related bugs, data bugs, coding bugs,related bugs, data bugs, coding bugs,design bugs, documentation bugs, standardsdesign bugs, documentation bugs, standardsviolations, etc.violations, etc.
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
110/123
110
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
D ebugging TechniquesD ebugging Techniques
brute force / testingbrute force / testing
backtrackingbacktracking
inductioninduction
deductiondeduction
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
111/123
111
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
D ebugging: F inal ThoughtsD ebugging: F inal Thoughts
Don't run off half Don't run off half--cocked,cocked, thinkthink about theabout thesymptom you're seeing.symptom you're seeing.
Use toolsUse tools (e.g., dynamic debugger ) to gain(e.g., dynamic debugger ) to gainmore insight.more insight.
If at an impasse,If at an impasse, get helpget help from someone else.from someone else.
Be absolutely sure toBe absolutely sure to conduct regression testsconduct regression tests
when you do "fix" the bug.when you do "fix" the bug.
1.1.
2.2.
3.3.
4 .4 .
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
112/123
112
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Software Quality AssuranceSoftware Quality Assurance
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
113/123
113
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
W hy SQA Activities Pay Off?W hy SQA Activities Pay Off?cost to findcost to find
and fix a defectand fix a defect100100
1010
l og l og
scal escal e
11
Req.Req.Desig nDesig n
codecodetesttest systemsystem
testtestfiel dfiel d
useuse
0.750.75 1.001.001.501.50
3.003.00
10.0010.00
60.0060.00--100.00100.00
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
114/123
114
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Quality ConceptsQuality Concepts
general objective: reduce the variationgeneral objective: reduce the variationbetween samples ... but how does this applybetween samples ... but how does this applyto software?to software?quality control: a series of inspections,quality control: a series of inspections,reviews, testsreviews, testsquality assurance: analysis, auditing andquality assurance: analysis, auditing andreporting activitiesreporting activitiescost of qualitycost of quality
appraisal costsappraisal costs
failure costsfailure costsexternal failure costsexternal failure costs
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
115/123
115
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Software Quality AssuranceSoftware Quality Assurance
FormalTechnicalReviews
SQASQA
TestPlanning& ReviewMeasurement
Analysis&
Reporting
ProcessDefinition &Standards
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
116/123
116
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Reviews & InspectionsReviews & Inspections
... there is no particular reason... there is no particular reason
why your friend and colleaguewhy your friend and colleaguecannot also be your sternest critic.cannot also be your sternest critic.Jerry W einbergJerry W einberg
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
117/123
117
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
W hat Are Reviews?W hat Are Reviews?a meeting conducted by technical people for a meeting conducted by technical people for technical peopletechnical peoplea technical assessment of a work producta technical assessment of a work productcreated during the software engineeringcreated during the software engineeringprocessprocessa software quality assurance mechanisma software quality assurance mechanisma training grounda training ground
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
118/123
118
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
W hat Reviews Are Not!W hat Reviews Are Not!
T he y a r e n o t : T he y a r e n o t :
a pro je ct budget summa r y a pro je ct budget summa r y a sche dulin g a sse ssment a sche dulin g a sse ssment
an o ve r a ll pro gr e ss r e por t an o ve r a ll pro gr e ss r e por t a me chan ism f or r e pr isa l or po lit ica la me chan ism f or r e pr isa l or po lit ica lint r igue!!int r igue!!
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
119/123
119
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
The PlayersThe Players
reviewreviewleader leader
producer producer
recorder recorder reviewer reviewer
st an dards b earer (SQA) st an dards b earer (SQA)
m aint en an cem aint en an ceoracleoracle
us er repus er rep
C d i h R iC d i h R i
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
120/123
120
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Conducting the ReviewConducting the Reviewbe preparedbe preparedevaluateevaluate
product before the reviewproduct before the reviewreview the product, notreview the product, notthe producer the producer
keep your tone mild, askkeep your tone mild, askquestions instead of questions instead of making accusationsmaking accusations
stick to the review agendastick to the review agenda
raise issues, don't resolve themraise issues, don't resolve them
avoid discussions of styleavoid discussions of stylestick to technicalstick to technical
correctnesscorrectnessschedule reviews as project tasksschedule reviews as project tasks
record and report all review resultsrecord and report all review results
1.1.
2.2.
3.3.
4 .4 .
5 .5 .
6.6.
7.7.
8.8.
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
121/123
121
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
Review Options M atrixReview Options M atrix
trained leader trained leader agenda establishedagenda establishedreviewers prepare in advancereviewers prepare in advanceproducer presents productproducer presents productreader presents productreader presents productrecorder takes notesrecorder takes noteschecklists used to find errorschecklists used to find errorserrors categorized as founderrors categorized as foundissues list createdissues list createdteam must signteam must sign--off on resultoff on result
IPRIPRinformal peer review WTinformal peer review WTWalkthroughWalkthroughININInspection RRRInspection RRRround robin reviewround robin review
IPRIPR WTWT ININ RRRRRR
nonomaybemaybemaybemaybemaybemaybe
nonomaybemaybenononononononono
yesyesyesyesyesyesyesyes
nonoyesyesnonononoyesyesyesyes
yesyesyesyesyesyesnono
yesyesyesyesyesyesyesyesyesyesyesyes
yesyesyesyesyesyesnono
nonoyesyesnonononoyesyesmaybemaybe
**
*
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
122/123
122
These courseware materials are to be used in conjunction with Software Engineering: A Practitioners Approach, 5/e and areprovided with permission by R.S. Pressman & Associates, Inc., copyright 1996, 2001
M etrics D erived from ReviewsM etrics D erived from Reviews
inspection time per page of documentationinspection time per page of documentationinspection time per KLOC or FPinspection time per KLOC or FP
errors uncovered per reviewer hour errors uncovered per reviewer hour errors uncovered per preparation hour errors uncovered per preparation hour errors uncovered per SE task (e.g., design)errors uncovered per SE task (e.g., design)number of minor errors (e.g., typos)number of minor errors (e.g., typos)
number of errors found during preparationnumber of errors found during preparation
number of major errorsnumber of major errors
(e.g., nonconformance to req.) (e.g., nonconformance to req.)
inspection effort per KLOC or FPinspection effort per KLOC or FP
8/7/2019 Conventional Method (Muhammad Muchtar Aham_108091000071)
123/123
Statistical SQAStatistical SQA
ProductProduct& Process& Process
measurement
... an understandi ng of h ow to i mp rov e quali ty ...
co ll ect i nf ormati on on all co ll ect i nf ormati on on all def ectsdef ects
f i nd th e causes o f th ef i nd th e causes o f th edef ectsdef ects mo v e to p rovi de f i xes f or mo v e to p rovi de f i xes f or th e p rocessth e p rocess