Master your Minecraft
 
 

Special Offers see all

Enter to WIN a $100 Credit

Subscribe to PowellsBooks.news
for a chance to win.
Privacy Policy

Tour our stores


    Recently Viewed clear list


    Best Books of the Year | December 9, 2014

    Aubrey: IMG Best YA Fiction of 2014



    So what is with all the hullabaloo about young adult literature these days? Do we have John Green to blame for getting us sucked in to the tragic... Continue »

    spacer
Qualifying orders ship free.
$56.95
New Trade Paper
Ships in 1 to 3 days
Add to Wishlist
available for shipping or prepaid pickup only
Available for In-store Pickup
in 7 to 12 days
Qty Store Section
2 Remote Warehouse Software Engineering- Object Oriented Programming

Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software (Addison-Wesley Object Technology)

by

Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software (Addison-Wesley Object Technology) Cover

 

Synopses & Reviews

Publisher Comments:

"Utterly demystifies the job (no longer the art) of performance engineering. Monsters, begone! Wizards, away! It leaves you feeling that you could really do this on your own. And, thanks to Connie and Lloyd, you can." --From the Foreword by Paul Clements

Performance, responsiveness, and scalability are vital aspects of today's software. Yet many software systems cannot be used as initially implemented because of performance problems. Such failures can translate into significant costs for software developers due to damaged customer relations, lost income, and time and budget overruns. Performance Solutions offers straightforward techniques and strategies that can be used by software developers, project managers, and performance specialists to handle the performance of software throughout the development process. In particular the book focuses on how to design performance into software systems early and then maintain performance throughout the software development life cycle.

Software Performance Engineering (SPE) is a systematic, quantitative approach to cost-effectively constructing software systems that meet performance objectives. This book details the various SPE models that can be used for a wide variety of applications, including Web-based and distributed systems. It describes effective data gathering and performance measurement techniques and explores the principles of performance-oriented design. You will also find practical guidance on implementing an SPE program. Specific topics of interest include:

  • Reactive versus proactive performance management
  • Using UML for SPE
  • Specifying key performance scenarios and performance objectives
  • Gathering performance data and estimating resource requirements
  • Constructing and solving performance models
  • Modeling complex interactions in distributed systems
  • Planning and conducting performance measurements
  • Principles for performance-oriented design
  • Patterns that illustrate "best practice" approaches to achieving responsiveness and scalability
  • Antipatterns that illustrate what not to do and how to fix a problem when you find it
  • SPE activities for mid- to late life cycle
  • Performance tuning strategies
  • Integrating SPE into your software process
  • SPE implementation strategies and critical success factors

Numerous real-world applications and case studies illustrate the application of SPE techniques to important application domains, including Web and embedded real-time systems.

With this book, you will gain the understanding and skills you need to make informed choices among architectural and design alternatives and create responsive, scalable software on time and within your budget.

0201722291B07162001

Book News Annotation:

Techniques and strategies are presented that can be used by software developers, project managers, and performance specialists to handle the performance of software throughout the development process. Focus is on how to design performance into software systems early and then maintain performance throughout the software development cycle. Chapters detail various software performance engineering (SPE) models that can be used for a variety of applications, including Web-based and distributed systems. Specific topics include the use of UML for SPE, modeling complex interactions in distributed systems, and planning and conducting performance measurements.
Annotation c. Book News, Inc., Portland, OR (booknews.com)

Synopsis:

"Utterly demystifies the job (no longer the art) of performance engineering. Monsters, begone! Wizards, away! It leaves you feeling that you could really do this on your own. And, thanks to Connie and Lloyd, you can." --From the Foreword by Paul Clements

Performance, responsiveness, and scalability are vital aspects of today's software. Yet many software systems cannot be used as initially implemented because of performance problems. Such failures can translate into significant costs for software developers due to damaged customer relations, lost income, and time and budget overruns. Performance Solutions offers straightforward techniques and strategies that can be used by software developers, project managers, and performance specialists to handle the performance of software throughout the development process. In particular the book focuses on how to design performance into software systems early and then maintain performance throughout the software development life cycle.

Software Performance Engineering (SPE) is a systematic, quantitative approach to cost-effectively constructing software systems that meet performance objectives. This book details the various SPE models that can be used for a wide variety of applications, including Web-based and distributed systems. It describes effective data gathering and performance measurement techniques and explores the principles of performance-oriented design. You will also find practical guidance on implementing an SPE program. Specific topics of interest include:

  • Reactive versus proactive performance management
  • Using UML for SPE
  • Specifying key performance scenarios and performance objectives
  • Gathering performance data and estimating resource requirements
  • Constructing and solving performance models
  • Modeling complex interactions in distributed systems
  • Planning and conducting performance measurements
  • Principles for performance-oriented design
  • Patterns that illustrate "best practice" approaches to achieving responsiveness and scalability
  • Antipatterns that illustrate what not to do and how to fix a problem when you find it
  • SPE activities for mid- to late life cycle
  • Performance tuning strategies
  • Integrating SPE into your software process
  • SPE implementation strategies and critical success factors

