系统需求文档怎么写

1.如何编写优质的需求文档

需求文档被用来定义开发任务,协调大规模的研发计划。

对于最终的产品,需求文档扮演着开发者行为和消费者行为之间沟通纽带的角色。当需求文档书写正确的时候,便可以发挥巨大的作用。

然而,如果你在嵌入式开发领域工作的时间足够长,你就会很快发现,这个领域里不合格的需求文档实在是太多了。当你尝试对这些不合格的文档进行修复时,你又会很快发现,书写正确的需求文档绝非易事。

在这里,我们提出一些建议,希望能将书写正确需求文档这件事情变得清晰一些。 从较高的层次来看,书写需求文档的目的就是要提供对所需行为的有效描述。

该所需行为可用一个黑盒系统描述,并需要注意以下细节:工程师可以根据系统所说进行实现测试人员,在不与开发人员沟通的前提下,可以利用满足硬件要求的设备验证需求。最终产生的成果满足终端用户的要求。

黑盒测试 书写优质的需求文档: 最基本的原则是:需求文档应当尽量简洁,用最易懂的描述来约束系统的预期行为。如果你遵循这个原则,剩下的那些重要因素(可测试性、避免过度设计等等)都将变得顺理成章。

列举一下更详细的规则,通常会更有帮助。下面是书写优质需求文档需要遵循的步骤: 1. 定义系统的边界。

这也是黑盒系统所必要的。 2. 定义输入和输出。

这也应当是你看待内部系统的唯一方式。 3. 用最易懂的方式描述系统的预期行为 4. 除了输入和输出之外,你的需求是不是还涉及了系统的其他部分?如果是,那么你的需求就设计过度了。

重构需求,让它变得精简。 5. 你的需求是不是过于模棱两可?加入更多的限定规范。

注意:有些模棱两可的描述并不是坏事,假设描述所包含的所有情况均可被接受,且测试的时候不需要附加的信息加以说明,那么就没关系。你不需要(也不应该)把系统的行为限制得过头。

6. 你的需求是否可测试?(这里指的是黑盒测试)如果不是,你最好返回到第 4 步。如果这种返工发生很多次,那就说明你的黑盒无法正确描述系统,或者你的测试工具不够优秀。

无论是哪种情况,不可测试的需求文档几乎就是一文不值的。 7. 你的需求文档通俗易懂么?如果你的需求文档非常难以读懂,那就说明你写得不好,只能给那些照着你的需求负责实施的人带来无尽的痛苦。

如果是这样,回到第 3 步。 8. 你是不是真的做到了第 4 步?你确认么?再检查一下。

例子:下面的例子,让我们描述一个自制的嵌入式设备的需求,这个设备能从弯曲传感器上读取弯曲的频率,并根据不同的频率值让一个 LED 闪烁。 显然,我们已经完成了步骤 2 和步骤 3 了! · 输入:从弯曲传感器读取数据。

· 输出:LED。 但是我们跳过了步骤1: · 在这个例子里,我们将把黑盒画到设备的微处理器上。

让我们继续往下进行, 第四步:除了输入和输出以外,我们是否还涉及了其他的系统边界? · 微处理器并不关心从弯曲传感器读取什么样的数据,从处理器的角度来看,仅需要做的是测量 ADC 脚的电压而已。 · LED 仅由数字输出脚控制。

