Software development life cycle models
Software development life cycle models
1) Agile Model
Requirements and solutions evolve in the Agile model as a result of collaboration across diverse cross-functional teams. It's also known as an incremental and iterative model. By delivering a working software product quickly and breaking it down into small incremental builds, the agile software testing methodology focuses on process adaptability and customer satisfaction.
The agile model comprises six phases: plan, design, develop, test, release, and feedback.
Advantages:
- It ensures client satisfaction by delivering deliverables quickly and continuously.
- It is a flexible approach because of the constant contact between consumers, developers, and testers.
- You can swiftly design working software and regularly adapt to changing requirements.
Disadvantages:
- For large and complicated software development instances, it is difficult to estimate the work necessary at the start of the cycle.
- If the customer is unclear about the project's aims, the project may veer off course due to constant interaction with them.
2) Waterfall Model
The waterfall model is a project management methodology that uses a sequential design process to manage projects.
It's a traditional model. It is a sequential design method commonly employed in the SDLC in which progress is seen as flowing downwards like a waterfall through several phases such as requirement, gathering, feasibility study, analysis, design, coding, Testing, and maintenance. Only after the preceding phase has finished is a new phase started. This practice is preferred in projects when quality takes precedence over time or cost. As a result, it's best suited to short-term projects with consistent requirements.
Advantages:
- Suitable for small scale projects.
- Easy to implement and maintain.
Disadvantages:
Back tracking is not possible. Once we get to the design stage, we can go back and amend the requirement. Changes in requirements cause design and code to change. Due to phase overlap, this causes a flaw in the project. As a result, if the adjustments the client requires are not included in the product, the customer may be dissatisfied. It's not appropriate for long-term projects with changing requirements.
Calculator and management systems are two examples.
3) V shaped Model:
The V Model is thought to be better than the waterfall model. The development and test execution operations are carried out side by side in a downhill and uphill pattern in this paradigm. Furthermore, testing begins at the unit level and progresses to the system's overall integration.
Advantages:
- It is simple to use because testing activities such as planning and test design are completed prior to coding.
- This model improves chances of success while saving time.
Disadvantages:
- It is a rigid model.
- Early prototypes of the product are not available because the software is developed during the implementation phase.
4) Iterative
Before starting a project, the Iterative approach does not require a complete set of requirements. The development process begins with the functional part's requirements, which can be enhanced later. Every cycle, the procedure is repeated, allowing for new product versions. Every iteration involves the creation of a new system component that is added to the previously built functioning.
Advantages:
- It is easier to manage risks when high-risk jobs are finished first.
- The progress is easy to track.
- Problems and dangers identified in one iteration can be avoided in subsequent sprints.
Disadvantages:
- It is tough to manage the procedure.
- Even at the end of the project, the risks may not be totally determined.
5) Spiral Model
This spiral model is a hybrid of the iterative development process and the sequential linear development approach. This model is used for large, complex projects with a high level of risk. Every iteration begins with planning and concludes with a client evaluation of the product. It typically passes through four stages:
- Planning: Gathering requirements, estimating costs, and allocating resources are all part of the planning process.
- Risk analysis: This step identifies the project's strengths and limitations.
- Design or engineering: This is where coding and internal testing takes place.
- Evaluation: Client-side evaluation or client-side feedback testing.
Advantages:
- It allows requirement changes.
- Useful for large and complex projects.
- Involves efficient risk analysis.
Disadvantages:
- Cannot be used for small scale projects.
Read the next blog in the series to discover all about the Principles of software testing.
Useful blog.Thank you for sharing
ReplyDeletesoftware development
I must say i like the theme/design of your website. Does one find any browser compatibility problems? Couple of my blog audience have complained about my site forget about working effectively in Explorer but appears great in Safari مفارش قطن
ReplyDelete