Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

COMSATS UNIVERSITY ISLAMABAD, WAH CAMPUS

NAME: AHSAN NAZIR


CLASS: BSE-3B
REG NO: FA21-BSE-042
SUBJECT: INTRODUCTION TO SOFTWARE ENGINEERING
SUBMITTED TO: MAM ARUBAH HUSSAIN
Lab Task # 4

Q: Provide one real life example of software product that are built by using waterfall prototype and
incremental Prototype approach. Also provide one example of each?
Answer:
Waterfall Modal:
Waterfall Model is also known as Classical/Traditional Model. Sometimes It is referred as linear-
sequential life cycle model because all phases involve in this model completed one by one in linear fashion. In
this model, we get software after completion of all coding phase. This model is used for small projects. There
exists only one cycle in waterfall model.

Requirement
Analysis Modeling
Implementing
Testing
Deployment
Maintenance
Example of Waterfall Model:
Uni finance:
Uni finance is the finance application built in 1990’s and real time example of application built on waterfall
model.

Requirements Gathering and Analysis:


In this phase the business analyst gathers the requirements. After getting the analysis of the
requirements, requirements are documented, and clarifications can be sought. The Business Analysts document
the requirement based on their discussion with the customer. Going through the requirements and analyzing
them has revealed that the project team needs answers to the following questions which were not covered in the
requirements document.

 Will the new finance application be used in more than one city?
 Do we have to support multiple languages?
 How much traffic we expect for the application?

System Design:
The project's software architecture, high-level and low-level design are all worked on by the architect and more
seasoned team members. In order to ensure that the system is always accessible, it is decided that the finance
application needs redundant backup and failover capabilities. Architecture diagrams and high level/low level
design documents are made by the architect.

Implementation:
The project's coding is done by the development team. They use the design artefacts or documentation to make sure that
their solution adheres to the architecture's finished design. They include a number of security checks and audit logging
capabilities in the program because it is a finance application and security was a top priority in the application
requirements. They also carry out a variety of other tasks, such as having a senior developer check the code of the junior
developers for errors. The code is statically analyzed by some developers.

Testing:
The testing team tests the complete application and identifies any defects in the application. The
developers and the testing team fix these defects evaluates the fixes to ensure that the defect is fixed. They
also perform regression testing of the application to see if any new defects were introduced. Testers with
banking domain knowledge were also hired for the project so that they could test the application based on the
domain perspective. Security testing teams were assigned to evaluate the security of the banking application.

Deployment:
On the servers that were purchased for the finance application, the team constructs and installs the program.
The installation of the OS on the servers, the application of security patches, the hardening of the servers, the
installation of web servers and application servers, the installation of databases, etc. are some examples of high-
level tasks. They additionally to eventually get the application working on the production servers, co-ordinate
with network and IT administrative teams, etc.
Maintenance:
During the contract, the team ensures that the application is running smoothly on the servers
without any downtime. Issues that are reported after going live are fixed by the team and tested by the
testing team.

Incremental Model:
Incremental Model Multiple development cycles take place, and these cycles are divided into more
smaller modules. A working software in incremental model is produced during first module Each subsequent
release of the module adds function to the previous release. In incremental model, process continues till the
complete system is achieved.
Requi
remeModeling
Increment Imple
n mentiTesting
Deplo
Requi
yment Maintena
reme Modeling nce

Increment Imple
Requireme
nt Analysis 2 mentiTesting
Modeling Deplo
Impleme yment Maintena
Increment nting nce
Testing
1 Deploy
ment Maintena
nce

Example of incremental Model:


WhatsApp:
WhatsApp has been going through incremental innovation since its creation in 2009, because when
WhatsApp was firstly created it did not have all these features. Users could only send text messages, but later
they added pictures and video sharing, audio calls, group chat and so on.

First incremental process:


Requirements Gathering and Analysis:
To developing WhatsApp, analysists analyzed the current market. By this Analysists can introduce
features and other functionalities as per the current market demanded and identified the business needs and
requirements; this helps in developing the application that meets business demand.

System Design:

When the design for WhatsApp was chosen after the features, this aided the developer in describing the app's
layout. Developers choose a user-friendly and appealing UI/UX for the app, which attracts users and makes
WhatsApp appealing.

Implementation:
After deciding on the app design, the company looks for reputable, experienced developers. The app's coding is
started by the developers. According to the needs of the business, the developer creates the app. Since
WhatsApp is a messaging platform, security was a top concern in the requirements for the application, and
developers added various security checks and audit recording tools. They also carry out a variety of other tasks,
such as having a senior developer check the code of the junior developers for errors. The code is statically
analyzed by some developers.

Testing:
The testing team runs tests through the entire application and looks for any bugs. The testing team, along with the
engineers, assesses the fixes to make sure the flaw is repaired. They also test the application for regression to
check if any new flaws have emerged. To test the application from the standpoint of the domain, testers with
experience testing massaging apps were also employed for the project. Teams of security testers were tasked with
assessing WhatsApp's security.
Deployment:
On the servers that were purchased for the WhatsApp Management, the team develops and deploys WhatsApp.
The installation of the OS on the servers, the application of security patches, the hardening of the servers, the
installation of web servers and application servers, the installation of databases, etc. are some examples of high-
level tasks. To get the application functioning on the production servers, they also coordinate with network and IT
administrative departments, among others.

Maintenance:
During the maintenance phase, the team ensures that the application is running smoothly on the servers
without any downtime. Issues that are reported after going live are fixed by the team and tested by the testing
team.

After this process first module was launched and Analyst gathered the feedback of user and collect information
about new features and again the whole process was start repeatedly.

Prototype Model:
The Prototyping Model is one of the most popularly used Software Development Life Cycle Models
(SDLC models). This model is used when the customers do not know the exact project requirements
beforehand. In this model, a prototype of the product is first developed, tested, and refined as per customer
feedback repeatedly till a final acceptable prototype is achieved which forms the basis for developing the final
product.

Customer Develop/Refine
Feedback Prototype
Testing of
Prototype
By the
customer

Example of Prototype Model:


PowerPoint:
As prototype has three main step customer feedback, development, and testing. PowerPoint was
developed by using these three steps.
Customer’s feedback:
The original version of PowerPoint was developed, released, and used to gather user feedback and analyze
customer needs or requirements. After this performed feasible study and planning and gives the requirement to the
developers who develops the product.
Develop/Refining:
When feedback process is completed the develops comes to know which features must be added or
not in upcoming product. According to user requirements, the developers code the product. Unit and
integrated testing were also performed in this stage.

Testing by Customer:
After developing next PowerPoint version, it was launched and again collected the users feedback
(Does this version fulfil users’ needs or not). In both cases, analysists analyze new feature and develop these
features in next version of the PowerPoint and this process was continued.

You might also like