1. 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
2. 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).
3. 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
4. Types of software Model
Waterfall Model
Evolutionary Model
Prototyping Model
Spiral Model
5. 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
6. What is Waterfall Model ?
First process Model.
Linear sequential Model.
Oldest Model for software model.
Also called as Classical life cycle model.
7. 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.
9. 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.
10. 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-
11. 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.
12. 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.
13. Term use for testing is bug and debugging. Bug mean
finding error and debugging mean removing errors.
Testing
14. 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 :
15. 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.
16. 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.
17. 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.
18. Incremental Model
Method of S/W development
Incremented until the product is furnished
Evolution of water fall model
Scheduling and staging strategy
21. 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
22. 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
23. 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
24. 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
25. 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
26. 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
27. 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