Assignment Number 2
Assignment Number 2
1. Waterfall Model:
The Waterfall Model is the oldest and the most
well-known SDLC model. This model is widely used in government projects and in many
major companies. The special feature of this model is its sequential steps. It goes
downward through the phases of requirements analysis, design, coding, testing, and
maintenance. Moreover, it ensures the design flaws before the development of a product.
This model works well for projects in which quality control is a major concern because of
its intensive documentation and planning [1]. Stages that construct this model are not
overlapping stages, which means that the waterfall model begins and ends one stage
before starting the next one. The following steps give a brief description about the
waterfall process:
1) Requirement: Is a description of a system behavior to be developed. Usually, it
is the information provided by clients. Hence, it establishes the agreement between
the clients and the developers for the software specifications and features. In short,
requirements are gathered, analyzed and then proper documentation is prepared,
which helps further in the development process.
2) High Level design: The gathered information from the previous phase is
evaluated and a proper implementation is formulated. It is the process of planning
and problem solving for a software solution. It deals with choosing the appropriate
algorithm design, software architecture design, database conceptual schema,
logical diagram design, and data structure definition [1, 2].
3) Coding: In this phase the whole requirements will be converted to the production
environment.
4) Testing: This phase deals with the real testing and checking of the software
solutions that have been developed to meet the original requirements. Also, it is
the phase where the bugs and system glitches are found, fixed up, and refined.
5) Maintenance: After the software is already released, it may need some
modifications, improvements, errors correction, and refinement accordingly. Thus,
this phase is the process of taking care of such concerns.
2. V-Shaped Model:
Just like the waterfall model, the V-Shaped life cycle is a sequential path of execution of
processes. Each phase must be completed before the next phase begins. Testing is
emphasized in this model more so than the waterfall model though. The testing procedures
are developed early in the life cycle before any coding is done, during each of the phases
preceding implementation. Requirements begin the life cycle model just like the waterfall
model. Before development is started, a system test plan is created. The test plan focuses on
meeting the functionality specified in the requirements gathering. The high-level design phase
focuses on system architecture and design. An integration test plan is created in this phase
as well in order to test the pieces of the software systems ability to work together. The low-
level design phase is where the actual software components are designed, and unit tests are
created in this phase as well. The implementation phase is, again, where all coding takes
place. Once coding is complete, the path of execution continues up the right side of the V
where the test plans developed earlier are now put to use.
5. Agile Model:
The meaning of Agile is swift or versatile. "Agile process
model" refers to a software development approach based on iterative development. Agile
methods break tasks into smaller iterations, or parts do not directly involve long term
planning. The project scope and requirements are laid down at the beginning of the
development process. Plans regarding the number of iterations, the duration and the
scope of each iteration are clearly defined in advance.
Each iteration is considered as a short time "frame" in the agile process model, which
typically lasts from one to four weeks. The division of the entire project into smaller parts
helps to minimize the project risk and to reduce the overall project delivery time
requirements. Each iteration involves a team working through a full software development
life cycle including planning, requirements analysis, design, coding, and testing before a
working product is demonstrated to the client.
Following are the phases in the agile model are as follows:
1) Requirements gathering: In this phase, you must define the requirements. You
should explain business opportunities and plan the time and effort needed to build the
project. Based on this information, you can evaluate technical and economic
feasibility.
2) Design the requirements: When you have identified the project, work with
stakeholders to define requirements. You can use the user flow diagram or the high-
level UML diagram to show the work of new features and show how it will apply to
your existing system.
3) Construction/ iteration: When the team defines the requirements, the work
begins. Designers and developers start working on their project, which aims to deploy
a working product. The product will undergo various stages of improvement, so it
includes simple, minimal functionality.
4) Testing: In this phase, the Quality Assurance team examines the product's
performance and looks for the bug.
5) Deployment: In this phase, the team issues a product for the user's work
environment.
6) Feedback: After releasing the product, the last step is feedback. In this, the team
receives feedback about the product and works through the feedback.
Bibliography
[1] N. M. A. M. a. A. Govardhan, "A Comparison Between Five Models Of Software Engineering," IJCSI
International Journal of Computer Science Issues, vol. 7, no. 5, pp. 94 - 101, Setember 2010.
[2] Y. Bassil, "A simulation model for the waterfall software development life cycle. International
Journal of Engineering & Technology," 2012.
[3] N. &. K. C. Tarkhala, " IMPROVING THE SOFTWARE DEVELOPMENT EXPERIENCE BY REDUCING
EFFORT, COST AND RESOURCE ALLOCATION BY COMBINING VARIOUS SOFTWARE DEVELOPMENT
APPROACHES," 2014.
[4] N. M. a. A. Govardhan, "A Comparison Between Five Models Of Software Engineering," IJCSI
International Journal of Computer Science Issues, vol. 7, 2010.