Uml 序列图上的所有对象都应该在类图中设计吗?

Uml 序列图上的所有对象都应该在类图中设计吗?,uml,class-diagram,Uml,Class Diagram,我正在为教育网站制作序列和类图,序列图中的所有对象都应该是类图中的类吗 例如,在注册过程的序列图中,我需要一个名为“数据库”的对象,用于保存用户的信息,“数据库”应该是类图中的类吗?它的功能是什么?是的,数据库将是类图中的一个类,其功能可以是validation(),generatingErrorMessage()等。是的,数据库将是类图中的一个类,其功能可以是validation(),generatingErrorMessage()等。我认为这取决于形式、抽象和,以及UML模型的用途 讨论UM

我正在为教育网站制作序列和类图,序列图中的所有对象都应该是类图中的类吗


例如,在注册过程的序列图中,我需要一个名为“数据库”的对象,用于保存用户的信息,“数据库”应该是类图中的类吗?它的功能是什么?是的,数据库将是类图中的一个类,其功能可以是validation(),generatingErrorMessage()等。

是的,数据库将是类图中的一个类,其功能可以是validation(),generatingErrorMessage()等。

我认为这取决于形式、抽象和,以及UML模型的用途

讨论UML作为草图,UML作为蓝图,UML作为编程语言

这一术语得到了很好的使用;我认为“UML作为草图”已经成为一种流行的模式,其目标是关于系统设计的人与人之间的交流;不一定是正式的工程规范(即蓝图),也不适合作为代码生成器(即编程语言)的输入

如果您想在草图模式下使用UML,这是完全有效的,那么序列图不需要只使用类图中定义的类。事实上,序列图中的一些对象/生命线根本不是类实例:

  • 它们可能是用例图中定义的“参与者”(也可能不是)。演员通常是人,因此被描绘成木棍人物。“最终用户”是序列图中包含的常见参与者。很多
  • 它们可能是未在类模型中定义的外部系统,如数据库。您的系统可能有一个类或一组类来抽象数据库,即“数据访问层”或DAL。但话说回来,您的系统可能没有DAL;即使这样,您可能仍然希望序列图显示DAL和实际数据库之间的跨边界交互

使用UML作为草图,由外部参与者或系统组件实现的方法实际上取决于您。您可以将数据库查询显示为
executequery
,或更具体的内容,如实际的SQL语句。图表的“正确性”在于它能够以适当的细节和形式与受众进行有效沟通。

我认为这取决于形式、抽象和UML模型的目的

讨论UML作为草图,UML作为蓝图,UML作为编程语言

这一术语得到了很好的使用;我认为“UML作为草图”已经成为一种流行的模式,其目标是关于系统设计的人与人之间的交流;不一定是正式的工程规范(即蓝图),也不适合作为代码生成器(即编程语言)的输入

如果您想在草图模式下使用UML,这是完全有效的,那么序列图不需要只使用类图中定义的类。事实上,序列图中的一些对象/生命线根本不是类实例:

  • 它们可能是用例图中定义的“参与者”(也可能不是)。演员通常是人,因此被描绘成木棍人物。“最终用户”是序列图中包含的常见参与者。很多
  • 它们可能是未在类模型中定义的外部系统,如数据库。您的系统可能有一个类或一组类来抽象数据库,即“数据访问层”或DAL。但话说回来,您的系统可能没有DAL;即使这样,您可能仍然希望序列图显示DAL和实际数据库之间的跨边界交互

使用UML作为草图,由外部参与者或系统组件实现的方法实际上取决于您。您可以将数据库查询显示为
executequery
,或更具体的内容,如实际的SQL语句。图表的“正确性”在于它能够以适当的细节和形式与受众进行有效的沟通。

此外,类中的操作直接对应于序列图中的消息。除非这些消息是异步信号。@jiml,否则它们对应于接收。一句话。不要调用类数据库,除非您描述的是数据库引擎。在你的情况下,应该是UserRegister。这正是我的观点。有时消息对应于信号接收,放松了Thomas的僵硬陈述。而且类中的操作直接对应于序列图中的消息。除非这些消息是异步信号。@jiml,否则它们对应于接收。一句话。不要调用类数据库,除非您描述的是数据库引擎。在你的情况下,应该是UserRegister。这正是我的观点。有时消息对应于信号接收,放松了Thomas的僵硬陈述。序列图中的元素表示系统设计的元素。当然,系统的任何元素都应该以某种方式在类图中表示。序列图中的元素表示系统设计的元素。当然,系统中的任何元素都应该以某种方式表示在类图中。令人惊讶的答案,因为它清楚地告诉我,当一个人谈论SD时,他们可能指的是两种不同的东西,它们在不同的抽象层次上有着不同的用途。我认为这应该是公认的答案!谢谢。令人惊讶的答案,因为它让我清楚,当一个人谈论SD时,他们可能指的是两种不同的东西,它们在不同的抽象层次上有着不同的用途。我认为这是一个好消息