【浅论基于不同语言的软件流程再造】 语言符号系统指什么
摘要:随着计算机技术的飞速发展,软件系统的更新就成了用户必须要面对的问题。该课题探讨运用软件流程再造方法如何在原有系统的基础上开发新的系统。实验结果表明,如果编程语言间在结构和内置函数上存在很大差异,那么从原有的系统中可以获得其所描述的程序功能。
关键词:遗赠系统;软件流程再造;逆向工程;计算机辅助软件工程(CASE);统一建模语言(UML)
中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)20-4875-04
Software Process Reengineering Based on Different Languages
RAO Jian-nong, TANG Jie
(Department of Computer Science, Shaozhou Normal Branch School, Shaoguan University, Shaoguan 512026, China)
Abstract: With the rapid development of computer technology, the software system updates became users have to face problems.This top ic discussed using the software process reengineering method in the original system how developed on the base of the new system.The ex perimental results show that, if the programming language in the structure and internal function differ greatly from the original, so the sys tem can obtain the described procedure function.
Key words: legacy systems; software re-engineering; reverse engineering; computer-aided software engineering(CASE); unified modeling language(UML)
1介绍
许多公司,存在着旧的软件系统仍然提供必要的商业服务的现象。这种系统被称为遗赠系统。这种遗赠系统的维护带来了三个显著的问题:系统通常由不同的程序员调整过;系统的调整通常是每过一段时间之后进行的,可能是10到20年;多数情况下都缺少系统文件。
因此,对于个人或者公司来说完整理解整个系统是不可能的。当这些问题在未来达到某种程度,当维护成本昂贵或者太复杂的时候,系统就需要更新。
当更新遗赠系统时,有三种方法可供选择:
第一种叫作“cold turkey”,也就是抛弃旧的系统,开发新的系统。
第二种就是在不改变旧系统功能的基础上,重新组织和构建系统。这项工作被称为软件流程再造。
第三种观点就是在旧系统仍然使用的过程中,按照逐渐增加的功能慢慢地重建系统。这种观点被称为“chicken little”。
第二种方法是优先考虑的,因为它相比开发一项全新的系统有两个主要的优势:减少了风险和成本。
2软件流程再造的概念
2.1软件流程再造的介绍
改变软件系统,不改变其功能,称为软件再造。软件再造和通常的软件开发比较,不同的是早期开发的系统被用作系统再造过程中的一种输入,如图1所示。
图1软件流程再造过程
软件改造主要是使系统具有更强的可维护性和稳定性,以此来延长软件的使用寿命,减少维护成本。有时软件改造由于新的要求是必须要进行的,而这一要求就不包括在原系统内。新的要求比如说有:改变原有系统运行环境或者需要执行新的功能。
现有的系统可以用于产生软件规格,以此来理解新系统。同时现有的系统也可用于转换系统的的运行语言(比如说从C++到Java)。由于系统可维护性和可检验性需求的日益增长,软件流程再造领域变得越来越重要。
2.2软件流程再造的过程
软件再造的目的是建立一个过程,在此过程中,几个阶段是可以定义的。软件再造将这一过程分解成五个关键的阶段:初步清单分析、封装、应用分析、产品标准化和设计恢复。
2.2.1初步清单分析
在软件改造进行之前,对于现有系统的目录分析必须进行。这样做是为了确定整个系统再造结果的范围。在这个阶段中,开发系统组件的详细目录是不必要的。主要目的是测定在这一过程中软件应当达到的程度。所需系统的需求规格说明也将在这一阶段产生。
2.2.2封包
封包对流程改造是必要的,因为它确定所有的系统是被识别的。这一阶段将指导系统识别所有可能出现的组件,同时也会发现不是系统组成部分的组件,可能使用到软件工具,可能产生自动分析。使用手工和自动分析相结合的分析方式将会在最短的时间内提供最精确的详细目录数量。
2.2.3应用分析
当应用分析执行的时候,有两个属性需要考虑:支持系统功能需求的能力;系统的设计和使用技术。这个阶段为流程再造过程中什么需要重点改进提供了洞察力,主要目的是更好地了解功能实现和如何提高系统的技术质量。
2.2.4产品标准化
产品标准化把一个现有的系统转变成一个执行起来更简单的系统,在功能和技术方面更接近于现有系统。通过这一阶段,软件在维护和运行方面变得更有效,系统对于来自于内外部的压力也会变得更敏感。举例来讲,当系统的功能和技术方面得到完善的时候,合并系统中新的组件也变得更容易。
