Software Process Models
E N D
Presentation Transcript
Software Process Models Presented By: Mehwish Shafiq
Objectives • Gain an understanding of models in depth • Study characteristics of various models • Gain understanding of current trends in the industry • Figure out which model to use
Need for SDLC / Process Models • SDLC- Software development life cycle. • Built and fix approach affected software development. • Serious thinking on SDLC began
SDLC / SoftwareProcess Models • Step wise approach for developing software is called software process. • There are two types of software process models • Traditional Methodologies • Linear Sequential/Waterfall, Prototype, Spiral, RAD. • Agile Methodologies • Extreme Programming, DSDM.
Software Development Activities • Gathering Requirements • Team Management • Software Design • Coding • Testing • Implementation • Software Maintenance
TM- Water Fall Requirements Gathering Design Code Test Implement
Water Fall- Requirements Gathering • Determining what clients need from software • Problem space, not solution space • May include quality attributes • Performance, security, maintainability… • Challenges • Clients don’t know what they want • Clients can’t express what they want • Bound to change • Better communication • Better client • Changes to environment
Water Fall- Design • Engineering solution that addresses requirements • Design Include • Architecture • DFDs • User interfaces • ER Diagrams • Data structures • Algorithms
Water Fall- Code / Implementation • Realizing a design in code • More than just coding • Documentation • Assertions/Invariants • Coding standards • Tools • Configuration management
Water Fall- Testing / Quality Assurance • Ensuring the implementation meets quality standards • Testing • Unit • Functional • Regression • Analysis • Design and code reviews
Problems with Water Fall • Change is ubiquitous • Occurs even during software development • Waterfall assumes one stage completes before others begin • Unrealistic in most environments • Requirements constantly changing • Lessons learned in later stages affect earlier ones • Useful applied where communication costs high • Stable requirements • Very large software systems • Distributed teams
TM-Prototype Model Listen to Customer Build and Revise Mock up Customer tests prototype
TM-Prototype • Prototypes are developed • Each prototype is developed within fixed time. • Each prototype implements a few requirements. • Prototype is tested with customer. • Customer feedback is obtained. ********************************
Work for Next Class • Come up with scenario that you will use as your project for this module. • Finalize scenarios by the end of Next week. • Remember • Choose real world scenario • You will be doing Requirements gathering, analysis, design, testing and project management.