我开发Android应用已经有一段时间了,但我并没有从任何特定的图表开始。现在是时候做一些真正的图表了,但我不知道怎么做。不是因为我不熟悉UML,而是因为Android和它的组件。
例如,我的应用程序要求用户需要登录才能看到菜单。从那里,用户可以选择他想要的选项。用户也可以进行注册。
虽然这可能是一个愚蠢和简单的例子…关键是……我没有使用任何带有getter和setter的名为Person的类;或任何带有getter、setter和其他方法的名为"Request"的类。我的应用程序使用类像"Login.class","Login.class","Login.class","MenuActivity.class","HistoryActivity.class"。
我的问题是……如何在Android应用程序中使用UML ?我的意思是,我不能有一个概念模型图,上面写着"Person"-----"Request",对吧?我想你混淆了不同类型的UML图类型,
,
UML结构图
- 类图
- 包装图
- 对象图
- 组件图
- 复合结构图
- 部署图
行为UML图
- 活动图序列图
- 用例图
- 状态图
- 通信图
- 交互概览图
而且,我想你说的是类图。因为类图是技术性的,并且是针对开发团队的,所以在你的类图中拥有所有这些Login.class、Login.class、MenuActivity.class、HistoryActivity.class是完全可以的。
但是您可以在其他UML图(例如用例)中使用像Person、Request等概念性的东西。因为在这个图中,这是针对许多用户的,而不仅仅是开发人员,所以使用MenuActivity没有任何意义。使用概念性实体是这里的方法。
好运您的示例表明您正在尝试捕获某种用例。在这种情况下,您可能需要一个活动图来演示更高层次的视图,或者如果您更关心更详细的视图,则需要一个通信图。
UML不关心编程语言、平台等等。它的主要目的是提供一种符号,可以用来交流思想,而不必涉及太多细节。因此,您需要考虑的第一件事是为什么首先需要图表,以及您希望与哪些进行通信。有了这些问题的答案,你需要什么样的图表就很清楚了。
有"4+1模型"这样的东西,它旨在将软件模型分成几个视图。这些视图显示了软件的不同方面,并关注不同层次的细节。例如,在统一过程中,建议从解决方案的"顶部"到"底部"建模,从用例和主要特性的高级概述到实际的实现细节。UML也支持提供不同类型的图。
所以如果我明白了,我可以使用这些概念术语(Person, Request),即使它们根本不是具有这些名称的任何类……他们被用作一个例子,对吧?
你确实可以,但是在像Activities这样具有低级特性的图中不行。您可能想要构建一个域类图,它将包括person和其他与您的应用程序相关的实体,但不会真正在代码中表示。