系分-案例分析 - 03 系统运行和维护

系分-案例分析 - 03 系统运行和维护

首页模拟经营糖果公司更新时间:2024-05-07
考点:遗留系统,系统转换,数据迁移,软件维护,冗余技术,容错技术,集群技术,负载均衡。(1)遗留系统

遗留系统是指任何基本上不能进行修改演化以满足新的变化了的业务需求的信息系统,它通常具有以下特点:

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

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

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

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

(1)遗留系统评价方法

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

遗留系统评价活动

启动评价:评价是为了获得对遗留系统的足够深度的理解,从技术、商业和企业角度对系统的理解为系统处理策略提供基础。

商业价值评价:目标是判断遗留系统对企业的重要性。

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

应用软件评价:应用软件评价包括系统级、部件级两个级别,系统级,把整个系统看作不可分的原子,评价时不考虑系统的任何部分;部件级:关注系统的每个子系统,考虑每个系统的特征。

分析评价结果

评从活动将产生硬件、支撑软件、企业基础设施和应用软件的特征值矩阵,这些特征值体现了遗留系统当前的技术因素,其加权平均值代表了系统的技术水平。

遗留系统演化

(2)遗留系统的演化策略

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

淘汰策略:3象限为低水平、低价值区,即遗留系统的技术含量较低,且具有较低的商业价值。对这种遗留系统的演化策略为淘汰,即全面重新开发新的系统以代替遗留系统。完全淘汰是一种极端性策略,一般是企业的业务产生了根本的变化,遇留系统基本上不再适应企业运作的需要;或者是遗留系统的维护人员、维护文档资料都丢失了,经过评价,发现将遗留系統完全淘汰,开发全新的系统比改造旧系统从成本上更合算。对遗留系统的完全淘汰是企业资源的根本浪费,应该善于"变废为宝”,通过对遗留系统功能的理解和借鉴,可以帮助新系统的设计,降低新系统开发的风险。

继承策略:第4象限为低水平、高价值区,即选留系统的技术含量较低,可满足企业运作的功能或性能要求,但具有较高的商业价值,目前企业业务对该系统仍有很大的依赖性。对这种遗留系统的演化策略为继承。在开发新系统时,需要完全兼容遗留系统的功能模型数据模型,为了保证业务的连续性,新老系统必须并行运行一段时间,再逐渐切换到新系统上运行。要做到对遗留系统的继承,必须对系统进行分析,得到旧系统的功能模型和数据模型,这种分析可以部分代替或验证系统的需求分析。如果遗留系统的维护文档不完整,而又必须解析系统的功能模型和数据模型,那将是一项十分艰巨的任务。这时可使用有关系统重构的 CASE 工具,通过分析系统的代码生成系统结构图或其他报告。

改造策略:第1象限为高水平、高价值区,即遗留系统的技术含量较高,本身还有较大的生命力,且具有较高的商业价值,基本上能够满足企业业务运作和决策支持的要求。这种系统可能建成的时间还很短,对这种遗留系统的演化策略为改造。 这些改造包括系统功能的增强和数据模型的改造两个方面,系统功能的增强是指在原有系统的基础上增加新的应用要求,对遗留系统本身不做改变。数据模型的改造是指将遗留系统旧的数据模型向新的数据模型转化的过程。

集成策略:第2象限为高水平、低价值区,即遗留系统的技术含量较高,但其商业价值较低,可能只完成某个部门(或子公司)的业务管理。这种系统在各自的局部领域里工作良好,但从企业全局来看,多个这样的系统,他们各自基于不同的平台,不同的数据模型,无法互联互通,数据还不一致,这就是很严重的问题了。对这种遗留系统的演化策略为集成。在集成过程中,可采用由互连系统构成的系统的架构,遗留系统可作为从属系统来描述。在企业信息系统建设过程中,如何处理那些遗留系统,将会是越来越突出的问题,因为即使是今天看来很先进的系统在明天也会成为遗留系统。对遗留系统的处理恰当与否,直接关系到新系统的成败和开发效率。如何建立一套系统的、行之有效的方法,以期望对实际工作有所指导,已成为一个迫切的问题。在实际工程项目中,遇到处理遗留系统的问题时,要具体情况具体分析,选择最佳的演化策略。

