CS 350: Introduction to Software EngineeringLecture overviewAnnouncementsCS 350: Intro to SEMiscellaneous Class InformationRecitations - 1Recitations - 2Slide 8General InformationCourse OverviewFrom the SyllabusSlidesStructure/purpose of class projectsCourse Objectives 1: PSPCourse Objectives 2: TSPOne problem with teaching SE principlesOne definition of software engineering:Quick Survey (Quiz 1!) Due Tues.!!SE emphasis on metrics & dataPSP composed of this week’s "best-known practices"Unpleasant Facts of life:Process, Process, Process!The PSP MetaprocessLecture TopicsThe Changing World of SoftwareSoftware Products are BiggerBig Software Projects Usually FailWhy Projects Fail - 1Why Projects Fail - 2The Need for ChangeManagement Support - 1Management Support - 2Management Support - 3PSP Principles - 1PSP Principles - 2What Does a PSP Provide?What Does the PSP Provide?Warning 1: PSP omits keys steps in software development. e.g.Warning 2. PSP does not discuss support of software after deployment.CommentWhat is the PSP?The PSP Process FlowThe Personal Software ProcessLearning the PSP - 1Learning the PSP - 2Learning the PSP - 3At Course ConclusionCourse ResultsPSP Estimating AccuracyCompile and Test Time – 810 EngineersSize and LOC/hour – 810 EngineersMessages to RememberSlide 53Slide 54Tutorial ObjectivesPSP0 ProcessPSP0 ObjectivePSP0 Process Phases - 1PSP0 Process Phases - 2Phase OrderProcess FlowCyclic Process Flow -1Cyclic Process Flow - 2Process ScriptsThe PSP0 Scripts - 1The PSP0 Scripts - 2Using Process ScriptsPSP0 Measures and FormsPSP Student WorkbookInstalling the PSP Student WorkbookOpen the PSP Student WorkbookComplete the Student ProfileOpening a PSP ProjectPSP0 Forms - 1PSP0 Forms - 2PSP0 Time Recording Log -1PSP0 Time Recording Log -2Defect Recording Log - 1Defect Recording Log - 2Defect Type StandardPSP0 Project Plan SummaryCompleting a PSP ProjectMeasurement HintsDefect Fix TimeDefect Phase InjectedMeasurement in the Cyclic ProcessCS 350: Introduction toSoftware EngineeringSlide Set 1C. M. OverstreetOld Dominion UniversitySpring 2006Spring 2006 CS 350/ODU 2Lecture overviewAnnouncementsClass expectationsStructure, grading, project, logistics, semester structurePSP: what’s it aboutTSP: what’s it aboutPSP0: detailsSpring 2006 CS 350/ODU 3AnnouncementsoCS Dept. Systems groups looking for peopleoContact Ajay Gupta.oAny interest in working closely with students in Berlin, Germany on term project?oGerman not required! Everything in EnglishoTrip to Berlin in Spring BreakoPartial support for tickets likelyoFree stay (almost) in Berlin likelyoNeed at least 5 people to make this workSpring 2006 CS 350/ODU 4CS 350: Intro to SETexts: 1) PSP: A Self-Improvement Process for Software Engineers Watts S. Humphrey, Addison-Wesley, 2005. 2) Introduction to the Team Software Process, Watts S. Humphrey, Addison-Wesley, 2000 (not used till we finish PSP text).Spring 2006 CS 350/ODU 5Miscellaneous Class InformationClass material is available on web (www.cs.odu.edu/~cmo under cs350)Class is time consumingBut more time spent on process than codingReading assignments: PSP, chapters 1 & 2Spring 2006 CS 350/ODU 6Recitations - 1Recitations meet on FridaysBut not this week!Spring 2006 CS 350/ODU 7Recitations - 2Recitations:You must register for oneYou must attendWill be used for:•Group meetings (later)•Project discussions•Covering some software tools•Reviews of class performance on programming•Your data compared to class averages•Answering questionsSpring 2006 CS 350/ODU 8AnnouncementsYou must have a CS dept account:Go to www.cs.odu.edu, pick Online Services, then select Account Creation.Spring 2006 CS 350/ODU 9General InformationPrerequisitesCS 361 or CS 330 UNIX exposureHelpful backgroundSome simple statistics (but we’ll cover in class as needed)Spring 2006 CS 350/ODU 10Course OverviewActivities:5 programming assignments, PSP based1 team project, TSP based2 in-class exams & comprehensive final recitation/class assignmentsGrading:Individual projects: 25%Team project: 20%In-class exams: 25%Recitation/class assignments: 10%Final exam: 20%Spring 2006 CS 350/ODU 11From the SyllabusHonor codeLateness policySpecial needsRead the syllabus!Spring 2006 CS 350/ODU 12SlidesAvailable before class on WebSlides are OUTLINE only.For content, read textbooks, assigned readingsFor content, come to classIf class is missed, get GOOD notes from class memberSpring 2006 CS 350/ODU 13Structure/purpose of class projectsNot about programmingFocus is on the process used to develop software products.Learning the process involves using it to development some software.Five individual projects involving codingHowever you will spend more time on process steps than coding•Industry data: of total project time, 15% is codingEmphasize your Personal Software ProcessOne team projectEmphasizes the Team Software ProcessSpring 2006 CS 350/ODU 14Course Objectives 1: PSPIntroduce you to a process-based approach to developing softwareShow you how to measure and analyze your Personal Software Process (PSP)Improve your software development skills:faster developmentfewer errors (i.e. better software)more predictable (more accurate estimates of time required to complete a project)Show you how to use data to improve your personal performanceSpring 2006 CS 350/ODU 15Course Objectives 2: TSPAssumes large software projectMany peopleMaybe > 100,000 KLOCWorking on teams requires specific skillsTSP goals:Understand how to build teamsUnderstand different team rolesUnderstand how to work on teamsSpring 2006 CS 350/ODU 16One problem with teaching SE principlesStudents often don’t see needif they haven’t worked on large software projectsif they haven’t worked on projects where quality is required•Society increasing reliance on software whose failure can do significant harmGeneral observation: currently accepted SE principles slow things down in order to speed things up!These techniques work!But programmers (generally) don’t like themSpring 2006 CS 350/ODU 17One definition of software engineering:Computer science with economicsWhat’s the cheapest way to build a quality system?One definition of an engineer:Someone who can for dime what any fool can build for a dollar.Spring 2006 CS
View Full Document