【愚公系列】软考高级-架构设计师 081-系统维护
🏆 作者简介,愚公搬代码
🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。
🏆《近期荣誉》:2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主等。
🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
🏆🎉欢迎 👍点赞✍评论⭐收藏
🚀前言
系统维护是指在软件产品的整个生命周期内,为了保持和提高系统的性能、功能和可用性而进行的各种活动。这些活动包括修复错误、优化性能、添加新功能、适应环境变化以及确保系统的持续运行。
🚀一、系统维护
🔎1.遗留系统
定义:
遗留系统是指任何基本上不能进行修改和演化以满足新的变化了的业务需求的信息系统。这类系统通常具有以下特点:
-
功能上的局限性:
- 系统虽然完成企业中许多重要的业务管理工作,但仍然不能完全满足要求。
- 一般实现业务处理电子化及部分企业管理功能,很少涉及经营决策。
-
技术上的落后:
- 系统在性能上已经落后,采用的技术已经过时。
- 例如,多采用主机/终端形式或小型机系统,软件使用汇编语言或第三代程序设计语言的早期版本开发,使用文件系统而不是数据库。
-
规模和复杂性:
- 通常是大型的软件系统,已经融入企业的业务运作和决策管理机制之中,维护工作十分困难。
-
缺乏现代管理和开发方法:
- 没有使用现代信息系统建设方法进行管理和开发。
- 现在基本上已经没有文档,很难理解。
遗留系统尽管在企业中发挥重要作用,但由于技术和管理上的局限性,维护和改进非常困难,难以适应新的业务需求。这类系统的现代化和替换成为企业信息化管理中的一项重要挑战。
🔎2.系统转换
🦋2.1 系统转换
定义:
系统转换是指新系统开发完毕并投入运行,取代现有系统的过程。这一过程需要考虑多方面的问题,以实现与老系统的顺利交接。主要有以下三种转换计划:
-
直接转换:
- 定义:现有系统被新系统直接取代。
- 优点:节省成本,适用于新系统不复杂或现有系统已经不能使用的情况。
- 缺点:风险较大,只适合小系统。
-
并行转换:
- 定义:新系统和老系统并行工作一段时间,新系统经过试运行后再取代老系统。
- 优点:风险极小,新系统在试运行过程中出现问题不会影响现有系统的运行。可以比较新老系统的性能,适用于大型系统。
- 缺点:耗费人力和时间资源,难以控制两个系统间的数据转换。
-
分段转换:
- 定义:分期分批逐步转换,将大型系统分为多个子系统,依次试运行每个子系统。成熟一个子系统,就转换一个子系统。
- 优点:适用于大型项目,风险较小。
- 缺点:更耗时,现有系统和新系统混合使用,需要协调好接口等问题。
🦋2.2 数据转换与迁移
数据转换与迁移是系统转换中的关键环节,主要包括以下三种方法:
-
系统切换前通过工具迁移:
- 使用专门的工具将数据从旧数据库迁移到新数据库中。
-
系统切换前采用手工录入:
- 通过手工录入的方式将旧系统的数据录入到新系统中。
-
系统切换后通过新系统生成:
- 新系统上线后,通过新系统功能将旧系统的数据转换和生成到新系统中。
系统转换是一个复杂且关键的过程,直接影响新系统的成功上线和企业业务的连续性。通过选择合适的转换计划和数据迁移方法,可以有效地降低风险,确保新系统平稳过渡。
🔎3.系统维护
🦋3.1 系统维护
定义:
系统维护是整个系统开发过程中耗时最长的部分。系统的可维护性可以定义为维护人员理解、改正、改动和改进这个软件的难易程度。
评价指标:
-
易分析性:
- 软件产品诊断软件中的缺陷或失效原因或识别待修改部分的能力。
-
易改变性:
- 软件产品使指定的修改可以被实现的能力,包括编码、设计和文档的更改。
-
稳定性:
- 软件产品避免由于软件修改而造成意外结果的能力。
-
易测试性:
- 软件产品使已修改软件能被确认的能力。
维护类型:
-
正确性维护:
- 发现并修复软件中的错误(bug)。
-
适应性维护:
- 由于外部环境发生改变,被动进行的对软件的修改和升级。
-
完善性维护:
- 基于用户主动提出的更多需求,修改软件,增加更多功能,使其功能和性能更高、更完善。
-
预防性维护:
- 对未来可能发生的问题进行预防性的修改。
🦋3.2 系统维护的分类
-
硬件维护:
- 涉及系统运行所需的硬件设备的维护和保养。
-
软件维护:
- 涉及系统软件的维护和改进,包括以下类型:
- 正确性维护:修复已发现的错误。
- 适应性维护:适应外部环境变化进行的修改。
- 完善性维护:根据用户需求增加新功能,提高性能。
- 预防性维护:预防潜在问题的修改。
- 涉及系统软件的维护和改进,包括以下类型:
-
数据维护:
- 涉及系统数据的管理和维护,确保数据的完整性和准确性。
系统维护是确保软件长期稳定、高效运行的重要环节,通过评价可维护性指标和实施不同类型的维护措施,可以有效提升系统的稳定性和性能,满足不断变化的业务需求。
🚀二、练习
🔎1.题目一
🔎2.题目二
解析题目:以下关于软件维护和可维护性的叙述中,不正确的是( )。
选项:
A. 软件维护要解决软件产品交付用户之后运行中发生的各种问题
B. 软件的维护期通常比开发期长得多,其投入也大得多
C. 进行质量保证审查可以提高软件产品的可维护性
D. 提高可维护性是在软件维护阶段考虑的问题
分析每个选项:
A. 软件维护要解决软件产品交付用户之后运行中发生的各种问题
- 这句话是正确的。软件维护的主要任务之一就是解决软件在交付用户之后运行过程中遇到的问题,包括修复错误和进行必要的改进。
B. 软件的维护期通常比开发期长得多,其投入也大得多
- 这句话也是正确的。通常情况下,软件的维护期确实比开发期要长,而且在维护期间的投入(包括人力和资源)也往往比开发期更大。
C. 进行质量保证审查可以提高软件产品的可维护性
- 这句话也正确。质量保证审查是提高软件产品可维护性的重要手段之一,通过质量保证审查可以发现和纠正潜在的问题,从而提高软件的可维护性。
D. 提高可维护性是在软件维护阶段考虑的问题
- 这句话是不正确的。提高软件的可维护性应该在软件开发的整个生命周期中考虑,而不仅仅是在软件维护阶段。这包括在设计、编码和测试阶段都要采取措施来提高软件的可维护性。
结论:
选项D是不正确的,因此答案是:
D. 提高可维护性是在软件维护阶段考虑的问题
🔎3.题目三
解析题目:某企业由于外部市场环境和管理需求的变化对现有软件系统提出新的需求,则对该软件系统进行的维护属于_____维护。
选项:
A. 正确性
B. 完善性
C. 适应性
D. 预防性
分析每个选项:
A. 正确性
- 正确性维护是指修复软件中的错误或缺陷,确保软件能够正常运行。这个选项不符合题目中所描述的情境。
B. 完善性
- 完善性维护是指根据用户的额外需求,对软件进行功能扩展和性能提升,以使软件更加完善。虽然这一选项有一定相关性,但题目中强调的是外部环境和管理需求的变化。
C. 适应性
- 适应性维护是指为了适应外部环境和需求的变化,对软件进行修改和升级。这正好符合题目中提到的企业因外部市场环境和管理需求变化而对现有软件系统提出新的需求。
D. 预防性
- 预防性维护是指为了预防未来可能发生的问题,进行的一些预防性的修改。这个选项也不符合题目中的情境。
结论:
根据题目描述,企业因外部市场环境和管理需求变化而对现有软件系统提出新的需求,这属于适应性维护。
答案是:
C. 适应性
🚀感谢:给读者的一封信
亲爱的读者,
我在这篇文章中投入了大量的心血和时间,希望为您提供有价值的内容。这篇文章包含了深入的研究和个人经验,我相信这些信息对您非常有帮助。
如果您觉得这篇文章对您有所帮助,我诚恳地请求您考虑赞赏1元钱的支持。这个金额不会对您的财务状况造成负担,但它会对我继续创作高质量的内容产生积极的影响。
我之所以写这篇文章,是因为我热爱分享有用的知识和见解。您的支持将帮助我继续这个使命,也鼓励我花更多的时间和精力创作更多有价值的内容。
如果您愿意支持我的创作,请扫描下面二维码,您的支持将不胜感激。同时,如果您有任何反馈或建议,也欢迎与我分享。
再次感谢您的阅读和支持!
最诚挚的问候, “愚公搬代码”
- 点赞
- 收藏
- 关注作者
评论(0)