Software Models
Software models are use to built high quality
software and help the software engineer to meet
the customer requirement and built a long term
software
Introduction
A software life cycle is the descriptive representation of
software life cycle. This include series of step through
which software product undergoes during his lifetime.
Its also referred as SDLC (System development life cycle).
Uses of life cycle models
Well defined life cycle model helps to produce
high quality products without wastage of time
money and energy.
Its also provide a direction how to built an
effective and efficient software product
Types of software Model
 Waterfall Model
 Evolutionary Model
 Prototyping Model
 Spiral Model
Waterfall Model
 The first description of the waterfall model is
often cited as a 1970 article by Winston W.
Royce
 Royce didn’t use the term “Waterfall” in his
article
What is Waterfall Model ?
First process Model.
Linear sequential Model.
Oldest Model for software model.
Also called as Classical life cycle model.
When to use Waterfall model:
Requirement are well known, clear and fixed.
Product definition is stable.
Technology is understood.
There no ambiguous requirements.
The project is short.
Waterfall Model
Requirement
This is the first of waterfall model which include a meeting with customer to understand
his requirement.
One of important stage any mistake lead to failure in efficiencies.
It’s very important to understand the customer requirements and expectation so that end
product meets his desires.
Requirement gathering and analysis phase the basic requirements of the system must be
understand by a software engineer, who is also called Analyst.
For satisfaction and confirmation all gathered must be documented and discussed with
the customer for reviewing.
Design
After gathering requirements next phase is design.
In this requirement all broken into small function for
implementation.
In this phase flow chart and model are created for how
software engineer is going to complete his task efficiently
and accurately.
Simply, this phase define actual programming and
implementation.
This phase focus on program attribute such as-
Coding And Implementation
Coding is the step in design phase is translated in machine readable form.
If design is done efficiently then coding can be done effectively in this
phase.
All model divided in small function or module and coding is done on
small function than whole coding. This will minimize the complexity, testing
and debugging will become easy.
Coding of software is directly done through design models or flow chart.
Testing
Testing is the stage where software Engineers check each module of software and whole software to verified that
program are error free and working efficiently.
Type of testing:
1)Inside test
2)Outside test
Inside testing mean test the whole program syntax whether program syntax accurately done or not.
Outside testing mean testing output whether the output of program is accurate or not. If output is not right there
must be the case that wrong operator might be use or statement is wrongly declare. Second type of outside testing
software is accurately implemented hardware component of software product.
 Term use for testing is bug and debugging. Bug mean
finding error and debugging mean removing errors.
Testing
Maintenance
This final phase of the waterfall model, in which whole software product is
handed to client after testing.
After the software has been deployed on the client site. It’s the duty of
software development team to visit the client site and maintain the activities of
software
If the customers suggest change or enhancements the software process has to
be all over again right from the first step.
The usually longest stage of the software. In this software is updated to :
Maintenance
Updating of software depend on :
a)Meet the changing customer needed.
b) Adapted the accommodate changes in the external environment.
c)Updating the software for innovation.
d)Correct error of software product which previously undetected in
the testing phase.
Advantages
Simple and easy to use.
Easy to manage due to linear flow.
Phases are processed and completed at a time.
Works well for smaller project where requirement
are clear and understood.
Disadvantage
Poor model for long and ongoing project.
Not a good model for complex and object oriented
programming project.
Not suitable project where requirement are at
moderate, to high risk of change.
Incremental Model
Method of S/W development
Incremented until the product is furnished
Evolution of water fall model
Scheduling and staging strategy
Diagram
Phases
Basically five phases
Communication
Planning
Modeling (analysis, design)
Construction (code, test)
Deployment (delivery, feedback)
Communication
First or initial phase
In the meeting different aspects of the project are suggested
Collaboration between two companies
Idea of the consumer about the project
Customer suggestion
Planning
Meeting of the project company
Instruction of the pm to the staff
In this pm emphasize on
How to work start
Quickly completion of the project
Give demo version to the customer
Modeling
Analysis and design
Development team visits the customer and studies
their system requirement
It also consists of personnel assignments, costs of the
system, project schedule and the target date
Construction
Code
Testing
Code and test is performed to check the feasibility,
reliability and working of the software
After code generation phase the software programs testing
begins
Deployment
The software has delivered to the customer and gives
feedback from the customer
Delivery and feedback
Software will definitely go through change when it is
delivered to the customer
Advantages
More flexible, less costly to change scope and requirements
Operation product in week
Each iteration is easily managed milestone
Easier to test and debug during a smaller iteration
Easier to manage risk
Disadvantages
Each phase of an iteration is rigid and do not overlap each
other
Problem may arise pertaining to system architecture
because all not requirements are gathered up front for the
entire software life cycle
Need an open architecture

