DOC PREVIEW
USC CSCI 599 - LECT7BW

This preview shows page 1-2-3-4-5-6 out of 19 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 19 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Copyright © 1994 Carnegie Mellon University1Disciplined SoftwareEngineeringLecture #7 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 Sponsored by the U.S. Department of DefenseCopyright © 1994 Carnegie Mellon University2Design and Code Reviews -Overview What are design and code reviews? Why should you do them? The PSP•review strategy•review principles•review measures Review considerationsCopyright © 1994 Carnegie Mellon University3What are Reviews? A review is a way to personally examine yourown work. It is one of a family of methods•inspections•walkthroughs•reviews They all have the objective of finding and fixingproduct defects early in the developmentprocess.Copyright © 1994 Carnegie Mellon University4Inspections Inspections were introduced by Fagan at IBM in1976. Inspections follow a structured process•done by peers•managers do not attend•each participant has a defined role•preparation is required•objective is to find problems Inspections are useful for requirements,designs, code, test cases, plans, etc.Copyright © 1994 Carnegie Mellon University5Walkthroughs Walkthroughs typically follow a meeting format•developer leads the audience through theproduct•audience may include peers, managers, orother interested parties•objective is to communicate or obtainapproval•no preparation is required Walkthroughs are most useful for requirementsand system design issues.Copyright © 1994 Carnegie Mellon University6Reviews In a personal review•professional privately reviews his/her product•objective is to find defects before the firstcompile and test•reviews are most effective when structuredand measured Reviews can be used for requirements, designs,and code.Copyright © 1994 Carnegie Mellon University7Why Do Reviews? - 1 Data show that it is much more efficient to finddefects in reviews than in testing•in unit test, typically only about 2 to 4 defectsare found per hour•code reviews typically find about 10 defectsper hour•experienced reviewers can find 70% or moreof the defects in a product•unit test rarely exceeds a 50% yield PSP data show that reviews find 2 to 5 times asmany defects per hour as unit testCopyright © 1994 Carnegie Mellon University8Defect Removal Rates - 12StudentsProgram Number051015202512345678910CompileCode ReviewUnit TestCopyright © 1994 Carnegie Mellon University9Why Do Reviews? - 2 After unit test, defect removal becomes muchmore expensive•in integration and system test it takes 10 to 40programmer hours to find and fix each defect•inspections typically take less than an hourper defect Some inspection data•O’Neil: 80-90% yield at 25 minutes/defect•Philips: 15 minutes/defect versus 8 hours intestCopyright © 1994 Carnegie Mellon University10Why Do Reviews? - 3 The reason to eliminate defects as early aspossible is because•every review, inspection, compile, and testfinds only a fraction of the defects•thus, the cleaner the code entering a phase,the cleaner it will be on exit. Early defect removal saves time and money•defects cost more to find and fix later in thedevelopment process•defects cost much more to find and fix afterdevelopment completionCopyright © 1994 Carnegie Mellon University11Why Reviews are Efficient - 1 In testing•you start with a problem•then you must find the bug•next, you devise a fix•finally, you implement and test the fix With reviews and inspections•you see the defect•then you devise a fix•finally, you implement and review the fixCopyright © 1994 Carnegie Mellon University12Why Reviews are Efficient - 2 In testing, it the system produces an unusualresult, then you must•detect that it was unusual•figure out what the test program was doing•find where it was in your program•figure out what defect could cause suchbehavior You are searching for the unplanned andunexpected. This can take a lot of timeCopyright © 1994 Carnegie Mellon University13Why Reviews are Efficient - 3 With reviews and inspections•you follow your own logic•when you find a defect, you know exactlywhere you are•you know what the program should do and didnot do•you thus know why this is a defect•you are therefore in a better position to devisea complete and effective fixCopyright © 1994 Carnegie Mellon University14The PSP Review Strategy The PSP objective is to produce the highestpossible program quality at every processphase The review strategy to achieve this is to•gather data on your reviews•study these data•decide what works best for you•adjust your process accordingly This is a continuous learning process usingdata on your own work.Copyright © 1994 Carnegie Mellon University15Review Principles PSP reviews follow a disciplined process with•entry and exit criteria•a review structure•guidelines, checklists, and standards The suggested PSP review goal is to find everydefect before the first compile or test. To address this goal, you should•use coding standards•use design completeness criteria•measure and improve your review processCopyright © 1994 Carnegie Mellon University16Design Review Principles Produce designs that can be reviewed. Follow an explicit review strategy. Review the design in stages. Verify that the logic correctly implements therequirements.Copyright © 1994 Carnegie Mellon University17Produce Designs that can beReviewed A reviewable design has•a defined context•a precise representation•a consistent and clear structure This suggests that•the design’s purpose and function beexplicitly stated•you have criteria for design completeness•the design is structured in logical elementsCopyright © 1994 Carnegie Mellon University18Follow a Review Strategy The review strategy specifies the order in whichyou review the design elements.•this depends on the product structure•the review strategy should thus be consideredduring design The objective should be to produce a designthat can be•reviewed in stages•tested in stages•integrated in stagesCopyright © 1994 Carnegie Mellon University19Review the Design in Stages By reviewing in stages, you ensure that allselected topics are carefully checked.Suggested review stages are 1. check that all elements have been designed 2. verify overall program structure and flow 3. check the logical constructs for correctness 4. check for robustness 5. check the function, method, and procedure calls to ensure proper use 6. check special


