Software Engineering Lab Session Session 1 – Introduction to the practicum © Jorge Aranda, 2005.

Slides:



Advertisements
Similar presentations
Test process essentials Riitta Viitamäki,
Advertisements

Thomas A. Stewart Literacy Test (OSSLT) Prep Guide 2013
We’ll be spending minutes talking about Quiz 1 that you’ll be taking at the next class session before you take the Gateway Quiz today.
Ms. Maxwell Stage 2: Describe.  You have each taken a test to determine how well you keep your minds active while you are reading and remember what you.
The Pragmatic Programmer I. About the textbook The Pragmatic Programmer is full of helpful suggestions for surviving programming It’s also enjoyably written.
ECEU300 Ethics in the Workplace Why talk about Ethics? Everyone is ethical, everyone knows how to behave at work. Everyone gets it about not stealing stuff.
How to study for A&P Adapted from “get ready for A&P” By Lori K. Garrett.
Student-led Conferences Student-led Conferences By: An 8 th Grade Student.
Computer Engineering 203 R Smith Project Tracking 12/ Project Tracking Why do we want to track a project? What is the projects MOV? – Why is tracking.
Software Engineering Lab Session Session 4 – Feedback on Assignment 1 © Jorge Aranda, 2005.
PRO2 - 1 Introduction to the Personal Software Process SWENET PRO2 Module Developed with support from the National Science Foundation.
Non-Coding Activities a Development Team Needs a.k.a ”I don’t code, am I no longer useful?” Maaret Pyhäjärvi| | Twitter: maaretp Test Granlund.
Software Life Cycles ECE 417/617: Elements of Software Engineering
Applied Software Project Management INTRODUCTION Applied Software Project Management 1 5/20/2015.
Important concepts in software engineering The tools to make it “easy to apply common sense”!
Important concepts in software engineering The tools to make it easy to apply common sense!
The Software Process Strategy The Software Process Strategy Part III.
Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
Team Leader Training How to manage a team or be on a team (and survive) 540f07tltrain5sep6 1.
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.
Why do I Need Multiplication? and how can I make it fun to learn?
Applied Software Project Management Andrew Stellman & Jennifer Greenehttp:// Applied Software Project Management Chapter 1: Introduction.
E. Melvin Honeycutt Elementary School Teachers: Doris Spencer Ashley Wise Students: 55 Academically.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 10: Testing and Inspecting to Ensure High Quality Part 4:
How to develop good study habits Being an A-level student is very different from studying at GCSE level. Although you will study a smaller number of subjects.
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
Prof. Matthew Hertz SH 1029F /
Software Engineering - Spring 2003 (C) Vasudeva Varma, IIITHClass of 39 CS3600: Software Engineering: Standards in Process Modeling CMM and PSP.
SE 501 Software Development Processes Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University Lecture for Week 6.
Prof. Matthew Hertz WTC 207D /
Last Minute Tips and Strategies
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.
Experimental Evaluation of Pair Programming Copyright, 2001 © Jerzy R. Nawrocki European Software Control & Metrics ESCOM’01 ESCOM’01 Poznan University.
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.
1 PSP4a Introduction to the Personal Software Process Watts Humphrey Addison Wesley Longman c1997.
1 PSP4a Introduction to the Personal Software Process Watts Humphrey Addison Wesley Longman c1997.
COMP 208/214/215/216 – Lecture 8 Demonstrations and Portfolios.
Week 3 Outline Post-Mortem By: Jamaral Johnson. 2 After Actions Review In this presentation I will do my best to highlight what went wrong. This is just.
Watts Humphrey IBM director of programming and vice-president of technical development Joined CMU Software Engineering Institute in 1986 Initiator and.
CS 350: Introduction to Software Engineering Slide Set 2 Process Measurement C. M. Overstreet Old Dominion University Fall 2005.
Mistakes, Errors and Defects. 12/7/2015Mistakes, Errors, Defects, Copyright M. Smith, ECE, University of Calgary, Canada 2 Basic Concepts  You are building.
MR105 – Keyboarding I Week 3 Seminar Nakisha Floyd, Instructor.
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.
Meeting the Grading Criteria Evaluation asks the question 'Is this the best way of doing it?'
ECE297 TA GUIDE Project supervision. Agenda M0 feedback Project overview M1 overview Project supervision.
CSC 480 Software Engineering PSP Project 1 August 20, 2004.
© 2015 albert-learning.com How to talk to your boss How to talk to your boss!!
Strategies for Essay Tests. Preparing for the test Know what is expected of you. What content will be covered? How many questions will be on the test?
n Taking Notes and Keeping a Journal n Listening Skills n Working Together n Managing Your Time.
CSC 205 Programming II Lecture 1 PSP. The Importance of High-Quality Work Three aspects to doing an effective software engineering job producing quality.
Classic Connections: Innovative Methods for Making Education Work.
Importance of formative literacy experiences Daniella Ramos.
7 th Grade Big6 Project Assignment: Make a children’s informational book (It can be in graphic novel format or regular picture-book format)
DSMA 0399 Comments of Past Students. DSMA 0399 Student Comments “Before this class as you probably remember I would not even accept that x or y could.
Watts Humphrey IBM director of programming and vice-president of technical development Joined CMU Software Engineering Institute in 1986 Initiator and.
Study Tips For A Great Education In Math.
Software Engineering Lab Session
This plan belongs to: Matthew, MYP 2 Design and 5 Art
Taking an Iteration Down to Code
PSP Class Practice 1 MARCIA begins work her program [10:00] by reviewing the requirements in the assignment package, including the test requirements, to.
A possible solution: Personal Software Process (PSP)
Session 8 Exam techniques
HOW TO BE MORE ACTIVE WHEN STUDYING
Applied Software Project Management
Software Engineering Lab Session
Presentation transcript:

Software Engineering Lab Session Session 1 – Introduction to the practicum © Jorge Aranda, 2005

Overview  What is it about?  Why are we doing this?  How to get a good grade  The Personal Software Process  Assignment 1

What is it about?  Based on Watts Humphrey’s Personal Software Process Outlined in A Discipline for Software Engineering  You should have finished reading Chapters 1-4 already! Six relatively easy programming assignments  On C  Focus on learning and understanding the process  Assignments map to Humphrey’s 1A-6A exercises

What is it about?  You’ll be submitting one assignment per week Except on Thanksgiving and the midterm week There’ll also be weekly reading assignments  The process will be increasingly elaborated as we go along…

Why are we doing this?  Hardly surprising facts: 1 – Most software projects go wrong 2 – Most software projects do not follow *any* development process 3 – Software projects that do follow some process have a much better chance of survival  It really can be almost any process  Extreme Programming and other Agile styles  Cleanroom  Capability Maturity Model (CMM)

Why are we doing this?  But software engineers are frequently too busy to learn software processes  The best time for you to learn them is now  We chose the Personal Software Process (PSP) Will help you think about software development in a disciplined way Will help you to know your own strengths and weaknesses, and to improve them It’s a personal activity, but it can be extended to teams and organizations It’ll look good on your resume

Why are we doing this?  Think about the term ‘Software Engineer’ What defines an engineer? What do engineers measure/control/plan? Do software developers really do engineering?

Why are we doing this?  Software engineering: Management of resources  Main resource is the engineer’s own time and what she does with it!  Estimation  Progress tracking Quality Assurance  Defects injected into product  Conformance of product to requirements

Why are we doing this?  Would you be able to respond accurately to these questions? On average, how many defects do you inject in the code you write (per 1,000 lines of code)? How many of those defects are coding errors, and how many are design or requirements errors? What percentage of your time goes into coding? What percentage goes into fixing defects? How many lines of code have you written in the past year? How many classes, methods or routines? Of what kind? By what percentage are your estimates normally off? Developers are all different –what are your weaknesses and strengths as a developer? (Fast coder, high quality, good architecture…?)

Why are we doing this?  This practicum will help you find answers to those questions  It’s harder than it sounds! You need to be disciplined about your own work Use a structured process Keep track of a lot of little details Little by little you’ll get used to it If you like it, great! You’ll have an important skill for your professional career. And if you don’t like it, remember you only have to do it this term…

How to get a good grade  Short story: It’s very easy, really. Just follow the process thoroughly and you’ll do great.  Longer story: Read ‘A Discipline for Software Engineering’ conscientiously.  Warning: Humphrey is not especially fun or concise Stick to the process while doing the exercises  Use the forms appropriately Extract insights from your own work, and report them  Reflections on your performance and on the process Work on two levels  Quality of your code, quality of your process Submit your assignments on time

The Personal Software Process  Basic idea #1: Measure yourself Know how much time you spend in programming tasks Know how many defects your code has Know how well you estimate your effort  You can’t control what you can’t measure  Basic idea #2: Control yourself Improve your estimates Improve the quality of your software

The Personal Software Process  PSP is incremental: PSP0  Whatever you’re currently doing, plus some measurements PSP0.1 -> PSP1 -> PSP1.1  Increasingly detailed estimates, controls  You start to apply regression to your estimates  You start getting efficiency and other quality metrics  This is as far as we’ll go PSP2 -> PSP3  We won’t have the time to go there…  I admit it does get hairy at this point…

The Personal Software Process  PSP0 You’ll be using three forms:  Project Plan Summary  Time Recording Log  Defect Recording Log Refer to Humphrey’s book for correct usage of these forms Project Plan Summary  After understanding the requirements, estimate how many minutes will the assignment take  After finishing the assignment, write down how much time it actually took, and how many defects you found  It is OK to be absolutely wrong in your initial estimates…

The Personal Software Process  PSP0 Time Recording Log  Have it handy when you work on your assignments  Record everything  If you get up from your desk, get a call, read … make sure your log has the corresponding ‘Interruption Time’ entries  Some details will feel embarrassing (two hours fixing a bug, for example…). Record them anyway  Use minutes, not hours  Low-tech works better than hi-tech at this point  Use Humphrey’s classification of activities:  Planning, Design, Code, Compile, Test, Postmortem

The Personal Software Process  PSP0 Defect Recording Log  Again, record every defect  If you designed your routines incorrectly, write the defect in the log  If you made an off-by-one error, write it in the log  If your automated tests were wrong, write it in the log  …you get the idea…  If unsure as to what ‘defect type’ each defect belongs to, write your assumptions in the defect description

The Personal Software Process  The three forms of PSP0 will become the foundation of later assignments It will feel weird at the beginning  Give it some time With time, you will be recording your time and defects naturally  Appreciating the advantages of this process will take a while It shouldn’t interfere with your creative processes!

Assignment 1  Write a program to calculate the mean and standard deviation of a sample of n real numbers.  Hints Remember we’re interested in that you learn a process, not in that you know how to program a standard deviation routine! Your report on insights and impressions is important – it will show us if your brain is engaged in the exercise or not Make sure you understand the requirements before you start coding Document all assumptions Automated tests are (almost) always better than manual tests Be nice to the TA that will mark your work and that of 150 other persons Although it shouldn’t take too long, start soon. We can tell if you’re rushing to finish your assignment

Am I missing something?  Questions?