第10章(1 / 4)

加入书签 本章报错

微软的秘密强烈推荐: 重生之无敌仙尊 瀚海雄风 诡数 拒爱张无忌 神龙斩 分手请排队 魅少的俘虏 敢爱大冒险 无赖至尊

员需要有这样的自由á,即能决定如何用实际代码完成特性目标。

地,完整的说明不只起着产品功能ม最新描述的作用,它还是在产品投产与出

excນel和9๗ord的新版本以及其他微软新应用软件如po9erpoint包含

软件消เ费者不能ม切换到其他产品上的技术和心理因素。例如,excນel中ณ含有

在系统软件领域,程序经理显然更技术化一些,因为他们帮助设计某些特性,

力通常不是判ศ断一个人是开员还是程序经理的标准。许多程序经理具备成

人们认识到不管程序是多么地充满想象力或创造力,如果不实用,也只

有限度的他们得编写稳定性很强的代码。可以说,从omega和opus

代前言

迷雾,令世人莫解。人们不禁要问微软是如何创น造技术、开市场、管理人

产品结构是产品内部的基干,它规定了重要的结构构件以及这些构件如

何组装到一起。产品结构及用于组装结构的构件,了实现产品特性即

做详细设计与编码的支柱。产品的结构对最终用户而言通常并非直接可见;

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

基石。产品功能的任何改变都不应造成潜在的产品结构散架。

微软倾向于使它的产品结构非常灵活,以利于渐进性的添加、删除、完

善或集成产品特性。好的产品结构减少组与组之ใ间,包括微软内外开员之

间的内部依赖性。比尔·盖茨在我们的采访中ณ强调了这一点:

如果有100่人卷入了9indo9snt的开,那么เ实际上是有1้000่0

人卷入了,因为所有在公司外写nt软件的人,以及那ว些写实用程序和

用户界面程序的人,都在工作。于是有一系列ต关于内部ຖ互相依赖的工作

怎样进行的问题๤。好的结构甚至能减少开组内部ຖ的依赖性。

如果有10่0人卷入了9๗indo9snt的开,那么实际上是有10000

人卷入了,因为所有在公司外写nt软件的人,以及那些写实用程序和

用户界面程序的人,都在工作。于是有一系列关于内部互相依赖的工作

怎样进行的问题。好的结构甚至能减少开组内部的依赖性。

我们也能从“层”以及层之间接口的角度来描述一个结构。低层为结构

中ณ的下一更高的水平层一系列的功能与能力。软件公司通常把最低层叫

做系统“内核”;最高层功能ม与能力——即最终用户看到เ并使用的特性。

有时最高层下面的功能和能力也能ม被最终用户看到。做一个粗略的类比,层

化结构就像一个ฐ洋葱。一个洋葱有一个内核或核心,它有许多环绕核心

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

接口有助于把产品的功能ม与下面的细节隔离开。这些细节包括对特定硬件平

台,如ma9do9s的pc的依赖性。

在软件结构中,主要的规定性概念是对每层间接口的定义。第3๑章把这

称做应用程序编程接口api。api规定了结构中一层的公开进入点,这

使得处于高层的产品部分对其调用成为可能ม。产品层由上千的“子程序”或

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

用或调用。典型地,当一个项目把产品分成许多部ຖ分让不同的小组去开时,

他们同意每个小组去定义แ应给其他组什么เ类型的功能与能力。这些定义

通常以api的形式给出,它可能是关于过程名、每个过程应接受哪些参数以

及对每个过程应干什么做简要描述的清单。定义แ良好的结构层与api,有助

于对产品特性进行灵活的增加、删除与改进。

excel的结构通过使用通用层获得可移植性

excນel结构中的每一层都有一个应用程序编程接口,它定义了本层的功

能与能力。对不同操作系统平台上使用的不同版本的excel,前四层api是

一样的。excel最底层的aທpi随基本平台如ma9do9s,os2或

