软件需求规范是系统开发中错误的重要来源(NUREG-0800,USNRC,1997c,第 A-7 页)。涉及软件的所有事故中,很大一部分(如果不是大多数)都可以归因于需求缺陷,例如对系统运行方式的不完整或错误假设。缺失、不准确或不完整的需求不仅会导致软件开发中的缺陷,还会阻止在验证和确认期间检测到这些缺陷。例如,功能测试基于需求;因此不会检测到缺失或不准确的需求。结构测试基于开发的代码;未说明的需求不太可能实现,因此不会被检测到。集成测试有时会检测到遗漏或不准确的信息,但更常见的是,只有通过实际操作中的故障,这些缺陷才会显现出来。
在过去的 25 年中,人们一再认识到软件需求是一个真正的问题。在他们早期的实证研究中,Bell 和 Thayer 发现,不充分、不一致、不完整或模糊的需求很多,对最终软件的质量有重大影响 [Bel76]。他们注意到了不同类型的项目存在这种情况,并得出结论:“系统的需求不会自然产生;相反,它们需要被设计并不断进行审查和修订”。Boehm 估计,后期纠正需求错误的成本可能是在需求工程过程中纠正错误的 200 倍 [Boe81]。在关于软件工程的本质和意外的经典论文中,Brooks 指出:“构建软件系统最困难的部分是决定要构建什么……因此,软件构建者为客户执行的最重要的功能是迭代提取和细化
2. 讨论。需要进行一致性检查以确定申请人是否符合 14 CFR § 21.33(b) 以及产品和组件是否符合已批准的型号设计。对于软件,型号设计至少包括软件需求数据、设计说明、源代码、可执行目标代码、软件配置索引和软件完成摘要(参见 RTCA/DO-178B,第 9.4 节)。申请人是否符合软件型号设计主要通过整个软件开发生命周期中的 ASE 或 DER(如果获得授权)审查来评估;详细信息在本命令第 2 章中介绍。但是,在某些情况下,必须在颁发 TC、STC、ATC、ASTC 或 TSO 授权(具体而言,测试验收和安装)之前审查和记录软件的状态。因此,有两种方法可以实现这一点:(1)软件部件一致性检查,和(2)软件安装一致性检查。
2.讨论。需要进行一致性检查以确定申请人是否符合 14 CFR § 21.33(b) 以及产品和组件是否符合已批准的型号设计。对于软件,型号设计至少包括软件需求数据、设计描述、源代码、可执行目标代码、软件配置索引和软件完成摘要(参见 RTCA/DO-178B,第 9.4 节)。申请人是否符合软件型号设计主要通过整个软件开发生命周期中的 ASE 或 DER(如果获得授权)审查来评估;其详细信息在本命令的第 2 章中介绍。但是,在某些情况下,必须在颁发 TC、STC、ATC、ASTC 或 TSO 授权(具体而言,测试验收和安装)之前审查和记录软件的状态。因此,实现此目的有两种手段:(1)软件部件一致性检查,以及(2)软件安装一致性检查。
eae是一个在线,开源的交互式平台,将有关能源供求的地理空间数据集结合起来,以及特定于位置的指标,以创建自定义的多标准分析,以识别和优先确定可以在哪里扩展能源访问以及可以将社会经济发展与穷人的需求联系起来。它旨在补充能源规划师的成本优化计划工具,从而自下而上能源需求和负担能力。5,它可以使能源计划实体,清洁能源企业家,捐助者和发展组织能够确定能源访问干预措施的高优先级领域,并确定可以最大程度地影响能源项目的资金。6它也充当动态的地理信息系统,该系统可以以轻松且具有成本效益的方式更好地存储,处理,管理,管理和更新数据,并且还可以作为最新信息的数据存储库来降低数据提供者和用户的软件需求和数据交易成本。7
人工智能技术越来越多地被应用于软件测试,以提高自动化程度和效率。Eggplant AI 和 Test.ai 等工具利用人工智能来执行传统上由人类测试人员完成的任务。这些工具使用人工智能算法来生成测试用例、执行测试和分析结果,从而大大减少了测试所需的时间和精力。人工智能可以自动执行重复和平凡的测试任务,让测试人员专注于软件更复杂和更关键的方面。此外,人工智能可以通过分析历史数据和识别模式来预测潜在的故障区域,从而提高测试的准确性和有效性 (Mulla and Jayakumar, 2021)。此外,自然语言处理 (NLP) 等人工智能技术可用于理解和生成用通俗易懂的语言编写的软件需求的测试用例。这使得测试生成更加直观和高效,减少了非技术利益相关者参与测试过程的障碍 (Amershi et al., 2019)。
APAR 确实是一种最先进的武器传感器系统 - 但对于 Thales Canada 系统部门来说,它的意义远不止于此:这是一个展示我们软件开发能力的机会。很少有软件的要求比 APAR 更复杂或更苛刻,因此我们交付 APAR 的能力超出了所有人的预期,表明我们可以满足任何软件需求。无论是构建指挥、控制和通信软件,还是开发实时武器系统软件,我们的团队都有人员和“专业知识”来交付。与我们签约开发和集成复杂系统的客户可以放心,我们的软件团队将在其中融入最优质的软件。构建自己的任务关键型武器系统、先进通信系统或其他要求苛刻的系统的客户可以依靠 Thales Canada 系统部门提供高效生产的高质量软件,这些软件融合了超过 15 年的系统集成经验所获得的所有增值领域专业知识。
图 1 航空电子系统开发法规 ............................................................................................................. - 5 - 图 2 DO-178C 文档结构 [34] .............................................................................................. - 18 - 图 3 OSEE 的动作跟踪系统 [70] ............................................................................................. - 31 - 图 4 手术辅助工作站(SAW)架构 [71] ............................................................................................. - 32 - 图 5 OSEE - SAW 项目的产品分解 [71] ............................................................................. - 33 - 图 6 OSEE - 工件 [72] ............................................................................................................. - 34 - 图 7 OSEE - 要求 [71] ............................................................................................................. - 35 - 图 8 OSEE - Word 格式的机器人 API 要求 [71] ............................................................................. - 36 - 图 9 OSEE - TOPCASED 信息跟踪器 [71] ............................................................................................. - 37 - 图 10 OSEE – 测试管理 [71] ........................................................................................... - 38 - 图 11 OSEE – 可追溯性 [72] ......................................................................................... - 39 - 图 12 OSEE – Skywalker [71] .............................................................................................. - 40 - 图 13 OSEE - 团队管理 [71] ............................................................................................. - 41 - 图 14 OSEE - 用户管理 [71] ............................................................................................. - 42 - 图 15 OSEE - 版本控制 [71] ............................................................................................. - 43 - 图 16 OSEE - 发布管理 [71] ............................................................................................. - 44 - 图 17 示例组件图 [73] ............................................................................................. - 47 - 图 18 示例 UML 文件 [73] ............................................................................................. - 48 - 图 19 UML 模型验证 [73] ............................................................................................. - 49 - 图 20 从 UML 模型生成代码[73]................................................................................ - 50 - 图 21 CPPcheck 功能 [45].............................................................................................. - 51 - 图 22 移位负值警告 .................................................................................................... - 51 - 图 23 Cleanflight Github 项目概览 [77]............................................................................. - 52 - 图 24 BlackBox 解码器内部流程 ...................................................................................................... - 53 - 图 25 Blackbox 日志的典型标题 .............................................................................................. - 55 - 图 26 BlackBox 解码器数据 ...................................................................................................... - 56 - 图 27 案例研究图 ................................................................................................................ - 57 - 图 28 软件规划流程 ............................................................................................................. - 61 - 图 29 高级需求 ............................................................................................................. - 62 - 图 30 低级需求 ............................................................................................................. - 63 - 图 31 软件验证和测试 ............................................................................................................. - 67 - 图 32 分支管理 ............................................................................................................. - 68 - 图 33 问题报告系统 ............................................................................................................. - 68 - 图 34 分支变更报告 ............................................................................................................. - 69 - 图 35 版本和发布控制 ............................................................................................................. - 70 - 图 36 创建软件需求 ............................................................................................................. - 83 - 图 37创建高级别需求 ................................................................................................................ - 85 - 图 38 创建团队 ................................................................................................................ - 86 - 图 39 将需求与团队关联 ................................................................................................ - 87 - 图 40 将用户与团队关联 ................................................................................................ - 89 - 图 41 创建分支 ................................................................................................................ - 90 -......................... - 62 - 图 30 低级需求 ............................................................................................................. - 63 - 图 31 软件验证和测试 ............................................................................................................. - 67 - 图 32 分支管理 ............................................................................................................. - 68 - 图 33 问题报告系统 ............................................................................................................. - 68 - 图 34 分支变更报告 ............................................................................................................. - 69 - 图 35 版本和发布控制 ............................................................................................................. - 70 - 图 36 创建软件需求 ............................................................................................................. - 83 - 图 37 创建高级需求 ............................................................................................................. - 85 - 图 38 创建团队 ............................................................................................................. - 86 - 图 39 将需求与团队关联 ............................................................................................. - 87 - 图 40 将用户与团队关联 ............................................................................................. - 89 - 图 41 创建分支 ............................................................................................................. - 90 -......................... - 62 - 图 30 低级需求 ............................................................................................................. - 63 - 图 31 软件验证和测试 ............................................................................................................. - 67 - 图 32 分支管理 ............................................................................................................. - 68 - 图 33 问题报告系统 ............................................................................................................. - 68 - 图 34 分支变更报告 ............................................................................................................. - 69 - 图 35 版本和发布控制 ............................................................................................................. - 70 - 图 36 创建软件需求 ............................................................................................................. - 83 - 图 37 创建高级需求 ............................................................................................................. - 85 - 图 38 创建团队 ............................................................................................................. - 86 - 图 39 将需求与团队关联 ............................................................................................. - 87 - 图 40 将用户与团队关联 ............................................................................................. - 89 - 图 41 创建分支 ............................................................................................................. - 90 -........................................................................... - 89 - 图 41 创建分支 ................................................................................................................ - 90 -........................................................................... - 89 - 图 41 创建分支 ................................................................................................................ - 90 -
[背景] 近年来,用于构建软件解决方案的人工智能 (AI) 组件大幅增加。然而,这些解决方案中的许多都侧重于技术方面,而忽略了关键的以人为本的方面。[目的] 在构建基于 AI 的软件时,在需求工程 (RE) 中纳入以人为本的方面有助于实现更负责任、公正和包容的基于 AI 的软件解决方案。[方法] 在本文中,我们提出了一个基于以人为本的 AI 指南和用户调查开发的新框架,以帮助收集以人为本的基于 AI 的软件需求。我们提供了一个目录来引出这些需求,并提供了一个概念模型来直观地呈现它们。[结果] 该框架应用于案例研究,以引出和模拟提高面向虚拟现实 (VR) 用户的 360° 视频质量的需求。[结论] 我们发现,我们提出的方法有助于项目团队充分了解项目交付的以人为本的需求。此外,该框架有助于了解在基于 AI 的软件工程过程的初始阶段和后期阶段需要捕获哪些需求。