总 序

                                                 
                                                            周伯生
 
美国卡内基•梅降大学软件工程研究所(CMU/SEI)是炎国联邦政府资助构建的研究 单位,由美国国防部主管。他们确认,为了保证软件开发工作的成功.由软件幵发人员、 软件采办人员和软件用户组成的集成化团队必须具有必要的软件工程知识和技能,以保证 能按时向用户交付正确的软件。所谓“正确的”就是指在功能、性能和成本几个方而都能 满足用户耍求且无缺陷:所谓“无缺陷”就是指在编码后对软件系统进行了彻底的穷举测 试修复了所有的缺陷,或保证所编写的代码本身不存在缺陷,
 
CMU/SEI为了达到这个目的,提出了创造、应用和推广的战略。这里的“创造”是指 与软件工程研究社团起,共同创造新的实践或改进原有的实践.而不喂守成规。这里的 “应用”是指与线开发人员共同工作,以应用、改进和确认这些新的或改进的实践.强 调理论联系实际。这里的“推广”是指与整个社团起,共同鼓励和支持这些经过验证和 确认的、新的或改进的实践在世界范围内的应用,通过实践进行进•步的检验和提高。如 此循环,往®无穷。
 
他们把所获得的成就归纳为两个主要领域。一个是倡导软件工程管理的实践,使软件 组织在采办、构造和改进软件系统时,具有预测的能力与控制质量、进度、成本、开发周 期和生产效率的能力。另一个是改进软件工程技术的实践.使软件工程师具有分析、预测 和控制软件系统属性的能力,其中包括在采办、构建和改进软件系统时.能进行恰当的权 衡,作出确的判断和决策。CMU/SEI通过出版软件工程丛书,总结他们的研究成果和实 践经验,足推广这两个领域经验的東大举措。
 
卡内妯•梅降人学软件工程从书由CMU/SEI和Addison-Wesley公司丼同绀织出版, 共分4个部分:计算机和网络安全(已出版了 2本著作),工程实践(己出版了 8木著作), 过程改进和过程管理(已出版了 1丨本著作),团队软件过程和个体软件过程(巳出版了 3 本著作)。前两者•域软件工程技术实践,后两者属于软件工程符理实践。H前这4个部 分共出版了 24本著作,以向软件工程卖践人员和学生方便地提供最新的软件T.程信息。 这些著怍凝聚了全世界软件丁程界上百位开拓者和成千上万实践者的创造性劳动.蘊含了 大量的宝货经验和沉痛教训.很值得我们学习。
 
淸华大学出版社邀谘我和郑人杰教授共同组织艮内猫•梅降大学软件工程丛书编委 会。淸华社计划首先影印6本著作,翻译出版15本著作。据稅所知.在Addison-Wesley 公司出版的SE丨软件工程丛书中,人民邮电出版社己经翻译出版了《个体软件过程》和《团队软件过程》,还拟影印出版《个体软件过程》和《软件工程规范》:电子工业出版社已经 翮译出版了《净室软件工程的技术与过程》、《能力成熟度模型CMM 1.1指南》、《能力成 熟度模型集成CMMI》和《软件项目管理》北京航空航天大学出版社己经翻译出版了《统 计过程控制这些出版社共计影印2本著作,翻译出版7本著作。这样,可以预期我国 在今年年底共可影印8本著作,翮译出版22本著作。各个出版社的有远见的辛勤劳动, 为我们创造了 “引进、消化、吸收、创新”的机遇。我们应该结合各自的实践,认真学习 国外的先进经验,以大大提岛我国软件工程的理论和实践水平。
 
在这套丛书中,特别值得一提的是,在过程工程领域被誉为软件过程之父的Humphrey 先生所撰写的《软件过程管理》、《技术人员管理》、《软件工程规范》、《个体软件过程》、《团 队软件过程》和《软件制胜之道》等6本著作,将于今年年内全部翻译出版,其中《软件 过程锌理》、《技术人员管理》、《软件工程规范》、《个体软件过程》和《软件制胜之道》等 5本著作亦已经或将于今年年内影印出版。
 