下面,让我们来修正这个问题: 第0 版本的需求: 1. 该设备应当根据 ADC 脚的不同频率的电压,来切换数字输出端的状态。 第五步: 需求写模棱两可么? 恩,我们的描述太模棱两可了.输出端切换的速度要多快? 跟电压的关系如何? 输入电压的范围是多少? 让我们加一些更细节的描述吧: 版本0.1 1. 输出端应当由一个自由活动的定时器进行控制 2. 自由运行定时器的频率最高不得高于每秒 10 次,不得低于每秒 1 次. 3. 自由运行定时器的触发频率应当在最高和最低值之间呈线性变化,并与 ADC 端的输入电压成正比. 4. ADC 端的输入电压应当每 100 毫秒读取一次 5. 当 ADC 端的输入电压端被读入时,控制自由运行定时器周期时间的注册值也应当被更新. 6. ADC 输入端的电压有效范围应当被控制在 0 到 1 伏之间. 第六步: 你的需求是可测试的么? · 首先,自由运行的定时器在这里不需要提及. 因为对它基本上无法进行黑盒测试,它既不是输入也不是输出,而且跟这两者也没有什么联系。

让我们用“数字输出端变化的频率应控制在每秒 10 次和每秒 1 次之间”来代替自由运行定时器的测试标准。 · 对于上述的第四条需求,可能需要一些小修改才能作为测试标准。

让我们用“ADC 端的输入电压应当保证在每 100 毫秒内至少被读取一次”来加以描述,这样的描述能让我们预期的测试行为显得更加通俗易懂。 · 需求的第五条也需要一些小修改。

我们如何才能检测电压的输出范围是在 0 到 1 伏之间呢? 总不能给个 2 伏的电压,然后看看元器件有没有被烧毁吧? 那么,说“检验系统在 ADC 端输入电压为 1 到 2 伏之间的时候,工作是否正常”,这样就检验就容易多了。需求描述应当是“正面”的,应当描述设备“应该”的行为,而不是设备“不应该”的行为。

否则的话,测试将会无法进行。 版本0.2 1. 数字输出端的切换频率应当控制在每秒 10 次到每秒 1 次之间 2. 数字输出端的切换频率应当在最大值和最小值之间呈线性变化,并与 ADC 端的输入电压成正比 3. ADC 端的输入电压应当保证在每 100 毫秒内至少被读取一次 4. 检验当 ADC 端的输入电压范围在 0 到 1 伏之。

2.做系统的文档怎么写

详细设计文档规范

1.0概述

这部分提供对整个设计文档的概述。描述了所有数据,结构,接口和软件构件级别的设计。

1.1 目标和对象

描述软件对象的所有目标。

1.2 陈述范围

软件描述。主要输入,过程功能,输出的描述,不考虑详细细节。

1.3 软件内容

软件被置于商业或者产品线中,讨论相关的战略问题。目的是让读者能够对“宏图”有所了解。

1.4 主要系统参数

任何商务软件或者产品线都包含软件规定、设计、实现和测试的说明和规范。

2.0 数据设计

描述所有数据结构包括内部变量,全局变量和临时数据结构。

2.1 内部软件数据结构

描述软件内部的构件之间的数据传输的结构。

2.2 全局数据结构

描述主要部分的数据结构。

2.3 临时数据结构

为临时应用而生成的文件的描述。

2.4 数据库描述

作为应用程序的一部分,描述数据库结构。

3.0 结构化和构件级别设计

描述程序结构。

3.1 程序结构

详细描述应用程序所选定的程序结构。

3.1.1 结构图

图形化描述结构。

3.1.2 选择性

讨论其它可供考虑的结构。选定3.1.1中结构类型的原因。

3.2 构件描述

详细描述结构中的每个软件构件。

3.2.1 构件过程叙述(PSPEC)

描述构件的过程。

3.2.2 构件接口描述

详细描述构件的输入和输出。

3.2.3 构件执行细节

每个构件的详细演算描述。

3.2.3.1 接口描述

3.2.3.2 演算模型(e.g., PDL)

3.2.3.3 规范/限制

]3.2.3.4 本地数据结构

3.2.3.5 在3.2.3.6设计中包含的执行结果

3.3 软件接口描述

软件对外界的接口描述

3.3.1机器对外接口

与其他机器或者设备的接口描述。

3.3.2系统对外接口

对其它系统、产品和网络的接口描述。

3.3.3与人的接口

