Presentation is loading. Please wait.

Presentation is loading. Please wait.

Requirements Engineering Lecture 7

Similar presentations


Presentation on theme: "Requirements Engineering Lecture 7"— Presentation transcript:

1 Requirements Engineering Lecture 7
Jerzy Nawrocki Requirements Engineering Lecture 7 Reviews Copyright, 2000 © Jerzy R. Nawrocki Requirements Eng., Lecture 7

2 J. Nawrocki, Requirements Eng., Lecture 7
Jerzy Nawrocki Plan of the lecture Introduction Documents for CMM level 2 Reviews in CMM level 2 Generic FTR procedure FTR meeting Preparation form Fagan inspections Active design reviews Phased inspections J. Nawrocki, Requirements Eng., Lecture 7 Requirements Eng., Lecture 7

3 J. Nawrocki, Requirements Eng., Lecture 7
Introduction Cost of fixing a defect Some fix time data The relative time to identify defects (IBM ): during design reviews: 1 during code inspections: 20 during machine test: 82 J. Nawrocki, Requirements Eng., Lecture 7

4 J. Nawrocki, Requirements Eng., Lecture 7
Introduction CMM Level 2 - Repeatable Requirements management Software project planning Software project tracking and oversight Software subcontract management Software quality assurance Software configuration management CMM J. Nawrocki, Requirements Eng., Lecture 7

5 Documents for CMM level 2
Policies for .. software requirements management planning (software life cycle) managing a software project managing a software subcontract software quality assurance software configuration management Po- licy J. Nawrocki, Requirements Eng., Lecture 7

6 Documents for CMM level 2
Documented procedures for .. reviewing external commitments developing an SDP estimating size, effort, cost, critical computer resources, and schedule making revisions to the SDP reviewing a project at milestones planning SQA activities dealing with deviations in activities & products Proc J. Nawrocki, Requirements Eng., Lecture 7

7 Documents for CMM level 2
Documented procedures for .. planning SCM dealing with change requests & problem reports controlling changes to baseline releasing products from baseline library documenting the status of configuration items auditing the software baseline Proc J. Nawrocki, Requirements Eng., Lecture 7

8 J. Nawrocki, Requirements Eng., Lecture 7
Reviews in CMM Level 2 QA Statement of work External commitments Project at selected milestones The software baseline (audit) Statement of work J. Nawrocki, Requirements Eng., Lecture 7

9 Parameters to be specified in SDP
Generic FTR procedure Parameters to be specified in SDP Name of the product URL of the standard doc-struct Due date for approved product Producer Review leader (SQA group) Recorder (SQA group) Reviewers (including recorder) Expected preparation time Expected meeting duration S D P J. Nawrocki, Requirements Eng., Lecture 7

10 J. Nawrocki, Requirements Eng., Lecture 7
Generic FTR procedure Steps (I) Producer informs the project leaders + review leader + area manager (Bartek) that the product is ready and sends them a copy of it. The review leader contacts all the participants of the review meeting to establish the date of the meeting (preferably in 3 days). He also distributes copies of the product to the reviewers. J. Nawrocki, Requirements Eng., Lecture 7

11 J. Nawrocki, Requirements Eng., Lecture 7
Generic FTR procedure Steps (II) The review leader is responsible for establishing an agenda for the review meeting. The meeting takes place The recorder prepares a review report and sends it to the participants of the meeting. A copy of it must also go to the project managers, the area manager and the SDS supervisor. J. Nawrocki, Requirements Eng., Lecture 7

12 J. Nawrocki, Requirements Eng., Lecture 7
FTR meeting A proposed agenda (I) Review leader: Introduction of the agenda. Participants can propose some changes. Recorder: Collecting the preparation forms (copies) Producer: Presentation of the material. The producer “walks through” the material and explains, while reviewers raise issues. The recorder takes notes of valid defects and problems. J. Nawrocki, Requirements Eng., Lecture 7

13 J. Nawrocki, Requirements Eng., Lecture 7
FTR meeting A proposed agenda (II) Recorder: Summary of defects and problems. All attendees except producer: Anonymous (in written) presentation of early decision. Recorder: Collecting of early decisions and their presentation. Producer: “Last word” All attendees except producer: Making final decision J. Nawrocki, Requirements Eng., Lecture 7

