SWE 619 - PowerPoint PPT Presentation

About This Presentation
Title:

SWE 619

Description:

People expect software to be malleable. After all, it's 'only software' We are always trying to do new things with software. Relevant experience often missing ... – PowerPoint PPT presentation

Number of Views:69
Avg rating:3.0/5.0
Slides: 7
Provided by: muhammad86
Learn more at: https://cs.gmu.edu
Category:
Tags: swe | malleable

less

Transcript and Presenter's Notes

Title: SWE 619


1
Introduction
  • SWE 619

2
Why Is Building Good Software Hard?
  • Large software systems enormously complex
  • Millions of moving parts
  • People expect software to be malleable
  • After all, its only software
  • We are always trying to do new things with
    software
  • Relevant experience often missing
  • Software engineering is about
  • Managing complexity
  • Managing change
  • Coping with potential defects
  • Customers, developers, environment, software

3
Decomposition and Abstraction
  • Decomposition divide and conquer
  • Abstraction helps to decompose productively
  • Abstraction changes the level of details to be
    considered
  • A many-to-one mapping
  • abstracts from irrelevant details

4
Abstraction mechanisms
  • Two abstraction mechanisms
  • Abstraction by parameterization abstracts from
    the identity of the data by replacing them with
    parameters. It generalizes modules so that they
    can be used in more situation
  • Abstraction by specification abstracts from the
    implementation details (how the module is
    implemented) to the behavior users can depend on
    (what the module does). It isolates modules from
    one anothers implementations.

5
Kinds of Abstractions
  • Procedural abstraction allows us to introduce new
    operations
  • Data abstraction allows us to introduce new types
    of data objects
  • Iteration abstraction allows us to iterate over
    items in a collection without revealing details
    of how the items are obtained
  • Type hierarchy allows us to abstract from
    individual data types to families of related types

6
Summary
  • Program decomposition based on abstraction
  • Procedural and iteration abstractions are
    valuable
  • Data abstraction provides the primary
    organizational tool in the programming process
  • Goal for various abstractions
  • What they are?
  • How to specify their behavior?
  • How to implement them in Java?
Write a Comment
User Comments (0)
About PowerShow.com