软件设计和开发控制程序
设计开发控制程序

设计开发控制程序设计开发控制程序1. 简介设计开发控制程序是指在软件开发过程中,为了保证项目的高质量和有效管理而设计的一套程序控制方法和工具。
它可以帮助团队成员协同工作,跟踪项目进度,保持代码的一致性和可维护性,并及时发现和解决问题。
本文将探讨如何设计和开发一个控制程序来提高软件开发流程的效率和质量。
2. 控制程序的功能和特性设计和开发控制程序的主要目标是优化软件开发过程,并确保项目的交付质量。
以下是控制程序的主要功能和特性:2.1 版本控制版本控制是控制程序的核心功能之一。
它可以帮助团队成员管理代码版本,记录修改历史,协同开发,解决代码冲突,并恢复到之前的版本。
常见的版本控制系统有Git和SVN等。
2.2 代码审查代码审查是控制程序的另一个重要功能。
通过代码审查,团队成员可以相互检查代码质量,发现潜在问题,并提出改进意见。
代码审查有助于提高代码的可读性、可维护性和稳定性。
2.3 缺陷跟踪控制程序还应该具备缺陷跟踪功能,以便团队成员能够及时发现、记录和解决项目中的缺陷和问题。
缺陷跟踪系统可以帮助团队确保所有缺陷都得到恰当的处理,并监控缺陷修复的进度。
2.4 自动化构建和测试自动化构建和测试可以提高开发效率和产品质量。
控制程序应该支持自动化构建工具,如Maven或Gradle,并与测试框架集成,以便能够自动执行单元测试、集成测试和系统测试等。
2.5 文档管理文档管理是一个容易被忽视的方面,但它对于软件开发项目的成功非常重要。
控制程序应提供文档管理功能,以便团队成员能够共享和管理项目文档,包括需求文档、设计文档、用户手册等。
3. 控制程序的设计与实现为了实现上述功能,我们可以选择使用一些开源的控制程序工具,如GitLab、Jenkins、JIRA等。
这些工具提供了丰富的功能和插件,可以满足大多数项目的需求。
下面是一个基本的控制程序的设计与实现步骤:1. 需求分析:明确项目的需求和开发团队的规模,确定所需的功能和特性。
软件设计和开发控制程序

产品软件控制程序1 目的与适用范围1.1 目的本程序规定了产品配套软件的开发及管理所遵循的原则和一般要求,其目的是对设计和开发的全过程实施控制,确保以科学的控制流程、合理的资源配置实现顾客需求和期望,达到设计目标,并保证产品达到规定的质量要求。
1.2 适用范围本程序适用于本公司配套软件产品(含外协)生存周期的控制与管理。
2 引用文件GB/T11457 -95 软件工程术语GB/T12504- 90 计算机软件质量保证计划规范3 术语和定义3.1 软件软件指计算机程序和相应的数据文档;包括固件中的程序和数据,与其驻留的物理介质无关。
3.2 软件级别根据产品可靠性、保障性大纲的规定,对系统中软件关键性进行分析,将软件按关键性分成A、B、C、D 四个级别,且对不同级别的软件在质量控制要求及方法上有所差别。
本公司所研制的软件属于D类软件:其失效可能造成轻微危害的软件。
3.3 产品配套软件分类产品配套软件按功能分为:地面测试软件、数据处理软件、计算机软件等;按使用环境分为:地面软件、测试软件等;按规模分为:小、微型软件。
3.4 软件开发软件开发过程是指从任务书或合同生效之日开始,到承办单位交付产品并有用户验收为止的整个软件研制、生产过程。
3.5 软件维护软件维护是在软件产品交付使用之后,为纠正故障、改善性能和其它属性,或使产品适应改变了的环境所进行的修改活动。
一般分为完善性维护、适应性维护和改正性维护三种类型。
3.6 文档文档是对软件的书面描述和说明,它定义了软件的功能、性能、组成、设计、测试和使用方法。
3.7 软件生存周期从设计软件产品开始到软件产品不能再使用时为止的时间周期。
3.8 软件开发库、受控库、产品库软件开发库是指存放与软件开发工作有关的计算机可读信息和人工可读信息的软件库。
软件受控库是指在软件生存周期的某一阶段结束时,存放作为尖端产品而释放的、与软件开发工作有关的计算机可读信息和人工可读信息的库。
设计和开发控制程序

