系统再造产生原因
1.在商业上要提高产品的竞争力。
2.在技术上要提高产品的质量。但这种愿望无法靠软件维护来实现,因为:
(1)软件的可维护性可能极差,实在不值得去做;
(2)即使软件的可维护性比较好,但也只是治标不治本。2
系统再造的分类系统再造是组织管理系统再造的规划、研究、设计、制造和使用的科学方法,对所有系统具有普遍适用意义,也是一门组织管理技术。系统再造为了更好地达到系统发展目标,对已有系统构成要素、组织结构、信息流动和控制机制等进行分析和模型设计。对于系统再造工程主要包括:软件再造工程、资料库再造工程、程序再造工程三部分。 1
软件再造工程软件再造工程也称为软件再生工程,其目的在于有计划地整建重要的旧系统,从而降低大量的长期维护成本,其中包括:重整结构、再造工程和反向工程。1
重整结构重整结构是指在不改变旧系统功能的情况下,重新安排程序的逻辑,使程序的复杂程度降低,可靠性提高。 1
再造工程对于所有的资料及程序重新梳理建立系统的管理程序,通过全盘掌握组织内所有资料定义,并使用各资料之间相关程序的输入和输出建立一个控制中心,作为改善系统和制定标准的基础,从而避免产生资料定义或格式不一致以及程序重复,资料处理无效的问题,它基本不具有改变原有程序的功能,只是寻找解决清除乱源的方法。1
反向工程反向工程是分析软件系统的一种程序,以便重新建立系统组成元素及相互之间关系的描述,其中资料的反向工程是从方程式的资料定义中找出各种资料的内容,存储在其中,并尝试找出各项资料之间的关系而画出资料结构图或是实体关系图。 1
资料库再造工程资料库再造工程分为资料再造、资料转换和资料库目录整合。 1
资料再造因企业业务变化或快速成长,当新系统之间必须加入新功能时,伴随而来的问题是必须改变原有的资料库架构,甚至是更换成较大型的资料库管理系统。但目前一般资料库所具有的资料转换工具仅适用于两种架构完全相同的资料库,若新系统的资料库架构为因业务流程改变或加入新的功能而必须改变资料库架构时,这些工具便不能使用,但信息乃是企业的命脉,如何使这些资料能完整的转换至新资料库中,是软件再造工程技术中很重要的一部分。 1
资料转换通过开放资料库连接器连接各种资料库,将旧资料库中的资料转换至新资料库中,其中牵扯到各种资料库中资料表的目录信息读取及资料形态转换,更广泛地还必须考虑到资料表间的关联性,以确保资料在转换过程中不失其正确性与完整性。 1
资料库目录整合在一个通过网络连接由不同资料库所组成的多资料系统中,为了使使用者在获取众多资料库系统内的资料时有一个统一的界面,各组成资料库的目录需被整合起来,建立一个整体目录。在众多资料库系统中,各资料库是独立设计完成的。因此建立整体目录的主要问题是如何解决各组成目录之间在设计上的不一致问题。定义相关特性,由资料库管理者用来指定组成目录间含义上的相关性。根据这些指定的相关特性,制定出整合规则,从而解决其设计上的不一致,然后再将其整合起来。整合技术的原则是要保证没有丢失信息,即原来在组成资料库中的资料在整体结构中都要能够得到获取。此外,含义相关的资料也能因目录整合而得到整合。 1
程序再造工程程序再造工程指的是软件再造工程中的系统流程部分。因为当企业的实际作业流程有所变化,而需要对信息系统做适当的调整时,这套信息系统将面对不可避免的大幅度改变。一个信息系统通常是先进行系统分析,然后根据系统分析结果来编写程序代码,当旧的系统分析不再符合现状时,程序代码也要有所调整。而程序再造工程技术就是先根据旧的程序代码分析得到资料流程图、事务流程图等,然后加上新的需求分析,从而修改这些用来描述系统的处理流程,再根据新的资料流程图产生程序代码,这样系统的程序代码就完成再造工程,并且符合现在的需求。所以不管是需求改变、程序结构出错还是系统逻辑问题等,都避免不了程序代码修改、再造的过程。程序再造工程技术包含有程序界面转换器、程序修改、程序再造。 1
程序界面转换器信息系统有时会因为“人机界面不够亲切”、“不符合企业未来发展潮流”等原因而面临程序再造的问题,解决这 些问题唯有通过程序界面转换器。其运行方式为不论程序来源是那种程序语言,及转换的程序语言为何,只要通过程序界面转换器的转换,就可以达到最终所需要的程序语言。1
程序修改当信息系统面临的不是功能需求的改变,而是最初程序设计时设计师忽略的问题、程序技术无法达到的目标、硬件无法支持、逻辑上的错误等,当这些问题一一出现时,程序设计师就需要针对程序各个部分做修改。 1
程序再造为了让系统维护人员很轻松的了解系统的结构和功能,通常都采用图形来表示。当企业因作业流程改变或产生新的需求时,如果能将旧系统资料流程图表示的作业流程和新的需求及作业流程相互整合,且以资料流程图来表示时,这个新的资料流程图所代表的系统就能够符合现有需求和作业流程。而根据资料流程图隐藏的信息了解其逻辑描述,进而就可以产生虚拟码,也可以产生程序代码。 所以利用资料流程图来做程序再造是一个非常方便的方法。1
系统再造和传统系统维护的区别系统再造对已有系统进行全部或部分的改造,赋予软件新的活力。用一个比较通俗的例子来说:在对待一个不良之徒时,可以进行思想教育并给予他关心和帮助,这种方式类似于“系统维护”;也可以把他关进监狱,送去劳改,这种方式相当于“系统再造”。系统再造与维护的共同之处是没有抛弃原有的软件。如果把维护比作“修修补补”,那么再生工程就算是“痛改前非”。系统再造并不见得一定比维护的代价要高,但系统再造在将来获取的利益却要比通过维护得到的多。2
系统维护和再造都可以使保持整个系统的价值,不断增加系统的功能可以有效延长系统的生存周期。再造工程是对一次工程后的成品软件进行再次开发,系统维护期的适应性、完善性、预防性维护都可以属于再造工程范畴。而再造工程面对的不是原始需求,而是对已经存在的软件,是从既存软件开发出新软件的过程,与软件从无到有的第一次开发有所区别。2