《软件过程管理》是软件过程领域的开创性著作,是为软件公司经理和软件项目经理 撰写的。用这本书提出的原理来指导软件开发,可以有效地按照预定进度得到高质量的软 件,同时还可了解如何持续进行过程改进。美国CMU/SEI按照这本书提出的原理开发了 能力成熟度模型,在国际上得到绝大多数国家的认可和广泛采用,是改进软件过程能力的 有力武器。在信息技术迅速发展和企业激烈竞争的今天,能否持续改进过程往往决定企业 的命运。
 
作为一个软件经理,在改进组织的能力之前.首先必须明确绝大多数软件问题是由管 理不善所引起的。因此.要改进组织的性能,首先需要改进自己的管理模式。同时还要认 识到软件开发开发是一项智力劳动,需要拥有掌握高技能和忘我工作的技术人员。因此,有效 的软件管理需要充分注意技术人员的管理。
 
《技术人员管埋》这本著作就是为达到这个目的而撰写的。高质的技术工作要求没 有差错,这就耍求人们高度专心和高度献身。因此要求人们对他所从事的工作不仅具有高 度的责任感.而且具有浓厚的兴趣和高度的热忱。在当前知识经济群龙相争的今天.一个 能激励人们进行创造性工作的领导群体,是众多竞争因素中最重要的因素。本书提供了大 量的实用指南,可用来有效地改进工程人员、经理和组织的性能。
 
Humphrey先生还认为这本书特别适合于在我国工作的软件经现。我丨闻是•个人口大 PI.拥夼大避能干的知识分子.而且信息领域的劳动力价格比国际市场的价格耍低,因此 吸引了许多国家到我国来投资。但若不提高人员的素质.不在产品质傲和进度方面也狠卜 功夫,就不能在这方面持续保持优势。
 
《软件工程规范》是为编程人员撰写的。它精辟地阐述了个体软件过程(PSP)的基 本原理,详尽地描述了人们如何来控制自己的工作,如何与管理方协商各项安排。在软件 工程界,这本著作被畨为是软件工程由定性进入定量的标志。目前在世界范围内,有成千 上万的软件T.程技术人员£在接受有关PSP的培训,以便iE确地进循PSP的实践、开发和管理工作计划•在他们承诺的进度范围内,交付高质量的产品。
 
《软件制胜之道》这本著作描述了团队软件过程的基本原理.详尽地阐述了在软件组 织中如何应用PSP和TSP的原理以及它所能带来的效益。此外,虽然CMM同样适用于小 型组织,但在其他著作中都没有描述如何应用CMM于个体或小型闭队,这本书填补了这 个空白•应该指出,如果一个组织正在按照CMM改进过程.则PSP和TSP是和CMM完 全相容的。如果一个组织还没有按照CMM改进过程,则有关PSP和TSP的训练,可以为 未来的CMM实践奠定坚实的基础。
 
在软件工程技术实践方面目前共出版了 10本著作,其中《用商业组件构建系统》、《软 件构架实践》和《软件构架评估——方法和案例研究》等3本著作详尽地阐述了软件构架 的构建、实践和评估。鉴于是否有一个稳定的软件构架,对软件的质用:和成本影响很大, 因此如何获得.个良好的构架就成为当今软件界研究的電点。我相信这几本著作的出版, 将对我国软件构架领域的研究与实践有重要的参考价值。此外,众所周知,计算机U网络 的安全问题对信息系统的可靠使用关系极大,《CERT安全指南》的出版将会对我国在这一 领域的研究和实践起积极的促进作用。《风险管理——软件系统开发方法》、《软件采办管 理——开放系统和COTS产品》、《项目管理原埋》、《软件产品线实践与模式》和《系统工 程^基于信息的设计方法》等5本著作,分别从风险管理、软件采办、项目符理、软件 产品线以及信息系统设计方法等几个方面阐述了大型、复杂软件系统的丌发问题,是有关 发展软件产业的®要领域,很值得我国软件产业界借鉴。
 
