The software process - PowerPoint PPT Presentation

About This Presentation
Title:

The software process

Description:

Reuse-oriented development. Software Engineering, Chapter 3 Slide 10 ... Computer-aided software engineering (CASE) is software to support software ... – PowerPoint PPT presentation

Number of Views:76
Avg rating:3.0/5.0
Slides: 25
Provided by: ians108
Category:
Tags: process | software

less

Transcript and Presenter's Notes

Title: The software process


1
The software process
  • A structured set of activities required to
    develop a software system
  • Specification
  • Design
  • Implementation
  • Testing (Validation)
  • Installation (Release)
  • Maintenance (Evolution)
  • A software process model is an abstract
    representation of a process. It presents a
    description of a process from some particular
    perspective

2
Software process models
  • Waterfall
  • Evolutionary/prototyping development
  • Reuse-based development
  • Incremental development
  • Spiral development
  • Extreme programming
  • Rational Unified Process
  • Object oriented model (fountain model)

3
Waterfall model
Feedback loops
4
Waterfall Good and Bad
  • First published model
  • Good
  • Appropriate when the requirements are
    well-understood
  • Simple, well-understood, easy to follow
  • It includes feedback loops for maintenance
  • Document driven model makes maintenance easier
  • Bad
  • Unrealistic for new product development
  • Inflexible partitioning of the project into
    distinct stages
  • Users feedback are late. This makes it difficult
    to respond to changing customer requirements

5
Evolutionary development
6
Evolutionary Good and Bad
  • Development of an initial implementation followed
    by refinements
  • Good
  • Starts with a well understood subset of
    requirements
  • Best for exploratory work
  • Meets immediate needs of customers
  • Bad
  • Poorly structured, unclear milestones
  • Inappropriate for very large projects
  • Special skills (e.g. in languages for rapid
    prototyping) may be required

7
Prototyping model
  • Used to determine users needs
  • No validation, few functionality is implemented
  • Good
  • Good to determine requirements
  • Better specification expected
  • Gives early feedback to user and developer
  • Good for client to experiment and interact with
    it
  • Bad
  • User may see it as a working product
  • Developers are asked to compromise implementation
  • Software quality has not yet being considered
  • Inappropriate programming language may have been
    used

8
Reuse Good and Bad
  • Based on systematic reuse where systems are
    integrated from existing components or COTS
    (Commercial-off-the-shelf) systems
  • Good
  • Fastest development cycle
  • Low risk
  • Bad
  • May not exactly meet requirements
  • Components may not be available

9
Reuse-oriented development
10
Incremental development Good and Bad
  • Develop to completion portions of specs at a time
  • Highest priority requirements included earlier
  • Good
  • Customer gets soon an operational product
  • Lower risks of overall project failure (no large
    capital outlay)
  • Requirements are frozen for each increment
  • Customer could stop the next increment
  • Bad
  • Unnecessary if requirements and design are well
    understood
  • No clear distinction between maintenance and
    development
  • Complete set of requirements is required before
    first build

11
Incremental development
12
Extreme programming
  • New approach to development based on the
    development and delivery of very small increments
    of functionality
  • Main features
  • Emphasis on getting software to work
  • Relaxed requirements and design
  • Short release cycles
  • Comprehensive unit tests
  • Pairwise programming
  • Adding what is needed for the current task
  • User involvement

13
Spiral development
  • Process is represented as a spiral rather than as
    a sequence of activities with backtracking
  • Each loop in the spiral represents a phase in the
    process.
  • No fixed phases such as specification or design -
    loops in the spiral are chosen depending on what
    is required
  • Risks are explicitly assessed and resolved
    throughout the process

14
Spiral model of the software process
15
Spiral Good and Bad
  • Good
  • High likelihood of success (due to risk
    assessment and planning on each phase)
  • It allows other process model in any of the
    phases
  • Bad
  • Time consuming

16
Object oriented Model
  • OO development is highly iterative
  • Fountain model stresses the overlap of tasks
  • Like the water in a fountain
  • Software components are created, modified,
    discarded, or reused in successive phases
  • Main advantages
  • Requirements do not have to be frozen ? they
    evolve
  • Phase overlap leads to parallel implementation
  • Main disadvantages
  • It may lead to an undisciplined implementation
  • Phase overlapping may lead to low quality
    components

17
Fountain Model
18
Software specification
19
Software design
20
Implementation and debugging
  • Translating a design into a program and removing
    errors from that program
  • Programming is a personal activity - there is no
    standard model but lots of coding templates
  • Programmers carry out some program testing to
    discover faults in the program and remove these
    faults in the debugging process

21
Software testing (validation)
22
Software maintenance (evolution)
23
Automated process support (CASE)
  • Computer-aided software engineering (CASE) is
    software to support software development and
    evolution processes
  • Improve productivity and management of
    development process
  • It does not support team interaction
  • Activity automation
  • Graphical editors for system model development
  • Data dictionary to manage design entities
  • Graphical UI builder for user interface
    construction
  • Debuggers to support program fault finding
  • Automated translators to generate new versions of
    a program

24
CASE tool classification
Write a Comment
User Comments (0)
About PowerShow.com