Patterns for Performance and Operability: Building and Testing Enterprise Software, 1st Edition (Hardback) book cover

Patterns for Performance and Operability

Building and Testing Enterprise Software, 1st Edition

By Chris Ford, Ido Gileadi, Sanjiv Purba, Mike Moerman

Auerbach Publications

344 pages | 53 B/W Illus.

Purchasing Options:$ = USD
Hardback: 9781420053340
pub: 2007-12-22
$98.95
x
eBook (VitalSource) : 9780429133213
pub: 2007-12-22
from $28.98


FREE Standard Shipping!

Description

Structured to follow the software life cycle, Patterns for Performance and Operability provides advice and examples-based instructions at every phase. You can read it from start to finish or go directly to those chapters that interest you the most. Whatever approach you choose, you will learn:

How to:

· Define and document comprehensive non-functional requirements for any software system

· Define scope and logistics for non-functional test activities

· Execute non-functional tests and report results clearly and effectively

· Patterns for defensive software designs in common software scenarios that promote operability and availability

· Implement the right level of reporting, monitoring, and trending for highly available production software systems

Patterns for:

· Software designs that support simpler and more efficient operation in a production environment

· Software design that support high-performance and scalability

Strategies and Techniques for:

· Techniques for managing and troubleshooting during a production crisis

· Strategies for resisting project pressure to compromise on quality or completeness of non-functional activities in the software cycle

Reviews

". . . written in an easy to read and logical format . . . The concepts and principles in this book will never be outdated . . . I recommend this book to anyone who has a responsibility and interest in improving the quality of enterprise software. Whether you are deploying your software internally at your own organization or externally for customers reading this book and implementing the principles (assuming this is not already being done) will undoubtedly improve the quality of your system and will lead to an improved computing experience for your end users."

– Alan Madick, in StickyMinds.com, January 2009

Table of Contents

Introduction

Production Systems in the Real World

Why Should I Read This Book?

The Non-functional Systems Challenge

What Is Covered by Non-functional Testing

Planning for the Unexpected

Patterns for Operability in Application Design

Summary

Planning and Project Initiation

The Business Case for Non-functional Testing

Scoping and Estimating

Test and Resource Planning

Communication Planning

Summary

Non-functional Requirements

What are Non-functional Requirements?

Do I Need Non-functional Requirements?

Roles and Responsibilities

Challenging Requirements

Establishing a Business Usage Model

Non-functional Requirements

Summary

Designing for Operability

Error Categorization

Design Patterns

The Characteristics of a Robust System

Infrastructure Services

Design Reviews

The Operability Review

Summary

Designing for Performance

Requirements

Architecture

Patterns

Antipatterns

Algorithms

Technology

Software

Hardware Infrastructure

Summary

Notes

Test Planning

Defining Your Scope

Load Testing Software

Additional Testing Apparatus

Test Environments

Test Beds

Historical Data

Summary

Test Preparation and Execution

Preparation Activities

Script Development

Performance Testing

Operability Testing

Sustainability Testing

Challenges

Summary

Deployment Strategies

Procedure Characteristics

Packaging

Deployment Rehearsal

Rollout Strategies

Case Study: Online Banking

Case Study: The Banking Front Office

Back-Out Strategies

Summary

Resisting Pressure from the Functional Requirements Stream

A Question of Degree

Pressures from the Functional Requirements Stream

Attention

Defining Success

Setting the Stage for Success

Summary

Operations Trending and Monitoring

Monitoring

Trending and Reporting

Error Reporting

Capacity Modelling and Planning

Summary

Troubleshooting and Crisis Management

Reproducing the Issue

Determining Root Cause

Troubleshooting Strategies

Applying a Fix

Post-Mortem Review

Summary

Common Impediments to Good Design

Design Dependencies

What Is the Definition of Good Design?

Testing a Design

Common Impediments to Good Design

Design Principles

Summary

References

Articles

Books

Web Sites

Subject Categories

BISAC Subject Codes/Headings:
COM032000
COMPUTERS / Information Technology
COM051010
COMPUTERS / Programming Languages / General
COM051230
COMPUTERS / Software Development & Engineering / General