目前我们所处的时代是信息化时代,是人类进入能够综合利用物质、能量和信息三种 资源的时代。千百年来以传统的物质产品的生产、流通、消费为基本特征的物质型经济, 将逐步进入以信息产品的生产、流通、利用和消费为基本特征的知W型经济。在这个历史 任务中.建造和广泛应用各类计算机应用系统是其公共特征。计算机软件是计算机应用系 统的灵魂.没有先进的软件产业,不可能有先进的信息产业,从而也不可能建成现代化的 知识型经济。
 
我们应该看到,在软件领域中我国在总体上离世界先进水平还有相当大的差距。但是, 我们不能跟随他国的脚印,走他人的老路。我们应该抓住机遇,直接针对未来的1=1标,在 软件工程技术和软件工程管理两个方面,注意研究卡内装•梅降大学软件丄程丛书中侣导 的原理和方法,联系实际,认真实践,并充分利用我国丰富优秀的人力资源和驊取教肖的 优良传统.大力培养各个层次的高质量的软件工程人员,使其具有开发各类大型、S杂软 件系统的能力。我衷心地预祝清华大学出版社影印和翻译出版这套从书,在把我国建设成 为一个真正现代化的软件产业大国的历史任务中起到推波助澜的作用.并请读者在阅读这 呰译著时.对这袞丛书的选题、译文和编排等方面都提出批评和建议。
 
周伯生 于北京 2002年8月18曰
 
                                                            前 言
软件构架是软件业的一个重要研究领域,正受到越来越多的关注,其:地位也日益明显 地体现出来。但就我们所知.无论是从技术角度还是从管现角度,因前针对实际软件开发 组织的、有关如何实现软件构架的实用指导文献还十分缺乏。我们认为,目前很少有关于 如何把软件构架和行业或组织的实际情况结合起来的探讨。本书就是雒T•这样-种认识而 编写的。
 
在设计和分析大型而复杂的软件密集型系统过程中,我们认识到软件行业和幵发组织 对这些系统的设计及其最终成败所起的作用。构建系统的目的是为了满足组织的需求(或 者在銮装产品中的假设需求).这些需求决定了系统的性能、可用性、安全性、与其他系 统的兼容性以及在生命期内适应变化的能力。系统的这些属性都是受软件构架制约的,或 者说.上述厲性的实现影响着软件设计师的设计选择。
 
本书通过对一些真实系统的案例分析,阐述了如何把软件构架与行业或组织的实际情 况相结合的问题。这些实例包括如下内容:
 
• 在最小程度的集中控制下.在本组织范围内快速、方便地共李文档的设想如何最 终转化为万维网的软件构架。
 
•在空中交通管制中,对安全性的极高需求如何使公司为了获得极尚可用性而围绕 着.个构架构建系统。
 
•分敗在各地的不同幵发人员开发的飞行模拟器子系统如何连接成•个构架,以便 于各子系统的集成。
 
•为满足产品同时交付的需求而促使(或者说迫使)公冏采)丨〗某个适当的构架’从 而使该公司能够将.组复杂的相关软件系统构建为一个产品线■,
 
•在组织间和团体内标准化构架方法的需要导致了渚如J2EE和EJB这样的基础 结构。
 
上述及其他一些案例分析向读者展示了如何根据组织和其业务模型的需求、设计师的 经验或主流设计方式来构建合适的软件构架。
 
另外,我们也讨论了软件构架本身对上述诸因素的影响。-个或•组成功的产品能够 影响其他产品的开发方式,对万维网软件构架的案例分析无疑就是个很好的例子。在该系统诞生之前,考虑网络需求的软件很少,当时很少考虑数据的可访问性,只有少数儿家 组织(一般是金融组织或政府部门)考虑安全M题。
 
本书的读者对象是软件专业人员——即设计和实现大型的软件密集型系统的人员、软 件专业人员的管理者和希望成为软件专业人员的学生。
 
