Winter 2005SE-280 Dr. Mark L. Hornick Personal Software Process: Initial Process Overview.

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Automated Software Testing: Test Execution and Review Amritha Muralidharan (axm16u)
The Baseline Personal Process Copyright, 1999 © Jerzy R. Nawrocki Jerzy Nawrocki Personal Software Process Lecture 3.
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
Documentation Testing
Personal Software Process
Software Configuration Management
Working with JavaScript. 2 Objectives Introducing JavaScript Inserting JavaScript into a Web Page File Writing Output to the Web Page Working with Variables.
Miser-C MISRA-C Compliance Checker Ian Biller, Phillippe Dass, Bryan Eldridge, Jon Senchyna, Tracy Thomas.
6/19/2007SE _6_19_TSPImp_SVT_Lecture.ppt1 Implementation Phase Inputs: Development strategy & plan Completed, inspected & baselined SRS & SDS.
XP 1 Working with JavaScript Creating a Programmable Web Page for North Pole Novelties Tutorial 10.
SE 450 Software Processes & Product Metrics 1 Defect Removal.
Aplicaciones de Ingeniería de Software
Programming Logic and Design, Introductory, Fourth Edition1 Understanding Computer Components and Operations (continued) A program must be free of syntax.
Configuration Management
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.
Introduction To C++ Programming 1.0 Basic C++ Program Structure 2.0 Program Control 3.0 Array And Structures 4.0 Function 5.0 Pointer 6.0 Secure Programming.
1 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Software Development Method Topics l Software Development Life Cycle Reading l Section 1.4 – 1.5.
CH07: Writing the Programs Does not teach you how to program, but point out some software engineering practices that you should should keep in mind as.
Introduction To System Analysis and design
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
CLEANROOM SOFTWARE ENGINEERING.
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
SE-280 Dr. Mark L. Hornick Design Review Issues. SE-280 Dr. Mark L. Hornick 2 Many expensive defects are a result of design problems Software applications.
Rational Unified Process Fundamentals Module 4: Disciplines II.
1 9/19/2015ã 2007, Spencer Rugaber Personal Software Process (PSP) Application of CMM principles to individuals Developed by Watts Humphrey of the Software.
Software Metrics - Data Collection What is good data? Are they correct? Are they accurate? Are they appropriately precise? Are they consist? Are they associated.
Software Estimation and Function Point Analysis Presented by Craig Myers MBA 731 November 12, 2007.
CS 350, slide set 10 M. Overstreet Old Dominion University Spring 2006.
XP Tutorial 10New Perspectives on Creating Web Pages with HTML, XHTML, and XML 1 Working with JavaScript Creating a Programmable Web Page for North Pole.
© 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.
INFO 637Lecture #101 Software Engineering Process II Review INFO 637 Glenn Booker.
CS 350, slide set 5 M. Overstreet Old Dominion University Spring 2005.
16 October Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance.
SE-280 Dr. Mark L. Hornick 1 SE-280 Software Engineering Process Dr. Mark L. Hornick web: myweb.msoe.edu/hornick SE280 info syllabus,
Chapter 4 프로세스 모델 Process Models
XP Tutorial 10New Perspectives on HTML and XHTML, Comprehensive 1 Working with JavaScript Creating a Programmable Web Page for North Pole Novelties Tutorial.
SE-280 Dr. Mark L. Hornick 1 Design and Code Reviews Review Checklists.
Documentation Dr. Andrew Wallace PhD BEng(hons) EurIng
Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA Bellevue.
Implementation Phase CS4311 – Spring 2008 References: Shach, Object Oriented and Classical Software Engineering E. Braude, Software Engineering, an Object-Oriented.
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Software testing techniques Software testing techniques Object-oriented software testing Presentation on the seminar Kaunas University of Technology.
Advanced S/w Eng - s/w productivity issues 1 Software Productivity Issues Why do software projects fail? Advanced Software Engineering COM360 University.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Advanced Software Engineering Lecture 4: Process & Project Metrics.
PROGRAMMING TESTING B MODULE 2: SOFTWARE SYSTEMS 22 NOVEMBER 2013.
Introduction to the Personal Software Process. Overview Process Fundamentals PSP Concepts and Structure PSP Planning and Measurement PSP Quality Management.
XP Tutorial 10New Perspectives on HTML, XHTML, and DHTML, Comprehensive 1 Working with JavaScript Creating a Programmable Web Page for North Pole Novelties.
Personal Software Process Adam Graham Candidate for M.S. Computer Science Union College.
Software Testing.
Software Configuration Management
Types for Programs and Proofs
Chapter 11: Software Configuration Management
Software Testing Techniques
Object-oriented software testing
Chapter 8 – Software Testing
Systems Analysis and Design
Java programming lecture one
A possible solution: Personal Software Process (PSP)
Chapter 11: Software Configuration Management
Chapter 7 –Implementation Issues
The role of Planning in the Software Development Process
Presentation transcript:

Winter 2005SE-280 Dr. Mark L. Hornick Personal Software Process: Initial Process Overview

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

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

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.

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.

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.

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)

Winter 2005SE-280 Dr. Mark L. Hornick 8 Defect logging provides a basis for quality planning and process improvement. What is a defect?

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

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?

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.

SE-280 Dr. Mark L. Hornick 12 Process Dashboard Installation & Demo