14 J. Nawrocki, Requirements Eng., Lecture 7
FTR meeting The decision Accept. No modifications are necessary Accept provisionally. There are some minor defects that must be corrected but no additional review is required (the project manager is responsible for checking the follow-up). Reject. There are severe defects and another review is necessary. J. Nawrocki, Requirements Eng., Lecture 7

15 J. Nawrocki, Requirements Eng., Lecture 7
FTR meeting The decision If the decision made by the reviewers is not clear (e.g. some are for Accept, some for Reject), the final decision belongs to the area manager. J. Nawrocki, Requirements Eng., Lecture 7

16 Preparation form for FTR
Heading Name of the product & its version: ... Producer: Reviewer: The product received on: Expected preparation time: Actual preparation time: Meeting scheduled on: Early decision: J. Nawrocki, Requirements Eng., Lecture 7

17 Preparation form for FTR
Body Severe defects & problems (e.g. hidden problems, ambiguity, lack of understanding, etc.) Problem description (annotation) Minor problems (e.g. spelling, grammar, format etc.) Problem description (annotation) J. Nawrocki, Requirements Eng., Lecture 7

18 Preparation form for FTR
Annotations - Basic defect causes “Two” or “too”? Education: don’t understand Communication: not properly informed Oversight: omitted doing something Transcription: knew & did but made a mistake Process: due to the process J. Nawrocki, Requirements Eng., Lecture 7

19 J. Nawrocki, Requirements Eng., Lecture 7
Fagan inspections The lifecycle External specifications (function) Internal specifications (module) - I0 Logic specifications (logic) - I1 design inspec Design Coding (logic) - I2 code inspec Unit testing Code Test Function, component, system test J. Nawrocki, Requirements Eng., Lecture 7

20 J. Nawrocki, Requirements Eng., Lecture 7
Fagan inspections Other inspections: IT1 - test plan inspection IT2 - test case inspection PI0, PI1, PI3 - publication inspections J. Nawrocki, Requirements Eng., Lecture 7

21 J. Nawrocki, Requirements Eng., Lecture 7
Fagan inspections Design Code Unit test I1 I2 I3 Net savings (hours/KLOC): I1: 94 I2 : 51 I3 : -20 J. Nawrocki, Requirements Eng., Lecture 7

22 J. Nawrocki, Requirements Eng., Lecture 7
Fagan inspections Implementor Review session Designer Moderator Tester J. Nawrocki, Requirements Eng., Lecture 7

23 J. Nawrocki, Requirements Eng., Lecture 7
Fagan inspections Designer Implem. Moderator Tester Review session 1. Overview (whole team) 2. Preparation (individual) 3. Inspection (whole team) 4. Rework 5. Follow-up J. Nawrocki, Requirements Eng., Lecture 7

24 Fagan inspections Rate of progress (loc/h) I1 I2
Overview (whole team) not necessary Preparation (individual) Inspection (whole team) Rework Follow-up Inspection session <= 2 hours 1 - 2 sessions per day J. Nawrocki, Requirements Eng., Lecture 7

25 J. Nawrocki, Requirements Eng., Lecture 7
Fagan inspections Design error types CD: CB definition CU: CB usage IC: Interconnect calls LO: Logic MD: More detail MN: Maintainability OT: Other PE: Performance PR: Prolog ... Question: What should be the design error types for UML? J. Nawrocki, Requirements Eng., Lecture 7

26 J. Nawrocki, Requirements Eng., Lecture 7
Fagan inspections Code error types CC: Code comments CU: CB usage DE: Design error IC: Interconnect calls LO: Logic MN: Maintainability OT: Other PE: Performance PR: Prolog ... Question: What should be the design error types for Java or HTML? J. Nawrocki, Requirements Eng., Lecture 7

27 J. Nawrocki, Requirements Eng., Lecture 7
Fagan inspections Checklist for design inspection Are all constants defined? If a queue is being manipulated , can the execution be interrupted; If so, is queue protected by a locking structure? Are registers being restored on exits? Are all increment counts properly initialised (0 or 1)? Are absolutes shown where there should be symbolics? Are all blocks shown in design necessary? Missing Wr Ex J. Nawrocki, Requirements Eng., Lecture 7

