软件复用技术在MIS开发中的应用
2013-07-05肖增凯
肖增凯
【摘 要】将可复用构件技术引入MIS的开发,进一步提出了具体开发模式和需求分析、系统设计、系统实现、系统测试、系统维护等开发过程。
【关键词】软件复用;构件;MIS;开发模式
0.引言
构件技术的出现是对传统MIS开发过程的一次变革,它是基于面向对象的、以嵌入后马上可以“即插即用”概念为中心、通过构件的组合来支持应用的技术体系。软件复用模式是产业工程化、工业化的必由之路。标准零部件生产业的独立存在和发展是产业形成规模经济的前提。软件产业要发展并形成规模经济,标准构件的生产和构件的复用是关键因素。这正是软件复用受到高度重视的根本原因。
许多研究人员从不同角度对软件复用这个概念做了说明。比较权威和通用的定义是:软件复用是指重复使用“为了复用目的而设计的软件”的过程,而可复用软件则是指为了复用目的而设计的软件。软件复用更强调的是复用的目的,它是一种系统化的方法,为了复用而进行设计,为了复用而开发,并且要有效地组织和管理这些复用产品,方便人们查找和使用,基于复用品进行开发。
1.构件技术
软件构件的概念产生于软件复用。构件(Component)是指应用系统中可以明确辨识的构成成分。而可复用构件(Reusable Component)是指具有相对独立的功能和可复用价值的构件。构件是一种定义良好的独立可复用的二进制代码,它可以是一些功能模块、被封装的对象类、软件框架、软件系统模型等。构件具有以下特点:构成粒度大小较自由;通过规定一个统一的二进制标准,建立构件之间的智能互操作机制和实现语言独立性;外界仅通过接口访问构件:多侧面性;支持封装、继承和多态性;构件位置透明性。可复用构件应具备如下属性;有用性;可用性;高质量;适应性;可移植性。
构件模型定义了构件的本质属性,规定了构件接口的结构以及构件与软件构架、构件与构件之间的交互机制。构件模型通常还提供创建和实现构件的指导原则。构件模型是为开发者定义软件构件而建立的体系结构和API集,使开发者可通过软件构件的动态组合来建立应用系统。构件模型由构件与容器两种主要成分构成。构件是具有可复用特性的基本软件部件。容器用于存放和安排构件,实现构件间的交互。容器也可以作为另一个容器的构件使用。现有的构件模型一般认为构件由构件接口和构件内容两部分组成。构件接口就是为成功复用该软件实体而需要提供给外界的所有信息,包括构件向外提供和请求的服务、构件的自述信息和定制信息、构件的初始化、实例化和永久化方法以及构件对目标复用环境的依赖和构件组装信息等。构件内容就是用于直接复用的软件实体,它可以具有源代码、二进制码、文档、分析设计模型和脚本等不同的物理形态,并遵从一定的格式标准。
软件构架技术研究如何快速、可靠地应用可复用构件系统进行系统构造的方式,着重于软件系统自身的整体结构和构件间的互联。其中主要包括:软件构架原理和风格、软件构架的描述和规约、特定领域软件构架、构件向软件构架的集成机制等。特澍重要的是,在基于可复用构件的软件开发中,为复用而开发的软件构架可以作为一种大粒度的、抽象级别较高的软件构件进行复用。
2.可复用构件MIS开发过程
基于可复用构件MIS的开发过程有如下5个步骤:
2.1需求分析
基于可复用构件的MIS需求分析可以采用改进后的信息模型法,在数据分析、建立稳定的数据集合和逻辑数据模型的基础上,从信息模型、状态模型和功能模型中组织构件,建立系统模型。更多的是采用00A,由此提炼的类构件对构件复用更有利。要利用在开发MIS系统之初准备的构件库,并收集一些已经开发出的MIS的总体设计、规范、局部流程以及某些人机界面、通用功能模块、简单开发工具等。使用户需求的系统模型尽可能与已收集的可复用构件等成分相联系。
2.2系统设计
在构件复用情况下,由于代码被封装于构件之中,所以系统设计的目标应是可以实现的构件表达式,以支持后续的实现环节。MIS系统设计在内容上包括了数据设计、体系结构设计和过程设计等,在阶段划分上,又可以分为概要设计和详细设计。在概要设计阶段,MIS设计的任务是确定系统的概况,即把需求转化为概念数据模型和软件体系结构,该阶段的工作需要MIS构件库的支持。在详细设计阶段,逻辑数据模型通过进一步细化转换成物理数据模型,如数据库结构。为了使体系结构的实现变为可能,需要将体系结构中的过程构件(模块)定义映射成实际程序构件的结构化表达式。对相对于构件库无解的模块需要进行原先的过程设计。至此,需求信息转换为程序员可以接受的设计方案。
2.3系统实现
在MIS实现中,首先是数据库的实现,可以通过MIS建模工具自动在DBMS上完成,也可以由用户利用相应工具手工完成。其次是把构件表达式变成程序实现。现将进行过程分析得到的描述信息称为过程构件。对于过程构件,可以用某一具体语言加以实现,最好使用对象对其进行封装。对于无需改动的可复用构件,仅需要根据构件索引将其从构件库中提取出来,作为MIS的一个模块。多数情况下,需要对提取出的构件进行改造以适应新的应用系统。常见的改造形式是修改源程序,还可以通过面向对象的继承、重载及动态编联等特性进行改造。在一些情况下,还需要组合几个构件形成更大粒度的构件以满足某一特定功能需要。通过以上方法形成各个功能模块,再将这些模块通过控制模块联系起来形成应用系统雏形。
2.4系统测试
根据需求分析中提出的功能要求、性能要求等设计测试用例,对系统进行全面测试、验证、优化,形成MIS系统原型,提交给用户评价。根据评价意见,返回前面的相关步骤,进行修改。通过复用上次开发过程的成果,很快便形成新的原型,直到需求得到满足,MIS系统发布为止。
2.5系统维护
基于可复用构件的MIS由于其自身的特点,因此必须重新考虑MIS的维护问题。一个基于可复用构件的MIS采用的构件可以是COTS构件、公开构件、自由构件、共享构件等。对构件集成者来说,当把这些构件集成到系统中时,由于缺乏部分或全部源代码,使得维护变得十分困难。如果构件全部是“黑盒”,其可见部分仅局限于描述构件使用和功能的文档上,那么这对全部由黑盒构成的系统的维护,又增添了新的难度。对构件卖主来说,不能只考虑特定MIS应用领域的某一源代码块,而应维护被不同用户所使用的所有代码。因为每个MIS应用可能在需求上有一点差别,修改后的构件必须对所有的MIS应用都适用。
【参考文献】
[1]夏洁武.基于构件/构架的软件开发方法[J].计算机应用与软件,2006(10).