软件设计和开发控制程序_第1页
软件设计和开发控制程序_第2页
软件设计和开发控制程序_第3页
软件设计和开发控制程序_第4页
软件设计和开发控制程序_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件设计和开发控制程序1目的和范围本程序规定了公司军用软件设计开发的要求,包括软件来发的基本活动、支持活动和管 理活动等方面。本程序适用于本公司军用软件设计开发过程。公司军用软件分两类,一类属于硬件-软件 系统,软件嵌入硬件内一并交付顾客。对于这类情况,本程序只适用于其中的软件部分;一 类是单纯软件作为产品交付顾客,本程序适用这类产品设计开发全过程。2规范性引用文件下列文件对于本程序的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适 用于本程序。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本程序。GB/T19001-2016质量管理体系要求GJB 9001C-2017质

2、量管理体系要求GJB 2786A-2009军用软件开发通用要求GJB438B-2009军用软件开发文档通用要求GJB5235-2004军用软件配置管理GJB 439A-2013军用软件质量保证通用要求GJB5234 -2004军用软件验证和确认GJB1267 -1991军用软件维护GJB1268A -2004军用软件验收要求GJB5716 -2006军用软件开发库、受控库、产品库通用要求3术语和缩略语3.1术语3.1.1新产品产品功能指标超出现有技术水平,工艺设备无法保障研制条件,必须采用新技术、新工 艺、新器件(材料)、新设备才能满足用户要求的产品定义为新产品。新产品含军队、军工单 位立项委

3、托研制项目以及公司自筹经费的自研项目。3.1.2软件与计算机系统的操作有关的计算机程序、规程和可能相关的文档。3.1.3软件开发产生软件产品的一组活动。3.1.4软件开发文件与特定软件开发有关的资料库。其内容一般包括(直接或通过引用)有关需求分析、设 计和实现的考虑、理由和约束条件;开发方内部的测试信息;以及进度和状态信息。3.1.5软件产品作为定义、维护或实施软件过程的一部分而生成的任何制品,包括过程说明、计划、规 程、计算机程序和相关文档等,无论是否打算将它们交付给顾客或最终用户。软件产品在开 发过程中也称软件工作产品。3.1.6软件单元计算机软件配置项(CSCI)设计中的一个元素。例如,

4、CSCI的一个主要构成部分、这种 构成部分的一个部件、一个类、对象、模块、函数、子程序或数据库。软件单元可以出现在 层次结构的不同层上,并可以由其他软件单元组成。设计中的软件单元与实现它们的代码和 数据实体(子程序、过程、数据库、数据文件等)之间,或与包含这些实体的计算机文件之 间并不一定有一一对应的关系。3.1.7可重用软件产品为一种用途开发但还具有其他用途的软件产品,或者专门为了用于多个项目或一个项目 的多种任务而开发的软件产品。例如商业现货软件产品、需方提供的软件产品、重用库中的 软件产品和开发方现有的软件产品。每一次使用可以包括这些软件产品的全部或部分,也可 以包括它的修改部分。注:可

5、重用软件产品可以是任何软件产品(例如需求、体系结构等),而不只限于软件本 身。3.1.8软件配置在软件生存周期各阶段产生的各种形式和各种版本的文档、程序、数据及环境的集合。3.1.9软件配置项满足最终使用要求并由需方指定进行单独配置管理的软件集合。计算机软件配置项的选 择基于对下列因素的权衡:软件功能、规模、宿主机或目标计算机、开发方、保障方案、重 用计划、关键性、接口考虑、需要单独编写文档和控制、以及其他因素。3.1.10软件配置管理为保证软件配置项的完整性和正确性,在整个软件生存周期内应用配置管理的过程。3.1.11软件保障为确保软件安装后能继续按既定要求运行,而且在系统的运行中能起到作用

6、而发生的一 系列活动。软件保障包括软件维护、用户支持和有关活动。3.1.10软件可靠性在规定的条件下和规定的时间内,软件完成规定的功能且不引起系统失效的能力。3.1.11软件安全性软件不会引发影响人身安全的事故的能力。3.1.12软件可维护性软件被校正、被修改、被完善的容易程度。3.1.13软件成份计算机软件配置项中各不相同的部分。它可进一步分解为其他计算机软件成份或计算机 软件单元。3.1.14软件关键成份其错误可能导致系统发生危险,或使系统失去控制的软件成份。软件关键成份包括:a)中断处理的软件成份(指含此功能的最小软件成份,下同);b)所产生信号能直接影响硬件部件或能对硬件进行自动控制的

