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

Slides:



Advertisements
Similar presentations
The Personal Software Process (PSP) Lecture #1 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Advertisements

More CMM Part Two : Details.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
SE 501 Software Development Processes Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University Lecture for Week 7.
Personal Software Process
Computer Engineering 203 R Smith Process/Plan Model 7/ Development Process Models Development Process Models are different ways to look at the processes.
Aplicaciones de Ingeniería de Software
Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.
Using A Defined and Measured Personal Software Process Watts S. Humphrey CS 5391 Article 8.
Personal software process Mohammed ahmed ali. What is psp The personal software process (psp) is a structured set of process descriptions, measurements.
Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #1 Software Engineering.
Capability Maturity Model
Personal Software Process KAIST SE Lab..
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Capability Maturity Model Part One - Overview. History Effort started by SEI and MITRE Corporation  assess capability of DoD contractors First.
Chapter 2 The process Process, Methods, and Tools
N By: Md Rezaul Huda Reza n
INFO 637Lecture #41 Software Engineering Process II Development Plan INFO 637 Glenn Booker.
Software Inspection A basic tool for defect removal A basic tool for defect removal Urgent need for QA and removal can be supported by inspection Urgent.
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
J. R. Burns, Texas Tech University Capability Maturity Model -- CMM n Developed by the Software Engineering Institute (SEI) in 1989 –SEI is a spinoff.
1 9/19/2015ã 2007, Spencer Rugaber Personal Software Process (PSP) Application of CMM principles to individuals Developed by Watts Humphrey of the Software.
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
Disciplined Software Engineering Lecture #6 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Software Engineering - Spring 2003 (C) Vasudeva Varma, IIITHClass of 39 CS3600: Software Engineering: Standards in Process Modeling CMM and PSP.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
By Ritesh Reddy Nagaram.  Organizations which are developing software processes are facing many problems regarding the need for change of already existing.
Lecture: The Personal Software Process. 2 Overview  Personal Software Process assumptions process stages measures and quality strategy results.
© 1998 Carnegie Mellon UniversityTutorial The Personal Software Process (PSP) The overview of the PSP that follows has been built from material made.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Georgia Institute of Technology CS 4320 Fall 2003.
INFO 637Lecture #101 Software Engineering Process II Review INFO 637 Glenn Booker.
Software Engineering Prof. Dr. Bertrand Meyer March–June 2007 Chair of Software Engineering Lecture 2: The Personal Software Process.
Team Software Process (TSPi) CS4320 Fall TSP Strategy Provide a simple process framework based on the PSP. Use modest, well-defined problems. Develop.
SWEN 5130 Requirements Engineering 1 Dr Jim Helm SWEN 5130 Requirements Engineering Requirements Management Under the CMM.
“Look, who is the most successful in attracting and holding good people? The nonprofits. The satisfaction has to be greater than in business because there.
Process Improvement. It is not necessary to change. Survival is not mandatory. »W. Edwards Deming Both change and stability are fundamental to process.
CMMI. 1.Initial - The software process is characterized as ad hoc, and occasionally even chaotic. Few processes are defined, and success depends on individual.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Disciplined Software Engineering Lecture #2 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #2 Software Engineering.
Defect resolution  Defect logging  Defect tracking  Consistent defect interpretation and tracking  Timely defect reporting.
Ch-1 Introduction The processes used for executing a software project have major effect on quality of s/w produced and productivity achieved in project…
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
CS 350: Introduction to Software Engineering Slide Set 2 Process Measurement C. M. Overstreet Old Dominion University Fall 2005.
THE POSTMORTEM Chapter 10 Introduction to Team Software Process.
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
Carnegie Mellon Software Engineering Institute © 2006 by Carnegie Mellon University Software Process Performance Measures James Over Software Engineering.
Personal Design and Development Software Process PD 2 SP “The unexamined life is not worth living.” Plato.
Introduction to the Personal Software Process. Overview Process Fundamentals PSP Concepts and Structure PSP Planning and Measurement PSP Quality Management.
CSC 480 Software Engineering PSP Project 1 August 20, 2004.
CS 350: Introduction to Software Engineering Slide Set 3 Estimating with Probe I C. M. Overstreet Old Dominion University Spring 2006.
Project Planning Goal 1 - Estimates are documented for use in tracking and planning project. Goal 2 - Project Activities and commitments planned and documented.
CSC 205 Programming II Lecture 1 PSP. The Importance of High-Quality Work Three aspects to doing an effective software engineering job producing quality.
Capability Maturity Model. CS460 - Senior Design Project I (AY2004)2 Immature Organisations Software processes are often rigorously followed. Organisation.
Capability Maturity Model. What is CMM? n CMM: Capability Maturity Model n Developed by the Software Engineering Institute of the Carnegie Mellon University.
Personal Software Process Team Software Process
Software Engineering Lab Session
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
A possible solution: Personal Software Process (PSP)
Applied Software Implementation & Testing
Software Engineering Lecture 16.
Software Engineering I
Capability Maturity Model
Capability Maturity Model
Presentation transcript:

Implementation Phase CS4311 – Spring 2008 References: Shach, Object Oriented and Classical Software Engineering E. 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 entions.html 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 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 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

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)

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: Syntax 30 - Build, package 40 - Assignment 50 - Interface 60 - Checking 70 - Data 80 - Function 90 - System 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 Objects No. 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