Implementation Phase CS4311 – Spring 2008 References: Shach, Object Oriented and Classical...
-
Upload
oswald-holmes -
Category
Documents
-
view
220 -
download
4
Transcript of Implementation Phase CS4311 – Spring 2008 References: Shach, Object Oriented and Classical...
Implementation Phase
CS4311 – Spring 2008References: Shach, Object Oriented and Classical
Software EngineeringE. Braude, Software Engineering, an Object-Oriented
Perspective
Choice of Programming Language
Factors Availability of compilers Expertise of programming team
Analysis Cost-benefit analysis Risk analysis Problem domain
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
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
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
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
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
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.
With a Stable PSP
You can meet your commitments resist unreasonable commitment pressures
You will also understand your ability be better able to improve
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
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
PSP Steps
Level 2Software configuration managementSoftware quality assuranceSoftware subcontract managementSoftware project tracking and oversight*Software project planning*Requirements management
*PSP key process areas
Level 3Peer reviews*Intergroup coordinationSoftware product engineering*Integrated software management*Training programOrganization process definition*Organization process focus*
Level 4Quality management*Process measurement and analysis*
Level 5:Process change management*Technology innovation*Defect prevention*
Level 11
2
3
4
5
PSP Overview -1
PSP0Current processTime recording
Defect recordingDefect type standard
PSP1Size estimating
Test report
PSP2Code reviews
Design reviews
PSP3Cyclic development
PSP2.1Design templates
PSP1.1Task planning
Schedule planning
PSP0.1Coding standard
Size measurementProcess improvement
proposal (PIP)
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
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.
The PSP0 Process Elements
A project plan summary form A time recording log A defect reporting log A defect type standard
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.
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.
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
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
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.
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
PSP1
Includes: Size estimation Scheduling estimating Process improvement proposal Test report
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
Program Estimation
Conceptual Design
Identify ObjectsNo. Methods Relative size
Object type Reuse Components
Calculate Added and Modified LOC
Estimate Program Size
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
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