Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
53 views

1 Software Development and Process Model

The document discusses various software development process models including: - Big-Bang model which has little planning and is useful for small academic projects but has high risks. - Waterfall model which follows sequential phases of specification, design, implementation, verification and evolution without overlap but has high risks and doesn't allow for changes. - Incremental model which combines waterfall model elements iteratively to deliver working software in increments and get customer feedback. - Agile model which is iterative and incremental, focusing on customer satisfaction through quick delivery of working software in short iterations through customer collaboration. The document provides advantages and disadvantages of each model to understand their applicability to different types of projects. Process models discussed balance risks

Uploaded by

Rana Hafeez
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
53 views

1 Software Development and Process Model

The document discusses various software development process models including: - Big-Bang model which has little planning and is useful for small academic projects but has high risks. - Waterfall model which follows sequential phases of specification, design, implementation, verification and evolution without overlap but has high risks and doesn't allow for changes. - Incremental model which combines waterfall model elements iteratively to deliver working software in increments and get customer feedback. - Agile model which is iterative and incremental, focusing on customer satisfaction through quick delivery of working software in short iterations through customer collaboration. The document provides advantages and disadvantages of each model to understand their applicability to different types of projects. Process models discussed balance risks

Uploaded by

Rana Hafeez
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 40

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.

Any software process must include the following four activities:

 Software specification 

 Software design and implementation

 Software verification and validation

 Software evolution (software maintenance)


SDLC

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.

 It is simple to manage. It needs just a few resources to

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.

 It is difficult to assess quality.


Waterfall Model
 The waterfall model is the classic model or oldest model and is known as mother of
all the model. It is widely used in government projects and many vital projects in
company.
 The waterfall model is also called as 'Linear sequential model' or 'Classic life
cycle model'.
 In this model, each phase is executed completely before the beginning of the next
phase. Hence the phases do not overlap in waterfall model.
 This model is used for small projects.
 In this model, feedback is taken after each phase to ensure that the project is on the
right path.
 Testing part starts only after the development is completed.
Waterfall Model

.
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

moderate to high risk changes in project.


 It is a poor model for long duration projects.

 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.

 The working software is generated quickly in the software life

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.

 The planning of design is required before the whole system is

broken into smaller increments.


 The demands of customer for the additional functionalities

after every increment causes problem in the system


architecture.
RAD Model
 RAD is a Rapid Application Development model.
 Using the RAD model, software product is developed in a short
period of time.
 The initial activity starts with the communication between customer
and developer.
 Planning depends upon the initial requirements and then the
requirements are divided into groups.
 Planning is more important to work together on different modules.
RAD Model
Advantages of RAD Model
 The process of application development and delivery are
fast.
 This model is flexible, if any changes are required.

 Reviews are taken from the clients at the staring of the

development hence there are lesser chances to miss the


requirements.
Disadvantages of RAD Model
 The feedback from the user is required at every
development phase.
 This model is not a good choice for long term and large

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.

 Face to face interaction between the customers, developers and

testers and it is best form of communication.


 Even the late changes in the requirement can be incorporated

in the software.
Disadvantages of Agile model

It is totally depends on customer interaction. If the customer is not


clear with their requirements, the development team can go in the
wrong direction.

Documentation is less, so the transfer of technology to the new


team members is challenging.
Iterative Model
 In Iterative model, the large application of software development is
divided into smaller chunks and smaller parts of software which can
be reviewed to recognize further requirements are implemented. This
process is repeated to generate a new version of the software in each
cycle of a model.
 With every iteration, development module goes through the phases
i.e. requirement, design, implementation and testing. These phases are
repeated in iterative model in a sequence.
Iterative Model
Advantages of an Iterative Model
 Produces working software rapidly and early in the
software life cycle.
 This model is easy to test and debug in a smaller

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.

 It does not identify the requirements like detailed input, output.

 It is software working model of limited functionality.

 In this model, working programs are quickly produced.


Prototype Model
Advantages of Prototyping Model
 In the development process of this model users are actively
involved.
 The development process is the best platform to understand the

system by the user.


 Earlier error detection takes place in this model.

 It gives quick user feedback for better solutions.

 It identifies the missing functionality easily. It also identifies

the confusing or difficult functions.


Disadvantages of Prototyping Model
 The client involvement is more and it is not always considered
by the developer.
 It is a slow process because it takes more time for

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.

 It gives strong approval and documentation control.

 In spiral model, the software is produced early in the life

cycle process.
Disadvantages of Spiral Model
 It can be costly to develop a software model.
 It is not used for small projects.

You might also like