Supplementary Slides for
Software Engineering:
A Practitioner's Approach, 5/e
Parts Four & Five

Chapter 20
Object-Oriented Concepts
and Principles

The OO Process Model

The OO Mindset

Key Concepts

Classes

Building a Class

What is a Class?

Encapsulation/Hiding

Class Hierarchy

Methods
(a.k.a. Operations, Services)

Messages

Chapter 21
Object-Oriented Analysis

Domain Analysis

OOA- A Generic View

Use Cases

Developing a Use Case

Selecting Classes—Criteria

Unified Modeling Language (UML)

UML:  Use-Case Diagram

CRC Modeling

Guidelines for Allocating
Responsibilities to Classes

Reviewing the CRC Model

UML:  Class Diagrams

UML: Package Reference

Relationships between Objects

Object-Behavior Model

UML: State Transition

UML: Event Trace

Chapter 22
Object-Oriented Design

Object-Oriented Design

OOA and OOD

OOA and OOD

Design Issues

Generic Components for OOD

Process Flow for OOD

System Design Process

System Design

Subsystem Example

Subsystem Design Criteria

Subsystem Collaboration Table

Object Design

Design Patterns

Design Pattern Attributes

Chapter 23
Object-Oriented Testing

Object-Oriented Testing

Broadening the View of “Testing”

Testing the CRC Model

OOT Strategy

OOT—Test Case Design

OOT Methods: Random Testing

OOT Methods: Partition Testing

OOT Methods: Inter-Class Testing

Chapter 24
Technical Metrics for
Object-Oriented Systems

Distinguishing Characteristics

Class-Oriented Metrics

Class-Oriented Metrics

Class-Oriented Metrics

Operation-Oriented Metrics

Testability Metrics

OO Project Metrics

Chapter 25
Formal Methods

Problems with
Conventional Specification

Formal Methods Concepts

An Example—Print Spooler

States and Data Invariant

Operations

Pre- & Postconditions

Mathematical Concepts

The Z Language

Chapter 26
Cleanroom Software Engineering

The Cleanroom Process Model

The Cleanroom Strategy-I

The Cleanroom Strategy-II

Box Structure Specification

Box Structures

Design Refinement & Verification

Advantages of Design Verification

Cleanroom Testing

Certification

Certification Models

Chapter 27
Component-Based
Software Engineering

The Key Questions

Impediments to Reuse

The CBSE Process

Domain Engineering

Identifying Reusable Components

Structural Modeling

Component-Based Development

CBSE Activities

Qualification

Adaptation

Composition

Classification

Chapter 28
Client/Server Software Engineering

C/S Architectures

Architecture Options

Software Components

Object-Request Brokers

C/S Software Engineering

C/S Testing

Chapter 29
Web Engineering

Attributes of
Web-Based Applications

WebApp Characteristics

WebApp Quality Factors

The WebE Process

Formulation

Analysis for WebE

Design for WebE

Architectural Styles

Navigation Design

Interface Design Guidelines

Testing for WebE – I

Testing for WebApps – II

Project Management for WebE

Project Management for WebE

Project Management for WebE

SCM for WebE

Chapter 30
Reengineering

Business Process Reengineering (BPR)

BPR Principles

Software Reengineering

Inventory Analysis

Restructuring

Reverse Engineering

Forward Engineering

Chapter 31
Computer-Aided Software Engineering

CASE

CASE Environment Model

The Challenge: Putting it Together

An Integration Framework

Data Integration:
The CASE Repository

A Taxonomy of CASE Tools

Chapter 32
The Road Ahead

An Information Spectrum

Software: The Road Ahead