学位专题

<
DOI:10.7666/d.y1746083

基于构件化软件的动态演化研究与应用

管贤春
广东工业大学
引用
由于用户需求和运行环境会不断的变化,软件系统在运行过程要不断地更新,这导致了软件演化性的不断增强,因而演化性也成为了软件的本质属性。目前软件演化主要分为两类:静态演化和动态演化。传统的静态演化的主要做法是根据用户新的需求,开发新的功能模块或更新已存在的功能模块,编译后生成新的应用程序,然后再部署更新后的系统。然而,对于某些领域的软件系统来说,它要求以7*24小时不间断地工作,如空中交通管制系统、金融交易系统、网络服务系统等,如果以静态演化的方式来更新系统,将会带来巨大的损失,这就要求软件具有动态更新的能力。正是由于动态演化具有不间断提供服务的优点。目前已成为软件工程研究的热点。   由于基于构件的软件开发提高了软件的可重用性,缩短了软件的开发周期,减低了软件的开发成本,提高了软件的质量和软件的互操作性,因而被越来越多的人所接受,同时也被认为是一种具有很好前景的开发技术。目前,基于构件的软件开发已经软件开发的主流,而基于构件开发的软件能够更好的支持软件的动态演化。使用传统语言(如C语言)开发的软件,由于其各功能模块是紧密耦合的,很难对功能模块进行动态演化,通常演化的粒度是整个应用程序。在面向对象的开发技术出现之后,由于其具有良好的封装性,不仅提高了软件的复用性,也为软件演化提供了良好的软件结构,但是其缺少对动态演化的支持和管理机制,因而也难于实现。而基于构件化的软件不仅具有良好的、支持动态演化的结构,而且构件运行的支撑平台可以对构件的生命周期进行管理,增强构件演化的灵活性和对构件动态演化进行有效管理。   本文首先对构件技术和软件动态演化技术进行了研究,对基于过程、面向对象和基于构件系统的动态演化进行了分析和研究。然后介绍了支持动态演化的类装载机制,Java反射机制以及动态演化过程中要解决的主要问题。本文根据EJB构件的生命周期的不同状态,给出了构件的动态演化方案(策略)。保证了处于不同生命周期状态的构件的演化工作能够正确、安全地进行,即不会导致构件状态的丢失和系统的不一致性。本文还给出了构件的动态演化框架,该框架的设计采用集中式管理方式,方便对演化过程的整体控制和管理。最后将软件动态演化技术和构件动态演化方案应用到教育采购系统中,实现对采购系统中的业务构件(EJB构件)进行动态演化,并通过一个权限管理中的角色管理构件(无状态会话Bean构件)为例来验证构件演化方案的可行性。

软件演化;构件状态迁移;演化策略;用户需求;软件系统;权限管理;角色管理

广东工业大学

硕士

计算机应用技术

徐海水

2010

中文

TP311.52

62

2010-12-22(万方平台首次上网日期,不代表论文的发表时间)

相关文献
评论
相关作者
相关机构
打开万方数据APP,体验更流畅