系统级设计。 第 1 部分:从想法到系统

大家好。 我经常在工作中应用系统工程原理,并希望与社区分享这种方法。

系统工程 - 没有标准,但简单地说,它是将系统开发为相当抽象的组件的过程,而不参考特定的设备示例。 在此过程中,系统组件的属性及其之间的连接被建立。 此外,还需要使系统保持一致和优化,并确保系统满足要求。 在本教程中,我将使用设计相当简单的访问控制系统 (ACS) 的示例来展示系统工程技术。

形成初始架构

不管怎样,当一个系统刚刚开始开发时,带箭头的矩形就会出现在我们的头脑中或纸上。 这样的矩形是 组件 系统。 箭头是 连接 组件之间。 很多时候,我们没有时间坐下来思考我们定义的所有组件如何相互协作,最终我们开始创建一堆拐杖,提出冗余的设计。

重要的是要记住,从系统及其体系结构的角度来看,组件是一个相当抽象的东西。 例如,如果我们的系统有一个微控制器,那么在架构层面上,对我们来说只重要的是它是一个微控制器,而不是它是 STM32、Arduino 或 Milander。 此外,我们通常根本不清楚系统中到底有什么,我们求助于系统工程来开发设备、软件等的要求。

对于我们的 ACS 示例,我们将尝试阐明其目的。 这将帮助我们识别其组成部分。 因此,门禁系统的任务是允许有限范围的人进入房间。 也就是说,它是一把智能锁。 因此,我们有了第一个组件 - 某种可以锁定和解锁门的设备! 我们就这样称呼他吧 门锁

我们怎么知道一个人可以进去? 我们不想派一名看守并检查护照,不是吗? 让我们为人们提供带有 RFID 标签的特殊卡片,我们将在上面记录唯一的 ID 或其他数据,以便我们能够准确地识别一个人。 然后,我们需要一些可以读取这些标签的设备。 太好了,我们还有一个组件, RFID读写器

让我们再看看我们得到了什么。 RFID读写器 读取一些数据,访问控制系统用它做一些事情,并在此基础上控制一些东西 门锁。 让我们问以下问题 - 在哪里存储具有访​​问权限的人员列表? 数据库中最好的。 因此,我们的系统必须能够发送请求并处理来自数据库的响应。 所以我们还有一个组件 - 数据库处理程序。 因此,我们收到了一个极其抽象但足够开始的系统描述。 我们了解它应该做什么以及它是如何工作的。

我将使用 System Composer(一种在 Simulink 环境中对系统架构进行建模的特殊工具)而不是一张纸,并创建 3 个组件。 上面我描述了这些组件之间的联系,那么我们立即将它们连接起来:

系统级设计。 第 1 部分:从想法到系统

扩展架构

让我们看看我们的图表。 看似一切都很好,但实际上并非如此。 从用户的角度来看这个系统 - 用户将卡带到读卡器上然后......? 用户如何知道他们是否被允许或拒绝访问? 有必要以某种方式通知他这件事! 因此,我们再添加一个组件——用户通知, 用户通知:

系统级设计。 第 1 部分:从想法到系统

现在让我们进入较低的抽象层次。 让我们尝试更详细地描述一些组件。 让我们从组件开始 RFID读写器。 在我们的系统中,该组件负责读取 RFID 标签。 它的输出应该包含一些数据(UID、用户数据...)。 但是等等,RFID 和 NFC 一样,主要是硬件,而不是软件! 因此,我们可以假设我们单独拥有 RFID 芯片本身,它将“原始”数据传输到某种预处理器。 因此,我们有一个可以读取 RFID 标签的抽象硬件,以及可以将数据转换为我们需要的格式的抽象软件。 让我们称呼他们为 RFID传感器 и RFID解析器 分别。 如何在 System Composer 中显示它? 您可以删除一个组件 RFID读写器 并放置两个组件,但最好不要这样做,否则我们将失去架构的可读性。 相反,让我们进入 RFIDReader 并添加 2 个新组件:

系统级设计。 第 1 部分:从想法到系统

太好了,现在让我们继续通知用户。 系统将如何通知用户他被拒绝或允许进入该场所? 人最能感知声音和闪烁的东西。 因此,可以发出一定的声音信号以引起用户注意,并使LED闪烁。 让我们添加适当的组件 用户通知:

系统级设计。 第 1 部分:从想法到系统

我们已经创建了系统的架构,但是它有一些问题。 什么? 让我们看看连接名称。 乘车 и 输出总线 - 不太正常的名称对开发人员有帮助。 它们需要重命名:

系统级设计。 第 1 部分:从想法到系统

因此,我们研究了如何在最粗略的近似中应用系统工程方法。 问题出现了:为什么要使用它们? 系统很原始,看起来所做的工作是不必要的。 您可以立即编写代码、设计数据库、编写查询或焊接。 问题是,如果你不思考整个系统并理解它的组件是如何相互连接的,那么系统组件的集成将花费很长时间并且相当痛苦。

这部分的主要内容是:

在系统开发中使用系统工程方法和体系结构建模可以降低集成组件的成本并提高所开发系统的质量。

来源: habr.com

添加评论