用商业组件构建系统

用商业组件构建系统
作 者: 库尔特·C·瓦尔诺 斯哥特·A·希萨姆 罗伯特·C·塞克德
出版社: 清华大学出版社
丛编项: SEI软件工程丛书·影印版
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  库尔特·C·瓦尔诺,SEI的COTS系统项目小组负责人,负责使用确定组件进行可预测装配项目,他使用基于组件的开发方法设计并教授CMU/MSE课程,从事研究和开发工作20余年。斯哥特·A·希萨姆,匹兹堡大学的副教授,具有15年的软件开发经验,曾在LockheedMartin航空航天工业公司和BellAtlantic通信公司担任项目负责人。罗伯特·C·塞克德,至少有17年软件开发经验,深谙EnterpriseJavaBeans,CORBA及Web技术,曾经是XConsortiumibm和IBM技术小组的成员。

内容简介

编辑推荐:商业组件的广泛使用给软件工程学带来了全新的挑战。商业组件的复杂性和商业市场中的不确定因素使得软件人员必须适应从制定组件规范到集成现有商业组件的转变。本书全面、深入地介绍了各种扩展的软件工程思想、方法,并结合实例详细分析、阐述了各种方法、技术在实际开发中的运用过程。 本书适合所有从事或希望从事软件开发工作的人士阅读。

图书目录

Preface

PART ONE Fundamentals

CHAPTER 1 Components Everywhere

1 .1 The Software Component Revolution

1 .2 Component Space

1 .3 Process, Method, & Notation Assumptions

1 .4 Terminology and Acronyms

1 .5 Summary

CHAPTER 2 The Unfinished Revolution

2.1 The First software Crisis

2.2 The Software Factory Regime

2.3 The Second Software Crisis

2.4 The Market Regime

System Architecture Reflects Technology Market

Design for Change

Designing Supply Chains

Designing the Face of Misfit

Design to Technology Gompetence

Sustaining Competence

Design as Exploration

Accommodating the Process Singularity

2.5 Le Proces c''est mort! Vive le Proces!

2.6 Summary

2.7 For Further Reading

2.8 Discussion Questions

CHAPTER 3 Engineering Design & Components

3.1 Fundamental Ideas

3.2 Impact of Software Components

3.3 Designing with & for Components

Ensembles & Blackboards Chapter 5

Model Problems Chapter 6

R3 Cycle Chapter 8

Design Space Management Chapter 7

Storing Competence Chapter 8

Multi-Criteria Evaluation Chapter 9 & Risk/Misfit Chapter 10

Black-Box Visibility Chapter 11

3.4 Summary

3.5 Discussion Questions

CHAPTER 4 Requirements & Components

4.1 Fundamental ideas

4.2 Traditional Requirements Engineering

4.3 Component-Based Requirements Engineering

Dilution of Control

Competing Influences pn Systems

Continuous Character of Requirements Engineering

Requirements Discovery

The Requirements Centrifuge

The Requirements Paradox

4.4 Summary

4.5 Discussion Questions

CHAPTER 5 Ensembles & Blackboards

5.1 Fundamental Ideas

5.2 The Ensemble Metamodel

Component

Quasi-Component Types: Technologies and Products

Component Interface: Properties and Credentials

Inheritance Structure

Interactions

The Ensemble Metamodel

5.3 Modeling Ensembles with Blackboards

Blackboard as Collaboration Diagram

Quantification and Component Binding

5.4 Summary

5.5 Discussion Questions

CHAPTER 6 Model Problems

6.1 Fundamental Ideas

6.2 The Role of Toys

Install It

Imagine the Simplest Spanning Application Possible

Implement the Toy

Repeat Observe, Modify Until Satisfied

Throw It Away!

6.3 From Toy to Model Problem

Hypothesis

A Priori Evaluation Criteria

Implementation Constraints

Model Solution

A Posteriori Evaluation Criteria

Evaluation

6.4 Finding the Right Model Problems

Risk Analysis

Realize Model Problems

Repair Analysis

6.5 Repair and Contingency

6.6 Summary

6.7 For Further Reading

6.8 Discussion Questions

CHAPTER 7 Managing the Design Space

7.1 Fundamental Ideas

7.2 Ensembles, Blackboards, Relations

7.3 Ensemble Management

Notational Conventions

Alternative Refinements

The Fundamental Ensemble Feasibility Predicate

Alternative Remedies

Component Bindings

View

Aggregation

7.4 Component & Ensemble Composition

7.5 Repository Structure

7.G Summary

7.7 Discussion Questions

CHAPTER 8 Storing Competence

8.1 Fundamental Ideas

Ensemble Deconstruction

8.2 Packaging with Ensemble Handbooks

8.3 Automation

8.4 Summary

8.5 Discussion Questions

CHAPTER 9 The Multi-Attribute Utility Technique

9.1 Fundamental Ideas

A Mathematical View of MAUT

A Hierarchical Model View of MAUT

A Process View of MAUT

9.2 Evaluating Components with MAUT

Limitations of Maut 126

Beyond MAUT: Risk/Misfit, Model Problems, Ensembles

9.3 Summary

9.4 For Further Reading

9.5 Discussion Questions

CHAPTER 10 Risk-Misfit

10.1 Fundamental Ideas

The Utility/Risk Complement

Repair Strategy as Risk Mitigator

Normative and Formative Evaluation with Risk/Misfit

10.2 Feature and Repair Analysis

Step 1: Construct Feature/Risk Griterion Mapping

Step 2: Quantify the Risk

Step 3: Identify Repair Options Risk Mitigation

Step 4: Quantify Maximum and Residual Risk

Step 5: Estimate Repair Cost

Step 6: Domination Analysis

Step 7: Calculate Cost-to-Risk Ratio for Each Repair

Step 8: Assign a Dollar Value to Risk and Seiect Repair

10.3 Component Selection

10.4 Why Risk/Misfit

Bandwagon Effect

Featureitis

Buried Design

10.5 Experiences with Risk/Misfit

Avoidance of Weighted Criteria

Per-Component Criteria

10.6 Summary

10.7 For Further Reading

10.8 Discussion Questions

CHAPTER 11 Black Box Visibility

11 .1 Fundamental Ideas

11 .2 Opportunities for Visibility

11.3 Probing

11.4 Snooping

11.5 Spoofing

11.6 Static Program Anaiysis

Binary Viewers and Editors

Disassemblers

Decompilers

11.7 Summary

11.8 Discussion Questions

PART TWO Case Study

CHAPTER 12 The DIRS Case Study

12.1 Sources of Complexity in DIRS

12.2 A False Start

12.3 Regrouping: The DeepWeb Approach

12.4 Implications of DeepWeb

12.5 Commitments

Strategic Decisions

Technology Selection

12.6 Deceptive Simpiicity

The HTTP Server Authenticates Users

Very Large Images

Confidential Data Transfer

Reliable Data Transfer

Authorization of Rights

Editing in ImageEdit

User Chosen Web Browser

12.7 Summary

12.8 For Further Reading

12.9 Discussion Questions

CHAPTER 13 Applet Ensemble: The Opening

13.1 Where are We

13.2 Risk Analysis

13.3 Model Problem

13.4 Model Solutions

Model Solution with Direct HTTP Ensemble

Model Solution with Direct IIOP Ensemble

Extending the Sandbox

13.5 Evaluation

13.6 Summary

13.7 Discussion Questions

CHAPTER 14 Public Key Infrastructure

14.1 Fundamental Ideas

Cryptography

Encryption Using Public/Private Key Cryptography

Digital Signatures and Public/Private Kny Cryptography

Secure Hashing

Whose Public Key Is That Anyway

Digital Certificates

Certificate Authorities and Trust

14.2 Nonrepudiation

PKI in Identification and Authentication

14.3 Confidentiality

PKI in Secure Sessions

14.4 Integrity

PKI in Object and Code Signing

14.5 Summary

14.6 For Furthnr Reading

14.7 Discussion Questions

CHAPTER 15 A Cenificate Odyssey

15.1 Where Are We

15.2 Exploring Certificate Space

Component Choices

Ensemble Context

Identification and Authentication

Object Signing

Secure Sessions

15.3 Sustaining the Public Key Infrastructure

