COMP/EECE 7012/8012: Foundations of Software Engineering

Slides:



Advertisements
Similar presentations
Resource Systems.  The need for agility  History of Product Development  Delivery of EPCOT  Future Challenges & Recommendations  Reflection  Questions?
Advertisements

ITGS Software Reliability. ITGS All IT systems are a combination of: –Hardware –Software –People –Data Problems with any of these parts, or a combination.
Martin Cryer Software Development. ‹#› Development Processes Traditional e.g. Waterfall Method Agile –Design Build (Quick to Market) –Combines Engineering,
AP-1 5. Project Management. AP-2 Software Failure Software fails at a significant rate What is failure? Not delivering it on time is an estimation failure.
CS CS 5150 Software Engineering Lecture 2 Software Processes 1.
Strategic Scheduling for Software Development Presenter: Neal Johnsen.
Applied Software Project Management SOFTWARE TESTING Applied Software Project Management 1.
Website Designing & Web Development Web Click India.
Introduction to CSCI 1311 Dr. Mark C. Lewis
Software Engineering cosc 4359 Spring 2017.
Embedded Systems Software Engineering
CSC/ECE 517: Object-Oriented Design and Development
COMP 4081: Software Engineering
COMP/EECE 4081 Software Engineering
A Level Computer Science
THERE ARE TIMES WHEN ALL OF US ARE ASKED, “WIIFM
Software Engineering--Introduction
Continuous Delivery- Complete Guide
Math for Mastery Information
Software Quality and Testing (CSC 4133)
COMP/EECE 7012/8012: Foundations of Software Engineering
Software Engineering Process
CSC/ECE 517: Object-Oriented Design and Development
Welcome to Software Engineering!
Exam 0 review CS 360 Lecture 8.
Everything you need to know!
CSc 1302 Principles of Computer Science II
1 MATH 112 (Thursday) Fall 2014 Instructor:.
Engineering Activities In Software Development
COMP 7012: Foundations of Software Engineering
Globey's World Abstract End-Product Description Technical Approach
Assistant Professor of Computer Science Washington State University
IMPACTS OF ICT IN EDUCATION
Software Engineering Process
The Systems Engineering Context
CSE 110 – Software Engineering
BIT 116:JavaScript.
BIT 116:JavaScript.
Models of Software Development Life Cycle (SDLC)
Chapter 2 SW Process Models
Design and Implementation
Using MyMathLab Features
AGILE METHODOLOGY MANAGE PROJECT USING AGILE SCRUM.
How to Successfully Implement an Agile Project
Teaching slides Chapter 11.
Software Quality Assurance Lecture 1
ENC 3254: Professional communication for Engineers
CIS 375 Bruce R. Maxim UM-Dearborn
Hire Offshore Developers employcoder.com. Hiring Offshore developers will provide you an opportunity to accomplish your organizational goals in an efficient.
SE 3800 Note 10 Project Management
Using MyMathLab Features
Computer Science Testing.
Globey's World Abstract Design Requirements Introduction
Advanced Placement United States History
Chapter 1. Introduction Eric Braude and Michael Bernstein.
Introduction to Software Engineering (CEN-4010)
AppointmentmentPeach Appointment Manager
Part IV SALES FORCE COMPETENCIES
CS 425 / CS 625 Software Engineering
Developing Software Engineering Class Projects with an Internal Client
COMP/EECE 7012: Foundations of Software Engineering
Software Engineering Process
Software Project Management
COMP 7012: Foundations of Software Engineering
IST346: What Is IT?.
Software Engineering Process
A Gift of Fire Third edition Sara Baase
Human-Centric Software Engineering
CSS 290: Video Games and Computer Programming
CS2013 LECTURE 1 John Hurley Cal State LA.
Presentation transcript:

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