Iss2113 - Assignment 2
Iss2113 - Assignment 2
ASSIGNMENT 2
INSTRUCTION
Definition :-
The “traditional waterfall model” is expanded upon by the “extended waterfall model”, which
incorporates feedback loops and iterations. The waterfall model is a linear and sequential process
that necessitates finishing each phase before moving on to the next. The extended waterfall
model does, however, allow for flexibility and adjustment in response to feedback acquired
during the development process. The extended waterfall model acknowledges that needs are not
always clearly understood or precisely captured at the beginning of a project when they relate to
the software being developed and the actual demands of the stakeholders by allowing for
iterations and updating of requirements throughout the development lifecycle.
Origin/History :-
The extended waterfall model developed in response to some of the shortcomings and difficulties
of the conventional waterfall model. A linear and sequential approach to software development
is taken by the standard waterfall model, which was first presented in the 1970s. Each phase is
finished before moving on to the next. However, it was noted that this method had several
limitations, particularly with regard to accurately capturing and maintaining software
requirements. The standard waterfall model has some drawbacks, particularly in terms of
software needs, which led to development of the extended waterfall model in 1980s. The
extended model added adaptability and iterations to the development process, enabling input
and modifications over the course of the project lifespan.
Phases Involved :-
1. Requirement Analysis : The first step is to collect and record the stakeholder’s software
requirements.
2. System Design : The system design are made using the analysed requirements. Feedback
loops involving stakeholders may be used at this phase to improve and validate the design.
3. Implementation : Beginning with coding, unit testing and design implementation, the
software development team creates a functional module or feature.
4. Testing : To make sure the programme satisfies the requirements, it is tested. To confirm
the functionality, efficiency and dependability of the software, test cases are created and
run.
5. Deployment : The programme is released into the production environment and given to end
user after it has successfully completed testing.
6. Maintenance : Ongoing maintenance and support activities are performed as necessary.
1. Project manager : The entire software development project must be managed by the
project manager. They oversee the development team’s work, make that deadlines and
spending plans are followed and promote stakeholder communication.
2. Business analyst : To gather, assess and record the software requirements, the business
analyst collaborates closely with stakeholders. They serve as a liaison between the
development team and the business users, ensuring that the requirements are precisely
gathered and converted into technical requirements.
3. System architect : The system architect is in charge planning the general software
architecture and making sure it complies with the specifications. They decide on the
system’s components, interfaces and organizational structure to ensure scalability,
performance and maintainability.
4. User experience(UX) and User interface(UI) : The goal of the UI/UX designer is to produce
intuitive and aesthetically pleasing interfaces. In order to comprehend user needs and
create user interfaces that adhere to usability and design standards, they closely collaborate
with stakeholders and the development team.
5. Development team : The software implemented by the development team, which is made
up of programmers, coders and software engineers in accordance with the requirements
and design guidelines. They design the modules, carry out unit testing and incorporate them
into the system.
6. Quality Assurance(QA) Team : The QA team is in charge of making sure the software is
reliable and of high quality. They develop test strategies, carry out various testing
procedures (such as functional, integration and system testing), and document any
problems or flaws for correction.
7. Deployment and Maintenance Team : The deployment of the software into the production
environment is handled by this team. They are in charge of setting up the programme,
making sure it is installed correctly and providing continuous upkeep and support, including
bug patches and upgrades.
8. Stakeholders : A key component of the extended waterfall model is stakeholders. Clients,
end users, managers and other people or organisations affected by the software are among
them. They give comments, evaluate the delivered increments and offer suggestions for
later iterations.
Uniqueness :-
Definition :-
The incremental model in software requirements is an iterative and gradual method of software
development. It entails segmenting the software project into smaller modules or increments and
delivering them gradually across several iterations. Phases of requirements analysis, design,
implementation, arid testing are all included in each iteration. Using this strategy, functional
software components may be developed and delivered gradually, giving stakeholders early and
ongoing benefit.
Origin/History :-
The incremental model for software requirements has its origins in the first methodologies and
approaches to software development. It came about in response to the difficulties the
conventional waterfall model encountered and the demand for a more adaptable and flexible
method of software development. When software development methodologies were still
developing in the 1960s and 1970s, the incremental approach first appeared. During this period,
it became increasingly apparent that the waterfall model’s linear and sequential structure had
drawbacks when it came to managing complex software projects and adapting to changing
requirements.
Concept/Diagram :-
1. Requirement Analysis : The first step is to collect and record the stakeholder’s software
requirements.
2. System Design : The system design are made using the analysed requirements. Feedback
loops involving stakeholders may be used at this phase to improve and validate the design.
3. Implementation : Beginning with coding, unit testing and design implementation, the
software development team creates a functional module or feature.
4. Testing : To make sure the programme satisfies the requirements, it is tested. To confirm
the functionality, efficiency and dependability of the software, test cases are created and
run.
5. Deployment : The programme is released into the production environment and given to end
user after it has successfully completed testing.
6. Maintenance : Ongoing maintenance and support activities are performed as necessary.
1. Project manager : The entire software development project must be managed by the
project manager. They oversee the development team’s work, make that deadlines and
spending plans are followed and promote stakeholder communication.
2. Business analyst : To gather, assess and record the software requirements, the business
analyst collaborates closely with stakeholders. They serve as a liaison between the
development team and the business users, ensuring that the requirements are precisely
gathered and converted into technical requirements.
3. User experience(UX) and User interface(UI) : The goal of the UI/UX designer is to produce
intuitive and aesthetically pleasing interfaces. In order to comprehend user needs and
create user interfaces that adhere to usability and design standards, they closely collaborate
with stakeholders and the development team.
4. Development team : The software implemented by the development team, which is made
up of programmers, coders and software engineers in accordance with the requirements
and design guidelines. They design the modules, carry out unit testing and incorporate them
into the system.
5. Quality Assurance(QA) Team : The QA team is in charge of making sure the software is
reliable and of high quality. They develop test strategies, carry out various testing
procedures (such as functional, integration and system testing), and document any
problems or flaws for correction.
6. Deployment and Maintenance Team : The deployment of the software into the production
environment is handled by this team. They are in charge of setting up the programme,
making sure it is installed correctly and providing continuous upkeep and support, including
bug patches and upgrades.
7. Stakeholders : A key component of the extended waterfall model is stakeholders. Clients,
end users, managers and other people or organisations affected by the software are among
them. They give comments, evaluate the delivered increments and offer suggestions for
later iterations.
Uniqueness :-
1. Iterative Development
2. Early and Continuous Delivery
3. Progressive Refinement
4. Rapid Time to Market
5. Risk Mitigation
6. Stakeholder Collaboration
7. Flexibility and Adaptability
8. Modular and Scalable Development
9. Continuous Improvement