11月25日互联网上的软件工程何克清-第2章
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
软件重用,给出了一条可行的技术道路,那么什么是软组件呢,我这里有个例子,我们的物流运输业,为了运输复杂的大量的货物,采取了集装箱的技术,大家看看集装箱包括哪些因素,这里面,首先它里面有一个内容,里面放了一个内容,运输的内容 Contents。比方说,你的拖拉机,或者是什么什么,它有它的地址,有它的吊钩或者是地钩,那就是我们的界面,就是软组件的界面,而它的规格就是这个软组件,开发方法和技术,所遵循的标准,它的接口等等,那么什么是软件框架呢?软件框架。简单地说,是软件的基本的规格,是软件可以执行的基本的部分,为了重用,框架网是针对某一个。具体应用领域的。那么我们再谈一谈,软组件与软件框架的关系,这里我们简单地讲一下,建筑工程发展的过程,大家知道,最开始原始的建筑方法,是用沙土然后垒墙做成小房子,农村的小建筑、小房子,后来随着建筑工业发展的需要,后来变成砖和水泥,然后随着高楼大厦的建设的发展需要,使用钢筋框架,先打入到地基里面去,然后呢这个钢筋框架是有规格了。然后在不同的部位、调装入,比方说,厨房是那个套装的软组件,洗手间的整个套装的组件,或者是书房的整个套装组件,然后开发成一个高楼大厦,这是建筑工业的技术的发展,还有软组件,软件工程的开发方法也是这样,我刚才说了,从汇编语言发展到子程序,函数调用到模块,最后组件 就是框架,那么为什么 就是说,发展到软件框架中组装软组件,软件框架中集约软组件,这样快速的软件系统。为什么说,为什么建筑工程和软件工程的方法这么相似呢,这个很自然。并不是偶然的,由于人们对复杂事物的认识?对于它们的知识是共同的。
软组件的种类,简单地说 有这7种,第一个就是,业务领域的应用处理软组件,就是应用的(与)业务领域有关的,第二个是业务过程软组件,软件开发的过程,业务过程也是知识,再就是数据的软组件,公共业务对象基本软组件,再就是用户界面的软组件,数据管理软件,第七个很重要的,是软件中间件,软件中间件 我们认为是,软组件的一种形式,但是什么叫软件中间件呢,就是客户端的应用程序和,这个服务端的系统程序,就是系统程序 基本程序之间的,那一部分功能,它可以独立地运行,而且大家可以共用的,比如说,消息中间件、交易中间件、对象中间件、数据访问(中间件)以及应用服务器中间件,以及网上的软件的安全中间件,比如说,非对称加密,像这种中间件,以及未来网络生态环境中的,高适应性、柔性中间件,也是软件中间件的一种,软组件的生命周期,可以简单地这样来看,从实际问题中抽出,这种反复重用的那种规格,抽出、创建软组件,然后在应用系统中、开发中应用到就是组合进去,得到反馈信息,进行不断地维护,和适应性的修改,直到不能使用的时候就废弃。我们这里给出一个,软组件的例子,就是资源分配软组件,它有它的名称,它的内部的协调的结构,有它的约束的描述,有它的操作,那这样一个软组件,能解决什么问题呢,它能够解决一类作业的,资源分配问题,而学校的教学管理系统中的,教师上课的教室的分配和公司的设备分配等等,这一类问题都可以用资源分配软组件,修改、组装、实现。3。2 ,我们讲述网上软组件开发方法与技术,首先我们应该注意到,它的开发服务周期的变革,刚才说到了,简单地说 是有序 无序,传统软件生命周期,是个确定的目标,有序地控制这种,线性的生命周期,在网上软件工程开发中,首先利用,在网上无序的软组件,根据动态的目标组装,使它变成相对地有序,然后根据这个需求的变化,目标的改变,来进行再一次组装和服务,使它又变成,无序上的再有序,最后一直组装、修改,装配成所需要的软件系统,当然这是指装配,网上成熟的软组件系统。从开发方法讲,方法的标准化,是开发成熟软件的关键,这个方法,简单地说有三大类,第一个就是领域建模,就是解决问题空间的领域建模,第二个是软件建模,就是求解空间的领域建模方法,主要是国际标准化组织OMG的统一的建模方法论,它包括业务过程建模,场景建模 协议 协同软组件,再就是统一的,软件建模方法和语言,大家知道 1996年以来,国际标准化组织OMG,颁布了统一的建模语言,它是一个工业化的标准,在全世界范围内推广应用,再一个很重要的就是,软件质量的控制,就是软件过程成熟度的模型 CMM,是美国卡来基梅隆大学,软件工程研究所提出,已经在全世界范围的软件企业中使用软件模式。我们说,它是一种软件文化,这是开发技术方法的另一个问题,软件模式呢,什么是软件模式呢,简单地说,它是软件分析、设计、实现的,公共可以重用的知识,是开发技术的,流通的和交流的语言,软件模式的抽出与利用,是软件工程方法与技术的一次革命,1995年以来 大家知道,国际上已经流行 流通,使用了一批软组件,比如1995年的,Erich Gamma的软件设计模式,1996年的Frank Buschmann的,软件体系结构模式,以及1997年的Martin Fowler,软件分析模式等等。最近又出现了业务领域建模的,分析设计的软件模式,去年也出现了语义模式的概念,因此,软件模式。是软件开发技术中的一个很重要的内容,这个同学有什么问题。何老师您好,就是我刚刚注意到,您在讲座中用到一句话,就是说,软件模式是一种软件文化,那么我想问的就是,为什么您把模式,这种逻辑性 理性,甚至感觉比较工程性的东西,归纳为一种文化 谢谢。首先就是什么叫文化,文化是人们在长期的,社会和历史活动中所创造的,物质财富和精神财富的总和,当然是特指精神财富,如教育、科学、技术,文艺、宗教等等,那么软件模式,为什么是软件文化呢,说的就是一种软件文化呢,因为软件模式,是软件开发人员,技术人员在长期的,软件开发的过程中经验的总结,当然那些,大家经常都会碰到的,一类问题的解决方案,并且抽象出来,它的行为、它的结构、它的接口来做一个知识留用,来进行交流和通讯的,在一些大的软件公司的,软件开发中,人们已经使用软件模式的,这种语言来进行交流,比方说,两个部分之间的,两个程序部分之间的依赖关系,Observer 一说过去就完了,这样呢长期以来,软件模式的积累和丰富,构成了一种软件文化。下面我们看一下,软件模式和软组件开发的关系,从实际的问题领域中,存在的要求,我们必须首先分析到,认识领域中的对象,软组件里面存在的一些对象,那么我们可以借助于分析模式,组织模式 业务过程模式等等,来帮助你认识对象,帮助你抽出对象,建立一个需求模型,那么需求模型建立以后,那么要进行设计,也要进行优化的,软件对象结构的设计,可以使用设计模式,可以使用体系结构的模式,设计好的系统,将来在网上分布的时候,你可以使用CORBA模式,因为这个软件模式本身,是软件开发中的知识,是标准的 成熟的 流通的,大家都公认的,因此就使我们这个软组件的,开发分析设计实现过程,使它标准化 程式化,开放性强,因为软件模式主要分两个部分,两个模式的结构,一个是固定部分,一个是开放部分,就是那个冷冻部分和热点部分,热点部分是我修改扩充的部分,这样一来 在我们软组件,开发 分析 设计,实现的过程中,知识中,彻底地使用软件模式的话,那么我们这个软组件,就具有标准性成熟性,开放性的特点。3。3,我们看软组件技术的标准化,是管理市场化的关键,我们反复强调,国家科技部,十五科技发展战略中,反复强调的人才战略 标准化战略,以及专利战略,那么这个网上软件工程也是一样,首先我们认为标准之争,软件工程的标准之争语言之争,实际上是市场之争,谁控制这类标准,谁就控制这个市场,因为别人向你靠啊,给你接口啊,软组件标准化工作中的作用呢,就在软组件开发人员,开发厂家或软组件市场之间,一个统一的标准,实现软组件的流通和共享。首先 我们再谈一谈,软组件到底存在,哪些主要的国际标准呢,这个已有的软组件开发的平台与标准,主要有这些,一个就是EJB D CORBA J2EE,这是大家知道的,再就是简单对象访问协议,软组件的描述和流通标准,主要是XML,大家看到这些标准,都是国外的公司提出来的,就是因为它们,及早地提前地,研究制定了标准,所以它们几乎占领了,这些公共的软组件的市场,是国际上的那么一个,软组件开发的标准化技术,有哪些要素呢,简单地说,软组件 一个软组件的开发,它必须与标准的,模型软件框架有关,软组件集合,在软件框架之中的,那么必须有标准化的接口,它的接口必须标准化,再一个 它是在一个,网上分布式对象体系结构之中,那么软组件管理,软组件管理 简单地说,是以软组件库为中心的,在库管理服务的标准,或支撑系统的支持下,对提供标准化的软组件的管理,比方说,软组件标准提供了需求,在软组件库的,服务管理的支持下,进行软组件库的程序,最后得到所需要的软件。
那么我们再看一看,Web软件服务,是软件的生产传播方式,因特网上e…mail,可以说是改变了人与人之间的通讯方式,因特网上的Web技术改变了,公共信息的传播方式,进而因特网上出现的Web服务技术,我们可以预计将会改变,应用软件的,生产传播服务的方式,这种方式出现了这个Web软件服务,我们认为是一种快适的软件生产方式,它的内容呢,主要是在互联网中,有一些包含在通信协议中,并且可以组装和自动运行的软组件构成,实现的核心是软组件之间的通信,XML是软组件,可相互理解的描述语言,软组件的服务的服务标准协议,采用简单对象访问Soap,以及Web服务描述语言WSDL,这些都是标准化,那么它的实现机制呢,简单地说就是,在服务提供者 服务申请者,服务注册者之间 三步曲,首先就要根据,软组件开发厂商,提供的软组件登录,然后就发布,第二,服务申请者查找,查找所需要的软件,就绑定在自己所要,应用的系统中去,简单地说,就是发布查找绑定三步曲,在网上具体是这样的形象。就是用户使用XML语言,提出自己所要求的可重用的,软组件的规范,就是使用软件规范,通过服务代理,因特网商通过Soap这种协议,程序软组件库,还有一种服务方式就是,委托第三者的服务方式,所谓委托方式,就是在买方和卖方之间,设立第三者的机构,就是提供仲介委托的服务,进行一些标准,一些开放度和交易方式的制定,我们在服务这一条,举一个例子,就是普适计算的一个例子,一个家庭应用,软组件系统的,快适的服务生产方式,一个家庭主妇根据,自己家庭成员,和家庭财力的需要,以及活动的需要,向软组件服务中心提出了,自己家庭应用软件的需求 要求,那么软组件服务中心根据需求,使用一些公共的一些,比方说,中学教育软组件,安全管理软组件,英语学习软组件,健康管理软组件,家庭财务管理软组件,以及旅行等引导软组件,然后进行个性的裁剪,为这个家庭安装,家庭应用软件系统,这样一来,很明显这是一个,快适的软件生产服务方式。下面我们看一看,软组件流通管理的基础设施,到底是什么样的呢,简单地说,它以软组件库为中心,在标准化的技术与支持下,登录登记分类测评服务支撑检查 注册等,标准化技术的支持下,在软组件互动协会,软组件商务中心的支持下,和开发厂商和用户进行流通,作为一个软组件在网上登录的,必要条件和充分条件是什么呢,必要条件简单地解释为,登录的开发方法的标准与语言,一定要统一的标准,第二个就是软组件,按照标准化的分类和目录,便于登录 检索 下载 装配,或者标准的交易模型,你希望的标准的交易模型,这个软组件的质量,安全性 互操作性 检定的质量,作为充分条件,它必须具有实用性 标准性,它的附加价值的服务方式,或者软组件库的存取方式。整个软组件开发,流通、管理的基础设施,可以简单地分成这三个部分,最下面的那部分就是,软组件开发的平台,这包括业务,标准业务领域建模的,PIM MDA结构中的支撑,以及一种平台的,开发舞台的MDA中的PSM,及其它们之间的映射转化,而且是软组件开发的,基础的设施和平台,比方说 RATIONAL等等,这是开发平台,那么上面登录,基础设施和软组件评价,测评基础设施构成了,软组件服务的基础设施,然后最上面的这个软组件,商务基础设施或流通基础设施,所有这些基础设施和平台。必须与国际标准整合和一致,实际上软件产业的,基础设施平台之争,也是市场之争,就是网上软组件管理标准,是流通与服务的关键。首先是网上软组件管理,流通的科学与技术这些标准,很可惜,现在还没有正式的标准和方法,去年(2001年)10月26日,ISO SC32 WG2国际会议上,日本提出,中国 韩国参加,提出来一个NWI方案,就是新的工作项目的方案,主要针对软组件的,管理流通的一个提案,这个提案提出之后,得到了各个代表的支持,已经正式立项,现在正在继续展开,我们国家 国标GB,关于软组件管理规范也正在启动,网上软组件管理,标准技术的难点在什么地方,为什么现在为止,对这样一个标准化,管理 流通的科学方法与标准,还没有出现呢,这个我去年(2001年)10月份,与今年(2002年)10月份我参加了,ISO SC32 WG2的工作组会议,我就是见证人,在会上 这方面我们国家投入了,很大的人力和财力进行激烈竞争,为什么,它控制这个标准就要控制,这个软组件在市场上,流通管理服务的,这个一部分市场,软组件管理标准的技术的难点,在于软件的属性和行为,受制因素很多,大家看 它的一个分布,是对象结构体系结构之中,它的软件框架之中,它和其他的软组件,动态地连接 装配 是不是,因此 它与领域有关,与公共的标准也有关。因此它十分复杂,而现在目前,研究的方法有两种,一个就是元建模的方法,就是MetaModeling,第二个是本体论的方法,就是Ontology,这个武汉大学提出了,本体论的标准化方案,在2002年5月2日,我们中国(作为)代表,参加的ISO SC32 WG2的,国际会议上提出,经过ISO各个国家的代表讨论,一致赞同正式立项,这是这个方案,提案的一个Draft(草案),这个封面就是使用Ontology方法,分析分类软组件的属性,使它能够识别登记,包括命名一套内容,给我们的正式号码是,就是武汉大学提出的,标准化方案的Draft(方案),正式给我们的立项号码是,ISO SC32,1。32。22。01。03。00,所以在ISO作为中国代表,软组件标准化立项,是个很不简单的事情,那么它主要包括些什么内容呢,简单地说 分三个层次,第一个就是