2014-12-19 67 views
0

有可能(推荐)创建一个MVC动作的UML图,包括Web系统的表单域?来自web应用程序的详细UML图

例如,创建一个UML下列步骤:

控制器:的TestController 操作:的actionIndex

步骤:

上传POST数据和验证模型

如果加载和验证:保存 如果未加载或未验证:加载视图

In查看,我们有一个有几个字段的表单,其中一个字段是一个单选按钮列表,其中有两个选项:“是”和“否”。如果设置为“是”,则显示隐藏的另一个字段。

是可能的,但建议做?如果被建议做,就像一个例子。

+0

这样的UML图服务的目的是什么?没有目的,没有图。 – 2014-12-19 04:32:22

回答

0

是否建议创建包含Web系统表单字段的MVC操作的UML图?

一个真正的MVC方法是基于模型类,其包含整个验证逻辑,并且可以与UML类图来建模(见我CodeProject上的文章 Integrity Constraints and Data Validation)。 CRUD操作的UI(“视图”)基于此模型。例如,表单通常绑定到模型类,并且表单字段绑定到该模型类的属性,并且他们从该模型属性的定义中获得它们的验证逻辑(例如,是强制性的)。

因此,当您为模型类制作类图时,还隐式建模了大部分“视图”。而控制器只是将“视图”与模型类连接起来的事后考虑。

1

观光UML(UML元素)属于四个类别(The UML user guide)之一:

  • 结构东西
  • 行为东西
  • 分组东西
  • 注释性的东西

MVC是定义结构特征的设计模式。您打算为行为特征建模:一个序列(而不是UML含义)的操作。

我认为描述您的系统最合适的图将是一个交互图:activity diagram。但不幸的是,这不会显示您的MVC系统的结构方面。使用sequence diagram(另一个交互图)将允许您对相关对象进行建模,并通过引发结构信息的方式进行建模。选择取决于您的软件开发方法:在启动项目时使用顺序图很不明智(对象和类通常在最新阶段定义)。

UML不允许您表示UI组件,因为它是一种用于建模的语言。还有另一种OMG语言:IFML用于交互和UI的流程。但它不会让你模拟一个表单。它来源于另一种(非标准)语言:WebML,它具有一个称为超文本模型的有趣功能(它现在不是IFML的一部分),但是这对您的表单无济于事。为此,您应该使用草图工具(例如Pencil sketching)。

+0

感谢您的回复。管理软件项目对我来说会很有趣?你有什么迹象? – 2014-12-20 06:45:08

+0

@AndersonScoutodaSilva有专门的Stack Exchange站点来讨论软件项目管理。这不是关于堆栈溢出的主题。请参阅[程序员堆栈交换](http://programmers.stackexchange.com/help/on-topic)和[项目管理(测试版堆栈交换)](http://pm.stackexchange.com/help/on-topic) – xmojmr 2014-12-20 07:01:13

相关问题