首页 > 其他分享 >4-十五章 系统运行与维护(完结篇)

4-十五章 系统运行与维护(完结篇)

时间:2024-06-15 23:25:31浏览次数:22  
标签:完结篇 抽取 转换 十五章 系统 故障 维护 数据 迁移

其他章节内容多有重复,故不再赘述

15.1 遗留系统的处理策略

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

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

2)系统在性能上已经落后,采用的技术已经过时。

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

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

演化方法:可以采取急需维护、某种形式的重构或替代策略,或者联合使用几种策略。

15.1.1 评价方法

主要评价方法包括度量系统技术水准、商业价值和与之关联的企业特征,其结构作为选择处理策略的基础。
image
1.启动评价

开始评价前,需要了解以下问题:

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

2)企业目标是什么。

3)演化需求是什么

4)所期望的系统生命周期是多长

5)系统的技术状态如何

6)企业是否愿意改变

8)企业是否有能力承受演化(企业的技术成熟度、员工的素质和支撑工具的先进性)

2.业务价值评价

3.外部环境评价

硬件,支撑软件,企业IT基础设施

4.应用软件评价

应用软件评价可以分为系统级和部件级。系统级评价把整个系统看作是不可分割的原子,评价时不考虑系统的任何部分;部件级评价关注系统的每个子系统,考虑每个子系统的特征,包括复杂性、数据、文档、外部依赖性、合法性、维护记录、大小和安全性等指标。

5.分析评价结果

image

15.1.2 演化策略

淘汰策略

继承策略:在开发新系统时,需要完全兼容遗留系统的功能模型和数据模型。为了保障业务的连续性,新老系统必须并行运行一段时间,再逐渐切换到新系统上运行。

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

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

集成策略:第三象限为高水平、低价值区,即遗留系统的技术含量较高,但其业务价值较低,可能只完成某个部门(或子公司)的业务管理。这种系统在各自的局部领域里工作良好,但对于整个企业来说,存在多个这样的系统,不同的系统基于不同的平台、不同的数据模型,形成了一个个信息孤岛,对这种遗留系统的演化策略为集成。

15.2 系统转换与交接

当新系统开发完毕投入运行,要取代现有系统时,就要进行系统转换。系统转换是指运用某种方式,由现有系统的工作方式向新系统工作方式的转换过程,也是系统设备数据、人员等的转换过程。在系统转换时,必须协调新旧系统之间的关系,否则将造成紊乱与中断,从而导致一定的经济损失。在系统转换过程中,需要考虑多个方面的问题包括成本、风险、应急措施和人员的培训等。

在系统转换与交接之前,需要做好一些准备工作,包括数据准备、系统文档准备、人员培训和设备安装,以及系统试运行。系统试运行是指在系统没有正式转换之前所进行的试验运行,它是系统调试工作的延续。系统试运行要输入各种真实数据,记录系统运行状况和产生的数据,比较现有系统与新系统输出的结果,同时对新系统的操作方式进行考查,测试系统运行、响应速度等性能指标。

15.2.1 新旧系统的转换策略

系统转换的本质上也是一个工程项目,也需要进行可行性分析和需求分析,需要制定项目管理计划。

现有系统从启用到被新系统取代,在其使用期间往往积累了大量珍贵的历史数据,其中许多历史数据都是新系统顺利启用所必须的。因此,系统转换计划应该包括从现有系统向新系统的数据迁移计划。
image
1.直接转换策略

适用于新系统不太复杂或现有系统完全不能使用的场合,但是,新系统在转换之前必须经过详细而严格的测试,转换时应做好准备,万一新系统不能达到预期目的时,必须采取相应措施。

2.并行转换策略

并行转换就是新系统和现有系统并行工作一段时间,经过这段时间的试运行后,再用新系统正式替换下现有系统。在并行工作期间,手工处理和计算机处理系统并存,一旦新系统有问题就可以暂时停止而不会影响现有系统的正常工作。

3.分段转换策略

是直接转换和并行转换方式的结合,采取分期分批逐步转换

1)按功能分阶段逐步转换

2)按部门分阶段逐步转换

3)按机器设备分阶段逐步转换

15.2.2 数据转换和迁移

数据转换和迁移是新旧系统转换交接的主要工作之一。为使数据能平滑迁移到新系统中,在新系统设计阶段就要尽量保留现有系统中合理的数据结构,这样才能尽可能降低数据迁移的工作量和转换难度。但是,由于新系统的引入,数据迁移工作是个必然的过程,现有系统中的数据可以通过定制开发的转换工具软件翻译为新系统可以接受的数据格式。

数据转换和迁移工作的原则是数据不丢失。许多无法自动转换的数据,必要时通过手工方式补录进入新系统。数据迁移对系统切换乃至新系统的运行有着十分重要的意义

1.数据迁移的方法