Computer1

  • 1.
    Software Models Software modelsare use to built high quality software and help the software engineer to meet the customer requirement and built a long term software
  • 2.
    Introduction A software lifecycle is the descriptive representation of software life cycle. This include series of step through which software product undergoes during his lifetime. Its also referred as SDLC (System development life cycle).
  • 3.
    Uses of lifecycle models Well defined life cycle model helps to produce high quality products without wastage of time money and energy. Its also provide a direction how to built an effective and efficient software product
  • 4.
    Types of softwareModel  Waterfall Model  Evolutionary Model  Prototyping Model  Spiral Model
  • 5.
    Waterfall Model  Thefirst description of the waterfall model is often cited as a 1970 article by Winston W. Royce  Royce didn’t use the term “Waterfall” in his article
  • 6.
    What is WaterfallModel ? First process Model. Linear sequential Model. Oldest Model for software model. Also called as Classical life cycle model.
  • 7.
    When to useWaterfall model: Requirement are well known, clear and fixed. Product definition is stable. Technology is understood. There no ambiguous requirements. The project is short.
  • 8.
  • 9.
    Requirement This is thefirst of waterfall model which include a meeting with customer to understand his requirement. One of important stage any mistake lead to failure in efficiencies. It’s very important to understand the customer requirements and expectation so that end product meets his desires. Requirement gathering and analysis phase the basic requirements of the system must be understand by a software engineer, who is also called Analyst. For satisfaction and confirmation all gathered must be documented and discussed with the customer for reviewing.
  • 10.
    Design After gathering requirementsnext phase is design. In this requirement all broken into small function for implementation. In this phase flow chart and model are created for how software engineer is going to complete his task efficiently and accurately. Simply, this phase define actual programming and implementation. This phase focus on program attribute such as-
  • 11.
    Coding And Implementation Codingis the step in design phase is translated in machine readable form. If design is done efficiently then coding can be done effectively in this phase. All model divided in small function or module and coding is done on small function than whole coding. This will minimize the complexity, testing and debugging will become easy. Coding of software is directly done through design models or flow chart.
  • 12.
    Testing Testing is thestage where software Engineers check each module of software and whole software to verified that program are error free and working efficiently. Type of testing: 1)Inside test 2)Outside test Inside testing mean test the whole program syntax whether program syntax accurately done or not. Outside testing mean testing output whether the output of program is accurate or not. If output is not right there must be the case that wrong operator might be use or statement is wrongly declare. Second type of outside testing software is accurately implemented hardware component of software product.
  • 13.
     Term usefor testing is bug and debugging. Bug mean finding error and debugging mean removing errors. Testing
  • 14.
    Maintenance This final phaseof the waterfall model, in which whole software product is handed to client after testing. After the software has been deployed on the client site. It’s the duty of software development team to visit the client site and maintain the activities of software If the customers suggest change or enhancements the software process has to be all over again right from the first step. The usually longest stage of the software. In this software is updated to :
  • 15.
    Maintenance Updating of softwaredepend on : a)Meet the changing customer needed. b) Adapted the accommodate changes in the external environment. c)Updating the software for innovation. d)Correct error of software product which previously undetected in the testing phase.
  • 16.
    Advantages Simple and easyto use. Easy to manage due to linear flow. Phases are processed and completed at a time. Works well for smaller project where requirement are clear and understood.
  • 17.
    Disadvantage Poor model forlong and ongoing project. Not a good model for complex and object oriented programming project. Not suitable project where requirement are at moderate, to high risk of change.
  • 18.
    Incremental Model Method ofS/W development Incremented until the product is furnished Evolution of water fall model Scheduling and staging strategy
  • 19.
  • 20.
    Phases Basically five phases Communication Planning Modeling(analysis, design) Construction (code, test) Deployment (delivery, feedback)
  • 21.
    Communication First or initialphase In the meeting different aspects of the project are suggested Collaboration between two companies Idea of the consumer about the project Customer suggestion
  • 22.
    Planning Meeting of theproject company Instruction of the pm to the staff In this pm emphasize on How to work start Quickly completion of the project Give demo version to the customer
  • 23.
    Modeling Analysis and design Developmentteam visits the customer and studies their system requirement It also consists of personnel assignments, costs of the system, project schedule and the target date
  • 24.
    Construction Code Testing Code and testis performed to check the feasibility, reliability and working of the software After code generation phase the software programs testing begins
  • 25.
    Deployment The software hasdelivered to the customer and gives feedback from the customer Delivery and feedback Software will definitely go through change when it is delivered to the customer
  • 26.
    Advantages More flexible, lesscostly to change scope and requirements Operation product in week Each iteration is easily managed milestone Easier to test and debug during a smaller iteration Easier to manage risk
  • 27.
    Disadvantages Each phase ofan iteration is rigid and do not overlap each other Problem may arise pertaining to system architecture because all not requirements are gathered up front for the entire software life cycle Need an open architecture