系统工程,第3部分:功能架构的好处
从系列中:系统工程:管理系统复杂性
布莱恩•道格拉斯
功能、逻辑和物理体系结构是设计复杂系统的重要工具。
我们描述什么是体系结构,以及它们如何在项目的早期阶段做出贡献。本视频的重点是将系统描述为其功能的集合,我们将展示如何为我们开发模型和进行贸易研究提供基础。
正如我们在上一个视频中提到的,系统工程工作流程倾向于从涉众的需求和目标开始,然后在深入到设计的实现之前确定关键需求、行为和结构图。这个流程允许我们在用特定的实现约束自己之前真正地思考系统真正需要做什么。现在,这不是一个线性的过程,而是一个反复的过程,因为涉众、管理层和工程领域的专家都在不断地参与设计。在本视频中,让我们通过一个简单的设计示例来探索这个过程。我们将专注于为烤面包机构建一个功能架构,我们将展示如何将一个系统描述为其功能的集合,这可以帮助我们在项目的早期阶段导航,并为我们开发模型和执行贸易研究提供基础。我希望你能坚持下去。我是Brian,欢迎来到MATLAB技术讲座。
首先,让我们讨论架构是什么。一个系统可以由组成它的元素来描述,根据我们试图实现的目标,我们可以选择不同类型的元素来描述同一个系统。也就是说,我们可以将系统描述为功能的集合,或逻辑组件的集合,或物理部件的集合,或这些的任何组合。而架构就是捕捉这些元素之间的关系。它是一种映射,显示了系统中不同元素如何相互作用和相互补充。那么,这对我们有什么好处?
我们可以通过思考系统需要做什么来开始系统设计。即考虑系统需要执行的功能,以及物质、能量和信号如何在这些功能之间流动。然后我们可能会开始考虑谁或哪个逻辑组件负责实现一组给定的功能。最后,我们可以考虑这些组件将在哪里实际实现。通过这种方式,我们通过创建不同的体系结构,通过查看功能、逻辑组件和物理部件之间的关系来完成系统设计。
为了让您了解架构的重要性,让我们关注功能性架构的好处和用途。
作为一个简短的题外话,我想在这里提一个小警告。系统工程是一个广泛的术语,根据您所在的行业有不同的解释。你可能会使用不同类型的图表、术语和方法来开发复杂的项目,而不是我在这个视频中解释的。所以,我只是想让你们知道,我要展示的是一个版本,但绝不是唯一的方式。从这个视频中,我想让你了解的重要的事情是这些方法背后的思想,这样你就能更好地理解它们为什么有价值。讲完这些,让我们回到功能架构上来。
函数有三个部分。有一个输入流入函数,它可以是一个或多个由物质、能量和信号组成的项目。有一个函数本身以某种方式处理输入,然后有一个从函数中流出的输出,同样由一个或多个项组成。
让我们看一个图表,它大致显示了功能如何在系统工程过程中发挥作用。涉众的需求和目标开启了整个计划。工程团队开始找出实现涉众想要的东西所需的功能。项流入和流出函数。这些连接,从项目到功能,再到项目到功能,形成了功能架构的基础。我们可以将功能分解为更小的功能,并将越来越多的细节和连接添加到体系结构中。一旦我们有了足够的细节,功能就被分配到组件中,并以某种逻辑方式分组。也就是说,我们将函数分组,这些函数要么一起工作以实现更高层次的目标,要么以其他方式相互关联。它是用来构建或实现系统本身的组件。我们可以决定将组件构建为嵌入式软件,在这种情况下实现是编写代码,或者我们可以将组件实现为物理的东西,如特定的处理器、机械部件或电子组件。 Organizing the relationships between these physical parts is where the physical architecture comes into play.
现在,这个简单的图表只显示了这三个体系结构之间的关系。这不是对早期系统工程过程的完整理解。例如,我们有其他的东西,比如描述系统必须满足的关键参数的需求。我将在下一个视频中更详细地介绍需求,所以现在只需要理解它们在某种程度上补充了功能,逻辑和物理架构,我们将继续这个视频。
好了,在这一点上,我认为如果我们用一个例子来解释这个过程,这个图会更有意义。我们从利益相关者的需求开始,在这种情况下,利益相关者需要一个烤面包机。让我们构建一个功能架构。在最顶层,烤面包机的主要功能是烤面包。面包进去,经过一些过程,烤面包出来了。
这是一个功能性的体系结构,但不是一个非常完整的体系结构。在这一点上,我们还没有真正将问题分解到能够将这个功能分配到组件并实现它,或者能够编写需求。因此,这个过程的下一步是将函数分解为更小的函数。我们可以加上一条,说我们需要把面包放进烤面包机,然后加热去除面包表面的水分氧化面包,然后我们需要把面包取出来。
我们可以继续分解并意识到为了产生热量,我们需要一种能量来源和一种将能量转化为热能的方法。在此附带说明一下,如果您在提出系统需要执行的函数时遇到了困难,那么将函数视为动词-名词配对的一个好方法。动词是函数所做的,名词是函数所作用的对象。所以我们装上面包,把热能应用到面包上,然后去掉吐司,把能量转换成热能。通过考虑系统中的动词和项,可以使功能分解更容易一些。
好,回到刚才的例子。我们如何进一步分解这些函数?我们可能会想添加一个函数来控制面包的烘烤程度。但是,我们在这里必须小心,因为我们实际上不知道这是否与涉众想要的是内联的。我们只知道他们想要一台烤面包机,而我们目前所确定的功能对于任何一台烤面包机都是必要的。我们必须装载面包,应用热能,然后取出吐司,不管我们是在建造一个标准的家用烤面包机,它插在墙上,你可以通过顶部的插槽装载吐司,还是一个商用烤面包机,它也插在墙上,但你可以通过传送带装载吐司,还是一个野营烤面包机,它很轻,可以在一个开放式的野营炉上烤面包,或者只是一个火焰喷射器和一对火钳。
这就是考虑功能架构和其他类型的行为图如何促进工程团队和涉众之间的来回。需求和目标没有明确说明,所以如果不重新审视高层目标和关键需求,我们就无法取得更多进展。
让我们假设利益相关者实际上正在寻找一个住宅烤面包机,用户需要能够调整烤面包的水平,能够清洁它,并使它适合厨房台面,等等。因此,由此,我们能够继续分解功能架构的过程。
现在,这个很快就会变得很大,所以让我给你们看一个我在系统作曲器中构建的这个架构的版本。这种架构的灵感来自于一篇名为《功能建模的理论基础:初步实验研究》的论文,如果你想查看的话,我已经在描述中链接了它。
最左边是这个系统的输入。我们有电能,一只手,当然还有面包。用一只手作为输入可能看起来有点傻,但我们需要确保某些流程的设计方式是人可以与之交互的。所以,这是一个必要的提醒。好,让我们跟着面包来做这个过程。这里有导入面包的功能。这听起来有点好笑,但这是说我们需要考虑面包如何进入烤面包机,我们需要一个地方放它。除此之外,我们还必须能够用手来放置面包。然后把面包从初始位置引导到烤面包的位置,在很多家用烤面包机里都是用一个杆向下拉,把机械能储存在弹簧里。在这个过程中会产生面包屑,所以烤面包机需要能够储存和清除这些面包屑。 Once the bread is in place, it has to be secured and held near to but not touching the heating elements. At this point, thermal energy can be transferred to the bread, and when that’s done the toast can be removed.
取出吐司的一部分是释放储存的机械能,把吐司弹起来,使它易于取出。释放这种储存能量的触发器是当一个信号从保持切换到释放时。该信号基于热传感器或光学传感器的输出,该传感器测量土司的状态,并将其与可变设定点进行比较。所有这些都是由来自外部的电能驱动的。
这里需要注意的一点是,即使已经假设了一些实现(例如我们存储机械能),这些函数中的大多数都独立于任何形式或实现。例如,我们还没有假设如何储存面包屑或如何从电能中产生热能,只是这些功能是必要的,我们可能应该交换一些不同的实现,看看哪个最能满足整个烤面包机和用户的需求。一旦我们同意了一种方法,如可移动托盘和镍铬合金加热线圈,然后我们可以进一步分解功能,如果这样做是有意义的。或者,我们可能已经达到了一个水平,在这里,工程领域的专家能够利用这个功能和需求,设计一个面包屑托盘和加热线圈,没有额外的分解。
现在这个烤面包机所有功能的完整视图很好,因为我们可以从整体上了解所有功能是如何相互连接的。从这个视图,我们可以从系统级的角度审核烤面包机架构,并尝试确定哪些功能可能缺失,或确保功能之间的互连是一致和完整的。尽管这是一个简单的模型,因此很容易从整体上理解体系结构,但这并不一定适用于您的系统。系统级架构可能像意大利面条一样,由盒子和连接组成,很难用作通信工具。因此,简化架构模型的一种方法是只查看查看它的人感兴趣的组件。例如,电气工程师可能只想看到以某种方式与电气系统交互的组件。
我们可以通过改变视图来得到它,我已经为电子元件设置了一个视图。在这里,我们可以看到有来自外部的电能,我们需要将它输入到烤面包机中。这可能是一根插在墙上的线,或者通过某种无线系统。我们还需要考虑如何打开烤面包机并开始烤面包。这是一个机械开关,还是一个数字开关,也许你想让它通过蓝牙从智能手机上打开,这张图并没有限制实现它只是列出了功能需求。我们还可以看到,我们需要调节能量,用它来驱动传感器,并将其转换为热能用于加热。
所以,在这一点上,我们已经有了开始贸易研究过程所需要的大部分东西。我们提出不同的实现选项,描述性能度量,建立模型来估计这些度量,并做出选择。
因此,希望通过这个例子,您可以开始理解功能和架构如何在系统工程过程中发挥作用。但正如我们所说,这并不是唯一的原因。我们还需要需求,以便对系统必须满足的关键参数进行描述。这就是我们下个视频要讲的内容。
所以,如果你不想错过这个或其他未来的Tech Talk视频,不要忘记订阅这个频道。如果你感兴趣,你可以看看我的频道,我也会介绍控制理论的话题。感谢收看,我们下期见。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。