9indo9snt的不同而不同,但由于微软对通用可移植层使用了与平台无关的

api,excel代码的外壳便与这些差异隔离开了。

excel产品结构展现了水平产品结构层的概念。在这儿,我们从高到低

列出excel的五个结构层:

·公式与公式操作。

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

·单元格数据放入单元格,单元格计数等方แ法均经过良好定义。

·通用的可移植层专用于excel的小型“操作系统”或核心。

·操作系统诸如9indo9๗s3๑1,9indo9s9๗5,ma9๗tosh或os2。

excel的通用可移植层是产品结构的一个重要技术策略。这大大方便了

在不同硬件和操作系统平台上重复使用应用程序代码的重要部分。在一定意

义上通用的可移植层像一个小型的“操作系统”,可在excນel应用软件的特

性与基本操作系统软件,如9indo9s或os2๐之间专门作为ฦ接口服务。正如乔

恩·德·沃恩所详述的那样:“我们按[通用]层写excel,它是我们的操

作系统版本。我们在ma9do9s,os2上实现了它,现在又在9๗indo9s

nt上实现了它,最后这个工作做起来非常轻松。通用层几乎是9indo9s版的,

刚刚ธ又在9in32上通过了编译。它是一个相当棒的对图形环境概念的实现。

我们利用这个层,在mac和os2上做了excel22。”

nt上实现了它,最后这个工作做起来非常轻松。通用层几乎是9๗indo9s版的,

刚刚又在9in32上通过了编译。它是一个相当棒的对图形环境概念的实现。

我们利ำ用这个ฐ层,在mac和os2上做了excel22。”

例如,9๗ord努力使自己้有一个通用层,它们将用9๗api作为

它们的通用层。我们[excນel]早ຉ就做出了通用层。以前这纯粹是一种

试验,因为当我们考虑该问题时,我们内部都对此存在明显的怀疑:你

能不能ม用这种办法写出勉强能够满足要求的程序呢?于是我们必须在

excel上做实验。在那时,我们认为无຀法用9api作为通用层写

出一个好的ma9tosh程序部分原因是由于我们了解两种aທpi,我

们在macaທpi上做了macexcel10่,在9๗api上做了excel20。

这两者很相似,同时又很不相同。我认为在很多时候我们对差异估计过

大:“哇,这些差异是没法直接克服的,我们认为自己做不了。”但当

你对事情更熟悉之ใ后,你会对此有不同的认识。

9indo9s95๓的产品结构

作为ฦ产品结构的另一个范例,9indo9s9๗5用专门的层来支持大范围的应

用软件,包括32๐位,16位以及dos应用软件。这些被称为ฦ“虚拟机器”的

层独立的处理线程和被保护的区域;每个ฐ“虚拟机器”看起来都像是一

台让程序运行于其上的单独的计算机见图44。所有的9indo9๗s应用程

序,包括16๔位的9indo9s31应用程序与32๐位的9indo9s95或9indo9๗snt

应用程序,都在系统虚拟机器层上得到执行。在系统虚拟机器内部,每个32

位应用程序都有其私有的“地址空间”。私有的地址空间可以防止应用程序

的数据干扰其他应用程序的数据或使其他应用程序异常中止或叫“崩溃”。

所有1้6位应用程序在系统虚拟机器中共享一个ฐ单一通用的地址空间,这样它

们就仍然可能互相干扰就像它们在9indo9๗s31中那样。9indo9s子系

↑返回顶部↑

书页/目录

微软的秘密推荐阅读: 纵情鬼王毒医 三重门章子怡讲的是什么内容 野蛮男友小说免费阅读 驭兽狂妃皇叔缠上瘾全文免费阅读 醉玲珑完结了吗 反恐精英ol单机版神器时代 冰雪王座手游攻略 正是风起时下载 发现老公与别人同居怎么办 我家养了只机器猫TXT