繁体   English   中英

UML 类图中的 Java Server Pages (.JSP) 文件

[英]Java Server Pages (.JSP) files in UML Class Diagrams

我正在为我即将开始的项目编写设计,我想知道我应该如何在我创建的 UML 类图中表示视图(jsp 文件)。 由于jsp文件不是类,它们适合在这里吗? 我不这么认为,因为这是一个类图,但我不知道我还应该如何表示这些,有什么想法吗?

JSP 文件被认为是视图文件,它们不是实际的函数/方法。 因此,他们应该被包含在UML类图。

我很抱歉,但我并不完全同意其他答案,纯粹从 UML 的角度来看。 从这个角度来看,jsp 文件是 Artifact 的一个例子,它是一种类。 jsp 文件的一个实例是一个对象,它与 Servlet 具有特定的“清单”关系(从 bdulac 的答案中借用;我不是 Java Web 方面的专家)。

来自 UML 规范(上层结构 v2.0 ,第 193 页):

10.3.1 工件(来自工件、节点)

工件是由软件开发过程或系统的部署和操作使用或产生的物理信息的规范。 工件的示例包括模型文件、源文件、脚本和二进制可执行文件、数据库系统中的表、开发可交付成果或文字处理文档、邮件消息。

再向下:

在元模型中,工件是表示物理实体的分类器。 工件可能具有表示工件特征的属性,以及可以在其实例上执行的操作。 工件可以涉及到其他工件的关联(例如,组合关联)。 工件可以被实例化以表示详细的复制语义,其中同一工件的不同实例可以部署到各种节点实例(并且每个可以具有单独的属性值,例如,对于“时间戳”属性)。

和:

用户定义的工件代表物理世界中的具体元素。 工件的特定实例(或“副本”)被部署到节点实例。 工件可能与嵌套在其中的其他工件具有组合关联。 例如,组件的部署描述符工件可能包含在实现该组件的工件中。 通过这种方式,组件及其描述符被部署到节点实例作为一个工件实例。

预期特定的配置文件将工件原型化为文件模型集(例如,以文件系统上的“文件扩展名”为特征)。 UML 标准配置文件定义了几个适用于工件的标准构造型,例如,«source» 或 «executable»(参见附录 C - 标准构造型)。 这些构造型可以进一步专门化为配置文件中的实现和特定于平台的构造型。 例如,EJB 配置文件可能将 «jar» 定义为可执行 Java 存档的 «executable» 的子类。

而且,JavaWeb 配置文件可能将 «jsp» 定义为扩展 «file» 的构造型。

最后:

从以前的 UML 的变化

对 UML 1.x 进行了以下更改: Artifacts 现在可以显示任何 PackageableElement(不仅仅是组件,就像在 UML 1.x 中一样)。

虽然工件通常会显示一个组件,但没有理由说它不能显示一个类(它也是“一个”PackageableElement)。 这就是为什么他们取消了工件只能显示组件的限制。 因此,纯粹从 UML 的角度来看,jsp 文件是一个类,因此可以是类图的一部分。

这样做是否有意义是另一个问题,但未经调查就不能忽视。

一切都取决于您使用 UML 的上下文。

UML distilled 中,Martin Fowler 区分了三种使用 UML 的方式:

  • 蓝图(UML 用于软件开发过程)
  • 草图(UML 用于系统的细节)
  • 可执行的 UML(使用 UML,其中 UML 是程序的持久源,在代码之前)

出于逻辑原因,大多数软件开发过程(蓝图模式)不允许您在类图中包含视图组件:UML 是关于OOP 的 在可执行 UML 中也是如此,换句话说,这就是user1556242所说的。

在蓝图或可执行 UML 模式中,唯一允许在其上表示视图组件的 UML 图是组件图部署图:这些图不显示特定于对象的功能。

但是,如果您处于草图模式,这是您在图表中包含 JSP 页面的合法权利,但这不应该是视图组件形式。 在类图中,您应该表示类。 您不应该代表 JSP 页面本身,而是代表它的对象形式。 JSP 在运行时被转换为 servlet 类(参见Wikipedia 文章),在 Tomcat 中这是通过Jasper完成的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM