2. The Waterfall Model was first Process Model to be introduced. It is also referred to
as a linear-sequential life cycle model.
In a waterfall model, each phase must be completed fully before the next phase
can begin.
This type of software development model is basically used for the for the project
which is small and there are no uncertain requirements.
In waterfall model phases do not overlap.
Once the product is developed and if any failure occurs then the cost of fixing
such issues are very high, because we need to update everywhere from document
till the logic.
3.
4. This model is used only when the requirements are very well known, clear and
fixed.
Product definition is stable.
Technology is understood.
There are no ambiguous requirements
The project is short.
5.
6. This model is simple and easy to understand and use.
It is easy to manage due to the rigidity of the model – each phase has specific
deliverables and a review process.
In this model phases are processed and completed one at a time. Phases do not
overlap.
Waterfall model works well for smaller projects where requirements are very well
understood.
7. Once an application is in the testing stage, it is very difficult to go back and
change something that was not well-thought out in the concept stage.
No working software is produced until late during the life cycle.
High amounts of risk and uncertainty.
Not a good model for complex and object-oriented projects.
Poor model for long and ongoing projects.
Not suitable for the projects where requirements are at a moderate to high risk of
changing.
8. 1- In incremental model whole requirements is divided
into various builds ;Each model passes through
following requirements , Design , implementation and
testing
3- Incremental model in software engineering is one
which can combines the elements of waterfall model
which are then applied in an iterative manner
4-The Incremental Approach uses a set number of steps
and development goes from start to finish in a linear
path of progression.
9. 1. This model is applied when the requirements of the complete cycle is clearly
defined and understood.
2. Major requirements are must be defined however some requirements maybe
evolve with time .
3. There is need to get a product in a market early
4. Mostly such model is used in web applications and product based companies.
10.
11. 1. Generates working software quickly and early during software life cycle.
2. This model is more flexible and less cost to change scope and requirement .
3. It is easy to debug and test during iteration.
4. In this model customer can respond to each build.
5. Lower initial delivery cost.
6. Easier to manage risk because risky pieces are handled and managed during
iteration.
7. Each iteration is an easily managed milestone.
12. 1. Needs good planning and design
2. Needs a clear and complete definition of whole system before it can be broken
down and initial iteration.
3. Total cost is higher than waterfall model.
14. • Characteristics of one or more of the traditional models.
• Applied when a specialized or narrowly defined software
engineering approach is chosen.
• These Specialized Models are :-
15. Incorporates many of the characteristics of the spiral model.
Iterative approach
Constructs applications from prepackaged software components.
leads to software reuse
16.
17. Encompasses a set of activities that leads to formal mathematical specification of
computer
Enable developers to specify, develop, and verify a computer-based system by
applying a rigorous, mathematical notation.
E.g. : “cleanroom software engineering”.
Used during development for detecting and correcting Ambiguity,
incompleteness, and inconsistency through the application of mathematical
analysis.
18. Some Disadvantages
• Time consuming and expensive.
• Because few software developers have the necessary
background to apply formal methods, extensive training is
required.
.It is difficult to use the models as a communication
mechanism for technically unsophisticated customers.
20. THE UNIFIED PROCESS
MODEL
.The Unified Process has emerged as a popular and effective software development
process.
.It recognizes the importance of customer communication.
.It helps the architect focus on the right goals such as understandability, reliance to
future change and reuse.
27. The Personal Software Process (PSP) shows engineers how to
- manage the quality of their projects
- make commitments they can meet
- improve estimating and planning
- reduce defects in their products
PSP emphasizes the need to record and analyze the types of errors you make, so you
can develop strategies eliminate them.
28. Planning – isolates requirements and based on these develops both size & resource
estimates. A defect estimate is made.
High level Design – external specification of all components. All issues are recorded
and tracked.
High level Design Review- formal verification to uncover errors
Development- metrics are maintained for all important tasks & work results.
Postmortem- using measures & metrics collected effectiveness of process is determined
an improved
29. Because personnel costs constitute 70 percent of the cost of software development,
the skills and work habits of engineers largely determine the results of the
software development process.
Based on practices found in the CMMI, the PSP can be used by engineers as a
guide to a disciplined and structured approach to developing software. The PSP is
a prerequisite for an organization planning to introduce the TSP.
30. The PSP can be applied to many parts of the software development process,
including
- small-program development
- requirement definition
- document writing
- systems tests
- systems maintenance
- enhancement of large software systems
31. The Team Software Process (TSP), along with the Personal Software Process,
helps the high-performance engineer to
- ensure quality software products
- create secure software products
- improve process management in an organization
32. Launch high level design
Implementation
Integration
Test
postmortem
33. Engineering groups use the TSP to apply integrated team concepts to the
development of software-intensive systems. A launch process walks teams and
their managers through
- establishing goals
- defining team roles
- assessing risks
- producing a team plan
34. The TSP provides a defined process framework for managing, tracking and
reporting the team's progress.
Using TSP, an organization can build self-directed teams that plan and track their
work, establish goals, and own their processes and plans. These can be pure
software teams or integrated product teams of 3 to 20 engineers.
TSP will help your organization establish a mature and disciplined engineering
practice that produces secure, reliable software.