7、软件成份;c)所产生信号能启动安全性关键行为的软件成份;d)其输出是显示可靠性、安全性关键硬件状态的软件成份。3.2缩略语CASE-computer aided software engineering 计算机辅助软件工程;COM-computer operation manual 计算机操作手册;CPM-computer programming manual 计算机编程手册;CSCI-computer software configuration item 计算机软件配置项;DBDD-database design description 数据库设计说明; FSM-firmware supp

8、ort manual 固件保障手册; HWCl-hardware configuration item 硬件配置项; IDD-interface design description 接口设计说明; IRS-interface requirement specification 接口需求规格说明; IV&V-independent verification and validation 独立验证和确认; OCD-operational concept description 运行方案说明;SCMP-software configuration management plan 软件配置管理计划;

9、 SCMR-software configuration management report 软件配置管理报告; SCOM-software center operator manual 软件中心操作员手册; SDD-software design description 软件设计说明;SDF-software development file 软件开发文件; SDP-software development plan 软件开发计划; SDTD-software development task description 软件研制任务书; SDSR-software development su

10、mmary report 软件研制总结报告; SIOM-software input/output manual 软件输入/输出手册; SIP-software installation plan 软件安装计划;SOW-software of work 工作说明;SPS-software product specification 软件产品规格说明; SQAP-software quality assurance plan 软件质量保证计划; SQAR-software quality assurance report 软件质量保证报告; SRS-software requirement sp

11、ecification 软件需求规格说明; SSDD-system/subsystem design description 系统/子系统设计说明; SSS- system/subsystem specification 系统/子系统规格说明; STD-software test description 软件测试说明;STP-software test plan 软件测试计划; STR-software test report 软件测试报告;STrP-software transition plan 软件移交计划;SUM-software user manual 软件用户手册;SVD-soft

12、ware version description 软件版本说明。4职责4.1研发部是本程序的主管部门,负责组织软件的开发、评审和文档的审核。4.2研发部软件组负责软件开发全过程的组织、协调、实施工作,包括进行开发的策划、确 定开发的组织和技术的接口、输入、输出、验证、评审、设计开发的更改和确认等,软件设 计人员负责软件的设计和开发,负责编制软件文档。4.3项目经理负责项目分解、指标分配及软件各部分之间、软件与硬件之间的协调,明确关 键性软件成份,制定可靠性、安全性及质量控制措施,确保可靠性、安全性要求的全面落 实。4.4总工程师负责审核软件开发输出文件和成果;4.5总经理负责批准项目可行性研究

13、报告、项目立项报告。4.6质量管理部负责组织对软件开发过程进行监督。4.7综合管理部档案组负责军用软件“三库”的建立和维护。5要求5.1软件采用软件工程化的研制方式,通过对软件需求分析、概要设计、详细设计、编码实 现、文档编写、调试、测试、联调、评审与验收、交付使用等全过程的管理与控制,提高软 件的可靠性和安全性,保障软件质量。5.2研发部软件组应统筹安排,确保军用软件的需求分析与软件实现、软件设计与软件实 现、软件实现与软件测试施行“双岗制”。5.3软件关键级别按软件失效可能造成危险的严重程度,将软件的软件关键级别划分为四级,见表1。表1软件关键级别划分软件安全关键等级软件失效的危险严重性等

14、级事故说明A1(灾难的)人员死亡或系统报废B11(严重的)人员严重受伤、严重职业病、系统严重损坏或任务失败C111(轻度的)人员轻度受伤、轻度职业病、系统轻度损坏或任务受影响软件安全关键等级软件失效的危险严重性等级事故说明DIV (轻微的)轻于III级的损伤,但任务不受影响5.4软件规模按源码行数或指令条数将软件规模划分为五类,见表2。表2软件规模划分软件规模嵌入式软件非嵌入式软件源码行数或指令条数n源码行数n巨100,000 Wn500,000 Wn大10,000 Wn100,00050,000 Wn500,000中3,000 Wn10,0005,000Wn50,000小300Wn3,000

15、500Wn5,000微n300n5005.5可靠性、安全性一般要求软件的可靠性、安全性一般要求为:a)对于A级和B级软件,必须明确其冗余和容错要求,并进行多版本程序设计。限于条件不能进行多版本程序设计时,应采取其他技术措施以确保安全性及可靠性,并将情况报告指挥系统;b)各软件成份的失效容限见表3;c)软件可靠性、安全性需求中必须包括对各种不期望事件加以响应的要求;d)关键软件成份多为实时嵌入式软件成份,对此类成份须确保其实时性,应通过采用适当的采样周期和适当的软件工作时序来保证其可靠性和安全性;e)软件应根据有关要求,进行软件FMEA和软件安全性分析。表3不同软件成份的故障容限要求关键性级别故