设计和开发控制程序在软件开发领域,设计和开发控制程序是一个非常重要的环节。
控制程序是用来规范和管理软件开发过程的一系列指导和规范。
通过设计和开发控制程序,可以提高团队的开发效率、降低维护成本,并确保软件质量。
在本文中,我们将探讨如何设计和开发控制程序,以及其在软件开发过程中的重要性。
控制程序的定义控制程序是一套规范和指导,用于规范和管理软件开发过程。
它包括了软件开发的流程、规范、标准以及相应的工具和技术。
通过控制程序,可以确保软件开发过程有序进行,团队成员之间有明确的分工和职责,可以提前识别和解决问题,从而提高软件的质量和开发效率。
设计控制程序的步骤设计控制程序是一个系统性的工作,需要经过以下几个步骤:1.需求分析:首先需要明确软件开发的需求和目标,确定控制程序的范围和内容。
这一步骤非常重要,因为只有清楚了解需求,才能设计出符合实际情况的控制程序。
2.制定规范:在需求分析的基础上,制定相应的规范和标准,包括开发流程、代码规范、测试标准等。
规范的设计应该符合实际情况,既要满足软件开发的需求,又不能过于繁琐和复杂。
3.确定工具和技术:根据规范的设计,确定适合的工具和技术来支撑控制程序的实施。
例如,可以使用版本管理工具来管理代码的版本,使用自动化测试工具来提高测试效率等。
4.实施和监控:将设计好的控制程序付诸实施,并不断监控和调整。
实施过程中要关注团队成员的反馈和效果,及时调整控制程序,确保其有效性和实用性。
开发控制程序的重要性设计和开发控制程序在软件开发过程中具有重要意义:1.规范软件开发流程:控制程序可以规范软件开发的各个阶段,明确每个阶段的工作内容和职责分工,避免开发过程混乱和失控。
2.提高开发效率:通过控制程序,可以提高团队的协作效率,减少重复劳动,提高开发效率。
3.降低维护成本:良好的控制程序可以提前发现和解决问题,减少软件维护的难度和成本。
4.保证软件质量:控制程序可以规范软件开发的标准和流程,提高软件的质量和稳定性。
计算机软件设计开发控制程序

计算机软件设计开发控制程序一、引言计算机软件设计开发控制程序是实现软件设计、开发和控制的核心环节。
它涉及到软件的整体架构设计、编码实现、版本管理、代码质量控制、测试和发布等方面。
在软件开发过程中,一个有效的控制程序能够提高软件开发的效率和质量,确保项目的顺利进行。
二、需求分析在设计开发控制程序之前,需要进行需求分析。
通过与项目组成员的沟通和了解,明确软件开发的目标和需求,分析系统的功能、性能、安全等方面的要求,并将其转化为明确的任务和优先级。
三、架构设计在需求分析的基础上,进行系统的整体架构设计。
架构设计是软件开发的基石,它涉及到系统的模块划分、接口定义、数据流程和控制流程的设计等。
一个良好的架构设计能够提高系统的稳定性、可维护性和可扩展性。
四、编码实现在架构设计完成后,进行具体的编码实现。
编码实现是将设计思想转化为具体的代码实现的过程,它需要程序员熟练运用各种编程语言和开发工具,按照设计要求编写代码,并进行良好的代码注释和文档编写。
五、版本管理软件开发过程中,会出现多个版本的代码,需要进行版本管理。
版本管理是对软件开发过程中的各个版本进行管理和控制,包括代码的提交、分支管理、冲突解决、版本回退等。
一个好的版本管理工具能够提高开发团队的协作效率和代码的可靠性。
六、代码质量控制为了确保软件的质量,需要进行代码质量控制。
代码质量控制包括代码规范的制定和维护、静态代码分析、单元测试、代码复审等方面。
一个好的代码质量控制程序能够有效地减少代码错误和维护成本,提高软件的稳定性和可靠性。
七、测试在开发控制程序完成后,需要进行测试。
测试是验证软件功能和性能的过程,包括单元测试、集成测试、系统测试等。
通过不同层次的测试,可以发现并修复软件中的问题,确保软件的正确性和稳定性。
八、发布当软件经过开发、测试等环节后,需要进行发布。
发布是将软件交付给最终用户的过程,包括软件打包、文档编写、用户指导等。
一个好的发布程序能够确保软件的顺利接入用户的环境,并提供相应的支持和维护。
软件设计和开发控制程序

