级别: 初级 Mandy Chessell, IBM 杰出工程师、杰出发明家, IBM Larry Yusuf, 解决方案架构师, IBM
2008 年 9 月 19 日 本系列文章提供了关于如何构建用户模型的基本信息。在这第三篇文章中,了解用于扩展统一建模语言 (UML) 的用户模型的构造型和关系。用户模型是对一组人员和这些人员如何使用某个 IT 解决方案的描述。
引言
用户模型是对一组人员和这些人员如何使用某个 IT 解决方案的描述。这种类型的建模基于主要的可用性理论与实践,并允许解决方案架构师指定 IT 解决方案的外部设计元素,以便该解决方案对所有类型的用户都有用并可用。
本系列文章的第 1 部分 “从用户的角度创建系统规格说明书”介绍了用户模型以及它为什么可以帮助改进构建的系统的可用性。第 2 部分“构建用户模型”介绍了如何为支持安全 Web 资源访问的简单组件构建用户模型。
在本文中,您将了解用于扩展统一建模语言 (UML) 的用户模型的构造型和关系。
UML 基础
用户模型是使用 UML 构建的,它是用于描述 IT 系统设计的行业标准语言。它非常灵活,并允许您在许多抽象级别上对系统进行建模。
块 (Blob) 和线段 (line) 是 UML 的基本要素。块表示设计中的概念,用于连接块的线段各自表示块之间的关系。可以使用箭头、基数和其他形状来修饰关系,以提供有关关系特征的更多信息。
图 1. 块和线段
UML 中的块的形状反映了它们所属的广泛类别。
对于用户建模,类(矩形)表示用户模型中的各种概念,例如用户角色、用户目标和用户任务。使用构造型来指定概念的类型。将构造型看作子类别。它在尖括号中显示 (<< >>)。
在大型模型中,每个构造型可以拥有一个图标(或修饰),以便于识别不同的构造型。图 2 中的示例显示了名为“资源所有者”(Resource Owner) 的概念,其拥有一个定义为用户角色的构造型。
图 2. 用户模型中的概念
特性 (Attribute) 描述概念的属性,而构造型描述概念的属性的类型。在图 2 中,“Resource Owner”具有名为“Responsible for controlling the use of owned resources”的单个属性。该属性应用了 <<definition>> 构造型。
关系的类型
虽然 UML 支持 UML 类中的大量关系,但用户模型有更多限制。它们仅在选定的位置使用关联、依赖和泛化。
关联用于显示两个 UML 类之间以某种方式联系,通过在两个 UML 类之间画的线段表示。关联可以使用开放箭头和黑色或白色菱形来修饰,以提供有关关联类型的更多信息。表 1 说明了用户建模中最常见的四种类型的关联。
表 1. 关联
每个关联显示在关系中涉及各个 UML 类的多少个实例。关联的数目称为关系的基数,它表示为数字(例如 1)或数字范围(例如 1..7)。星号 (*) 用于表示“许多”。因此,1..* 表示“一个或以上”。如果单独使用星号,则是零个或以上的速记法。
基数在关系的两端表示。如果在 UML 类 A 和 B 之间存在关系,则位于关系 A 端的基数显示 B 连接到多少个 A。例如,如图 3 所示,一只猫有四条腿,而一条腿只能属于一只猫。
图 3. 关联示例
构造型也适用于关联。通过属性窗格上的 Stereotypes 选项卡在关联的角色上设置构造型(在图 3 中:has、wears、cares for、lives with 和 eats),如图 4 所示。
图 4. 设置构造型
一旦应用,构造型就会显示在 Project Explorer 树视图中。图 5 显示了同一属性在应用 <<primary_goal>> 构造型前后的两种视图。
图 5. 应用 <<primary_goal>> 构造型前后
依赖关系用于两个用户目标之间,其中一个用户目标的完成依赖于另一用户目标的完成。依赖关系在两个用户目标属于不同的用户角色时尤为重要,因为这是需要协作或移交工作的区域。依赖关系使用带有表示依赖方向的箭头的虚线表示。在图 6 的示例中,只有在其运行所在的基础设施可用时,应用程序才可用。
图 6. 依赖关系
泛化关系由连接两个 UML 类并带有封闭箭头的线段表示。它表示远离箭头的 UML 类是另一个 UML 类的具体化。在图 7 中,Java™ Developer 用户角色是具体化的 Developer 用户角色。
图 7. 具体化角色
具体化包含另一个类的所有关联和属性,加上一些与其连接的附加关联。如果具体化是使用与另一个 UML 类名称相同的关联建模的,则使用具体化的定义。
构造型和关系
这一部分提供的表介绍了在 UML 类上使用的构造型和用户模型中的关系类型。
表 2. 用户角色
表 3. 用户目标
表 4. 用户团队
表 5. 技能集
表 6. 规程
表 7. 用户任务
表 8. 用户域
表 9. 用户对象
表 10. 用户数据类型
表 11. 用户对象筛选器
表 12. 用户工件
总结
本文提供了在用户建模中使用的 UML 建模元素的目录。因为用户建模只需要少量的 UML 知识,所以解决方案架构师可以专注于模型的内容。
致谢
特别感谢我们的同事审阅了本文并提供了极好的评论和反馈,尤其是 Rebecca Schaller、David Radley、Iain Duncan 和 Dan Wolfson。
参考资料 学习
获得产品和技术
- 获取免费的 架构师工具包系列,了解最新的 IBM 企业架构师开发工具技术文档和资源。
- 下载 IBM 产品评估版,获得来自 DB2®、Lotus®、Rational®、Tivoli® 和 WebSphere® 的应用程序开发工具和中间件产品。
讨论
作者简介  | 
|  | Mandy Chessell,系英国皇家工程学会会员(FREng)、特许工程师资格(CEng),及英国计算机协会成员(FBCS)。她从 1987 年开始在 IBM 任职。她是 IBM 杰出工程师(IBM Distinguished Engineer)、IBM 杰出发明人(IBM Master Inventor)以及 IBM 技术研究院(IBM Academy of Technology)的成员。目前,她正担任 IBM 软件部信息解决方案部门(Information Management division)的首席架构师(Lead Architect)。在先前担任的职位上,她为 CICS、Encina、TxSeries、Component Broker 以及 WebSphere 等产品开发了许多新功能。她还提交了 40 项专利、当中的 15 项已经获得批准。在她的技术职责之外,Mandy 还参与了在于增强 IBM 技术人员技术活力的倡议活动。这些活动包括了辅导、为员工技术职业发展以及晋升委员会服务,领导创新项目以及组织 Women in Technology 活动等等。在 IBM 之外,Mandy 还是英国皇家工程学会(Royal Academy of Engineering)的会员,以及英国谢菲尔德大学(University of Sheffield)的客座教授。在 2001 年,她成为了第一位获得英国皇家工程学会银质奖章的女性。她还曾在 2000 入选由美国 MIT 的 Technology Review 杂志评选的 “TR100” 青年发明家。目前,由于她为创新人群的推动工作,她还获得了英国女性发明家(British Female Innovators)称号、Inventors Network (BFIIN) 的“Building Capability”奖,以及 BlackBerry “2006 Best Woman in Technology - Corporate Sector” 奖。 |
 | 
|  | Larry Yusuf 是 Software Group Strategy and Technology 的一名解决方案架构师,并开发了将组织上下文和用户透视图引入复杂软件解决方案体系结构和设计的全面设计技术。他领导了填补软件组合空缺的集成外接程序的开发。在早期工作中,他曾致力于新兴技术、解决方案开发和测试。他拥有业务集成解决方案、模型驱动的开发、面向模式的软件开发和事件管理方面的经验。他广泛从事关于这些主题的写作和演讲,并申请了七项专利。 |
对本文的评价
|