新旧系统的分析和比较

计算机技术飞速发展,日新月异,许多企业因为业务发展的需要和市场竞争的压力,需要建设新的企业信息系统。在这种升级改造的过程中,怎么处理和利用那些历史遗留下来的老系统,成为影响新系统建设成败和开发效率的关键因素之一。通常称这些老系统为遗留系统。

目前,学术和工业界对遗留系统的定义没有统一的意见。Bennett 在 1995 年对遗留系统做了如下的定义:遗留系统是不知道如何处理但对组织又至关重要的系统。Brodie 和 Stonebraker 对遗留系统的定义如下:遗留系统是指任何基本上不能进行修改和演化以满足新的变化了的业务需求的信息系统。

笔者认为,遗留系统应该具有以下特点:

(1)系统虽然能完成企业中许多重要的业务管理工作,但已经不能完全满足要求。一般实现业务处理电子化及部分企业管理功能,很少涉及经营决策。

(2)系统在性能上已经落后,采用的技术已经过时。如多采用主机/终端形式或小型机系统,软件使用汇编语言或第三代程序设计语言的早期版本开发,使用文件系统而不是数据库。

(3)通常是大型的系统,已经融入企业的业务运行和决策管理机制之中,维护工作十分困难。

(4)系统没有使用现代系统工程方法进行管理和开发,现在基本上已经没有文档,很难理解。

在企业信息系统升级改造过程中,如何处理和利用遗留系统,成为新系统建设的重要组成部分。处理恰当与否,直接关系到新系统的成败和开发效率。遗留系统的演化方式可以有很多种,根据系统的技术条件、商业价值及维护和运行系统的组织特征不同,可以采取继续维护、某种形式的重构或替代策略,或者联合使用几种策略。究竟采用哪些策略来处理遗留系统,需要根据对遗留系统的所有系统特性的评价来确定。

1  遗留系统的评价方法

对遗留系统评价的目的是为了获得对遗留系统更好的理解,这是遗留系统演化的基础,是任何遗留系统演化项目的起点。本文的评价方法包括度量系统技术水准、商业价值和与之关联的组织特征,其结果作为选择处理策略的基础。

评价方法由一系列活动组成,如图 7-3 所示。

1.启动评价

评价是为了获得对遗留系统的足够深度的理解,从技术、商业和企业角度对系统的理解为系统处理策略提供基础,开始评价前,需要了解以下问题。

(1)对企业来说,遗留系统是否是至关重要的。在评价过程中,可能会发现系统对企业的继续运作产生的影响不大。在这种情况下,就没有必要考虑系统的演化问题。

(2)企业的商业目标是什么。从商业观点来看,评估师必须理解企业的商业目标,因为商业目标产生演化需求。

(3)演化需求是什么。演化需求来自企业的商业目标和评价活动。需求必须是可见的,以便决定已存在的系统是否能满足需求。

(4)所期望的系统寿命多长。一个系统的寿命由软件和硬件的服务能力决定,一旦系统硬件或支撑软件过时,系统的有效性就受到限制。

(5)系统使用期限多久。如果系统的使用期限只是短期的,就没有必要花费成本来演化系统。相反,如果系统将在相当长的时期内支持主要业务流程,则必须进行演化。

(6)系统的技术状态如何。例如,如果应用软件的技术状况很差,则很难理解,维护费用会很高。

(7)企业是否愿意改变。企业对改变的态度是遗留系统演化成功的关键因素之一。

(8)企业是否有能力承受演化。企业的技术成熟度,员工的素质,支撑工具的级别等都是影响演化的因素。

2.商业价值评价

商业价值评价的目标是判断遗留系统对企业的重要性。在多数情况下,重要业务过程的改变意味着旧的系统现在仅仅具有外围价值,修改这种系统只需花费少许财力和物力。

在其他情况下,系统的业务价值很大,需要继续维护运行。可以在概要和详细两个级别上进行遗留系统的商业价值评价。

概要级评价将为更加详细的分析提供信息。概要级评价包括:

(1)咨询。向有关专家进行咨询,包括最终用户和负责业务处理的管理人员。

(2)评价问卷。问卷应该标识系统在业务处理过程中的哪些地方使用,本系统与其他系统的关系,如果系统不再运行所需的代价,系统已有的缺点和存在的问题等。问题的准确性依赖于所评价的系统。

(3)进行评价。有了问卷的基础后,必须认真分析系统是如何使用的,这往往会发现系统的价值,而这在问卷中是得不到的。

详细级评价包括应用系统不符合业务规范的风险分析,这种分析十分费时,最好由业务分析师来完成详细级的评价。

3.外部环境评价系统的外部技术环境是指硬件、支撑软件和企业基础设施的统一体。

(1)硬件。系统硬件包括许多需要进行常规性维护的部件,这些硬件或者在一个站点,或者分布在许多站点并由网络连接。一般来说,遗留系统的硬件包括主机和小型机、磁盘驱动器、磁带、终端、打印机和网络硬件。

与商业价值评价类似,硬件评价也可以分为概要级评价和详细级评价。概要级评价把遗留系统作为一个整体,提供硬件质量估计。详细级评价包括识别系统中的每个部件。在这两种情况下,必须识别一系列特征,用作评价的基础。特征的选择取决于要评价的系统,系统的一些常见特征有供应商、维护费用、失效率、年龄、功能、性能等。

具体评价方法是:每一个部件(或整个系统)在每个特征上分配一个价值分数(取值为 1~4),然后把所有分数相加,获得该部件的总分。

(2)支撑软件。系统的支撑软件环境也由许多部分组成,可包括操作系统、数据库、事务处理程序、编译器、网络软件、应用软件等。一般来说,支撑软件是依赖于某个硬件的,应用软件依赖于系统软件。在评价过程中,必须考虑这种依赖性。支撑软件的评价方法类似于硬件评价,在此省略。

(3)企业基础设施。企业基础设施包括开发和维护系统的企业职责和运行该系统的企业职责(两者可能为同一个企业),这些基础设施是很难评价的,但对遗留系统的演化起关键作用。因此必须考虑以下问题。

  • 企业和使用者的类型。企业或者有自己的系统开发队伍,或者所有开发和应用管理都是请其他企业完成。系统用户或许只重复一些记录性工作,或许包括一些更有技术性的工作。

  • 开发组织的技术成熟度。开发组织的技术成熟度包括是否使用了现代系统工程方法,是否遵循了统一的标准,是否进行了过程改进等。

  • 企业的培训过程。如果企业(包括开发方和客户方)的培训做得好,遗留系统的演化可能会更成功。

  • 系统支持人员的技术水平。如果系统支持人员的水平和经验不够,就不要急于对系统做大的改动。

  • 企业是否愿意改变。企业对改变的态度是遗留系统演化成功的关键因素之一。企业基础设施的评价方法类似于硬件评价,在此省略。

4.应用软件评价应用软件评价也有两个级别。

(1)系统级。把整个系统看作是不可分的原子,评价时不考虑系统的任何部分。

(2)部件级。关注系统的每个子系统,考虑每个子系统的特征,包括复杂性、数据、文档、外部依赖性、合法性、维护记录、大小、安全性等。

具体评价方法也与硬件评价类似,在此省略。

5.分析评价结果评价活动将产生硬件、支撑软件、企业基础设施和应用软件的特征值矩阵,这些特征值体现了遗留系统当前的技术因素,其加权平均值代表了系统的技术水平。计算公式如下:

OR=(P1ORH+P2ORS+P3OAF+ P4ORA)/4

其中 ORH 是硬件的评价值,ORS 是支撑软件的评价值,ORF 是企业基础设施的评价值,ORA 是应用软件的评价值,Pi (1 i  4) 分别是它们的权系数,即第 i 个评价值对遗留系统的影响因子。

把对技术水平的全面评价结果与商业评价进行比较,可以为系统演化提供第一手的资料。具体方法是按照商业评价分值和技术水平分值的情况,把评价结果分为四种类型,如图 7-4 所示。

