按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
构架下的一个具体行为。
工程中没有 BOSS 。
8。 上帝之手
从最初的简单编程开始,到现在工程团队的组织开
发,实现(一个软件)都是最终的目的。所以可以这样说:
实现,是软件开发的本质需求。
我们看到,正是出于实现的需要,我们才设计了一些
数据结构或逻辑结构来映射物理模型。因此类似于过程、
单元、记录(结构) 、对象等的出现,其实都是出于编程实
现的需要:
程序 = 算法 + 结构
过程与单元的出现 记录与对象的出现
而后,基于某种数据结构的编程实践( 的不断积累) ,
决定了软件开发方法理论的产生。
从这一点可以看出:方法,是对既有行为的归纳总结。
因而实现方法总是最先出现的,而后才有分析和设计
…80
…………………………………………………………Page 85……………………………………………………………
『大道至简』
方法。
可以看到面向对象分析(OOA) 、设计(OOD) 与编程
(OOP) 的出现顺序,与它们在工程过程中的实作顺序正好
相反,而与编程实践行为的顺序则正好相同。
为了实现更大规模的软件系统而有了团队组织模式,
而团队的协作决定了过程模型的产生,在过程环节中的沟
( )
通问题导致了 模型化 语言的出现。
如同编程工具中的编译器和集成开发环境(IDE) 一
样,开发中的编程语言、过程中的模型语言都只是一种工
具。
甲骨文 象棋 石头
:
符号语言 文字
:
最自然的沟通方式 语言
项目案其实是可以用甲骨文来写
的
图图形形也也是是一一种种符符号号文文字字
模模型型也也是是一一种种符符号号文文字字
)
工具的产生仍旧是出于 “(软件 实现”的需要。不可
能从软件开发实践中产生出轮子和指南针,因为那不是
“软件开发的本质需求”可以推动的。
软件工程的体系中,“实现”作为软件开发的本质需
…81
…………………………………………………………Page 86……………………………………………………………
第 6 章 从编程到工程
求和基本动因,如同上帝之手在推动这几十年来的软件工
程理论体系的形成。
工具
方法 因 动 本 基
过程
实现对象
软件工程
…82
…………………………………………………………Page 87……………………………………………………………
第7章 现实中的软件工程
“王不如远交而近攻,得寸,则王之寸;得尺,亦王
之尺也。”
——《战国策.秦策》
1。 大公司手中的算盘
从最早仅仅关注于软件开发工具到现在,软件行业中
的巨头们已经在层出不穷的思想中涅槃了一回又一回。
Rational 被 IBM 购并的真实原因在于 IBM 需要构建
一个完整的软件工程体系。有了 Rational 的 IBM 会变成
这个样子:
IBM 的软件工程 (2004)
理论体系 实 现
工具 Language Rational Suite、WebSphere、Eclipse
方法 OOA/D/P IBM软件开发平台(SDP)
过程 RUP RUP2000、RUP2003
IBM 得到 Rational 的最大好处是在软件工程方面,快
速地拥有了一套成熟的理论体系和实作工具。对于 IBM
来说,Rational 有着 UML 语言的非常丰富的实践经验,
还有着 RUP 作为理论框架的创立者和领导者的地位,这
些对 IBM 在确立大型软件工程应用方案提供商的行业形
…83
…………………………………………………………Page 88……………………………………………………………
第 7 章 现实中的软件工程
象,都是极大的支持。
在语言方面,IBM 注意到 JAVA 作为平台中立的语言
特性,以及它在大型应用工程方面的成功表现,作为扼制
Microsoft 的平台优势的唯一途径,IBM 在语言方面选择
支持 JAVA 是明智的。
出于同样的理由,IBM 亲近开源软件界,并很快成为
开源软件领域的头羊地位。这使得 IBM 从没有语言优势
立即变成了“可以忽略语言劣势”。开源界给了 IBM 一种
对抗的背景和实力,而 IBM 只需要做到把握这种力量,
就可以在潮流中稳如磐石。
把握力量总之比创造力量来得经济。
同样,Borland 也从开发工具厂商的位置跳出来,希
望构建类似的软件工程体系。所以现在你会看到这样的一
个 Borland :
Borland 的软件工程 (2004)
理论体系 实 现
工具 Language Togther、StarTeam、Delphi、CBX、JB。。。
方法 OOA/D/P Galileo、PrimeTime
过程 ALM Borland ALM Solution
对于 Borland 来说,在对软件开发语言(C 、Java 、Delphi)
的把握方面是优势,所以 Borland 一直保持在语言上的中
…84
…………………………………………………………Page 89……………………………………………………………
『大道至简』
立,以寻求一种在不同平台上的开发者社群的支持最大
化。Borland 积极的推动 UML 的标准化,一方面可以使
得 Borland 有机会在模型语言标准的制定上有机会制造影
响,另一方面也可以快速地与 IBM/Rational 构成对抗
Mircosoft 的战线。
作 为 工 具 开 发 商 , Borland 快 速 地 拥 有 了 实 现
ALM(Application Lifecycle Management)所需的绝大多数
软件产品。然而 Borland 也很快意识到,( 当前的)ALM 是
一个产品体系,而不是一个理论体系:Borland 没有在
ALM 作为工程理论方面的任何优势。于是 Borland 开始
购并与实现 ALM 体系相关的公司,其中收购过程改进咨
询公司 TeraQuest 并组建流程优化实务部,以及收购
TogetherSoft 为开发工具来强化模型构建能力,都是相当
大的一些举措。通过这些努力,Borland