Project-Based Software Engineering
About the Book
Table of Contents
Preface
Sample Chapter
Ordering Info
Exam Copy
Teaching Resources
About the Authors
aw.com
Table of Contents
1. Introduction to Software Engineering
Key Concepts
Why Engineer Software?
Elements of a Software Development Paradigm
A Brief History of Software Engineering Techniques
The Costs of Not Engineering Software
Why Software Engineering Is Not Universal
The Role of the Project
Working in Teams
Creating the Project Team
CLASS PROJECT: Functional Requirements
Questions for Review


2. Object-Oriented Paradigm Overview
Key Concepts
Getting Acquainted with the Class Project
Object-Oriented Conceptualization
The Software Life Cycle
Object-Oriented Modeling
Qualities of a Good Object-Oriented System
Working in Teams
Questions for Review


3. Object-Oriented Analysis
Key Concepts
Introduction to Requirements Analysis
The Importance of Requirements Analysis
Requirements Specification
CASE STUDY: Library Management System Specification
Evaluating the Requirements Specification
Refining the Requirements Specification
Verifying the Requirements Specification
Propagating Requirements throughout Development
The Process of Requirements Analysis
Analyzing the CLASS PROJECT
Working in Teams
Questions for Review


4. Product Design
Key Concepts
Objectives of Design
Class Design versus Product Design
Product Design Overview and Objectives
Object Persistence
CASE STUDY: Object Persistence in LMS
Process Architecture
CASE STUDY: Interprocess Communication in LMS
CLASS PROJECT: Interprocess Communication in Galaxy Sleuth
User Interfaces
User Interface Design
User Interface Design Principles
CASE STUDY: User Interface for LMS
Working in Teams
Class Project Product Design
Questions for Review


5. Class Design
Key Concepts
The Class Design Process
More UML
Objectives of the Class Design Phase
Verification of the Class Design
Designing the CLASS PROJECT
Questions for Review


6. CASE STUDY: Game2D with Method Design
Key Concepts
Overview
Requirements Specification
Refined Requirements Specification
Requirements Analysis
Product Design
Class Design
Method Design
Questions for Review


7. Implementation
Key Concepts
Introduction
Implementation Approaches
Implementation Plan
CASE STUDY: Implementation Plan for the LMS
Programming Style
Comments and Internal Documentation
Project Coding Standards
Implementing the CLASS PROJECT
Questions for Review


8. Testing
Key Concepts
What Is Testing?
Principles of Object-Oriented Testing
Definitions
Testing Steps
Special Issues for Testing Object-Oriented Systems
CASE STUDY: Testing the LMS
Testing the CLASS PROJECT
Testing in the Face of Change: Configuration Management
Questions for Review


9. Project Management
Key Concepts
Introduction
Project Manager Responsibilities
Configuration Management
Project Planning and Monitoring
Project Teams
Risk Management
Reducing Risk
Further Readings on Risk Management
CASE STUDY: Risk Analysis in the LMS
Questions for Review


10. Design Patterns
Key Concepts
Motivation for Design Patterns
What Are Design Patterns?
Exploring Design Patterns
Questions for Review


11. Software Development Horror Stories
Key Concepts
Introduction
Therac-25
CONFIRM
Telephones and Communications


12. Completing and Presenting the CLASS PROJECT
Succeeding with the Class Project
Reflecting on the Project
Presenting the Project


© Copyright 2002 AW Higher Education Group, a division of Pearson Education, a Pearson plc company. All rights reserved. Legal disclaimer. E-mail webmaster@awl.com