概述软件与任何人的界面。

4.0 用户界面设计

描述软件的用户界面设计。

4.1 描述用户界面

详细描述用户界面,包括屏幕显示图标、图片或者类型。

4.1.1 屏幕图片

从用户角度描述界面。

4.1.2 对象和操作

所有屏幕对象和操作的定义。

4.2 界面设计规范

用户界面的设计和实现的规范和标准。

4.3 可见构件

实现的GUI可见构件说明。

4.4 UIDS描述

用户界面开发系统描述。

5.0约束、限制和系统参数

会影响软件的规格说明、设计和实现的特殊事件。

6.0测试标准

测试策略和预备测试用例描述。

6.1 测试的类别

规定实施测试的类别,包括尽量详细的描述。这里是针对黑盒测试现象的描述。

6.2期待软件反馈

测试期待的结果描述。

6.3执行界线

特殊执行需要的说明。

6.4 重要构件确认

决定性构件或者需要特殊注意的构件的测试确认。

7.0附录

设计说明的补充信息。

7.1系统可跟踪矩阵

一个定期回归系统规格跟踪软件需求的矩阵。

7.2 产品战略

如果规格说明书是为一个产品设计的,描述相关的产品战略。

7.3 使用分析算法

描述所有分析活动所使用到的分析算法。

7.4 补充信息 (如果有需要特别说明的)

3.来,讨论一下怎么写需求文档吧

用例和UP的讨论

UML 中各种图形的重要性排行

先谈谈我的想法。

1、功能需求;

2、非功能需求或技术需求;

我一般把功能需求划分为几个部分:

a、业务过程;

b、业务规则;

c、业务数据;

非功能需求(技术需求)我就不多说了,大致就是可用性,可靠性,性能,可支持性等等。

1、用例规格说明描述业务过程;

2、业务规则文档描述业务规则;

3、术语表描述业务数据;

4、补充规格说明描述非功能需求(技术需求);

UP的做法还是很有道理的。这体现了两个原则:

1、分离关注点(每个文档描述相对独立的领域);

2、减少重复(很多用例都会引用相同的业务规则及业务数据);

这样便能够尽可能的使文档结构清晰,易阅读,易理解。也便于跟踪和维护。

但另一方面由于将不同的领域分离到不同文件的做法也使得可阅读性有所降低。比如用例规格说明中的业务过程描述时常需要引用业务规则文档中的业务规则及术语表中的业务数据。由于不是很方便在各个文档之间导航,你可能需要打开多个文档进行交叉阅读。这是比较麻烦的,特别是对于用户来说。

而且UP中每个用例都单独作为一个文件存在,这可能是为了便于跟踪及管理的缘故吧。但正如上所述,文件多了看着就觉得不爽了。我觉得完全可以将用例合并到一个文档中。或者几个相对独立的文档中(比如根据子系统划分)。

易理解,

易沟通,

易确认,

易跟踪,

易测试,

易验收

我想我们都应该以这个为目标来进行思考。

推荐链接Java开发新方式:专注UI,快速开发!

4.需求文档怎么写

文档需要体现:

1,电路板的尺寸规格,比如材质要求、面积、形状、板厚、最小线宽、最小线距、单面制板还是双面或是多层制板、定位孔位置及定位孔尺寸等等;

2,元器件封装,普通插式元件还是贴片封装元件,是0805封装还是0603或是。。;

3,接口形式。是焊盘还是插座、用什么规格的插座;

4,有什么特殊的接地要求。

以上这些是最起码的文档内容,没有这些内容指导就不好做事啦。还有更复杂的要求就暂免了,如EMI、EMS等等。

系统需求文档怎么写

转载请注明出处育才学习网 » 系统需求文档怎么写

知识

伤感英文单词怎么写

阅读(296)

