构架下的一个具体行为。
工程中没有 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
小说推荐
- 软件工程思想
- 作者:林锐前 言 在60年代计算机发展初期,程序设计是少数聪明人干的事。他们的智力与技能超群,编写的程序既能控制弱智的计算机,又能让别人看不懂、不会用。那个时期编程就跟捏泥巴一样随心所欲,于是他们很过分地把程序的集合称为软件,以便自己开心或伤心时再把程序捏个面目全非。人们就在这种美滋滋的感觉下热情地
- 最新章:第53章
- Java编程思想第4版[中文版](PDF格式)
- -Page 1-Page 2《Thinking In Java》中文版作者:Bruce Eckel主页:http/BruceEckel.编译:Trans Bot主页:http/memberease~transbot致谢-献给那些直到现在仍在孜孜不倦创造下一代计算机语言的人们!指导您利用万维网的语言进
- 最新章:第295章
- C语言实例教程(PDF格式)
- -Page 1-前 言Visual C+是开发运行于Windows 95和Windows NT环境下的Win32应用程序的可视化编程工具中最重要的成员之一,它为软件开发人员提供了完整的编辑、编译和调试工具和建立于Win32 API(ApplicationProgramming Interface)基
- 最新章:第143章
- JMS简明教程(PDF格式)
- -Page 1-JMS1.1规范中文版卫建军2007‐11‐22-Page 2
- 最新章:第28章
- C语言游戏编程从入门到精通(PDF格式)
- -Page 1-Page 2-Page 3-Page 4-Page 5-Page 6-Page 7-Page 8-Page 9-Page 10-Page 11-Page 12-Page 13-Page 14
- 最新章:第4章
- asp基础实用教程(DOC格式)
- 目 录一、关于ASP二、ASP的新功能三、创建ASP页四、使用脚本语言五、使用变量和常量六、使用集合七、ASP内建对象八、向浏览器发送内容九、包含文件十、访问数据库十一、调试ASP脚本十二、维护ASP应用程序的安全一、关于ASP Active Server Pages(ASP)是服务器端脚本编写环境
- 最新章:第17章
- Linux实用培训教程(PDF)
- -Page 1-rrktqt的个人空间 Linux实用培训教程第一部分 作者:红联Linux实用培训教程第一部分-共三部分解的Linux知识,循序渐进的介绍Linux相关知识,从入门到提高,希望对所有学习Linux的朋友都有帮助 红联Linux论坛是致力于Linux技术讨论的站点,目前网站收录的文章
- 最新章:第42章
- SQL语言艺术(PDF格式)
- -Page 1-SQLSSQQLL语言艺术内容介绍本书分为12章,每一章包含许多原则或准则,并通过举例的方式对原则进行解释说明。这些例子大多来自于实际案例,对九种SQL经典查询场景以及其性能影响讨论,非常便于实践,为你数据库应用维护人员阅读。资深 SQL 专家 Stéphane Faroult倾力打
- 最新章:第27章
- php程序设计简明教程(DOC格式)
- -Page 1-PHP 程序设计简明教程PHP 讲义 第 1 页 共 90 页-Page 2-目录序 4第一章 PHP 简介 6
- 最新章:第31章