GJB438B概述GJB438B课题组2010.07提纲背景全貌适用范围一般要求详细要求修订背景随着装备信息化迅速发展,装备中计算机软件的种类、规模、以及安全、保密等属性的要求都迅速增加或提高。实践中许多军用软件开发者感到GJB2786《武器系统软件开发》存在一些问题,如:比较适合于采用结构化软件开发方法和瀑布式开发模型,缺乏灵活性;对于大型信息系统的软件开发缺少有关规定(如:对于需求逐步明确的情况、数据库设计和实现);对上个世纪九十年代以后广泛采用的软件工程有关要求、技术和方法未明确涉及,如软件开发策划和跟踪、测量和分析、质量保证、软件重用等。软件质量管理规定和GJB5000的贯彻实施,促使军用软件有关各方对软件工程化和软件过程改进的认识有很大提高。同时,也感到GJB2786在有些方面还没有明确支持,或不够协调。修订背景(续1)软件文档是整个软件开发工作的重要产品,是实行管理、监督、控制软件开发的重要的方式。软件文档把软件开发过程中的一些不可见的事物转化成为可见的文字资料,便于管理人员在各个阶段检查开发计划的进展情况,以提高软件生产过程的可见性和可控性。软件文档作为软件产品的一部分,文档的质量在很大程度上决定了软件的质量。软件的种类、文档的多少、文档的内容要求,对软件开发效率、开发成本以及将来的维护都产生重要的影响。在软件开发中不论是软件承制方还是软件订购方对文档都极为重视。修订背景(续2)GJB2786A《军用软件开发通用要求》在修订过程中,主要以MIL-STD-498“软件开发与文档编制”的框架为参考,并增加相关的软件工程实践。因此,与之配套的文档类型、内容和形式上都要相应发生变化。需要对GJB438A进行修订,保留其有效方面,改进其不足之处,以适应当前我军装备软件研制的需要。GJB438B更名原因本标准是与GJB2786A(修订中)配套使用GJB2786在修订过程中,专家建议将名称改为《军用软件开发通用要求》本标准修订时也将名称作了相应变化,改为《军用软件开发文档通用要求》。概貌第1章范围第2章引用文件第3章术语、定义和缩略语第4章一般要求第5章详细要求附录28个附录适用范围在GJB438B范围一节中明确指出:本标准规定了军用软件开发文档编制的种类、结构、格式和内容等要求。本标准适用于军用软件开发过程中文档的编制。而在GJB2786A的范围一节中指出,该标准规定了军用软件开发的通用要求,包括软件开发过程的开发、支持和管理等方面的要求。本标准适用于需方和开发方获取、开发及维护军用软件(含固件中的软件)。适用范围(续1)本标准中所涉及的“系统”有两类:一类是硬件-软件系统(例如一个雷达系统),对于这种系统,本标准只适用于系统中的软件部分;另一类是软件系统(例如一个地理信息系统),对这类系统,本标准适用于其整个系统。本标准规定了执行GJB2786A所产生的军用软件开发文档,适用于军用软件开发过程中文档的编制。GJB438B其他说明本标准代替GJB438A-1997。与GJB438A-1997相比,本次修订将标准的名称更改为《军用软件开发文档通用要求》。依据GJB2786A,从软件开发和管理的角度,规定了相应的文档编制要求。考虑承研单位的实际要求,对测试计划的部分内容也进行了充实和调整。文档编制文档的内容是根据GJB2786A各活动描述的工作任务而产生的,描述了军用软件开发过程中的主要活动信息和要求。开发方应按照本标准的要求记录有关信息,编写有关文档,并按合同(或软件研制任务书)的要求交付。文档若为电子文档,应规定电子文档的格式(如DOC文件、PDF文件等)。软件开发活动分类基本活动类(18个)系统需求分析系统设计系统集成与测试系统合格性测试软件需求分析软件设计软件实现与单元测试单元集成与测试CSCI合格性测试软件验收支持支持活动类(6个)软件使用准备软件移交准备软件配置管理软件工作产品评价软件质量保证纠正措施联合评审测量与分析组织活动类(2个)项目策划和监控风险管理分承制方管理与IV&V机构联系与相关开发方协调保密性有关活动软件开发环境建立项目过程的改进文档表示方式表示形式:为使各文档章条的信息更加清晰可读,可采用图、表、矩阵或其它形式的表示方式进行说明。页码编制文档正文的目录使用小写罗马数字编号;文档正文和附录均使用阿拉伯数字顺序编号;若一个文档分为若干卷,则每一卷应重新开始按顺序编号。自变量:字母X和Y为各文档小条编号的自变量。标题上圆括号中的文字在编写时要用实际内容替换。文档结构封面。封面宜包括文档标识及版本号、密级、编制/修订日期、文档名称、编制单位、编写、审核、批准。修改页。修改页应包括修改时间、修改内容以及修改人等。目录。目录应包括章、条、图表、注释和附录的编号、标题及其所在页码。正文。正文为各文档的具体内容,详细要求见标准的第5章。附录。文档的附录应提供文档维护的详细信息(例如:图、表、分类数据等)。每个附录都应在文档的正文中被引用。为方便起见,附录可单独装订成册。文档剪裁承制方可根据项目所选择的生存周期、合同(或软件研制任务书)的要求以及实际活动,确定项目产生的文档种类,并根据实际情况对文档的种类进行合并、拆分。例如,可以在《软件开发计划》中描述了软件质量保证计划和软件配置管理计划的内容,也可不产生单独的《软件质量保证计划》、《软件配置管理计划》。根据需要,也可以对文档内容进行剪裁。按文档标题顺序与本标准规定的标题顺序相同的原则,若剪裁了某章条或某小条,则在被裁去的章条(或小条)的标题下将其标识为“不适用”,并说明理由。若剪裁的是整章条(包括其所有小条),则仅需在最高层的章条标题下加以说明。详细要求该标准规定了对军用软件开发过程中主要活动产生的文档,指出哪些文档可以合并或剪裁。下面按照管理和工程两类简要说明文档的概述和主要内容。管理类文档1.软件研制任务书(SDTD)2.软件开发计划(SDP)3.软件配置管理计划(SCMP)4.软件质量保证计划(SQAP)5.软件安装计划(SIP)6.软件移交计划(STrP)7.软件测试计划(STP)8.软件配置管理报告(SCMR)9.软件质量保证报告(SQAR)软件研制任务书(SDTD)描述软件开发的目的、目标、主要任务、功能及性能指标等要求。SDTD的主要内容范围:包括系统和软件的标识、系统概述和文档概述等。引用文档。运行环境要求:包括硬件环境和软件环境。技术要求:包括软件的功能、性能、输入/输出、数据处理要求、接口、固件、关键性要求等。设计约束。质量控制要求:包括软件关键性等级、标准、文档、配置管理、测试要求、对分承制方的要求等。验收和交付。软件保障要求。进度和里程碑。软件开发计划(SDP)描述实施软件开发工作的计划。软件开发活动包含新开发、修改、重用、再工程、维护和由软件产品引起的其它所有活动。SDP是动态的,随着项目的进展,在出现重大偏差或者在里程碑处应进行分析,必要时重新策划并修订SDP。根据实际需要,可将SDP中的某些部分编制成单独的计划,如《软件配置管理计划》、《软件质量保证计划》和《软件测试计划》等。SDP的主要内容范围:包括系统和软件的标识、系统概述、文档概述等。引用文档。策划背景概述。软件开发活动的总体实施计划:包括软件开发过程、软件开发总体计划、可重用的软件产品等。详细的软件开发活动实施计划。进度表和活动网络图。项目组织和资源等。软件配置管理计划(SCMP)描述在项目中如何实施软件配置管理。本计划既可作为《软件开发计划》的一部分,也可单独成文。SCMP的主要内容范围:包括系统和软件的标识、系统概述、文档概述等;引用文档;组织和职责:描述软件配置管理负责人和软件配置控制委员会的组成以及他们在项目中的职责和权限;说明与项目配置管理相关人员的职责等;软件配置管理活动:描述配置标识、配置控制、配置状态记录与报告、配置审核以及软件发行管理和交付等五方面的软件配置管理活动的需求;工具、技术和方法:描述为支持特定项目的软件配置管理所使用的软件工具、技术和方法;对供货单位的控制;进度表等。软件质量保证计划(SQAP)描述在项目中采用的软件质量保证的措施、方法和步骤。本计划既可作为《软件开发计划》的一部分,也可单独成文。SQAP的主要内容组织和职责:描述软件质量保证负责人在项目中的职责和权限;相应的高层经理、与软件质量保证紧密配合的项目经理的职责;部门内部软件质量保证组组长的职责和与项目软件质量保证负责人的关系等。标准、条例和约定:列出软件开发过程中要用到的标准、条例和约定,并列出监督和保证执行的措施。活动审核:描述对项目活动进行审核的方法和依据,并列出项目定义的活动以及相应的活动审核。工作产品审核:描述进行工作产品审核的方法和依据,列出项目过程应产生的工作产品和质量记录,以及需要由软件质量保证人员负责审核的工作产品和相应的产品审核活动。SQAP的主要内容(续)不符合问题的解决:描述过程评审和产品审核的记录以及形成记录的方法,并描述处理在评审和审核中出现的不符合问题的规程。工具、技术和方法:描述用以支持特定软件项目质量保证工作的工具、技术和方法,描述它们的用途。对供货单位的控制:描述对软件销售单位或软件承制方法进行控制的规程。记录的收集、维护和保存。软件安装计划(SIP)描述在用户的现场安装软件的计划,内容包括准备工作、用户培训以及从现有系统进行转换。当软件的安装需要开发人员参与,且安装过程十分复杂时,应制定该计划。SIP的主要内容安装概述:描述安装过程、安装地点列表、安装进度、安装方法、联系地点、保障材料、培训、软件安装过程中所涉及的各项任务、所需人员、保密性方面的考虑等。为软件中心操作员提供特定现场信息:描述现场安装期间要完成任务的进度表、软件清单、设施和食宿供应、安装小组的、安装规程、数据更新规程等。软件用户的现场专用信息:描述关于软件用户的安装计划,内容包括安装期间用户所完成任务的进度表、安装规程、用户数据更新规程等。软件移交计划(STrP)描述开发方向保障机构移交应交付项的计划。如果在合同或软件研制任务书中规定了向独立保障方移交的责任,应制定STrP。STrP的主要内容软件保障资源:描述支持可交付软件所需的设施、硬件、软件及其相关的文档,描述支持可交付软件所需的人员及其它资源,并标识各部分软件保障资源之间的关系。推荐的过程:描述为支持可交付的软件和相关的保障环境,开发方希望向保障机构推荐的规程,包括建议和经验教训。培训:描述开发方关于软件交付支持人员的培训计划。预期的更改区域:描述可交付软件预期的更改区域。移交计划:描述开发方把可交付软件移交给保障机构的计划。软件测试计划(STP)描述对计算机软件配置项(CSCI)和软件系统或子系统进行合格性测试的计划。通常每个项目都应有一个STP。需方根据STP能够评估CSCI或软件系统合格性测试的策划是否充分。STP的主要内容测试依据:列出软件测试必须遵循的依据。软件测试环境:描述在各测试现场的测试活动所需的软件项、硬件和固件项等,描述网络拓扑图及所需的其它材料,描述与软件测试环境中每个元素有关的专有性质、需方权利与许可证等问题,描述开发方安装、测试和控制软件测试环境中的每一项的计划,描述拟建立的测试环境与需求环境之间的差异,描述参与现场测试的组织及职责、人员及分工,描述测试前和测试期间要进行的人员培训,标识测试现场要执行的测试等。测试标识:描述要执行的测试的级别、类别、一般测试条件、测试进展、数据记录整理和分析等一般信息,描述计划执行的测试等。测试进度:描述实施本计划中所标识测试的进度表。测试终止条件:描述被测软件的评价准则和方法以及结束测试的条件。需求的可追踪性。软件配置管理报告(SCMR)描述软件整个研制/开发过程中软件配置管理情况。SCMR的主要内容软件配置管理情况综述:描