Presentation is loading. Please wait.

Presentation is loading. Please wait.

Implementation Phase CS4311 – Spring 2008 References: Shach, Object Oriented and Classical Software Engineering E. Braude, Software Engineering, an Object-Oriented.

Similar presentations


Presentation on theme: "Implementation Phase CS4311 – Spring 2008 References: Shach, Object Oriented and Classical Software Engineering E. Braude, Software Engineering, an Object-Oriented."— Presentation transcript:

1 Implementation Phase CS4311 – Spring 2008 References: Shach, Object Oriented and Classical Software Engineering E. Braude, Software Engineering, an Object-Oriented Perspective

2 Choice of Programming Language Factors Availability of compilers Expertise of programming team Analysis Cost-benefit analysis Risk analysis Problem domain

3 Programming Standards and Procedures Assist with clarity and reusability Help translate design to code: structure code to maintain correspondence Facilitate change to design and code because interface specifications can be analyzed Assist in understanding code

4 Good Programming Practice-1 Abbreviation or not: freq, frequency Ordering of words: frequencyMaximum; Minimum frequency Use of capitals, underscores Hungarian naming conventions http://www.akadia.com/services/naming_conv entions.html http://www.akadia.com/services/naming_conv entions.html

5 Good Programming Practice-2 Prologue comments Description of what module does Programmer’s name, date of code, date approved and who approved Description of arguments Files accessed by module Input-output (if any) Error-handling List of modifications, dates, and who approved Known faults

6 Good Programming Practice-3 In-line comments for understandability Document data—need to know how data is structured Keep small—use other techniques for program understanding Use to break code into major phases-activities Use to add information Code Layout Use of white space Use of indentation Coding Standards (exceptions require approval of leader) Do not exceed a depth of 3 for nested if statements Aim for modules with 35-50 statements Localize sections likely to change

7 PSP Principles - 1 The quality of a software system is governed by the quality of its worst components. The quality of a software component is governed by the individual who developed it. This is governed by your discipline commitment

8 PSP Principles - 2 You should measure, track, and analyze your work. You should learn from your performance variations. You should Incorporate these lessons in your personal practices.

9 With a Stable PSP You can meet your commitments resist unreasonable commitment pressures You will also understand your ability be better able to improve

10 A PSP Also Provides A discipline that shows you how to improve your personal process The data to continually improve the productivity, quality, and predictability of your work

11 What is a PSP? A personal process for developing software forms standards A measurement and analyses framework to help you characterize your process A defined procedure to help you to improve your performance

12 PSP Steps Level 2 Software configuration management Software quality assurance Software subcontract management Software project tracking and oversight* Software project planning* Requirements management *PSP key process areas Level 3 Peer reviews* Intergroup coordination Software product engineering* Integrated software management* Training program Organization process definition* Organization process focus* Level 4 Quality management* Process measurement and analysis* Level 5: Process change management* Technology innovation* Defect prevention* Level 1 1 2 3 4 5

13 PSP Overview -1 PSP0 Current process Time recording Defect recording Defect type standard PSP1 Size estimating Test report PSP2 Code reviews Design reviews PSP3 Cyclic development PSP2.1 Design templates PSP1.1 Task planning Schedule planning PSP0.1 Coding standard Size measurement Process improvement proposal (PIP)

14 PSP Overview - 2 PSP0 - PSP1 - you make size, resource, and schedule plans PSP2 - you practice defect and yield management PSP3 - you scale up PSP methods to larger projects

15 The PSP0 Process Use your current design and development methods. Gather data on your work: time spent by phase defects found in compile and test Prepare a summary report.

16 The PSP0 Process Elements A project plan summary form A time recording log A defect reporting log A defect type standard

17 The PSP0 Script - 1 Planning - Development - develop the product using your current methods Postmortem - complete the project plan summary, with the time spent and defects found and injected in each phase.

18 The PSP0 Script - 2 Design - Coding - Implement the program Compile - compile until defect free Test - test the program and fix all defects Record defects in the defect log and time per phase in the time log.

19 PSP0 Plan Summary Actual time in minutes spent in each phase. Time - To Date - Total time spent in each phase Time - To Date % - Percent of the total To Date time that was spent in each phase. Defects injected and removed - Actual numbers of defects injected and removed Defects - To Date - Total defects injected and removed Defects - To Date % - Percent of the total To Date defects injected and removed

20 PSP0 Time Recording Log Date - Current date. Start - Time in minutes when project phase started Stop - Time in minutes when you stop work on a project phase, even if you are not done with that phase. Interruption time - Delta time - The elapsed start to stop time less the interruption time. Phase – Name of phase on which you were working

21 Defect Recording Log Date - Date defect found and fixed Number - Unique number for this defect. Type - Defect type from type standard. Inject - Phase defect was injected. Remove - Fix time - Time to fix the defect. Fix defect - If this defect was injected while fixing another defect, enter the number of that defect or an X if you do not know.

22 Defect Type Standard The defect type standard provides a general set of defect categories. The PSP defect types are: 10 - 20 - Syntax 30 - Build, package 40 - Assignment 50 - Interface 60 - Checking 70 - Data 80 - Function 90 - System 100 - Environment

23 PSP1 Includes: Size estimation Scheduling estimating Process improvement proposal Test report

24 PSP2-PSP3 Includes: Personal design and code reviews Yield and cost of quality measures Design templates Size estimating principles Estimating is unknown process: earlier the estimate, the less is known

25 Program Estimation Conceptual Design Identify Objects No. Methods Relative size Object type Reuse Components Calculate Added and Modified LOC Estimate Program Size

26 Quality Management and Quantitative Process Components of Cost of Quality (COQ) Failure Costs: cost of diagnosing a failure and making necessary repairs Appraisals Costs: costs of evaluating the product and determining its quality level Prevention costs: costs of defects and actions taken to prevent them in the future A/FR: ratio of appraisal to fix time; measures effort to detect defect removal

27 Process Change Management Use feedback to improve process Make changes to one’s methodology Training Seminars Practice with unfamiliar ideas Strategize to determine when and how to inject new technology Defect prevention: how did defect occurs and what made it happen; modify one’s development process


Download ppt "Implementation Phase CS4311 – Spring 2008 References: Shach, Object Oriented and Classical Software Engineering E. Braude, Software Engineering, an Object-Oriented."

Similar presentations


Ads by Google