那板水库安全监测信息系统软件开发技术方案.docx
1 .工程背景2017年,那板水库完成了原有大坝平安监测工程的更新改造工作,所有监测 设备均纳入自动化系统中,形成了一个完整的大坝平安监测自动化系统”。目前,大坝平安监测自动化系统运行已步入正轨,每隔10 min进行1次数据 采集工作。系统投入使用后,大坝渗流监测、变形监测工程所对应的人工观测工作 照常进行,两者数据进行比对、校核,同时定期将人工补测的数据录入水库自动化 系统。监测工程的最终成果计算、定制月报表输出等由系统完成。但是,在水库日 常的运行和管理工作中,除了进行数据采集、成果计算、定制月报表输出外,还 迫切需要对监测资料进行其他的相关操作,主要包括数据校验叫资料整编、大坝 三维模型、分析评价、洪水动态预警,泄洪分析计算等,而那板水库原有自动化监 测系统不能够提供相关的功能,已不能满足相关规范的要求。为了进一步提高工 作效率及工程管理水平,结合国内外土石坝大坝平安监测的开展趋势及那板水库 实际情况,研究并开发了平安监测信息系统软件,并成功应用在那板水库,本文将 就其中主要功能作简要介绍。2 .工程概况那板水库属广西3大水库之一,坝址位于广西上思县,所属流域为左江支流、 明江河上游。坝址距县城东郊约3km,那板水库属(II)型水利枢纽工程,具有防洪、 灌溉、发电、城镇供水、养殖等综合性工程。枢纽工程主要由主坝、副坝、溢洪 道、坝后发电站组成,其中溢洪道属左岸,引水式发电站在右岸Po水库正常水位 为220.57 m、设计洪水位228.08m,校核洪水位229.79 m,总库容为8.32亿m;设 计灌溉面积4.35万亩,控制流域面积490 km;多年平均雨量1 715 mm,多年平均径 流量18.5 m'/so大坝为碾压粘土心墙坝,坝顶高程232.60 m,坝长313.00m,坝高 59.00 m、顶宽8.00 m、底宽347.00 m。左岸溢洪道为开敞式溢洪道,堰顶高程 220.57 m,堰高257 m,堰顶宽47.20 m。电站装机4台机组装机容量3 000kW ,2"、 3"、4”单机容量3 200 kW,总装机容量12.60 MW。3 .需求分析平安监测信息系统软件的开发应用可以极大地改善水库的管理条件,提高管对闸门控制器件的控制,实时控制各闸门开、关、停;与远程控制站主机通信, 完成数据上报任务;(2)远程控制模块。与现地工作站站通讯、查询并记录现地工作站站运行情况;远程控制站可发遥控指令、跃级现地工作站站直接控制各闸门开关;完成对水位、闸位、流速、流量的查询、报表工作。图6阀门监控系统界面5.工程实施计划软件产品用户购买软件产品之后,不能立即进行使用,需要软件公司的技术 人员在软件技术、软件功能、软件操作等方面进行系统调试、软件功能实现、人 员培训、软件上线使用、后期维护等一系列的工作,我们将这一系列的工作称为 软件工程实施。大量的工程实施案例证明,软件工程是否成功、用户的软件使用 情况是否顺利、是否提高了用户的工作效率和管理水平,不仅取决于软件产品本 身的质量,软件工程实施的质量效果也对后期用户应用的情况起到非常重要的影 响。工程实施规范主要包括工程启动阶段、需求调研确认阶段、软件功能实现确 认阶段、数据标准化初装阶段、系统培训阶段、系统安装测试及试运行阶段、总 体验收阶段、系统交接阶段等八个阶段工作内容。下面将分别介绍每个工程实施 阶段。5.1. 工程启动阶段此阶段处于整个工程实施工作的最前期,由成立工程组、前期调研、编制总 体工程计划、启动会四个阶段组成。此阶段主任务包括:公司:在合同签定后,指定工程经理,成立工程组,授权工程组织完成工程 目标。公司工程组:进行前期工程调研,与用户共同成立工程实施组织,编制总 体工程计划,召开工程启动会。商务经理配合公司工程组,将积累的工程和用户信息转交给工程组。将工程 组正式介绍给用户,配合工程组建立与用户的联系。用户:成立工程实施组织,配合前期调研和召开启动会,签署总体工程计 划和工程实施协议。(1)成立工程组部门经理接到实施申请后,任命工程经理,指定工程目标,由部门经理及项 目经理一起指定工程组成员及成员任务,并报总经理签署工程任务书。(2)前期调研工程经理及工程组成员,在商务人员配合下,建立与用户的联系,对合同、 用户进行调研。填写用户及合同信息表。在工程商务谈判中,商务经理积累 了大量的信息,工程组首先应收集商务和合同信息,并与商务经理一起识别那些 个体和组织是工程的干系人,确定他们的需求和期望,如何满足和影响这些需求、 期望以确保工程能够成功。(3)编制工程总体计划工程总体计划是一个文件或文件的集合,随着工程信息不断丰富和变化, 会被不断变更,主要介绍工程目标、主要工程阶段、里程碑、可交付成果。通常 包括以下几方面内容:工程描述,工程目标、主要工程阶段、里程碑、可交付成果。所计划的职责 分配(包括用户的);沟通管理计划,确定工程干系人对信息和沟通的需要即什么人何时需要什么 信息以及通过什么方式将信息提供给他们。质量管理计划,确定适合于工程的质 量标准和如何满足其要求。如果有必要,可以包括上述每一个计划,详细程度根 据每个具体工程的要求而定。未解决事宜和未定的决策。(4)启动会工程组与用户共同召开的宣布工程实施正式开始的会议。会程安排如下:共同组建工程实施组织,实施组织的权利和职责;双方签署工程实施协议。 工程组介绍工程总体计划和工程实施协议,包括以下内容:工程目标、主要工程阶段、里程碑、可交付成果。所计划的职责分配(包括用 户的);工程实施中工程管理的必要性和如何进行工程管理,工程的质量如何控制;工程实施中用户的参与和领导的支持的重要作用;阶段验收、技术交接和工程结束后如何对用户提供后续服务。5.2. 需求调研阶段此阶段的主要工作是工程实施人员向用户调查用户对系统的需求,包括管理 流程调研、功能需求调研、报表要求调研、查询需求调研等,实施人员调研完成 后,会编写需求调研分析手册,并交付用户进行确认,待用户对需求调研 分析手册上所提到的需求确认完毕后,工程实施人员将以此为依据进行软件功 能的实现。如果用户又提出新的需求,实施人员将分析需求的难度及对整个系统 的影响程度来确定是否给予实现。需求调研阶段具体包括如下内容:(1)进行需求调研准备(2)编制需求调研计划(3)内部评审是否通过需求调研计划,工程组、部门经理、商务等人员 根据合同要求和工程实际情况对需求调研计划草稿进行评审,如评审通过, 那么在稍后的时间内签署,如评审不通过那么重新修改。(4)用户是否签署需求调研计划,如用户签署需求调研计划,那么作 为以后需求调研工作的指南。否那么重新修改。(5)需求调研计划是否有变更,如果计划存在变更,那么执行变更控制流程, 否那么按计划进行后续工作。(6)编写及发出需求调研通知,工程组编写需求调研通知,确定进 行需求调研的相关事宜,发给用户,为顺利完成需求调研工作做准备需求调研, 工程组以需求调研手册为依据,从业务流程、和系统各个功能模块开展深入 和全面的调研,并用户的个性化要求。(7)需求调研分析根据调研的结果,工程组合公司其他技术部门将进行进 一步进行分析,确定合理、可行的需求,将分析结果形成需求分析报告草稿。(8)内部评审是否通过需求分析报告。工程组、部门经理、公司其他技 术部门的人员对需求分析报告草稿进行评审,那么在稍后由用户签署,如评审 不通过那么重新修改,直至内部评审通过。(9)编写及发出需求分析报告确认通知。工程组编写需求分析报告确 认通知,发给用户,确定进行需求确认的相关事宜,告知相关部门及人员安排 好工作,准时参与需求确认工作,为顺利完成需求确认工作做准备。(10)用户是否确认需求分析报告。如果用户确认,并签署需求分析 报告,那么需求调研阶段工作结束,进行后续的软件功能实现的工作;如没有确 认,那么进一步进行调研、分析,直至用户最终确认并签署需求分析报告。双 方签署了需求分析报告,需求调研工作结束之后,如果用户提出新的需求或 者变更已有需求,那么执行需求新增及变更流程。53功能实现阶段此阶段的工作是工程实施人员根据需求调研阶段确认的需求调研分析手册 中的用户需求内容进行具体软件功能的实现工作。在软件功能实现的过程中,项 目实施人员将记录软件实现的详细过程。便于公司售后服务之用,每一个实施技 术人员必须严格按照要求记录、存档。按照调研要求的所有功能实现完毕后,项 目实施人员将编制软件功能确认表,将定制好软件功能待用户确认,用户根 据软件功能确认表上的功能逐一确定软件功能是否到达要求,对不满足要求 的功能,工程实施人员将会记录下来并进行功能修改,直到满足要求。5.4. 系统培训阶段系统培训阶段工作是整个工程实施工作中比拟重要的工作用户对软件的操 作功能是否熟练将直接影响到后面的软件应用效果,所以软件公司和用户双方要 对此阶段的工作给予足够的重视。要充分认识培训的重要性和艰巨性。在工程实 施之前对用户的相关人员进行系统和规范的产品培训是非常必要的,到达让用户 了解软件产品,最终自己能够解决使用中的具体的问题。5.4.1. 培训人员此阶段的培训工作中将用户参加产品培训的人员划分为三个层次:决策层、 技术层、操作层。5.4.2. 培训内容此阶段的培训工作中将用户参加产品培训的人员划分为三个层次:决策层、 技术层、操作层,对不同层次的用户参加产品培训人员的培训内容分别是:决策层:领导在实施中的作用与重要性、决策查询。维护层:系统维护知识、操作方法。操作层:操作方法。5.4.3. 培训工作流程(1)调研培训信息:在培训开始前3天由用户实施负责人,将参加培训的 部门和人员情况填入受训部门汇总表、受训人员情况一览表。(2)编制培训计划:结合调研结果,与用户实施负责人商议具体培训内容、 时间,场地,人员等。工程组编制培训计划。(3)签署培训计划:用户签署培训计划,进一步确认培训安排。(4)发培训通知:培训开始前2天,按照签署的培训计划,将培训内容、 时间,场地,人员等信息通知用户实施负责人。(5)搭建培训环境公司工程组在培训开始前,将培训环境搭建及检查妥当, 将培训提纲及培训手册准备好。(6)组织培训:公司工程组培训负责人与用户实施负责人组织相关人员参加 培训,按培训制度严格考核。由用户将考勤情况填入培训人员签到表。(7)培训考核:公司工程组培训负责人与用户实施负责人组织受训人员参加 上机及理论考试。(8)培训总结:公司工程组培训负责人与用户实施负责人一起将出勤情况及考核情况做出总结,填入培训及考核统计表,及时向相关负责人汇报。5.5. 系统安装测试及试运行阶段此阶段的主要工作是在用户真实环境下,对用户网络及硬件设备进行测试, 对软件系统进行容量.性能压力等测试测试及试运行的目的在于确保系统各项功 能均能正常使用,并且符合用户签署的需求分析报告中描述的需求,同时把 尽可能多的潜在问题在正式运行之前发现并改正;同时目的还在于在正式运行前 用户的有关人员能进一步提高操作水平,掌握操作规范。此阶段的主要工作内容 为:(1)编制计划:与用户实施负责人商议具体测试及试运行时间,地点,人员 等安排,工程组编制测试及试运行计划。(2)签署计划用户签署测试及试运行计划,进一步确认测试及试运行安 排。(3)发测试及试运行通知:在测试及试运行开始前2天,按照签署的测试 及试运行计划,将时间,地点,人员等信息通知用户实施负责人。(4)搭建环境及数据准备:在试运行开始前搭建好软件环境、硬件环境、网 络环境、调通线路;检查软件、硬件、网络、线路等各个环节是否有问题;(5)组织测试及试运行:用户相关各级领导给予全面配合,组织相关人员进 行测试及试运行.(6)测试及试运行总结:测试及试运行完成,总结试运行中设备、软件的运 行情况,总结试运行中业务流程和操作环节的情况,以书面总结形式将测试及试 运行结果通知相关负责人。公司工程组负责担当指挥,检查用户人员组织情况并给予指导,跟踪检查如 下情况:»跟踪单据流转状况。A跟踪新资料登录环节。A观察业务流程执行状况。A观察操作人员操作表现。5.6. 工程验收阶段此阶段是对工程总体的完成情况进行验收。验收分阶段进行,在每一工程阶 段结束时,用户对这一阶段的可交付成果进行验收,在测试及试运行结束后,对 系统进行总体验收。需要验收的可交付成果:主要工程阶段阶段组成主要里程碑可交付成果启动阶段编制总体工程计划签署的总体工程 计划启动会工程启动会签署的工程实施 协议需求调研阶段需求分析报告确认需求调研结束签署的需求分析 报告软件实现软件功能确认软件功能确认签署的软件功能 确认表数据初装用户签署初装设计 及初装培训计划签署的初装计划 及初装培训计划初装检查及总结数据初装完成数据初装总结 表培训及考核用户签署培训计划签署的培训计 划培训总结培训完成培训总结表测试及试运行用户签署测试及试 运行计划签署的测试及试 运行计划测试及试运行总结试运行完成测试及试运行总 结验收总体验收验收完成总体验收报告工程交接阶段此阶段是工程实施的最后一个阶段,主要工作是软件公司工程组向用户移交 软件工程,包括软件产品、工程实施过程中所生成的各种文档,并签署售后服 务协议,工程将进入售后服务阶段。软件公司工程组还需要让用户填写用户 满意度调查表,对软件公司工程实施人员的整个工程实施情况进行评价,软件 公司将听取用户的意见,再今后的工程实施管理中进行加强和改进。6.组织结构工程经理产品经理工程总技术负责人开发人员测试人员软件主管决策人员6.1.工程经理负责本工程团队的组织与协调等管理工作,对工程的开发负有直接的领 导责任。负责工程计划的制定与跟踪。带着工程团队完成工程开发的目标。负责工程团队内部的沟通和冲突的尽早发现和调节。负责与工程团队外部其他部门或组织的沟通工作。负责组织相应技术人员完成技术攻关。在紧急时刻或遇到疑难问题时要身先士卒,稳定团队成员情绪,然后想 方设法解决问题。负责工程开展中的控制工作,能及时发现差异并提出合理解决方案,而 且还要依据公司规定的流程向工程软件主管或公司按时汇报工作,同时 还要向团队内部成员汇报工作。负责工程内部创新的组织工作。负责工程团队的优化和人员开展。负责工程团队内娱用户进行协调、争取用户满意与支持的工作。6.2.产品经理A负责开发工程的调研工作。A负责系统开发中的需求分析和需求管理。A与总体设计工程师一同完成总体设计。A负责向其它技术攻关人员、编码人员、系统测试人员等解答有关系统分 析性问题。A负责审核系统测试人员的测试方案。A负责发现分析错误后对分析的调整。A负责向管理机构汇报系统分析和设计结果。A负责系统分析中的创新工作。A对系统分析的结果负有直接责任。»负责监督工程安排工作的合理性。63.工程总技术负责人A负责开发工程中的技术攻关性工作。A与系统分析员一同完成总体设计。A负责进行模板、控件设计和详细设计。A负责对其它编码人员的技术答疑。A负责监督系统分析和总体设计的正确性。A对系统开发中的技术性工作负有直接责任。A负责局部难度较大的编程工作(如接口性程序的开发和后台的大局部编 码)。A负责技术创新工作。A按工作计划完本钱职开发任务。A修改系统开发中测试人员检测到的编码错误。A负责监督工程安排工作的合理性。6.4. 开发人员»负责依据详细设计,按计划完成系统的编码任务。A负责编写自己负责开发内容的详细设计。»对自己所负责开发内容的详细设计和相关代码负有直接责任。.A负责监督系统分析和总体设计的正确性。A负责工程内部工作的创新和优化建议。A修改系统开发中测试人员检测到的编码错误。A负责监督工程安排工作的合理性。6.5. 测试人员A在工程软件主管的统一领导下完成针对每一一个工程的及时测试。A每一位测试人员对自己所担负的测试任务具有直接责任。A对所测试出的问题软件测试员有权要求开发人员调整程序(到满足软件 相应的标准为止)A工程软件测试 人员必须依据测试计划和相应的编码规范、详细设计规范、 软件测试报告等进行严格测试,决不许粉饰太平。»依据测试报告和系统的总体设计说明书,设计相应的测试案例,并依据 案例完成测试。6.6. 软件主管A工程软件主管对工程团队的运行质量具有领导责任、对部门建设具有直 接责任。A负责阶段性检验各工程小组的工作情况。»对于各工程小组的进度和差异情况和差异处理向公司管理小组汇报。A负责协助各工程小组解决遇到的问题。»负责各工程小组的人事组织安排,对工程组及其成员具有调配权。A工程软件主管直接领导软件测试组对当前软件实施测试监督。理所的管理能力和工作效率,减轻水库管理人员的工作强度3,使水库的管理更加 趋向合理,逐步走向科技化、信息化管理。4.建设方案标准规范(1)信息技术 软件工程术语(GB/T 11457-2006);(2)信息技术软件生存周期过程配置管理(GB/T20158-2006);(3)计算机软件文档编制规范(GB/T8567-2006);(4)信息技术 软件生存周期过程(GB/T 8566-2007);(5)计算机软件测试规范(GB/T15532-2008);(6)计算机软件需求说明编制指南(GB/T9385-2008);(7)计算机软件测试文件编制指南(GB/T9386-2008);(8)计算机软件可靠性和可维护性管理(GB/T14394-2008);(9)系统与软件工程 用户文档的管理者要求(GB/T16680-2015);建设原那么4.1.1. 先进性原那么近年来信息技术飞速开展,用户在构建信息系统时有了很大的选择余地,但 也使用户在构建系统时绞尽脑汁地在技术的先进性与成熟性之间寻求平衡。先进 而不成熟的技术不敢用,而太成熟的技术又意味着过时和淘汰。采用当今国内、 国际上最先进和成熟的计算机软硬件技术,使新建立的系统能够最大限度地适应 今后技术开展变化和业务开展变化的需要,从目前国内开展来看,系统总体设计 的先进性原那么主要表达在以下几个方面:采用的系统结构应当是先进的、开放的体系结构;采用的计算机技术应当是先进的,如双机热备份技术、双机互为备份技术、共享阵列盘技术、容错技术、RAID技术等集成技术、多媒体技术;采用先 进的网络技术,如网络交换技术、网管技术,通过智能化的网络设备及网管软件 实现对计算机网络系统的有效管理与控制;实时监控网络运行情况,及时排除网 络故障,及时调整和平衡网上信息流量;A工程软件主管发现不合格的工程管理或工程产出品时,有权责令相关人 员给予调整直至到达相关标准。»负责协调各工程小组的其他非开发性工作。6.7. 决策人员A负责立项审批、工程奖金确定和其它重大事项的审批。»负责阶段性的检验工程软件主管和各工程小组的工作情况。A负责考核各开发机构的工作绩效。A由公司赋予的其它管理职能。7.工程质量保障方案一个工程只有实现高质量的信息系统建设,才能为信息系统的有效运行提供 基础,才能保证信息系统发挥应有的经济效益和社会效益。因此,信息系统集成 的质量控制是十分重要的,只有实施严格的质量控制,才能真正实现信息系统的 质量建设目标,保证信息化建设的投资回报。为实现对系统的全面质量控制,在 工程启动阶段,一方面要明确确定进行软件质量控制的人员;另一方面要制定全 面的软件质量保证计划。在软件开发过程中,通过有效的质量评审机制,使软件 质量得到有效的保证和跟踪。7.1. 质量计划编制现代质量管理的基本宗旨是:“质量出自计划,而非出自检查”。只有做出精 准的质量计划,才能指导工程的实施、做好质量控制。编制工程的质量计划,首先必须确定工程的范围、中间产品和最终产品,然 后明确关于中间产品和最终产品的有关规定、标准,确定可能影响产品质量的技 术要点,并找出能够确保高效满足相关规定、标准的过程方法。编制质量计划通 常采用流程图、因果分析图等方法对工程进行分析,确定需要监控的关键元素, 设置合理的见证点、停工待检点,并制定质量标准:1)流程图:显示系统的各种成分是如何相互关系的,帮助我们预测在何处可能发生何种 质量问题,并由此帮助开发处理他们的方法。2)因果分析图(也称鱼刺图):对于复杂的工程,编制质量计划时可以采用因果分析图,描述相关的各种原 因和子原因如何产生潜在问题或影响,将影响质量问题的“人员、设备、参考资 料、方法、环境”等各方面的原因进行细致的分解,方便地在质量计划中制定相 应的预防措施。其次,质量计划中还必须确定有效的质量管理体系,明确质量监 理人员对工程质量负责和各级质量管理人员的权限。戴明环(又名PDCA循环 法)作为有效的管理工具在质量管理中得到广泛的应用,它采用计划执行一 检查一一措施的质量环,质量计划中必须将质量环上各环节明确落实到各责任 单位,才能保证质量计划的有效实施质量控制原那么7.1.1. 事前控制原那么系统建设是一个高技术、高投入的建设过程,任何由于质量问题引起的工程 变更必然产生巨大的投资浪费和工期拖延。所以,在信息系统集成过程中应该始 终坚持质量的事前控制原那么。坚持事前控制原那么的关键在于准确了解用户需求, 科学地进行信息系统设计。7.1.2. 标准原那么经过国内外信息领域研究者的长期不懈的努力,信息领域已经形成一系列的 标准,总的来说,信息领域的标准可以分为:信息技术标准和信息管理标准,其 中信息技术标准阐述了信息产品或系统所应该遵循的技术规范,而信息管理标准 那么规定了信息产品或系统设计、实现和维护过程中所应该遵循的行为规范。这些 标准为我们建设高质量的信息系统提供了科学的依据。因此,在信息系统集成过 程中,应该根据信息系统的特点,遵循有关国内外的相关标准进行系统集成,保 证集成过程的科学性。7.1.3. 性控制原那么信息系统集成需要根据用户的具体需求,系统地设计和实现信息系统,因此, 它是一个创新的过程。由于信息系统集成的过程性,这就决定了信息系统的质量 控制应该是阶段性的,不可能一蹴而就。换句话说,信息系统集成的质量控制应 该分阶段实施;系统集成商应该根据系统的质量总目标形成各个工程阶段的质量 目标和具体的质量控制措施,通过实现各阶段的质量目标来完成整个系统的质 量目标。7.1.4. 测试原那么根据ISO9000的有关要求,质量目标应该是可以验证的。由于信息系统特 殊性,绝大多数的验证过程是无损的,应该大力提倡使用信息系统的验证手段来 保证信息系统的质量,测试是信息系统验证的重要手段之一。笼统地说,信息系 统测试可以分为定性测试和量化测试。定性测试主要用于系统的功能测试,而量 化测试主要用于系统的性能测试,这两种手段可以从不同角度反映信息系统的质 量。7.1.5. 需求符合性原那么衡量信息系统质量的一个重要尺度是用户需求的符合程度。建成的信息系 统应该符合用户的业务功能需求、性能要求和使用习惯要求等。检验用户需求 符合度的主要方法是科学的测试,集成商可以通过测试手段来判定用户需求的 符合程度。7.2. 质量控制影响因素用户需求了解定义清晰的用户需求是整个系统成败的关键。应该采用科学的方法从事用户 需求的调查,这种需求调查不仅应该包括单位管理者和系统维护者意见,而且应 该包括最终用户(内部用户、外部用户)的意见,从而保证用户需求的完整性; 同时为了保证用户需求的准确性,用户需求的制定过程应该使用迭代的方式,通 过反复征询用户的意见,逐步完善用户需求。7.2.1. 系统设计方案了解系统设计方案描述了被建系统的抽象模型,因此设计方案的科学性和合理性 对被建系统的质量具有极其重要的影响。因此,系统设计方案应该与建设单位、 监理机构充分讨论,提高系统设计的质量。其中,系统设计过程中应该注意:用户需求的符合性、技术成熟性和先进性、系统的平安性、系统的可扩展性、所选 产品的质量符合性、法律法规的符合性等。7.2.2. 系统验证方案的编制在系统设计阶段,应该根据用户需求书和系统设计方案,制定完整的系统验 证方案。信息系统的验证方法主要包括:模拟仿真的方法和测试的方法。目前,对于网络系统的设计已经具有一些成熟的仿真平台,可以参照使用; 测试一种普遍采用的质量验证方法,但是设计现场测试方案时应该充分考虑用户 需求的符合性。7.2.3. 质量控制方案的编制为了保证系统实施的质量,应该依据系统设计方案制定一套可行的系统质量 控制方案,以便有效地指导系统实施过程。该质量控制方案应该确定系统实施各 个阶段的质量控制目标、控制措施、工程质量问题的处理流程、系统实施人员的 职责要求等。7.2.4. 遵循技术标准规范系统实施过程应该遵循科学的流程和有关技术要求,坚持按照标准的实施流 程完成系统的建设。系统实施流程应只与系统的需求和类型相关,而不能因人而 异。例如:软件系统的开发过程应该参考软件工程的具体要求进行科学地开发。7.3. 质量控制具体措施技术保障措施本工程是一个技术要求高、系统需求复杂系统工程,需要由具有顶尖计算机 水平(包括计算机硬件、计算机网络和计算机软件),精通业务并能将其计算机 规程化,对计算机软件应用技术和工程有着丰富经验,具有组织过大型工程或工 程经验等的各类人员组成的工程组。本工程组正是根据这个要求进行组建的,在工程的分析、设计、实施阶段, 工程组将在用户方专家组的指导下,由我公司承当具体实施工作,建立技术保障 体系。为了保证工程的顺利完成,技术保障主要包括计算机软件技术和业务应用 两个方面。技术方面主要包括:(1)总体组和专家组负责技术体系的建立和实施工作。(2)按照IS09000-3和国家的软件工程规范,对软件系统进行透彻分析, 制定切实可行的总体方案和实施方案。严格按照需求分析、概要设计、详细设计、 数据库设计、测试计划,编码、测试、组装测试等软件工程规范进行。(3)考虑目前现系统的现状,采用当今最先进的、主流的、成熟的数据库 和软件工具,应用中间件技术使得本工程的编制和使用规范化、通用化、可升级 化。(4)采用对象技术,实现软件产品的柔性制造。业务应用方面主要包括:(1)按照业务流程进行软件模块编制,尽量使现有征集模式与软件应用相 一致。同时保持模块间的低耦合,保证其独立性、平安性、可靠性。(2)具体业务数据采集系统与统计分析,对决策支持系统进行分层次设 计,保证数据的正确性、可靠性。(3)按照管理层次编写数据接口,保证数据传输和处理过程的正确性和实时性。(4)在程序设计时,保持用户界面友好、风格一致,提供完善的功能键和 联机帮助信息。(5)建立完整的测试环境,主要是设计一套软件测试数据,减少现场调试 和测试的工作量,保证软件产品的可靠性。(6)制定完善的培训计划。7.3.1. 管理保障措施(1)实行工程化开发软件工程的开发是一项系统工程,必须按照系统工程的规律组织系统开发, 必须建立严格的系统工程控制方法,要求开发组的每一个人都要严格遵守开发规 范,以质量控制为核心,紧紧抓住软件开发的各个主要环节,规范开发过程中的 全部活动。(2)实行阶段性冻结与变更控制一个软件工程的每一个阶段都有明确的任务和成果,在每个阶段结束,都要 通过软件配置管理以“冻结”局部成果,作为下一阶段开发的基础,冻结之后不 是不能修改,而是修改一定要经过一定的审批程序,并且涉及到工程计划的调整。(3)加强阶段性验证、确认与评审通过验证、确认、评审,可以实现软件工程的技术把关,防止软件人员在工 作中的随意性和不负责任现象,从不同侧面确认系统的正确性、协调性完整性等。(4)实行面向用户参与的原形演化对于外包工程,开发方须特别注意用户的参与。在需求阶段,必须使开发人 员与用户进行全面深入的沟通,以明确用户的需要究竟是一个什么样的系统。 在设计阶段和测试过程中,要有用户参与,及时获取用户的反应信息;利用原型 与用户交互,根据用户的反应,不断改进设计。(5)实行全面测试系统测试是把住软件质量的关键关口。在系统开发的各个阶段,要采用适 当的手段,依据系统需求规格说明书,对系统设计,实现和相应得文档进行全 面的测试。(6)引入外部监理与审计要重视软件的工程管理,特别是工程人力资源的管理,因为成员的素质和 能力以及积极性是工程成败的关键。同时还要重视第三方的监理和审计的引入, 通过第三方的审查和监督来确保工程质量。7.3.2. 质量保障措施软件产品的质量好坏是评判本工程是否成功的一个标志。在本工程实施的前 期,工程组根据IS0900K IS09000-3> CMM的有关规范,参照我公司的质 量手册、程序文件、计算机软件产品及编写企业标准和国家计算机软件 开发文档规范,制定了工程开发过程中的一系列规范。并由用户方专家组组和 我公司的软件测试中心予以控制,建立质量保障体系。(1)工程开发过程中的规范包括: 工程开发过程和管理规范 工程文档和符号使用规范 总体方案设计开发规范 软件设计开发规范 软件编程规范 数据库设计规范 软件测试规范 软件维护规范(2)制定软件测试的详细计划,对模块测试、集成测试、系统测试和交验 测试的各个过程进行控制,保证软件质量处于受控状态。在测试的过程中,建立 一套完整的测试数据,使之尽可能包含典型数据、边界条件、误操作等,使软件 的可靠、强壮性到达设计要求和应用要求。(3)为了保证工程开发过程的可追溯性,按照软件编制规范要求,形成如 下文档,从另一个方面保证软件的质量。需求分析:包括业务流程和总体方案 概要设计说明书 详细设计说明书 数据库设计说明书 用户手册 操作手册 模块开发卷宗 测试计划 测试分析报告 工程开发总结报告工程风险管理7.3.3. 风险识别识别风险是试图系统化地确定对工程计划(估算、进度、资源分配)的威胁。通过识别和可预测的风险,工程管理者就有可能防止这些风险,且当 必要时控制这些风险。每一类风险可以分为两种不同的类型:一般性风险和特定产品的风险。一般 性风险对每一个软件工程而言都是一个潜在地威胁。特定产品的风险只有那些对 当前工程的技术、人员、及环境非常了解的人才能识别出来。为了识别特定产品 的风险,必须检查工程计划及软件范围说明,从而了解本工程中有什么特殊的特 性可能会威胁到工程计划。一般性风险和特定产品的风险都应该被系统化地标识出来。识别风险的一个 方法是建立风险条目检查表。该检查表可以用来识别风险,并可以集中来识别下 列常见子类型中的及可预测的风险:产品规模一一与要建造或要修改的软件的总体规模相关的风险。商业影响一一与管理或市场所加诸的约束相关的风险。客户特性与客户的素质以及开发者和客户定期通信的能力相关的风险。过程定义一一与软件过程被定义的程度以及它们被开发组织所遵守的程度 相关的风险。开发环境一一与用以建造产品的工具的可用性及质量相关的风险。建造的技术一一与待开发软件的复杂性以及系统所包含技术的“新奇性”相 关的风险。人员数目及经验与参与工作的软件工程师的总体技术水平及工程经验 相关的风险。风险条目检查表能够以不同的方式来组织。与上述话题相关的问题可以由每 一个软件工程来回答。这些问题的答案使得计划者能够估算风险产生的影响。工程经理定期,或在制定工程计划或修订工程计划阶段进行风险识别活动。 识别的风险有Issue(发布)/Active(活动)/Close(关闭)三种状态;其中A代表风 险工程正在或已经变为现实,C表示风险工程已经不存在,工程计划中的风险 工程,除了 A和C两种状态,都是I,它表示该风险已在计划中发布。风 险状态的变化遵循从I到C的过程。7.3.4. 风险分析各个子工程经理在风险识别之后,对被标识风险的可能性和影响程度进行分 析,根据风险可能性/影响程度的乘积得到该风险的优先级级别,并将上述各项 数值、指标填写在可能性、影响程度和优先级三个栏目。之后根据被标识风险的 优先级级别,由高到低对风险列表中所有风险进行排序。工程总经理参与每个项 目的风险分析,并负责对子工程经理识别的风险进行确认。我们建议工程按下面的公式评估风险:风险规避的优先级=风险系数*风险的影响程度其中,风险系数为风险发 生的概率。影响程度为风险发生后所导致的后果的严重程度,分为四个级别:一级风险(致命的):致命的指导致工程不能在一定的时间、本钱范围内, 按照客户的需求完成;二级风险(严重的):对工程进度、本钱或质量产生重大的影响,有使工程 失败的可能,但可以通过某种方式得以弥补,而防止失败的结果。采用该方式需 要付出较大代价;三级风险(一般的):工程进度、本钱或质量有影响,但影响力度相对较轻, 基本上不致使工程失败,可以通过适当措施弥补或纠正,但要付出一定的代价;四级风险(可忽略):工程进度、本钱或质量的影响轻微,不会使工程失败, 做轻微调整就可以弥补或纠正;优先级分为高、中、低三级,分别对应着计算数值大于等于1.5 (C21.5)、 小于1.5且大于等于0.8 (0. 8<C<1. 5)和小于0.8 (C<0. 8)的情况。对 于中、高级的风险(风险优先级20. 8),工程经理应该考虑该风险对当前工程计 划执行的影响,并根据实际情况,调整工程计划的相关内容。7.3.5. 风险应对措施在风险分析之后,工程经理对概率和影响程度制定风险应对计划。风险应对计划分为规避、减缓和应急计划。在规避、减缓、接受和应急计划 中,工程经理写明计划中相关的人员、时间(对应急计划可以不需要)、具体行 动等。计划制定后,相关人员必须严格依照执行。在制定风险应对措施时,如涉 及到资源、本钱、进度变更等问题,报请工程经理提供支持,并启动配置变更管 理过程。(1)规避:通过分析找出发生风险事件的原因,消除这些原因来规避一些 特定的风险事件发生。7.3.6. 风险跟踪在制定和执行风险应对计划之后,工程经理跟踪所有被标识风险的状态和应 对计划的执行情况,并将规避/减缓计划的执行情况以及风险发生时采取的应急采用先进的现代管理技术,以保证系统的科学性。软件的投资考虑到今后的开展,不能使用落后的产品与技术,防止投资的浪 费;在系统软件选型、开发技术上,到达国内外行业先进水平。4.2.2. 实用性原那么实用性就是能够最大限度地满足实际工作要求,是每个信息系统在建设过程 中所必须考虑的一种系统性能,它是系统对用户最基本的承诺,所以,从实际应 用的角度来看,这个性能更加重要,为了提高系统的实用性,应该考虑如下几个 方面:系统总体设计要充分考虑用户当前各业务层次、各环节管理中