系统切换前通过工具迁移、系统切换前采用手工录入和系统切换后通过新系统生成。

2.数据迁移前的准备工作

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

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

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

(4)建立新旧系统数据库表的映射关系,对无法映射字段的处理方法
(5)开发或购买、部署ETL工具

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

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

3.数据转换与迁移

在数据转换与迁移阶段,首先需要制定数据转换的详细实施步骤和流程,准备数据迁移环境。然后要做好业务上的准备,结束未处理完的业务事项,或将其告一段落。使数据转换和迁移涉及的技术都得到充分测试,最后实施数据转换和迁移。

数据转换与迁移程序大致可以分为抽取、转换与装载三个过程。数据抽取、转换是根据新旧系统数据库的映射关系进行的,转换步骤一般还要包含数据清洗的过程,数据清洗主要是针对源数据库中,对出现二义性、重复、不完整、违反业务或逻辑规则等问题的数据进行相应的清洗操作。在清洗之前需要进行数据质量分析,以找出存在问题的数据。数据装载是通过装载工具或自行编写的SOL程序将抽取、转换后的结果数据加载到目标数据库中。

数据抽取前,需要做大量的准备工作,具体如下:

(1)针对目标数据库中的每张数据表,根据映射关系中记录的转换加工描述,建立抽取函数。该映射关系是准备阶段进行数据差异分析的结果。

(2)根据抽取函数的SOL语句进行优化。通常可以采用的优化方式有调整相关参数的设置、启动并行査询、采用优化器、创建临时表、对源数据表做分析和增加索引等。

(3)建立调度控制表,包括ETL函数定义表(记录抽取函数、转换函数、清洗函数和装载函数的名称和参数)、抽取调度表(记录待调度的抽取函数)、装载调度表(记录待调度的装载信息)、抽取日志表(记录各个抽取函数调度的起始时间和结束时间,以及抽取的正确或错误信息)和装载日志表(记录各个装载过程调度的起始时间和结束时间以及装载过程执行的正确或错误信息)。

(4)建立调度控制程序,该调度控制程序根据抽取调度表动态调度抽取函数,并将抽取的数据保存到文件中。

数据转换的工作在ETL过程中主要体现为对源数据的清洗和代码数据的转换。数据清洗主要用于清洗源数据中的垃圾数据,可以分为抽取前清洗、抽取中清洗和抽取后清洗。ETL对源数据主要采用抽取前清洗。对代码表的转换可以考虑在抽取前转换和在抽取过程中进行转换。具体转换如下:

(1)针对ETL涉及的源数据库中的数据表,根据数据质量分析的结果,建立数据抽取前的清洗函数。该清洗函数可由调度控制程序在数据抽取前进行统一调度,也可分散到各个抽取函数中调度。

(2)针对ETL涉及的源数据库中的数据表,根据代码数据差异分析的结果,对需要转换的代码数据值进行转换。如果数据长度无变化或变化不大,考虑对源数据表中引用的代码在抽取前进行转换。抽取前转换需要建立代码转换函数。代码转换函数由调度控制程序在数据抽取前进行统一调度。

3)对新旧代码编码规则差异较大的代码,考虑在抽取过程中进行转换。根据代码数据差异分析的结果,调整所有涉及该代码数据的抽取函数。

4.数据迁移后的校验

1)对钱以后的数据进行质量分析。校验的指标主要包括完整性检查、一致性检查、总分平衡检查、记录条数检查和特殊样本数据检查

2)新旧系统查询数据对比检查。通过新旧系统各自的查询工具,对相同指标的数据进行查询,并比较最终的查询结果。

15.3 系统的扩展和集成

1.系统扩展

:是指新的功能添加到系统中的能力。

2.扩展与集成的比较

系统扩展的重点在设计阶段,为达到平滑扩展,需要仔细研究扩展点附近的软件环境,要避免因扩展引起原有系统的动荡,要进行细致的回归测试

系统集成的重点在分析阶段,为达到无缝集成,需要仔细分析业务,尤其是业务关联点。避免过度耦合、深度介入,增加集成复杂度。另外,还需组织的高层领导强势协调,强调全局观念,互相配合,方能顺利进行集成。

15.4 系统运行管理

目的是对信息系统的运行进行控制,记录其运行状态,进行必要的修改和扩充,以便使信息系统真正符合管理和决策的需要。

包括日常运行管理、系统运行情况的记录、对系统运行情况的检查与评价等,这些工作是一个琐碎和细致的原始资料积累过程,不能忽视。

成本管理

用户管理

网络资源管理

软件资源管理(构建、分发、文档管理)

15.5 系统故障管理

故障管理:尽可能快地恢复系统运行。三特征:影响程度、紧迫性和优先级。

包括

  • 故障监视
  • 故障调查
    • 收集故障信息
    • 确定故障位置
    • 调查故障原因
      • 按计划的硬件、操作系统维护操作时引起的故障
      • 应用性故障
      • 人为操作故障
      • 系统软件故障
      • 系统硬件故障
      • 相关设备故障
      • 灾难和灾害
  • 故障支持
    • 硬件设备故障恢复:冗余,备用模块
    • 数据库故障恢复:分为事务故障、系统故障、介质故障。副本和日志文件。
    • 应用软件故障恢复:软件测试
  • 恢复处理
  • 故障终止。

15.6 软件维护

环路数

软件规模

其他因素,包括嵌套深度、系统用户数


维护的分类:改正性维护、适应性维护、完善性维护、预防性维护

标签:完结篇,抽取,转换,十五章,系统,故障,维护,数据,迁移
From: https://www.cnblogs.com/lhxBlogs/p/18249960

相关文章

  • 【服务器硬件由 CPU、RAM、硬盘等组成,选购时需考虑应用需求、预算等。散热、安全、监
    本人详解作者:王文峰,参加过CSDN2020年度博客之星,《Java王大师王天师》公众号:JAVA开发王大师,专注于天道酬勤的Java开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯山峯转载说明:务必注明来源(注明:作者:王文峰哦)【服务器硬件......
  • 哪些方法可以让 Python 代码易维护
    随着软件项目进入“维护模式”,对可读性和编码标准的要求很容易落空(甚至从一开始就没有建立过那些标准)。然而,在代码库中保持一致的代码风格和测试标准能够显著减轻维护的压力,也能确保新的开发者能够快速了解项目的情况,同时能更好地全程保持应用程序的质量。使用外部库来检查代......
  • SFC命令的基本用法,以及处理基本系统文件问题的能力,为系统维护和故障排除提供基础支持;S
    SFC命令初级应用大纲1.理解SFC命令命令简介:了解SFC(SystemFileChecker)命令的作用和基本原理。掌握SFC命令的基本语法和用法。2.执行基本系统文件检查运行SFC扫描:学习如何以管理员身份在命令提示符或Powershell中运行SFC扫描。理解SFC扫描的过程和输出。解......
  • 好车、好团队、好圈子:制造、使用与维护的艺术
     在这个充满协作与互动的时代,我们可以把团队和圈子看作是一辆辆行驶在人生道路上的车辆,每个成员都扮演着车上不可或缺的零部件角色。想要获得一辆性能出色的车,我们需要在制造、使用和维护上付出相应的努力。同样,为了构建一个高效的团队或一个有活力的圈子,我们也需要在创建、......
  • 维护一个对象只能通过new来创建,且要实现对象能够自动销毁的单例代码实现及扩展。
    结论:析构函数设为私有且在单例类的内部维护一个Chelper类。(如果是单例,还要将构造函数设为私有,如果是可以在全局有多个实例但是希望只能提供new创建,则构造必须公有且必须提供成员函数来调用deletethis来调用该对象的析构函数)。具体细节可看代码解释部分。代码实现:test.hcla......
  • 高精度地图制作-更新和维护
    高精度地图制作-更新和维护之前有写过一篇高精度地图制作的介绍,后面也思考了一些问题,其中比较困扰我的是高精度地图如何做到实时更新?高精度地图的维护成本?最近看了ZENRIN公司关于高精度地图的介绍PPT[1],得到了很大的启发,简单的做一个学习记录。附赠自动驾驶最全的学习资料......
  • Java中的错误处理和日志记录:提升应用的健壮性和可维护性
            在Java开发中,有效的错误处理和日志记录是确保应用健壮性和可维护性的关键。通过恰当的异常处理和详尽的日志信息,开发者可以迅速定位和解决问题,同时提供程序运行的透明度。本文将探讨Java中的错误处理最佳实践和日志记录技术,包括常用的日志框架和配置方法。###......
  • 七种方法让 Python 代码更容易维护
    随着软件项目进入“维护模式”,对可读性和编码标准的要求很容易落空(甚至从一开始就没有建立过那些标准)。然而,在代码库中保持一致的代码风格和测试标准能够显著减轻维护的压力,也能确保新的开发者能够快速了解项目的情况,同时能更好地全程保持应用程序的质量。使用外部库来检查代码的......
  • Java中的依赖注入:提高代码的可维护性和可测试性
            依赖注入(DI)是一种软件设计模式,旨在实现控制反转(IoC),通过这种方式,对象的依赖项(通常是服务)不由对象本身创建,而是由外部容器动态提供。在Java中,依赖注入是实现松耦合和增强代码可维护性的有效手段。本文将探讨Java中的依赖注入概念、其优势以及如何利用现有的框架......
  • 计算机组装与维护的基础知识-计算机配件选购-基础篇
    此处采用了扫描件,转化为了图片,供给大家参考。......