Sunteți pe pagina 1din 4

Introduction to Software Engineering

Assignment #1
Submitted by Wajiha Rehman
BSCS-2018
s

1. Based on your reading and discussion in lectures, discuss each of the following process
models and their steps. Then compare and contrast the advantages and disadvantages of each
and how each model handles changes to requirements.

Process Models
1. Waterfall
2. Spiral
3. Rapid Application Development

WATERFALL MODEL

Waterfall model is a sequential approach of software engineering. In this model, a


succeeding phase cannot begin until the current phase has been completed or ended. It
comprises of 6 total phases that in which one phase leads to another. The phases of waterfall
model are as following:
i. Requirements definition
ii. System and software design
iii. Implementation and unit testing
iv. Integration and system testing
v. Operations and maintenance

 Requirements:
In this phase, the project team communicates with clients and the requirements are
gathered. The objectives and constraints of the system are defined in this phase. The work
product of this phase is software specification document.

 System and software design:


In this phase, the architecture of the software is defined in terms of both hardware and
software components. Graphical models are also created for the system’s design.

 Implementation and unit testing:


In this phase, the software design is translated into program and program units. Program
units are tested to ensure that they produce the desired output and meet the requirements
of the system.

 Integration and system testing:


In this phase, all the program units are integrated to work together and form a complete
system. The system is tested to check if the required functions are being performed and
desired results are produced by the developed system. Then, the software is handed to the
client.
 Operations and maintenance:
In this phase, the system has been deployed and is in use. The system is also maintained
by troubleshooting any errors, keeping the system updated by improving individual
program units and making changes to incorporate new requirements.

ADVANTAGES

1. It is useful for large-scale system development.


2. It is useful for embedded systems.
3. There is extensive documentation in every phase which is helpful if the system is to be
handled by a different project team in between development process.

DISADVANTAGES
1. It is inflexible due to rigid partition of phases.
2. It is not appropriate for systems with unstable requirements

Waterfall model does not accommodate changes easily. It is costly to make changes once a
phase is completed. It is difficult to move back to a previous stage once it has already been
completed.

SPIRAL MODEL

The spiral model entails releasing a system in installments that are continuously improving
and adding functionalities in every phase. In the initial phase, the system may just be in the
form of a model or a prototype.
The spiral model comprises of the five basic framework activities performed until the system
has been completely developed. The activities are communication, planning, modeling,
construction and deployment. Risk is diminished in every phase so it is appropriate for risk
management.

ADVANTAGES

1. It is easy to estimate the cost of a project as development is done in small installments.


2. It is useful for risk management due to its continuous nature of development.
3. Customer feedback can be considered in every phase.

DISADVANTAGES

1. There is a lot of documentation.


2. It is not suitable for small scale projects.
3. There is a risk of not being able to meet cost requirements.

Spiral model accommodates changes more easily compared to the waterfall model. In
contrast to waterfall model, changes in system can be made at later stages of development in
spiral model.
RAPID APPLICATION DEVELOPMENT (RAD)

Rapid Application Development (RAD) is a faster version of the waterfall model. It requires
the development process to take place is small cycles. It is used mostly when a project is to
be completed in limited schedule. The steps involved in the RAD model are the framework
activities: Communication, Planning, Modelling, Construction and Deployment. However,
RAD does not emphasize on strict planning but focuses on results.

ADVANTAGES

1. It is highly productive for small project teams.


2. It is useful in risk management and reducing risks.
3. It is a flexible and adaptable model of software development.

DISADVANTAGES

1. If the project team is not punctual in delivering outputs, then RAD can fail.
2. It requires a project team consisting of expert individuals.
3. It is not suitable for small projects.

RAD is readily adaptable to changes as it comprises of constant feedback taken from


customers and incorporating changes according to feedback. As RAD is a fast-paced model,
it is easy for changing requirements to multiply drastically. It is possible that a changed
requirement may consume large amount of time which could lead to a project becoming
overdue.

4. University of Nottingham is currently running through different departments like


Administration, Accounts, Examination, Admission, Library, Computer Labs, Faculty
Management, and Student Management etc. Every department has its own specific processes
and each department is using computer-based system to some extent but not complete
computer based solutions. There is also inter-departmental communication for the smooth
running of all functions in respective departments. It is decided by the higher management
that all the departments should be integrated under one system and that system should
accommodate all the processes existing in all departments. It is also decided that if this
system is implemented successfully then it will also be used in other departments of
University independently after configuring it according to their needs. Higher Management
wants to see this system within this year. Risks, which can arise, should be accommodated
implicitly keeping the time factor in mind. As the system will be used in public sector, so
verification and validation factors must be administered accordingly. What software process
model(s) would you choose and why? Explain in detail.

In the given case, the system may require changing of requirements when the system is
successful and is to be made independent for each department. Also, there is an existing
computer-based system that could be updated to meet the requirements of the new system.
For this, we need a model that is accommodating of changes. System is to be developed
within a year so the project has a sufficient time. In addition, there is a need to minimize
risks. The most appropriate development is spiral model for the given system of University
of Nottingham for the following reasons:
1. Requirements are vague in the case study so spiral model starts with a prototype which
will gradually lead to more accurate recording of requirements.
2. It can accommodate changing requirements easily.
3. The system is of medium scale for which spiral model is appropriate.
4. Spiral model is used when risk evaluation is important which the case is for the system is.
5. As spiral model comprises of taking feedback from user frequently, so the verification
and validation of requirements is covered in this way.

S-ar putea să vă placă și