IHTISHAM ALI
15-71
KAZIM HUSSAIN
15-102
 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.
 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.
 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.
 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.
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.
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.
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.
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.
 Muhammad Abid Ali
 BsIT-15-69
• 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 :-
 Incorporates many of the characteristics of the spiral model.
 Iterative approach
 Constructs applications from prepackaged software components.
 leads to software reuse
 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.
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.
 Babar Nasrullah
 BSIT-15-77
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.
HISTORY
PHASES OF UNITED PROCESS
ADVANTAGES OF RUP
DRAWBACKS OF RUP
Muhammad
Nauman
15-78
 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.
 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
 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.
 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
 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
 Launch high level design
 Implementation
 Integration
 Test
 postmortem
 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
 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.
ANY QUESTION ???

Process model

  • 1.
  • 2.
     The WaterfallModel 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.
  • 4.
     This modelis 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.
  • 6.
     This modelis 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 anapplication 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 incrementalmodel 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 modelis 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.
  • 11.
    1. Generates workingsoftware 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 goodplanning 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.
  • 13.
     Muhammad AbidAli  BsIT-15-69
  • 14.
    • Characteristics ofone or more of the traditional models. • Applied when a specialized or narrowly defined software engineering approach is chosen. • These Specialized Models are :-
  • 15.
     Incorporates manyof the characteristics of the spiral model.  Iterative approach  Constructs applications from prepackaged software components.  leads to software reuse
  • 17.
     Encompasses aset 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 • Timeconsuming 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.
  • 19.
  • 20.
    THE UNIFIED PROCESS MODEL .TheUnified 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.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
     The PersonalSoftware 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 personnelcosts 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 PSPcan 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 TeamSoftware 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 highlevel design  Implementation  Integration  Test  postmortem
  • 33.
     Engineering groupsuse 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 TSPprovides 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.
  • 35.