16、障容限A级2B级1C、D级0注:可根据实际情况,采用软硬件结合的方法达到这一容限目的。5.6安全关键软件成份的设计 5.6.1不安全情况的检测a)设计时应重点考虑使软件能检测出系统中潜在的不安全情况和状态,并能将系统恢复 到某个安全状态;b)软件应提醒操作人员注意到已检测到的异常情况、应采取的措施,以及安全的系统配 置和状态。5.6.2接口软件a)接口软件必须能够识别合法的及非法的外部中断,并能从错误的外部中断事件中恢复 到安全状态;b)接口软件必须考虑检测外部硬件输入或输出设备失效,并在发生失效时恢复到安全状 态;c)必须采用可靠的校验方法保证数据传输的正确性。5.6.3人机界面a)人机交互

17、软件必须使操作人员用单一动作处理当前事件,退出潜在的不安全状态,并 使系统恢复到已知安全状态;b)对启动安全关键功能时,必须由两个或两个以上独立的操作人员的动作完成,并有完 善的误触发保护机制,以避免无意激活;c)操作显示、图标及其它交互关系必须清晰、简明;d)人机交互软件必须能够检测出操作人员的不正确输入和操作,并提供各类手段使操作 人员易于正确操作及得到各种反馈信息。5.6.4警报必须向操作人员提供极明确的声光报警。警报的设计必须使安全性关键警报极易与例行警报相区别。6程序6.1软件设计和开发过程和活动软件设计和开发过程如图1。救件评审-Iill-析Lfl仁A1软件图1软件设计和开发流程软

18、件设计和开发活动包括:3)项目策划和监控;b)软件开发环境的建立;c)软件需求分析;d)软件设计;e)软件实现和单元测试;f)单元测试和集成;g)CSCI合格性测试;h)CSCI/HWCI集成和测试;i)软件合格性测试;j)软件使用准备;k)软件移交准备;l)软件验收支持;m)软件配置管理;n)软件产品评价;o)软件质量保证;p)纠正措施;q)联合评审;r)测量与分析;s)风险管理;t)保密性有关活动;u)分承制方的管理;v)与软件独立验证和确认(IV&V)机构的协调;w)与相关方的协调;乂)项目过程的改进。6.2软件文档软件开发过程中产生的文档如下:a)运行方案说明(OCD);b)系统/子系

19、统规格说明(SSS);c)接口需求规格说明(IRS);d)系统/子系统设计说明(SSDD);e)接口设计说明(IDD);f)软件研制任务书(SDTD);g)软件开发计划(SDP);h)软件配置管理计划(SCMP);i)软件质量保证计划(SQAP);j)软件安装计划(SIP);k)软件移交计划(STrP);l)软件需求规格说明(SRS);m)软件设计说明(SDD);n)软件测试计划(STP);o)软件测试说明(STD);p)软件测试报告(STR);q)软件产品规格说明(SPS);r)软件版本说明(SVD);s)软件用户手册(SUM);t)软件输入/输出手册(SIOM);u)软件中心操作员手册(S

20、COM);v)计算机编程手册(CPM);w)计算机操作手册(COM);x)固件保障手册(FSM);y)软件配置管理报告(SCMR);z)软件质量保证报告(SQAR);al)软件研制总结报告(SDSR)。上述文档视软件等级或顾客要求,可以剪裁。6.2.1软件项目负责人根据合同或软件研制任务书对软件项目的开发进行策划,编制软 件开发计划。6.2.2按计划对软件设计开发的各阶段进行评审。软件研制任务书、软件需求规格说明、软 件设计说明、软件测试和分析报告应进行正式评审。做好评审记录,对发现的问题应进 行分析并实施闭环管理。6.2.3软件设计、测试工作由不同人员承担。6.2.4软件设计和开发各阶段应严

21、格按有关标准或规范编制软件文档,实施分阶段的管理。6.2.5软件设计开发外包时应对外包方软件设计开发能力进行考察并纳入合格供方名单,实 施动态管理;对外包方提出软件质量保证要求,参加其阶段评审,检查软件测试结果并 参与验收测试,对提供的软件是否符合技术和质量要求予以确认。6.2.6建立软件问题报告、分析和纠正措施系统,按规定记录、整理分析软件的故障数据, 采取纠正措施实施闭环管理。6.2.7软件设计开发过程形成的各类文件应予以控制,设计任务完成后一并归档。6.2.8已归档软件的更改必须履行审批手续,更改后的软件应进行回归测试,并重新归档。6.3软件设计和开发阶段6.3.1软件设计和开发一般分为

