A.02.01—功能定义—一般定义

二章将属于较轻松的内容,整个过程也会主要以文字描述为主。
  最常见的功能定义为按使用操作来定义,如下面的例子是最普通的:
  1)用户将雨刮开关打至高速档,雨刮以高速速率刮刷
  2)在电源档位为OFF时,用户将转向灯开关打到左边,左侧的位置灯亮起
  3)用户踩下刹车踏板,制动灯亮起
  从上述的例子来看,只描述了用户操作方式,却未提到系统信号交互和性能要求,如当用户将雨刮打到高速档时,是一个什么样的开关信号输入到哪里,哪个件控制电机的哪个电源脚,这些也需以技术语言的方式进行描述。不过对于一些体系相关的要求,如TS的要求、CMMI的要求,它们均是要求需求中有类似的用户case的描述的,否则就是一个不合符标准的需求。当然,更完整的需求应该不仅只是上面的一句话,它需包含前提、操作、反应三方面。将1)细化如下。
  a)前提:电源档位为ACC或ON,当前雨刮处于低速刮刷状态
  b)操作:用户将雨刮开关打至高速档
  c)响应:雨刮转至高速档刮刷
  表面上看上述定义貌似清楚了,实则仍不行。因为在前提中“当前雨刮处于低速刮刷状态”是否“手动开关低速、自动雨刮低速、间歇功能低速、洗涤连带刮低速”均包含呢?还是只一种或两种?这些均未说清,同时,如果当前有某些故障呢?或者该功能是否和电压有关,如电压大于16V了还要动作吗?小于9V了还要动作吗?这些情况均是实际中会出现的,如果真正需用于开发,肯定需要说明清晰;而如果只是应对一些体系审核,则审核的人不会细究其中很多的技术细节,他们仅仅只会看有没有类似的描述。
  第二种定义方式为按功能类别,如:本车型的近光灯包含了2种光形模式,即C型近光模式和V级近光模式...这种定义为按类别的定义。
  第三种定义方式为按输入信号的区间分别定义,其更接近技术语言,如以下示例。
  1)当传感器输入信号在0~0.7V之间时,代表传感器尚未被初始化、踏板位置尚未安装好。
  2)当传感器电压在0.7~4.5V时,表明踏板已经安装好并在正常工作区间;此时若已经完成初始化则按第#节要求操作。
  3)当传感器电压在4.5~5V之间,说明踏板安装过高,此时应记录##DTC。

  而对于研发来说,光有以上这些定义是并非足够,本章节的后续部分将分别做出大体介绍。

原文地址:https://www.cnblogs.com/isAndyWu/p/10006782.html

时间: 2024-10-14 17:19:31

A.02.01—功能定义—一般定义的相关文章

关于codehunt Level 02.01 的疑问

codehunt Level 02.01 原题大意如下 : 假设给定下列函数声明 public static int[] Puzzle(int n) { return null; } 要求写出该方法具体函数代码,返回值应为下列类似的值 n 值 1 {0} 2 {0, 1} 3 {0, 1, 2} 我写的如下方法 public static int[] Puzzle(int n) { int[] re = new int[n]; for (int i=0; i<n; i++) re[i] = i;

02.02.01 第1章 简介及基础操作(Power BI商业智能分析)

02.02.01.01 powerbi简介 00:10:59 02.02.01.02 query数据导入 00:03:26 具体操作实例如下: 02.02.01.03导入access数据 00:05:40 方式一:加载 方式二:加载 到 双击用户明细,进入Power Query 02.02.01.04导入csv和Excel和txt文件 00:04:47 02.02.01.05纵向合并数据 00:03:14 02.02.01.06横向合并数据 00:05:11 02.02.01.07数据填充 00

学习进度2020.02.01

学习进度2020.02.01 https://www.runoob.com/w3cnote/android-tutorial-eclipse-adt-sdk-app.html 学习使用Eclipse + ADT + SDK开发Android APP 熟悉了该平台的环境,并简单使用此平台开发了一个简单的APP 原文地址:https://www.cnblogs.com/liurx/p/12250722.html

A.02.00—功能定义与唤醒—起始

第一章节主要讲的是模块普通的输入输出,精力及能力有限,仅介绍了一些较为普通的信号,另一些信号留待想了解的人自我探索. 第二章节打算介绍的是功能定义和休眠唤醒相关的内容.也是一些基础内容,对于比较少见或不具备通用性的内容将不提及. 对于整车厂的电器工程师而言,有很大一部分人均需花很多精力去做功能定义,不过随着时间的推移.经验的积累,这个工作所占的比重会逐步下降,对于传统的系统尤其是如此.然国内的同行门大都还年青,在这方面要达到行业巨头的水平,恐仍需时日(同时也不拒绝任何个人或领导说他本人或者他的团

使用xcode的preprocess功能学习宏定义

C.C++和Objective-C都支持宏定义.宏在编译预处理过程中会进行代码替换.我们可以通过命令行非常容易就能的到一个源文件处理后的结果. #define kMax 100int main(int argc, char * argv[]) {     int a = 100;     if (a < kMax) {         a++;     }     else {         a = 0;     }     return 0;} 编译预处理命令: clang -E main.

C++面试常见问题——01预处理与宏定义

C++面试常见问题--------01预编译和宏的使用 C++预处理器 预处理器是一些指令,它将指示编译器在实际编译之前需要完成的预处理.预处理必须要在对程序进行词法与语义分析.代码生成与优化等通常的编译过程之前进行,经过预处理的程序不再包含之前的预处理命令. 所有的预处理器指令都以#号开始,并且前面不可以出现除了空白字符以外的字符.预处理器指令不是C++指令,所以不需要以 :结尾.所有的C++程序实例都有预处理器指令 #include,这个宏用于把头文件包含在源文件中. 预处理器指令是C++统

最全Pycharm教程(24)——Pycharm编辑器功能之宏定义

1.为什么使用宏 加入你需要重复某种操作很多次,例如选中源码并将其发送到控制台端调试,我们能不能将着一系列操作简化为一步,甚至用一组快捷键来代替呢? 2.准备工作 (1)Pycharm版本为2.7或者更高. (2)与 product documentation中的行为保持一致. (3)创建了一个项目,并向其中添加了至少两个脚本,详见Getting Started和 Debugger 3.录制宏 在主菜单上选择Edit→Macros→Start Macro Recording命令,在窗口底部出现M

02函数-01-函数的定义和调用

1.定义函数 function abs(x) { if (x >= 0) { return x; } else { return -x; } } 如果没有return,函数执行完毕也会返回结果,不过结果是undefined. 由于在JS的世界中,函数也是一个对象,所以上述定义的函数实际上也是一个对象,而函数名则可视为指向该函数的变量. 所以上面的函数定义等价于: var abs = function (x) { if (x >= 0) { return x; } else { return -

Spring Cloud开发实践 - 02 - Eureka服务和接口定义

服务注册 EurekaServer Eureka服务模块只有三个文件, 分别是pom.xml, application.yml 和 EurekaServerApplication.java, 内容如下 pom.xml spring-boot-maven-plugin: 使用 goal=repackage 可以打包出一个包含所有依赖的fat jarmaven-deploy-plugin: skip=true 表示当执行deploy时, 这个模块不会被提交到maven的repository <?xm