前言:想要写出一篇引人入胜的文章?我们特意为您整理了软件管理体系研究范文,希望能给你带来灵感和参考,敬请阅读。
摘要在GJB5000A《X用软件研制能力成熟度模型》标准的基础上,结合GJB5000A二级资质认证的软件管理体系,进行了项目软件管理体系的研究,提出了符合自身特性的管理体系建设建议,并通过该管理体系完成自身内部的软件管控。
关键词GJB5000A软件管理体系资质认证项目策划需求分析软件设计
1引言
在信息化高速发展以及应用广泛的前提下,软件研发在武器装备系统中越发重要,各领域设备中相当多的重要功能完全依赖于软件研发来完成,但传统的软件管理模式已经不能满足当今日益增长的软件研制要求。相关方面在不断加强及规范X用软件的研发过程,提高软件产品的质量,GJB5000A-2008《X用软件能力成熟度模型》。GJB5000A将根据软件研制能力的成熟度等级划分为五个等级(初始级、已管理级、已定义级、已定量管理级、优化级),每一个等级都是在前一个等级基础上对软件过程进行循序渐进的改进过程,最后达到软件研制过程的迭代更新以及持续改进,这样可以更加有效地帮助软件研发单位改进与优化软件研制管理,提高软件产品质量[1]。GJB5000A对软件研制的成本、进度以及功能特性进行跟踪,建立必要的规章制度,使类似项目能重复以前的成功。软件承制单位是否具备上述软件研制能力也是近年来择优选取承研单位提供的主要依据。
2建设目标
项目建设目标可分成两步进行:第一步以通过GJB5000A二级认证为目标,初步建立起符合自身特点的GJB5000A质量管理体系,通过试运行和摸索,发现问题并逐步优化管理过程;第二步以提高“本地化、有效性”为目标实施全面整改,建立合适的体系规范以及长效的实施机制,并为更高级的认证作好准备。通过该体系的建设实施,将为规范所内X用软件的研制过程提供有效的技术支持手段,可提高所内软件研制过程能力,提高航天软件研制的质量和可靠性;改进软件的开发方法,提高对软件资源的复用水平。
3项目环境建立
首先在GJB5000A实施初期,规范编制组应主要由具有丰富软件工程实施经验的人员组成,采取规范编制组成员“走出去”:参与评价机构组织的GJB5000A标准要求培训和评估方法培训,调研相关行业GJB5000A实施标杆单位的实施经验,参与GJB5000A实施评价;“请进来”:请GJB5000A和相关行业标准的编制组成员讲解GJB5000A标准要求,请项目管理专家讲解软件项目管理理论和经验,请软件工程专家讲解软件工程方法和实施步骤,请相关行业GJB5000A实施标杆单位的实践者传授GJB5000A实施经验。其次选定进行体系验证的项目通过辅助软件系统的支持按照型号进行软件项目管理,通过指定软件项目所属型号、型号管理授权控制和软件项目开发部门控制,实现不同部门的不同人员对不同型号的管理需求。符合信息系统分级保护相关要求,可对所管理的涉密信息进行标密,根据涉密信息及人员的密级对涉密信息的访问进行控制,支持三员分立管理。借助辅助软件将结合所内体系,完成项目环境的建立与评估[2]。
4GJB5000A项目管理实施
结合项目的功能特点并经过项目组例会讨论后,选择软件的软件生命周期模型为瀑布模型。在软件生命周期模型的基础上选择和剪裁型号标准软件过程,定义出软件生命周期阶段为五个软件工程活动,分别为系统需求分析与设计、项目策划、需求分析和测试、软件验收交付。软件研制的过程中发现的所有问题均已得到妥善处理,达到关闭状态,消除了对后续研制阶段的不利影响。
4.1系统需求分析与设计
需求分析人员依据软件研制任务书,分析软件的功能、性能、接口、可靠性、安全性以及运行环境等要求,对每一项需求进行描述、标识,建立每项软件需求与软件研制任务书中相关的要求正向追踪关系编写软件需求规格说明(包含接口需求规格说明)。设计人员根据软件需求规格说明设计软件总体结构,划分并定义软件部件以及各部件的数据接口、控制接口;对各个部件进行细化设计,划分并定义软件单元,设计单元的内部细节;编写软件设计说明(含接口设计说明)。
4.2项目策划
GJB5000A在项目策划过程需要开展的活动主要有以下几个方面:通过制定《软件项目早期工作计划》,估计软件项目,制定同时维护《软件开发计划》以及软件的验收与结项。下面就上述几项活动的开展以及实施要点进行描述。
4.2.1制定WBS(工作分解结构)
GJB5000A在软件项目的《软件开发计划》下达之前,对软件项目进行早期策划工作,建立初步的WBS计划,在此期间,建立/完善项目团队,明确软件项目成员及职责,项目负责人、系统分析人员、项目软件负责人参与系统方案讨论,以上人员同时需要参加《软件研制任务书》的评审,并完成《软件研制任务书》的受控管理。
4.2.2软件项目估计
GJB5000A在软件项目估计时,主要是对所承研软件规模、工作量、进度、基础设施等估计,根据软件项目估计的结果制定《软件开发计划》。在对软件项目估计之前,首先应根据承研项目本身的特点以及软件工程过程管理定义的软件生命周期模型,确定软件项目的生命周期模型。
4.3需求分析
GJB5000A中需求分析人员依据软件研制任务书,分析软件的功能、接口、性能、安全性、可靠性以及运行环境等要求,对每一项需求进行描述、标识,建立每项软件需求与软件研制任务书中相关要求的追踪关系编写软件需求规格说明。
4.4软件设计
GJB5000A中软件设计人员根据软件需求规格说明设计软件总体结构,划分并定义软件部件以及各部件的数据接口、控制接口;对各个部件进行细化设计,划分并定义软件单元,设计单元的内部细节;编写软件设计说明。
4.5测试
4.5.1软件实现及测试
在软件经过多轮设计、编码的迭代、系统接口联试,完成了编码和调试工作后,软件测试人员需展开软件单元测试工作。测试人员对软件版本进行了文档审查、静态测试和动态测试,对测试过程中发现的静态测试问题及动态测试问题,软件项目组需进行了确认和修改。
4.5.2软件合格性测试
软件测试人员在完成软件的单元测试工作后需开展软件配置项测试。测试项目组依据本次测试任务要求,对软件进行文档审查和配置项测试(测试类型包括功能测试、性能测试、接口测试、强度测试、余量测试、安全性测试和边界测试),软件项目组需进行确认和修改测试中发现的问题[3]。
4.6验收与交付
项目软件在完成了软件合格性测试后需开展软件第三方测试,测试项目组对软件进行了文审查、静态分析、代码审查和系统测试,软件项目组对测试过程中发现的软件问题需进行确认和修改,测试项目组对修改后的软件进行了回归测试,未发现问题。项目软件经测试、回归测试和鉴定测评,实现百分比为100%,各项性能均能满足,文档内容完整,标识清楚,且文文一致,代码千行缺陷率为0,才允许验收与交付[4]。
5GJB5000A项目管理经验总结及改进方向
第一,建立完善的GJB5000A组织机构。该组织机构应能涵盖整个研制过程各个过程域所有所需角色,且各位人员符合各个角色的素质要求。第二,加强软件项目组成员对GJB5000A二级标准的理解和认识。通过体系培训,专项角色培训和自学等方式使软件项目组成员充分正确理解和认识体系。第三,软件项目负责人合理计划。在项目策划阶段,软件项目负责人应考虑软件研制过程中所有任务以及可能出现的风险,并根据自己的项目经验和选择合适的软件估计方法,制定详细的开发计划[5]。第四,选择合适的辅助软件,实施GJB5000A并不要求专用软件工具,但是拥有符合GJB5000A实施规范要求的工具,将极大促进GJB5000A实施进程、规范试点项目的软件研制过程,获得更多经验,以利于交流和不断改进项目管理能力,丰富组织资产,确保组织的持续改进能力。第五,加强质量控制。质量人员对软件工程过程以及对工作产品质量的把关要贯穿整个软件项目研制过程。质量人员应尽早介入软件设计过程,不断加深对系统和软件的理解,这样才能对工作产品如软件代码及软件设计相关文档的质量真正起到保证作用。
作者:孙舟 杨玉飞 钱宏文 饶飞 赵正 王小妮 单位:中国电子科技集团公司第五十八研究所