Describe the characteristics of each software development model as well as the key development stages or phases of each: V-model, Waterfall, and Iterative models/frameworks. Identify the key test levels with each model and the main goal(s) of each level. Incorporate details from section 2.2 of the textbook into your analysis.
WEEK 2 ASSIGNMENT
ANSWER THE FOLLOWING QUESTIONS BELOW:
- Describe the characteristics of each software development model as well as the key development stages or phases of each:
- V-model,
- Waterfall, and
- Iterative models/frameworks.
- Identify the key test levels with each model and the main goal(s) of each level. Incorporate details from section 2.2 of the textbook into your analysis.
Waterfall Model : -
Waterfall Model is the most ideal and simple way to develop software. The classical waterfall model divides the life cycle of a software into 6 phases : -
1) Feasibility study : - The main focus of feasibility study is to determine whether it would be financially and technically feasible to develop the software. This phase consists of : -
-
- Development of an overall understanding of the problem
- Formulation of various possible strategies for solving the problem
- Evaluation of the different solution strategies
2) Requirement Analysis and Specification : - This phase consists of two distinct activities : -
-
- Requirement gathering and analysis : - Requirements are gathered from the customers and then the gathered are analyzed.
- Requirement specification : - After the requirement gathering and analysis activities are complete, the identified requirements are documented.
3) Design : - The goal of the design phase is to transform the requirements specified in the SRS document into a structure that is suitable for implementation in some programming language. Design can be procedural or object oriented.
4) Coding and Unit Testing : - This phase is used to translate a software design into source code and to ensure that individually each function is working correctly. Coding phase is also called Implementation phase. The modules coded are then tested under unit testing.
5) Integration and system testing : - Integration of individual modules are done in a planned manner and the whole software undergoes system testing.
6) Maintenance : - Corrective, perfective and adaptive maintenance is carried out in this phase to ensure the correct working and repair of any module if needed.
-
- Development phase : - The phases starting from feasibility study to integration and system testing.
- Maintenance phase : - It is the last phase of the life cycle.
Cons : -
- No feedback policy
- Difficult to accommodate change requests
- Inefficient error corrections
- No overlapping of phases.
Pros : -
- The waterfall model is ideal but hard to use for real projects.
Step by step
Solved in 5 steps with 1 images