370 likes | 397 Views
Explore the nature of SE projects, common challenges, and solutions. Dive into customer satisfaction, project failures, and key aspects of software engineering. Learn from SWEBOK and practical experience to build successful web applications. Enhance team and communication skills.
E N D
COMP 4081:Software Engineering Fall 2015 Dr. Scott Fleming, Instructor Hanwen Yu, Teaching AssistantKazi Zaman, Teaching Assistant http://flic.kr/p/3f1RGT
Questions! • What’s an SE project like? • What problems do SE projects face? • How do SEs overcome these problems? • How will this course teach you?
Questions! • What’s an SE project like? • What problems do SE projects face? • How do SEs overcome these problems? • How will this course teach you? Caveat: Every project is an individual
Characteristics of SE Projects Large Scale Customers Teams of Developers http://flic.kr/p/83MmEP http://flic.kr/p/sAPm8 http://flic.kr/p/hnrKZ
What is the measure of a successfulsoftware engineering project?
What is the measure of a successfulsoftware engineering project? Customer Satisfaction http://flic.kr/p/hnrKZ * OK, effect on society and humanity matters too, but humor me…
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) Of 28,000 projectscompleted in 2000… 2002 Study: 78% of orgs landed in court (Cutter Consortium) (Standish Group)
Although stats improving, challenges remain… Recent headlines (Oct 2013–Aug 2014): • Tech Problems Plague First Day Of Health Exchange Rollout • Health Exchange Tech Problems Point To A Thornier Issue • It's Easy To Blame The Canadians For HealthCare.gov Problems • Sebelius: Hold Me Accountable For HealthCare.gov Debacle • Add Security To The List Of HealthCare.gov Tech Issues • Oregon's State Exchange May Be Worse Than HealthCare.gov • Could A Tech Giant Build A Better Health Exchange? Maybe Not • Official In Charge Of Creating HealthCare.gov Steps Down • Giving Up On Its Obamacare Exchange No Cure For Oregon's Ills • Oregon Sues Oracle For "Abysmal" Healthcare Website ( ) ( )
Questions! • What’s an SE project like? • What problems do SE projects face? • How do SEs overcome these problems? • How will this course teach you?
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 Airportbaggage-handling system
Problem:Bugs http://flic.kr/p/6Pxibn
Spectacular failure: Therac-25 radiation therapy machine
Problem: Maintenance http://flic.kr/p/5U934t
All successful software will change over time But such change can lead to design erosion
Questions! • What’s an SE project like? • What problems do SE projects face? • How do SEs overcome these problems? • How will this course teach you?
Apply the SWEBOKSoftware Engineering Body Of KnowledgeSWEBOK Guide: http://www.computer.org/portal/web/swebok
One possible definition ofSoftware Engineering:Applying SWEBOK to softwarecreation and evolution So what’s in this SWEBOK anyway?
15 Knowledge Areas (KAs) • Software Requirements • Software Design • Software Construction • Software Testing • Software Maintenance • Software Configuration Management • Software Engineering Management • Software Engineering Process • Software Engineering Models and Methods • Software Quality • Software Engineering Professional Practice • Software Engineering Economics • Computing Foundations • Mathematical Foundations • Engineering Foundations
15 Knowledge Areas (KAs) We’ll mainly focus on this subset • Software Requirements • Software Design • Software Construction • Software Testing • Software Maintenance • Software Configuration Management • Software Engineering Management • Software Engineering Process • Software Engineering Models and Methods • Software Quality • Software Engineering Professional Practice • Software Engineering Economics • Computing Foundations • Mathematical Foundations • Engineering Foundations
Questions! • What’s an SE project like? • What problems do SE projects face? • How do SEs overcome these problems? • How will this course teach you? To effectively apply approachesrequires experience
Course Goals • Significant software project • Team skills • Communication skills • Project management
What type of software willyou 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
What programming language(s)? http://spectrum.ieee.org/static/interactive-the-top-programming-languages
Course Structure • Rails Web App Boot Camp (6 weeks) • Homeworks • Team Project • Initial Planning (3 weeks) • Alpha Iteration (3 weeks) • Beta Iteration (3 weeks) • Pop quizzes throughout • Two exams • Each project iteration ends with demos
Grading • 40% Team Project • 15% Regular Productivity • 5% Above & Beyond • 5% Initial Planning • 5% Alpha Milestone • 10% Beta Milestone • 36% Exams (18% ea.) • 14% Homework and Quizzes • 10% Participation
Policies of Interest • No cheating! • I use plagiarism detection system! • Participate! (or lose participation point) • Be here at beginning of class • Stay until the end • Be engaged in between! • Expect seating chart • Bring laptops, but…
http://www.cbc.ca/news/technology/story/2013/08/14/technology-laptop-grades.html