Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction Requirements and the Software Lifecycle (3)

Similar presentations


Presentation on theme: "Introduction Requirements and the Software Lifecycle (3)"— Presentation transcript:

1 Introduction Requirements and the Software Lifecycle (3)

2 Software Lifecycle What is the software lifecycle ▫Who (is doing what task) ▫What (is the task they are doing) ▫When (is the task being performed) ▫How (is the task being performed)  What are all the steps Copyright Leffingwell, Widrig, & SIS Faculty

3 Different Types of Lifecycles Code and Fix Stepwise Process Waterfall Method Spiral Method Iterative Method Agile Method Copyright Leffingwell, Widrig, & SIS Faculty

4 Code and Fix The original software design process Start coding your product Correct until the product is complete Works for very simple projects ▫Sufficient for the type of projects of the time Problems ▫Major limitations to small projects ▫Could run into major design issues as you are coding Still used in some capacity during the development phase Copyright Leffingwell, Widrig, & SIS Faculty

5 Stepwise Process Dates back to as early as the 1950’s Provided the necessary steps to design software Problem is ▫It was unidirectional ▫Define all the requirements upfront ▫Complete every step in its entirety ▫No feedback built in Copyright Leffingwell, Widrig, & SIS Faculty

6 Waterfall Method Formally introduced in 1970’s by Royce Included feedback loops to the stepwise process Recognized the fact that lessons learned should be used to fix future problems Not included in the figure is prototyping which Royce introduced Copyright Leffingwell, Widrig, & SIS Faculty

7 Waterfall Method Figure 3-1 Copyright Leffingwell, Widrig, & SIS Faculty

8 Waterfall Method Delayed easily by rigid company guidelines Requirements are frozen so they cannot be changed Loose touch with the real world in which they are building the application for As projects reach budget limits some latter steps might be shortened to produce an on time and on budget project Copyright Leffingwell, Widrig, & SIS Faculty

9 Waterfall Method Why did it come about ▫Discovered the rework from fixing bugs later in the cycle was more costly. Why wasn’t it ideal? ▫Still a linear process ▫Requires Complete system definition ▫Typically produced software that is  Low quality  Over budget and past deadlines What was the result? ▫Regression to coding first ▫Agile methods Copyright Leffingwell, Widrig, & SIS Faculty

10 Requirements Handling Changing increases with project size One reason why the waterfall process is not effective Copyright Craig Larman & SIS Faculty

11 Spiral Method Introduced by Boehm in 1988 This was more of a risk driven and incremental development path ▫Starts with risk-driven prototypes ▫Then follows a waterfall type process Copyright Leffingwell, Widrig, & SIS Faculty

12 Spiral Method Benefits ▫Feedback right away with your designs  This is also referred to today as rapid prototyping ▫Receive quality feedback from the User early ▫Starts with requirement and concept validation ▫Has multiple feedback opportunities early on  Get out all the “Yes, buts” Copyright Leffingwell, Widrig, & SIS Faculty

13 Spiral Method Issues ▫Can create different code streams/branches from the very beginning ▫Rapid prototypes can lead the user believe that the system is almost complete ▫Very time and resource heavy of creating prototypes and following the waterfall process Copyright Leffingwell, Widrig, & SIS Faculty

14 Spiral Method Figure 3-2 Copyright Leffingwell, Widrig, & SIS Faculty

15 Iterative Process Introduced in 1990s Is like doing numerous mini-waterfalls Lifecycle ▫Inception = Analysis ▫Elaboration=Design ▫Construction=Code ▫Transition=Test, Implement, … Copyright Leffingwell, Widrig, & SIS Faculty

16 Iterative Process Copyright Craig Larman & SIS Faculty

17 Iterative Software Development Process Each Iteration is a min-waterfall process Copyright Craig Larman & SIS Faculty

18 Timeline Copyright Craig Larman & SIS Faculty

19 Timeline Copyright Craig Larman & SIS Faculty

20 Requirements Definition Copyright Craig Larman & SIS Faculty

21 Iterative Process Creating or modifying an existing module Creating the systems piece by piece over time The users will see new functionality after each iteration Copyright Craig Larman & SIS Faculty

22 Iterative SW Success What are the factors that lead to success with the Iterative Process ▫Good initial architecture ▫Library of units tests ▫Refactoring ▫Automated tools Copyright Craig Larman & SIS Faculty

23 Refactoring Copyright Craig Larman & SIS Faculty

24 Benefits of the Iterative Process Higher project success rate ▫Easier to manage complexity ▫Better mitigation of high risks ▫Easier adaptation to changing requirements Lower defect rates Higher productivity Increased visibility (Management, Client) Knowledge from previous iterations applied to future iterations No code is thrown away in prototypes Copyright Craig Larman & SIS Faculty

25 Important Practices Tackle hi-risk/hi-priority early Continuously engage users Build core early Test throughout to ensure quality Focus on essential models using UML Manage reqs. using Use Cases Implement sound change & configuration management Copyright Craig Larman & SIS Faculty

26 Agile Methodology Eliminate as many unnecessary processes as possible Believes in Verbalize instead of documenting ▫Usually only with small teams ▫Usually only with small projects There are versions for larger more complex projects and project teams ▫Starts to look like the iterative process


Download ppt "Introduction Requirements and the Software Lifecycle (3)"

Similar presentations


Ads by Google