Numerous real-world applications and case studies illustrate the application of SPE techniques to important application domains, including Web and embedded real-time systems.

With this book, you will gain the understanding and skills you need to make informed choices among architectural and design alternatives and create responsive, scalable software on time and within your budget.

0201722291B07162001

Description:

Includes bibliographical references (p. 479-488) and index.

About the Author

Connie U. Smith, Ph.D., is a principal consultant of the Performance Engineering Services Division of L&S Computer Technology, Inc. She is internationally recognized for her work in defining the field of software performance engineering and integrating SPE into the development of new software systems. She is the author of Performance Engineering of Software Systems (Addison-Wesley, 1990) and received the Computer Measurement Group's AA Michelson Award for technical excellence and professional contributions for her SPE work.

Lloyd G. Williams, Ph.D., is a principal consultant at Software Engineering Research, where he specializes in the development and evaluation of software architectures to meet quality objectives, including performance, reliability, modifiability, and reusability. His experience includes work on systems in fields such as process control, avionics, telecommunications, electronic funds transfer, Web-based systems, software development tools and environments, and medical instrumentation. He has presented professional development seminars and consulted on software development for more than 100 organizations worldwide.

0201722291AB07162001

Table of Contents

Foreword by Grady Booch.

Foreword by Paul Clements.

Preface.

I. INTRODUCTION AND OVERVIEW.

1. Introduction.

Software and Performance.

Responsiveness.

Scalability.

The Importance of Performance.

Consequences of Performance Failures.

Causes of Performance Failures.

Getting It Right.

How Should You Manage Performance?

Reactive Performance Management.

Proactive Performance Management.

Software Performance Engineering.

SPE Modeling Strategies.

SPE Models.

SPE for Object-Oriented Systems.

What Does It Cost?

What Do You Need?

Summary.
2: SPE Quick View.

SPE Process for Object-Oriented Systems.

Case Study.

Assess Performance Risk (Step 1).

Identify Critical Use Cases (Step 2).

Select Key Performance Scenarios (Step 3).

Establish Performance Objectives (Step 4).

Construct Performance Models (Step 5).

Determine Software Resource Requirements (Step 6).

Add Computer Resource Requirements (Step 7).

Evaluate the Models (Step 8).

Verify and Validate the Models (Step 9).

SPE in the Unified Software Process.

Performance Solutions.

Performance Principles.

Performance Patterns.

Performance Antipatterns.

Implementation Solutions.

Summary.
3: SPE and the UML.

Overview.

Extending the UML.

Stereotypes.

Tagged Values.

Constraints.

Use Cases and Scenarios.

Use Cases.

Scenarios.

Extensions to Sequence Diagram Notation.

Instance Decomposition.

Looping, Alternation, and References.

Specifying Time.

Timing Marks.

Time Expressions.

Timing Constraints.

Time in Sequence Diagrams.

Concurrency.

Threads and Processes.

Coregions.

Parallel Composition.

Synchronization.

Summary.

II. SPE MODELS.

4: Software Execution Models.

Purpose.

Representing Software Execution Models.

Execution Graphs.

Execution Graph Restrictions.

Model Solutions.

Basic Solution Algorithms.

More Advanced Solution Techniques.

Analysis Procedures.

Execution Graphs from Sequence Diagrams.

ICAD Case Study.

Architecture 1.

Architecture 2.

Analysis of Results.

Architecture 3.

Modeling Hints.

Summary.
5: Web Applications and Other Distributed Systems.

Introduction.

Web Applications.

Distributed Object Technology.

Middleware.

Limitations of Distributed Object Technology.

Effective Development with Distributed Object Technology.

Modeling Distributed System Interactions.

Types of System Interactions.

Software Execution Model Representation.

Representing Middleware Overhead.

Software Model Solution Approximations.

Example: Web e-Commerce Application.

Database Scenario.

Order Process Scenario.

Example Summary.

Modeling Hints.

Summary.
6: System Execution Models.

Introduction.

System Model Basics.

Performance Metrics.

Solving the Queueing Model.

Networks of Queues.

Deriving System Model Parameters from Software Model Results.

Using the System Model for SPE.

Advanced System Models.

Alternate Solution Methods.

Schedulability.

Distributed System Case Study.

Synchronization Model.

Modeling Hints.

Summary.

III. DATA COLLECTION.

7: SPE Data Collection.

Introduction.

