Chapter4-构件化开发技术
- 格式:pdf
- 大小:915.49 KB
- 文档页数:73
软件构件技术软件工程张显良 20081120152随着计算机和互联网的广泛普及和应用,计算机软件已成为信息时代社会的最重要的基础设施。
广大用户对软件的数量与质量的要求也是与日俱增。
那么显然用传统的软件开发方式,显然已经无法满足消费者的需求,在这样的环境下,软件构件技术是必然的选择,它不仅能缩短开发周期也节省了开发的成本,提高了软件的开发效率。
那么什么是构件技术?1、构件技术的背景及提出的目的1968年NATO软件工程会议,Mcllroy在提交会议的论文《大量生产的软件构件》中,提出了“软件组装生产线”的思想。
从那以后,采用构件技术实现软件复用,采用“搭积木”的方式生产软件,成为软件开发人员长期的梦想。
软件复用是指重复使用“为了复用目的而设计的软件”的过程。
就软件开发而言,软件复用包括:早期的函数复用、面向对象言语中的类的复用,以及互联网时代的完整软件体系的构件复用。
1999年2月美国总统 IT 顾问委员会也在一份报告中列举了大量的事实论证 IT 技术对社会和国家以及人民生活的重要作用。
建议美国政府加大对IT 技术发展研究的投入。
在建议重点支持的四大项目中,把软件列在首位。
因为报告认为软件是信息时代社会的最重要的基础设施。
然而现实上这个基础却相当脆弱和不可靠。
软件越来越普及而且越来越复杂,但缺乏开发安全可靠的软件的适用技术。
软件的生产能力远远满足不了飞速发展的实际需求。
为此,报告建议重点支持四个方面的软件技术的发展和研究,第一个就是支持软件开发方法和构件技术的基础研究。
什么是软件构件技术,为什么把它提得这么高,它究竟对软件的开发和应用有些什么作用,构件技术的突破对软件产业的发展会带来什么影响呢?有效的软件复用是可以提高软件开发的效率和质量。
建立在构件复用基础上的软件复用将会带来极大的价值,《Software Reuse》指出很多公司通过复用取得的成就使们坚信,管理层可以期待获得如下优势。
1)投放市场时间:减少为原来的1/2到1/5;2)缺陷密度:降低为原来的1/5到1/10;3)维护成本:降低为原来的1/5到1/10;4)整体软件开发成本:降低大约15%,长期项目可降低高达75%。
工业化预制构件技术方案工业化预制构件技术方案是指将建筑构件先制作成标准模块,然后通过工业化生产流程进行制造,最后再将构件运至现场进行拼装和安装的建筑施工技术。
这种技术方案可以提高施工效率、减少建筑垃圾、减少人力物力资源的浪费,并且可以有效降低建筑施工成本。
一、预制构件技术的基本原理及优势1. 基本原理预制构件技术是将建筑构件在工厂内预先制作成标准模块,然后进行运输、存储及现场拼装安装的技术。
预制构件制作后,可以完成装饰和机电设备安装等操作,然后进行包装,最终运到现场进行拼装、安装和调试。
2. 优势(1)减少人力物力资源浪费:预制构件制作过程中,不需要现场建筑施工的人员及设备,可以减少建筑施工现场的人力物力资源浪费。
(2)提高施工效率:预制构件生产过程可以根据流水线式生产方式进行生产,提高生产效率,并且减少现场施工时间。
(3)降低建筑垃圾:由于预制构件大部分是在工厂内进行制作,因此可以减少现场建筑垃圾的产生。
(4)降低施工成本:预制构件可以进行标准化生产,可以降低施工成本,提高施工效益。
二、工业化预制构件技术方案的具体实施方法1. 制作标准化构件预制构件技术的关键是构件的标准化生产。
在生产过程中,需要开发适合生产的工艺,以及适合现场拼装的构建方式。
标准化构件可以采用钢结构、混凝土、玻璃幕墙等方式进行设计和制作。
2. 建造生产线生产线的设计需要依照预制构件工艺进行设计,包括生产线的布置、机器设备、售后服务等。
3. 生产构件生产线能够实现流水线生产,生产出符合设计规格的构件,并能够进行质量管理。
4. 运输、存储和现场拼装构件制作完成后,需要进行运输和存储,在拼装过程中,需要考虑到安装和质量控制等问题。
三、应用场景1. 大型建筑:预制构件生产技术适用于大型建筑,如超高层、室内体育场馆、大型商业地产等。
2. 住宅小区:在住宅小区建设中,可以采用预制构件生产技术进行模块化设计并进行现场拼装。
3. 酒店建设:酒店建设需要采用较高的土木工程技术,预制构件技术能够有效提高建筑施工效率。
基于软件构件的软件开发技术陈明【摘要】软件构建基本思想就是应用系统的开发运用已有的工作基础,利用已经验证成功的知识和经验进行新的开发.本文通过介绍软件构建技术来说明软件构建技术在软件开发过程中的优越性,以使软件构建技术在今后的软件开发过程中能得到广泛的应用和推广.【期刊名称】《漳州职业技术学院学报》【年(卷),期】2007(009)002【总页数】4页(P4-7)【关键词】软件开发;软件构件;复用;组装【作者】陈明【作者单位】漳州职业技术学院,现代教育技术中心,福建,漳州,363000【正文语种】中文【中图分类】TP311.52由于软件开发的系统越来越大,涉及的领域越来越广,用户的需求也在不断变化,这使软件企业不能再像原来一样,仅仅依靠一些人从零开始,从编码到设计一竿子做到底。
构件技术的出现是对传统软件开发过程的一次变革。
构筑在“构件组装”模式之上的构件技术,使软件技术人员摆脱了“一行行写代码”的低效编程方式,直接进入“组装构件”的更高阶段。
工业化革命的伟大创新在于:功能再复杂的产品都可以由大量标准的零部件组装而成。
分工越细、专业生产程度越高,总体生产效率就越高。
那么我们的软件行业目前也在面临着一场大的革命,即改变传统的开发方法,提高软件的开发效率,使得软件的开发进入可选部件的组装阶段。
这就是目前我们提出的基于软件构件的软件开发过程。
基于构件的软件开发,不仅使软件产品在客户需求吻合度、上线时间、软件质量上领先于同类产品,提高了项目的成功率,而且对软件的开发和维护变得十分简单,客户可以随时随地应对商业环境变化和IT技术变化,实现“快速定制”。
从最终用户的角度来看,采用基于构件技术搭建的系统,在遇到业务流程变革或系统升级等问题时,不再需要对系统进行大规模的地震式的改造,只需对构件进行重新搭砌的方式,使之重新排列、组合,就可以组装成新的系统,或者通过增加新的构件、改造原来的构件来实现。
由于不用在代码层进行一个个改编和测试,因此可以很快开发出新的系统。
结合面向对象和构件化技术的领域需求分析方法软件的可复用性是人们评价一个软件系统的重要指标。
软件复用是提高软件生产效率与质量的一种有效途径,它可以通过软件中的可复用构件(reusable component)来实现,即通过集成已有的构件来创建新系统。
以领域分析为基础的特定领域复用(Domain-Specific Reuse)是提高软件复用水平的重要途经之一。
将目标集中在一个特定应用领域中实现软件复用,从构件的开发到构件的存储与管理都比较容易。
本文对结合面向对象、FODA方法和构件化思想的领域分析方法进行了初步探索,提出了构件化的领域分析方法,从而为在软件开发的前期阶段实现构件化开发,更加有效地实现软件复用提供了指导。
1 相关理论1.1 软件复用软件复用是指重复使用“为了复用目的而设计的软件”的过程。
软件复用是在软件开发中避免重复劳动的解决方案,其出发点是应用系统的开发不再采用一切“从零开始”的模式,而是以已有的工作为基础,充分利用过去应用系统开发中积累的知识和经验,如:需求分析结果、设计方案、源代码、测试计划及测试案例等,从而将开发的重点集中于应用的特有构成成分。
与软件复用相关的两个基本开发活动是面向复用的开发和基于复用的开发,前者是生产可复用构件的过程,后者是利用现有的可复用构件生产新系统的过程。
它们分别对应领域工程和应用工程,处理好它们之间的关系,才能实现真正成功的软件复用。
1.2 领域工程领域工程是为一组相似或相近系统的应用工程建立基本能力和必备基础的过程,它覆盖了建立可复用的软件构件的所有活动。
其中“领域”是指一组具有相似或相近软件需求的应用系统所覆盖的功能区域。
领域工程是创建可复用构件的过程,其核心思想是:应用模式领域化,问题抽象通用化,软件元素重用化,开发过程工程化。
实施领域工程的过程可以分为以下三个主要的阶段:(1)领域分析:目标是获得领域模型。
(2)领域设计:目标是获得DSSA(特定领域软件体系结构)。
Software Development •软件开发Electronic Technology & Software Engineering 电子技术与软件工程• 45【关键词】软件构件技术 软件BOM 软件工程 构件化软件开发过程1 引言物料需求清单(Bill of Material ),简称BOM ,是产品结构的技术性描述文件,表明了产品组件、子件、零件直到原材料之间的结构关系,以及每个组装件所需的各子部件的数量,多用于生产制造类企业。
生产制造系统常用BOM 来管理繁多而又关联的物料,BOM 描述了装配件的结构化零件表,且随着用户需求、设计的更改而处于动态的变化与更新之中,BOM 可快速准确地提供所有物料清单,是提高生产管理系统效率的关键环节。
早在1968年,NATO 组织的软件工程会议上,Mcllroy 首次提出了“软件工程”、“软件构件”以及“软件工厂”等概念。
1975年开始举办的世界软件工程大会ICSE ,提出了在软件生产中采用工程化的方法来开发软件。
而软件BOM 就是这软件工厂用来管理软件构件的工具。
狭义上讲,构件是指一个对象(接口规范或二进制代码),它被用于复用,接口被明确定义。
软件构件一般指对外提供一组规约化接口的、符合一定标准的、可替换的软件系统的程序模块。
开发者可以通过组装已有的构件来开发新的应用系统,从而达到软件复用的目的。
20世纪90年代,美国国防部提出了基于模块的开放式系统方法(MOSA )。
提出采用开放式的松耦合标准化模块,能有效地控制和降低成本。
软件BOM 是需求分析和概要设计的产物。
需求分析是软件开发过程的重要环节,直接决定着软件的成败。
正确的需求分析会将用软件BOM 在构件化软件开发过程中的应用文/王艳丽户的需求分解为软件的功能、性能和接口等,进而进行软件概要设计和详细设计,将抽象的功能、性能和接口等转化为一个个相互关联的构件。
本文将详细阐述软件BOM 在构件化软件开发过程中的设计流程、采用的形式及其应用价值。
38 •电子技术与软件工程 Electronic Technology & Software Engineering软件开发• Software Development【关键词】构件 软件开发 技术构件的软件开发流行于20世纪90年代,一个软件构件是可执行软件的一个可分离的单元。
构件可以提高软件开发中构件复用成度,缩短软件的开发周期,提高系统的稳定性,软件构件是软件复用的基本单元,为了实现软件的复用,必须不断地积累软件部件,并将其组成软件库。
了解构件的软件开发技术和方法可以从构件的概念及应用优势、构件的主要内容和构件的软件开发过程来了解。
1 构件的概念及构件的应用优势构件是软件的构成元素,它几乎是独立并可被替换的一部分。
其可以明确辩识,可以通过构件接口访问它所提供的服务。
而且构件和语境有明显依靠关系,是可以组装的软件实体。
从广义上讲构件可以是数据,也可以是被封装的对象类、软件构架、文档、测试用例等。
软件构件是由第三方提供的可组装软件实体,软件构件都承载着一些有用的功能,并且遵循某种构件模型。
可复用构件则是指具有可复用价值的构件。
当前我国软件企业方面面对着日益增加的竞争压力,在国际市场上稍不注意就有可能会被淘汰,角逐愈激烈愈能促进软件这个行业的发展。
传统软件开发方式仅仅是通过软件开发人员手工设计的模式,如果稍有变动就必须重新开发系统。
这样很难跟得上现在软件行业的发展。
然而现在的构件软件技术在碰到业务流程发生变化或系统升级等情况时,不需要全盘推翻重新开发,只需要增加新的构件或改动原来的构件即可完成。
这样不仅节省时间和成本,还大大提升了软件开发的效率。
相比于传统的软件开发技术,构件的软件开发的软件产品更能吻合客户的需求,上市时间和软件质量也是遥遥领先于传统的软件开发。
2 构件的主要内容构件的主要内容可以从构件的基本特点、构件的软件开发技术和方法文/车雪构件的要素和常用构件的基本模式进行大致的了解。
基于构件的软件开发研究现今的软件开发已脱离了传统的手工作坊模式,更注重软件开发效率及软件产品质量的提高。
要在软件开发中解决重复劳动的问题,可采取软件复用技术,以不断提高软件开发的质量及效率。
而软件构件是当前支持软件产品复用的有效形式,是支持软件复用的核心技术。
不断进展及成熟的软件构件技术为现今的软件开发提供了新的方法,也能有效地推进软件生产方式的变革,提高软件产品的质量及软件生产的效率。
1 基于构件的软件开发基于构件的软件开发将现成的软件构件集成并构造成一个大型得软件系统,此方法可以快速组装系统,有效降低软件开发成本,提高软件系统的可维护性及灵活性,降低系统的维护费用。
与传统的软件系统开发注重开发,而忽略可复用构件的存在这一做法不同,基于构件的软件系统开发更注重如何获得己经存在的构件,而不是开发,组装和集成现有的构件是基于构件的软件系统开发的主要着眼点。
基于构件的软件系统开发的过程如下:(1)检索构件:检索构件的过程包括如何根据描述构件、创建构件库。
领域工程师开发出新的应用构件,并用文档加以描述。
通过领域分析、自行开发、逆向工程或者商业购买等途径来获得所需要的构件。
(2)选择构件:从构件库中选择合适的构件,并验证构件的功能、接口等。
(3)适配构件:修改或者定制所选择的构件来满足新的应用环境的系统需求,以便能与其他构件进行集成。
(4)组合构件:将不同的构件集成和组装在一起。
2 检索构件检索构件指的是从大量的构件所构成的构件库中找出合适的构件。
目前互联XX上有许多专门的构件库,各个Web站点上也提供了构件的链接,但是不同的构件库有不同的组织和访问方式,从而造成了对各构件库中的构件访问困难,并且Web站点上链接的构件也无法用传统的检索引擎检索到。
只有将XX络上的构件资源加以利用到构件系统的开发中,才能实现缩短软件开发周期,提高软件质量的目的。
现今人们对软件需求愈加体现了个性化、多样性的特点,以往的多种功能单一软件包方式无法满足用户的需求,因此在基于构件的软件开发研究中,应在同意用户选择服务组合的基础上,同意在构件级别上对单一的服务进行功能集和界面等的定制,在服务定制的粒度上应该更细,也应该更具灵活性。