作为一种开发产品,软件构架在质量、进度和成本方面具有极高的投资回报。这是因 为软件构架出现于产品生命期的初期阶段,合理的构架为系统生命期的其他阶段一开发、 集成、测试和更改——奠定了良好的骓础。相反.如果构架选择不当,就意味着系统的整 体结构釘误.而且无法通过细小的修补或删除某些部分得到更正,即经常会导致全部拆解 重建。另外,与其他的开发活动相比,构架分析的投入较低。由于在构架方面所做的决策 对以后阶段的开发有着重大影响.并且对构架的检资和修正的代价相对较低.因此,软件 构架能够实现极大的投资回报。
 
另外,我们认为可重用的组件只有在良好的构架不才会发挥应有的作用。组件也并非 是惟一能够重用的部分。构架的重用有利十相类似的系列产品的幵发,而这反过来又将导 致新的组织结构和新的商机《
 
本书用大量篇幅讲述了些用于解决组织实际问题的具体构架。精选这些案例旨在说 明设计师必须根据具体的质量目标做出各种选择,以及组织的目标对最终系统的影响。
 
除了上述案例分析外,本书还讲述了软件构架设计、构建和评价方面的若干技巧。我 们从理解对构架的实际质量要求和构建满足这些要求的构架的角度来阐述这些技巧。我们 把构架表示和重构技术视为描述和验证软件构架的手段。我们从分析和评价某个构架与其 目标的符合程度来讨论这些技巧。书中所有技巧都来自我们自ci和在SEI工作的同事分析 各种软件系统的经验。我们分析的•些系统长达数西万行代码,是由大型软件开发商历经 数年开发出来的。
 
尽管关于商业问题的讨论贯穿全书(如软件构架会如何影响组织的市场竞争力、一个 产品家族的构架将如何影响产品上市时间),我们并没有深入讨论企业经营的问题.也没 有使用企业经营方面的专业术语。毕竟,我们是软件工程师。相比之下.关于技术的讨论 要深入得多。这些技术方面的内容代表了软件构架研究的现状——即当前该领域研究与实 践相结合的程度,这也是全书的理论基础。书中的案例分析进一步阐明了这些基础,并向 读杏展示了如何将这些理论知识应用于实践。为了更好地理解案例分析所说明的经验教 训,您需要具备计算机科学、软件工程和相关学科的一些背景知识。但进,我们在撰%这 些案例时也做了定的处理.使得读者无需过多了解相关领域的专业知识就可理解这些案 例。例如,理解空中交通管制系统或飞行模拟案例分析都不要求具缶K行员的专业知识。
 
本书新増内容
本书第2版与第1版的目的相同,但自第1版问世以来,软件业已经有了新的发展, 对软件构架的取要基础也有了新的理解。为了说明这些变化,本书对新的案例进行了分析, 添加了新帘节.并对某呰草节进行了深入分析。此外,第1版问世后,我们共同编写的其 他儿本书对第2版产生了很大影响,它们分别是《软件构架编档》、《软件构架评估——方 法和案例研究》和《软件产品线实践与模式》。这几本书和其他技术及研究活动对本书的 编写产生了很大影响。自第1版推出后,构架分析、设计、重构和编档都宵了很大发展, 本书就反映了这一变化。
 
构架分析已经发展成为一个成熟的领域,已经出现了 一些主要的构架分析方法,所以 我们在第3部分增加了一章,对ATAM (构架权衡分析方法)进行了阐述。软件业的许多 组织都把ATAM作为评估软件构架的方法。
 
