我应该如何教授UML?

我应该如何教授UML?,uml,system-design,system-analysis,Uml,System Design,System Analysis,我需要了解需要教授多少UML。我是一个关于系统分析和设计的“2学分100级入门课程”的附庸(对我来说是一个矛盾)。本文针对典型的300级3学分课程编写。本章涵盖了~7个UML图,它已经非常简单了,我必须将其进一步细化。我有一个星期,或者两个课时的时间来学习 我的结论是,我可以扔掉这本书,很好地覆盖类图,这将向它们介绍许多基本的OO概念,或者我可以简单地对这7个图进行基本的识别(甚至不期望它们创建任何图)。但是我觉得基本的认知是如此的肤浅,以至于对于这些全新的程序员来说是无用的,而这些图表将毫无意

我需要了解需要教授多少UML。我是一个关于系统分析和设计的“2学分100级入门课程”的附庸(对我来说是一个矛盾)。本文针对典型的300级3学分课程编写。本章涵盖了~7个UML图,它已经非常简单了,我必须将其进一步细化。我有一个星期,或者两个课时的时间来学习

我的结论是,我可以扔掉这本书,很好地覆盖类图,这将向它们介绍许多基本的OO概念,或者我可以简单地对这7个图进行基本的识别(甚至不期望它们创建任何图)。但是我觉得基本的认知是如此的肤浅,以至于对于这些全新的程序员来说是无用的,而这些图表将毫无意义地运行在一起。非常感谢你的建议


顺便说一句,这7个元素是:对象关系、用例、类、序列、状态转换、活动和业务流程建模。

有几个UML元素很容易映射到代码,因此可以直接用作设计元素

  • 包关系图(转换为名称空间)
  • 类图(翻译成OO语言中的类)
  • 状态机(转换为任意数量的基于状态的实现)
  • 序列图(显示方法调用的时间顺序)

  • 我想说的是,这是最少有用的UML元素集。如果您有时间,我也会鼓励人们学习用例图,尽管许多人认为文本文档对于这种类型的分析同样有效。

    我建议将重点放在类图上。它们是分析、设计和记录软件系统(信息或状态、结构)的最有用的UML图类型。您可以展示类图是如何定义的

  • 对象类型的属性,包括数据值属性和对象值引用属性(表示单向关联)
  • 如果属性是单值或多值(通过其多重性)
  • 其他财产限制
  • 类层次结构中的继承关系

  • 您可以演示如何在分析阶段将类用于概念信息建模(也称为域建模),在分析阶段定义真实世界的对象类型,以及在设计阶段如何将类用于设计建模,他们定义了与平台无关的计算结构,这些结构将在某些目标编程语言中实现。

    如果您正在教授UML,那么至少正确使用术语似乎是个好主意。UML中不存在“对象关系图”和“业务流程建模图”。可能是语言问题,他实际上是指“学习”而不是“教学”?不,这肯定是一个教学问题。我建议向学生展示+BPMN,然后更深入地关注他们觉得有用/有趣的内容