SPE Data Requirements.

Key Performance Scenarios.

Performance Objectives.

Execution Environment.

Software Resource Requirements.

Computer Resource Requirements.

Data Gathering Issues.

Performance Walkthrough.

Topics.

When to Conduct Performance Walkthroughs.

Example.

Tips for a Successful Performance Walkthrough.

Resource Estimation Techniques.

Use Measurements.

Study Measurements.

Use a Mentor.

Best-Worst Case Estimates.

What to Estimate.

Estimating I/O Requirements.

Estimating Network Messages

Obtaining Computer Resource Requirements.

Summary.
8: Software Measurement and Instrumentation.

Introduction.

What Should You Measure?

Workload Data and Data Characteristics.

Path Characteristics.

Software Resources and Processing Overhead.

Computer Resource Usage.

Planning for Performance Measurement.

Key Considerations.

Performance Benchmarks.

Designing and Conducting Measurement Studies.

Performance Measurement Concepts.

Terminology.

Factors That May Affect Measurements.

Data Collection Techniques and Tools.

Data Collection Techniques.

Measuring SPE Data.

Instrumentation.

Instrumentation Design Considerations.

Implementation Alternatives.

Data Reporting.

Application Resource Measurement.

Summary.

IV. PERFORMANCE SOLUTIONS.

9: Performance-Oriented Design.

Principles for Performance-Oriented Design.

Performance Control Principles.

Performance Objectives Principle.

Instrumenting Principle.

Independent Principles.

Centering Principle.

Fixing-Point Principle.

Locality Principle.

Processing Versus Frequency Principle.

Synergistic Principles.

Shared Resources Principle.

Parallel Processing Principle.

Spread-the-Load Principle.

Using the Principles.

Summary.
10: Performance Patterns.

Overview.

Fast Path.

Problem.

Solution.

Benefits.

Consequences.

First Things First.

Problem.

Solution.

Benefits.

Consequences.

Coupling.

Problem.

Solution.

Benefits.

Consequences.

Batching.

Problem.

Solution.

Benefits.

Consequences.

Alternate Routes.

Problem.

Solution.

Benefits.

Consequences.

Flex Time.

Problem.

Solution.

Benefits.

Consequences.

Slender Cyclic Functions.

Problem.

Solution.

Benefits.

Consequences.

Summary.
11: Performance Antipatterns.

Overview.

The “god” Class.

Problem.

Solution.

Excessive Dynamic Allocation.

Problem.

Solution.

Circuitous Treasure Hunt.

Problem.

Solution.

The One-Lane Bridge.

Problem.

Solution.

Traffic Jam.

Problem.

Solution.

Summary.
12: Implementation Solutions.

Overview.

Performance Tuning.

General Performance Solutions.

Fast Path Speed-Up.

Improving Scalability.

Algorithm and Data Structure Choices.

Time Versus Space Trade-Offs.

Hardware/Software Platform Dependencies.

Performance Solutions for Object-Oriented Software.

Language-Independent Solutions.

C++ Solutions.

Java Solutions.

Summary.

V. APPLICATIONS.

13: Web Applications.

Introduction.

Performance Issues.

SPE Models for Web Applications.

Case Study: Nachtfliegen.com.

Plan Itinerary Scenario.

Software Model.

Hardware/Software Environment.

Resource Requirements.

Software Model Solution.

Performance Improvements.

System Execution Model.

Sensitivity and Scalability Analysis.

Typical Performance Problems.

Summary.
14: Embedded Real-Time Systems.

Introduction.

Embedded Real-Time Systems Background.

Timing Requirements.

Hardware Constraints.

Real-Time Operating Systems.

Distributed Systems.

Database.

Performance Issues.

Response Time and Throughput.

Schedulability.

SPE Models for Embedded Real-Time Systems.

Case Study: Telephony Switching.

Overview.

Architecture and Design.

Typical Performance Problems.

Summary.

VI. MAKING SPE HAPPEN.

15: The SPE Process.

Introduction.

The SPE Process.

Assess Performance Risk.

Identify Critical Use Cases.

Select Key Performance Scenarios.

Establish Performance Objectives.

Construct Performance Models.

Determine Software Resource Requirements.

Add Computer Resource Requirements.

Evaluate the Models.

Verify and Validate Models.

Late Life Cycle SPE Activities.

More Detailed Models.

More Precise Data.

Performance Testing.

Baseline Models.

Post-Deployment Performance Management.

Evolutionary Changes.

Capacity Management.

SPE Artifacts.

Performance Management Plans.

Performance V&V Plan.

SPE Configuration Management Plan.

Performance Drivers.

Performance Scenarios.

Performance Objectives.

Execution Environment Specifications.

Performance Models.

Model Results.

