UML之父:架构业务需求与软件开发的桥梁
来源:互联网 发布:sql截取字符串前几位 编辑:程序博客网 时间:2024/05/19 05:04
- 在计算机领域,他闻名于世的不止是天文学家的称号,还有数据流计算机体系结构和UML(统一建模语言)。他就是世界著名的软件开发方法学家James Rumbaugh(詹姆斯-朗博)。
【51CTO独家特稿】在天文学领域,他是最知名的计算机大师;在计算机领域,他闻名于世的不止是天文学家的称号,还有数据流计算机体系结构和UML(统一建模语言)。他就是世界著名的软件开发方法学家James Rumbaugh(詹姆斯-朗博)。
51CTO开发频道年终巨献:架构师最怕程序员知道的十件事
1947年出生在美国的James Rumbaugh拥有麻省理工学院的物理学学士学位和计算机科学博士学位,同时,他还是加利福尼亚理工学院的天文学硕士。按照OMG(标准化组织对象管理组)的评价,他是“全世界最早与计算机深入接触的人类”。
早在上世纪七十年,Rumbaugh博士就开始研究软件方法学以及相关的工具和概念,那时他在纽约斯卡奈塔第的通用电气研发中心工作,主要进行一些大型IT项目的设计和开发。
那是一个大型机横行的年代,遍布机房的存储设备和繁琐的控制操作经常让人感到无法适从;但Rumbaugh却乐在其中,他为自己的指令能与隔壁房间的庞然大物交流而感到兴奋,为自己的代码能被完整的映射到现实世界并解决实际的问题而荣幸。但在每个软件系统开发之前,他们这群“最早与计算机深入交流的人”都要面对一个困惑,如何把现实世界的问题转化到计算机里解决。
业务需求与软件需求
无论当时还是现在,业务领域跟计算机领域之间的概念存在着很大差别。一般来说,业务是用自然的语言来表述,但是软件有可能是用一些非常低级的计算机语言来表述的。构建一个软件需要写很多的代码,要写很多的控制逻辑,有很多复杂的东西在里面。正如目前很多的企业都在把业务与IT相结合作为一项重要的任务来做一样,其根本是要业务与软件之间建起一座桥梁。
为了建起这座桥梁,Rumbaugh博士开始探索新的需求分析和软件架构方法,提高软件开发效率。现在,我们把这门学问成为软件方法学,是指软件设计的原理和原则,以及基于这些原理、原则的方法和技术。其关注的中心问题是如何设计正确的软件和高效率地设计软件。
GE岁月
在通用电气研究发展中心,Rumbaugh博士陆续开发了DSM(Domain-Specific Modeling)面向对象编程语言、OMT对象建模符号以及Object Modeling Tool图形编辑器等。
DSM(Domain-SpecificModeling)领域定义建模,是通过使用领域概念直接指定解决方案的软件业务需求方法。DSM提高了超越程序代码之上的抽象层次,最终软件产品将从高层次的设计中直接自动产生,这样一个自动过程是可以实现的,因为语言和代码产生器可以满足某一个公司或领域的需求,建模专家使用定义这个自动机器,而程序员只管使用即可。
OMT是Object Modeling Technology的缩写,意为对象建模技术,我们可以将其堪称UML的前身。它从三个方面对系统进行建模,每个模型从一个侧面反映系统的特性,三个模型分别是:对象模型、动态模型和功能模型。目前,OMT法是目前最为成熟和实用的建模方法之一。Rumbaugh博士不止为OMT设计了完备的建模符号系统,还同时开发了OMT的图形编辑器。
UML统一建模语言
1994年,Rumbaugh博士来到Rational软件公司,在此,他遇到了UML的另外两位创始人,同样为软件工程和软件方法学的专家Grady Booch和Ivar Jacobson。
左起分别是:Grady Booch、Ivar Jacobson和James Rumbaugh
GradyBooch自Rational于1981年创建以来,就担任重要职位,是多个Rational产品的最初开发人员之一。Grady曾担任全世界许多复杂精深软件项目的架构师和架构指导。Rational被IBM收购后,他一直担任IBMRational的首席科学家,并于2003年3月荣获IBM名士(IBM fellow)称号。
Ivar Jacobson 在软件工程学领域非常有名,他在使用对象方法设计大型实时系统方面已经有超过25年的经验。在大规模架构重用方面也做了大量的工作,这是爱立信的AXE远程通信交换机取得成功的关键因素。
早期的Rational软件界面
在Rational期间,Rumbaugh博士总结了自己在对DSM和OMT的研究,并在Grady Booch和Ivar Jacobson的共同努力下推出UML(Unified Modeling Language)统一建模语言。
UML的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域。其中最常用的是建立软件系统的模型,但它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。总之,UML是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模。
1996年,一些机构将UML作为其商业策略已日趋明显。UML的开发者得到了来自公众的正面反应,并倡议成立了UML成员协会,以完善、加强和促进UML的定义工作。当时的成员有DEC、HP、I-Logix、 Itellicorp、 IBM、ICON Computing、MCISystemhouse、Microsoft、Oracle、RationalSoftware、TI以及Unisys。1997年,UML被对象管理组织(OMG)正式确定为国际标准。
目前,UML已经成为软件架构的核心工具,随之产生的IBMRational和微软VSTS等工具也成为主流的软件开发工具。在Rational公司2003年被IBM收购后,Rumbaugh博士一直担任IBM建模工具的核心架构师,并成为享誉全球的软件开发方法学大师。
- UML之父:架构业务需求与软件开发的桥梁
- UML之父:架构业务需求与软件开发的桥梁
- 软件项目需求开发过程实践之业务建模用例图
- 业务需求与系统需求的区别
- 业务需求与系统需求的区别
- 软件项目的需求开发与管理
- 软件项目的需求开发与管理
- UML与软件开发
- 操作系统--硬件与软件的桥梁
- UML与软件开发的关系
- UML之父Ivar:软件开发新趋势 可执行代码比"宏观"架构更重要
- 再谈软件架构设计之业务的封装
- 软件需求最佳实践之需求的沟通与分析
- 软件需求最佳实践之需求的沟通与分析
- 用户需求、功能需求与业务需求的区别
- 用户需求、功能需求与业务需求的区别
- 用户需求、功能需求与业务需求的区别
- 用户需求、功能需求与业务需求的区别
- o3d基本程序框架-(转 这个比我写的全面)
- 这几天总结的一些C++编程经验--关于静态库
- using namespace std的使用(转载)
- 关于afx的由来
- 什么是COM?(转)
- UML之父:架构业务需求与软件开发的桥梁
- maven2 setting
- 4月3号烦恼..
- 随便说说`
- 中国人必须知道的76个常识。。。看了才发现,自己知道的实在太少了
- typedef的四个用途和两个陷阱
- 【心理学】—为什么相爱的人都不讲理?(越是相爱就越容易吵架)
- 让自己漂亮其实很简单
- Coolite 表单验证