200 likes | 382 Views
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.
E N D
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.