View Full Document

USC CSCI 599 - LECT7BW

Documents in this Course
Week8_1

Week8_1

22 pages

Week2_b

Week2_b

10 pages

LECT6BW

LECT6BW

20 pages

LECT6BW

LECT6BW

20 pages

5

5

44 pages

12

12

15 pages

16

16

20 pages

Nima

Nima

8 pages

Week1

Week1

38 pages

Week11_c

Week11_c

30 pages

afsin

afsin

5 pages

October5b

October5b

43 pages

Week11_2

Week11_2

20 pages

final

final

2 pages

c-4

c-4

12 pages

0420

0420

3 pages

Week9_b

Week9_b

20 pages

S7Kriegel

S7Kriegel

21 pages

Week4_2

Week4_2

16 pages

sandpres

sandpres

21 pages

Week6_1

Week6_1

20 pages

4

4

33 pages

Week10_c

Week10_c

13 pages

fft

fft

18 pages

24

24

15 pages

14

14

35 pages

Week9_c

Week9_c

24 pages

Week11_67

Week11_67

22 pages

Week1

Week1

37 pages

LECT3BW

LECT3BW

28 pages

Week8_c2

Week8_c2

19 pages

Week5_1

Week5_1

19 pages

LECT5BW

LECT5BW

24 pages

Week10_b

Week10_b

16 pages

Week11_1

Week11_1

43 pages

Week7_2

Week7_2

15 pages

Week5_b

Week5_b

19 pages

Week11_a

Week11_a

29 pages

LECT14BW

LECT14BW

24 pages

T7kriegel

T7kriegel

21 pages

0413

0413

2 pages

3

3

23 pages

C2-TSE

C2-TSE

16 pages

10_19_99

10_19_99

12 pages

s1and2-v2

s1and2-v2

37 pages

Week10_3

Week10_3

23 pages

jalal

jalal

6 pages

1

1

25 pages

T3Querys

T3Querys

47 pages

CS17

CS17

15 pages

porkaew

porkaew

20 pages

LECT4BW

LECT4BW

21 pages

Week10_1

Week10_1

25 pages

wavelet

wavelet

17 pages

October5a

October5a

22 pages

p289-korn

p289-korn

12 pages

2

2

33 pages

rose

rose

36 pages

9_7_99

9_7_99

18 pages

Week10_2

Week10_2

28 pages

Week7_3

Week7_3

37 pages

Load more
Download LECT7BW
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view LECT7BW and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view LECT7BW 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?