还剩5页未读,继续阅读
文本内容:
核电工程软件开发中的过程控制管理摘要如何有效的控制核电工程软件开发过程是成功实施该项目最重要的条件之一,本文以笔者负责的核电工程软件—核电厂系统化培训管理系统的研制开发过程及其管理应用为例,着重介绍了在研制过程中的项目实施控制与进度管理,并描述了需要遵循的主要原则和规范,以及值得注意的几方面问题,最后对过程控制管理中的一些经验和体会进行了分析总结关键词核电工程软件 过程控制 分析总结1前言随着我国核电事业的蓬勃发展,在核电行业尤其是核电厂,无论是从设计、制造、运行到退役等各个阶段,还是从控制、测量、检查等各个环节,无不涉及到计算机软件的应用作为我国核电行业生产管理和安全保证的重要手段和工具之一,核电工程应用软件正扮演着越来越重要的角色软件之不同于硬件的特点在于其易变化、复杂多样、难以度量控制、缺陷多为人因所造成、测试和维护复杂作为核电工程应用软件来说,它比一般应用软件的各方面要求更高,尤其是在质量和安全稳定运行方面,其运行的稳定与否则会直接影响到核电行业的生产管理和安全因此,如何使核电工程应用软件达到预期的目的,符合确定的规范,如何对其在其整个生存周期内进行有效地控制,从而使其对核电行业生产管理和安全保证发挥更重要的作用,这正是我们在研制核电工程应用软件过程中所需要面临和解决的主要问题本文主要以软件工程化开发和软件工程化管理的思想和方法为依据,以我们研制的核电工程应用软件-核电厂系统化培训管理系统为例,介绍了核电工程应用软件的研制过程控制管理以及在此过程中要遵循的主要原则和规范,并对过程管理和研制特点做了简要分析总结2项目概况
2.1背景核电厂各类人员的整体、综合素质和业务能力对达到电厂“安全、可靠、稳定、经济运行”的目标至关重要为了保持人员的资格和工作能力、保证人员的培训质量和工作绩效,核电厂将在培训管理活动中,采用IAEA推荐的国际上普遍应用的SAT(SystematicApproachtoTraining)系统化培训方法对培训活动进行管理控制SAT是一种工作方法,它是针对某个工作岗位,提出人员的全面能力要求,通过制定并实施相应的培训大纲来达到这些要求,而后对整个培训过程进行评价和反馈的一个动态的、不断改进完善的逻辑过程SAT方法将在规范和指导核电厂人员培训工作、加强培训的有效性、提高核电厂的运行水平等方面起到重要的作用针对系统化培训活动中控制过程复杂、数据信息量大、用户接口繁多等特点,相关核电厂决定借助目前流行的计算机技术,遵循核电厂人员系统化培训方法的控制流程,开发一套“核电厂系统化培训管理系统(以下简称TMS-SAT系统)”,来辅助核电厂的被培训人员、培训管理人员和电厂管理人员,系统地规范核电厂现有的培训活动,提高培训效果和效率、使核电厂各类人员能获得并保持完成所承担工作的资格和能力
2.2项目目标和范围核电厂系统化培训管理系统属于核电工程软件类项目,目标在于在将来核电厂内的培训工作中以TMS-SAT系统为载体推广SAT培训方法,全面推行系统化培训的理念和管理,不断完善核电厂的培训管理工作,该项目主要完成软件系统平台的开发,主要内容包括1岗位任务分析子系统开发即在明确岗位工作范围的前提下进行岗位职责分析,对岗位任务分析过程中的部门、工作岗位、岗位描述、工作任务、工作能力进行记录和输出,同时接受反馈意见并进行相应修改2培训大纲管理子系统开发根据某岗位人员所应具备的全面工作能力,定义出与某一项工作能力相关的培训目标,并确定该岗位人员需要进行培训的所有目标清单,制定出各岗位人员合理的培训大纲3培训教材管理子系统开发:根据培训目标,编写相应的培训教材,开发对应的课程4培训计划管理子系统开发根据各岗位培训大纲的要求,制定出年度总培训计划、月度培训计划、培训项目实施计划、外来人员培训计划、人员外出培训计划和个人培训计划,并按设定的流程进行编写、审核和审批5培训记录管理子系统开发管理电厂培训计划实施过程中所产生的对电厂以后的员工培训有重要意义各项记录,包括学员考勤、请假管理、收集反馈意见、生成课程总结报告、项目总结报告、计划总结报告、培训记录归入学员档案、教员费用计算等6评价反馈管理子系统开发将通过各种途径得到的经验反馈信息反映到SAT系统的各个模块中,根据正确的、有效的反馈信息更改系统中不合理的、不符合实际的部分;7考试题库管理子系统开发对电厂培训所需的考试试题、标准答案、进行维护管理;能实现批量数据录入和维护;实现手工出题和自动出题,处理公式和图片类等试题,实现在线标准化考试3项目实施和过程管理实践TMS-SAT项目的控制管理是按需求确定范围、按目标制定质量计划和开发计划、按计划执行管理的过程,对该项目软件系统开发各阶段加强控制管理的根本目的在于增强对软件开发的控制能力,提升软件开发的质量TMS-SAT项目的软件系统开发按软件工程的生命周期法可分为项目的定义与分析、需求分析、系统设计、系统开发、系统测试、运行和维护等6个阶段进行
3.1项目的定义与分析该项目的立项由用户单位根据自身业务的工作需要,向用户业务部门提出项目的立项建议,对立项目的、业务需求范围、技术经济指标、开发周期要求等方面做简要概述,由用户组织专家和信息技术专家组成联合专家组,进行项目立项的可行性论证我们单位在该项目中的主要工作就是协助用户完成系统的定义与分析,并协助用户编制《技术规格书》并交付用户审查,使用户能了解我们的研发能力和对此软件开发所需投入的人力、物力,以及此项目最终达到的目标这样将使用户的需要基本表达出来,使此项目能顺利进行
3.2需求分析阶段由于确定软件需求是软件项目非常重要的工作,必须给予足够的重视因此,制定需求时软件开发方一定要与用户密切配合,力争把需求弄清楚并且做出确切的描述,因为这是后续开发工作的出发点当用户决将此项目交付给我们开发后,我们将制定适合本项目开发活动中的《质量计划》来控制软件开发周期内所有活动的工作条件、工作结果、评审要求等节点和各工作阶段的质量控制点要求;为了向用户描述有关此项目文档要求、人力资源、开发进度、审查要求、最终交付的产品等内容,我们还编制了此项目的《开发计划》和为进行此项目测试而准备的《测试计划》在充分了解用户的需求后,我们根据此项目的《技术规格书》的要求,进一步了解此项目的数据输入要求、输出要求、输入输出控制要求、功能设计要求、外部接口要求、系统性能要求、环境要求以及最终将达到的目标等详细内容,形成本项目的岗位任务分析和培训大纲设计指南、基础理论教材开发指南以及软件开发方面的《软件需求分析说明书》和《数据要求说明书》,在通过本单位和用户审查确认后,再进行下一阶段的工作,有效的防止和克服了急于进行软件详细设计的倾向
3.3系统设计阶段当软件需求分析阶段的审查通过后,根据《软件需求分析说明书》和《数据要求说明书》的要求,我们主要完成“应该如何解决这个问题”和“具体解决此问题应该采取的办法”这两项工作所以,在设计阶段,首先进行此系统的总体概要设计,通过数据流图和数据字典的形势来表示系统的逻辑模型,形成《概要设计说明书》和《数据库设计说明书》在解决“应该怎样具体实现这个系统呢?”这个问题时,我们采用面向对象OO和面向服务的架构SOA相结合的设计方法,将最终程序模型用用户能看见的格式和界面进行此系统的详细设计,形成《详细设计说明书》,供用户在程序未编制前就可以对今后要使用的系统有个直观的概念,避免了程序编制后产生的设计上的错误为了使今后的系统便于维护,还将编制《软件开发规范》文档来规范整个项目组所有人员的文档编写和程序开发的规范格式和标准在经过本单位和用户在设计阶段的评审后,才能进行软件编码阶段的工作
3.4系统开发该项目软件系统在开发阶段主要进行编码和单元测试工作,开发人员按照《详细设计说明书》和《软件开发规范》的要求,编写出正确的、容易理解和便于维护的程序模块在每个子模块形成后,程序开发人员和软件测试人员随时对此子模块进行单元测试,形成《单元测试报告或记录》,避免到程序完成后才发现程序模块的错误在此阶段,还将根据《测试计划》和《详细设计说明书》的要求,编制此软件系统的《测试程序》,将所需测试的内容、步骤、结果、案例等描述出来供测试阶段使用
3.5系统测试阶段该项目软件系统在开发人员完成所有软件模块编码后,测试人员将根据《测试程序》进行软件系统测试同时,也要求用户一起参与系统测试对测试中产生的软件不符合项,要求各测试人员形成“软件问题报告单”,将存在问题的模块名、产生现象、改正要求等描述出来,供软件设计者审查以决定是否进行设计改进,或由程序开发人员进行程序编码修改当软件设计人员或程序编码人员修改后,形成“问题修改单”进行答复,测试人员再次进行测试直到全部测试通过,形成《系统测试报告》,并经过测试审查通过这样,就可以减少系统在交付给用户使用后产生的错误当软件交付给用户使用时,还将同时向用户提交《软件系统现场安装实施手册》、《用户手册》和《维护手册》等相关文档,有助于用户正确的使用和维护该软件系统
3.6运行和维护阶段从项目正式交付给用户使用起,其维护活动就开始了在维护阶段的关键任务是通过各种必要的维护活动使软件系统能长久地满足用户的需要为完成此任务,我们从以下几方面来进行维护活动中的工作1改正性维护当用户在使用软件系统的过程中发现问题后,通过“用户问题报告单”的形式进行反馈,项目组根据修改要求进行相应的修改,对于软件系统还需要重新测试后,到现场与用户一起再进行现场测试,以达到用户的要求2适应性维护当用户的软件运行环境发生变化后,项目组也将对此软件系统作相应修改,以适应用户新的环境要求3完善性维护在用户使用期间,我们将根据用户的要求改进或扩充此软件系统的功能,以期使本软件系统更加完善和实用4预防性维护当预测到此软件系统有可能出现问题时,我们将修改此系统软件,为将来的维护活动未雨绸缪4项目收尾通过两年多的开发,目前该项目的开发工作已经全部完成并通过了用户的验收并已正式投入使用,拖过对该项目的经验总结,为该项目的后续拓展和其他项目的开发提供经验支持和借鉴通过该项目的开发,我们已经具备提供大型核电工程软件技术服务的能力,目前在国内外其他核电厂、船舶或其他行业已经开始市场推广该项目,并已初步取得一定成绩5项目控制管理的分析总结
5.1项目开发管理质量化该项目组通过编制《项目质量计划》、《项目开发计划》和《项目测试计划》等质量文件,对该项目进行全过程监督、控制,使各质量相关活动在受控状态下完成,确保项目中的各项质量要求得到了满足
5.2项目开发过程规范化1该项目的软件系统在依据软件工程化开发和软件工程化管理的理念和方法的基础上,通过严格执行有关软件开发管理和工作程序,规范了软件研发过程,同时也更好的指导了培训大纲和基础理论教材的开发工作该项目软件系统依据的管理程序主要包括输入输出控制、接口控制、更改控制、设计审查、不符合项的处理、配置管理程序等软件研发工作程序包括研制各阶段产生文档、程序,如软件需求、软件设计、软件开发规范、测试计划和测试程序等2项目所有过程文档资料均采用统一的编码和编写格式3软件系统的界面、窗体、字体、变量名和说明遵守统一的约定4软件系统的所有模块按功能划分遵守相应的命名约定和格式要求
5.3项目开发控制进度化1依据软件工程化开发和软件工程化管理的理念和方法,科学的划分和制定核电工程应用软件的研制过程,同时各阶段也兼顾了培训大纲和基础理论教材的开发工作2采用三级进度管理体系,分级落实进度责任制一级为合同规定总体进度要求,由项目负责人对本部门负责人负责;二级为功能块进度计划,由各功能块负责人对项目负责人负责;三级为个人进度计划,是二级进度计划的展开,由个人对功能块负责人和项目负责人负责
5.4项目开发监督岗位化由于该项目软件系统的《需求分析说明书》往往是采用软件设计的术语编写,因此常常令计算机背景知识较少的核电厂用户的业务需求方难以理解,也就很难发现需求报告中与实际需求不符之处,更难提出建设性的意见因此在该项目软件系统的研制开发过程中引入了软件监督岗位,由核电厂信息技术管理部门担任,其主要职责是在项目进行过程中,协调业务需求部门和软件开发方的关系,监控软件开发任务的执行情况,给开发人员和管理层提供反映软件过程质量的信息和数据,提高项目透明度,从而保证项目按照计划实施,实现预期目标
5.5人员配备专业化在该项目的软件系统研制过程中,从事研制和质量相关活动的人员的数量、质量必须能满足项目开发工作的需求,而且由于产品的质量与开发研制该产品的人员能力直接相关,因此该项目编制了各类人员的配置计划,如系统分析人员、系统设计人员、软件开发人员、测试和验证人员等,明确了具体的工作方式、内容和要求,并根据岗位要求进行必要的培训和再培训,以便使他们获得并保持必要的能力6结束语软件系统项目的顺利实施离不开对项目的精心控制管理笔者通过参与TMS-SAT开发项目的实施,运用项目控制管理理论,结合软件工程原理,对该项目进行了成功的实施与控制管理实践证明由于该项目在软件系统方面依照软件工程化开发和软件工程化管理的理念和方法,严格按照我们单位提出的核电工程软件研制方法进行研制、设计和开发,加强软件研发的规范化管理,同时也更好的指导了培训大纲和基础理论教材的开发工作,从而保证了软件研发乃至整个项目的进度和质量,使得我们开发的产品可维护性好,特别是在出厂验收后大大减少了在现场测试和维护的人员投入,最终也得到了用户的认可参考文献
[1]国际原子能机构编,核电厂人员培训及其评价,技术报告丛书第380号2005版,5-20;
[2]中国标准出版社编,软件工程术语,GB/T11457-2006版;
[3]中国标准出版社编,计算机软件文档编制规范,GB/T8567-2006版;
[4]中国标准出版社编,软件生存周期过程,GB/T8566-2007版;
[5]中国标准出版社编,配置管理,GB/T20158-2006版
[6]国防科学技术工业委员会编,核电厂操纵人员的执照考核标准,中华人民共和国核行业标准EJ/T1043-2004版,10-15;
[7]NealWhitten(孙艳春等译),管理软件开发项目(第二版),软件项目管理系列丛书,2007年;
[8]邓良松,软件工程,西安电子科技大学出版社,2006年;ProcesscontrolandimplementationmanagementofnuclearpowerengineeringsoftwareprojectAbstract Howtocontroleffectivelydevelopmentprocessofnuclearpowerengineeringsoftwareisoneofthemostimportantconditionsforimplementingsuccessfullythisproject.Thispapertakesexamplefornuclearpowerplanttrainingmanagementsystembasedonsystematicapproachtotraining,andmostlyintroducesimplementationprocesscontrolandschedulemanagementofnuclearpowerengineeringsoftwareproject.Atthesametimethispaperalsopresentsmainprinciplesandcriterionsfollowedbythissofwareprojectandpointsoutseveralnoticeablequestionsandfinallysummarizeseveralexperiencesaboutprocesscontrolandmanagementofnuclearpowerengineeringsoftwareproject.Keywords NuclearPowerEngineeringSoftwareProcessControlandManagementAnalysisandSummary。