8

您能否帮我找到有关此主题的详细教程:

  1. UML
  2. 行为图
    1. 用例图
    2. 活动图
  3. 结构图
    1. 类图
  4. 交互图
    1. 序列图
    2. 通讯图

我真的是一个新手,我想知道使用 UML 图的想法是什么,有什么区别,以及适合像我这样的新手的工具(如 UMLet)。

4

3 回答 3

30

首先,让我讨论UML用例

UML 只是描述软件系统的一种图形方式。UML有两种类型,即:

  1. UML Sketching - 在这里您只想传达一个想法并通过不同的替代方法。它不是具体的,但它只给出了基本的想法。
  2. UML 蓝图 - 这是一种非常详细的建模类型,其中所有内容都布置得很好,并且有明确的完成时间。

接下来是 UML 开发过程。

  1. 瀑布模型 - 开发过程必须严格遵循分析、设计、编码和测试过程。这意味着你不能在没有设计的情况下进行编码,等等。您必须从分析、设计、编码和测试 (ADCT) 流程开始。不允许在此过程中重叠。
  2. 迭代(最常见) - 迭代方式在某种意义上与瀑布模型有点不同,它更灵活。您可以将系统分成多个部分,并在每个部分上运行 ADCT 进程。这意味着您不会只进行一次分析,这将使您的系统能够灵活地适应变化。难怪这是一种更常见的方法。

然后是 UML 规划过程

  1. 预测性计划 - 结果在项目的整个持续时间内都是已知的,并且所有利益相关者都应该“在同一页面上”参与,一切都应该顺利进行。如果您可以轻松列出所有需求并且您很确定它不会改变,请使用预测性计划。

  2. 自适应规划(敏捷开发)——开发人员在此不断与用户合作以进行可能的更改。它们充当“适应者”——适应变化。它的灵活性使其成为预测规划的更好选择。

最后是用例图。用例图定义了您的程序将如何解决问题或提供某些功能。

这是一个例子:用例图

用例图通常处理可能是人类或外部系统的参与者的交互。用例由省略号表示,例如“插入卡”。

从参与者到用例的线路称为通信线路。

“包含”部分意味着两个或多个用例将尝试访问单个用例。而“扩展”部分是用例尝试访问可选用例的时间。

“选择金额”用例是一个一般用例,而在它下面是两个特定用例。

在这之后是用例描述。基本上只是对您的用例的描述。比如“用户输入他们的卡并输入密码。然后系统安全将检查卡是否处于活动状态或未被盗和/或输入的密码是否正确”等。它将通过说系统(安全)将提供资金和收据。

还有一点需要注意的是

  1. 触发器(机器收到卡/用户输入密码)

  2. 演员

  3. 前提条件(例如,银行有足够的资金)
  4. 目标(例如,成功的结论,例如能够为用户提供资金)。
  5. 列出失败的结论(例如:无效卡)
  6. 扩展(例如:如果 pin 在 3 3次尝试后无效)
  7. 执行步骤(例如:从客户插入卡到弹出卡)

活动图

活动图基本上只是描述了为实现最终目标而发生的动作。如果您熟悉流程图,那么将更容易理解活动图背后的概念。

活动图1 活动图 2 活动图 3 活动图 4

初始节点是活动图的起点,用阴影圆圈表示。紫色的注释简单地描述了活动图的不同组成部分。

类图

类描述了您的程序将使用的对象类型,而类图描述了这些类以及它们之间的关系。

我将上传一些幻灯片以使教程更快:

类图基础 基本方法图 UML 类项可见性 多样性 类依赖:依赖 类依赖:关联 类依赖:聚合和组合 类依赖:继承 约束 前后条件约束 对象约束语言 抽象类图 接口类图

序列图

序列图对程序中的交互进行建模,并为您提供一种合理的方式来布局您的系统。它们是关于显示程序各部分之间的交互顺序。

在制作序列图时,您描述了触发哪些交互以及何时触发。他们专注于所有交互中的事件顺序。

同样,这里是教程的序列图:

时序图1 时序图2 时序图3

通讯图

通信图用于显示参与者之间的链接。他们专注于触发哪些交互以及何时触发。它们还描述了所有交互中的事件顺序。

通讯图1 通讯图2 通讯图3 通讯图4 通讯图 5 通讯图 6

这些想法来自Derek Banas的视频教程

这是UML 工具列表。有些是免费的。:)

于 2013-05-14T16:07:47.960 回答
3

首先你应该了解什么是 UML,什么不是

所以从阅读 Craig Larman 的文章What UML Is and Is not

然后了解如何“错误”使用 UML 或不应该使用 UML

阅读ALEX E. BELL撰写的 UML Fever 的《死亡》一文。关注行业专家(PHILIPPE KRUCHTEN,GRADY BOOCH)对该文章的评论。

不要试图学习 UML Notation 的每一个细节

%20 的 UML 足以满足您 %80 的需求。尽量不要使用“鲜为人知”的功能。您不必使用所有 UML 图。使用你得到好处的那个。

最佳建模工具

最好的建模工具是免费的绘图场所 - 白板、活动挂图甚至纸张等表面。不是 CASE 工具。找一堵墙,用类似白板的 Cling Sheets 之类的工具把它变成自由绘图区

尝试敏捷建模

查看有关敏捷建模的想法

找到一本好的 UML 书

简明扼要地学习 UML 表示法:

UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd Edition) by Martin Fowler

以敏捷的方式将 UML 与流程 (RUP) 一起应用

应用 UML 和模式:面向对象分析、设计和迭代开发简介(第 3 版)作者:Craig Larman

带有指南的简短指南

UML(TM) 2.0 风格的元素 Scott W. Ambler (作者)

如果您不喜欢书籍或不想花钱

对于类图:

检查UML 基础知识:类图

对于序列图

检查UML 基础知识:序列图

对于活动图

检查 UML 基础知识:活动图

检查UML 2 活动图

对于用例图

检查UML 2 用例图

小心点。用例是讲述用户(参与者)和系统之间的交互以实现目标的文本故事。因此,没有用例文本的用例图毫无价值。要进一步了解用例,请阅读以下书籍中的免费章节:

对于 Sate 机器图

检查Sparx EA UML 2 状态机图

对于组件图

检查UML 基础知识:组件图

对于部署图 检查Sparx EA UML 2 部署图

PS:还有其他图表,但这些是最广泛使用的图表。

和谷歌它...... 例如,我谷歌它并看到http://www.uml-diagrams.org/uml-25-diagrams.html方面。这似乎是一个很好的细节。

于 2013-05-14T19:27:24.930 回答
1

这就是我刚开始学习一些术语的方式。(我还在学习,如果我错了,请随时编辑)

UML 只是一种使用流程图来描述系统如何工作的方法。它们有一定的符号来代表不同的含义。

用例图只是说明某物(他们称之为参与者)如何与系统交互!活动图就像它听起来的那样,为某个动作发生而发生的不同活动!

这是一个例子:银行系统的活动图(UML) 还有一些我没有回答,但其他人的答案都很好。

于 2014-05-15T20:29:21.650 回答