software life cycle and models l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Software Life Cycle and Models PowerPoint Presentation
Download Presentation
Software Life Cycle and Models

Loading in 2 Seconds...

play fullscreen
1 / 19

Software Life Cycle and Models - PowerPoint PPT Presentation


  • 264 Views
  • Uploaded on

Rajkumar Buyya Grid Computing and Distributed Systems Lab Dept. of Computer Science and Software Engineering University of Melbourne, Australia http://www.buyya.com. Software Life Cycle and Models. Software Process. Software Process defines the way to produce software. It includes

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

Software Life Cycle and Models


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
software life cycle and models

Rajkumar Buyya

Grid Computing and Distributed Systems Lab

Dept. of Computer Science and Software Engineering

University of Melbourne, Australia

http://www.buyya.com

Software Life Cycle and Models

software process
Software Process
  • Software Process defines the way to produce software. It includes
    • Software life-cycle model
    • Tools to use
    • Individuals building software
  • Software life-cycle model defines how different phasesof the life cycle are managed.
phases of software life cycle
Phases of Software Life-cycle
  • Requirements
  • Specification (Analysis)
  • Design
  • Implementation
  • Integration
  • Maintenance
  • Retirement
requirements
Requirements
  • Assumption
    • The software being considered is considered economically justifiable.
  • Concept exploration
    • Determine what the client needs, not what the client wants
  • Document - Requirements Document
specification analysis phase
Specification (Analysis) Phase
  • From the customer requirements identify what to build.
  • Specifications must not be
    • Ambiguous
    • Incomplete
    • Contradictory
  • Document – Specification Document
design phase
Design Phase
  • From the specification identify how to build.
  • Design involves two steps
    • Architectural Design – Identify modules
    • Detailed Design – Design each modules
  • Document – Architecture Document, Design Document
implementation phase
Implementation Phase
  • Implement the detailed design in code.
  • Developer testing
    • Unit testing
    • Module testing
  • Document – Commented source code
integration phase
Integration Phase
  • Combine the modules and test the product as a whole.
  • Testing includes
    • Product testing
    • Acceptance testing
  • Document – Test cases and test results
maintenance phase
Maintenance Phase
  • Any changes after the customer accepts the system.
  • Maintenance phase is the most expensive
    • Lack of documentation
    • Regression testing
  • Document – Documented Changes, Regression test cases
retirement phase
Retirement Phase
  • Good software is maintained
  • Sometimes software is rewritten from scratch
    • Software is now un-maintainable because
      • A drastic change in design has occurred
      • The product must be implemented on a totally new
      • hardware/operating system
      • Documentation is missing or inaccurate
      • Hardware is to be changed—it may be cheaper to rewrite
      • the software from scratch than to modify it
  • True retirement is a rare event
life cycle models
Life-Cycle Models
  • Build-and-fix model
  • Waterfall model
  • Rapid prototyping model
  • Incremental model
  • Extreme programming
  • Synchronize-and-stabilize model
  • Spiral model
  • Object-oriented life-cycle models
  • Comparison of life-cycle models
notes
Notes
  • Most software is developed using build-and-fix model. Basically there is no model.
    • No specifications
    • No design
  • This model is completely unsatisfactory and should not be adopted.
  • Need life-cycle model
    • “Game plan”
    • Phases
    • Milestones
notes15
Notes
  • Output from one phase is fed as input to the next phase.
  • One phase is completed, documented and signed-off before the next phase begins.
  • Advantages
    • Each phase is well documented.
    • Maintenance easier.
  • Disadvantages
    • If there is a mismatch between what the client wanted and was is built this will not be known till the product is delivered.
notes17
Notes
  • A prototype of the product is build rapidly and shown to the client before the product is completely built.
  • Advantages :
    • Any mismatches between requirement and the product can be found early.
  • Disadvantages :
    • Sometimes the prototype ends up being the final product which results in quality, maintenance problems.
summary
Summary
  • Software Engineering is an important discipline due to various aspects.
  • Analysis and Design are two very important phases in the software development lifecycle.
reference
Reference
  • Stephen Schach, Classical and Object-Oriented Software Engineering with UML and Java,Chapter 3, McGraw-Hill, New York, USA.
    • http://www.mhhe.com/engcs/compsci/schach5/samplech.mhtml
  • Any other book on software engineering is also fine!