INTROSE Introduction to Software Engineering - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

INTROSE Introduction to Software Engineering

Description:

INTROSE Introduction to Software Engineering Software: Definitions, Myths, and Process Models Raymund Sison, PhD College of Computer Studies De La Salle University – PowerPoint PPT presentation

Number of Views:198
Avg rating:3.0/5.0
Slides: 26
Provided by: Raymu150
Category:

less

Transcript and Presenter's Notes

Title: INTROSE Introduction to Software Engineering


1
INTROSE Introduction to Software Engineering
Software Definitions, Myths, and Process Models
  • Raymund Sison, PhD
  • College of Computer Studies
  • De La Salle University
  • sisonr_at_dlsu.edu.ph

2
Question
  • What is software?

3
What is software?
  • Software is a set (configuration) of computer
    programs and associated documentation and data.
  • (Sommerville, 2001)

4
What is software?
  • Software can be
  • System software
  • Business software
  • Engineering and scientific software
  • Embedded software
  • Personal productivity software
  • Web-based software (Web apps)
  • Artificial intelligence software

5
What is software?
  • Software
  • Is engineered, not manufactured
  • Doesnt wear out, but it does deteriorate (see
    next slide)
  • Is still usually custom-built, though reusable
    components that are reliable and easy to use are
    steadily increasing

6
Wear vs. Deterioration
From (Pressman, 2001)
7
Software Myths
  • Management myths
  • All that my people need to develop good software
    are state-of-the-art computers.
  • All that my people need to develop good software
    are documented in a book of standards and
    procedures.
  • If we get behind schedule, we simply add more
    programmers.
  • If I decide to outsource a software development
    project to another firm, I can just relax and let
    that firm do it.

8
Software Myths
  • Customer myths
  • A general statement of objectives is sufficient
    to begin writing programs we can fill in the
    details later.
  • Project requirements continually change, but
    change can be easily accommodated because
    software is flexible.

9
Software Myths
  • Practitioners myths
  • Once we write the program and get it to work, our
    job is done.
  • Until I get the program running, I have no way
    of assessing its quality.
  • The only deliverable work product for a
    successful project is the working program.
  • Software engineering will make us create
    voluminous and unnecessary documentation and will
    invariably slow us down.

10
What is software engineering?
  • Software engineering is the production of quality
    software (and the study of approaches to all
    aspects thereof).

11
Software Process
  • A software process is a set of activities that
    produce a software product.

12
Generic Software Activities
  • Specification
  • Planning
  • Requirements analysis
  • Development
  • Design
  • Coding
  • Verification and validation
  • Maintenance (a.k.a. Evolution)
  • Correction
  • Adaptation
  • Enhancement

13
Support Software Activities
  • Complementing the generic software activities are
    the following umbrella activities
  • Software project tracking and control
  • Formal technical reviews
  • Software quality assurance
  • Software configuration management
  • Document preparation and production
  • Measurement
  • Risk management

14
Software Process Model
  • A software process model is a simplified
    description of a software process.

15
Some Software Process Models
  • Some software process models
  • Linear
  • Iterative
  • Evolutionary
  • Incremental
  • Spiral
  • Unified Process
  • Agile
  • Formal

16
Some Software Process Models
  1. Linear (a.k.a. Waterfall) oldest and most
    widely used

From (Sommerville, 2001)
17
Some Software Process Models
  • Drawbacks of the Waterfall model
  • It is often difficult for customers to state all
    requirements explicitly.
  • Accommodating change is difficult in Waterfall.
  • Therefore this model is appropriate only when
    requirements are well understood.
  • The customer must have patience.

18
Some Software Process Models
  1. Evolutionary (Iterative)

From (Pressman, 2001)
19
Some Software Process Models
  1. Incremental (Iterative)

From (Pressman, 2001)
20
Some Software Process Models
  • Spiral (Iterative)

From (Boehm, 1988)
21
Some Software Process Models
  1. Unified Process (Iterative)

From (Jacobson, Booch Rumbaugh, 1999)
22
Some Software Process Models
  • Agile, e.g.,Scrum (Iterative)

23
Some Software Process Models
  • XP Sidebar (from ADVANSE slides)

24
Some Software Process Models
  • Other generic process models
  • Formal methods used when a mathematical
    specification is to be developed
  • Component assembly used when reuse is a
    development objective

25
Impact of Process Model
  • If appropriate,
  • can improve
  • development speed
  • quality
  • tracking control
  • client relations
  • can minimize
  • overhead
  • risk exposure
  • If inappropriate,
  • can make some work
  • slow
  • unnecessary
  • redundant
  • frustrating

26
Brooks No Silver Bullet
  • Software engineering involves
  • Essential tasks
  • The fashioning of the complex conceptual
    structures that compose the abstract software
    entity
  • Accidental tasks
  • The representation of these abstract entities in
    programming languages and the mapping of these
    onto machine languages within space and speed
    constraints

27
Brooks No Silver Bullet
  • For accidental tasks, increase productivity
    through automation
  • For essential tasks, increase productivity
    through
  • Great designers
  • Rapid prototyping
  • Evolutionary development
  • Software reuse
Write a Comment
User Comments (0)
About PowerShow.com