Certificate Management Policies

Certificate Management Software

15.4 Evaluation

15.5 Summary

1 5.6 Discussion Questions

CHAPTER 16 Applet Ensemble: The Middlegame

16.1 Where Are We

16.2 Repair Analysis

16.3 Risk Analysis

16.4 Summary

16.5 Discussion Questions

CHAPTER 17 Secure Applet Ensemble

17.1 Where Are We

17.2 Model Problem

Security Policy

Certificate Management Infrastructure

17.3 Model Solutions

Java Appiet Authorization

Java Application

Evaluation

17.4 For Funher Reading

17.5 Summary

17.6 Discussion Questions

CHAPTER 1 8 Instrumented Model Problem

18.1 Where Are We

18.2 Model Problem

18.3 Model Solutions

Ensemble Refinements

Instrumenting with the Test Harness

18.4 Evaluation

18.5 Summary

18.6 Discussion Question

CHAPTER 19 Sorbet: A Custom Ensemble

19.1 Where Are We

19.2 Model Problem

19.3 Model Solution

19.4 Evaluation

19.5 Summary

19.e Discussion Questions

CHAPTER 20 Hardware Components

20.1 Where Are We

20.2 Risk Analysis

What is NICNAK

Risk Analysis

20.3 Realize Confidentiality Model Problem

Define Model Problem

Build Model Solution

Evaluate Model Solution

20.4 Realize Authorization Model Problem

Define Model Problem

Build Model Solution

20.5 Repair Analysis

20.6 Summary

20.7 Discussion Questions

CHAPTER 21 Into the Black Box

21.1 Where Are We

21.2 Define Model Problem

21.3 Model Solution

Database Mechanism

Certificate Database

Key Database

21.4 Evaluation

21.5 Summary

21.6 Discussion Questions

CHAPTER 22 Applet Ensemble: The Endgame

22.1 Where Are We

22.2 Repair Analysis

22.3 Risk Analysis

22.4 Summary

22.5 Discussion Questions

CHAPTER 23 Secure Applet Ensemble Redux

23.1 Model Problem

23.2 Model Solution

Certificate Interoperability Toy

Netscape Database NDBS Toy

Model Solution

Netscape Navigator Test

Internet Explorer Test

23.3 Evaluation

23.4 Summary

23.5 Discussion Questions

CHAPTER 24 Conclusion & Retrospective

24.1 Multi-Attribute Evaluation

24.2 Conclusion

24.3 Retrospective

The Ensemble''s the Thing

Implementation Supports Analysis

Nonlinear Design

Low-Level Systems Skills Are More, Not Less, Critical

24.4 Summary

24.5 Discussion Questions

PART THREE Onward

CHAPTER 25 Getting Staned

25.1 Build a Competence Center

25.2 Define Your Infrastructure

25.3 Build an Enterprise Design Handbook

25.4 Certify Designers and Lead Engineers

25.5 Summary

CHAPTER 26 The Prophecies

Bibliography

Acronyms

Index

中文翻译目录:

第I部分 基础

第1章 无处不在的组件

1.1 软件组件的革命

1.2 组件空间

1.3 过程. 方法和符号假定

1.4 术语和缩写

1.5 小结

第2章 未竟的革命

2.1 第一次软件危机

2.2 软件工厂体制

2.3 第二次软件危机

2.4 市场体制

2.5 软件过程的消亡, 软件过程万岁

2.6 小结

2.7 进阶阅读材料

2.8 讨论题

第3章 软件工程设计及组件

3.1 基本概念

3.2 软件组件的冲击

3.3 使用及围绕组件进行设计

3.4 小结

3.5 讨论题

第4章 需求和组件

4.1 基本概念

4.2 传统的需求工程

4.3 基于组件的需求工程

4.4 小结

4.5 讨论题

第5章 集成块和黑板

5.1 基本概念

5.2 集成块元模型

5.3 使用黑板为集成块建模

5.4 小结

5.5 讨论题

第6章 模型问题

6.1 基本概念

6.2 玩具模型的角色

6.3 从玩具模型到模型问题

6.4 发现正确的模型问题

6.5 修正和可能情况

