【摘 要】
:
现今,随着软件规模的扩大与软件需求的频繁变动,使得软件开发变得越来越复杂,敏捷开发思想的提出,在一定程度上减轻了开发人员的负担,但当软件所依赖的数据库结构发生变更时,
论文部分内容阅读
现今,随着软件规模的扩大与软件需求的频繁变动,使得软件开发变得越来越复杂,敏捷开发思想的提出,在一定程度上减轻了开发人员的负担,但当软件所依赖的数据库结构发生变更时,却没有好的成型的技术可以应用,需要开发人员去手动审查代码来查找需要对软件的源码做哪些修改以适应数据库结构的变更,这无疑是一项复杂且耗时的工程,而且由于工作量的庞杂,极易出现错误或遗漏的情况。鉴于这方面研究的还很不充裕,本文在调研了大量国内外文献的基础上,提出了一种当数据库结构发生变更时分析其对软件造成的影响的解决方案。本方案首先抽取软件所依赖的数据库信息,包括表的信息、字段的信息、字段的约束条件以及字段间的依赖关系,然后通过遍历应用程序软件的源代码,抽取出软件系统中的类信息和每个类中涉及到数据库操作的代码信息,包括SQL语句的定义、执行、执行结果应用三方面的信息,接下来根据数据库结构变更的SQL脚本,计算出本次变更对应用程序造成的影响,最后,通过一个真实的应用实例,模拟数据库结构变更的场景,验证该系统对数据库结构变更对程序影响的分析是否准确。其中,在抽取程序中数据库操作相关的语句信息时,考虑到由于设计模式或分布式设计使得SQL语句动态构成的情况,本系统应用程序切片的原理,通过数据流图与基于系统依赖图的算法,来解决这一难题。本文将程序切片的概念应用于程序波动分析领域,实现了当数据库结构变更时计算其对程序的影响这一功能,首先简要介绍了当前这一领域的研究现状,并在此基础上提出本系统的需求,定义自己的软件切片准则,设计算法从应用程序挖掘出需要关注的信息,从而计算出本次演化对程序的波动。最后,通过一个实际应用的场景测试该系统的可行性与易用性。
其他文献
随着科技和社会的发展,人们对信息精准化和应用智能化的需求越来越迫切。这需要搜索引擎能够理解用户所提交的问题,并快速给出精准的答案。这也需要更多的智能应用能够理解用户
当前,路由可扩展性问题已经成为国际互联网面临的一个主要问题。路由可扩展性问题的根源在于传统互联网体系架构中由于IP地址语义过载而引起的传输层与网络层的紧密耦合。针
本文以模型驱动的系统软件开发过程为核心,通过案例阐述在实际项目实施过程中需要遵循的原则和汇总的心得。同时通过对统一软件开发过程RUP、敏捷软件开发等流行的软件开发过
客户关系管理(CRM)是一种崭新的、国际领先的、以客户为中心的企业管理理论,它通过对客户详细资料的深入分析,使得企业可以低成本、高效率地满足客户的需求,从而让企业可以最
随着科学技术的发展,服务器和微型计算机的CPU已经从单核过渡到多核,将来的计算机将具有越来越多的计算资源。系统虚拟化将一台物理计算机系统虚拟为若干台虚拟计算机系统,在
随着地理信息系统以及移动通讯的发展,对人员、车辆、事件以及其他移动目标的定位需求已经提到了日程,并且具有极为广阔的市场发展前景。近年来,对手机等无线定位技术的研究,
RFID应用系统中通常会采集到大量原始的RFID数据,如果将这些大量原始的RFID数据直接提交给业务系统处理,那么业务系统就会变得异常的复杂,不具有很好的扩展性和灵活性,不能适
随着市场竞争越来越激烈,企业对信息化的支撑系统的需求越来越高,变化也越来越大。因此,如何快速、准确、方便地适应信息化系统对需求的变化研究具有极其重大的意义。工作流
自90年代以来,客户机/服务器(C/S)计算模式逐渐成为主流技术。然而研究和实践表明,两层C/S结构有很多缺陷。人们进而将终端的功能进行分解,提出三层C/S结构,客户端作为表示层
随着3G(Three Generation)时代的到来,用户对移动通信有了更高的期望,用户不仅要求有稳定的语音通信,而且还要求能够以数据和多媒体等多种方式进行通信。针对这些需求,3GPP(T