Introduction to Software Engineering

Slides:



Advertisements
Similar presentations
AGILE DEVELOPMENT Outlines : Quick Look of agile development Agility
Advertisements

Scrum (software development)
Alistair Cockburn©Humans and Technology, Inc., Slide 1 The World of Agile Software Development (or, “Creating a fair playing field in 30 minutes”)
Difference between project and other assignments  real customer  before programming: negotiations with client to clarify requirements  often.
Agile Software Development Matt Rice November 27, 2006.
An Application for Education Dave Dalsveen CSM.  In terms of software development, from the need to integrate change into the software project development.
Slide 1.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Agile Software Development
Copyright  Larry Dribin, Ph.D. SE470_XP_v1_1.ppt SE470 XP - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level.
Software Development Models: Waterfall and Spiral Sung Hee Park Department of Mathematics and Computer Science Virginia State University August 21, 2012.
Agile Principles Suradet Jitprapaikulsarn 1. What is Agility? Effective (rapid and adaptive) response to change Effective communication among all stakeholders.
The Agile Alliance By Mark Rucker. The Agile Alliance What is the Agile Alliance? History of the Agile Alliance What is the Agile Alliance today? The.
Agile Development Methods: Philosophy and Practice
Elephants in the Agile Room. Reflections on 10 Years of Agility Todd Little Sr. Development Manager Landmark Graphics.
Slide 1.1 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R.
The New (Agile) Methodology
Agile Usability Jason Chong Lee Dept. of Computer Science Center for HCI Virginia Tech CS 3724: Introduction to HCI, November16, 2006.
Agile Web Development C. Daniel Chase University of Colorado at Boulder.
An introduction for PMPs
Scrum Thomas Ferris Nicolaisen Common sense?
"The thinking it took to get us into this mess is not the same thinking that is going to get us out of it."
Slide 1.1 CHAPTER 1 INTRODUCTION TO SOFTWARE ENGINEERING.
PROJECT MILESTONES Group Presentations: ~ 5 mins presentations.
Richard HundhausenKen Schwaber Accentient Corporation Scrum.org SESSION CODE: DPR205.
1 Scope of Software Engineering Somnuk Keretho, Assistant Professor Department of Computer Engineering Faculty of Engineering, Kasetsart University
Phil O'Connell Penn State Abington IST 261 (Fall 2015) Application Development Design Studio I Agile Scrum Phil O'Connell
Software Creation Communication Agile Principles applied to software projects.
CS1: Classic Software Life Cycle “Waterfall” method: 1.Requirements/Analysis Determine the problem to be solved – client-centered 2.Specification.
1.1/46 Scope Of Software Engineering 1.2/46 Prologue… ‘Have you any idea what happened to our computers! Pay $0.00 bill, …, Pay the $0.00 bill within.
An Introduction to Software Engineering Support Lecture.
ISECON 2003 San Diego, California Integrating Agile Methodologies into the Project Capstone Christopher G. Jones, CPA/PhD Utah Valley State College
Slide 1.1 Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R.
Agile Software Development By Kshitij Limaye CSC 532.
Dr. DEVENDRA TAYAL– THE SCOPE OF SOFTWARE ENGINEERING.
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill Stephen R. Schach 1.
©Alistair Cockburn The 2005 “Declaration of InterDependence” Alistair Cockburn
By: Isuru Abeysekera AGILE DEVELOPMENT. WHAT IS AGILE DEVELOPMENT? Broad term used to describe several methods for a development process Introduced in.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
Introduction to Software Engineering
Software Engineering cosc 4359 Spring 2017.
Forget about Agile for a second!
Phlip Pretorius 10-March-2014
Manifesto for Agile Software Development
The low hanging fruit is gone!
Object-Oriented Software Engineering WCB/McGraw-Hill, 2008 Stephen R
Agile Education Teacher Presentation
AGILE SCRUM METHODOLOGY
PMP vs. Scrum Master Compatible or Incompatible? Presented by:
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Agile MDA Stephen J. Mellor
The Current Conversation in Agile Software Development Aug-2002
Agile Software Development Brian Moseley.
Teaching Agile Methods CSEE&T 2017, Savannah, Georgia
Agile Development Methods: Philosophy and Practice
Agile Development Methods: Philosophy and Practice
Agile Development Methods: Philosophy and Practice
Introduction to Software Engineering
Agile Software Development Paradigms
Agile Methodologies Course Title: Advanced Software Engineering
Agile Development Agile Development Damian Gordon Damian Gordon.
Lecture 2 Revision of Models of a Software Process
Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach
CSCE 747 Software Testing and Quality Assurance
Projects, Assignments, and other Assessments
Topic 1: Introduction to the Module and an Overview of Agile
Chapter 5: New and Emerging Process Methodologies
Agile Development Methods: Philosophy and Practice
Agile Development Methods: Philosophy and Practice
Agile Project Management and Scrum
Presentation transcript:

Introduction to Software Engineering 9/16/2018

Software development methodology? Who cares? Why should we care? 9/16/2018

Process of building a house 9/16/2018

Building software is engineering 9/16/2018

A Taste of Reality What customers really need What sales people say What customers think they want What programmers think What gets installed What design looks like What gets implemented 9/16/2018

What customers gets charged Customers Care! What customers gets charged 9/16/2018

What shall I do? 9/16/2018

A software project failed if it is delivered late it runs over the budget it does not satisfy the customer’s needs it is of poor quality 9/16/2018

A look at history Software crisis, i.e., software is delivered late over budget with residual faults 1968 NATO Conference endorse the term “Software Engineering” aim: use the philosophies and paradigms of established engineering disciplines to solve software crisis 9/16/2018

Economic Aspects Coding method CMnew is 10% faster than currently used method CMold. Should it be used? Common sense answer Of course! Software Engineering answer Consider the cost of training Consider the impact of a new technology Consider the effect on maintenance 9/16/2018

Team Programming Aspects 9/16/2018

Software is built by teams Hardware is cheap Software is built by teams Products that are too large to be written by one person in the available time Interfacing problems between modules Communication problems among team members 9/16/2018

Life-Cycle Aspects Classical/Heavy Weight Software Development Life-Cycle Agile/Light Weight Software Development Life-Cycle 9/16/2018

Classical Software Development Methodologies 9/16/2018

Typical Classical Life-Cycle 9/16/2018

Typical Classical Life-Cycle 9/16/2018

9/16/2018

(Data on 28,000 projects completed in 2000) Standish group data (Data on 28,000 projects completed in 2000) 9/16/2018

9/16/2018

Cutter consortium data 2002 survey of IT organizations 78% have been involved in disputes ending in litigation Among those that entered into litigation: the functionality delivered did not meet up to the claims of the developers (67%) the promised delivery date slipped several times (56%) the defects were so severe that the information system was unusable (45%) 9/16/2018

9/16/2018

Conclusion Classical software development methods have not solved software crisis. 9/16/2018

Agile Software Development Methodology To satisfy the customer through early and continuous delivery of valuable software Agile Software Development Methods - Review and Analysis 9/16/2018

Manifesto for Agile Software Development Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham Martin Fowler James Grenning Jim Highsmith Andrew Hunt Ron Jeffries Jon Kern Brian Marick Robert C. Martin Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas 9/16/2018

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. 9/16/2018

Evolution of Software Development Methods From nothing, to monumental, to agile 9/16/2018

9/16/2018

3D Programming Language Alice Last Lecture given by a CS Professor at Carnegie Mellon University about Achieving Your Childhood Dream after his doctor told him that he could only live for 6 months 3D Programming Language Alice Virtual Reality Randy Pausch 9/16/2018

how to work well with other people You’ve spoke of the importance of never quitting – of continually pushing against brick walls and other obstacles. What additional advice might you give to tomorrow’s CS student: Remember how quickly our field changes. That’s why you want to focus on learning things that don’t change: how to work well with other people how to carefully assess a client’s real – as opposed to perceived - needs 9/16/2018

What about advice for CS teachers and professors? It’s time for us to star being more honest with ourselves about what our field is and how we should approach teaching it. Personally, I think that if we had named the field “Information Engineering” as opposed to “Computer Science”, we would have had a better culture for the discipline. For example, CS department are notorious for not instilling concepts like testing and validation the way many other engineering disciplines do. 9/16/2018

Just that being technically strong is only one aspect of an education. Is there anything you wish someone had told you before you began your own studies? Just that being technically strong is only one aspect of an education. 9/16/2018

Key points to know Building software is an engineering process Characters of a failed software Different aspects of software engineering Economic Team Life-cycle (classical and agile) 9/16/2018