介绍需求|系统工程:管理系统的复杂性,第4部分
从系列:系统工程:管理系统的复杂性
布莱恩•道格拉斯
得到一个介绍系统工程的一个重要工具:需求。您将了解每个要求必须有三件事,是什么让一个需求有效。您还将看到如何需求和需求层次结构有助于系统设计过程。
在这个视频中,我想介绍一个非常受欢迎的如果不是臭名昭著的话题在系统工程;要求。现在,像大多数事情在系统工程,有很多套,以及大量的细微差别,不幸的是必须跳过这样的短片。因此,我们不应该把所有你需要知道的,而是我们要讲一些重要的和有趣的想法背后的需求。我们要讨论它们是什么,我们将描述如何成为一名优秀的要求,然后我们将简要说明他们为系统设计过程。我希望你留下来。我是布莱恩,欢迎来到MATLAB技术说话。
有这句话可能是错误的阿尔伯特·爱因斯坦是这样,“1小时给拯救世界,我将会花55分钟定义问题和5分钟解决它。”Even though this is a bit exaggerated, the idea is that time spent understanding and agreeing on what the problem even is can be more useful than the time spent actually solving it because it ensures that you are solving the right problem. And we’ve talked about how the systems engineering process is set up to do just this, to spend a lot of time defining the problem first. And this is where requirements come in. Requirements and their associated constraints and assumptions are a means for quantifying the problem to be solved. They are a way to record and describe what needs to be designed and they provide how project success will be determined.
要求包括三个事情,描述一个特定的需要,一个理由为什么要求是有效的,和验证的系统满足要求。所以,换句话说,我们写下系统需要完成什么,我们要确保我们所写的实际上是值得做的事情,我们确保会有办法证明系统满足它。
我们要进入的每一个细节就有点,但现在我想强调的一些不同类型的需求,这样你可以领略到,我们可能需要征税系统在整个项目。
首先,我们可以写需求,指定需要执行哪些功能系统,并有性能要求描述一个系统必须执行一个函数。和有约束要求覆盖参数系统不应该超过,和环境需求,和人为因素,可靠性,安全,等等。它们覆盖设计的方方面面,必须满足特定需求。
让我们通过一些例子和上一节介绍的烤面包机,我们向你们展示一些不同类型的需求。功能性需求指定功能。我们的烤面包机可能有“烤面包机应将电能转换成热能”。这是要求我们可以验证通过检查烤面包机设计和看到,函数的存在。
性能需求,我们可能会说,烤面包机应能高达100瓦的电能转换成热能。这要求可以通过分析设计,最终通过试验验证一旦烤面包机。
约束条件可能会像烤面包机质量应小于5公斤我们验证通过分析质量预算在设计的早期,然后通过称重检查实际的烤面包机。
这三个要求我们索赔的烤面包机必须满足和一些不同的方法来验证设计将满足这些需求。但不仅仅是描述和验证方法,我们还必须考虑它们的有效性。这些有效的要求,如果是这样,他们每个人的理由是什么?有两个大类,要求必须满足为了它是有效的。首先,要求必须是我们真正想要的征税系统,其次,要求必须是书面的方式传达了正确的信息。让我们深入了解这两种。
我们需要确保我们设计和构建正确的事,涉众真正想要的东西。因此,要求必须指定需求,帮助实现最终目标。例如,一个好的要求烤面包机可能是烤面包机的体积必须小于1立方英尺。这是有效的,因为我们可以跟踪它直接利益相关者需要说它必须符合标准的厨房柜台上。因此,我们自我感觉良好约束的设计尺寸。另一方面,要求说,烤面包机应能同时烤10片面包可能不是有效的。我的意思是,这是一个完全合理的要求,我们可以创建一个完成这个设计,但是我们不想征税设计原因至少有两个。不追溯到满足涉众的需求所以没有更高层次的需求或目标,我们可以指出为什么这个需求是存在的,但更糟的是,它可能与烤面包机体积要求不一致,因为它使我们的能力来满足这一需求。
这是一种愚蠢的例子,但不一致的需求,不幸的是,很容易创建,因为两个人需求可以自己似乎有效,甚至跟踪涉众需求。但只有后跨需求组作为一个整体我们可以确定系统的定义有不一致,需要解决。并找到这个需求验证的一部分努力是优先于找到它在你设计的系统。
现在,即使我们有一个有效的理由要求,技术和编程方式可行,他们都是一致的,一个需求仍可能不是有效的如果是写得很差。为了理解这意味着什么,让我们通过一些例子。
要求必须清楚、简洁和明确的。也就是说,它传达了一个思想,只能有一个解释,不包含不必要的信息。例如,写得差的要求可能是“烤面包机有一个可拆卸的碎屑托盘和它体重应该小于5公斤”。这是写得很差,因为不仅有两个想法,碎屑托盘和重量,但它并不完全清楚托盘或烤面包机,低于5公斤。最好把这个分成两个需求,明确和可以得到独立消息来源的证实。
另一种方式要求可以写得很差如果是无从查证。被证实的可能来自这样的词的使用最小化,最大化,用户友好的描述的需要。我的意思是,您可以编写一个要求说,烤面包机的用户友好,但验证是非常主观的。一个更好的方法是提前进行产品研究,不同的设计选择由潜在用户排名基于用户友好,然后编写所需的功能要求。任何要求你有无法验证应该被删除或修改,因为你不会有办法保证系统满足它。
最后要求的缺陷,我想在这里讨论的是指定的实现。需求,像函数从一节,通常描述了系统应该做什么,它的限制,没有描述如何完成。例如,我们有要求说烤面包机应能高达100瓦的电能转换成热能。这定义了一个特定的方面的设计。它必须做什么。它将高达100 w。但它是如何做呢?需求并没有说。它可以与线圈或其他加热元件。工程团队中的领域专家应该灵活地满足这一需求的实现他们的选择。
作为一个快速的边注,有一点灰色区域的指定要求的实现。不如就直接说不要这样做。如果需要特定的实现,和你不想要灵活的设计,那么它可以作为一个指定的要求。例如,可能有一些政府监管,说你只能使用电热线圈在一个住宅烤面包机,在这种情况下你会写成一个要求。但总的来说,我们试图远离迫使通过需求和只关注特定的实现定义的特点和功能设计。
好的,一旦我们有需求,验证和检查时,我们将它们分配到一个实现。我们联系的需求的特定部件定义的特征。反之,小部件设计可以追溯到需求,它实现了。我们留下了一个可追溯性地图连接像设计系统的需求。需求跟踪至少三件事,它提供了一种方法来审计需求列表,以确定是否有任何错过的设计,它提供了一种方法来审计实施和确保每个部件有一个理由,而且它提供了一个列表的要求一个特定的实现,可用于设计验证测试。我们将进一步讨论在接下来的视频。
现在,我们已经有了一个基本的了解需求是什么,他们如何有助于设计过程,最后一件事我想谈谈在这个视频需求的层次结构。需求不存在单一的断开连接的实体,但往往分组,组织成一个层次结构。低水平,或孩子需求细化父需求的需要。
在顶层,在程序的开始我们开始的关键jmaki同样需求涉众需求的形式化。我们流到功能需求,确定系统必须完成的功能。然后我们创建性能需求在系统层面上,然后开始流动子系统,组件和部件配套。您的程序可能会调用这些水平不同的名字,但这个想法是相同的,细化通过编写更详细的低级的更高层次的需求。
你可能会想,“等一下”!我以为你说需求不指定实现,那么我们如何能低水平的开发需求没有实现?是有区别的,迫使一个实现通过一个需求,并定义特定的选择实现的需求。一些设计工作和实现细节需要为了继续细化需求决定的。所以,我们可以把它作为一个迭代方法的高级需求让设计团队调查和选择追求一个特定的概念。一旦我们有一个概念,我们可以写低级需求具体概念设计团队可以进一步细化实现。
作为一个例子,上节课我们讨论了如何一个住宅烤面包机,烤面包机烤面包机或商业烤面包机,或露营。的高层需求涉众,把我们的路径创建一个住宅烤面包机。这是一个概念,我们选择追求,一旦我们决定这条道路我们可以进一步细化功能需求。我们有烤面包机的功能要求必须管理和储存的机械能时生成的面包是降低到烤面包机。这个要求是合理的征收住宅烤面包机的设计,这是特定于实现,但它仍然不是迫使一个实现,因为它不告诉我们如何管理和储存机械能。
我们可以更进一步。我们可以设计选择储存机械能在春天。这是一个实现我们决定。在这种情况下,我们可以写低层次需求的弹簧状态性能措施最大距离弹簧可以旅行和它需要多少能量存储。这将给我们一个什么样的一个春天,我们需要设计或购买。所以,希望你可以看到之间来回进一步细化需求,进一步细化设计。
堆积的所有这些父母和孩子的需求结合在一起形成一个层次结构。你可以看到弹簧长度和弹簧储能机械能都是孩子需求管理。这个层次,我们已经提到,可以帮助我们与验证工作。的基本原理可以确定一个需求通过证明有必要为了系统来满足母公司的要求。
但再次验证不仅仅是看个人的需求。我们必须考虑验证系统和层次结构可以帮助我们,因为我们可以看看需求组件的设置和确定它们是否有效。我们可以看到如果他们完成——这是我们不是缺少需求定义。我们可以看到,他们相互一致,所以不要反驳或引起别人不可行。我们可以看到,他们是必要的,这是我们没有删除灵活性或强迫过度约束设计的不一致。
好了,这就是一个快速概述的要求和需求层次结构和可追溯性的好处。然而,这里有一个更大的故事被告知。下一节,我们将扩展系统验证和验证和展示系统工程和需求帮助确保我们建立正确的系统和我们建立它正确。
如果你不想错过或任何其他未来科技视频说话,别忘了订阅这个通道。试试我的频道,如果你感兴趣的其他控制理论主题。谢谢收看,下次再见。
你也可以从下面的列表中选择一个网站
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。