1 Software Development and Process Model
1 Software Development and Process Model
BY
MUHAMMAD MAHAB
SHEIKH MUHAMMAD AFFAN
HANAN KHALID
Software Development and Process Model
It is a process used by software industry to design develop and test high quality software that meets
customer expectation reaches completion with-in time and cost estimated.
Software specification
3
Software Development and Process Model
There are various software development life cycle models defines and designed which are
followed during the software development process. following are software development and
process models.
1. Big-Bang model
2. Code-and-fix model
3. Waterfall model
4. Incremental model
5. RAD model
6. Agile model
7. Iterative model
8. Spiral model
9. Prototype model
Big-Bang model
Big-Bang is the SDLC(Software Development Life cycle) model in which no
particular process is followed.
Generally this model is used for small projects in which the development
teams are small. It is specially useful in academic projects.
This model is needs a little planning and does not follow formal
development.
The development of this model begins with the required money and efforts
as an input.
The output of this model is developed software, that may or may not be
according to the requirements of the customer.
Big-Bang model
Advantages of Big-Bang model
Big-Bang model is a simple model.
It needs little planning.
be developed.
It is useful for students and new comers.
Disadvantages of Big-Bang model
It is a very high risk model.
This model is not suitable for object oriented and
complex projects.
Big-Bang is poor model for lengthy and in-progress
projects.
Code-and-fix Model
Code and fix model is one step ahead from the Big-Bang model. It
identifies the product that must be tested before release.
The testing team find the bugs then sends the software back for
fixing.
To deliver the fixes developers complete some coding and send the
software again for testing. This process is repeated till the bugs are
found in it, at an acceptable level.
Code-and-fix Model
Advantages of Code-and-fix model
This model is suitable for small projects.
It needs less project planning
Disadvantages of Code-and-fix model
It is difficult to accommodate changes.
It is not clear what will be delivered and when.
.
Advantages of Waterfall model
The waterfall model is simple and easy to understand, to implement, and
use.
All the requirements are known at the beginning of the project, hence it
is easy to manage.
It avoids overlapping of phases because each phase is completed at once.
This model works for small projects where the requirements are easily
understood.
This model is preferred for those projects where the quality is more
important as compared to the cost of the project.
Disadvantages of Waterfall model
This model is not good for complex and object oriented
projects.
In this model, the changes are not permitted so it is not fit for
The problems with this model are uncovered, until the software
testing.
The amount of risk is high.
Incremental Model
The incremental model combines the elements of waterfall model and they
are applied in an iterative fashion.
The first increment in this model is generally a core product.
Each increment builds the product and submits it to the customer for
suggesting any modifications.
The next increment implements the customer's suggestions and add
additional requirements in the previous increment.
This process is repeated until the product is completed.
For example, the word-processing software is developed using the
incremental model.
Incremental Model
Advantages of Incremental model
This model is flexible because the cost of development is low
and initial product delivery is faster.
It is easier to test and debug in the smaller iteration.
cycle.
The customers can respond to its functionalities after every
increment.
Disadvantages of the incremental model
The cost of the final product may cross the cost initially
estimated.
This model requires a very clear and complete planning.
projects.
Agile Model
Agile model is a combination of incremental and iterative process models.
This model focuses on the users satisfaction which can be achieved with quick delivery
of the working software product.
Agile model breaks the product into individual iterations.
Every iteration includes cross functional teams working on different areas such as
planning, requirements, analysis, design, coding, unit testing and acceptance testing.
At the end of an iteration working product shows to the users.
With every increment, features are incremented and the final increment hold all the
features needed by the customers.
The iterations in agile process are shorter in duration which can vary from 2 weeks to 2
months.
Agile Model
Advantages of Agile model
Customers are satisfied because of quick and continuous
delivery of useful software.
Regular delivery of working software.
in the software.
Disadvantages of Agile model
iteration.
It is less costly to change scope and requirements.
Disadvantages of an Iterative Model
The system architecture is costly.
This model is not suitable for smaller projects.
Prototype Model
Prototype is defined as first or preliminary form using which
other forms are copied or derived.
Prototype model is a set of general objectives for software.
development.
Many changes can disturb the rhythm of the development
team.
It is a throw away prototype when the users are confused with
it.
Spiral model
It is a combination of prototype and waterfall model.
Every phase in the Spiral model is start with a design goal and ends
with the client review.
The development team in this model begins with a small set of
requirements and for the set of requirements team goes through each
development phase.
The development team adds the functionality in every spiral till the
application is ready.
Spiral Model:
Advantages of Spiral Model
It reduces high amount of risk.
It is good for large and critical projects.
cycle process.
Disadvantages of Spiral Model
It can be costly to develop a software model.
It is not used for small projects.