6.6 小结

6.7 进阶阅读材料

6.8 讨论题

第7章 管理设计空间

7.1 基本概念

7.2 集成. 黑板. 关系

7.3 集成管理

7.4 组件及集成组合

7.5 知识库结构

7.6 小结

7.7 讨论题

第8章 储备能力

8.1 基本概念

8.2 用集成块手册打包

8.3 自动机

8.4 小结

8.5 讨论题

第9章 多属性效用技术

9.1 基本概念

9.2 使用MAUT评估组件

9.3 小结

9.4 进阶阅读材料

9.5 讨论题

第10章 风险/不匹配

10.1 基本概念

10.2 特征及修正分析

10.3 组件选择

10.4 选择风险/不匹配的原因

10.5 使用风险/不匹配的经验

10.6 小结

10.7 进阶阅读材料

10.8 讨论题

第11章 黑箱技术的可视性

11.1 基本概念

11.2 可视性的时机

11.3 探测

11.4 监听

11.5 哄骗

11.6 静态程序分析

11.7 小结

11.8 讨论题

第II部分 案例研究

第12章 DIRS案例研究

12.1 DIRS复杂性的原因

12.2 错误的开始

12.3 重新分组:Deep Web方法

12.4 DeepWeb的含义

12.5 承诺

12.6 欺骗性的简单

12.7 小结

12.8 进阶阅读材料

12.9 讨论题

第13章 Applet集成块:开盘

13.1 所处位置

13.2 风险分析

13.3 模型问题

13.4 模型解决方案

13.5 评估

13.6 小结

13.7 讨论题

第14章 公共密钥基础构架

14.1 基本概念

14.2 认可

14.3 机密性

14.4 完整性

14.5 小结

14.6 进阶阅读材料

14.7 讨论题

第15章 证书历程

15.1 所处位置

15.2 探索证书空间

15.3 维持公共密钥基础构架

15.4 评估

15.5 小结

15.6 讨论题

第16章 Applet集成块:中盘

16.1 所处位置

16.2 修正分析

16.3 风险分析

16.4 小结

16.5 讨论题

第17章 安全的applet集成块

17.1 所处位置

17.2 模型问题

17.3 模型解决方案

17.4 进阶阅读材料

17.5 小结

17.6 讨论题

第18章 配置模型问题

18.1 所处位置

18.2 模型问题

18.3 模型解决方案

18.4 评估

18.5 小结

18.6 讨论题

第19章 Sorbet:一个定制的组件

19.1 所处位置

19.2 模型问题

19.3 模型解决方案

19.4 评估

19.5 小结

19.6 讨论题

第20章 硬件组件

20.1 所处位置

20.2 风险分析

20.3 考察保密性模型问题

20.4 实现认证模型问题

20.5 修正分析

20.6 小结

20.7 讨论题

第21章 黑箱内部

21.1 所处位置

21.2 模型问题

21.3 模型解决方案

21.4 评估

21.5 小结

21.6 讨论题

第22章 Applet集成块:最后阶段

22.1 所处位置

22.2 修正分析

22.3 风险分析

22.4 小结

22.5 讨论题

第23章 安全applet集成块

23.1 模型问题

23.2 模型解决方案

23.3 评估

23.4 小结

23.5 讨论题

第24章 结论及回顾

24.1 多属性评估

24.2 结论

24.3 回顾

24.4 小结

24.5 讨论题

第III部分 展望

第25章 开始实施

25.1 建立能力中心

25.2 定义基础构架

25.3 建立企业设计手册

25.4 确定设计人员和总工程师

25.5 小结

第26章 未来的发展

26.1 程序员无须更聪明

26.2 技术发展超过程序员的能力

26.3 产生组件标准

26.4 组件标准的扩展及合并

26.5 产生应用于特定环境的组件框架

26.6 出现组件产品线而不是商品组件

26.7 软件工业的责任将导致组件认证

26.8 系统集成变得可预测

26.9 推理系统自动进行系统集成

26.10 产生联合虚拟组件库

26.11 产生独立于标准的组件

26.12 无须编码的软件系统集成

26.13 长远的未来

参考文献

缩略词表

索引