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++预处理器 预处理器是一些指令,它将指示编译器在实际编译之前需要完成的预处理.预处理必须要在对程序进行词法与语义分析.代码生成与优化等通常的 ...
随机推荐
- 学习安卓开发[2] - 在Activity中托管Fragment
目录 在上一篇学习安卓开发[1]-程序结构.Activity生命周期及页面通信中,学习了Activity的一些基础应用,基于这些知识,可以构建一些简单的APP了,但这还远远不够,本节会学习如何使用Ac ...
- kylin简单优化cube
优化Cube 层次结构 理论上,对于N维,你最终会得到2 ^ N维组合.但是对于某些维度组,不需要创建这么多组合.例如,如果您有三个维度:洲,国家,城市(在层次结构中,“更大”维度首先出现).在深入分 ...
- Boosting Static Representation Robustness for Binary Clone Search against Code Obfuscation and Compiler Optimization
用于理解恶意软件的内部工作原理,并发现系统中的漏洞,逆向工程是一种耗费人工的却很重要的技术.汇编克隆搜索引擎是通过识别那些重复的或者已知的部件来帮助逆向工程师的工作,要想设计健壮的克隆搜索引擎是一项挑 ...
- LeetCode算法题-Trim a Binary Search Tree(Java实现)
这是悦乐书的第284次更新,第301篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第152题(顺位题号是669).给定二叉搜索树以及L和R的最低和最高边界,修剪树以使其所 ...
- 安装mysql的踩坑之旅
近期的一个项目要求用mysql数据库,正好系统重装了,复习下mysql的安装,哪成想是踩了无数坑啊! 要安装首先自然是火速进官网下个安装包(下载地址https://dev.mysql.com/down ...
- 【实战代码】PHP实现读取一个1G的文件大小
本文地址:http://www.cnblogs.com/aiweixiao/p/7535351.html 欢迎关注我的微信公众号哈 “ 程序员的文娱情怀” http://t.cn/RotyZtu [背 ...
- Python简单的多线程demo:常用写法
简单多线程实现:启动50个线程,并计算执行时间. import threading import time def run(n): time.sleep(3) print("task:&qu ...
- OpenResty:通过 Lua 扩展 NGINX 实现的可伸缩的 Web 平台
关于 http://openresty.org/cn/about.html 这个开源 Web 平台主要由章亦春(agentzh)维护.在 2011 年之前曾由淘宝网赞助,在后来的 2012 ~ 201 ...
- nohup ./startWebLogic.sh >out.log 2>&1 & 解析
在启动weblogic的时候我们经常看到如下的命令: nohup ./startWebLogic.sh >out.log 2>&1 & 从09年开始用weblogic到现在 ...
- python之常用模块
python 常用模块 之 (subprocess模块.logging模块.re模块) python 常用模块 之 (序列化模块.XML模块.configparse模块.hashlib模块) pyth ...