Phil Cronin Anne Hill Allen Schones CIS841 Summer on Campus 1998 IN-PROCESS INSPECTIONS FOR OBJECT...

25
Phil Cronin Anne Hill Allen Schones CIS841 Summer on Campus 1998 IN-PROCESS INSPECTIONS FOR OBJECT ORIENTED DESIGNS

Transcript of Phil Cronin Anne Hill Allen Schones CIS841 Summer on Campus 1998 IN-PROCESS INSPECTIONS FOR OBJECT...

Phil CroninAnne Hill

Allen Schones

CIS841Summer on Campus

1998

IN-PROCESS INSPECTIONS FOR

OBJECT ORIENTED DESIGNS

Inspection - Definition

Fagan describes Inspections as “ a method of static testing to verify that software meets its requirements. It engages the developer and others in a formal process of investigation that usually detects more defects in the product - and at lower cost - than does machine testing.”

An inspection is a detailed examination of a product to find defects.

A defect can then be defined as a violation of a standard or procedure.

Inspections - Benefits

According to T. C. Jones in Programming Productivity, inspections have been shown to be up to 75 percent effective in uncovering design flaws.

– T. C. Jones, Programming Productivity, McGraw-Hill, 1986.

Other benefits have unfolded:

– The quality of the software product increases.

– A technically correct base is available for each new phase of the development process.

– The overall life cycle cost is lower since defects are found earlier in the process and are less expensive to fix.

– Less time may have to be devoted to testing the product thus increasing the effectiveness of testing.

– The author of the software is provided immediate feedback which brings about improvements in the quality of future products.

Inspections versus Reviews

A formal review is conducted at the end of each life cycle phase.

A review panel is appointed by the acquirer of the software who make a go/no go decision whether to proceed to the next phase. It looks at an overall picture of the product being developed to determine if it satisfies its requirements.

An inspection on the other hand, is a time limited formal process containing checklists and measurements to detect and remove all defects efficiently and effectively at all phases of the life cycle. It is a tool which can aid the review committee in making a go/no go decision.

Inspectable Entities

Inspectable entities include all software enhancements which impact design and configuration, affect the end user, or are deliverable to the customer.

Inspectable entities may include:– Reengineering Documentation

– Prototyping

– Software Requirement Specifications

– Data and System Interfaces

– Screens and Reports

– Test Requirements, Plans, and Procedures

– Any Documentation (deliverable or not)

5 Steps in an Inspection

Step Description

Planning Obtain materials and verify entry criteria.Establish schedules and secure meeting room.Choose Inspectors.

Meeting Preparation Individually study inspection material.Ensure that participants are ready to inspect the product.

Inspection Meeting Formally and jointly inspect distributed materials.Determine disposition of the inspected material.

Rework Revise the product as necessary.Resolve issues identified at the inspection.

Follow-up/Metrics Verify satisfactory resolution of all defects found duringinspection.Verify that the product meets the exit criteria.Provide closure to all open issues and certify revisions.Collect metrics.

Inspections Flow ChartPlanning

MeetingPreparation

Inspection Meeting

Disposit ion?

Rework

Follow-up/ Metrics

REINSPECT ACCEPT

CONDITIONAL

Major Roles in Inspections

Coordinator Interfaces between program management,functional management, and technical staff;maintains inspection database.

Author Originates the material being submitted forinspection, and is responsible for correcting andresolving all identified defects after an inspection.

Moderator Manages and facilitates the inspection process for aparticular entity, and leads the Inspection Meeting.

Reader Presents the Author’s work to the inspection team.

Recorder Documents the identified defects at the InspectionMeeting using the Inspection Defect List.

Inspectors Examine the material and search for defects bycomparing the material to the organizationalstandards and procedures.

Multiple Role Matrix

Primary Role MUST Also Be MAY Also Be MAY NOT Also Be

Author Inspector Coordinator Moderator, Reader,Recorder

Moderator Inspector Coordinator,Reader

Author, Recorder

Reader Inspector Coordinator,Moderator

Author, Recorder

Recorder Inspector -- Coordinator,Author, Moderator,Reader

Inspector -- Coordinator,Author, Moderator,Reader, Recorder

--

Entry / Exit Criteria

Entry Criteria A description of the materials and events which are necessary before an Inspection Meeting is initiated.

Exit Criteria The conditions that must be met before an inspection can be certified as complete.

Roles

Planning

Prep

Meeting

Re-work

Follow-up

Coor |Author | Mod’r | Reader |Recorder | Inspc’t

Review with functional and project management that it is time to conduct an inspection.

Select Moderators for inspection in their specific area of expertise.

Coordinate meeting.

Work with Moderator to determine:specific entry and exit criteria for the inspection.project-specific checklists.

