conventional method (muhammad muchtar aham_108091000071)

Upload: muhammad-muchtar-aham

Post on 08-Apr-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 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