0% found this document useful (0 votes)
28 views30 pages

Slide 2 Models M

Uploaded by

musukutwanick
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views30 pages

Slide 2 Models M

Uploaded by

musukutwanick
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 30

What is a software process model?

 An abstraction of the s/w


development process.
 Specifies the stages and order of a
process.
 There are many kinds of process
models for meeting different
requirements.
 We refer to these as SDLC
models (Software Development Life
Cycle models).
software process models
Factors in choosing a s/w
process model

i. Project requirements
• Will the user need to specify
requirements in detail after each
iterative session?
• Will the requirements change during
the development process?
ii.Project size
• Larger projects mean bigger teams,
• so you’ll need more extensive and
elaborate project management
plans.
• And that will have an effect on the
model to be selected.
iii.Project complexity
• Complex projects may not have clear
requirements.
• The requirements may change often.
• Ask yourself if the project requires
constant monitoring or feedback from
the client.

iv.Cost of delay
• Is the project highly time-bound with
a huge cost of delay, or are the
timelines flexible?
v.Customer involvement
• Do you need to consult the customers
during the process?
• Does the user need to participate in all
phases?

vi.Familiarity with technology


• Developers’ knowledge and
experience with;
• the project domain,
v.software tools, language,
vii.Project resources
• This involves the amount and
availability of;
 funds,
 staff,
 Infra structure etc.
1. Big-Bang Model

 No particular process is followed.


 Used for small projects in which the
development teams are small.
 E.g. in academic projects.
 Needs a little planning.
Advantages of Big-Bang model
•a simple model.
•needs little planning.
•simple to manage. needs just a few resources.
•It is useful for students and new comers.

Disadvantages of Big-Bang model


•a very high risk model.
•not suitable for complex projects.
•poor model for lengthy projects.
2. Code-and-fix Model
 One step ahead from the
Big-Bang model.
 Tests the product before
release.
 The testing team find the
bugs, sends the s/w back for
fixing.
 Developers fix the bugs and
send the s/w again for
testing.
Advantages
for small projects it is a good model.
needs less project planning.

Disadvantages
Difficult to accommodate changes.
Not clear what will be delivered and when.
3. Waterfall Model
 Each phase is
executed completely
before the beginning
of the next phase.
 Hence the phases do
not overlap in
waterfall model.
 Used for relatively small projects.
 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.
i) Communication
The development starts with the
communication between customer and
developer.

ii) Planning
It consists of complete estimation,
scheduling for project development.

iii) Modeling
Requirement analysis and the design of
the project i.e. algorithm, flowchart etc.
The algorithm is the step-by-step solution
of the problem and the flow chart shows a
complete flow diagram of a program.
iv) Construction
Code generation and the testing part.
Coding part implements the design
details using an appropriate programming
language.
Testing also checks that the program
provides desired output.
v) Deployment
Delivering the product to the customer
and taking feedback from them.
If the customer wants some corrections
or demands for the additional
capabilities, then the change is required
for improvement in the quality of the
software.
Advantages of Waterfall model
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.

Works for small projects where the


requirements are easily understood.

Preferred where the quality is more important


as compared to the cost of the project.
Disadvantages of the Waterfall model

Not good for complex projects. WHY?

Once a phase is completed, Changes are


not easily accommodated so it is not fit for
moderate to high risk changes in project.

A poor model for long duration projects;


problems/bugs are uncovered, until the
software testing.

The amount of risk is high.


4. V Model
 An extension of the
waterfall model.
 Processes are executed
sequentially.
 Every phase completes
its execution before the
execution of next phase
begins.

i) Requirements
Customers know their exact requirement and
expectation.
The acceptance test design planning is completed
at requirement stage because, business
requirements are used as an input for acceptance
ii) System Design

high level design of the software is


constructed.

In this phase, we study how the


requirements are implemented.
iii) Architecture design

software architecture is created on the


basis of high level design.

The module relationship and dependencies,


architectural diagrams, database tables,
technology details are completed in this
phase.
iv) Module design
In module phase, we separately design every
module or the software components.

Finalize all the methods, classes, interfaces,


data types etc.

Unit tests are designed in module design


phase based on the internal module designs.

Unit tests are the vital part of any


development process.
They help to remove the maximum faults
and errors at an early stage.
v) Coding Phase

The actual code design of module designed


in the design phase is grabbed in the coding
phase.

On the basis of system and architecture


requirements, we decide the best suitable
programming language.
Advantages of V-model
V-model is easy and simple to use.
testing activities i.e. planning, test design are
executed in the starting phase,
Hence, less chances of error occurring at final
phase of testing.
Suitable for small projects where the
requirements are easily understood.
Disadvantages of V-model

V-model is not suitable for large and


composite projects.
If the requirements are not constant
then this model is not acceptable
5. Incremental Model

 Phases of waterfall model are applied in


an iterative fashion.

 The first increment 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.
1. Communication
 starts with the communication between
customer and developer.

2. Planning
 Estimation & scheduling for project
development.

3. Modeling
 requirement analysis and the design of
the project like algorithm, flowchart etc.
4. Construction
 Code generation and the testing part.
 implements the design details using an
appropriate programming language.
 Testing also checks that the program
provides desired output.

5. Deployment
 Delivering the product to the customer
and taking feedback from them.
 If the customer wants some corrections
or demands for the additional
capabilities, then the change is required
for improvement in the quality of the
software.
Advantages of Incremental model

flexible because;
 Initial cost of development is low
 initial product delivery is faster.

easier to test 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

cost of the final product may cross


the cost initially estimated.

requires planning before iteration.

demands of customer for the


additional functionalities after every
increment causes problem in the
system architecture.
6. Spiral Model
 Other models are In Assignment

You might also like