PSP Class Practice 1 MARCIA begins work her program [10:00] by reviewing the requirements in the assignment package, including the test requirements, to.

Slides:



Advertisements
Similar presentations
JQuery MessageBoard. Lets use jQuery and AJAX in combination with a database to update and retrieve information without refreshing the page. Here we will.
Advertisements

Software Engineering Lab Session Session 1 – Introduction to the practicum © Jorge Aranda, 2005.
Write a program step by step. Step 1: Problem definition. Given the coordinate of two points in 2-D space, compute and print their straight distance.
Programming Types of Testing.
James Tam Loops In Python In this section of notes you will learn how to rerun parts of your program without having to duplicate the code.
Nov 10, Fall 2006IAT 8001 Debugging. Nov 10, Fall 2006IAT 8002 How do I know my program is broken?  Compiler Errors –easy to fix!  Runtime Exceptions.
The Software Process Strategy The Software Process Strategy Part III.
6/19/2007SE _6_19_TSPImp_SVT_Lecture.ppt1 Implementation Phase Inputs: Development strategy & plan Completed, inspected & baselined SRS & SDS.
If You Missed Last Week Go to Click on Syllabus, review lecture 01 notes, course schedule Contact your TA ( on website) Schedule.
Computer Science 1620 Programming & Problem Solving.
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.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
UNIT 3 TEMPLATE AND EXCEPTION HANDLING. Introduction  Program errors are also referred to as program bugs.  A C program may have one or more of four.
Problem Determination Your mind is your most important tool!
PROGRAMMING IN VISUAL BASIC.NET VISUAL BASIC BUILDING BLOCKS Bilal Munir Mughal 1 Chapter-5.
Debugging !!!  ► Believe it or not, errors happen ► The most frustrating part of programming ► Hunting down an error can be harder and more time consuming.
Discussion of Assignment 9 1 CSE 2312 Computer Organization and Assembly Language Programming Vassilis Athitsos University of Texas at Arlington.
SE 501 Software Development Processes Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University Lecture for Week 6.
1 Debugging. 2 A Lot of Time is Spent Debugging Programs Debugging. Cyclic process of editing, compiling, and fixing errors. n Always a logical explanation.
Testing and Debugging Version 1.0. All kinds of things can go wrong when you are developing a program. The compiler discovers syntax errors in your code.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
CS 350, slide set 5 M. Overstreet Old Dominion University Spring 2005.
The Development Process Problem Solving. Problem Solving - Dr. Struble 2 What Is Asked of Computer Programmers? Input Transformation Output Write a computer.
Systems Life Cycle. Know the elements of the system that are created Understand the need for thorough testing Be able to describe the different tests.
File Input and Output in C++. Keyboard and Screen I/O #include cin (of type istream) cout (of type ostream) Keyboard Screen executing program input data.
CS Class 05 Topics  Selection: switch statement Announcements  Read pages 74-83, ,
Lecture 3 Classes, Structs, Enums Passing by reference and value Arrays.
1 Debugging and Syntax Errors in C++. 2 Debugging – a process of finding and fixing bugs (errors or mistakes) in a computer program.
Mistakes, Errors and Defects. 12/7/2015Mistakes, Errors, Defects, Copyright M. Smith, ECE, University of Calgary, Canada 2 Basic Concepts  You are building.
Conditional Loops CSIS 1595: Fundamentals of Programming and Problem Solving 1.
Decisions, Decisions, Decisions Conditional Statements In Java.
Agenda Perform Quiz #1 (20 minutes) Loops –Introduction / Purpose –while loops Structure / Examples involving a while loop –do/while loops Structure /
CS 177 Week 10 Recitation Slides 1 1 Debugging. Announcements 2 2.
CS116 COMPILER ERRORS George Koutsogiannakis 1. How to work with compiler Errors The Compiler provide error messages to help you debug your code. The.
CSc 352 Debugging Tools Saumya Debray Dept. of Computer Science The University of Arizona, Tucson
Introduction Chapter 1 1/22/16. Check zyBooks Completion Click on the boxes for each section.
CSC 205 Programming II Lecture 1 PSP. The Importance of High-Quality Work Three aspects to doing an effective software engineering job producing quality.
The Debugging Process Syntax Errors CPS120 Introduction to Computer Science Lecture 4.
Intro. to Computer Programming Eng. Nehal A. Mohamed Spring Semester-2016.
OPERATORS IN C CHAPTER 3. Expressions can be built up from literals, variables and operators. The operators define how the variables and literals in the.
DEVRY CIS 170 C I L AB 2 OF 7 D ECISIONS Check this A+ tutorial guideline at decisions For.
Wrapper Classes Debugging Interlude 1
Component 1.6.
Having Breast Cancer Section 7.
The Pseudocode Programming Process
Error Handling Summary of the next few pages: Error Handling Cursors.
Topics Introduction to Repetition Structures
Janet has used PSP for the last 6 months
Iteration with While You can say that again.
When I want to execute the subroutine I just give the command Write()
Chapter 15 Debugging.
Programming in C Pointer Basics.
Loops CIS 40 – Introduction to Programming in Python
What happens when this code executes?
CSc 352 Debugging Tools Saumya Debray Dept. of Computer Science
Chapter 15 Debugging.
Workshop for Programming And Systems Management Teachers
Homework Applied for cs240? (If not, keep at it!) 8/10 Done with HW1?
Note the rights settings.
Software Development Process
An Introduction to Debugging
Mistakes, Errors and Defects
Running a Java Program using Blue Jay.
More Loops Topics Relational Operators Logical Operators for Loops.
Having Breast Cancer Section 7.
Lecture 14: Testing Testing used to verify object behavior through designed test suites Can test Classes – “unit” testing Object interactions – “integration”
Arrays.
Chapter 15 Debugging.
CHAPTER 6 Testing and Debugging.
Chapter 15 Debugging.
Presentation transcript:

PSP Class Practice 1 MARCIA begins work her program [10:00] by reviewing the requirements in the assignment package, including the test requirements, to be sure she understands them. She copies the requirements to her note pad. Then, based on the data presented on past student performance and MARCIA’s feeling about her own performance, she estimates that this assignment will take three hours. She writes this estimate on her Project Plan Summary [10:26].

PSP Class Practice 2 MARCIA starts to design the program [11:10]. She studies the requirements and sketches out a diagram of the data structure. She is done at [12:10] and decides to go to lunch. MARCIA starts coding [1:30]. While working on coding, MARCIA is interrupted by a classmate who doesn’t understand how to get started. MARCIA spends 30 minutes explaining how to use the PSP0 process forms and then gets back to coding. MARCIA finishes coding all the routines, checks to make sure she hasn’t missed anything [3:40] and fetches a fresh cup of coffee before compiling.

PSP Class Practice 3 MARCIA compiles the program [4:00] and gets and error message, unbalanced parenthesis. Looking at the compiler output, MARCIA sees where the missing parenthesis belongs and fixes the source code [4:07]. MARCIA recompiles the program and gets another error message, undeclared identifier [4:08]. Surprised, since she thought she declared this identifier, MARCIA searches through the source code and discovers that the identifier she declared had and ‘-‘ in it [4:11]. MARCIA again recompiles the program and gets an error message at the end of the program, unmatched lines [4:12]. After reviewing the program logic for a few minutes, MARCIA spots where the missing end belongs and fixes the source code [4:18]. MARCIA recompiles the program and this time, there are no compile errors [4:19]. MARCIA is done for the day.

PSP Class Practice 4 The next day MARCIA loads the program and begins executing the first test case [10:10]. The program prompts MARCIA for the input data file name and MARCIA types it in, but nothing happens [10:11]. MARCIA invokes the debugger, traces the program execution, and discovers it is in infinite loop. she studies the source code for the loop and spots the problem - a pointer was not incremented within the loop[10:43].

PSP Class Practice 5 MARCIA corrects the source code, recompiles the program and begins executing the first test case again. This time, the program outputs some results, but the print format is wrong, so MARCIA can't tell if they're correct[10:45]. MARCIA fixes the print format [10:55] and retries the first test case [10:56]. The format is OK now, but the answers are wrong. MARCIA reviews the program logic and looks at some variables with the debugger. After studying the code and the results, MARCIA realizes her initial design was flawed and it needs to be written [10:59].

PSP Class Practice 6 MARCIA rewrites the routine and recompiles it[1:51]. This time there is no errors. MARCIA re-executes the first test case and this time, the results are good [1:54]. MARCIA executes the next two test cases and both give the correct results [1:57]. MARCIA finds her Plan Summary form and begins filling it in [1:58]. It takes her 13 minutes to complete the Plan Summary. Filling out the Plan Summary and doing any other cleanup is called the Postmortem Phase.