1、第第9章章 软件系统试运行阶段的知软件系统试运行阶段的知识和管理识和管理本章要点: 实施是软件项目用户化的基本手段 软件系统试运行的目标和内容 软件项目的实施 试运行阶段的管理和控制 软件系统试运行的效果和评价指标 软件系统的改进原则- 软件系统试运行的工作以用户方人员为主,开软件系统试运行的工作以用户方人员为主,开方为辅。方为辅。 通过系统试运行,很好地检查系统是否真正满通过系统试运行,很好地检查系统是否真正满足其实际的业务需求。足其实际的业务需求。9.1实施是软件项目用户化的基本手实施是软件项目用户化的基本手段段 软件项目从开发者到最终用户首先需要仔细检查软件项目从开发者到最终用户首先需要
2、仔细检查是否满足要求,是否能够使用,是否好用,是否满意。是否满足要求,是否能够使用,是否好用,是否满意。 只有好用、满意,软件系统的研发才算是成功的。只有好用、满意,软件系统的研发才算是成功的。 软件系统正式交付用户前,必须进行试运行(实软件系统正式交付用户前,必须进行试运行(实施)。施)。 -9.2软件系统试运行的目的和内容软件系统试运行的目的和内容9.2.1 系统试运行的目的系统试运行的目的 (1)通过对实际业务的模拟操作,检验系统设计和通过对实际业务的模拟操作,检验系统设计和实现的功能是否真正满足用户的实际业务需求。并在实现的功能是否真正满足用户的实际业务需求。并在实际业务环境下,查找软
3、件编码中潜在的问题和错误。实际业务环境下,查找软件编码中潜在的问题和错误。 (2)通过操作人员的实际工作体会,对系统的可行通过操作人员的实际工作体会,对系统的可行性提前进行评价。性提前进行评价。 (3)提前在实际运行环境下检验系统处理业务峰值提前在实际运行环境下检验系统处理业务峰值数据的稳定性和系统的健壮性。数据的稳定性和系统的健壮性。 (4)为系统正式运行积累宝贵的经验。为系统正式运行积累宝贵的经验。-9.2.2 系统试运行的内容系统试运行的内容9.2.2.1 9.2.2.1 运行环境、数据及人员的准备运行环境、数据及人员的准备 1)环境准备)环境准备 系统运行模拟环境的建立;系统运行模拟环
4、境的建立; 用户真是运行环境的准备。用户真是运行环境的准备。 2)数据准备)数据准备 现有系统业务数据(历史数据)的整理及导入;现有系统业务数据(历史数据)的整理及导入; 新系统运行环境数据的准备及录入。新系统运行环境数据的准备及录入。 3)人员准备人员准备 主要指新系统操作人员和系统管理员的准备。主要指新系统操作人员和系统管理员的准备。-9.2.2.2 9.2.2.2 对用户方相关人员进行培训对用户方相关人员进行培训 培训分为系统管理员和业务操作员两类。培训分为系统管理员和业务操作员两类。 (1)系统管理员:系统管理员: 1)数据库管理系统的正确安装与日常维护;数据库管理系统的正确安装与日常
5、维护; 2)数据库安全机制的建立与维护;数据库安全机制的建立与维护; 3)应用系统的参数配置与维护;应用系统的参数配置与维护; 4)应用系统服务器端与客户端运行环境的维护;应用系统服务器端与客户端运行环境的维护; 5)应用系统常见问题的处理与维护。应用系统常见问题的处理与维护。- (2)业务操作人员:业务操作人员: 1) 应用系统各个功能模块的操作方法;应用系统各个功能模块的操作方法; 2)了解各功能模块数据之间的关系;了解各功能模块数据之间的关系; 3)应用系统常见问题的处理与维护;应用系统常见问题的处理与维护; 4)用户界面的操作和内容;用户界面的操作和内容; 5)相关系统的切换等操作。相
6、关系统的切换等操作。-9.2.2.39.2.2.3系统试运行过程的检查系统试运行过程的检查 1)功能满足要求检验功能满足要求检验 检查系统是否真正、正确地完成了用户全部的业检查系统是否真正、正确地完成了用户全部的业务需求。务需求。 方法:试运行阶段,通过对用户提供的具有广泛方法:试运行阶段,通过对用户提供的具有广泛代表性的实际业务数据进行测试。将新系统运行后的代表性的实际业务数据进行测试。将新系统运行后的结果或报表与实际业务的处理结果进行比较。结果或报表与实际业务的处理结果进行比较。 2)系统性能的检验系统性能的检验 通过人为地制造业务处理峰值,进行系统业务处通过人为地制造业务处理峰值,进行系
7、统业务处理的压力测试,有效检查系统的处理性能及系统的健理的压力测试,有效检查系统的处理性能及系统的健壮性情况。壮性情况。- 3)系统操作流程、接口数据正确性等方面的检查系统操作流程、接口数据正确性等方面的检查和分析。和分析。 4)系统实用性、界面友好性、用户可接受性等方系统实用性、界面友好性、用户可接受性等方面的检查和意见。面的检查和意见。 5)与其他系统进行横向比较的意见,包括结构设与其他系统进行横向比较的意见,包括结构设计的先进性、实用性、可用性等方面的检查。计的先进性、实用性、可用性等方面的检查。-9.2.2.49.2.2.4系统的改进和完善系统的改进和完善 对于试运行中发现的问题,应具
8、体情况具体处对于试运行中发现的问题,应具体情况具体处理。理。 (1)对于可能造成系统试运行停顿的问题和错误,对于可能造成系统试运行停顿的问题和错误,必须立即进行修改;必须立即进行修改; (2)对于可能影响系统性能的问题,可以通过收对于可能影响系统性能的问题,可以通过收集汇总,进行集中的问题处理;集汇总,进行集中的问题处理; (3)对于用户提出一些新的本次项目合同以外的对于用户提出一些新的本次项目合同以外的功能需求,应采取合理的方法,尽量避免马上增加新功能需求,应采取合理的方法,尽量避免马上增加新功能,而应将这部分新的内容适当延迟到软件项目的功能,而应将这部分新的内容适当延迟到软件项目的第二阶段
9、或者新一轮项目的开展中去规划和实现。第二阶段或者新一轮项目的开展中去规划和实现。-9.2.2.59.2.2.5整理项目相关文档整理项目相关文档 根据系统试运行过程中出现问题的修改情况,对根据系统试运行过程中出现问题的修改情况,对项目的相关文档报告,进行整理与修改。项目的相关文档报告,进行整理与修改。9.2.2.69.2.2.6最终软件版本的生成最终软件版本的生成 软件通过试运行以后,项目组需要对最终形成的软件通过试运行以后,项目组需要对最终形成的软件版本进行整理归档,进行系统包装及安装系统制软件版本进行整理归档,进行系统包装及安装系统制作等提交用户前的处理工作。作等提交用户前的处理工作。9.2
10、.2.79.2.2.7准备投入正式运行准备投入正式运行 系统试运行工作结束后,系统将被安装到用户方系统试运行工作结束后,系统将被安装到用户方的实际运行环境中,并投入正式运行。的实际运行环境中,并投入正式运行。 -9.3 软件项目试运行中应注意的几个软件项目试运行中应注意的几个问题问题 为了使整个项目的管理不致在试运行阶段控制不为了使整个项目的管理不致在试运行阶段控制不好或者失去控制,应注意以下几个问题:好或者失去控制,应注意以下几个问题: (1)组织专职项目实施团队;组织专职项目实施团队; (2)充分估量项目实施的任务和资源,制定出周密充分估量项目实施的任务和资源,制定出周密的实施进度计划;的
11、实施进度计划; (3)制定相应的成本控制办法,严格控制成本,使制定相应的成本控制办法,严格控制成本,使其不超过实施阶段的预算;其不超过实施阶段的预算; (4)按照用户需求说明书中的条款,用户逐一验证按照用户需求说明书中的条款,用户逐一验证和落实系统的功能模块与性能要求,保证软件系统的和落实系统的功能模块与性能要求,保证软件系统的总体质量。总体质量。-9.4 试运行阶段的管理和控制试运行阶段的管理和控制9.4.1团队组成及其职责团队组成及其职责 试运行工作需要通过承担方和用户方的人员分试运行工作需要通过承担方和用户方的人员分工协作完成。工协作完成。项目管理委员会项目经理系统实施人员程序开发员系统
12、管理员项目经理业务主管系统管理员业务人员- 双方人员的职责分工如下双方人员的职责分工如下: (1)项目承担方项目承担方 1)项目经理:负责项目实施工作的总体安排和协项目经理:负责项目实施工作的总体安排和协调。调。 2)系统管理员:配合用户建立软件模拟运行环境,系统管理员:配合用户建立软件模拟运行环境,调试网络和系统。调试网络和系统。 3)系统实施人员:负责软件系统的客户化安装、系统实施人员:负责软件系统的客户化安装、调试、数据装载、用户培训等工作,并根据实施中遇调试、数据装载、用户培训等工作,并根据实施中遇到的问题,及时与软件开发人员沟通。到的问题,及时与软件开发人员沟通。 4)程序开发员:配
13、合系统实施人员解决试运行过程序开发员:配合系统实施人员解决试运行过程中出现的问题,并根据错误情况及时修改程序。程中出现的问题,并根据错误情况及时修改程序。- (2)用户方用户方 1)项目经理:负责项目实施工作的总体安排项目经理:负责项目实施工作的总体安排和协调。和协调。 2)业务主管:负责系统完成功能正确性的确业务主管:负责系统完成功能正确性的确认工作,负责组织和安排参与试运行的业务人员,认工作,负责组织和安排参与试运行的业务人员,安排试运行阶段具体的业务处理内容。安排试运行阶段具体的业务处理内容。 3)系统管理人员:负责系统实施阶段主机、系统管理人员:负责系统实施阶段主机、网络的调试与准备工
14、作,试运行阶段数据的准备网络的调试与准备工作,试运行阶段数据的准备工作。工作。 4)业务操作人员:负责系统试运行阶段的系业务操作人员:负责系统试运行阶段的系统使用工作。统使用工作。- 试运行阶段团队管理应注意的问题:试运行阶段团队管理应注意的问题: 1)注重双方之间的沟通和交流、意见的及)注重双方之间的沟通和交流、意见的及时反馈。时反馈。 2)所有反馈内容和修改意见一定需要以书)所有反馈内容和修改意见一定需要以书面形式确认。面形式确认。 3)保留原来的版本。)保留原来的版本。-9.4.2 进度管理进度管理 项目试运行阶段,一定要制定详细的进度计划。项目试运行阶段,一定要制定详细的进度计划。 试
15、运行阶段需要做好以下工作安排和进度控制:试运行阶段需要做好以下工作安排和进度控制: (1)业务主机及网络环境的准备业务主机及网络环境的准备 软件试运行在用户现场进行,原则上系统运行主软件试运行在用户现场进行,原则上系统运行主机及网络环境搭建由用户方技术人员完成。机及网络环境搭建由用户方技术人员完成。 要明确用户方技术支持人员,否则很容易造成用要明确用户方技术支持人员,否则很容易造成用户方缺乏具体人员对此事负责,使项目实施工作陷入户方缺乏具体人员对此事负责,使项目实施工作陷入被动状态。被动状态。- (2)数据准备数据准备 数据准备的过程中,一方面需要将手工数据转化数据准备的过程中,一方面需要将手
16、工数据转化为电子数据;另一方面要对原有数据进行差错修改。为电子数据;另一方面要对原有数据进行差错修改。 (3)人员的准备及培训人员的准备及培训 项目开发方要认真组织对用户的培训工作。培训项目开发方要认真组织对用户的培训工作。培训质量的高低,将直接影响试运行工作的进度和效果。质量的高低,将直接影响试运行工作的进度和效果。 (4)试运行时间的安排试运行时间的安排 试运行时间的长短一般要视具体项目而定。一般试运行时间的长短一般要视具体项目而定。一般说来,试运行工作周期应选择用户的一个业务处理周说来,试运行工作周期应选择用户的一个业务处理周期较为合适。不宜拖得太长,适中的试运行时间是一期较为合适。不宜
17、拖得太长,适中的试运行时间是一个月左右。个月左右。-9.4.3 成本管理成本管理 控制好项目试运行阶段的成本应做好以下几点:控制好项目试运行阶段的成本应做好以下几点: (1)结合整体项目的进度计划,制定出严密的项结合整体项目的进度计划,制定出严密的项目试运行进度计划;目试运行进度计划; (2)与用户方保持良好的协作关系,确保各项准与用户方保持良好的协作关系,确保各项准备工作和人员够及时到位,使得项目实施工作能够在备工作和人员够及时到位,使得项目实施工作能够在计划内顺利实施。计划内顺利实施。 (3)选派实施经验丰富且技术熟练的实施人员,选派实施经验丰富且技术熟练的实施人员,保证系统在试运行过程中
18、出现问题时,能够很快得到保证系统在试运行过程中出现问题时,能够很快得到解决。解决。 (4)对于试运行过程中出现的问题,可以一边修对于试运行过程中出现的问题,可以一边修改,一边试运行,不能因为某个环节出现问题,而暂改,一边试运行,不能因为某个环节出现问题,而暂停试运行工作。停试运行工作。 (5)加强双方团队成员的沟通,避免引起在业务加强双方团队成员的沟通,避免引起在业务流程或功能实现方面的理解偏差。流程或功能实现方面的理解偏差。-9.4.4 质量管理质量管理 (1)试运行内容安排试运行内容安排 试运行阶段处理的业务应具有广泛的代表性,能试运行阶段处理的业务应具有广泛的代表性,能真正起到检验系统的
19、目的,确保正式上线后系统处理真正起到检验系统的目的,确保正式上线后系统处理的正确与稳定。的正确与稳定。 (2)做好试运行结果记录做好试运行结果记录 试运行结果,一方面要作为系统最终验收的主要试运行结果,一方面要作为系统最终验收的主要依据;另一方面也是最后进行系统改进的依据。依据;另一方面也是最后进行系统改进的依据。 (3)系统改进系统改进 试运行工作结束后,要根据错误记录及用户提出试运行工作结束后,要根据错误记录及用户提出的改进意见,制定详细的系统改进工作计划。的改进意见,制定详细的系统改进工作计划。-9.4.5 制定系统运行规范制定系统运行规范 系统运行管理和操作规范主要包括以下几方面系统运
20、行管理和操作规范主要包括以下几方面的内容:的内容: (1)岗位确定与职责划分岗位确定与职责划分 根据软件系统的运行与维护要求,确定日常进行根据软件系统的运行与维护要求,确定日常进行系统维护和操作的人员编制,并明确不同类型人员的系统维护和操作的人员编制,并明确不同类型人员的工作职责。一般情况下,系统的日常使用和维护需要工作职责。一般情况下,系统的日常使用和维护需要以下类型的人员:以下类型的人员: 1)系统网络维护工程师系统网络维护工程师 负责主机系统、网络系统的系统调试、维护工作,负责主机系统、网络系统的系统调试、维护工作,保证软件所运行的硬件、网络、操作系统、数据库等保证软件所运行的硬件、网络
21、、操作系统、数据库等环境的正常工作。环境的正常工作。- 2)系统管理员系统管理员 负责应用系统日常的维护和管理工作,包括进行负责应用系统日常的维护和管理工作,包括进行应用系统的安装、配置、一般性故障解决、数据的备应用系统的安装、配置、一般性故障解决、数据的备份和恢复、用户管理等。份和恢复、用户管理等。 3)操作员操作员 负责系统的日常使用。大多数情况下,根据应用负责系统的日常使用。大多数情况下,根据应用系统的设计,操作人员也可以根据不同的操作权限加系统的设计,操作人员也可以根据不同的操作权限加以区分。以区分。 (2)工作流程制定工作流程制定 一般说来新系统的工作流程、工作方式或多或少一般说来新
22、系统的工作流程、工作方式或多或少地与操作人员以前的工作习惯有一定的区别。所以,地与操作人员以前的工作习惯有一定的区别。所以,为了避免操作过程中出现不必要的混乱和差错,需要为了避免操作过程中出现不必要的混乱和差错,需要制定操作人员的操作规范和工作流程。制定操作人员的操作规范和工作流程。 - (3)系统管理职责系统管理职责 系统管理工作对系统的安全运行至关重要。为了系统管理工作对系统的安全运行至关重要。为了做好日常的系统管理工作,需要制定详细的系统管理做好日常的系统管理工作,需要制定详细的系统管理规范。规范。 日常系统管理工作主要涉及以下工作内容:日常系统管理工作主要涉及以下工作内容: 1)系统运
23、行日志的检查与记录系统运行日志的检查与记录 应用系统在设计时一般也都有自己的系统日志,应用系统在设计时一般也都有自己的系统日志,日志反映了系统的运行状况。系统管理员要做好日志日志反映了系统的运行状况。系统管理员要做好日志的日常检查工作,使系统中潜在的问题能够早发现、的日常检查工作,使系统中潜在的问题能够早发现、早处理,避免造成较大的损失。早处理,避免造成较大的损失。- 2)做好系统的安全管理做好系统的安全管理 软件系统的安全问题主要体现在以下几个方面:软件系统的安全问题主要体现在以下几个方面: 数据安全数据安全 做好业务数据的日常备份工作。做好业务数据的日常备份工作。 病毒防范病毒防范 严格禁
24、止并防范未经检查的软件或数据进入应用严格禁止并防范未经检查的软件或数据进入应用系统运行环境。系统运行环境。 网络安全防范网络安全防范 做好日常的系统检测工作,防止并尽早发现可能做好日常的系统检测工作,防止并尽早发现可能存在的非法入侵。存在的非法入侵。 3)制定风险防范措施制定风险防范措施 对于重要的业务系统或数据,要制定适当的风险对于重要的业务系统或数据,要制定适当的风险防范措施。防范措施。-9.5 软件系统试运行的效果和评价指软件系统试运行的效果和评价指标标 对于合作型和外包型的软件项目,试运行阶段对于合作型和外包型的软件项目,试运行阶段的交付成果是的交付成果是用户报告用户报告。表。表9-1
25、(p323)给出一)给出一个实际软件项目的用户报告的内容示例。个实际软件项目的用户报告的内容示例。 对于对于IT公司推出的商品化软件系统,在给用户实公司推出的商品化软件系统,在给用户实施后,一般由用户提供施后,一般由用户提供应用报告应用报告。表。表9-2(p325)给给出一个真实的用户应用报告的示例。出一个真实的用户应用报告的示例。- 通常情况下,软件系统试运行情况应从以下几个通常情况下,软件系统试运行情况应从以下几个方面进行全面考核与评价。方面进行全面考核与评价。 (1)软件功能满足需求的情况软件功能满足需求的情况 软件是否完成用户要求的全部内容,是评价软件软件是否完成用户要求的全部内容,是
26、评价软件质量的一个重要标准。评价的依据为用户需求说明书,质量的一个重要标准。评价的依据为用户需求说明书,通过用户对需求说明书中各类业务的实际运行,检查通过用户对需求说明书中各类业务的实际运行,检查系统功能的满足情况。系统功能的满足情况。 (2)系统业务处理的正确性系统业务处理的正确性 对处理结果正确性的检查主要是通过运行结果与对处理结果正确性的检查主要是通过运行结果与原有系统或手工处理结果进行核对,实现检查的目的。原有系统或手工处理结果进行核对,实现检查的目的。 实现正确性检查的有效性,一方面要求试运行时实现正确性检查的有效性,一方面要求试运行时处理的业务覆盖了系统的全部业务功能;另一个方面处
27、理的业务覆盖了系统的全部业务功能;另一个方面要做认真、仔细的检查核对工作。要做认真、仔细的检查核对工作。- (3)系统处理性能系统处理性能 软件性能评价主要有以下几个方面:软件性能评价主要有以下几个方面: 1)系统吞吐量系统吞吐量 试运行阶段,可以通过模拟峰值业务量来测试系试运行阶段,可以通过模拟峰值业务量来测试系统的吞吐量。要注意的是系统的吞吐量一方面与软件统的吞吐量。要注意的是系统的吞吐量一方面与软件的设计有关;另一方面与软件运行的硬件环境有关。的设计有关;另一方面与软件运行的硬件环境有关。 2)响应时间响应时间 通过试运行可以检验系统响应时间是否满足设计通过试运行可以检验系统响应时间是否
28、满足设计要求,同时也可以检验相关设备的选择能否满足响应要求,同时也可以检验相关设备的选择能否满足响应时间要求。时间要求。 3)设备利用率设备利用率 相关设备的利用率是否都处在有效利用的范围之相关设备的利用率是否都处在有效利用的范围之内。内。- (4)系统可用性系统可用性 对于系统可用性的评价主要基于以下几个方面:对于系统可用性的评价主要基于以下几个方面: 1)系统是否易于学习和掌握系统是否易于学习和掌握 2)系统是否易于操作系统是否易于操作 3)系统是否提供友好的人机交互界面系统是否提供友好的人机交互界面 (5)系统稳定性系统稳定性 系统稳定性评价是指由于异常现象造成系统崩溃系统稳定性评价是指
29、由于异常现象造成系统崩溃或死机现象的次数。或死机现象的次数。- (6)系统可维护性系统可维护性 系统的可维护性体现在以下几个方面:系统的可维护性体现在以下几个方面: 1)软件编码的规范性软件编码的规范性 2)软件容易修改和扩充软件容易修改和扩充 3)完善的软件文档资料完善的软件文档资料 (7)系统安全性系统安全性 安全性评价体现在以下几个方面:安全性评价体现在以下几个方面: 1)严格的权限管理严格的权限管理 2)有效的通信加密机制有效的通信加密机制 3)有效的重要数据安全机制有效的重要数据安全机制 4)全面的数据备份与恢复功能全面的数据备份与恢复功能 -9.6 软件系统的改进原则软件系统的改进
30、原则 制定改进工作计划时,要按照以下改进原则进行。制定改进工作计划时,要按照以下改进原则进行。 (1)以需求说明书内容为基准以需求说明书内容为基准 对于运行错误和用户建议,要分两种情况进行处对于运行错误和用户建议,要分两种情况进行处理:一类是需求中明确包含的、系统未完全实现的功理:一类是需求中明确包含的、系统未完全实现的功能要求或业务处理不正确。对这类问题,在系统改进能要求或业务处理不正确。对这类问题,在系统改进时应予以完全解决;另一类可能是用户业务处理流程时应予以完全解决;另一类可能是用户业务处理流程发生变更,即出现了需求变更。对这类问题,不应属发生变更,即出现了需求变更。对这类问题,不应属
31、系统改进工作范畴,应与用户沟通,其改进工作应遵系统改进工作范畴,应与用户沟通,其改进工作应遵照系统变更处理来完成。照系统变更处理来完成。- (2)对系统可用性的有效解决对系统可用性的有效解决 系统试运行完成后,往往会出现众多的系统可用系统试运行完成后,往往会出现众多的系统可用性意见。性意见。 对于这类问题,由于不同的人有不同的想法,很对于这类问题,由于不同的人有不同的想法,很难形成统一的意见,所以,应将用户意见汇总,然后难形成统一的意见,所以,应将用户意见汇总,然后与用户方业务主管及项目负责人就不同建议进行讨论,与用户方业务主管及项目负责人就不同建议进行讨论,确定哪些需要修改,哪些维持现状。确
32、定哪些需要修改,哪些维持现状。 不要不加区分的全部进行修改,这样容易造成修不要不加区分的全部进行修改,这样容易造成修改上的反复;也不要固执己见,一点都不修改,这样改上的反复;也不要固执己见,一点都不修改,这样容易破坏与用户之间的良好关系。容易破坏与用户之间的良好关系。- (3)综观全局,权衡利弊综观全局,权衡利弊 具体工作中,一定要权衡利弊,灵活处理。具体工作中,一定要权衡利弊,灵活处理。 对于修改难度小,工作量较轻,但仍属于需求对于修改难度小,工作量较轻,但仍属于需求变更范围的修改,从维护与用户良好关系的角度出变更范围的修改,从维护与用户良好关系的角度出发,可将其纳入改进工作范畴。发,可将其纳入改进工作范畴。 对于修改难度大,工作量较大的需求变更,由对于修改难度大,工作量较大的需求变更,由于涉及到工期的延长、费用的增加,必须严格按照于涉及到工期的延长、费用的增加,必须严格按照需需 求变更来处理。必要的情况下,双方可以讨论求变更来处理。必要的情况下,双方可以讨论本期项目结束后,继续开展下期软件项目的工作内本期项目结束后,继续开展下期软件项目的工作内容。容。-作业: 1.系统试运行的目的是什么? 2.系统试运行要做哪些准备? -