软件设计和开发控制程序软件设计和开发控制程序软件设计和开发控制程序是指在软件开发过程中,通过一系列的规划、设计和执行步骤来控制软件的开发并确保其质量和可靠性。
这个过程涉及到多个方面,包括需求调研、需求分析、系统设计、编码实现、、部署和维护等。
需求调研在软件开发过程中,需求调研是非常关键的一步。
开发团队需要与用户沟通,了解用户的真正需求,明确软件的功能和性能要求。
需求分析需求分析是指对用户需求进行详细分析和抽象,将用户需求转化为软件系统的几个方面要素,包括功能需求、非功能需求、界面需求等。
通过需求分析,可明确软件的功能和性能要求,为之后的设计和实现工作打下基础。
系统设计系统设计是软件开发过程中的一个重要环节,它决定了软件系统的结构和组成方式。
在系统设计阶段,开发团队需要根据需求分析的结果,设计软件的结构和模块,并确定各个模块的接口和交互方式。
编码实现编码实现是将系统设计的结果转化为具体的软件代码的过程。
在编码实现过程中,开发人员需要按照设计文档的要求,编写代码并进行调试和,确保代码的正确性和可靠性。
是软件开发过程中的一个重要环节,通过不同的手段和方法,验证软件的功能、性能和稳定性。
可以帮助发现和解决软件中的问题和缺陷,提高软件的质量和用户体验。
部署和维护部署和维护是软件开发的一步,将开发好的软件安装到目标系统中,并进行相关设置。
在软件部署后,还需要进行软件的维护工作,包括bug修复、功能扩展等。
以上就是软件设计和开发控制程序的基本流程和步骤。
通过合理的控制和管理,可以有效提高软件开发的效率和质量,满足用户的需求。
软件设计和开发控制程序

