CIS 375 SOFTWARE ENGINEERING

UNIVERSITY OF MICHIGAN-DEARBORN

DR. BRUCE MAXIM, INSTRUCTOR

Date: 9/8/97

Week 1

SOFTWARE ENGINEERING IS:

WHY IS SOFTWARE ENGINEERING IMPORTANT?

HISTORICAL SYSTEM IMPLEMENTATION COSTS:

WHY HAS STRUCTURED DESIGN BECOME SO IMPORTANT?

CHARACTERISTICS OF SOFTWARE DESIGNERS:

SOFTWARE CHARACTERISTICS:

DEFINITION OF SOFTWARE ENGINEERING:

DEFINITION OF HIGH QUALITY SOFTWARE:

SOFTWARE DEVELOPMENT MODELS:

SYSTEMS APPROACH:

  • {Definition of a system: (a collection of things)
  • ADVANTAGES OF BOUNDED SYSTEMS:

    SOFTWARE ENGINEERING APPROACH:

    WHY DOESN'T THIS WORK WELL:

    SOFTWARE LIFECYCLE MODELS:

    PHASES:

    1. Requirements, analysis, and design phase.
    2. System design phase.
    3. Program design phase.
    4. Program implementation phase.
    5. Unit testing phase.
    6. Integration testing phase.
    7. System testing phase.
    8. System delivery phase.
    9. System delivery.
    10. Maintenance.

    Date: 9/10/97

    Week 1

    MODELS:

    WATERFALL MODEL:

    RAPID PROTOTYPING MODEL:

    SPIRAL MODEL:

    FOURTH GENERATION TECHNIQUES:

  • (Usually a tool that generates the code, through the use of a graphical interface).
  • CAPABILITY MATURITY MODEL:

  • (A Strategy For Improving The Software Process).
  • MATURITY MODELS:

    LEVEL ONE; INITIAL PROCESS:

    LEVEL TWO; REPEATABLE PROCESS:

    LEVEL THREE; DEFINED PROCESS:

    LEVEL FOUR; MANAGED PROCESS:

    LEVEL FIVE; OPTIMIZING PROCESSES:

    HOW ARE METRICS USED?

    BENEFITS OF PROCESS MATURITY AND METRICS:

    PROJECT MANAGEMENT: (3 PARTS)

    1. People
    2. Problem
    3. Process

    SOFTWARE DEVELOPMENT TEAMS:

    PROBLEMS WITH SOFTWARE DEVELOPMENT: