Software Engineering - PowerPoint PPT Presentation

About This Presentation
Title:

Software Engineering

Description:

... of the equation had not been needed since there was no radio guidance failure. ... who makes shoes for everyone but does not have time to make shoes for himself ... – PowerPoint PPT presentation

Number of Views:38
Avg rating:3.0/5.0
Slides: 27
Provided by: sunyfr
Category:

less

Transcript and Presenter's Notes

Title: Software Engineering


1
Software Engineering
  • Software has some special characteristics
  • Software is developed and not manufactured

2
Software Characteristics
  • Software has ZERO TOLERANCE
  • Software does NOT wear out
  • Software deteriorates due to discovery of bugs
    and applying patches

3
Software is Crucial
  • Software error in NASAs Mariner-I caused booster
    failure and 18 Million losses
  • The guidance antenna on the Atlas performed
    poorly, below specifications. When the signal
    received by the rocket became weak and noisy, the
    rocket lost its lock on the ground guidance
    signal that supplied steering commands. The
    possibility had been foreseen in the event that
    radio guidance was lost the internal guidance
    computer was supposed to reject the spurious
    signals from the faulty antenna and proceed on
    its stored program, which would probably have
    resulted in a successful launch. However, at this
    point a second fault took effect. Somehow a
    hyphen had been dropped from the guidance program
    loaded aboard the computer, allowing the flawed
    signals to command the rocket to veer left and
    nose down. The hyphen had been missing on
    previous successful flights of the Atlas, but
    that portion of the equation had not been needed
    since there was no radio guidance failure.
    Suffice it to say, the first U.S. attempt at
    interplanetary flight failed for want of a
    hyphen."

4
Software Errors
  • Hubble Telescope became almost useless for some
    time due to mirror-polish-monitoring software
    error
  • Software error in a Texas clinic caused lethal
    X-ray doses to patients, killing 3 and burning
    scores of others

5
Ariane-5 Blows up
  • In 1996, Ariane-5 rocket was launched by European
    Space Agency after 7 billion in development
    expenses for 10 years
  • The rocket exploded just 40 seconds after
    launching
  • The investigators determined that the cause of
    the mishap was a software error
  • A 64 bit FP number representing horizontal
    velocity of the rocket was converted into 16 bit
    integer thus truncating it and having a wrong
    value used in inertial reference system

6
Engineering Approach Required
  • Therefore let us stop programming and start
    software engineering
  • When a product is designed by Engineers, it
    passes through several stages from concept to
    actual fabrication
  • We should develop the software using the
    Engineering approach

7
An Example
  • Consider the designing of a new mobile phone

8
Mobile Phone Design
  • Many aspects are considered before this phone can
    be manufactured
  • Design Engineer has to consider the physical
    dimensions, the desired battery life, the number
    and location of buttons, the controls required,
    the functionality and the cost
  • Later a prototype will be built to evaluate the
    design

9
The Waterfall Model
  • When we want to develop software, we should take
    similar approach
  • Classical Software Engineering life cycle
    consists of four stages
  • Analysis
  • Design
  • Coding
  • Testing

10
Waterfall Model Diagram
11
The Waterfall Model
  • This model is a sequence of stages
  • During analysis, the user requirements are
    identified and systems specs. are prepared
  • During design, the number of modules and their
    interconnection is finalized. The data types and
    structure is specified
  • During coding, actual programming is done
  • Testing is done to make sure there are no errors
    (alpha-release and beta-release)

12
Spiral Model
  • It was realized that the waterfall model is not
    optimal as it is a one-way model
  • If a problem is discovered in a later stage,
    there is no way to go back and correct the
    problem
  • Therefore, spiral model was proposed in which the
    SE activity occurs in a spiral thus giving a
    chance to correct the mistakes

13
Spiral Model Diagram
14
An Example of Applying WaterFall Model
  • A software is being developed for a post office
    teller in order to integrate various functions
    together. These functions may include selling
    postage stamps, issuing exact postage printouts
    and accepting utility bill payments for
    electricity and phone.
  • Determine the user interface requirements and
    functionality requirements of software

15
Software Engineering (contd)
  • Why should we take Engineering approach for
    software development?
  • What are the stages in Waterfall model?
  • What is the main problem in Waterfall model?
  • How does spiral model solve this problem?
  • How would you apply software engineering to a
    software development project?

16
Post Office Clerks Software
WELCOME TO MY WORKSTATION Please select from the
following (1) Sell stamps (2) Print exact
postage for metered mail (3) Accept utilities
bills gt
17
Post Office Clerks Software
YOU HAVE SELECTED BILL PAYMENT Please choose the
bill type (1) Phone Bill (2) Gas Bill (3)
Water/Sewerage Bill (4) Electricity Bill gt
18
Considering Modular Design
  • During the design phase, the modular architecture
    of the system is developed
  • Consider the previous example and determine major
    functions of software
  • Determine the interconnections between major
    modules. (Think about the type of information
    that will be exchanged)
  • Make a schedule of activities

19
Interaction Example
Main
Opening Menu Display Module
Utility Bills Module
20
Before Coding
  • Plan well before coding begins
  • Think about the platform, the specific hardware
    and software and the working environment
  • Since it is a highly interactive software, we
    should go for prototyping
  • Prototyping allows the end user to have a feel of
    the product before it is ready

21
Incremental Design
  • In this approach, a minimal working software is
    developed and goes through evaluation
  • Later, as per customer requirements, features and
    functions are added
  • This is best for small development team

22
RAD
  • RAD (Rapid Application Development) is
    recommended for software projects that have
    following characteristics
  • The software does not have an innovative design
  • Similar software projects have been completed
    successfully
  • Software design is modularized

23
Testing Considerations
  • Target of testing should be to find a fault and
    not to prove that it works fine
  • Bottom-up testing and integration is recommended.
    Here is how it works
  • Test the independent modules (slaves)
  • Integrate the tested modules into system and now
    test the integrated system

24
Testing Hints
  • Try to test boundary values for loops
  • For example while (xlt34) .
  • (Test at x33, x34 and x35)
  • Within each module (program unit), test both
    branches of a decision statement
  • Example if v is 0 do s1 else do s2
  • (Test will force v as 0 and also v as not zero)

25
Documentation and Maintenance
  • It is necessary to provide a detailed user guide
    that tells the user about the normal use and also
    about handling errors
  • A large software project would require a system
    admin guide that provides technical details of
    installation, running and troubleshooting
  • Software delivery is not the end of the story, it
    has to be maintained as well

26
Tools and Help
  • Tools to help in development of software arrived
    much later just like the shoemaker who makes
    shoes for everyone but does not have time to make
    shoes for himself
  • CASE Tools are now available for analysis,
    design, prototyping, coding, testing, and
    documenting
  • Check out http//www.rspa.com and identify at
    least one CASE Tool
Write a Comment
User Comments (0)
About PowerShow.com