我正在为教育网站制作序列和类图,序列图中的所有对象都应该是类图中的一个类吗?
例如,在注册过程的序列图中,我需要一个名为“Data Base”的对象,它需要保存用户信息,“Date base”应该是类图中的一个类吗?它的功能是什么?它只是加载和保存吗?
我认为这取决于您的 UML 模型的形式、抽象和目的的级别。
Martin Fowler将 UML 称为 Sketch,将 UML 称为蓝图,将 UML 称为编程语言。
该术语得到了一些很好的使用。我认为“UML as Sketch”已经成为一种流行的模式,其目标是人与人之间就系统设计进行交流;不一定是正式的工程规范(即蓝图),也不适合作为代码生成器(即编程语言)的输入。
如果你想在 Sketch 模式下使用 UML,这是完全有效的,那么序列图不需要只使用在你的类图中定义的类。事实上,序列图中的一些对象/生命线根本不是类实例:
使用 UML 作为草图,由外部参与者或系统组件实现的方法实际上取决于您。您可以将数据库查询显示为execute query或更具体的内容,例如实际的 SQL 语句。图表的“正确性”在于它能够以正确的细节和形式与观众进行有效沟通。