28 J. Nawrocki, Requirements Eng., Lecture 7
Fagan inspections Checklist for code inspection Is correct condition tested? Is correct variable used or test? Is each branch target correct? Is the most frequently exercised test leg the THEN clause? Are all required parameters passed set correctly? Does the inline expansion contain all required code? Test branch Interconnect J. Nawrocki, Requirements Eng., Lecture 7

29 J. Nawrocki, Requirements Eng., Lecture 7
Fagan inspections Error list PR/M/Min L3: the prologue in the REMARKS section needs expansion. LO/W/Maj L172: NAME-CHECK is performed one time too few. DE/W/Min L175: the design should allow for the occurrence of a period in a last name. J. Nawrocki, Requirements Eng., Lecture 7

30 J. Nawrocki, Requirements Eng., Lecture 7
Fagan inspections Date Code inspection report Major Minor M W E M W E Mod/Mac: CC: Code comments CU: CB usage DE: Design error IC: Interconnect calls LO: Logic MN: Maintainability OT: Other PE: Performance PR: Prolog Total J. Nawrocki, Requirements Eng., Lecture 7

31 J. Nawrocki, Requirements Eng., Lecture 7
Active design reviews Parnas and Weiss, 1985 Questions posed by the author of the design - to encourage a thorough review Several brief reviews focusing on a part of a work product (part of a design document) J. Nawrocki, Requirements Eng., Lecture 7

32 J. Nawrocki, Requirements Eng., Lecture 7
Phased inspections 1 Compliance with required internal documentation format. Also spelling and grammar can be checked here. 2. Source code layout. 3. Readability. 4. Good programming practice (gotos, global variables, ..). 5. Correct use of various programming constructs (updating control variables for while, closing files, ...). 6. Functional correctness. J. Nawrocki, Requirements Eng., Lecture 7

33 J. Nawrocki, Requirements Eng., Lecture 7
Phased inspections Defects: indigenous seeded J. Nawrocki, Requirements Eng., Lecture 7

34 J. Nawrocki, Requirements Eng., Lecture 7
Summary Documented procedures are necessary for CMM level 2. Review procedures can be stated in a generic form. The main difference between a Fagan inspection and walk-through is: lack of checklists for walk-throughs, and lack of presentations for Fagan inspections. At last! J. Nawrocki, Requirements Eng., Lecture 7

35 J. Nawrocki, Requirements Eng., Lecture 7
Jerzy Nawrocki Further readings M.C. Paulk et. al.,The Capability Maturity Model: Guidelines for Improving the Software Process, Addison-Wesley, Reading, 1994. R. Pressman, Software Engineering. A practitioner’s Approach, McGraw Hill, New York, 1997. J. Nawrocki, Requirements Eng., Lecture 7 Requirements Eng., Lecture 7

36 J. Nawrocki, Requirements Eng., Lecture 7
Jerzy Nawrocki Further readings M. Fagan, “Design and Code Inspections ..”, IBM System J., vol. 15, no.3, 1976, M. Fagan, “Advances in Software Inspections”, IEEE TSE, vol. SE-12, no. 7, 1986. J.C. Knight, E.A. Myers, An improved inspection technique, CACM, vol. 36, No.11, Nov. 1993, pp J. Nawrocki, Requirements Eng., Lecture 7 Requirements Eng., Lecture 7

37 J. Nawrocki, Requirements Eng., Lecture 7
Jerzy Nawrocki Homework Organise and perform a review of the Initial Project Description. Organise and perform a review of the usage scenarios for your project. J. Nawrocki, Requirements Eng., Lecture 7 Requirements Eng., Lecture 7

38 J. Nawrocki, Requirements Eng., Lecture 7
Quality assessment 1. What is your general impression? (1 - 6) 2. Was it too slow or too fast? 3. What important did you learn during the lecture? 4. What to improve and how? J. Nawrocki, Requirements Eng., Lecture 7


Download ppt "Requirements Engineering Lecture 7"

Similar presentations


Ads by Google