首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用UML进行敏捷开发

使用UML进行敏捷开发
EN

Stack Overflow用户
提问于 2016-12-19 14:53:13
回答 2查看 213关注 0票数 0

我在看书的时候遇到了一些令人困惑的问题

“由马丁·福勒( Martin )领导的UML Distilled。”

问题1.

这本书中提到:

使用UML的三种方法:草图、、蓝图和编程语言。

我们的教授要求我们在进行系统分析和设计时,画出类和操作的"all“,然后进行开发。

因此,我真的想知道这是否是martin所说的“伪迭代开发”。

它是通过“蓝图”使用UML吗?

问题2.

这本书中提到:

“每一次迭代都不是从头开始的; 相反,它修改了现有的文档体,突出了新迭代中的更改。“

然而,教授要求我们修改并在现有的类图中添加更多的类。

以设计类图为例。在第一阶段,我们只有很少的“课”,但教授要求我们继续增加它。

一级图

更糟糕的是,以这种方式,直到最后阶段,课堂变得太多,甚至无法被理解,也不会被用来交流(如图片)。

第十阶段类图

因此,我很困惑教授是否误解了“修改现有的文件”的意思?

如果教授教我们的不对,“如何和,当可以”修改现有的文档体“?是否只有相关的类图?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-19 16:02:06

Q1

是的,这是一种蓝图。

Q2

你的教授正确理解。

就像一本书说的那样,你从有限的范围开始,只有几门课。在进一步的迭代中,您使用到目前为止所创建的内容,并根据需要添加更多的类、属性和操作,这是由于您的系统越来越复杂。有时,您需要重新考虑并进行某种程度的重新建模/重新设计(然后再使用代码!)你已经创造了什么。这正是敏捷的意义所在。

您可能缺少的是,您不需要将整个系统放在一个图表上。使用包来组织类(并使用包图作为项目的一种目录)。将单个图表分割成较小的块,集中在特定主题上的元素上(这些元素或多或少反映了您的包)。只在一个类的“主”图(显示包含该类的包的图)和其他图表上显示一个类的所有细节--只有一个类名的类矩形,如果您的建模工具支持的话,最后显示特定关系所需的属性和操作。

由于您通常会按特定区域构建范围,您将看到大部分将创建新的包,而现有的包只会有小的更改(除了像Tools这样的包)。然后你就会知道你走的是正确的道路。

票数 1
EN

Stack Overflow用户

发布于 2016-12-19 16:00:01

对你问题的详细回答会使我们相去甚远。

  1. 理论上是的。但是实际上,您将只在前两个步骤中使用UML。曾经,使用UML进行编程也是一种想法,但老实说,编程语言在这方面要好得多。将UML保持在某种抽象级别。编程时得到具体信息。想办法避免在两者之间造成太大的裂痕。蓝图只是一个比素描更具体,但仍然是一个抽象的方式,以最终的程序。 您可以通过在操作中放置行为来使用UML进行编程。这通常只是普通的程序代码。状态机也可以转换为目标代码。还有可执行的UML,但我对此没有计划。如果你好奇的话就去谷歌吧。
  2. 迭代实际上是从一些现有的先前版本开始的。但现在你有很多方法带你去罗马。用UML建模工具和没有UML建模工具是一项困难的任务。您需要决定一个规则集,该规则集允许从当前步骤到达下一步。您可以通过引入版本号和/或构造型来做到这一点。非常复杂。总之,第十阶段你的图片不显示任何发展,只是补充。你需要找到结构。包是实现结构的一种方法。您将不会得到一个大型类图,而是每个子域的两个类图。 在正常设计中,您所做的是创建处理系统各个部分(例如I/O、UI、持久性等)的子域。现在,您可以为这些子域创建包,并与它们一起创建类图。此外,您还创建了图表,显示包和内部类之间是如何相互关联的。在这里,您将使用包和类图。请注意,UML不是关于图表的。这些图表只是向人类展示整个模型是如何构建的。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41225242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档