系统只有投入运行后,才能进一步对系统检验,发现潜在的问题,为了适应环境的变化和用户要求的改变,可能会对系统的功能、使用界面进行修改。要对每次发现的问题和修改内容建立系统维护文档,并使系统文档资料同步更新。
12.4.4 服务保证措施
本公司软件质量保证由各项任务构成,这些任务的参与者有两种人:软件开发人员和质量保证人员。前者负责技术工作,后者负责质量保证的计划、监督、记录、分析及报告工作。软件开发人员通过采用可靠的技术方法和措施,进行正式的技术评审,执行计划周密的软件测试来保证软件产品的质量。软件质量保证人员则辅助软件开发组得到高质量的最终产品。
我们的软件质量保证计划大体分为如下三大部分:
① 把软件研制合理地划分为若干阶段,并针对每个阶段的特点,制定出质量评审、评测
的要求和措施。
② 从软件质量的要求出发,制定出相应的技术和管理规范,如软件文档规范、软件编程
规范、软件测试规范、软件版本控制规范等。 ③ 创建和积累公用模块,向软件工厂化方向发展。
1、软件研制的阶段划分及其质量控制
我们把软件系统的研制划分为8个阶段,即总体需求分析、总体设计、各分系统的需求说明及概要设计、详细设计(面向子系统)、程序编制、自测试、组装与验收测试、试用和初步定型。
我们规定,总体需求分析及总体设计需经有关领导及管理专家评审认定。分系统的需求说明、概要设计及详细设计需经总工程师组织的技术评审组评审。评审前,多数分系统的需求说明及概要设计需经有代表性的用户审核认可,即分析和设计阶段主要靠评审把关,编程和实施阶段主要靠执行规范和测试把关。每次评审的结果都有相应的记录,并填写相应的表格。
2、软件的文档规范
系统开发的文档要求是:每个分系统必须有需求说明、概要设计,每个子系统必须有详
细设计和操作使用说明。需求说明、概要设计和详细设计必须串行完成,而且规定,详细设计未经评审通过不能进入正规编程。不写设计就进入编程,这是软件开发人员常犯的毛病,在我们的系统开发中这是不允许的。
3、软件编程规范
开发中所有设计文件经过认真的评审、推敲和认定后,软件编程将是保证软件质量的一个重要环节。为保证这一环节的质量,我们专门制定了编程的有关规范。其中最主要的是界面规范。
需要强调的是,对界面的理解不应只限于屏幕格式和操作方法,界面设计应贯穿于软件编制的全过程,我们的界面规范分为两大部分:
第一部分是设计原则,包括:一般原则、屏幕格式设计原则、输入过程设计原则、信息显示设计原则、提示信息设计原则、报表设计原则、菜单设计原则、操作方法原则。它重点解决操作的方便性和直接性、显示和提示的确定性、输入的准确性、输入输出的一致性,以保证对用户习惯和心理的良好适应性,给用户一种愉快感,让用户产生一种喜爱感。
第二部分是屏幕格式设计,包括:版权屏幕、登录屏幕、单记录录入窗口、多记录录入窗口、查询列表窗口、 主/细数据录入窗口、命令按钮格式。它的主要目标是,力求使屏幕格式简炼、实用、直观、醒目、格调一致,使操作使用方便。
软件编程规范更是一种设计和编程经验的总结,是对所用开发工具的深入认识和全面理解。这一规范本身的质量直接关系到全系统的编程效率和可移植性、软件的可扩展性及可维护性、数据的可恢复性和系统的可靠性。特别是在客户/服务器模式下工作的系统,编程时对处理和数据的合理分布将直接影响到系统资源利用得是否充分、恰当,直接影响到整个系统的性价比。
它包括:对象和控制命名规范、编程风格、数据校验、环境配置与应用的可移植性、事件驱动、面向对象、数据库访问规范、数据及处理分布、出错处理、安装及设置。实践证明,这一规范对保证程序质量、提高软件重用度,进而对提高编程效率、乃至提高系统的可靠性均起了重要作用。
4、软件测试规范
软件测试是在设计阶段保证软件质量的最后一关。从测试手段来说,我们把整个测试分为白盒测试和黑盒测试,并在软件编制过程中交叉使用。指派对开发工具认识最深入、编程
经验最丰富的同志从事白盒测试;指派对工作流程最熟悉、对操作使用研究和体会最细致的同志从事黑盒测试。从测试过程来说,又分为两步:自测试和组装验收测试。自测试是软件编制者自己设计测试用例,自己验证;组装和验收测试则是按照需求说明和工作流程全面设计测试案例,进行全面测试。工作流程、数据流程、各子系统之间及各模块之间的接口是验收测试的重点之一。
整个测试阶段必然是一个发现问题→修改完善→再测试的过程,而且可能多次反复。此时,最重要的是要把握住两点:一是每提出一个修改,都需经过总体设计师和分系统设计者的认真研究讨论,既要保证软件的正确性、流程的合理性和功能的完备性,又要保证总体设计思想和软件设计风格不受破坏,即保证软件的整体质量;二是程序编制者和测试者都要有足够的耐心和良好的协作精神,都要有对软件质量负责的责任感。
无论自测试,还是组装及验收测试,都是极其细致而又繁琐的过程。不少技术人员愿意搞设计和编程,而不愿在测试方面多花功夫。软件开发的管理者对这种倾向需严密注视、尽力防范,同时应做出具体规定,作为软件设计的法规,要求大家严格遵守。测试规范的概要如下在自测试阶段制定了自测试方法和自测试过程。
自测试方法重点规定了两点:一是白盒测试、人工审查与机器执行相结合;二是给出了测试用例设计原则,即模块内部和模块间的测试用例设计原则及重点检查的内容。自测试过程分为代码审查、模块测试、组装测试和整理测试报告四个过程。规范中详细规定了每一过程的细节和要求。组装及验收测试规范中同样规定了测试方法和测试过程。
其中,重点强调三点:一是再次推敲流程是否合理,功能是否齐全;二是测试用例设计必须考虑如下几方面要求:功能测试、性能测试、大数据量测试、可靠性测试、可恢复性测试、多用户测试、安装测试和配置测试;三是要重视模块和子系统之间的接口测试。
5、软件版本控制
版本控制是对已做成的软件在发展过程中的一种质量管理,各大公司对自己的软件均有一套版本控制方法。我们开发的软件系统绝不是“一锤子买卖”,推出了第一期软件的试用版,还会有第二期软件补充进来,两期软件到一定阶段都将定为正式版,而且今后还会继续发展,到一定时候还要更新。何时定为正式版,何时宣布版本升级,都需要有明确的要求和界限,两个版本之间的任何修改和维护都需要一套管理办法。升级也好,更新也好,都需要考虑与原来版本的兼容,以保护用户的投资利益。
6、建立公共模块,向工厂化方向发展
尽管一套软件系统可分为若干分系统和子系统,但它们仍会有一些共同或类似的操作。将共同操作抽取出来,制成若干公用模块,供各子系统调用或直接使用,这不仅可提高软件的编程效率,也直接提高了软件质量。这虽属于总体设计和总体规划中的工作,但从质量管理的角度重视这一工作,把它作为软件质量保证的一项措施,也很有意义。
12.4.5 技术培训计划
1、概述
人员培训作为工程实施的一个重要环节,对整个项目的实施至关重要,通过系统的培训,使得工作人员得到日常工作需要的专业技术知识和经验,从而保障整个系统的顺利运行。
项目建设最终系统将交付用户使用,项目培训是项目实施中的重要环节,通过项目培训对业主人员进行全面的技术培训,使业主单位人员达到能独立进行管理、故障处理、日常测试维护等工作,以便于我方提供的软、硬件能够正常、安全的运行。
培训的总体目标: 1、管理员培训。 培训对象:系统管理员。
培训目的:可以独立完成本单位行政执法的日常维护,解决一般问题。 培训内容:系统体系结构、系统配置、系统管理、系统使用。 培训方式:集中培训和个别培训。
培训批次:不少于1次的集中培训,个别培训随时安排。 2、使用人员培训
培训对象:系统一般使用人员。
培训目的:熟练掌握所涉及部分的操作。 培训内容:系统使用。
培训方式:集中培训和个别培训。
培训批次:不少于2次的集中培训,个别培训随时安排。
2、培训对象
如果项目是一项综合型的项目,系统使用范围广,用户层次多,不同用户层次使用的系
统角色不相同,使用的内容和侧重点各不相同,那么我们在项目中将针对不同的用户层次提供针对性的用户培训,保障培训效果,使各层次的用户都能熟练掌握系统相关的知识。 2.1、普通用户层
普通用户层是应用系统的直接使用者,涉及到系统的各方面功能,是对系统功能理解最深、业务最熟悉的用户群,然而普通用户层由于覆盖的面广,各部门主要使用的功能模块不尽相同,因此针对于普通用户将按照不同的部门的侧重点进行分期培训,组织类似业务部门或单独部门进行培训,以便于各部门对各自业务系统使用的把握,以达到各用户能熟练掌握系统的使用方法。
2.2、系统管理员和应用级管理员
系统管理员和应用级管理员是业主单位对系统进行管理维护的主要人员,这一用户群掌握一定的信息技术,并且针对应用系统管理员和平台维护员分别进行针对性的培训,主要侧重于系统的建设原理和规划,总体架构,常见问题的解决,系统安装配置等内容。系统的维护和管理工作需要对应用系统较熟悉,并且能处理运行过程中遇到的各类问题,因此对于软件维护人员和管理员将采用共同参与项目维护和实施的方式,从长期实践中逐渐掌握系统维护知识,提升其技术技能和对系统的认识。 2.3、技术人员培训
技术人员主要是指业主单位具备一定的应用系统开发能力,主要用于系统上线后对系统的需求变动进行二次开发和修改,以及系统扩展能力的技术人员,针对这一用户群,将着重于应用系统的开发原理、开发工具、系统架构等进行培训,使其掌握系统二次开发技术,为今后系统升级改造、功能扩展储备技术力量。
3、培训课程
3.1、应用系统使用培训
课程名:系统应用。 课程内容:
计算机系统基本操作方法;系统基本功能介绍;业务流程规范;系统使用方法。 课时:1天。 3.2、系统运维技术培训
课程名:日常维护培训。 课程内容: