用户界面的UML建模05

4 抽象表示层建模(Abstract Presentation Modeling)

在进行应用程序建模时,很自然地会需要对UI 表示层进行建模。甚至是对于非常简单的场景(scenario)而言,UI 表示层部分的建模都是必不可少的。在这个阶段我们并不需要一个详细的UI 表示层模型,只要能够了解到UI 是由哪种组件(components)组成,共有多少组件,以及它们是如何分组的即可。我们还需要知道这些UI 元素具有哪些操作。因此,我们需要一个抽象表示层模型(abstract presentation model)。

可以通过对一个用户成功登录图书馆系统的建模,来举例说明如何使用一个抽象表示层模型。图4 所示的便是用例ConnectToSystem 在该场景下的序列图(sequence diagram)。根据图1 所示的用例图,ConnectToSystem 是与《actor》LibrarySystemUser 相关联的。因此,本次交互由LibrarySystemUser发起,然后发送一个消息(message)至Library System 实例,该实例代表的是整个图书馆系统。

图4:用例ConnetToSystem 的序列图 

从实际的角度来说,比如在Windows 环境下鼠标双击图书管理系统的图标,将会产生request connection 消息。

系统会立刻创建一个ConnectionUI 类的《boundary》对象,该对象执行一个名为showForm()的操作。可以将对象的创建建模为一个对象向新建对象发送《create》消息。ConnectionUI 对象一经创建,便会向用户显示为一个建立连接的用户界面,并请求输入登录名称和密码。其类似的用户界面可参加图5 所示。图5 并非一个UML 图,这是因为在UML 中并没有规定任何关于UI 表示层设计的标记。事实上,我们并未要求UML 应该具有关于UI 模型的标记,从而提供UI 布局(layout)和组件选择方面的支持。但是,我们通过讨论认为UML 需要一种标记来更好地描述抽象用户界面的结构,而非类图和对象图。事实上,这样的标记可用在UI 设计的初期,甚至可通过使用活动图来支持任务的设计。

图5:ConnectionUI 的显示

关于ConnectToSystem 的序列图还需要进行一些辅助的定义,这将会在后续章节中予以说明。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/65556.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024.12.25在腾讯云服务器上使用docker部署flask

2024.12.25在腾讯云服务器上使用docker部署flask 操作系统:Ubuntu 根据腾讯云的说明文档安装 Docker 并配置镜像加速源,注意需要安装腾讯云的加速源,使用官网的加速源连接极其不稳定,容易导致运行失败。使用哪个公司的云服务器就…

存储块的删除与状态查询