软件设计和开发控制程序软件设计和开发控制程序1 ⽬的和范围本程序规定了公司军⽤软件设计开发的要求,包括软件来发的基本活动、⽀持活动和管理活动等⽅⾯。
本程序适⽤于本公司军⽤软件设计开发过程。
公司军⽤软件分两类,⼀类属于硬件-软件系统,软件嵌⼊硬件内⼀并交付顾客。
对于这类情况,本程序只适⽤于其中的软件部分;⼀类是单纯软件作为产品交付顾客,本程序适⽤这类产品设计开发全过程。
2规范性引⽤⽂件下列⽂件对于本程序的应⽤是必不可少的。
凡是注⽇期的引⽤⽂件,仅注⽇期的版本适⽤于本程序。
凡是不注⽇期的引⽤⽂件,其最新版本(包括所有的修改单)适⽤于本程序。
GB/T19001-2016 质量管理体系要求GJB 9001C-2017 质量管理体系要求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.1.2 软件与计算机系统的操作有关的计算机程序、规程和可能相关的⽂档。
3.1.3 软件开发产⽣软件产品的⼀组活动。
3.1.4 软件开发⽂件与特定软件开发有关的资料库。
其内容⼀般包括(直接或通过引⽤)有关需求分析、设计和实现的考虑、理由和约束条件;开发⽅内部的测试信息;以及进度和状态信息。
3.1.5 软件产品作为定义、维护或实施软件过程的⼀部分⽽⽣成的任何制品,包括过程说明、计划、规程、计算机程序和相关⽂档等,⽆论是否打算将它们交付给顾客或最终⽤户。
计算机软件设计开发控制程序[1]
![计算机软件设计开发控制程序[1]](https://img.taocdn.com/s3/m/fa35f94e00f69e3143323968011ca300a6c3f620.png)
计算机软件设计开发控制程序计算机软件设计开发控制程序一、概述在计算机软件设计开发过程中,控制程序是一个非常重要的组成部分。
它负责协调和控制各个模块之间的交互和协作,确保软件能够按照预期的方式运行。
本文将介绍计算机软件设计开发控制程序的基本概念、设计原则和开发过程。
二、控制程序的基本概念控制程序是一个独立的模块,负责协调和控制软件中其他模块的执行。
它通常由一系列规则和算法组成,用于判断和决定下一步的执行动作。
控制程序具有以下几个基本特点:1. 灵活性:控制程序可以根据需求进行动态调整和改变,以适应软件的变化和扩展。
2. 可扩展性:控制程序可以随着软件的功能增加而扩展,添加新的规则和算法。
3. 可维护性:控制程序应该具有良好的结构和可读性,便于维护和修改。
4. 性能优化:控制程序需要考虑软件的性能需求,尽量减少不必要的计算和交互操作。
三、控制程序的设计原则在设计控制程序时,需要遵循一些基本的设计原则,以确保软件的可靠性和可维护性,以下是几个常用的设计原则:1. 单一职责原则:每个控制程序模块应该只负责一个具体的职责,避免功能的混杂和耦合。
2. 开闭原则:控制程序应该对扩展开放,对修改关闭。
通过使用接口和抽象类的方式,可以方便地扩展控制程序的功能。
3. 依赖倒置原则:控制程序应该依赖于抽象而不是具体的实现。
这样可以降低模块间的耦合度,提高代码的可复用性。
4. 迪米特法则:控制程序的设计应该尽量降低模块的交互和依赖关系,避免模块之间的紧耦合。
四、控制程序的开发过程1.需求分析在开发控制程序之前,首先需要进行需求分析,明确软件的功能和特性。
通过与产品经理、用户等进行沟通,明确软件的需求和目标。
2.概要设计在需求分析的基础上,进行概要设计。
这一阶段主要是制定软件的整体结构和组织方式,确定关键模块和接口。
3.详细设计在概要设计的基础上,进行详细设计。
这一阶段主要是对每个模块进行详细的设计,包括算法的选择、数据结构的设计、接口的定义等。
10 软件设计开发控制程序

10 软件设计开发控制程序在软件设计开发过程中,控制程序起着至关重要的作用。
它能够确保项目能够按照既定计划进行,并且有效地解决可能出现的问题。
本文将介绍一些常用的软件设计开发控制程序,以帮助开发团队更好地掌控项目的进度和质量。
1. 设立明确的目标和计划在软件开发过程中,明确的目标和计划对于确保项目的顺利进行至关重要。
通过设立明确的目标,开发团队可以更好地了解项目的需求和期望,从而合理安排工作和资源。
制定详细的计划可以帮助开发团队分解任务,确保每个成员都清楚自己的工作内容和时间要求。
2. 使用版本控制系统版本控制系统是开发过程中必不可少的工具之一。
它能够记录软件的变更历史,并且提供协同工作功能,确保团队成员能够并行开发,保证代码的一致性。
通过使用版本控制系统,开发团队可以更好地管理代码,随时回滚修改,避免意外丢失或覆盖重要代码。
3. 定期进行进度评估定期进行进度评估是软件设计开发控制程序中的重要环节。
通过定期评估项目进展,开发团队可以及时发现和解决问题,确保项目能够按计划进行。
在评估过程中,可以借助一些工具和方法,如甘特图、里程碑等,帮助团队更好地掌握项目进展情况。
4. 进行质量控制和测试质量控制和测试是软件开发过程中不可或缺的环节。
通过进行质量控制和测试,开发团队可以发现和修复潜在的问题,确保软件质量和稳定性。
可以采用各种测试方法,如单元测试、集成测试、系统测试等,来评估软件的性能和功能,确保软件符合用户的需求和期望。
5. 持续改进和学习软件设计开发控制程序是一个不断迭代和改进的过程。
开发团队应该不断学习和经验教训,寻找改进的空间,并及时应用到下一个项目中。
通过持续改进和学习,可以提高开发团队的技术水平和工作效率,进一步优化软件开发过程。
,软件设计开发控制程序对于确保项目的顺利进行至关重要。
通过设立明确的目标和计划、使用版本控制系统、定期进行进度评估、进行质量控制和测试以及持续改进和学习,开发团队可以更好地掌控项目的进度和质量,提高软件开发效率和质量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件设计和开发控制程序1 目的和范围本程序规定了公司军用软件设计开发的要求,包括软件来发的基本活动、支持活动和管理活动等方面。
本程序适用于本公司军用软件设计开发过程。
公司军用软件分两类,一类属于硬件-软件系统,软件嵌入硬件内一并交付顾客。
对于这类情况,本程序只适用于其中的软件部分;一类是单纯软件作为产品交付顾客,本程序适用这类产品设计开发全过程。
2规范性引用文件下列文件对于本程序的应用是必不可少的。
凡是注日期的引用文件,仅注日期的版本适用于本程序。
凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本程序。
GB/T19001-2016 质量管理体系要求GJB 9001C-2017 质量管理体系要求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.1.2 软件与计算机系统的操作有关的计算机程序、规程和可能相关的文档。
3.1.3 软件开发产生软件产品的一组活动。
3.1.4 软件开发文件与特定软件开发有关的资料库。
其内容一般包括(直接或通过引用)有关需求分析、设计和实现的考虑、理由和约束条件;开发方内部的测试信息;以及进度和状态信息。
3.1.5 软件产品作为定义、维护或实施软件过程的一部分而生成的任何制品,包括过程说明、计划、规程、计算机程序和相关文档等,无论是否打算将它们交付给顾客或最终用户。
软件产品在开发过程中也称软件工作产品。
3.1.6 软件单元计算机软件配置项(CSCI)设计中的一个元素。
例如,CSCI的一个主要构成部分、这种构成部分的一个部件、一个类、对象、模块、函数、子程序或数据库。
软件单元可以出现在层次结构的不同层上,并可以由其他软件单元组成。
设计中的软件单元与实现它们的代码和数据实体(子程序、过程、数据库、数据文件等)之间,或与包含这些实体的计算机文件之间并不一定有一一对应的关系。
3.1.7 可重用软件产品为一种用途开发但还具有其他用途的软件产品,或者专门为了用于多个项目或一个项目的多种任务而开发的软件产品。
例如商业现货软件产品、需方提供的软件产品、重用库中的软件产品和开发方现有的软件产品。
每一次使用可以包括这些软件产品的全部或部分,也可以包括它的修改部分。
注:可重用软件产品可以是任何软件产品(例如需求、体系结构等),而不只限于软件本身。
3.1.8 软件配置在软件生存周期各阶段产生的各种形式和各种版本的文档、程序、数据及环境的集合。
3.1.9 软件配置项满足最终使用要求并由需方指定进行单独配置管理的软件集合。
计算机软件配置项的选择基于对下列因素的权衡:软件功能、规模、宿主机或目标计算机、开发方、保障方案、重用计划、关键性、接口考虑、需要单独编写文档和控制、以及其他因素。
3.1.10 软件配置管理为保证软件配置项的完整性和正确性,在整个软件生存周期内应用配置管理的过程。
3.1.11 软件保障为确保软件安装后能继续按既定要求运行,而且在系统的运行中能起到作用而发生的一系列活动。
软件保障包括软件维护、用户支持和有关活动。
3.1.10 软件可靠性在规定的条件下和规定的时间内,软件完成规定的功能且不引起系统失效的能力。
3.1.11 软件安全性软件不会引发影响人身安全的事故的能力。
3.1.12 软件可维护性软件被校正、被修改、被完善的容易程度。
3.1.13 软件成份计算机软件配置项中各不相同的部分。
它可进一步分解为其他计算机软件成份或计算机软件单元。
3.1.14 软件关键成份其错误可能导致系统发生危险,或使系统失去控制的软件成份。
软件关键成份包括:a)中断处理的软件成份(指含此功能的最小软件成份,下同);b)所产生信号能直接影响硬件部件或能对硬件进行自动控制的软件成份;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 support manual 固件保障手册;HWCI-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 软件配置管理计划;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 summary 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 specification 软件需求规格说明;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-software version description 软件版本说明。
4 职责4.1 研发部是本程序的主管部门,负责组织软件的开发、评审和文档的审核。
4.2 研发部软件组负责软件开发全过程的组织、协调、实施工作,包括进行开发的策划、确定开发的组织和技术的接口、输入、输出、验证、评审、设计开发的更改和确认等,软件设计人员负责软件的设计和开发,负责编制软件文档。
4.3 项目经理负责项目分解、指标分配及软件各部分之间、软件与硬件之间的协调,明确关键性软件成份,制定可靠性、安全性及质量控制措施,确保可靠性、安全性要求的全面落实。
4.4 总工程师负责审核软件开发输出文件和成果;4.5 总经理负责批准项目可行性研究报告、项目立项报告。
4.6 质量管理部负责组织对软件开发过程进行监督。
4.7 综合管理部档案组负责军用软件“三库”的建立和维护。
5 要求5.1 软件采用软件工程化的研制方式,通过对软件需求分析、概要设计、详细设计、编码实现、文档编写、调试、测试、联调、评审与验收、交付使用等全过程的管理与控制,提高软件的可靠性和安全性,保障软件质量。
5.2 研发部软件组应统筹安排,确保军用软件的需求分析与软件实现、软件设计与软件实现、软件实现与软件测试施行“双岗制”。
5.3 软件关键级别按软件失效可能造成危险的严重程度,将软件的软件关键级别划分为四级,见表1。
表1软件关键级别划分5.4 软件规模按源码行数或指令条数将软件规模划分为五类,见表2。
表2软件规模划分5.5 可靠性、安全性一般要求软件的可靠性、安全性一般要求为:a)对于A级和B级软件,必须明确其冗余和容错要求,并进行多版本程序设计。
限于条件不能进行多版本程序设计时,应采取其他技术措施以确保安全性及可靠性,并将情况报告指挥系统;b)各软件成份的失效容限见表3;c)软件可靠性、安全性需求中必须包括对各种不期望事件加以响应的要求;d)关键软件成份多为实时嵌入式软件成份,对此类成份须确保其实时性,应通过采用适当的采样周期和适当的软件工作时序来保证其可靠性和安全性;e)软件应根据有关要求,进行软件FMEA和软件安全性分析。
表3不同软件成份的故障容限要求5.6 安全关键软件成份的设计5.6.1 不安全情况的检测a)设计时应重点考虑使软件能检测出系统中潜在的不安全情况和状态,并能将系统恢复到某个安全状态;b)软件应提醒操作人员注意到已检测到的异常情况、应采取的措施,以及安全的系统配置和状态。
5.6.2 接口软件a)接口软件必须能够识别合法的及非法的外部中断,并能从错误的外部中断事件中恢复到安全状态;b)接口软件必须考虑检测外部硬件输入或输出设备失效,并在发生失效时恢复到安全状态;c)必须采用可靠的校验方法保证数据传输的正确性。