11月25日互联网上的软件工程何克清-第2节
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
、语言、结构、平台,更应该重视互联网上软件产业的,基础设施、平台化战略,所谓平台就是集标准、资源、支撑、工具、方法、技术为一体的开发服务平台,为了适应互联网上软件的高效快速开发,这个软组件就是ponent,开发和管理是软件工程主要的核心内容。那么在网上软件产业,基础设施上应用、开发,有哪些例子呢,我们为了形象(地说明),举几个简单的例子,比方说,互联网上地理信息系统,卫星定位系统,这是我们国民经济中急需的系统,在互联网上的,电子商务、政务、家务,互联网上的金融业务系统,网上银行,互联网上的普适计算机系统,就是计算机系统等等等等。那个同学有什么问题。何老师您好,我想问个问题,我刚才注意到,您刚才讲的时候,多次提到软组件这个名词,我是学计算机的,我知道现在很多大的工程,还有大的项目都是开发(软组件的),所以我想问您一下,什么是软组件工程,而且它包括哪些主要的内容,谢谢您。软组件可以简单地解释为,在功能上相对独立的,可以重用的留用的一个软件的部件,它必须具有一定的逻辑内容,它有标准的接口和,能够动态地连接和重用,简单地说它具有这些特点。下面我们可以谈第三个,就是互联网上软组件的开发与管理,我们首先在讲这个内容之前,要强调反复强调的标准化战略与平台化战略,就是软组件开发与管理的方法,以及基础设施平台的标准化,标准的国际化是发展我国网上软件产业关键的技术,这反映在开发方法的标准化,就是开发成熟软组件的关键,就是质量上成熟的软组件的关键,管理方法的标准化呢,是软组件流通、服务、市场化的关键,软组件开发、管理,流通 服务的基础设施,平台的标准化 国际化。是实现网上软件产业。重要的关键技术。那么我们下面讲一下,软组件软件框架的概念,与计算机集成电路的发展一样,大家知道,经过了从分离原件,就是二极管、三极管,这种原件印刷,电路板组装成逻辑电路,发展到集成电路,发展到大规模的集成电路,以及整块插件的推入组装,那么软件的发展走过了类似的过程,经历了类似的过程,而从汇编语言那里,一条条的程序语言跳到设计,发展到子程序函数的调用,发展到结构化,程序设计阶段的模块的使用,最后发展到软组件,因此说软组件技术,是软件工业化生产的必然发展趋势,是软件工程的一次跨世纪的革命,大家要认识到这个重要性,还有软件技术及其标准化,会彻底改变软件生产方式,从根本上提高软件生产效率和质量,是进一步发展我国软件产业的,一项整体的关键技术,软组件 软件框架的技术,为大粒度软件重用,给出了一条可行的技术道路,那么什么是软组件呢,我这里有个例子,我们的物流运输业,为了运输复杂的大量的货物,采取了集装箱的技术,大家看看集装箱包括哪些因素,这里面,首先它里面有一个内容,里面放了一个内容,运输的内容 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服务技术,我们可以预计将会改变,应用软件的,生产传播服务的方式,这种方式出现了这个