(2)新老系统的转换策略,概念?优点?缺点?

转换策略

(3)数据迁移

系统切换前通过工具迁移、系统切换前采用手工录入(不能通过工具录入的、数据结构不一样、初始化的数据)、系统切换后通过新系统生成

迁移方法

ETL:抽取一转换一装载

(1)待迁移数据源的详细说明,包括数据的存放方式、数据量和数据的时间跨度。

(2)建立新旧系统数据库的数据字典,对现有系统的历史数据进行质量分析,以及新旧系统数据结构的差异分析。

(3)新旧系统代码数据的差异分析

(4)建立新旧系统数据库表的映射关系,对无法映射字段的处理方法。

(5)开发或购买、部署ETL工具

(6)编写数据转换的测试计划和校验程序。

(7)制定数据转换的应急措施。

对迁移后的数据进行质量分析;新旧系统查询数据对比检查;

(4)软件维护(1)可维护性的评价指标

(1)易分析性。软件产品诊断软件中的缺陷或失效原因或识别待修改部分的能力。

(2)易改变性。软件产品使指定的修改可以被实现的能力,实现包括编码、设计和文档的更改如果软件由最终用户修改,那么易改变性可能会影响易操作性。

(3)稳定性。软件产品避免由于软件修改而造成意外结果的能力。

(4)易测试性。软件产品使已修改软件能被确认的能力。

(5)维护性的依从性。软件产品遵循与维护性相关的标准或约定的能力。

