Software Engineering
Software Engineering
MANAGEMENT
It is the first approach and the basic model used in software development. It is a simple model that is easy to use as
well as understand. The execution happens in the sequence order, which means that the outcome of the one-stage is
equal to the input of another stage. That's why it is also known as the Linear-sequential life cycle model.
The waterfall model is divided into various stages, which are as follows:
•Requirement collection
•Feasibility study
•Design
•Coding
•Testing
•Installation
•Maintenance
Requirement Collection
Requirement collection is the first phase of the waterfall model, where a business analyst will assemble all the
information or business needs of the client in the form of a requirement document. And this document should be clear
and easy to understand, and all requirements are correctly listed.
Features of a functional requirement
The feasibility study is based on the needs of the project, where many people (human
resource, business analyst, architecture) evaluate whether the project can be done or
not. To develop a good project, we should follow the various characteristics, which are
based on the customer requirements:
Design
Once we are done with the feasibility study, we will move to our next stage, which is designing. In this, we will create
the architecture of the product, with the help of some essential tools like a combination of different software and
hardware, various programming languages (PHP, Java, .Net, etc.), database (MySQL, Oracle). And then the designer
gets ready with a plan for the application that could be classified into two different parts:
•High-Level Design
•Low-Level Design
In this, the designer will concentrate only on the models such as decision trees, flow diagrams, decision tables, flow
charts, data dictionary, and the architect does it.
In this, the designer will concentrate on the components like a User interface (UI), and the developer manager does it.
Coding
Once we are done with the design stage, we are ready to develop the application. For this, the
developer will start writing the code based on their programming language knowledge, and it
could be any language such as Python, C, Java, C#, C++, and so on. Whereas the back-end
developers will do the back-end coding based on the needed operations, and the front-end
developers will develop the attractive GUI.
Testing
Testing
After the compilation of coding, it will hand over to the concern test engineer. And after that, the
test engineer will start testing the functionality of the application based on the client's
requirement.
While testing the application, they may encounter some defects or bugs (not working as per the
client's needs) in the application and send those bugs to the developer with the proper
justification. And the developer will verify that the given bug is valid or not. If it is correct, it will be
fixed by the developer and change with the new one. After that tester will re-test it and verify that
the bug is fixed or not.
Installation
Once the application is tested, we will move to the next stage (installation). In this, the process will remain until the
software is stable or bug-free and fulfilling all the customer requirements. When the application is stable, it will install
into the client's environment for their use.
After getting the software, the client will perform one round of testing to their satisfaction. If they face any error, they
will inform the development team to resolve those issues for the particular application. When all the issue gets resolved,
the application will be deployed for the end-users use.
Maintenance
After completing the six stages successfully, we will move to the last stage (maintenance) of the waterfall model. In
this, the process will remain until the software comes to an end, where the end-user starts using the application, and
they may have some issues that need to be tested and fixed. Taking care of the product, time to time is called the
maintenance, which includes the variations that happen in the hardware and software to maintain the operational
effectiveness and also increase the performance.
THANK YOU