Download presentation
Presentation is loading. Please wait.
Published byAngelica Harris Modified over 8 years ago
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.