在编码项目之前如何选择正确的UML图?

时间:2014-05-10 23:40:21

标签: uml

我认为移动应用程序是个好主意。该应用程序将包含本机移动应用程序,我将拥有一个后端服务器,它将执行各种功能 - 例如刷新数据源并将数据解析到数据库中,响应用户查询等。

在我开始编码之前,我想确保能够绘制出我需要的所有内容,以便确保我有我需要的方向。但是,我不确定我是否应该从类,活动或序列图开始。

我几乎知道前端应该如何工作,我有一些流程图显示了用户如何进行交互的基础知识,但是我想在后端工作并确保一切都是应该的方式。任何帮助表示赞赏!

EDIT 所以我认为我的主要问题是:我有一个应用程序的想法,并绘制了一个基本的流程图。我想在编码之前绘制出所有的进程和活动,这样我就能理解我需要什么对象和函数,以及一切应该如何交互。我的流程图非常简陋,并且有几个并发进程(即用户可以启动某些活动,但在后台服务器可能正在轮询第三方数据源,等等)。计划这个的最佳流程是什么?

3 个答案:

答案 0 :(得分:2)

你有没有在没有UML的情况下做过一些软件开发?你做过分析,设计吗?

我问这是因为UML必须对软件方法做很少的事情。它只会为您提供一组视觉上的支持,以支持您的方法论,无论它们是什么。 UML提出了各种不同的图表,允许建模者描绘正在开发的系统的几乎所有方面。

如果您已经拥有自己喜欢的软件方法,特别是如果它适用于您,我建议只使用正式的建模符号和规范(UML)来丰富它,保持相同的过程和步骤。只有你知道你制作了什么样的规格,并且能给你带来好的结果。在这些步骤中使用UML,只更改规范的格式而不是方法本身。

在学习UML图时,请关注每个图强调的内容(例如,在HW结构上的部署,在用户 - 系统交互上的UC,在协作对象和消息交换上的序列,在过程,任务和数据上的活动)流动等)。 根据您要表达的内容,选择适当的UML图表。

我的建议是慢慢地逐渐将UML纳入您的方法论并坚持坚实的基础。一次学习一两个图,而不是试图使用一切。如果你不确定是否要绘制图表 - 不要这样做。如果你错过了一些规范 - 制作图表。专注于你要展示的内容(内容),而不是使用什么图表(表单)。

答案 1 :(得分:1)

我将描述我们在项目中使用的agile modeling版本。我们正在构建一个大型应用程序(几千行代码),并且一个过程是绝对必要的。在一个小应用程序中,您可能会发现过度杀伤。另一方面,遵循该流程的所有步骤都具有教育意义,可以帮助您澄清系统的某些方面。任何建模技术都旨在帮助您,因此您应该选择您认为有用的任何内容并忽略其余内容。

  1. 首先确定用例。确定用例并简要描述每个用例。用例图对您来说不是很有用。它们对于您想要解释系统内容的其他人是有用的。对系统开发有用的是用例的描述。在这个阶段,简短的描述(几行)就足够了。
  2. 详细说明每个用例的事件流。您可以使用纯文本执行此操作,但活动图表可提供更好的可视化效果。
  3. 逐个获取活动图,并确定哪个类将完成每个活动。完成后,您将了解需要开发哪些课程。所以你可以继续下一步。
  4. 制作类图,以显示类及其关系。通常这里有一个问题:我应该绘制多少个类图,以及我应该想象多少信息。这取决于:绘制尽可能多的图表,以便为您的设计提供良好的可视化。
  5. 现在你有一个设计,你可以开始编码。但是,为最重要的方法绘制序列图或协作图可能很有用。
  6. 通常这已经足够了,但在某些类型的问题中,状态图可能对于可视化类或模块的状态更改很有用。
  7. 如果您需要更多UML,那么您还可以绘制部署图,以显示应用程序的哪些部分部署在客户端上以及哪些部分部署在服务器上。
  8. 希望它有所帮助。不要忘记,只选择有助于您构建更好代码的步骤和图表。这些图只有一个目的:帮助您(和您的团队)编写代码。

答案 2 :(得分:0)

尝试绘制Sequence diagram,但您需要完成。

  

1-数据流图是一个简单的行为图。

     

2-类图是一个结构图,将帮助您专注   你的申请结构。

然后你可以处理序列图(行为),如果你完成序列图,那么你已经准备好编码了,我建议你在开始编码之前不要去更详细的图表。