Lectures 2 - PowerPoint PPT Presentation

About This Presentation
Title:

Lectures 2

Description:

Introduces discipline into the software development process ... for safety critical systems such as aircraft avionics and medical devices. ... – PowerPoint PPT presentation

Number of Views:16
Avg rating:3.0/5.0
Slides: 18
Provided by: randy108
Category:

less

Transcript and Presenter's Notes

Title: Lectures 2


1
Lectures 2 3 Software Process Models
  • Neelam Gupta

2
Linear Sequential Model(Waterfall Model)
Requirement Analysis and Specification
Design and Specification
Coding and Module Testing
Integration and System Testing
3
  • Contributions
  • Introduces discipline into the software
    development process
  • Implementation of a product should be postponed
    until after the objectives of implementation are
    well understood
  • Drawbacks
  • Linear
  • Rigid
  • Monolithic

4
The Prototyping Model
  • Do it twice principle by Brooks
  • First version Throwaway prototype
  • Second version Actual solution using Waterfall
    model
  • Drawbacks
  • Quick fixes may not be evaluated
  • Does not eliminate the time gap between the
    definition of requirements and final delivery of
    application
  • No emphasis on need for anticipating changes

5
Evolutionary Process Model
  • Software evolves
  • Requirements may change
  • Market competition
  • Iterative in nature
  • Deliver core product to the real user
  • Measure the added value of the user
  • Develop the next increment of the product

6
Incremental Model
  • Special care is placed on useful subsets of the
    system that might be delivered to the user and on
    definition of interfaces that will later allow
    new subsystems to be added smoothly.
  • Example Word processing software
  • Basic file management, editing, and document
    production
  • More sophisticated editing features
  • Spelling and grammar
  • Advanced page layout

7
Transformation Model
  • Software Development

Formal Specification
Sequence of Automated Transformations
Implementation
8
Requirement Analysis And Specification
Informal Requirements
Formal Specifications
Verification
Reusable Components
Detailed Formal Specifications
Executable Formal Specifications
Optimized Executable Specifications
Test
Formal Development Record
Release
9
  • In contrast to Waterfall model
  • supports program evolution
  • Also provides a method for proving program
    correctness.
  • Program correctness proofs represent an analytic
    mathematical approach for analyzing correctness
    of program after it is developed.
  • Given P and SpecificationltPre,Postgt,..,
    verify truth of Pre P Post.
  • Transformation approach is constructive
  • Given specification pairs ltPre,Postgt
  • Derive P that satisfies all the ltPre,Postgt pairs
    in the specification.
  • Automatically derives a program that satisfies
    specification.

10
Advantages
  • Enable a software engineer to specify, develop,
    and verify a software system by applying a
    rigorous mathematical notation.
  • Ambiguity, incompleteness, and inconsistency can
    be discovered/corrected easily by mathematical
    analysis.
  • Use of formal methods serves as a basis of
    program verification.
  • Offers promise of defect free software
    development.
  • Programmer is constrained to operate within well
    defined formal boundaries can focus on design
    complexity kept under control.

11
Recent Research
  • Use of techniques developed in Artificial
    Intelligence to support environment for
    transformational model.
  • Automated Assistant mediates and supports
    activities of the software process as directed by
    Software Engineer
  • Recording derivation steps and rationale
  • Producing necessary information for SE to make
    decisions
  • Suggesting strategies

12
Drawbacks
  • Requires extensive mathematical background and
    training in applying formal methods.
  • Still a research oriented approach but promising
    for software development for safety critical
    systems such as aircraft avionics and medical
    devices.

13
Spiral Model
  • Provides a framework for designing software
    processes that incorporate risk assessment and
    management into each phase of software
    development.
  • Meta model.
  • Definitions
  • Risks potentially adverse circumstances that may
    impair the development process and quality of
    products.
  • Risk Management identify, address and eliminate
    software risk items before they become a threat
    to successful software operation or a major
    source of expensive software rework.

14
(No Transcript)
15
  • Cyclic
  • Each cycle of spiral consists of 4-6 stages
  • Radius of spiral cost accumulated so far in the
    process
  • Introduces prototyping and risk and cost
    evaluation in each phase.
  • Couples evolutionary nature of software
    development with controlled and systematic
    aspects of linear sequential model.
  • Provides potential for rapid development of
    incremental versions of software.

16
  • Allows to restate the issues of robustness vs
    correctness
  • After one cycle, unstated requirements checked as
    part of robustness of application
  • May become part of specifications in the next
    cycle
  • After each cycle, robustness approximates
    correctness more closely.

17
Spectrum of Models
  • Waterfall Life Cycle Model
  • Evolutionary Approaches
  • Transformational Approach
  • Spiral Method (meta model)
  • Documentation driven
  • Increment driven
  • Specification driven
  • Risk driven
Write a Comment
User Comments (0)
About PowerShow.com