Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "CS 4500: Software Development Software Process. Materials Sommmerville Chapters 1, 2 and 3 Software Cycle and Models:"— Presentation transcript:

1 CS 4500: Software Development Software Process

2 Materials Sommmerville Chapters 1, 2 and 3 Software Cycle and Models: http://greenbay.usc.edu/csci477/fall2012/resources. html Pressman (2014). Software Engineering: A Practitioner's Approach. (Chapters 3, 4, 5) Agile Manifesto

3 Software Process Model What is it?

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

5 Build and Fix Model

6 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

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

8 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)

9 Process as a "white box"

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

11 Waterfall Model or Classic Life Cycle

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

13 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

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

15 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)

16 Evolutionary Process Models : Prototyping

17 Evolutionary Model: Spiral Model

18 Spiral Model

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

20 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

21 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

22 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

23 Extreme Programming (XP) The most widely used agile process, originally proposed by Kent Beck in 2004. 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

24 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

25 Scrum A software development method Originally proposed by Schwaber and Beedle (an activity occurs during a rugby match) in early 1990. 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

26 More Stories

27 Class Exercise

28 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


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

Similar presentations


Ads by Google