Roles

Planning

Prep

Meeting

Re-work

Follow-up

Coor |Author | Mod’r | Reader |Recorder | Inspc’t

Submit Materials to Moderator.

Meet with Moderator to verify that the Inspectable Entity satisfies the entry criteria. (Inspection Meeting will not be scheduled until entry criteria are satisfied.)

Roles

Planning

Prep

Meeting

Re-work

Follow-up

Coor |Author | Mod’r | Reader |Recorder | Inspc’t

Verify Material: Review the material submitted by the Author, and verify that it meets the entry criteria.

Select Meeting Participants: Select the other participants, based on technical background, availability, and program guidelines. Assign roles for the Inspection Meeting.

Schedule Meeting: An Inspection Meeting should be scheduled for no more than 2-3 hours.

Prepare Meeting Notice: Include the date, time and meeting room.

Roles

Planning

Prep

Meeting

Re-work

Follow-up

Coor |Author | Mod’r | Reader |Recorder | Inspc’t

All meeting participants perform the following:

Review the inspectable entity and identify potential defects.Identify relevant documents that should be brought to the Meeting.Record the amount of time spent in preparation, as this will be used as an inspection metric.

Roles

Planning

Prep

Meeting

Re-work

Follow-up

Coor |Author | Mod’r | Reader |Recorder | Inspc’t

Author does not perform a leading role during the meeting.

The Author should focus on helping to identify defects, and on understanding all the issues raised.

Roles

Planning

Prep

Meeting

Re-work

Follow-up

Coor |Author | Mod’r | Reader |Recorder | Inspc’t

•Ensure that the inspection meeting is focused on identifying defects and that the meeting does not regress into an extended discussion of trivial defects, or a critique of the design.

Determine Product Disposition Accept: Meets exit criteria. No further verification required. Conditional: Expected to meet Exit Criteria upon Moderator's verification of rework. Re-Inspect: Re-inspection is necessary if the product deviates so far from requirements that a rework would result in a substantially different product.

Roles

Planning

Prep

Meeting

Re-work

Follow-up

Coor |Author | Mod’r | Reader |Recorder | Inspc’t

Lead the team through the material in a logical fashion.Insure that all inspectable material is covered.Present the material at a pace suitable for thorough examination.

Roles

Planning

Prep

Meeting

Re-work

Follow-up

Coor |Author | Mod’r | Reader |Recorder | Inspc’t

Record the defects on an Inspection Defect List

Present Inspection Defect List for review at end of inspection and assist Moderator in summarizing the defects on the Inspection Summary and Metrics form.

Roles

Planning

Prep

Meeting

Re-work

Follow-up

Coor |Author | Mod’r | Reader |Recorder | Inspc’t

Present potential defects found during Meeting Preparation.

Keep focused and do not get bogged down in disagreements or trivial defects.

Verify completeness and accuracy of Inspection Defect List, as presented by Moderator. Determine disposition of inspection (Accept, Conditional, Re-inspect).

Roles

Planning

Prep

Meeting

Re-work

Follow-up

Coor |Author | Mod’r | Reader |Recorder | Inspc’t

The Author should correct the defects indicated in the Inspection Defect List, and meet with the Moderator to evaluate the rework.

Roles

Planning

Prep

Meeting

Re-work

Follow-up

Coor |Author | Mod’r | Reader |Recorder | Inspc’t

•Meet with the Author to evaluate the rework and verify that all defects indicated in the Inspection Defect List have been properly resolved.

•Retain the Inspection Defect List.

•Document what was performed to make the correction(s) and when the Inspection Defect List was completed.

Roles

Planning

Prep

Meeting

Re-work

Follow-up

Coor |Author | Mod’r | Reader |Recorder | Inspc’t

Enter the Inspection Summary and Metrics data into the Inspection Database.

Periodically provide Project and Functional management with update inspection metrics (to be logged into an Inspection Database).

Roles

Planning

Prep

Meeting

Re-work

Follow-up

Coor |Author | Mod’r | Reader |Recorder | Inspc’t

Certify that the inspection is complete and that all Exit Criteria have been satisfied.

Prepare the Inspection Summary and Metrics form.

Submit the Inspection Summary and Metrics form and the Inspection Defect List to the Coordinator

Submit a summary of requirements defects as comments to the requirements owner.

OO Complications

•OO Designs tend to move complexity from the methods to interaction between methods.

•Inheritance complicates where a method is defined inthe inheritance tree.

•Multiple inheritance complicates finding a method even further.

•Polymorphic behavior makes static determination of whichmethod is invoked impossible.

OO Complications

Class 1 Class 2

Class 5Class 4Class 3

Fig. 5

Simple Class Inheritance: