Why Software Engineering - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

Why Software Engineering

Description:

A program and all of its associated information and materials needed to support ... Probability that the conditions that can lead to a mishap (hazards) do not occur ... – PowerPoint PPT presentation

Number of Views:38
Avg rating:3.0/5.0
Slides: 22
Provided by: onyxYo
Category:

less

Transcript and Presenter's Notes

Title: Why Software Engineering


1
Why Software Engineering?
2
What is software?
  • A program and all of its associated information
    and materials needed to support its installation,
    operation, repair and enhancement.

3
What is SE?(1)
  • Solving Problems
  • Analyzing
  • Synthesis
  • Method or Technique
  • Tool
  • Procedure
  • Paradigm

4
What is SE?(2)
  • We can view the computers and programming
    languages as tools to be used in designing and
    implementing a solution to a problem.

5
What is good software?(1)
  • Consideration of Software quality in 3 ways
  • The quality of the product
  • The quality of the process
  • The quality in the context of the business
    environment
  • Software quality
  • Conformance
  • Correctness
  • Reliability
  • Safety

6
What is good software?(2) - The quality of the
product
  • In view of users
  • Easy to learn and use
  • External characteristics failure
  • In view of designer and maintainer
  • Internal characteristics faults in
    requirements, design, and code inspections

7
Data commonality
8
What is good software?(3)- The quality of Process
  • Activities that affect the ultimate product
    quality
  • The quality of the development and maintenance
    process
  • Modeling the process

9
What is good software?(4)- Software quality
  • Correctness the extent to which a program
    satisfies its specification and fulfills the
    customer's mission objectives
  • Reliability probability of failure-free
    operation of a computer program for a specified
    time in a specified environment.
  • Safety Probability that the conditions that can
    lead to a mishap (hazards) do not occur

10
What is good software(5)?-Software quality
factors
Portability Reusability Interoperability
Maintainability Flexibility Testability
Product Revision
Product Transition
Product Operation
Correctness Reliability Efficiency Integrity
Usability
11
Who does software engineering?
  • Customer One who is paying for the software
    system
  • Developer One who is building the software
    system for the customer
  • User One who will actually use the system
  • Subcontractor Additional developer who build s
    subsystem and deliver to the developers to be
    included in the final product

12
A system approach(1)
  • System
  • Objects
  • Activities
  • A descriptions of the relationships among
    entities and activities
  • A definition of the boundary of the system
  • Activity Something that happens in a system.
  • Objects(Entities) The elements involved in the
    activities.

13
A system approach(2) - Interrelated systems
  • The boundary of a system What is within and
    without and what crosses the boundary.
  • One system exists inside another system Focus
    on the smallest system at first
  • Incremental development
  • When building a system to replace an older
    version.
  • Static and dynamic views of a system.

14
Reporting system for data
15
A engineering approach - Building a system
  • Construction of the system follows understanding
    its nature.
  • Activities in the development of software
  • Requirements analysis and definition
  • System design
  • Program design
  • Writing the programs
  • Unit testing
  • Integration testing
  • System testing
  • System delivery
  • Maintenance

16
Members of the development team
  • Requirements analyst
  • Designer
  • Programmer
  • Tester
  • Customer
  • Trainer
  • Maintenance team
  • Librarian
  • Configuration management team

17
ANALYST
DESIGNER
PROGRAMMER
SOFTWARE DEVELOPMENT STEPS
DEVELOPER ROLES
TESTER
TRAINER
MAINTENANCE
18
How has software engineering changed?(1)-The
nature of change
  • Multiple systems, network control, security, user
    interface presentation waterfall
    approach to development is no longer suitable.
  • Change factors
  • Criticality of time-to-market for commercial
    products
  • Shifts in the economics of computing
  • Availability of powerful desktop computing
  • Extensive local and wide-area networking
  • Availability and adoption of oo tech.
  • Graphical user interfaces
  • Unpredictability of the waterfall model of
    software development

19
Factors influencing software engineering
  • Types of application
  • Software size
  • Software requirements
  • Production and Acquisition mode
  • Hardware environment
  • Number of users

20
Summary
  • Software engineering definition
  • The systematic approach to the development,
    operation - IEEE Computer Society.
  • Design, building, and maintaining large software
    systems - Ian Sommervile.
  • Software definition
  • Problems in engineering quality software
  • Cost overruns
  • Late delivery
  • Inadequate performance
  • Unreliability
  • Difficulty in maintenance

21
Unsuccessful case - An Investigation of the
Therac-25 accidents(IEEE Computer, Jul. 1993)
  • A computerized radiation therapy machine
  • 1983-1984 accident free operation
  • 1985-1987 6 accidents
  • Safety-critical software
  • Software development practice was unsatisfactory
  • A single developer with unknown background or
    experience, using PDP 11 assembly
  • Little documentation on software requirements and
    test plan
  • Quality of safety is questionable
Write a Comment
User Comments (0)
About PowerShow.com