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。
而对于研发来说,光有以上这些定义是并非足够,本章节的后续部分将分别做出大体介绍。
A.02.01—功能定义—一般定义的更多相关文章
- 功能要求:定义一个两行三列的二维数组 names 并赋值,使用二重循环输出二维数组中的元素。
功能要求:定义一个两行三列的二维数组 names 并赋值,使用二重循环输出二维数组中的元素 names={{"tom","jack","mike&qu ...
- http://www.cnblogs.com/draem0507/archive/2013/02/01/2889317.html
http://www.cnblogs.com/draem0507/archive/2013/02/01/2889317.html
- oracle问题 《经由直接路径由 EXPORT:V10.02.01 创建的导出文件 IMP-00013: 只有 DBA 才能导入由其他 DBA 导出的文件》
问题: 经由直接路径由 EXPORT:V10.02.01 创建的导出文件 : 只有 DBA 才能导入由其他 DBA 导出的文件 解决方法:用sys 登录,给当前用户授权,授权语句:grant dba ...
- 2016.02.01日,UdoOS系统项目正式开通了
2016.02.01日,UdoOS系统项目正式开通了,源代码即将开放 Copyright (c) 2016
- 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: ...
- c 语言中宏定义和定义全局变量的区别
宏定义和定义全局变量的区别: 1 作用时间不同. 宏定义在编译期间即会使用并替换,而全局变量要到运行时才可以. 2 本质类型不同. 宏定义的只是一段字符,在编译的时候被替换到引用的位置.在运行中是没有 ...
- http://www.cnblogs.com/langtianya/archive/2013/02/01/2889682.html
http://www.cnblogs.com/langtianya/archive/2013/02/01/2889682.html
- A.02.00—功能定义与唤醒—起始
第一章节主要讲的是模块普通的输入输出,精力及能力有限,仅介绍了一些较为普通的信号,另一些信号留待想了解的人自我探索. 第二章节打算介绍的是功能定义和休眠唤醒相关的内容.也是一些基础内容,对于比较少见或 ...
- C++面试常见问题——01预处理与宏定义
C++面试常见问题--------01预编译和宏的使用 C++预处理器 预处理器是一些指令,它将指示编译器在实际编译之前需要完成的预处理.预处理必须要在对程序进行词法与语义分析.代码生成与优化等通常的 ...
随机推荐
- 从Linux上传到Git过程
1.1 实验内容 本次课程讲的是在实验楼的在线环境中,如何使用 Github 去管理在在线环境中使用的代码.配置.资源等实验相关文件,怎样去添加.同步和下拉在远程仓库中的实验文件,以此来维持自身的实验 ...
- Android 异步框架 RxJava2
观察者模式的概念 RxJava是android的异步框架,官方介绍是可观测的序列,组成异步基于事件程序的库.特点是观察者模式,基于事件流的链式调用,随着异步操作调度过程复杂的情况下,程序逻辑也变得越来 ...
- (办公)MojoExecutionException
MojoExecutionException : mavan打包错误. 通过以下命令解决:mvn clean install (新改的内容生效)
- 免费试用MongoDB云数据库 (MongoDB Atlas)教程
众所周知,MongoDB包括社区版和企业版,但不止如此,MongoDB公司还有MongoDB Atlas:Database as a Service. MongoDB Atlas delivers t ...
- PJSUA2开发文档--第十章 媒体质量(MEDIA QUALITY)
10 媒体质量(Media Quality) 10.1 音频质量 如果遇到音频质量问题,可尝试以下步骤: 遵循指南:使用pjsystest测试声音设备. 识别声音问题并使用以下步骤进行故障排除:检查声 ...
- C#List<object>排序
//定义一个集合 var list = new List<Object>();//这里的Object为对象类型 //假设list已经有数据存进去,根据对象的某个字段升序或降序 var or ...
- SQL SERVER 执行动态SQL EXEC
:普通SQL语句可以用Exec执行 eg: Select * from tableName Exec('select * from tableName') Exec sp_executesql N's ...
- 委托学习总结(一)浅谈对C#委托理解
初入社会,对于我这个初级程序员来说要学的东西实在太多了,公司最近在做一个winform框架开发的桌面应用程序,众所周知,winform也好,webform也好,里面随处可见的事件驱动,有事件,当然也少 ...
- windows下查看端口被占用及处理
一.通过命令行查找端口被谁占用 1.window+R组合键,调出命令窗口 2.输入命令:netstat -ano,列出所有端口的情况.在列表中我们观察被占用的端口 3.查看被占用端口对应的PID,输入 ...
- LeetCode算法题-Reshape the Matrix(Java实现)
这是悦乐书的第264次更新,第277篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第131题(顺位题号是566).在MATLAB中,有一个非常有用的函数叫做'reshap ...