Performance solutions : a practical guide to creating responsive, scalable software
著者
書誌事項
Performance solutions : a practical guide to creating responsive, scalable software
(The Addison-Wesley object technology series / Grady Booch, Ivan Jacobson, James Rumbaugh)
Addison-Wesley, c2002
大学図書館所蔵 全6件
  青森
  岩手
  宮城
  秋田
  山形
  福島
  茨城
  栃木
  群馬
  埼玉
  千葉
  東京
  神奈川
  新潟
  富山
  石川
  福井
  山梨
  長野
  岐阜
  静岡
  愛知
  三重
  滋賀
  京都
  大阪
  兵庫
  奈良
  和歌山
  鳥取
  島根
  岡山
  広島
  山口
  徳島
  香川
  愛媛
  高知
  福岡
  佐賀
  長崎
  熊本
  大分
  宮崎
  鹿児島
  沖縄
  韓国
  中国
  タイ
  イギリス
  ドイツ
  スイス
  フランス
  ベルギー
  オランダ
  スウェーデン
  ノルウェー
  アメリカ
注記
Bibliography: p. 479-488
Includes index
内容説明・目次
内容説明
Software development is replete with risks. Will the finished software run quickly enough? Will the underlying hardware and network infrastructure be sufficient? Will the system scale? You can now get the answers you need, up-front, in time to act. This book introduces Software Performance Engineering (SPE), a proven step-by-step methodology for predicting the development challenges and performance of any object-oriented system -- and for managing development to achieve performance objectives. Performance experts Connie Smith and Lloyd Williams show how to build quantitative models of software before it is built, analyzing performance based on proposed architecture and design. Learn how to elicit performance objectives, gather relevant data, and evaluate performance throughout development and the rest of the software lifecycle. For software engineers, developers, architects, analysts, performance specialists, project managers, and other IT professionals who want to deliver higher-performance object-oriented software systems.
目次
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
「Nielsen BookData」 より