Download presentation
Presentation is loading. Please wait.
Published byBrent Wilcox Modified over 9 years ago
1
Winter 2005SE-280 Dr. Mark L. Hornick Personal Software Process: Initial Process Overview
2
SE-280 Dr. Mark L. Hornick 2 Back in SE-2030, you heard about the “life cycle” of software product development. Requirements Analysis & Specification Architectural & Conceptual Design (HLD) HLD Review Detail-Level Design (DLD) DLD Review Implementation Unit Testing Integration & System Testing Code Review In this course, we focus on a subset of these activities, but also on the process used to perform them. Planning N/A
3
SE-280 Dr. Mark L. Hornick 3 As you have likely learned, many organizations use a cyclic/iterative development process. Teams Product Cycle 1 Cycle n
4
SE-280 Dr. Mark L. Hornick 4 In this course, we'll apply software process to the incremental development of a software system. The system you will build performs statistical calculations that are useful in estimating and planning software development work. Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 It will be built incrementally, in a series of seven development cycles. You are strongly encouraged to plan for reuse and enhancement as you proceed. We'll talk more about the process as we go.
5
Winter 2005SE-280 Dr. Mark L. Hornick 5 The Personal Software Process (PSP) is organized in logical steps called phases. Planning Design Design review Coding Code review Compile (if used) Test Postmortem Note that phases are not the same thing as activities! The PSP can be easily be used with cyclic development (as we are doing in this course) Scripts are used to define the process.
6
Winter 2005SE-280 Dr. Mark L. Hornick 6 To plan, we need Historical Data. In the PSP, there are four basic process data metrics: 1. Program Size What to count? 2. Time to complete Minutes/phase 3. Quality Defects/phase 4. Schedule Task completion date To improve performance, we must be able to measure and make comparisons. Other measures, such as productivity and defect density, are derived from the base measures.
7
Winter 2005SE-280 Dr. Mark L. Hornick 7 Time logging is an important tool for planning and tracking project effort (any project, not just SW development)
8
Winter 2005SE-280 Dr. Mark L. Hornick 8 Defect logging provides a basis for quality planning and process improvement. What is a defect?
9
To categorize defects, we use a defect type standard. CategoryExample of defect Documentation (UML, Javadoc, Output) UML diagrams illustrating the application design were found to be incorrect or incomplete Javadoc comments describing method/parameters were found to be incorrect or incomplete User messages being output by the application were found to be incorrect or incomplete Syntax (Variable reference, Method reference, Early termination, Missing Braces) A spelling error resulted in the access of the wrong variable or method A punctuation error (such as a semi-colon after an if() or while() terminated the condition abnormally. Missing braces after an if() resulted in the wrong instructions being executed Build, packageThe application was being built using the wrong version of a source component or jarfile. This type of error is due to problems with change management, library, version control Naming (Bad naming, Duplicate naming, Data hiding) The name of a class, method, or argument was found to be incorrect or inappropriate. A variable/attribute has the same name as a method. A local variable with the same name as a class attribute was found to improperly hide the class attribute. A local variable within the scope of a for(), while(), or if() block was found to hide a local variable declared at the method scope. Interface (Wrong arguments, Wrong method) The arguments to a method were found to have been supplied in the wrong order ( e.g. function takes x,y, but arguments representing y,x were supplied). The wrong method was accidentally called ( e.g. Point.getX() rather than Point.getY() ) CheckingAn incorrect user error message was output as the result of a check Inadequate checks for errors led to incorrect behavior of the application. Data (Indexing error, Data overwrite) Wrong index used to access a data structure. Content of a data structure was corrupted (many ways to do this). Logic (Boolean expression, For() expression) A boolean expression in an if(), while(), do-while() was found to be incorrect A for() loop was found to terminate incorrectly (too early or too late, due to an incorrect loop termination expression) In a recursive method, the recursion termination condition was incorrect The incorrect implementation of a formula or mathematical expression led to an incorrect computation result. SystemUnlikely: Wrong version of the operating system or service pack was being used. Unlikely: errors resulting from timing or memory EnvironmentThe configuration of the development environment was incorrect (wrong version of Eclipse, JDK, etc) Problems in JUnit, SVN, or other development tools introduced or masked errors. 9
10
Winter 2005SE-280 Dr. Mark L. Hornick 10 Baseline Personal Software Process Baseline Process Document whatever you now do Effort (time, program size) Quality (defects) Establish current performance Reference for measuring improvement How?
11
SE-280 Dr. Mark L. Hornick 11 Like other processes, the PSP works best with appropriate tool support. In this class, we will use Process Dashboard, an open-source tool designed to work with the PSP and other processes.
12
SE-280 Dr. Mark L. Hornick 12 Process Dashboard Installation & Demo
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.