论文部分内容阅读
摘 要: 软件复用技术是近年来较为常用的软件开发技术,由于技术的成功复用,能够对软件开发过程进行质量、效率与成本的优化,通过比较分析web数据开发中两种不同方式的软件复用技术应用,为软件复用技术的实际应用提供有效的参考资料。
关键词: 软件复用技术;Web数据库;开发
中图分类号:TP311.5 文献标识码:A 文章编号:1671-7597(2011)1210143-01
软件复用技术(Software Reuse)是将软件开发过程中能够重复使用的相似或相同部分与元素进行模块化后,以调用的方式进行使用的软件开发技术。这些能够复用的软件元素包括设计过程、需求分析说明、设计规格说明、测试范例、程序代码块。在软件开发项目中,这些元素能够是整体软件工程目标中的构件或者是软件开发过程中起到特定作用的部分,这些软件元素能够设计成为可复用的构件。
1 软件复用及组件技术
软件复用技术的核心概念支持是抽象方法,它能够对软件工程中可复用模块进行概括,将可复用对象中的基本操作与核心属性进行提炼,包括环境、语言和其他细节方面。软件按复用的程序通常与可复用对象的抽象深度成正相关,即是说软件工程可复用对象的抽象层次深度决定了软件的可复用程序。抽象层次越深,元素与具体的细节与环境的相关性就越低,元素与其他软件工程的契合度就越高、复用可能性就越大。软件工程元素抽象实现的核心工具是领域分析。领域分析能够以特定行业与领域的技能与知识,对软基工程中的元素进行分类和抽象,将对象的概念与关系提炼出来,从而实现软件系统整体结构的概念实现,满足软件复用的基本条件。软件复用有三个基本原则:一是必须有可以复用的对象;二是所复用的对象必须是有用的;三是复用者需要知道如何去使用被复用的对象。软件复用包括两个相关过程:可复复用用软件构件的开发(Development for Reuse);基于可复用软件构件的应用系统构造(集成和组装)(Development with Reuse)。解决好这几个亢面的问题才能实现真正成功的软件复用。
想要实现现有软件可复用构件在以后的软件开发过程中的使用,必须在新的软件开发过程前实现可复用软件构件的规模化,实现可复用构件的软件工程构件库。软件复用技术要求软件工程开发过程中,必须考虑已有软件复用构件的构成机制,还必须对生成今后可用的软件复用构件进行规划。这种软件工程项目被称作软件复用项目。该技术和软件产品大小的结合多于和复用发生规模的结合。软件复用分为生成式复用与构装式性复用两类。
1.1 生成式软件复用
软件复用的生成模式是对软件工程模式的服用,是通过程序生成可复用程序的方式来实现复用的。以程序生成过程的定制或者专有来实现程序生成的复用。这种模式的作用如同生产机器,产出用以复用的软件构件。
1.2 构装式软件复用
构装式软件复用是以元件构装的方式来实现软件复用的工程方法。在构装式软件复用过程中,已有的软件复用构件可以稍作修改甚至不做修改直接使用,以拼装的方式组合起来,实现目标软件系统的构建。核心思想与现代计算机中集成电路芯片构成计算机硬件系统的思想类似。
2 基于软件复用的web数据库开发
2.1 生成式软件复用模式的web数据库
B/S结构的数据库系统结构中,核心内容为数据库的存取。以Recordset的设计模式为基础,在web应用中能够让页面元素与数据库中的元素紧密连接起来,同时,服务器端的动态页面构建中脚本程序的实现已经能够很大程度上与数据库操作语言相结合,具有极高的精炼程度,以需求为导向在程序上进行适当的变动既可以实现数据库的访问。所以,以页面生成方式为核心的软件复用技术在web数据库系统的开发应用过程具有极高的契合度。
以生成式软件复用技术为核心的典范之一就是DW(MX版本)中的服务器行为。在DW的较低版本中,服务器模式与其他的传统网页设计软件一样,处于单一的服务器操作环境中。而在MX版本中,DW以JSP和ASP为基础融合了大量的服务器行为,并将这些服务器构装成为模板的形式直接融合到开发环境中,同时对多数当前流行的关系数据库与web数据库都兼容支持,在网页开发环境中受到了普遍欢迎。而这一成功可以说是由生成式软件复用技术带来的。
DW中的服务器行为中继承了JSP进行web数据库开发中经常用到的基本功能,在服务器行为选择后会有窗口谈书,在窗口进行参数的选择就会导出对应的定义代码。比如,首先进行数据库的选择连接,然后在弹出窗口中选择连接的定义,并进行命名,再进行数据库中表与列的选择,同时还能够进行相应的排序与筛选规则的设定,这样进行记录集的定义后,就能够自动生成数据速的链接代码与记录集代码。具体的记录集定义流程如图1所示。
图1 具体的记录集定义流程
2.2 构装式软件复用模式的数据库
传统的web数据库系统构成是由三层结构构成的,分别为数据库层、应用层与用户接口层。在三层模型中,命令被发送到服务的中间层,中间层再将命令发送给数据源。数据源处理这些命令并将结果发送回中间层,接着将结果发送给用户。管理信息系统(Management Information System,MIS)管理者发现三层模型极具诱惑力,这是因为中间层使得维护控制(对公司数据的访问)和(对公司数据所进行的)各类更新成为可能,另一个优点是它简化了应用程序的开发。
到目前为止,JDBC驱动程序人体上分成四类:1)JDBC-ODBC桥驱动程序加ODBC驱动程序:SunMicrosystems桥产品通过ODBC程序提供JDBC访问。注意,ODBC二进制代码(在许多情况下部是客户代码)必须在使用这个驱动程序的所有客户机上加载。因此,这种类型的驱动程序最适合十两种场合:其一是适合了客户安装比较方便的公司网络,其二是三层体系结构中Java编写的应用服务器代码。2)本地APl部分Java驱动程序:这种类型的驱动程序将JDBC调用转换为Oracle,Sybase、Informix、DB2或其它DBMS的客户API调用。3)JDBC-Net纯Java驱动程序:这类驱动程序将JDBC调用转换成独立于DBMS的网络协议,接着由网络服务器将其转换为DBMS协议。这种网络服务器的中间件有能力将其纯Java客户同许多不同的数据库相连接,所使用的具体协议取决于厂家。通常,这是最灵活的JDBC转换方案。这种驱动程序的所有厂商都会提供适合于Intranet使用的产品。为了使这些产品也支持Intemet访问,这些产品必须应付Web强加的安全、穿过防火墙进行访问等额外要求。4)本地协议纯Java驱动程序:这种类型的驱动程序将JDBC调用直接转换为DBMS使用的网络协议。这类驱动程序允许从客户机直接对DBMS服务器进行调用,是Intranet访问的优秀解决方案。这类驱动程序适合的几种数据库系统包括Oracle、Sybase、DB2、Borland Inter Base和Microsoft SQL Server。JDBC的驱动程序实现如图2所示。
图2 JDBC的驱动程序实现
3 结束语
Web数据库中软件复用技术的两种模式都有不同的优势与缺点。生成式软件复用模式具有的优势为:① 以Recordset设计模式为基础,以数据源为核心,通过查询语言实现对数据库的访问;② 与程序员的常用开发方式相符,极大缩短了学习实践,让数据库开发过程具有更高的效率与速度。而同时也不可避免的具有一定局限性:① 网络页面元素与数据库元素的耦合链接高,代码量比较大,且结构较为复杂,维护过程中困难度较大。② 程序生成器不具有可逆性,因此在完成构建之后如果进行代码的修改,需要重新完成程序代码的生成过程。因此,在业务逻辑关系较为复杂的web数据库开发过程中经常选中构装式软件复用生成模式。
由于构装式软件复用模式是将功能不同的独立构件以合成的方式进行组装,而单独的构件在完成的过程中已经经过检验且能够提供完整的功能服务,在整个web数据库系统中具有较高的可维护性与鲁棒性。而同时构装式软件复用技术也具有一定的缺点。开发过程中整体的工作量大幅度降低,而同时在技术学习中投入的时间与精力增加,经常有项目开发过程中成员对系统构架不够熟悉而耽误进度的情况发生。
因此,在软件复用模式下进行的web数据库开发,需要正确认识项目中存在的风险,在决定项目工具的选用前,要对系统应用不同的软件复用模式进行运行与性能的了解与评估。
参考文献:
[1]李晓琴、李红,复用技术在软件工程领域中的应用[J].电脑开发与应用,2011(02).
[2]林道焰,基于B/S模式的成件库管理系统的研究及实现,哈尔滨工业大学,2008.
[3]殷小虹、武友新,可复用构件的WEB应用初探[J].经营管理者,2009
(19).
关键词: 软件复用技术;Web数据库;开发
中图分类号:TP311.5 文献标识码:A 文章编号:1671-7597(2011)1210143-01
软件复用技术(Software Reuse)是将软件开发过程中能够重复使用的相似或相同部分与元素进行模块化后,以调用的方式进行使用的软件开发技术。这些能够复用的软件元素包括设计过程、需求分析说明、设计规格说明、测试范例、程序代码块。在软件开发项目中,这些元素能够是整体软件工程目标中的构件或者是软件开发过程中起到特定作用的部分,这些软件元素能够设计成为可复用的构件。
1 软件复用及组件技术
软件复用技术的核心概念支持是抽象方法,它能够对软件工程中可复用模块进行概括,将可复用对象中的基本操作与核心属性进行提炼,包括环境、语言和其他细节方面。软件按复用的程序通常与可复用对象的抽象深度成正相关,即是说软件工程可复用对象的抽象层次深度决定了软件的可复用程序。抽象层次越深,元素与具体的细节与环境的相关性就越低,元素与其他软件工程的契合度就越高、复用可能性就越大。软件工程元素抽象实现的核心工具是领域分析。领域分析能够以特定行业与领域的技能与知识,对软基工程中的元素进行分类和抽象,将对象的概念与关系提炼出来,从而实现软件系统整体结构的概念实现,满足软件复用的基本条件。软件复用有三个基本原则:一是必须有可以复用的对象;二是所复用的对象必须是有用的;三是复用者需要知道如何去使用被复用的对象。软件复用包括两个相关过程:可复复用用软件构件的开发(Development for Reuse);基于可复用软件构件的应用系统构造(集成和组装)(Development with Reuse)。解决好这几个亢面的问题才能实现真正成功的软件复用。
想要实现现有软件可复用构件在以后的软件开发过程中的使用,必须在新的软件开发过程前实现可复用软件构件的规模化,实现可复用构件的软件工程构件库。软件复用技术要求软件工程开发过程中,必须考虑已有软件复用构件的构成机制,还必须对生成今后可用的软件复用构件进行规划。这种软件工程项目被称作软件复用项目。该技术和软件产品大小的结合多于和复用发生规模的结合。软件复用分为生成式复用与构装式性复用两类。
1.1 生成式软件复用
软件复用的生成模式是对软件工程模式的服用,是通过程序生成可复用程序的方式来实现复用的。以程序生成过程的定制或者专有来实现程序生成的复用。这种模式的作用如同生产机器,产出用以复用的软件构件。
1.2 构装式软件复用
构装式软件复用是以元件构装的方式来实现软件复用的工程方法。在构装式软件复用过程中,已有的软件复用构件可以稍作修改甚至不做修改直接使用,以拼装的方式组合起来,实现目标软件系统的构建。核心思想与现代计算机中集成电路芯片构成计算机硬件系统的思想类似。
2 基于软件复用的web数据库开发
2.1 生成式软件复用模式的web数据库
B/S结构的数据库系统结构中,核心内容为数据库的存取。以Recordset的设计模式为基础,在web应用中能够让页面元素与数据库中的元素紧密连接起来,同时,服务器端的动态页面构建中脚本程序的实现已经能够很大程度上与数据库操作语言相结合,具有极高的精炼程度,以需求为导向在程序上进行适当的变动既可以实现数据库的访问。所以,以页面生成方式为核心的软件复用技术在web数据库系统的开发应用过程具有极高的契合度。
以生成式软件复用技术为核心的典范之一就是DW(MX版本)中的服务器行为。在DW的较低版本中,服务器模式与其他的传统网页设计软件一样,处于单一的服务器操作环境中。而在MX版本中,DW以JSP和ASP为基础融合了大量的服务器行为,并将这些服务器构装成为模板的形式直接融合到开发环境中,同时对多数当前流行的关系数据库与web数据库都兼容支持,在网页开发环境中受到了普遍欢迎。而这一成功可以说是由生成式软件复用技术带来的。
DW中的服务器行为中继承了JSP进行web数据库开发中经常用到的基本功能,在服务器行为选择后会有窗口谈书,在窗口进行参数的选择就会导出对应的定义代码。比如,首先进行数据库的选择连接,然后在弹出窗口中选择连接的定义,并进行命名,再进行数据库中表与列的选择,同时还能够进行相应的排序与筛选规则的设定,这样进行记录集的定义后,就能够自动生成数据速的链接代码与记录集代码。具体的记录集定义流程如图1所示。
图1 具体的记录集定义流程
2.2 构装式软件复用模式的数据库
传统的web数据库系统构成是由三层结构构成的,分别为数据库层、应用层与用户接口层。在三层模型中,命令被发送到服务的中间层,中间层再将命令发送给数据源。数据源处理这些命令并将结果发送回中间层,接着将结果发送给用户。管理信息系统(Management Information System,MIS)管理者发现三层模型极具诱惑力,这是因为中间层使得维护控制(对公司数据的访问)和(对公司数据所进行的)各类更新成为可能,另一个优点是它简化了应用程序的开发。
到目前为止,JDBC驱动程序人体上分成四类:1)JDBC-ODBC桥驱动程序加ODBC驱动程序:SunMicrosystems桥产品通过ODBC程序提供JDBC访问。注意,ODBC二进制代码(在许多情况下部是客户代码)必须在使用这个驱动程序的所有客户机上加载。因此,这种类型的驱动程序最适合十两种场合:其一是适合了客户安装比较方便的公司网络,其二是三层体系结构中Java编写的应用服务器代码。2)本地APl部分Java驱动程序:这种类型的驱动程序将JDBC调用转换为Oracle,Sybase、Informix、DB2或其它DBMS的客户API调用。3)JDBC-Net纯Java驱动程序:这类驱动程序将JDBC调用转换成独立于DBMS的网络协议,接着由网络服务器将其转换为DBMS协议。这种网络服务器的中间件有能力将其纯Java客户同许多不同的数据库相连接,所使用的具体协议取决于厂家。通常,这是最灵活的JDBC转换方案。这种驱动程序的所有厂商都会提供适合于Intranet使用的产品。为了使这些产品也支持Intemet访问,这些产品必须应付Web强加的安全、穿过防火墙进行访问等额外要求。4)本地协议纯Java驱动程序:这种类型的驱动程序将JDBC调用直接转换为DBMS使用的网络协议。这类驱动程序允许从客户机直接对DBMS服务器进行调用,是Intranet访问的优秀解决方案。这类驱动程序适合的几种数据库系统包括Oracle、Sybase、DB2、Borland Inter Base和Microsoft SQL Server。JDBC的驱动程序实现如图2所示。
图2 JDBC的驱动程序实现
3 结束语
Web数据库中软件复用技术的两种模式都有不同的优势与缺点。生成式软件复用模式具有的优势为:① 以Recordset设计模式为基础,以数据源为核心,通过查询语言实现对数据库的访问;② 与程序员的常用开发方式相符,极大缩短了学习实践,让数据库开发过程具有更高的效率与速度。而同时也不可避免的具有一定局限性:① 网络页面元素与数据库元素的耦合链接高,代码量比较大,且结构较为复杂,维护过程中困难度较大。② 程序生成器不具有可逆性,因此在完成构建之后如果进行代码的修改,需要重新完成程序代码的生成过程。因此,在业务逻辑关系较为复杂的web数据库开发过程中经常选中构装式软件复用生成模式。
由于构装式软件复用模式是将功能不同的独立构件以合成的方式进行组装,而单独的构件在完成的过程中已经经过检验且能够提供完整的功能服务,在整个web数据库系统中具有较高的可维护性与鲁棒性。而同时构装式软件复用技术也具有一定的缺点。开发过程中整体的工作量大幅度降低,而同时在技术学习中投入的时间与精力增加,经常有项目开发过程中成员对系统构架不够熟悉而耽误进度的情况发生。
因此,在软件复用模式下进行的web数据库开发,需要正确认识项目中存在的风险,在决定项目工具的选用前,要对系统应用不同的软件复用模式进行运行与性能的了解与评估。
参考文献:
[1]李晓琴、李红,复用技术在软件工程领域中的应用[J].电脑开发与应用,2011(02).
[2]林道焰,基于B/S模式的成件库管理系统的研究及实现,哈尔滨工业大学,2008.
[3]殷小虹、武友新,可复用构件的WEB应用初探[J].经营管理者,2009
(19).