
1.系统转换
1.1新老系统转换
遗留系统是指任何基本上不能进行修改和演化以满足新的变化了的业务需求的信息系统 ,它通常具有以下特点:
系统虽然完成企业中许多重要的业务管理工作,但仍然 不能完全满足要求。一般实现业务处理电子化及部分企业管理功能,很少涉及经营决策。
系统在性能上已经落后,采用的技术已经过时。例如,多采用主机/终端形式或小型机系统,软件使用汇编语言或第三代程序设计语言的早期版本开发,使用文件系统而不是数据库。
通常是大型的软件系统,已经融入企业的业务运作和决策管理机制之中,维护工作十分困难。
没有使用现代信息系统建设方法进行管理和开发,现在基本上已经没有文档 ,很难理解。
系统转换是指新系统开发完毕,投入运行,取代现有系统的过程,需要考虑多方面的问题,以实现与老系统的交接,有以下三种转换计划:
直接转换:现有系统被新系统直接取代了,风险很大,适用于新系统不复杂或者现有系统已经不能使用的情况。优点是节省成本。
并行转换:新系统和老系统并行工作一段时间,新系统经过试运行后再取代若新系统在试运行过程中有问题,也不影响现有系统的运行,风险极小,在试运行过程中还可以比较新老系统的性能,适用于大型系统。缺点是耗费人力和时间资源,难以控制两个系统间的数据转换。
分段转换:分期分批逐步转换,是直接和并行转换的集合,将大型系统分头多个子系统,依次试运行每个子系统,成熟一个子系统,就转换一个子系统。同样适用于大型项目,只是更耗时,而且现有系统和新系统间混合使用,需要协调好接口等问题。
数据转换与迁移:将数据从旧数据库迁移到新数据库中。有三种方法:
系统切换前通过工具迁移
系统切换前采用手工录入
系统切换后通过新系统生成
1.直接转换策略
直接转换策略是指在某一特定的时间点,旧系统停止运行,新系统立即投入使用。这种策略的最大特点是转换过程迅速,能够在短时间内完成系统的更替,节省了两个系统同时运行所产生的成本。
然而,直接转换策略的风险也相对较高。如果新系统在上线后出现未预料到的问题,比如功能缺陷、性能不足等,可能会导致业务中断,给企业带来较大的损失。因此,这种策略通常适用于一些小型、简单的系统,或者旧系统已经无法继续使用,必须立即更换的紧急情况。在采用这种策略之前,需要对新系统进行全面、严格的测试,确保其具备稳定运行的能力,同时要制定详细的应急预案,以应对可能出现的问题。
2.并行转换策略
并行转换策略是指在一段时间内,旧系统和新系统同时运行,两者处理相同的业务数据,直到确认新系统能够稳定、准确地运行后,再停止旧系统的使用。
这种策略的优势在于安全性高,由于新旧系统同时运行,可以对两者的运行结果进行对比,及时发现新系统存在的问题并进行修正,避免了业务中断的风险。同时,用户也有更多的时间来熟悉新系统,逐渐适应新的操作流程。
但并行转换策略也存在一些缺点。首先,两个系统同时运行会增加 硬件设备、人力等方面的成本,企业需要投入更多的资源来维持双系统的运转。其次,双系统运行可能会导致数据不一致的问题,需要额外的精力来进行数据的核对与同步。该策略适用于对业务连续性要求较高、系统较为复杂的场景,如金融、电信等行业的核心业务系统。
3.分段转换策略
分段转换策略是将系统的转换过程分成多个阶段,按照一定的顺序,分阶段地将新系统的功能模块或业务范围逐步替代旧系统。在每个阶段,**只转换一部分业务或功能,待这部分稳定运行后,再进行下一个阶段的转换。**
这种策略的突出优点是风险分散,即使在某个阶段出现问题,影响范围也相对较小,便于及时调整和解决。同时,用户可以分阶段地学习和适应新系统,降低了培训的难度。
不过,分段转换策略的转换周期较长 ,需要在较长时间内协调新旧系统的运行,可能会增加系统之间接口的复杂性。此外,分阶段转换可能会导致业务流程在一段时间内处于不完整的状态,需要做好业务衔接工作。该策略适用于大型、复杂且可以进行模块化划分的系统,如企业资源计划(ERP)系统等。
1.2数据转换和迁移
数据迁移方式
1.离线批量迁移
离线批量迁移是指在非业务高峰期,将旧系统中的大量历史数据一次性或分批次导出,经过清洗、转换后,集中加载到新系统中的方式。
2.实时同步迁移
实时同步迁移是指通过特定的技术手段,在新旧系统运行过程中,实时捕获旧系统的数据变化,并将这些变化同步到新系统中,使新旧系统的数据保持一致。
3.增量迁移
增量迁移是指在完成首次全量数据迁移后,只对后续发生变化的数据(包括新增、修改、删除的数据)进行迁移的方式。
4.混合迁移
混合迁移是结合了离线批量迁移和实时同步迁移的一种方式,先通过离线批量迁移将大量的历史数据迁移到新系统,然后再采用实时同步迁移的方式处理后续的增量数据。
2.系统维护
系统的可维护性可以定义为维护人员理解、改正、改动和改进这个软件的难易程度。
1.评价指标
易分析性:软件产品诊断软件中的缺陷或失效原因或识别待修改部分的能力。
易改变性:软件产品使指定的修改可以被实现的能力,实现包括编码、设计和文档的更改。稳定性:软件产品避免由于软件修改而造成意外结果的能力。
易测试性:软件产品使已修改软件能被确认的能力。
维护性的依从性:软件产品遵循与维护性相关的标准或约定的能力。
系统维护包括硬件维护、软件维护和数据维护。2.软件维护类型
正确性维护:发现了bug而进行的修改。
适应性维护:由于外部环境发生了改变,被动进行的对软件的修改和升级。
完善性维护:基于用户主动对软件提出更多的需求,修改软件,增加更多的功能,使其比之前的软件功能、性能更高,更加完善。
预防性维护:对未来可能发生的bug进行预防性的修改
3.影响软件可维护性的因素
3.系统审计
1.审计的定义和目标
系统审计是指由独立的审计人员或团队,依据既定的标准、规范和流程,对软件系统的功能、性能、安全性、可靠性、合规性等方面进行系统性检查、验证和评估的过程。
其核心目标包括:确保系统符合需求规格说明书及相关行业标准、法规 ;验证系统功能的完整性和正确性,排查潜在缺陷 ;评估系统的安全性,防范数据泄露、恶意攻击等风险;检查系统性能是否满足业务需求,如响应时间、吞吐量等;确认系统数据的准确性、完整性和一致性;为系统的维护、升级和优化提供决策支持。
2.审计的重要性
- 保障系统质量:通过审计可以及时发现系统在开发和运行过程中存在的问题,如功能缺陷、性能瓶颈等,有助于在早期阶段进行修复,提高系统的整体质量。
- 降低风险:系统审计能够识别安全漏洞、合规性问题等潜在风险,提前采取措施进行防范,减少因系统故障、数据泄露等带来的损失。
- 提升管理水平:审计过程可以对系统开发和管理流程进行评估,发现流程中的不合理之处,推动管理流程的优化,提高软件工程的管理效率。
- 满足合规要求:在金融、医疗等受监管行业,系统必须符合特定的法规和标准,系统审计是证明系统合规性的重要手段,有助于企业通过监管部门的检查。
3.审计的主要内容
- 功能审计:验证系统是否实现了需求规格说明书中规定的所有功能,功能是否正确、完整,各功能模块之间的接口是否通畅。例如,对于电商系统,需审计商品展示、下单、支付、物流跟踪等功能是否正常运行,且符合用户需求。
- 性能审计:评估系统在不同负载情况下的性能表现,包括响应时间、吞吐量、并发处理能力、资源利用率(如 CPU、内存、磁盘 I/O 等)。例如,对高并发的票务系统,需测试在高峰期(如节假日)的响应时间是否在可接受范围内,能否支持大量用户同时购票。
- 安全审计:检查系统的安全机制是否健全,能否有效防范各种安全威胁。包括用户身份认证、权限管理、数据加密、防火墙配置、漏洞扫描等。例如,审计系统是否采用强密码策略,是否对敏感数据(如用户身份证号、银行卡信息)进行加密存储,是否定期进行安全漏洞检测。
- 合规性审计:确认系统是否符合相关的法律法规、行业标准及企业内部规章制度。如金融行业的《金融信息安全技术规范》、医疗行业的《健康保险流通与责任法案》(HIPAA)等。审计内容包括数据隐私保护、系统开发流程合规性等。
- 数据审计:检查系统数据的准确性、完整性、一致性和可用性。包括数据录入是否规范、数据存储是否安全、数据备份与恢复机制是否有效、数据迁移过程中是否存在数据丢失或错误(如前文所述的数据转换和迁移过程)。例如,审计新旧系统数据迁移后,新系统中的数据是否与旧系统数据一致,是否存在重复或缺失的数据。
- 流程审计:评估系统开发、测试、部署、维护等流程是否规范、高效,是否符合软件工程的最佳实践。如检查开发过程是否遵循敏捷开发流程,测试环节是否有完善的测试计划和报告,部署过程是否有严格的版本控制。
4.系统评价
1.主要目标
判断系统是否实现了需求规格说明书 中的各项功能指标;评估系统的性能是否满足业务运行需求;分析系统的可靠性和稳定性,确定其故障发生的频率和影响范围;衡量系统的易用性,了解用户对系统的接受程度;核算系统的开发、运行及维护成本,评估其经济性;为系统的后续优化、升级或替换提供决策支持。
2.主要内容
- 功能评价:评估系统是否完整实现了需求规格说明书中的功能,功能是否准确、无冗余。例如,对于一个在线购物系统,需评价商品搜索、下单、支付、物流查询等功能是否全部实现,且流程是否顺畅。
- 性能评价:主要包括响应时间、吞吐量、并发处理能力、资源利用率等指标。如某社交平台在高峰时段的页面加载时间是否在用户可接受范围内(通常建议小于 3 秒),系统能否同时支持 10 万用户在线操作。
- 可靠性评价:衡量系统在规定时间内和特定环境下正常运行的能力,常用指标有平均无故障时间(MTBF)、平均修复时间(MTTR)等。例如,某银行核心交易系统的 MTBF 需达到 1000 小时以上,以保证交易的稳定进行。
- 易用性评价:从用户操作的便捷性、学习成本、界面友好度等方面评估。可通过用户操作完成任务的时间、错误率以及用户满意度调查来衡量。如一款办公软件,普通用户能否在 1 小时内掌握基本操作,界面布局是否符合用户使用习惯。
- 安全性评价:评估系统抵御安全威胁的能力,包括数据加密强度、身份认证机制、漏洞防护能力等。例如,系统是否能有效防止 SQL 注入、XSS 攻击,用户密码是否采用不可逆加密存储。
- 经济性评价:核算系统的全生命周期成本,包括开发成本、运行维护成本、培训成本等,并与系统带来的效益(如提高工作效率、降低运营成本)进行对比。如某企业 ERP 系统,需计算其开发投入与上线后每年节省的人力成本、库存成本之间的比例。
- 可扩展性评价:判断系统是否能够根据业务需求的增长进行功能扩展或性能提升,如是否支持模块新增、用户规模扩大、数据量增长等。例如,电商系统能否在促销活动期间快速扩展服务器资源以应对流量激增。
3.评价方法
**定量评价法:通过量化指标对系统进行评估,结果具有客观性和可比较性。**常用方法包括:
- 性能测试:使用 LoadRunner、JMeter 等工具,模拟不同负载下的系统运行情况,获取响应时间、吞吐量等数据。
- 可靠性统计:记录系统运行过程中的故障次数、故障持续时间,计算 MTBF、MTTR 等指标。
- 成本核算:统计系统开发、维护过程中的各项费用,计算投资回报率(ROI)等经济指标。
**定性评价法:基于主观判断和经验对系统进行评估,适用于难以量化的指标。**常用方法包括:
- 用户访谈:与不同角色的用户(如管理员、普通用户)沟通,了解其对系统功能、易用性的感受和建议。
- 专家评审:邀请软件工程领域的专家对系统的架构设计、技术选型、安全性等进行评估。
- 问卷调查:设计包含易用性、满意度等维度的问卷,收集用户反馈,进行统计分析。
**综合评价法:结合定量和定性评价的优势,对系统进行全面评估。**例如,先通过性能测试获取定量数据,再结合用户访谈和专家评审的定性结果,形成综合评价结论。