第I版问世后,构架设计也有了很大发展。质童需求的获取、其通过小规模和大规模 构架方法的实现(分别为战术和模式)以及反映如何实现它们的知识的设计方法都在各章 进行了讨论。本书增加了理解质量属性、实现质量属性和ADDM (属性驱动设计方法〉 3章。
 
要获取未编裆的构架,构架重构(或反向工程)是一个基本的活动。可以把构架重构 作为设计项目或分析项目的一部分,或者在决定把什么作为重构系统的基础时.将其作为 考虑因素。在第1版中,我们简要提及了工具集(Dali)及其在再工程环境中的使用,在 第2版,即本书中,我们对其进行了详细深入的介绍。
 
软件构架编档逛在近期发展得非常成熟的另一个主题。在推出第1版时,统一建模语 言(UML)还只处于初期发展阶段,现在,它已有了很大发展.本书提供了大景反映此发 展的新阁表。更li要的是,已经形成了对要捕获的构架信息种类的理解,而不仅仅是使用 哪种农示法。本书用•章的内容对构架编档进行了阐述。
 
在软件产品线一章中,我们对能够使组织采用一个构架有效开发各种系统的软件构架 应用进行了概述。考虑到产品线(基于一个软件构架)能够使组织在成本' 质量和上市时 间上实现数傲级的改进,本章阐述了构架和组织的业务目标之间的关系。
 
在目前的经济环境下,除了构架自身的发展,构建分布式和基于Web系统的技术也变 得非常重要-我们更新了关于万维网那一章的内容来反映这种趋势,这是通过以下方式来 实现的:在ATAM和用组件构建系统这两章中,使用了基于Web的示例;用Enterprise JavaBeans (EJB)代替了关于公共对象请求代理(CORBA)的案例分析:介绍了一个无线 EJB系统的案例分析,该系统设计用于支持面向维护技师的可佩載计算机。
 
最后,我们增加了一章对构架的财务方面进行了更深入的论述。在本章中,我们介绍
 
了 CBAM (成本收益分析方法)。在制定构架决策时,除了考虑以前讨论的技术准则外, 我们还耍使用此方法考虑经济准则。
 
与第1版相同,本书的主题仍然是构架商业周期(ABC)。所有的案例分析均根椐推 动系统设计的质量目标以及系统的构架如何实现这些目标来进行描述。
 
编写第2版时,我们非常淸楚本书的主要读者仍然是专业人员,因此,本书歌点仍然 集中r-我们认为适用于许多行业,并期望将来可应用的内容上。
 
我们希铝您像我们乐于编写这本书一样,喜欢阅读本书。
 
部分和章节
本书大致从构架商业周期的角度.分为4部分讲述了构架如何适合企业的需耍。
 
•预想构架:第丨〜3章 
•创建构架:第4〜10章 
•分析构架:第11〜13章 
•从一个系统到多个系统:第14〜19章
 
第3, 6. 8. 13,15, 16和17章提供了案例分析,在各章的标题中都已明确标出。 下而,我们对各章及各部分所讲述的内容进行概要介绍。
 
第1部分:预想构架
 
第1章-构架商业周期 贯穿全书的主题是“构架不是单独存在的,而是某个周期的一部分”。构架是实现某个目的的乎段,它受到客户和开发组织的功能及质量目标的彫响。 构架也受到设计师的素质和经验及技术环境的影响。反过来.构架也影响着所要开发的系 统,它可能是影响开发组织的•种潜在核心资产。系统对开发组织、构架和潜在的技术环 境也都有影响-这影响着系统及其开发组织未来的目标。围绕着构架的这些影响和反馈循 环构成构架商业周期(Architecture Business Cycle, ABC).
 
第2章-什么是软件构架 构架是对系统结构的一种描述„这里所说的系统结构有多 种类型(模块分解、进程、部署和分层等)。构架是能够用以分析的第一个制品,并能据 此确定系统质量属性的实现程度,可以用作项目的蓝图。构架是用于交流的工其,是早期 设计决策的表现,是可以传递到新系统中的可重用的抽象。这就是“构架”这术语所表 达的意义。
 
第3章-A-7E案例分析:各种构架结构的运用   A-7E航空电子系统项目的开发特别重
 
视3种不同构架结构的设计和规范,以实现开发工作的简单性和系统对未来更改的适应性。 本章讲述了这些结构的设计及文捫编制的方法和原因。
 
第II部分:创建构架
第4章-理解质量属性   每个构架都要实现特定的软件质量属性。本章讨论了软件的 各种质量属性及其含义。通过描述应用到系统中的刺激来观察其质量属性,并在证明这些质量属性时,以可度量、可观察的方式描述系统的响应,从而提供了 -个用构架来理解质 最属性的方法。
 
第5章-实现质量厲性 明确了系统所要实现的质量属性之后,需要考虑的问题就是 设计构架以实现这些质量属性。本章描述了用以实现运行时间和开发时间质最属性的许多 技巧.主要的机制是战术.这是影响质量厲性控制的设计决策。可以把战术分为构架策略和构架模式。
 
第6章-空中交通管制系统:高可用性设计案例分析为空中交通管制设计的系统需
 
要具有极髙的可用性。这一目标激发了大量的构架决策,本章将对这些决策进行讨论。此 外,该案例分析强调了构架结构和视图(第2章讨论)以及构架战术(第5章讨论)之间 的相互影响,并展示了它们如何协同实现这些质量厲性。
 
第7章-设计构架 手头有了基本工具后(表示质量厲性的构架视图和结构,实现这 些质量属性的战术和模式),就为创建构架做好了准备。本章将从系统整个生命期的角度 来讨论构架的作用。它为产生可以求精和演化的早期构架提供了一个设计方法。有了构架 的骨架后,就可以使用它组建项目团队,并创建一个骨架系统作为增强式开发的基础。
 
第8章-飞行模拟:构架可集成性案例分析本章描述了一个飞行模拟系统的构架。
该案例向我们展示了在复杂领域内充分关注软件构架可以支持一组满足其苛刻的功能和 逼真性要求,能够被各个软件工程师理解,容易集成,并能够经受住F游更改的大型系统 的构造。
 
第9章-构架编档  涉众能够理解,并且能通过它进行交流的构架才是好的构架。本 章讲述了一个软件构架编档方法。构架编档就是记录相关视图,然后记录在视图中应用的 信息.。本章为视阐、视图间的信息和软件接口提供了模板„
 
第10章-软件构架重构  假定我们有一个系统,但不知道其构架。可能根本就没有记 录下其构架,或者记录后弄丢了,或者由于不断的发展演变,系统偏离了其构架。如何维 护这样的•个系统?如何管理系统演变,以维持其构架为我们提供的质量属性?构架重构就是根据现有的系统构造出已实现系统的构架的过程。本章提供了构架重构的方法及其应 用示例。
 
第III部分:分析构架
 
第11章-ATAM: —种进行构架评估的综合方法  构架权衡分析方法是根据具体的行为和质量属性需求来评估构架决策的一种方法。本章讲述了 ATAM,并对一个用ATAM进 行评估的综合性示例进行了分析。
 
第12章-CBAM:  构架设计决策制定的定量方法  软件设计师或项目决策人希望在实 现设计时投入最少的费用,同时又能从系统中获得最大的冋报。成本收益分析方法 (CBAM )以构架分析为中心,解决了制定这种决策的需要。CBAM建立于ATAM之上, 对构架设计决策的成本和收益进行了建模,并提供了个优化此类决策的手段,本章讲述 了 CBAM和应用CBAM的案例„
 
第13章-万维网:可互操作性案例分析   万维网起源于某个组织想使其研究人员相互 交流信息的撤盟,现在的力维网早就超越了最初的设计料标。本章讨论了 Web基础软件的 构架、该构架如何改变以适应Web的发展、Web的发展反过来又怎样给使用它的组织带来 极大的影响等内容。
 
第IV部分:从一个系统到多个系统
 
第14章-软件产品线:重用构架资产  软件构架的一个最强大的应用就是使用它作为 软件产品线的基础。本章讲述了开发软件产品线的基础知识,突出强调了构架是实现生产 率、上市时间、质量和成本的重大改进的关键。本章详细探讨了几个软件工程的开发和管理活动.在产品线环境中,这些活动具有一个特殊的维度。
 
第15章-CelsiusTech公司:产品线开发案例分析CdsiusTech一家成功地实现了 基于构架的产品线的公司。本窣描述了产品线的构架,并说明了为什么该构架对 CdsiusTech的成功非常关键。如果不采用该方法,就不能构建这些系统——因为没有足够 的人员。产品线方法使组织的结构以及运作方式产生了-系列变化。
 
第16章-J2EE/EJB: 工业标准计算基础结构的案例分析   本章概述了 Sun Microsystems的Java 2 Enterprise Edition (J2EE)构架规范,以及该规范的重要组成部分 Enterprise JavaBeans (EJB)构架规范。J2EE规范对应该如何设计和开发用Java编写的分 布式面向对象程序进行了标准的描述。本章分析了导致创建此类用于构建分布式系统的工 业标准构架的商业驱动因素,并展水了 J2EE/EJB构架如何满足此类黹耍。
 
第17章-Luther构架:使用J2EE的移动应用案例分析  设计Luther构架是为了提供一个通用的框架,以在大型工具或工业基础设施的维护或操作领域提供定制的解决方案。 它基于J2EE,因此.本章是对在第16章讨论的通用J2EE/EJB框架的应用。在该案例中, 最终用户所处的是通过无线网络进行连接的环境.并且有一个具有有限输入、输出能力和有限计算能力的设备。
 
第18章-用商业组件构建系统  现在,构建的系统正在采用越來越多的商业组件„因 为组件会限制构架,因此使用此类组件改变了设计过程。通常选择组件来实现某些功能, 但它们也包含了构架(也就是质量)假定。本章描述了一个轻量级的过程,来指导设计师 选择能够协同工作的组件。本章讲述了一个应用到最近进行试验的系统中的过程证明。
 
第19章-未来的软件构架  本章再度审视构架商业周期.指出了与软件构架相关的有 待进一步解决的问题.并讨论了为什么要进行更多的研究。
 
案例分析的组织
 
不同的读析想从本书中“挖掘”出不同的信息.因此大多数人都想用不同的详略程度 阅读此书。为满足这-需要.我们把各个案例分析_绕如下内容以一种致的方式组织 起来:
 
•    案例分析的简要介绍,所解决的问题.它说明了软件构架的哪鶴方面等。
 
•    阐述本案例中的构架商业周期是如何实现(或部分实现)的。
 
•    推动这一设计的需求和质量属性 。
 
•    构架解决方案:详细i讨论构架解决方案,这是许多案例分析的主要内容。
 
•    对本^所讲歌要问题的小结。
构架解决方案部分包括了案例分析的大部分细节内容。如果读者仅对技术、商业环境 和构架方法的高级描述感兴趣,可以通过阅读简要介绍、需求和质量厲性目鉍以及小结等 部分来了解案例分析的主要内容。如果想深入研究,则可阅读构架解决方案部分。
 
贯穿本书的主线
 
构架商业周期是本书的主题,但除此之外还有其他一些主线。对构架的某-方面特別 感兴趣的读者可能希望将精力放在涉及以下一个或多个主线的章节上:
 
•构架的來源——第1,2, 4, 7, 11, 12章。
 
•商业问题——第 1, 4, 7, 11, 12, 14. 15, 18 章。
 
•如何通过构架实现质量厲性——第4, 5, 11, 12章和案例分析„
 
•通过构架实现质最属性的案例分析——第3, 6, 8, 13, 15. 16, 17章。
 
•作为可重用资产的构架——第14, 15, 16, 17, 18章。
 
•基于组件的系统和商业基础结构——第13, 16, 17,丨8章。
 
•实时系统的构架——第3.,5,6, 8,15章。
 
•信息系统的构架——第13,16,17,18章。
引 文
 
在本书的多个章节中都插入了简短的引文。其中有的有作者的署名.可以很容易与其 他内容冈分开。荇的则介绍了更多的背顼知识,或引入了正文中未曾表述的观点。
 
 
 
 
posted @ 2019-12-04 21:54  mongotea  阅读(486)  评论(0编辑  收藏  举报