22、五个阶段:A)任务确定策划阶段;B)需求分析阶段;C)开发计划阶段;D)设计阶段,包括代码编制、单元集成、部件集成及相对应的测试;E)测试阶段;F)运行、维护阶段。6.3.2每一阶段设计开发工作完成并达到规定的要求后方可转入下阶段工作。6.3.3在软件设计开发各阶段明确该阶段输入要求,并作为该阶段开展设计开发工作的依据。6.3.4软件设计开发各阶段应严格按有关标准或规范编制软件文档。6.4任务确定策划阶段设计开发任务明确后,应按以下步骤开展工作:A)项目组编制运行方案说明(OCD),销售经理、项目经 会签,总工程师批准。单独交付软件必须协调顾客(或顾客代表)同意后方可进行下一步工作;B)项目组

23、编制软件研制任务书(SDTD);C)项目组编制软件开发计划(SDP);D)质量工程师编制软件质量保证计划(SQAP);E)项目组编制软件配置管理计划(SCMP);f)总工程师组织对SDTD、SDP、SQAP、SCMP进行评审。6.5需求分析阶段项目组编制软件需求规格说明(SRS),需要时编制接口需求规格说明(IRS)予以补充。软件需求主要包括以下几个方面:a)功能需求;b)性能需求;c)数据需求;d)接口需求;e)环境和资源约束需求;f)测试要求;g)可靠性、安全性需求;h)可维护性需求;i)其他需求。6.5.1功能需求a)必须给出软件的每一项功能及其目的,特性,并区分主、次要功能;b)必须确

24、定与功能相关的所有输入、处理、输出信息;c)必须确定系统是否有特殊要求或应急措施。6.5.2性能需求必须定量地描述软件应满足的具体性能要求。这些要求包括a)处理数据的最大容量;b)精度要求;c)最长响应时间;d)适应用户需求变化的能力;e)其他性能需求。6.5.3数据需求a)必须明确定义所使用的各种数据;b)必须规定静态数据、动态输入输出数据及内部生成数据的逻辑结构;c)列出数据清单,明确对数据元素的约束;d)必须明确规定数据采集的要求和被采集数据的特性、要求和范围。6.5.4接口需求必须指明软件与外部的各种接口关系,并说明各个接口的特性。6.5.5余量设计在每个软件使用时,存数量、输入输出通

25、道的吞吐量以及处理时间应留有20%的余量。6.5.6软件关键成份软件的关键成分应包括:a)中断处理的软件成份;b)所产生的信号能直接影响硬件部件或能对硬件进行自动控制的软件成份;c)所产生的信号能启动安全性关键行为的软件成份;d)其输出是显示可靠性、安全性关键硬件状态的软件成份。6.5.7可靠性、安全性要求a)对于A、B级软件必须明确其冗余和容错要求;b)明确各种不期望响应;c)对于实时性软件成份,必须确保其实时性,同时要通过适当的采样周期和适当软件工作时序来保证其可靠性和安全性;d)进行可靠性、安全性分析。6.6设计阶段软件设计一般要求为:a)应采用自上而下逐步细化的方法将软件需求转换为软件

26、设计,软件应采用分层结构, 低层模块不得调用高层模块,并尽量减少同层模块间的相互调用;b)每个软件模块均应考虑相应的防错措施;c)对每个软件模块,必须确定其存储量、输入输出通道及处理时间要求,应保证在软件 在使用时,整个计算机的存储量、输入输出通道及处理时间留有20%以上的余量;d)必须确定该软件与其他系统的接口,明确数据量、效率、速率、格式、内容及换算要 求等;e)有详细的单元测试计划及组装测试计划;f)完成软件设计说明、软件测试计划、软件安装维护手册、软件操作使 用说明的编写。6.7测试阶段6.7.1软件测试工作流程软件测试由项目经理牵头,研发部软件组、质量管理部参加。a)制定测试计划;b