本文主要为您介绍伤感英文单词怎么写,内容包括英语翻译伤心、心碎、痛苦、幸福、死心.,悲伤用英文怎么写,“伤心”的英语单词怎么写。悲伤的英文:sadness 或sorrow1.sadnessn. sad的变形sad [sæd]adj.伤心的,难过的可悲的,令人痛心的

知识

马夹的英语单词怎么写

阅读(284)

本文主要为您介绍马夹的英语单词怎么写,内容包括"背心"的英语单词怎么写,背心的英文单词怎么写,背心的英文怎么说。背心的英文是vest,读音是:英 [vest],美 [vest]。 n. 背心;内衣;汗衫;马甲vt. 授予;使穿衣vi. 穿衣服;(权

知识

更多造句一年级怎么写

阅读(458)

本文主要为您介绍更多造句一年级怎么写,内容包括一年级用最怎么造句,小学一年级造句“从”字,更造句一年级。不想用过于修饰的言语来一段开场白,从来就没有过,因为我喜欢写最最真实的自己!2、活得轻松,任何事都作一个最好的打算和最坏的打算。3

知识

公交站英文怎么写

阅读(246)

本文主要为您介绍公交站英文怎么写,内容包括公交车的英文怎么写,公交公司英文怎么写,站的英文怎么写。busn. 公共汽车[ 复数 buses ]短语:by bus 乘公共汽车 ; 班车 ; 坐公交车 ; 乘公交车Daewoo Bus 大

知识

公司党支部名称怎么写

阅读(6597)

本文主要为您介绍公司党支部名称怎么写,内容包括党支部全称如何写,请问公司党支部名称一般是怎么样的我是大四毕业生,需要转党组,如何确定党支部名称。如果是7人以上的支部成立支部委员会名称为“中共+单位名称+支部委员会”;如果是7人以下

知识

方便起见英文怎么写

阅读(245)

本文主要为您介绍方便起见英文怎么写,内容包括"为了方便起见"英文翻译六个词,方便英文怎么写,方便英文单词怎么写。不知道你说的是哪个方便本意方便:百easy(偏向简单的意思度)convenient(最正统的版方便)expedient(偏向权益,快的意

知识

抵消挂科申请书怎么写

阅读(301)

本文主要为您介绍抵消挂科申请书怎么写,内容包括补考申请书怎么写,重修申请书怎么写,急求救,大学留级申请书怎么写。XX级重修申请书 时间:XXXX-XX-XX尊敬的老师: 本人经过补考和重修,至今仍未修满毕业所需学分,现申请以下科目重修: _____

知识

abc英语怎么样写

阅读(221)

本文主要为您介绍abc英语怎么样写,内容包括ABC大写英语怎么写,26个英语单词怎么写ABCD,英文字母ABC缩写的含义。大写字母2113:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z小写字母:a b

知识

bang四声bang怎么写

阅读(353)

本文主要为您介绍bang四声bang怎么写,内容包括yang第一声bang第四声怎么写,wei第一声bang第四声拼音写汉字,bangbang面的bang怎样写。写法1 1点撩上天,黄河两道湾,8字大张口,言字往里走;你1扭,我1扭;你1长,我1长;当中夹个马大王,心字底,月字旁,留个勾

知识

dress音标怎么写

阅读(222)

本文主要为您介绍dress音标怎么写,内容包括dress的音标是什么,dress的音标怎么拼,dress的音标是什么。dress英 [dres] 美 [drɛs] n. 衣服; 装饰; 连衣裙; 礼服vt.& vi. 给…穿衣; 穿着; 打扮;adj.

知识

e4a自适应函数怎么写

阅读(205)

本文主要为您介绍e4a自适应函数怎么写,内容包括e4a写的手机应用,怎么让它自动适应手机屏幕,〈e4a〉亲怎么自定函数,android系统如何自适应屏幕大小。自适应滤波器是能够根据输入信号自动调整性能进行数字信号处理的数字滤波器。作为对比,非

知识

js中怎么写for循环

阅读(204)

本文主要为您介绍js中怎么写for循环,内容包括js数组的for循环到底应该怎么写,js中for循环用法,js数组的for循环到底应该怎么写。然后来看看今天我开始怀疑哪个权威哦家伙了。。。 自从开始学编程,自从接触到数组这个东西,我就一直在不同的地

知识

全学科阅读总结怎么写

阅读(210)

本文主要为您介绍全学科阅读总结怎么写,内容包括阅读总结怎么写,谁能帮我综合学科教学总结怎么写,读书总结怎么写。时光飞逝,转眼一学期又已过去,在这一学期里,我在课程标准的指导下,以学生为本,强化健康第一的指导思想,以增强学生体质为宗旨,通过

知识

入字的笔画顺序怎么写

阅读(226)

本文主要为您介绍入字的笔画顺序怎么写,内容包括入字的笔顺怎么写,入字的笔画顺序怎么写,入字笔画顺序怎么写。

知识

人力需求报告怎么写

阅读(235)

本文主要为您介绍人力需求报告怎么写,内容包括人员需求报告怎么写,人才需求调查报告怎么写,员工的需求怎么写。这是一个人员需求预测的报告模板,你可以参考一下,其中的一些表格复制不过来,没有显示表格的形式,但是不影响框架的体现。公司年度人

知识

写的文档没保存怎么办

阅读(222)

本文主要为您介绍写的文档没保存怎么办,内容包括文件未保存怎么恢复,word文档没保存就把word关了,怎么恢复,word文档没保存怎么办详细。具体操作步骤如下:需要准备的材料有:电脑、Word2010首先打开Word,点击左上角“文件”选项。

知识

论文的系统设计怎么写

阅读(185)

本文主要为您介绍论文的系统设计怎么写,内容包括论文怎么进行设计,每段该怎么写,毕业设计怎么写,毕业设计要怎么写啊。论文 包括:封面、中文摘要、英文摘要、目录、正文、致谢、参考文献及附录八部分。封面由学校统一格式,各学院自己印制,按要

知识

写api接口文档怎么写

阅读(234)

本文主要为您介绍写api接口文档怎么写,内容包括api接口文件怎么写,如何优雅的“编写”api接口文档,什么是接口文档,如何写接口,有什么规范。1) 编写不方便。每次新增借口的时候都要复制上一个接口,然后再进行修改,一些相同的部分无法复用,接口

知识

java项目文档怎么写

阅读(206)

本文主要为您介绍java项目文档怎么写,内容包括java项目需求文档要怎么写,java项目做完怎么写说明文档,在java项目里面写说明文档,用什么格式的呀。需求文档一般分两类需求调研报告需求分析报告调研报告:是记录的用户的原始需求,基本上可以算

知识

创业需求怎么写

阅读(224)

本文主要为您介绍创业需求怎么写,内容包括职业个人需求怎么写,大学生创业大赛资金需求怎么写,创业设计怎么写具体要求是什么。不想当将军的兵不是好兵,即使当不了将军也要能够从将军的角度去思考和解决问题,这样才能做一个更好的有可能成为将

知识

玄幻系统小说怎么写

阅读(194)

本文主要为您介绍玄幻系统小说怎么写,内容包括玄幻小说怎么写,怎么写玄幻小说,玄幻小说该如何写。因为玄幻小说一般都是千篇一律差不多的,先不要又想着什么创新(当然,个别除外),想好是用什么斗气还是魔法还是什么玄气,又有什么级别,如:玄

知识

用例文档怎么写

阅读(218)

本文主要为您介绍用例文档怎么写,内容包括软件测试用例文档怎么写,如何编写用例文档,测试用例是按照哪些文档写的。原发布者:xuzikun76RUP模版------《测试计划》测试计划版本[注:以下提供的模板用于RationalUnifiedProc

[/e:loop]