目录 存储块的删除 设计实现 存储块的删除 仅需删除任务列表的所有任务,无需在意空闲存储块。 设计实现 存储块的删除(清空过程中可能有任务就绪,需执行一次调度)存储块的状态查询(当前存储块的计数、允许的最大计数、…

如何在IDEA一个窗口中导入多个项目

一般在IDEA窗口中想导入一个新项目,会提示我们在当前窗口还是新窗口。如果选新窗口,就会新打开一个窗口,此时新窗口里面只有新导入的项目。 而为了浏览起来更方便,需要实现在IDEA一个窗口中导入多个项目。具体步骤如下&#xff1…

SQL 实战:基于经纬度的距离计算与位置查询

在位置服务(LBS)系统中,基于地理位置查询和距离计算是核心功能之一。例如: 查找附近的商铺、加油站或医院。计算两点之间的实际直线距离。筛选出指定范围内的用户或设备位置。 MySQL 提供了多种方式实现地理位置查询&#xff0c…

SpringCloudAlibaba技术栈-Higress

1、什么是Higress? 云原生网关,干啥的?用通俗易懂的话来说,微服务架构下Higress 就像是一个智能的“交通警察”,它站在你的网络世界里,负责指挥和调度所有进出的“车辆”(也就是数据流量)。它的…

现代图形API综合比较:Vulkan DirectX Metal WebGPU

Vulkan、DirectX、Metal 和 WebGPU 等低级图形 API 正在融合为类似于当前 GPU 构建方式的模型。 图形处理单元 (GPU) 是异步计算单元,可以处理大量数据,例如复杂的网格几何形状、图像纹理、输出帧缓冲区、变换矩阵或你想要计算的任何数据。 NSDT工具推荐…

工业大数据分析算法实战-day19

文章目录 day19讨论范畴介绍知识工程 知识沉淀方法的维度模型模型要素维度传感器异常报警异常预警的范式:特征量-征兆量-研判规则健康评估的范式:劣化度-健康度-综合评价故障类型研判范式:特征量-证据/现象-推理逻辑故障处理效果监控范式&…

轮胎识别数据集,可对生产流水线里的轮胎图片标注,支持yolo,coco json,voc xml格式的标注,一共785张采集图片

轮胎识别数据集,可对生产流水线里的轮胎图片标注,支持yolo,coco json,voc xml格式的标注,一共785张采集图片 数据集分割 训练组90% 706图片 有效集6% 46图片 测试集4% 33图片 预处理…

【RabbitMQ的死信队列】

死信队列 什么是死信队列死信队列的配置方式死信消息结构 什么是死信队列 消息被消费者确认拒绝。消费者把requeue参数设置为true(false),并且在消费后,向RabbitMQ返回拒绝。channel.basicReject或者channel.basicNack。消息达到预设的TTL时限还一直没有…

YOLOv10目标检测-训练自己的数据

yolov10 https://github.com/THU-MIG/yolov10?tabreadme-ov-file 1. 数据集 模型的建立需要收集图片并且进行标注。YOLOv10标注的文件格式如下(每张图片对应一个标签文件): 0 0.441753 0.815461 0.061021 0.042763 1 0.395895 0.759868 …

《机器学习》——KNN算法

文章目录 KNN算法简介KNN算法——sklearnsklearn是什么?sklearn 安装sklearn 用法 KNN算法 ——距离公式KNN算法——实例分类问题完整代码——分类问题 回归问题完整代码 ——回归问题 KNN算法简介 一、KNN介绍 全称是k-nearest neighbors,通过寻找k个距…

如何在 Ubuntu 22.04 上安装和使用 Composer

简介 如果你是一名 PHP 开发者,想要简化你的项目依赖管理,那么 Composer 是一个必不可少的工具。Composer 可以简化包管理,并允许你轻松地将外部库集成到你的项目中。 本教程将向你展示如何在 Ubuntu 22.04 操作系统上安装 Composer&#x…

139.《python中的正则详解》

文章目录 什么是正则正则表达式语法正则demo1.匹配模式2.finditer3.正则分组4.非捕获组5.分组的引用6. 正则替换7.正则切割7.正则「或」7.枚举取反 面试题 前言: 拉开差距的不是上班的8小时,而是下班后的16小时,同志们,加油,卷起!!! 什么是正则 1.正则表达式是一种高级文本处理…

大语言模型(LLM)中大数据的压缩存储及其重要性

在大型语言模型(LLM)中,KV Cache(键值缓存)的压缩方法及其重要性。 为什么要压缩KV Cache? 计算效率:在生成文本的过程中,每个生成的token都需要与之前所有的token的键值&#xff…

『大模型笔记』评估大型语言模型的指标:ELO评分,BLEU,困惑度和交叉熵介绍以及举例解释

评估大型语言模型的指标:ELO评分,BLEU,困惑度和交叉熵介绍以及举例解释 文章目录 一. ELO Rating大模型的elo得分如何理解1. Elo评分的基本原理2. 示例说明3. 大模型中的Elo得分总结3个模型之间如何比较计算,给出示例进行解释1. 基本原理扩展到三方2. 示例计算第一场: A A…

高效使用AI完成编程项目任务的指南:从需求分析到功能实现

随着人工智能工具的普及,即便是零编程基础或基础薄弱的用户,也可以借助AI完成许多技术任务。然而,要高效地使用AI完成编程任务,关键在于如何清晰表达需求,并逐步引导AI实现目标。 在本文中,我们将通过开发…

【视觉惯性SLAM:四、相机成像模型】

相机成像模型介绍 相机成像模型是计算机视觉和图像处理中的核心内容,它描述了真实三维世界如何通过相机映射到二维图像平面。相机成像模型通常包括针孔相机的基本成像原理、数学模型,以及在实际应用中如何处理相机的各种畸变现象。 一、针孔相机成像原…

【Compose multiplatform教程18】多平台资源的设置和配置

要正确配置项目以使用多平台资源,请执行以下操作: 添加库依赖项。 为每种资源创建必要的目录。 为限定资源创建其他目录(例如,深色 UI 主题或本地化字符串的不同图像)。 依赖项和目录设置 要访问多平台项目中的资源…

RabbitMQ工作模式(详解 工作模式:简单队列、工作队列、公平分发以及消息应答和消息持久化)

文章目录 十.RabbitMQ10.1 简单队列实现10.2 Work 模式(工作队列)10.3 公平分发10.4 RabbitMQ 消息应答与消息持久化消息应答概念配置 消息持久化概念配置 10.5 订阅模式广播模式路由模式主题模式(通配符模式) 10.6 消息确认机制1…

Excel for Finance 07 `FV PV` 函数

Excel 的 FV 函数用于计算一笔投资在未来的价值,基于固定的利率和定期付款。这是一个金融函数,常用来分析储蓄计划、贷款、或投资的增长。 语法: FV(rate, nper, pmt, [pv], [type])参数说明: rate(必需)&…