软件工程中的行为模型2025年3月17日 | 阅读 7 分钟 本文将讨论软件工程中的行为模型。 行为模型用于说明系统在模型执行时期的动态行为。行为模型描述了当系统对环境的刺激做出反应时,会发生什么或应该发生什么。 行为模型主要有两种刺激:数据和事件。
两种行为模型可以解释软件工程中的系统行为。这两种模型是数据处理模型和状态机模型。
数据流图 (DFD)这些图也称为气泡图。它用于表示数据在系统中的流动。它是一种用于与用户、经理等沟通的图形工具。它是一种简单的技术,有助于分析拟议的系统。它说明了外部实体与进程之间以及数据库与进程之间的数据移动。 您使用的任何软件都有许多页面,例如登录页面、主页等。当用户从一个页面移动到另一个页面时,不仅是用户在移动,数据也在从一个模块流向另一个模块。当所有这些事物都以图形方式表示时,就称为数据流图。 DFD 元素
DFD 中使用的符号如下表所示![]() 数据流规则
DFD 中的分层DFD 可以绘制以在不同级别上显示系统。初始或更高级别被划分为包含更多信息和功能细节的较低级别。 0 级 DFD 它也称为基本系统模型或上下文图。它将整个系统显示为一个单独的气泡,输入和输出数据由进入和离开的箭头符号化。 0 级 DFD 被划分为多个气泡,然后每个气泡又被划分为更详细的 DFD。 示例 您可以在下图中看到显示航空公司预订系统 0 级 DFD 的图。 ![]() 它用一个单独的气泡表示整个预订系统。随着我们继续前进,我们将细化此 DFD,并且单个气泡将被分成多个气泡。每个气泡将代表一个单独的模块;这些气泡将转换数据。 1 级 DFD 当 0 级被细化时,单个气泡被分成多个气泡。 示例 您可以在下图看到航空公司预订系统中一个气泡被分成多个气泡。 ![]() 首先,数据从航班数据库接收并显示给外部实体客户。有一个取消模块,在此模块中输入取消详细信息,并获得取消确认。座位预订模块显示客户正在预订座位。座位预订模块与总成本计算模块交互,在该模块中向客户显示机票的总成本。支付完成后,机票生成模块生成机票。座位分配模块显示登机牌的生成。这些是 1 级 DFD 中的主要进程。 2 级 DFD 每个进程或模块在此级别上被细化。 示例 我们可以细化航空公司预订系统的每个模块,但在本例中,我们将细化“预订模块”。 ![]() 您可以在上图中看到,外部实体“客户”将检查座位可用性。如果座位不可用,则向客户发送否定确认,并且进程结束。如果座位可用,则将客户输入的乘客人数发送到后续模块以收集乘客信息。“收集乘客信息”模块将用户详细信息存储在数据库中,并将用户详细信息传递给“付款流程”模块。付款流程告知客户票价,然后客户付款。付款后,“付款流程”向“出票”模块发送付款确认,并为电子机票生成登机牌。 状态图它用于捕获系统的行为特征。系统的动态方面通过状态图来表示。 状态图元素
状态图中使用的符号如下表所示![]() 状态图示例 示例 1 您可以看到以下“订单管理系统”状态图,其中“订单”对象有初始状态和最终状态。第一个状态是空闲状态,在此状态下开始处理。下一个状态是诸如发送请求、确认请求和发货等事件。 ![]() 在对象的生命周期中,您可以看到一些异常退出,它们也可能由于系统中的某些问题而发生。“发送订单请求”事件发生在中间状态。从此事件开始,发生“选择普通订单或特殊订单”事件,这是一个转换。之后,发生“订单确认”和“发货订单”事件。当整个生命周期完成时,就被认为是一个完整的事务。 示例 2 您可以在下面看到“大学填表系统”状态图。 ![]() 开始符号显示在开头,第一个状态“注册”允许学生注册姓名。学生在“登录”状态下提供 ID 和密码。如果在登录过程中 ID 或密码不正确,则登录取消,并且登录页面重新出现。 下一个阶段是“填表”状态,学生在此填写表格。学生填完表格后提交表格,然后学生被要求支付注册费。付款将在下一个状态“付款”中完成。付款详细信息被发送到后续状态“打印”,在此状态下可以打印或下载表格。如果付款不成功,则会再次打开“付款”页面。下一个状态是“注销”状态,学生在打印或下载表格后在此状态下注销。在所有状态完成后,将使用结束状态符号。 数据驱动建模它是第一个成为数据驱动模型的图形模型。这些模型表示处理输入数据并生成相关输出的步骤。它们在演示系统中的端到端处理方面很有用,这有助于需求分析。数据驱动模型是通过我们已经讨论过的数据流图来显示的。 事件驱动建模它是说明系统对内部和外部事件响应的建模。它用于描述状态机模型。 事件驱动模型通过我们已经讨论过的状态图来显示。 结论我们在本文中掌握了软件工程中的行为模型,并得出了以下几点。
下一主题软件工程中的上下文模型 |
我们请求您订阅我们的新闻通讯以获取最新更新。