CS 4500: Software Development Software Process. Materials Sommmerville Chapters 1, 2 and 3 Software Cycle and Models:

Slides:



Advertisements
Similar presentations
Keith McMillan Principal, Adept Technologies Copyright (C) 2008, Adept Technologies llc.
Advertisements

PROC-1 3. Software Process. PROC-2 What’s a process? Set of activities in creating software It involves creativity –hard to automate –Requires human judgment.
Software Development Methodologies 1. A methodology is: A collection of procedures, techniques, principles, and tools that help developers build a computer.
Slide Set to accompany Web Engineering: A Practitioner’s Approach
Agile Project Management with Scrum
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.1.
Agile Methods.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Coming up: The Manifesto for Agile Software Development 1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development Software Engineering:
Chapter 3 CS435: Introduction to Software Engineering Dr. M. Zhu
Agile Process: Overview n Agile software engineering represents a reasonable compromise to conventional software engineering for certain classes of software.
An Agile View of Process
Introduction to Agile.
Software engineering Process models Pavel Agejkin.
Dr. Tom WayCSC Software Processes CSC 4700 Software Engineering.
1 Agile Methodology & Programming Ric Holt July 2009.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chapter-3 Agile Development
Software Engineering Modern Approaches
Agile Programming Principles.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.1.
Developed by Reneta Barneva, SUNY Fredonia Agile Development.
Chapter 4 Agile Development
Chapter 5 Agile Development Chapter 5 Agile Development Moonzoo Kim KAIST 1.
Chapter 4 An Agile View of Process
Chapter 4 Agile Development 1. The Manifesto for Agile Software Development 2 “We are uncovering better ways of developing software by doing it and helping.
AgileCamp Presents: Agile 101. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons Attribution.
Chapter 5 애자일 개발 Agile Development
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Coming up: The Manifesto for Agile Software Development 1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development Software Engineering:
Software Engineering Saeed Akhtar The University of Lahore Lecture 5 Originally shared for: mashhoood.webs.com.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 4 Agile Development Discussion of Agile Development and Agile Process.
1 11/21/2015 ã 2007, Spencer Rugaber Agile Manifesto February, 2001 XP, SCRUM, DSDM, Adaptive Software Development,
Chapter 3 Agile Development
Software Engineering (CSI 321) An Agile View of Process 1.
Lecture # 10, 11. B UILD AND F IX M ODEL The earlier approach Product is constructed without specification or any attempt at design. developers simply.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.1.
Chapter 3 Agile Development
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Agile Introduction Emerson Murphy-Hill. Agile Manifesto/Alliance XP, SCRUM, DSDM, Adaptive Software Development, Crystal, FDD February 2001 (Snowbird,
TIK 302 Rekayasa Perangkat Lunak Agile Proses. Agile View of Process Represents a reasonable compromise between conventional software engineering for.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
1 The economies of ALL developed nations are dependent on software The economies of ALL developed nations are dependent on software More and more systems.
Introduction to Software Engineering Muhammad Nasir Agile Software Development(3)
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
Chapter 5 Agile Development Moonzoo Kim KAIST
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Chapter 4 & Chapter 5 Important Concepts
CS 4500: Software Development
Introduction to Agile Software Development
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Chapter :Software Process Model
Chapter 5 Agile Development
Software Engineering (CSI 321)
Chapter 3 Agile Development
Project Management and the Agile Manifesto
Chapter 3 Agile Development
Chapter 3 Agile Development
Chapter 3 Agile Development
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Adjective: Able to move quickly and easily. Principles and Values
Chapter 3: Agile Software Processes
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
The Manifesto for Agile Software Development
Chapter 3 Agile Development
Presentation transcript:

CS 4500: Software Development Software Process

Materials Sommmerville Chapters 1, 2 and 3 Software Cycle and Models: html Pressman (2014). Software Engineering: A Practitioner's Approach. (Chapters 3, 4, 5) Agile Manifesto

Software Process Model What is it?

Why do we need Software Process Model? Symptoms of inadequacy: the software crisis – scheduled time and cost exceeded – user expectations not met – poor quality

Build and Fix Model

Disadvantages??? model may work for small projects but is totally unsatisfactory for products of any reasonable size. Maintenance is high. Source of difficulties and deficiencies – impossible to predict – impossible to manage

Process as a "black box" Quality? Uncertain / Incomplete requirement In the beginning

Disadvantages The assumption is that requirements can be fully understood prior to development Interaction with the customer occurs only at the beginning (requirements) and end (after delivery)

Process as a "white box"

Advantages Reduce risks by improving visibility Allow project changes as the project progresses – based on feedback from the customer

Waterfall Model or Classic Life Cycle

Limitations of the waterfall model No change in Requirements Nothing is showable till the end Some teams sit idle till the others finish 12

Incremental Process Model C- Communication P - Planning M – Modeling C - Construction D - Deployment Delivers software in small but usable pieces, each piece builds on pieces already delivered

Rapid Application Development (RAD) Model Makes heavy use of reusable software components with an extremely short development cycle

Evolutionary Process Model Produce an increasingly more complete version of the software with each iteration. Evolutionary Models are iterative. Evolutionary models are: – Prototyping – Spiral Model – Concurrent Development Model – Fourth Generation Techniques (4GT)

Evolutionary Process Models : Prototyping

Evolutionary Model: Spiral Model

Spiral Model

Agile Development What is it? What are advantages and disadvantages?

Agility and the Cost of Change These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 20

An Agile Process Is driven by customer descriptions of what is required (scenarios). Some assumptions: –Recognizes that plans are short-lived (some requirements will persist, some will change. Customer priorities will change) –Develops software iteratively with a heavy emphasis on construction activities (design and construction are interleaved, hard to say how much design is necessary before construction. Design models are proven as they are created. ) –Analysis, design, construction and testing are not predictable Adapt as changes occur due to unpredictability Delivers multiple‘software increments’ These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 21

Agility Principles - I Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face–to–face conversation. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 22

Extreme Programming (XP) The most widely used agile process, originally proposed by Kent Beck in It uses an object-oriented approach. XP Planning –Begins with the listening, leads to creation of “user stories” that describes required output, features, and functionality. Customer assigns a value(i.e., a priority) to each story. –Agile team assesses each story and assigns a cost (development weeks. If more than 3 weeks, customer asked to split into smaller stories) –Working together, stories are grouped for a deliverable increment next release. –A commitment (stories to be included, delivery date and other project matters) is made. Three ways: 1. Either all stories will be implemented in a few weeks, 2. high priority stories first, or 3. the riskiest stories will be implemented first. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 23

Extreme Programming (XP) These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 24

Scrum A software development method Originally proposed by Schwaber and Beedle (an activity occurs during a rugby match) in early Scrum—distinguishing features –Development work is partitioned into “packets” –Testing and documentation are on-going as the product is constructed –Work units occurs in “sprints” and is derived from a “backlog” of existing changing prioritized requirements –Changes are not introduced in sprints (short term but stable) but in backlog. –Meetings are very short (15 minutes daily) and sometimes conducted without chairs ( what did you do since last meeting? What obstacles are you encountering? What do you plan to accomplish by next meeting?) –“demos” are delivered to the customer with the time-box allocated. May not contain all functionalities. So customers can evaluate and give feedbacks. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 25

More Stories

Class Exercise

Building an iPad version for Restaurants Build an iPad experience for an all you can eat sushi restaurant – customers get to add in orders through the iPad on their table The restaurant owner wants it done in 4 months. His priorities: – Make it easy for the customer to order – Make it easy for customers to change or add in extra orders – Eliminate misunderstandings – Make it easy to customize orders – Make the customer experience enjoyable Your job is to create a plan and timeline: – What is the concept? – What model would you use and why? – Develop a plan for the development cycle – How would you elicit requirements – How would you document the requirements – How would you deliver the product – How many prototypes and at what time you will give the client a prototype