我正在编写一个我即将开始的项目的设计,我想知道我应该如何在我创建的UML类图中表示视图(jsp文件)。由于jsp文件不是类,它们适合这里吗?我想不是因为这是一个类图,但我不确定我应该如何表达这些,任何想法?
答案 0 :(得分:2)
JSP文件被视为视图文件,它们不是实际的函数/方法。因此,它们应该 NOT 包含在UML类图中。
答案 1 :(得分:1)
对不起,但我完全同意其他答案,从纯粹的UML角度讲。从这个角度来看,jsp文件是Artifact的一个例子,它是一种类。 jsp文件的一个实例是一个对象,它与Servlet有一个特殊的“清单”关系(借此来自bdulac的答案;我不是Java Web的专家)。
来自UML规范( Superstructure v2.0 ,第193页):
10.3.1神器(来自神器,节点)
工件是由软件开发过程或系统的部署和操作使用或生成的物理信息的规范。工件的示例包括模型文件,源文件,脚本和二进制可执行文件,数据库系统中的表,开发可交付文件或文字处理文档,邮件消息。
再向下:
在元模型中,Artifact是一个表示物理实体的分类器。工件可能具有表示工件特征的属性,以及可在其实例上执行的操作。工件可以涉及与其他工件的关联(例如,构图关联)。可以实例化工件以表示详细的复制语义,其中可以将相同工件的不同实例部署到各种Node实例(并且每个实例可以具有单独的属性值,例如,用于'时间戳'属性)。
并且:
用户定义的工件代表物理世界中的具体元素。工件的特定实例(或“副本”)部署到节点实例。工件可能与嵌套在其中的其他工件具有组合关联。例如,组件的部署描述符工件可以包含在实现该组件的工件中。以这种方式,组件及其描述符作为一个工件实例部署到节点实例。
期望特定的配置文件将构造型工件刻板印象以模拟文件组(例如,由文件系统上的“文件扩展名”表征)。 UML标准配置文件定义了几种适用于工件的标准原型,例如“源”或“可执行”(参见附录C - 标准刻板印象)。这些刻板印象可以进一步专注于配置文件中的实现和平台特定的构造型。例如,EJB配置文件可能将«jar»定义为可执行Java归档的«executable»的子类。
并且,JavaWeb配置文件可能将«jsp»定义为扩展«file»。
的构造型最后:
以前的UML的变化
以下是对UML 1.x的更改:工件现在可以显示任何PackageableElement(不仅仅是组件,如UML 1.x)。
虽然工件通常会显示一个组件,但没有理由说它不能显示一个类(它也是“一个”PackageableElement)。这就是为什么他们删除了工件只能显示组件的约束。因此,纯粹从UML的角度来看,jsp文件是一个类,因此可以成为类图的一部分。
这样做是否有意义是另一个问题,但如果不进行调查就不能解雇。
答案 2 :(得分:0)
全部取决于您使用UML的上下文。
在UML distilled中,Martin Fowler区分了三种使用UML的方法:
大多数软件开发过程(蓝图模式)都不允许您出于逻辑原因在类图中包含视图组件:UML约为OOP。在可执行的UML中也是如此,换句话说,这就是user1556242所说的。
在蓝图或可执行UML模式中,允许在其中表示视图组件的唯一UML图是the component diagram和the deployment diagram:这些图不显示特定于对象的特征。 / p>
但是,如果您处于草图模式,这是您在图表中包含JSP页面的合法权利,但这不应该是视图组件表单。在类图中,您应该表示类。您不应该代表JSP页面本身,而应该代表它的对象形式。 JSP在运行时被转换为servlet类(参见Wikipedia article),在Tomcat中这是通过Jasper完成的。