第10章

公司还采取积极姿ู态,提高其在更加先进的公司软件系统方面的市场份

公司还采取积极姿态,提高其在更加先进的公司软件系统方面的市场份

力的测试员更多的帮助和培训,而不是解雇他们。然而奥尔森认识到เ测

力的测试员更多的帮助和培训,而不是解雇他们。然而奥尔森认识到测

者:其一,你的技术才能应当过你的同事或将要成为你手下的那ว批

者:其一,你的技术才能应当过你的同事或将要成为你手下的那批

.....

.....

产品结构是产品内部的基干,它规定了重要的结构构件以及这些构件如

何组装到一起。产品结构及用于组装结构的构件,了实现产品特性即

做详细设计与编码的支柱。产品的结构对最终用户而言通常并非直接可见;

只有结构要实现的特性是可见的。产品结构也๣是决定产品长期结构完整性的

基石。产品功能ม的任何改变都不应造成潜在的产品结构散架。

微软倾向于使它的产品结构非常灵活,以利于渐进性的添加、删ฤ除、完

善或集成产品特性。好的产品结构减少组与组之ใ间,包括微软内外开员之

间的内部依赖性。比尔·盖茨在我们的采访中强调了这一点:

如果有1้00人卷入了9indo9snt的开,那么เ实际上是有10000

人卷入了,因为所有在公司外写nt软件的人,以及那ว些写实用程序和

用户界面程序的人,都在工作。于是有一系列关于内部互相依赖的工作

怎样进行的问题。好的结构甚至能减少开组内部的依赖性。

如果有1้00่人卷入了9indo9snt的开,那么实际上是有100่00่

人卷入了,因为所有在公司外写nt软件的人,以及那ว些写实用程序和

用户界面程序的人,都在工作。于是有一系列关于内部互相依赖的工作

怎样进行的问题。好的结构甚至能减少开组内部的依赖性。

我们也能从“层”以及层之ใ间接口的角度来描述一个结构。低层为结构

中的下一更高的水平层一系列的功能ม与能力。软件公司通常把最低层叫

做系统“内核”;最高层功能与能力——即最终用户看到并使用的特性。

有时最高层下面的功能和能ม力也能被最终用户看到เ。做一个粗略๓的类比,层

化结构就像一个洋葱。一个洋葱有一个ฐ内核或核心,它有许多环绕核心

的相连的层,但顾ุ客只能看到最外层。创造和规定功能ม层之间的完全抽象的

接口有助于把产品的功能与下面的细节隔离开。这些细节包括对特定硬件平

台,如ma9do9s的pc的依赖性。

在软件结构中ณ,主ว要的规定性概ฐ念是对每层间接口的定义แ。第3章把这

称做应用程序编程接口api。api规定了结构中一层的公开进入点,这

使得处于高层的产品部ຖ分对其调用成为可能。产品层由á上千的“子程序”或

计算机代码指令集组成;开员通常只让其中的少数能ม为ฦ程序的其他部分运

用或调用。典型地,当一个ฐ项ำ目把产品分成许多部分让不同的小组去开时,

他们同意每个小组去定义แ应给其他组什么เ类型的功能与能力。这些定义

通常以aທpi的形式给出,它可能ม是关于过程名、每个过程应接受哪些参数以

及对每个过程应干什么做简要描述的清单。定义แ良好的结构层与aທpi,有助

于对产品特性进行灵活的增加、删除与改进。

excນel的结构通过使用通用层获得可移植性

excel结构中的每一层都有一个应用程序编程接口,它定义แ了本层的功

能ม与能力。对不同操作系统平台上使用的不同版本的excel,前四层aທpi是

一样的。excel最底层的api随基本平台如ma9do9s,os2或

9indo9snt的不同而不同,但由于微软对通用可移植层使用了与平台无关的

api,excel代码的外壳便与这些差ๆ异隔离开了。

excນel产品结构展现了水平产品结构层的概ฐ念。在这儿,我们从高到低

列出excel的五个ฐ结构层:

·公式与公式操作。

·格式表创建格式或展示数据的方แ法均经过良好定义แ。

·单元格数据放入单元格,单元格计数等方法均经过良好定义。

·通用的可移植层专用于excel的小型“操作系统”或核心。

·操作系统诸如9๗indo9๗s31้,9indo9s95,ma9tosh或os2。

excel的通用可移植层是产品结构的一个重要技术策略。这大大方แ便了