2 遗留系统的演化策略 

在图 7-4 中,把对遗留系统的评价结果分列在坐标的四个象限内。对处在不同象限的遗留系统采取不同的演化策略。

1.淘汰策略

第 3 象限为低水平、低价值区,即遗留系统的技术含量较低,且具有较低的商业价值。对这种遗留系统的演化策略为淘汰,即全面重新开发新的系统以代替遗留系统。

完全淘汰是一种极端性策略,一般是企业的业务产生了根本的变化,遗留系统基本上不再适应企业运作的需要;或者是遗留系统的维护人员、维护文档资料都丢失了。经过评价,发现将遗留系统完全淘汰,开发全新的系统比改造旧系统从成本上更合算。

对遗留系统的完全淘汰是企业资源的根本浪费,应该善于“变废为宝”,通过对遗留系统功能的理解和借鉴,可以帮助新系统的设计,降低新系统开发的风险。

2.继承策略

第 4 象限为低水平、高价值区,即遗留系统的技术含量较低,可满足企业运作的功能或性能要求,但具有较高的商业价值,目前企业业务对该系统仍有很大的依赖性。对这种遗留系统的演化策略为继承。在开发新系统时,需要完全兼容遗留系统的功能模型和数据模型。为了保证业务的连续性,新老系统必须并行运行一段时间,再逐渐切换到新系统上运行。

要做到对遗留系统的继承,必须对系统进行分析,得到旧系统的功能模型和数据模型,这种分析可以部分代替或验证系统的需求分析。

如果遗留系统的维护文档不完整,而又必须解析系统的功能模型和数据模型,那将是一项十分艰巨的任务。这时可使用有关系统重构的 CASE 工具,通过分析系统的代码生成系统结构图或其他报告。

3.改造策略

第 1 象限为高水平、高价值区,即遗留系统的技术含量较高,本身还有较大的生命力,且具有较高的商业价值,基本上能够满足企业业务运作和决策支持的要求。这种系统可能建成的时间还很短,对这种遗留系统的演化策略为改造。

这些改造包括系统功能的增强和数据模型的改造两个方面。系统功能的增强是指在原有系统的基础上增加新的应用要求,对遗留系统本身不做改变。数据模型的改造是指将遗留系统的旧的数据模型向新的数据模型转化的过程。

4.集成策略

第 2 象限为高水平、低价值区,即遗留系统的技术含量较高,但其商业价值较低,可能只完成某个部门(或子公司)的业务管理。这种系统在各自的局部领域里工作良好,但从企业全局来看,多个这样的系统,他们各自基于不同的平台,不同的数据模型,无法互联互通,数据还不一致,这就是很严重的问题了。

对这种遗留系统的演化策略为集成。

在集成过程中,可采用由互连系统构成的系统的架构,遗留系统可作为从属系统来描述。

在企业信息系统建设过程中,如何处理那些遗留系统,将会是越来越突出的问题,因为即使是今天看来很先进的系统在明天也会成为遗留系统。对遗留系统的处理恰当与否,直接关系到新系统的成败和开发效率。如何建立一套系统的、行之有效的方法,以期望对实际工作有所指导,已成为一个迫切的问题。在实际工程项目中,遇到处理遗留系统的问题时,要具体情况具体分析,选择最佳的演化策略。

系统规划---新旧系统的分析和比较相关推荐

  1. 新旧系统更替产生的数据迁移问题

    新旧系统更替产生的数据迁移问题 作者:西安项目组夏凯撰文时间:2004.11.08 在信息化建设过程中,随着技术的发展,原有的信息系统不断被功能更强大的新系统所取代.从两层结构到三层结构,从Clien ...

  2. 2015(4)软件工程,软件运行与维护,新旧系统转换策略,遗留系统的演化策略,数据转换与数据迁移...

    试题四 随着信息化的发展,某银行的中心账务系统,从城市中心.省中心模式已经升级到全国中心模式.但是处理各种代收代付业务的银行中间业务系统,目前仍然采用省中心模式,由各省自行负责,使得全国中间业务管理非 ...

  3. 系统重构与新旧系统切换方案概述

    什么是系统重构 它是一套严谨而安全的过程方法,它通过一系列行之有效的方法与措施,保证软件在优化的同时,不会引入新的BUG,保证软件改造的质量. 系统重构,就是在不改变软件的外部行为的基础上,改变软件内 ...

  4. 什么是新零售系统?新零售系统如何变企业“卖货难”为“销货易”?

    当前,有越来越多的企业随着开发新零售系统.什么是新零售系统?简单来说,新零售系统包含了人工智能.大数据等新型技术的智能化系统,也拥有数据记录分析.智能化门店管理等智能化功能,所以贴合了新零售中的&qu ...

  5. 新旧系统切换时——页面跳转案例

    1.限时跳转页面: <!DOCTYPE html> <html><head><title>系统登陆页面</title> <meta h ...

  6. 关于双硬盘装双系统会导致旧系统无法启动的解决思路

    起因:想给学校的古董机做个linux+win10的双系统.机子里有原装机械硬盘和后加的固态硬盘,两个硬盘均已分别安装win10系统且双系统运行正常.在给机械硬盘安装centos系统后固态硬盘的win1 ...

  7. 2023系统分析师---系统规划

    一.系统规划的步骤 初步调查:根据企业战略目标,分析企业现状以及系统运行状况 确定系统目标:确定系统的服务范围质量等 分析子系统的组成:系统划分并指定子系统功能 拟定系统的实施方案:分析子系统优先级, ...

  8. 系统规划与管理备考整理

    @ 一.信息系统综合知识 1.1 信息的定义和属性 1.信息是客观事物状态和运动特征的一种普遍相识,客观世界中大量存在.产生和传递着以这些方式表示出各种各样的信息 (1)信息的定性描述 控制论的创始人 ...

  9. 电子商务网站的系统规划-1

    电子商务网站是电子商务系统运行的主要承担者和体现者,是企业开展网络经营活动的载体.一个电子商务网站往往是由许多网页按照一定的.最方便用户浏览的方式链接在一起组成的,因而网站系统往往具有结构复杂与很强的 ...

最新文章

  1. DASH流媒体MPD文件解析
  2. Numpy中的meshgrid()函数
  3. opencv2安装报错no module named cv2
  4. 织梦站内选择和文件管理器中文乱码的解决方法(utf8编码程序包才会)
  5. 【Android】EditText的一个问题
  6. Leetcode 106. 从中序与后序遍历序列构造二叉树 解题思路及C++实现
  7. php多用户商城,php多用户商城选择开源的好
  8. Android在ListView中嵌套一个GridView时只显示一行的原因及解决方法
  9. hadoop重命名文件_Hadoop -- 3. 从Flume到HDFS
  10. 我为什么放弃饿了么产品总监不干,却从事自由职业?
  11. sybase修改密码
  12. win10下wifi链接成功,qq可以登录,浏览器无法上网的问题处理
  13. 查询 mysql所有表名
  14. VGA接口(四)字符
  15. Window/Cmd中的一些快捷键命令
  16. go语言编程前景怎么样?国内Go语言布道师许式伟这样说
  17. php汉字转换拼音,php实现汉字转拼音
  18. 会计分录、科目、账户
  19. oracle按层级分组,oracle按照指定列分组合计group by rollup()
  20. bzoj 1491: [NOI2007]社交网络

热门文章

  1. 【MySQL面试】说说MVCC
  2. java replaceall 1_java replaceAll之$替换
  3. Dvorak(德沃夏克)键盘中文初体验
  4. 『高级篇』docker容器来说微服务优势和不足(四)
  5. 首只互联网大数据基因指数发布
  6. windows server2008 定时关闭程序
  7. VOA Special English 节目综述
  8. canvas实践——绘制刮刮卡
  9. Asp.net Cookie使用与简介
  10. 算法设计与分析 实验七 投资问题