140 likes | 248 Views
Requirements and the Software Lifecycle. The Software Process. Defines which member of the team are responsible for what Specifies which activity is being performed when Identifies the relationship between activities Explains in detail how each activity is performed.
E N D
The Software Process • Defines which member of the team are responsible for what • Specifies which activity is being performed when • Identifies the relationship between activities • Explains in detail how each activity is performed
Traditional Software Process Models • The Waterfall Model • Sequential • Requirements fixed early • The Spiral Model • Risk driven • Incremental
Traditional Software Process Models (cont’d) • The Iterative Model • Hybrid of the Waterfall and Spiral Models • Decouples the lifecycle phases from the software activities of each phase • Provides for successive refinement of requirements over time
The Waterfall Model [Royce 1970] • Improved on the strictly sequential step-wise approach by: • Adding feedback loops, acknowledging that design affects requirements, coding affects design, etc. • Developing a prototype system in parallel with requirements analysis and design activities • Reinforced the importance of requirements
The Spiral Model • Begins with requirements planning • Includes the development of prototypes to assist in early confirmation of requirements • Provides multiple feedback opportunities
The Iterative Approach • Consists of four lifecycle phases • Inception • Elaboration • Construction • Transition
The Inception Phase • Understanding the business case • Define the scope of the project • Assess the feasibility of implementation • Perform problem analysis • Create the product vision • Develop preliminary estimates of schedule and budget • Determine risk factors for the project
The Elaboration Phase • Refine the system requirements • Establish an initial architecture • Develop and demonstrate an early feasibility prototype
The Construction Phase • The architecture and design are fully developed • Most of the coding is done
The Transition Phase • Beta testing is done • Users and maintainers of the system are trained • The final system is transitioned to the user community and deployed for use
Iterations within the Phases • Within each phase, the project typically undergoes multiple iterations • Each iteration builds on the functionality of the prior iteration • The project is developed in an iterative and incremental manner
Disciplines (Groups of Software Activities) • Requirements • Analysis and Design • Implementation • Test • Deployment • Configuration and Change Management • Project Management
Advantages of the Iterative Model • Better adaptability to requirements change • Better scope management