网站大量收购闲置独家精品文档,联系QQ:2885784924

重视软部件技术研究促软件分工生产时代到来 - 科学网.doc

重视软部件技术研究促软件分工生产时代到来 - 科学网.doc

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
重视软部件技术研究促软件分工生产时代到来 - 科学网

加强对软部件技术的研究,促软件工业化生产时代到来 程学先 程传慧 程传庆 2007年6月16日于第四届软件工程大会 一、通用软部件的研究与生产是实现软件工业化生产的关键 软件工程的目标是软件生产工业化,希望如同生产机器或盖房子一样实现生产的分工:有的生产厂专门生产机器的零件、部件,另一些厂则负责安装、测试与装修,大多数生产人员的工作是利用规范化与标准化的零、部件组装生产产品(应用系统)。长期以来,人们在软件工程过程及软件工程过程管理方面进行了深入的研究,在软件开发技术上不断取得进展;但相对而言,我们在软件生产社会化、软件生产分工方面的研究比较落后。 软件生产工业化的目标一直未能实现,主要原因是缺少标准化的通用软部件。 二、软部件与通用软部件的定义 通用软部件是具有复用性的代码类软件,相对构件(包括领域构件)及其它软件复用产品而言具有许多特殊的特性,有必要专门进行定义与区分。 软部件是经封装的、面向业务工作而不是简单单一功能的系统顶级模块(如图1所示);部件之间不存在直接联系、不要求彼此间的协作、包括了全局性界面设计的内容、直接依据接口参数调用、不存在动态接口。 通用软部件是可以通用于不同应用系统,能适应于不同数据库系统与不同数据表结构的软部件,在应用于现场时可以如同硬件生产一样即插即用或经简单裁剪后插入使用;它采用从上而下设计方法,是规范化、标准化的代码类软件。 具体而言,软部件有如下主要特征: 1、是事务级的独立模块。 软部件是一个应用程序的封装体,具有独立的功能与性能。它是以复用为目的而设计的以提供某一业务服务为目标、包含为完成一项事务所需要的多项功能的独立的应用程序,各功能互为补充使满足用户对界面的需要。由于它包含了为完成一件工作所需要的全部功能,具有特定性能集,接口简单、具有即插即用能力、对环境有较高适应性,具有很好的独立性。有些软部件具有自动生成界面的能力,是完整的,成熟的,模块级的程序软件。 软部件在设计过程中处理了安全性、数据完整性、事务性、代码应用、派生数据处理、工作流控制等实际应用程序普遍需要解决的问题,包括了全局性界面设计的内容,不存在动态接口、直接依据接口参数调用。因此以它们为基本成分构建系统时,只需要按功能、性能、界面的要求选择部件,再提供必要的接口参数,就能像搭积木一样构建应用系统,不要求有部件之间的联系、不要求彼此间的协作。它就好像工程中的予制件,使用简单方便,具有高度一致性、高度系统开放性与高可靠性,它使软件开发人员的分析与设计工作更加具体化、模型化,降低分析与开发费用;使系统可维护性、可靠性、可扩展性、适应性都极大增强;是人们所企望的软件复用技术的高端产品。 2、采用从上而下设计方法,内部粒度大。 关于通用软件部件的设计与一般管理信息系统设计或构件设计不相同,不是基于对一个、二个具体的管理信息系统的设计,而是以一个抽象的、非特定的管理信息系统为目标,对之进行需求分析,研究一般性的管理信息系统是如何构成的,一般有一些什么样的模块。它们需要那些功能、那些性能、具有什么样的界面特征、在使用时有什么样的表现,在此基础上展开设计。具体设计时又常常基于对语言分类、工作事务分类,再考虑功能、性能与界面各种需求经分类与归纳后设计(具体分类方法见文章下面的说明)。在设计时主要考虑的是基于某个具体语言所可能提供的操作、所能提供的构件,经排列组合,分析每一组合看在实际应用系统中是否需要,从而得到设计需求,再最后设计而成。在进行按功能、性能与界面分类时不排除从实际系统模块的设计中得到启示,但这不影响总的从上而下设计的思想。 3、在应用于现场时只做减法,不做加法。 在盖房时使用的建筑用砖经常需要截成不同尺寸、不同形状的小块再砌到墙上。其他机器或建筑的部件也都如此,我们不可能根据每一种实际产品需要的所有零、部件的大小与形状去设计部件产品,只能设计出少数几种规范化、标准化的产品供现场使用;具体机器或建筑的设计常常要考虑部件库的内容,要基于标准件设计,而不是各行其是地进行设计;只在特殊情况下设计一些非标准件或外加工件用于特殊的机器与建筑。关于软部件的设计也需要这样,我们只能在功能与性能集成的基础上设计出数量不是太多的规范化的标准部件,才能使方便选用并使系统设计规范化。在构建系统时部件可以直接用于组建,也可以对部件进行裁剪、去掉不需要的功能或成分、进行必要的修饰后再用来组建系统。 以上三点是与构件设计的分水岭,构件通常为实现某一具体的功能而设计,粒度较小,在使用时常常需要再和其他构件、对象再拼装或对程序进行修改之后再使用,常常要求提供框架之类程序使之可以获得支撑,在系统中一个构件往往需要得到其他构件的协作与支持才能共同为完成一件事务而工作。构件与通用软部件的区分如图2所示。 三、关于软件复用产品分类的分

文档评论(0)

exianwhan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档