Performance Instrumentation.

Performance V&V Reports.

Performance Test Plans.

Performance Test Results.

Integrating SPE Into Your Software Process.

The Waterfall Model.

The Spiral Model.

SPE in the Unified Process.

Summary.
16: Implementing SPE.

Introduction.

Tools.

Modeling Tools.

Development Tools.

SPE Adoption and Use.

Experience.

Key Considerations.

Pilot Projects.

Critical Success Factors for Adoption and Use.

SPE Implementation Strategies.

Organizational Issues.

Who Pays for SPE?

Costs.

Risks.

Critical Factors for Successful Projects.

SPE Future.

Summary.

VII. APPENDIXES.

Appendix A: UML Notation.

Use Case Diagrams.

Sequence Diagrams.

Basic Sequence Diagrams.

Augmented Sequence Diagrams.

Deployment Diagrams.

Stereotypes, Tagged Values, and Constraints.

Stereotypes.

Tagged Values.

Constraints.
Appendix B: SPE Modeling Notations.

Execution Graph Notation.

Basic Nodes.

Synchronization Nodes.

Information Processing Graph Notation.
Bibliography.

Index. 0201722291T09102001

Product Details

ISBN:
9780201722291
Author:
Smith, Connie
Author:
Williams, Lloyd
Author:
Williams, Lloyd G.
Author:
Smith, Connie U.
Publisher:
Addison-Wesley Professional
Location:
Boston, MA
Subject:
General
Subject:
Programming - General
Subject:
Programming - Object Oriented Programming
Subject:
Computer software
Subject:
Reliability
Subject:
Programming / Object Oriented
Subject:
Computer software -- Development.
Subject:
Computer software -- Reliability.
Subject:
Software Engineering-Object Oriented Programming
Copyright:
Edition Description:
Trade paper
Series:
The Addison-Wesley object technology series
Series Volume:
no. 1
Publication Date:
September 2001
Binding:
TRADE PAPER
Grade Level:
Professional and scholarly
Language:
English
Illustrations:
Yes
Pages:
544
Dimensions:
9 x 7.4 x 1.2 in 925 gr

Other books you might like

  1. Embedded Systems Dictionary New Trade Paper $58.95

Related Subjects

Computers and Internet » Software Engineering » Object Oriented Programming

Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software (Addison-Wesley Object Technology) New Trade Paper
0 stars - 0 reviews
$56.95 In Stock
Product details 544 pages Addison-Wesley Professional - English 9780201722291 Reviews:
"Synopsis" by , "Utterly demystifies the job (no longer the art) of performance engineering. Monsters, begone! Wizards, away! It leaves you feeling that you could really do this on your own. And, thanks to Connie and Lloyd, you can." --From the Foreword by Paul Clements

Performance, responsiveness, and scalability are vital aspects of today's software. Yet many software systems cannot be used as initially implemented because of performance problems. Such failures can translate into significant costs for software developers due to damaged customer relations, lost income, and time and budget overruns. Performance Solutions offers straightforward techniques and strategies that can be used by software developers, project managers, and performance specialists to handle the performance of software throughout the development process. In particular the book focuses on how to design performance into software systems early and then maintain performance throughout the software development life cycle.

Software Performance Engineering (SPE) is a systematic, quantitative approach to cost-effectively constructing software systems that meet performance objectives. This book details the various SPE models that can be used for a wide variety of applications, including Web-based and distributed systems. It describes effective data gathering and performance measurement techniques and explores the principles of performance-oriented design. You will also find practical guidance on implementing an SPE program. Specific topics of interest include:

  • Reactive versus proactive performance management
  • Using UML for SPE
  • Specifying key performance scenarios and performance objectives
  • Gathering performance data and estimating resource requirements
  • Constructing and solving performance models
  • Modeling complex interactions in distributed systems
  • Planning and conducting performance measurements
  • Principles for performance-oriented design
  • Patterns that illustrate "best practice" approaches to achieving responsiveness and scalability
  • Antipatterns that illustrate what not to do and how to fix a problem when you find it
  • SPE activities for mid- to late life cycle
  • Performance tuning strategies
  • Integrating SPE into your software process
  • SPE implementation strategies and critical success factors

Numerous real-world applications and case studies illustrate the application of SPE techniques to important application domains, including Web and embedded real-time systems.

With this book, you will gain the understanding and skills you need to make informed choices among architectural and design alternatives and create responsive, scalable software on time and within your budget.

0201722291B07162001

spacer
spacer
  • back to top

FOLLOW US ON...

     
Powell's City of Books is an independent bookstore in Portland, Oregon, that fills a whole city block with more than a million new, used, and out of print books. Shop those shelves — plus literally millions more books, DVDs, and gifts — here at Powells.com.