27、)建立测试环境;c)产生测试用例集;d)执行测试;e)分析结果,若通过则进行步骤f,否则修改软件及文档并重新测试;f)评估,满意则进行步骤g,否则进行补充测试;g)编写测试报告。6.7.2测试种类和要求应根据软件关键级别按表4选择测试类型或项目。表1测试的种类及要求测试类型软件等级ABCD代码审查单元测试组装测试确认测试强度测试OO可靠性测试OO安全性测试OOO系统联试第三方测评OO注1:在表中“”表示必选项目,“。”表示可选项;注2:小规模以下的单元测试和组装测试可以合并;注3: C、D级软件可剪裁单元测试和组装测试,但应完成确认测试和系统联试。6.7.3单元测试在程序单元完成并通过代码审查

28、之后进行单元测试。测试前应编写单元测试计划,设计 并执行单元测试用例。对于A、B级软件,语句覆盖率应达到100%,分支覆盖率应达到 100%,达不到的要说明原因、弥补方法及分析对测试结果的影响。根据详细设计说明、单元 测试结果和发现的错误信息,评价每个单元的设计及其实现。测试完成后,应完成单元测试分析报告。6.7.4组装测试组装测试主要检验软件单元和(或)软件部件间的接口关系,逐步将软件单元和(或) 软件部件集成成为一个新的符合设计要求的软件部件,最终形成软件配置项。组装测试应在 每个供组装的单元完成单元测试之后进行。测试前应编写组装测试计划,建立组装测试环 境,设计并执行组装测试用例。根据概

29、要设计说明、组装测试结果和发现的错误信息,评价 软件结构的设计及其实现。测试完成后,应完成组装测试分析报告。6.7.5确认测试根据软件需求规格说明中定义的全部要求,制定确认测试计划,建立确认测试环境,执 行确认测试用例。根据软件需求规格说明、确认测试结果和发现的错误信息,评价软件功 能、性能及其它需求的设计及其实现。确认测试的软件必须是经过受控库管理的正式版本。A、B级软件确认测试型号总体单位指定的第三方测试机构进行测试。测试完成后,应完成确认测试分析报告。6.7.6系统联试系统联试由分系统在系统(包括硬件和软件)综合试验中进行,设计师系统参加,考核 软件是否满足系统的总技术要求,包括功能、性

30、能、可靠性、安全性等要求。6.7.7回归测试a)测试后又修改的软件,必须进行相应的回归测试;b)已纳入配置管理的软件,修改后应进行相应的回归测试,并进行软件版本的升级。c)关于测试类型,若进行强度测试和安全性测试,可以参考以下内容。6.7.8强度测试强度测试是把软件强制在其设计能力极限,进而超出设计能力极限的状态下运行,以保 证软件在饱和状态下的功能和性能的降低不会引起系统灾难性的故障。6.7.8. 1强度测试环境强度测试必须在系统和软件设计的最终使用环境下进行。如果最终使用环境不能适应强 度测试所施加的压力,其替代环境必须与最终环境有相同的硬件。强度测试的其它部分的要 求(如测试时间长度)必

31、须满足最终使用环境的要求。6.7.8.2被测软件版本强度测试所用的软件必须是最新批准的基准版本,并处于研制单位的配置管理下,这些 软件必须由设计师系统预先同意的支持软件来生成。6.7.8.3文档的提供强度测试之前,与测试有关的文档,必须正式提供给测试人员使用。6.7.8.4强度测试时间长度软件强度测试时间长度规定为:在输入状态不断变化条件下,连续测试时间一般不少于10 h,且有足够的累计时间;对于系统任务时间长度小于15 min的软件,测试时间应为任务 时间长度的50倍以上。6.7.8.5强度测试内容强度测试的内容包括:a)数据处理量超过设计允许最大处理量时,软件正常运行的能力;b)数据传输量

32、、传输速率超过设计饱和值时,软件正常运行的能力;c)存储范围超过额定范围时,软件正常运行的能力;d)与实时处理有关的时间特性超出设计允许最大值时,软件正常运行的能力;e)硬件降级使用情况下,软件正常运行的能力。6.7.9可靠性、安全性测试对于A、B级软件,应由分系统组织进行可靠性、安全性测试,测试时应尽可能模拟其所 在系统的真实环境。可靠性、安全性测试应考虑以下几方面的内容:a)对安全关键的最小软件成份,须单独进行测试,以确保其满足可靠性、安全性需求;b)对软件设计中用于提高可靠性、安全性的结构、算法、容错、冗余等方案,必须进行 针对性的测试;c)应增加对可能导致系统故障或不安全的各种异常条件(如各种输入错误)下的测试;d)对在测试中发现的缺陷,必须在纠正后,在同样条件下进行回归测试,以消除危险或 将其风险降到可接受水平;e)选择适当的可

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论