COMP/EECE 7012/8012: Foundations of Software Engineering Spring 2013 Scott Fleming, Instructor http://flic.kr/p/3f1RGT
What distinguishes software engineering from other types of software creation? Large Scale http://flic.kr/p/sAPm8 Customers http://flic.kr/p/hnrKZ Teams of Developers http://flic.kr/p/83MmEP
What is the measure of a successful software engineering project? Customer Satisfaction http://flic.kr/p/hnrKZ * OK, effect on society and humanity matters too, but humor me…
Meets their needs, On time, On budget What do customers want? Software that Meets their needs, On time, and On budget
Unfortunately, satisfying customers is hard… http://flic.kr/p/7pGoCd Have you ever been a dissatisfied customer?
The “Software Crisis” Since the 1960s (More like a depression) (Standish Group) Of 28,000 projects completed in 2000… (Cutter Consortium) 2002 Study: 78% of orgs landed in court Let’s discuss some underlying problems…
Problem: Requirements http://flic.kr/p/a5UCs
“The customer is always right!” http://flic.kr/p/9XVhuK But … Customers may change their minds Customers may not agree with each other Customers may not know exactly what they want
Problem: Cost estimation http://flic.kr/p/anRib
Spectacular failure: Denver Int’l Airport baggage-handling system Largest international airport in the US (by area) Scheduled to open in Oct ‘93; actually opened in Feb ‘95 Had to buy back up system and scale back first system after deadline had passed System never did work as intended and was retired in 2005 Problems both managerial and technical Hard to get precise figures on how over-budget, but one estimate at $3.2 billion
Problem: Bugs http://flic.kr/p/6Pxibn
Spectacular failure: Therac-25 radiation therapy machine 6 overdoses between Jun ‘85 and Jan ‘87. First overdose: Breast cancer “tremendous force of heat… this red-hot sensation” Reddening, swelling in front; later matching back; tremendous pain Lost breast and lost use of arm, shoulder 15,000-20,000 rad overdose; 200 rad normal dose; 1000 to whole body will kill Manufacturer and operators refused to implicate Therac-25 Other cases were similar; one for skin cancer on face resulted in death in one month
Problem: Maintenance http://flic.kr/p/5U934t
All successful software will change over time But such change can lead to design erosion
But to effectively apply these approaches requires a lot of experience What ways have you heard of to overcome these problems and satisfy the customer? In this course, we’ll learn about: Agile development Iterative development Test-driven development Object-oriented analysis and design But to effectively apply these approaches requires a lot of experience
Course Goals Significant software project Team skills Communication skills Project management
What type of software will you build for the project? Web Apps!
Why web apps? Create apps every bit as dynamic, interactive, and custom tailored as native apps Avoid deployment problems Reach people world wide http://flic.kr/p/9DTDXi
Course Structure Web App Boot Camp (4 weeks) 7 Homeworks Project Alpha Iteration (6 weeks) Project Beta Iteration (4 weeks) Each project iteration ends with presentation Required readings + quizzes throughout project Three exams evenly spaced
Grading 40% Team Project 30% Exams (×3) 10% Quizzes 10% Homework 15% Regular Productivity 5% Above & Beyond 10% Alpha Milestone 10% Beta Milestone 30% Exams (×3) 10% Quizzes 10% Homework 10% Participation
Now for the schedule…
What’s next? Read syllabus and take the quiz Do Homework 0 Due Tuesday by 5:30 Do Homework 0 Fill out Project Preferences Questionnaire Due in Dropbox by midnight on Sunday