随着武器装备技术的发展,软件的地位和作用日趋突出,已成为武器装备的灵魂,关系到产品研制的成败。软件方面的问题呈逐年上升趋势,软件是目前武器装备质量和可靠性的薄弱环节之一。因此,对软件研制过程进行有效的监督和管理,实施软件过程改进意义重大。
目前,陕西长岭电子科技有限责任公司软件管理的依据是国家档案局(2001 年 6 月 5 日)颁布的《档案管理软 件 功 能 要 求 暂 行 规 定》、 国 军 标GJB9001B- 2009 质 量 管 理 体 系 、GJB5000A- 2008 《军用软件研制能力成熟度模型》为基础,建立了软件工程化管理规章。
一、 组织构架
为了保证 GJB5000A 有效实施,以现行质量管理体系组织机构为基础,建立相应地组织领导机构,并使运行形成闭环。
认证推进会的职责:⑴组建单位GJ B5000A 工作组;⑵确定过程改进的目标和方针;⑶推进软件过程改进活动;⑷评审过程管理体系运行的有效性;⑸处理在各部门无法解决的矛盾和问题。
软件工程过程组(SEPG)的职责:⑴制定适合于本单位的软件过程文件,维护软件过程资产库;⑵策划、促进和跟综单位软件过程改进活动;⑶定期评估单位软件过程能力;⑷根据软件过程的培训和咨询;⑸软件开发方法学的研究,选择、评价新的过程、规程、方法和工具。
软件质量保证组(SQA)的职责:⑴监督软件过程的实施,确保所有软件项目和相关部门按照软件过程开展工作;⑵为软件项目组选派 SQA 工程师,审核 SQA 工程师的工作;⑶组织公司软件质量保证活动;⑷分析公司软件质量共性问题,提出过程改进建议;⑸软件过程质量标准、规范、准则、规则的研究、选择与维护。
软件配置管理组(SCM 组):⑴负责公司配置管理工具、技术和方法的推广、培训和技术支持;⑵负责指导各部门实施配置管理活动;⑶负责项目配置管理季度审核;⑷负责建立并维护公司软件产品库;⑸负责建立并维护公司过程资产库。
产品总师:⑴批准软件技术文档;⑵参加项目的阶段(里程碑)评审;⑶解决项目组不能解决的问题。
产品主管:⑴组织软件任务书的制定;⑵参加项目的阶段(里程碑)评审;⑶审查软件项目组成员的工作;⑷解决软件项目组不能解决的问题。
软件主管:⑴负责本项目的软件策划、软件项目跟踪与监督、软件需求管理等过程活动;⑵负责本项目的软件工程过程等过程活动;⑶分配、考核软件项目组成员的工作;⑷组织解决软件不符合问题。
项目主管:⑴组织软件项目的阶段(里程碑)评审;⑵组织软件项目的高层技术评审;⑶负责软件项目的测量与分析工作;⑷协助产品总师、软件主管完成项目跟踪和评审工作。
软件开发人员:⑴承担软件的需求分析、设计和编码实现;⑵每天填写日志,参加项目双周例会;⑶参加项目阶段(里程碑)评审和技术评审;⑷解决软件评审和测试发现的问题;⑸解决SQA 人员发现的软件不符合项。
软件测试人员:⑴负责项目的单元测试、集成测试和合格性测试;⑵负责编制测试计划、设计测试用例;⑶承担软件测试的实施,记录发现的问题;⑷跟踪、验收问题的解决情况,报告测试结果。
测量分析人员:⑴标识测量目标,确定所需的测量项;⑵编写项目的测量与分析计划;⑶收集和分析测量数据;⑷编制测量分析报告。
配置管理员:⑴为项目制定《软件配置管理计划》;⑵为项目创建并维护受控库;⑶建立和发布软件基线,并进行审核;⑷记录配置管理活动并建立配置管理报告。
软件质量保证工程师:软件质量保证工程师(SQA)由产品检验处指派,或由产品质量师担任,其职责是:⑴参与软件开发计划的制定;⑵制定项目的软件质量保证计划;⑶评审项目组软件过程活动,审核软件工作产品;⑷跟踪软件不符合项的处理,上报项目组内部不能解决的不符合问题;⑸编写项目SQA 活动相关报告。
软件配置控制委员会(SCCB):由产品总师、项目主管、软件主管、SQA、SCM 和技术专家等组成,其职责是:⑴批准软件基线的建立和软件配置标识。⑵评审并批准对软件基线的变更。⑶批准产品基线从受控库出库。
二、软件工程化与产品库
1、软件产品作为武器装备的重要组成部分,具有严格的可靠性、有效性和保密性,因此必须依据“软件工程化”管理理念,对各个阶段的软件开发活动进行科学管理和控制,以规范武器装备软件开发全过程的管理。“软件工程化”,即将软件工程技术应用到软件产品的整个生命周期中,改进软件开发的时间、质量、成本和服务。
2、在实施软件工程化的过程中,配置管理 (SCM) 是关键过程之一,也是软件质量保证的重中之重。配置管理权威的定义是:“一套应用技术上和管理上的指导和监督的方法,用来识别和记录配置项的功能特征和物理特征:
控制这些特征的变更;记录和报告变更的处理和执行的状态及验证其符合特定的需求”,即将软件开发过程中的各种变化因素处于受控的状态。为确保软件的可读性、一致性和可维护性,最为有效的手段就是控制软件技术状态,并进行配置管理。
3、配置管理的最终对象是软件配置项。在软件开发过程中的所有变化因素形成的各项产物,及软件产品在软件生命周期各阶段所产生的各种形式(机器可读或人工可读) 和各种版本的文档、程序及其数据的集合,在通过审批后即称为软件配置项。软件工程化强调文档作用,将软件生存周期的全过程,包括需求、设计、编制、测试等,按照文档要求的规范形式写出来,输出为文件的形式,从而将无形的逻辑转化为有形的文件,以实现有针对性的、有效的管理。软件配置项具有管理依据、质量保证、软件维护支持、历史档案等特性和作用。
4 、 软件配置管理应具化为开发库、受控库、产品库(以下称三库)的管理,以实现软件配置项入 / 出库、访问、变更以及配置审核等控制。其中,软件产品库是实现软件产品登记、发放、版本管理、应用配发、提供综合利用等功能集中统一管理的最佳方式,是“三库”中管理要求最为严格的过程控制。
三、档案管理与产品库管理要求
1 、在 DA/TI- 2000《档案工作基本术语》中,对档案做出如下定义:“国家、机构、社会组织或个人在社会活动中直接形成的、有价值的、各种形式的历史记录”,档案具备的基本特征是“内在有机联系”、“背景信息”以及“证据作用”,并要求根据其内容和起源管理,按照特定关系进行整理,赋予其唯一档号予以识别并有效保管。
2 、为了加强武器装备软件质量的管理,中央军委、总装备部、各兵种先后颁布和下发了规范软件开发的质量管理的国家军用标准和法规文件,对软件文档配置管理进行质量监督。这些标准都要求在软件配置管理组织和机构的监督中,在软件研制的各个阶段均建立相应配置管理组织,管理软件受控库和软件产品库,设立负责软件事物的配置管理员,对每个软件配置管理项按其特征进行标识 (包括文档标识、代码标识、运行文件标识)。例如,要保证某装备的正确制造就要选取所有型号、编号、批次的零部件,那么就需要明确某种规则,标明各零部件型号及相互关系并将这些配置信息编制成文件。
3、软件配置项作为配置项识别活动的产物,能够反映软件开发的全过程,这与档案的本质属性不谋而合。同时,软件配置项因具备文档化的配置项识别准则,以及根据准则来进行配置项唯一编号、名称等,并标明配置项的一些重要属性,如:存储位置、负责人、对应源码语言、受控级别等,这些管理特征又与档案管理的基本要求相一致,所以对软件产品库中的软件配置项的管理,即可视作对综合档案库房中科技档案的管理,其管理要点和根本要求是相同的。
四、实际做法和经验
1、组织机构保证
按照标准要求,软件产品库的配置管理员应为本单位最高级别库的管理员,其授权也应高于开发库和受控库。在我单位实施软件工程化工作之初,即成立了组织级软件配置管理组(SCM组),主要成员由软件工程化主管部门及档案部门人员组成,从职能、权限管理看,主管部门可以保证 SCM 组的任务审批,从实际业务开展来看,档案管理员又可以利用其系统化的文档管理知识、体系化的分类原则,并结合软件产品库的管理要求,保证产品库软件配置项的课题归属明确、分类合理并具备内在有机联系,标识明确、唯一,账目准确且要素丰富利于查找利用,并实现安装、使用、刻录、审批等符合相关规定且有效管控,确保在实现软件配置项严格控制的同时方便科研人员的利用。
2、制度保证
有法可依,有章可循,是实现规范化、标准化、科学化管理的必由之路,也是应对软件产品这个新“挑战”的策略之一,档案管理部门依据相关的标准要求,建立一系列的管理制度和规定,从制度层面上保证了对产品库的规范管理。例如,根据《软件配置管理过程》、《软件产品库管理规定》、《软件项目管理过程》、《软件质量保证过程》、《软件问题处理规程》、《变更控制规程》、《软件配置标识规程》等标准,建立软件配置项的基线管理要求、识别准则等,并与档案管理要求相结合对产品库中配置项的入 / 出库控制、更改控制、访问权限要求、使用 / 安装控制、配置审核要求等如何办理、操作,以及如何妥善保管软件配置项并定期备份等内容做出规定。
自此,在本单位软件工程化顶层标准《GJB5000A二级方针》的背景下,针对产品库的管理制度构成了丰富的二级、三级体系文件构架,从全面的框架要求到具体的操作细则都做到了有章可查、有款可依,为档案管理与产品库管理相结合的管理模式提供了制度保障。
3、工具配置及人员培训保证
采用先进、实用的配置管理工具以及相关人员进行培训,也是将档案管理与产品库管理有效结合的实际经验。正如软件工程化目标所强调的:运用工程技术实现软件全生命周期中人、技术、过程的高效集成;应用配置管理工具也是将各项标准要求融入配置管理的各项流程,进行程式化进行,即将人的“管”与软件功能、过程控制有效结合。
为加强档案管理员对配置管理工具的掌握和运用,作为所级 SCM 组成员,档案管理员在我单位软件工程化实施过程中参加了组织级、基层部门级的各项有正对性的专业培训,从软件工程化的概念到实施方案和具体措施及要求都进行了学习和了解,并对配置管理、三库管理、产品库控制规定等进行了深入的学习和掌握;同时在专业人员指导下,熟练应用配置管理工具,以实现对传统纸质文档及电子文档进行的有效控制。这样从软件配备到人员培训、从理论知识到实际操作,档案管理员逐步深入到软件产品库管理工作中,在作为一名合格的档案管理员的同时也成为了一名合格的 SCM 组成员。
总之,在军工企业中,高效的档案管理对实现产品项目文件的有效控制举足轻重,从而达到了对产品质量全过程的追踪和保证的目标;而在软件开发全周期中,提高档案管理与软件产品库相结合,并对此模式进行持续化改进和优化,也可以达到对软件产品质量全过程的掌握、这种管理模式,使其必将在行业范围内逐渐得到推广和进一步发展,并最终为武器装备软件产品质量的提高提供强有力的保证。