(2)软件维护的分类

  (1)正确性维护(改正性、确认性、纠正性):指为了更正线上已经存在的错误,BUG而进行的维护(软件本身的错误,必须要做的

  (2)适应性维护:由于外部环境(适应法律政策、操作系统更新、数据环境)发生了改变,被动进行的对软件的修改和升级(不是系统本身错误,但也必须要做)

  (3)完善性维护:扩充功能和改善性能而进行的修改,使其比之前的软件功能、性能更高、更加完善(不是错误,但可能做得不完美,主动完善)

(4)预防性维护:错误还未发生,对未来可能发生的bug进行预防性的维护(预防未来)

(3)软件维护的工作流程

工作流程

(5)软件容错与冗余技术(1)冗余技术

提高系统可靠性的技术可以分为避错(排错)技术容错技术避错是通过技术评审系统测试正确性证明等技术,在系统正式运行之前避免、发现和改正错误。容错是指系统在运行过程中发生一定的硬件故障或软件错误时,仍能保持正常工作而不影响正确结果的一种性能或措施。容错技术主要是采用冗余方法来消除故障的影响;冗余是指在正常系统运行所需的基础上加上一定数量的资源,包括信息、时间、硬件和软件。冗余是容错技术的基础,通过冗余资源的加入,可以使系统的可靠性得到较大的提高。

冗余技术分类:主要的冗余技术(4种)

静态冗余:又叫屏蔽冗余或被动冗余,常用三模冗余和多模冗余,静态冗余通过表决和比较来屏蔽错误

动态冗余:又称为主动冗余,通过故障检测,故障定位及故障恢复等手段达到容错目的,主要方式是多重模块待机储备,当系统检测到某个工作模块出现错误时,就用一个备用的模块来顶替它并重新运行,各备用模块在待机时,可与主模块一起工作(热备份系统、双重系统),也可以不工作(冷备份系统、双工系统、双份系统)

混合冗余:先使用静态的故障屏蔽技术,使系统免受某些可被屏蔽的故障的影响;而对那些无法屏蔽的故障,则采用主动冗余中的故障检测、故障定位和故障恢复等技术,并且对系统可以作重新配置。

(2)软件容错技术

软件容错的主要方法是提供足够的冗余信息算法程序,使系统在实际运行时能够及时发现程序设计错误,采取补救措施,以提高系统可靠性,保证整个系统的正常运行

软件容错技术主要有N 版本程序设计、恢复块方法和防卫式程序设计等。

N版本程序设计:一种静态的故障屏蔽技术,采用前向恢复的策略,设计思想:是用N个具有相同功能的程序同时执行一项计算,结果通过多数表决设计语言、开发环境来选择。其中N个版本的程序必须由不同的人(小组)独立设计,使用不同的方法、不同的设计语言、不同的开发环境和工具来实现,目的是减少N个版本的程序在表决点上相关错误的概率。(属于结构冗余的静态)

N版本程序设计

恢复块设计(动态冗余):提供具有相同功能的主块和几个后备块 ,一个块就是一个执行完整的程序段,主块首先投入运行,结束后进行验证测试,如果没有通过验证测试,系统恢复现场后由后备块1执行,结果后同样进行验证测试,不行到后备块2,重复这一过程,直到所有后备块耗尽,或某个故障超出预期,导致无法恢复。程序设计时,应保证实现主块后后备块之间的独立性,避免相互影响;

各备用模块在其待机时,可与主模块一样工作,也可以不工作。前者叫热备份系统(双重系统),后者叫冷备份系统(双工系统、双份系统)。

恢复块设计

N 版本程序设计和恢复块方法都是基于设计冗余思想,增加了许多额外的工作,结构本身也会带来一些问题和困难。他们主要区别如下:

比较

后向:我出现错误,后退到前一个正确状态,前向:自动排除,自动向下走,实时的。

防卫式程序设计:是一种不采用任何传统的容错技术就能实现软件容错的方法,对于程序中存在的错误和不一致性,防卫式程序设计的基本思想是通过在程序中包含错误检査代码错误恢复代码,使得一旦发生错误,程序就能撤销错误状态,恢复到一个已知的正确状态中去。其实现策略包括错误检测、破坏估计和错误恢复三个方面。

(3)双机容错技术

双机容错技术:是一种软硬件结合的容错应用方案。该方案是由两台服务器和一个外接共享磁盘阵列及相应的双机软件组成。双机容错系统采用“心跳”方法(即同步信号)保证主系统与备用系统的联系。所谓心跳,是指主从系统之间相互按照一定的时间间隔发送通信信号,表明各自系统当前的运行状态。一旦心跳信号表明主机系统发生故障,或者备用系统无法收到主系统的心跳信号,则系统的高可用性管理软件认为主系统发生故障,立即将系统资源转移到备用系统上,备用系统替代主系统工作,以保证系统正常运行和网络服务不间断。两台服务器的工作方式可以有:双机热备模式;双机互备模式:双机双工模式;

双机容错

双机热备模式:一台主机工作、一台备用。主机故障,则激活备用机。应用较多,但有点浪费;

双机互备模式:两台服务器均处于工作状态,为客户机提供不同的服务,并互相检测对方的运行情况,一台出现故障,另一台则接管。

双机双工模式:集群工作模式,两台服务器都处于工作状态,并提供相同的服务;

(6)集群与负载均衡技术(1)集群技术

集群技术是将同构或异构的计算机用集群软件连接在一起,组成一个高度透明的大型计算机群,其中单个计算机系统称为节点(node),集群系统作为一个整体为用户服务,用户不必关心服务来自哪台计算机,只需要关心服务是否能连续工作,集成群系统可以协调管理各节点出现的错误和故障,并可透明地向集群中加入新节点。

集群系统的特点:可伸缩性、高可用性、可管理性(集群系统能够管理大规模和物理分散的节点)、高性价比(最少的投资获得最大的性能)、高透明性

集群分类:高性能计算集群、负载均衡集群、高可用性集群。在实际中,这三种基本类型经常会发生混合与交杂,所以集群的类别的划分是一个相对的概念,而不是绝对的。

集群管理与调度:集群系统的主要目标是通过网络互连实现全系统范围内的资源共享,从而提高资源利用率,获得高性能,集成群系统进行任务调度的主要方法是进程迁移技术;(进程迁移是指当进程运行时,在(集群内)源节点和目标节点之间转移进程的行为。由于这个过程中转移的是活跃进程,因为又称为抢占式进程迁移)

(2)负载均衡

负载均衡是集群系统中的一项重要技术,也提高了系统的可靠性,可以提高集群系统的整体处理能力(,最终目的是加快集群系统的响应速度,提高客户端访问的成功概率。集群的最大特征是多个节点并行和共同工作,如何让所有节点承受的负荷平均,不出现局部过大负载或过轻负载的情况,是负载均衡的重要目的。

负载均衡有两方面的含义:首先,大量的并发访问或数据流量分担到多个节点上分别处理,减少用户等待响应时间;其次,单个重负载的运算分担到多个节点上做并行处理,每个节点处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅提升。

调度算法:轮转、加权、最小连接数、哈希、随机等;

比较常用的负载均衡实现技术主要有以下几种

(1)基于特定软件的负载均衡(应用层)。很多网络协议都支持重定向功能,例如,基于HTTP重定向服务,其主要原理是服务器使用HTTP重定向指令,将一个客户端重新定位到另一个位置。服务器返回个重定向响应,而不是返回请求的对象。客户端确认新地址然后重发请求,从而达到负载均衡的目的。

(2)基于DNS的负载均衡属于传输层负载均衡技术,其主要原理是在DNS服务器中为同一个主机名配置多个地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的节点上去,使得不同的客户端访问不同的节点,从而达到负载均衡的目的.

(3)基于NAT的负载均衡。将一个外部IP地址映射为多个内部IP地址,对每次连接需求动态地转换为一个内部节点的地址,将外部连接请求引到转换得到地址的那个节点上,从而达到负载均衡的目的。

(4)反向代理负载均衡。将来自互联网上的连接请求以反向代理的方式动态地转发给内部网络上的多个节点进行处理,从而达到负载均衡的目的。(反向代理:隐藏服务器,不知道谁是服务器,但可以提供服务)

(5)混合型负载均衡。

(7)真题(1)真题1(2013年试题五)

阅读以下关于软件维护的叙述,在答题纸上回签问题1至问题4,某企业两年前自主研发的消防集中控制软件系统在市场上取得了较好的业绩,目前已成功应用到国内外众多企业用户的消防管理控制系统中。该软件系统通过不同型号消防控制器连接各种消防器件,实现集中式消防告警信息显示与控制。日前该软件系统的系统维护主管组织召开会议,对近期收集到的该软件系统的如下维护申请进行了讨论

(1)将系统目前的专用报表功能改成通用报表生成功能,以适应未来用户可能提出的报表格式变化需求;【正确性维护】

(2)在界面语言中增加德文支持,以满足新增的两个德国企业用户的使用要求;

(3)修正系统在与控制器通信时由于硬件网络故障导致的与控制器之间的连接失效,而控制器后续无法重新连接的问题;

(4)完成因某已支持型号消防控制器通信协议改变而导致的相应软件修改;

(5)增加与某新型号消防控制器的互连通信功能,以支持在后续推广过程中与该型号消防控制器进行互连;

(6)修正用户报告的由于系统从Win7平台迁移到最新发布的Win8平台而导致的部分显示功能失效的问题:

(7)修正用户报告的系统自动切换消防平面图形时部分器件位置显示错误的问题;

(8)改进系统历史消防告警记录的检索算法,以提高系统在处理大量消防报警记录时的效率:

(9)将系统目前针对某一特定数据库管理系统的数据库访问方式改成基于数据源的通用数据库访问方式,以适应用户可能提出的使用其它数据库管理系统的需求。

【问题1】(6分)

软件维护的内容通常分为正确性维护、适应性维护、完善性维护以及预防性维护四类,请用300字以内文字说明这4类软件维护内容的特点与区别;

【问题2】(9分)

请根据不同类型软件维护的特点,将上述(1)~(9)的维护申请填入表相应的类别中。

维护类型

维护申请

(1)正确性维护

(3)、(7)

(2)适应性维护

(4)、(6)

(3)完善性维护

(2)、(5)、(8)

(4)预防性维护

(1)、(9)

【问题3】(4分)

对于软件维护申请的处理,首先需要确定维护工作的类型,不同类型的维护工作,其处理流程往往不同,图5-1是区分不同维护类型的典型处理流程,请将表5-1中代表维护类型的序号(1)~(4)填入图5-1的(a)~(d)。

有两个东西必做的(不能运行的),一个是正确性(软件本身问题导致不能运行)、一个是适应性(外部环境导致不能运行)

【问题4】(6分)

在讨论第(4)项维护工作的方案时,项目组发现与相应的消防控制器通信的子块重用了企业之前淘汰的某款软件中实现相应功能的源代码,而现有技术人员没有参加过该代码的开发工作,并且重用的这部分代码开发不规范,其数据和代码结构设计都很差,相应的文档极不完整维护记录也很简略。

针对上述情况,项目组一致认为在原有代码基础上进行修改维护难度很大,因此决定采用软件工程的方法对该子模块进行重新设计、编码和测试,请从可行性和该模块后续可维护性两个方面简要分析采取这种方案的原因。

答:目前的模块无文档,且已属于淘汰模块,重新开发比修改维护成本更低、效果更好,同时有利于后期的维护(一方面是开发人员对新开发的模块有很高的熟悉程度,另一方面新开发会有完善的文档)。

(2)真题2(2015年)

随着信息化的发展,某银行的中心账务系统,从城市中心、省中心模式已经升级到全国中心模式。但是处理各种代收代付业务的银行中间业务系统,目前仍然采用省中心模式,由各省自行负责,使得全国中间业务管理非常困难。因此总行计划将银行中间业务系统全部升级到全国中心模式,对各省中间业务进行统一管理。各省行采用的银行中间业务系统,均为各省自建,或者自行开发,或者自行采购,系统的硬件平台、软件系统、数据模式等均有非常大的差异。同时,对一些全国性的代收代付业务的处理方式,各省行也存在很大的差异。为统一管理,总行决定重新开发一套全国中心模式的银行中间业务系统,用来替代各省自建的中间业务系统,但要求能够支持目前各省的所有中间业务。(这句话说明业务是具有价值的)

【问题1】(9分)

各省已建的银行中间业务系统属于遗留系统,在如何对待遗留系统上,设计组存在两种不同的策略:淘汰策略和继承策略。请简要解释这两种策略,并说明新开发的银行中间业务系统适合采用哪种策略及其原因。

答:淘汰策略:技术水平低、业务价值低的系统

继承策略:技术水平低、业务价值高的系统

适合采用继承策略,原因:新开发的系统要求“能够支持目前各省的所有中间业务”,淘汰策略无法达到此要求。

【问题2】(10分)

遗留系统和新系统之间的转换策略常见的有直接转换、并行转换和分段转换。请简要说明这三种转换策略的含义;并请结合银行中间业务的特点,说明该银行新开发的中间业务系统上线时适合采用哪种策略?为什么?

答:

直接转换就是在原有系统停止运行的某一时刻,新系统立即投入运行,中间没有过渡阶段。

并行转换就是新系统和现有系统并行工作一段时间,经过这段时间的试运行后,再用新系统正式替换下现有系统。

分段转换策略也称为逐步转换策略,这种转换方式是直接转换方式和并行转换方式的结合,采取分期分批逐步转换。

以围前该银行的情况来看,适合采用分段转换策略,因为各省行采用的银行中间业务系统,均为各省自建或者自行开发,或者自行采购,系统的硬件平台、软件系统、数据模式等均有非常大的差异。对这些子系统的支持可分段一个一个处理,降低风险的同时不让成本开支过大。

【问题3】(6分)

银行中间业务系统中,最为核心的是业务数据。因此在新旧系统切换时存在一项重要的工作:数据迁移。考虑到各省中间业务系统的巨大差异,因此需要做好数据迁移前的准备工作。请简要说明数据迁移准备工作的内容。

答:数据迁移准备工作包括:

(1)待迁移数据源的详细说明,包括数据的存放方式、数据量和数据的时间跨度。

(2)建立新旧系统数据库的数据字典,对现有系统的历史数据进行质量分析,以及新旧系统数据结构的差异分析。

(3)新旧系统代码数据的差异分析。

(4)建立新旧系统数据库表的映射关系,对无法映射字段的处理方法。

(5)开发或购买、部署ETL工具。

(6)编写数据转换的测试计划和校验程序。

(7)制定数据转换的应急措施。

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved