Software Development Cycle Models Life An Effective Software
- Slides: 20
Software Development -Cycle Models Life
An Effective Software Development Process • Is written down • Is followed • Is actively managed – The process is dynamic – Its effectiveness is measured regularly – Measurement results are used to improve the process
The Waterfall Model Requirements Analysis Software Design Coding Testing Maintenance
Advantages of the Waterfall Model • Easy to understand • Widely used • Reinforces notions of “define before design” and “design before code” • Establishes milestones (when deliverables are produced and when reviews take place)
Disadvantages of the Waterfall Model • Not realistic (doesn’t match real projects) • Does not reflect the iterative nature of software • Complete set requirements seldom known at the beginning of a project • Working software not available until near end of project • Does not incorporate risk assessment
The Concurrent Development Model • Development and QA/Testing are performed concurrently • Similar to the Synchronize and Stabilize model used by Microsoft • Multiple baselines are included as part of the process • SRS evolves over the course of the project • Ends with a formal validation phase with defined criteria for starting and stopping
Advantages of the Concurrent Development Model • It’s flexible – the number incremental releases can be determined by the project team • Immediate feedback from testing • New features can be added late in the project • No surprises during formal validation because testing has been continuous
Disadvantages of the Concurrent Development Model • The SRS must be continually updated to reflect changes • It requires discipline to avoid adding too many new features too late in the project
The Rapid Prototyping Model • • • Requirements gathering Quick design Prototype building Prototype evaluation by customers Prototype may be refined Prototype thrown away and software developed using formal process
Advantages of the Rapid Prototyping Model • Users/customers own requirements • Instills customer confidence that the “right” product is being built • Provides a good way to determine requirements when there is uncertainty about what is needed
Disadvantages of the Rapid Prototyping Model • Prototypes are not always thrown away – they often become the products or fundamental parts of the products • Requires lots of customer involvement which isn’t always possible • Validation may be difficult because the requirements may not be well documented
The Spiral Model • • Planning Risk Analysis Development Evaluation
Advantages of the Spiral Model • Incorporates the iterative nature of software development • Incorporates all the advantages of both the waterfall model and prototyping model
Disadvantages of the Spiral Model • Requires expertise in risk analysis • It is somewhat complicated and not well understood
Hybrid Models • • Combined aspects of two or more models Added flexibility Not usually well understood Have all advantages and disadvantages of the models encompassed
Object-Oriented Models • Requirements analysis and design tend to be blurred • Tend to be iterative in nature • Usually incorporate risk management • Incorporate requirements management and change control • Emphasize the use of visual models (e. g. UML diagrams)
Models Based on Agile Methods • • ASD – Adaptive Software Development Crystal TDD –Test-Driven Development DSDM – Dynamic Systems Development Method Lean Software Development Scrum XP – e. Xtreme Programming
Agile Methods Emphasize • Individuals and interactions over processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan
“How to Solve It” In 1945 George Polya wrote a book outlining 4 basic steps in problem solving: – Understand the problem (requirements analysis) – Devise a plan (software design and project planning) – Carry out the plan (coding) – Look back (testing the solution)
Summary • Choosing the right life-cycle model can be difficult • But it is essential to have one • The life-cycle model covers more than just development – it must be appropriate for product support and maintenance
- Software development life cycle presentation
- Lec hardver
- Object oriented development life cycle
- Odw 5e ch05 arrange the software development life cycle
- Construction phase in software engineering
- Dsdm models
- Embedded system life cycle
- Hp application lifecycle intelligence
- Employee life cycle models
- Generic software process models
- What is the difference between model and semi modal
- Traditional systems development
- Preliminary investigation in sdlc
- New product development and product life cycle strategies
- Database system development life cycle
- Multimedia software development
- System development life cycle
- Expert system development life cycle
- 11 stages in database system development life cycle
- Expert system development life cycle
- Document development life cycle