13. •抽象层次形成了系统产品的结构。举例来说,软件体系结构文档为每个视图专设了一个小节。
•抽象层次提供从要求到设计再到实现的直接可跟踪能力。可跟踪能力使小组能够在评测更改请求时执行
精确的影响评估。
•在使用同一框架开发几个系统之后,会在每个抽象层次形成模式。单位可以编录这些模式和每个抽象层
次内的其他最佳实践。这个最佳实践的目录会作为过程改进计划的基础。
返回页首
小结
为了处理复杂性,所有工程学科都应用正式抽象层次。软件也不例外。为了实现抽象层次的优点,项目必
须:
•正式标识层次,每个层次都有定义完善的范围。
•将一个层次内的复杂性分开到多个视图。
•在层次间保持一致性。
通过一个简单的示例,本文演示了如何应用抽象层次,然后将该方法扩展到支持企业 IT 解决方案。它提
供了一个 RUP 配置框架,该框架将系统产品组织到定义完善的抽象层次。
返回页首
自我评估
•您当前的项目是否应用了抽象层次?
•层次是否定义完善?
•项目团队是否很好地理解了这些层次?
•如果复杂性在一个层次中变得过大,团队是否将其分离到视图中呢?
•团队是否在层次间保持一致性?
•您的项目会从抽象层次中获益吗?
伟大的架构师本能地遵循这些原则。我们其余的人就必须有意识地应用抽象层次,并运用规则在整个项目
生命周期中保持这些层次。
资源
Cockburn, Alistair. Writing Effective Use Cases. New Jersey: Addison-Wesley, 2001
Kroll, Per and Kruchten, Philippe. The Rational Unified Process Made Easy: A Practitioner's
Guide to the RUP. Boston MA: Pearson Education and Addison-Wesley, 2003
DeMarco, Tom and Plauger, P J Structured Analysis and System Specification. Prentice Hall
PTR, 1979
要获得 DoD 标准 2167A 的联机副本,请访问 http://www2.umassd.edu/SWPI/DOD/MIL-STD-2
167A/DOD2167A.html。
脚注
1 很多人已经成功地将抽象层次应用于软件。Ed Yourdon 和 Tom DeMarco 在 1979 年提出了结构化
分析和结构化系统设计的概念。美国政府的许多分支机构标准化了 DoD 的 2167A 标准,它要求系统由
有层次的硬件和软件配置项组成。DBA 社区经常应用细节层次为关系数据库建模。特别地,Bachman
工具集和 James Martin 的信息工程方法学 (Information Engineering Methodology,IEM) 先为数
- 13 -
14. 据库逻辑建模,然后再为其物理建模。在 Google 上键入“software levels of abstraction”进行搜索会
返回若干个结果,但其中大多数来自于学术社区,而且其内容看起来集中在正式计算机语言方面。
关于作者
Don Awalt 是 RDA Corporation 的创始人和 CEO,该公司是一家自定义软件工程公司,成立于 1988
年,在华盛顿特区、巴尔的摩、亚特兰大、费城和芝加哥都设有办事处。作为微软认证金牌伙伴 (Micro
soft Gold Certified Partner),该公司专注于使用 .NET Framework 开发企业 Web 和富客户端系
统。Don 目前是 Microsoft 华盛顿特区的区域总监,他以前曾经担任费城首任区域总监。Don 经常在行
业活动中演讲,这些活动包括 Tech Ed、Developer Days、MSDN 活动和各种 SQL Server 及 Wind
ows 活动。他是 SQL Server Magazine 和 PC Tech Journal Magazine 的特约编辑,并且也为其它
出版物撰写稿件。Don 所擅长的技术领域包括 Web 服务、SQL Server、现代编程语言的发展,以及在
Microsoft 的 Prescriptive Architecture Group (PAG) 中可以看到的许多体系结构和处理工作。可以
通过 AWALT@rdacorp.com 联系到 Don。
Rick McUmber 是 RDA 的质量和最佳实践总监。他为 IBM 和 Rational Software Corporation 一共
工作了 11 年,致力于为美国运输部、国防部、NASA 和加拿大国防部开发系统。从 1994 年以来,他
一直在 RDA 工作,致力于为其客户开发业务解决方案。可以通过 McUmber@rdacorp.com 联系到 Ri
ck。
转到原英文页面
- 14 -