用动物园的类图结构来举例,先抽象化动物类如图所示:

一个类图包括类名、属性和行为,类名不用解释,在介绍属性和行为前,先了解一下访问权限:
‘ - ’ private:只有类内部的成员才能访问
‘ + ’ public:类内部和类外部都能访问
‘ # ’ protected:类内部和它的子类才能访问
‘ ~ ’ package/default:同一个包中任何其它的类都能访问
属性以” -name:string“为例,' - '表示访问权限为private,'name'是属性名,'string'是属性name的数据类型。
行为以”-eat():bool“为例,' - '表示访问权限为private,'eat'是行为名,'bool'是行为eat的返回值。
此外,多重性指在类之间关系连接上的数字,表示它们之间的数量约束,如1表示只能有一个,1...*表示有一到多个。
看到类图,我们先看清有什么类,再看类之间的关系和多重性,从而理解整个类图的结构和各个属性和行为的含义。

在这个类图中,首先看到User用户类,它有4个属性和一个方法,用来实现用户的登录。
随后是Administrator管理员类和Customer顾客类,它们都是User的子类,继承User所有的属性和方法,同时也有自己特定的属性和方法,比如Administrator可以updateCatalog更新目录。
再看Customer类,有Shopping Cart购物车类和Order订单类和它组合,意味着若Customer类被销毁,那么Shopping Cart类和Order类也将消失,它们不能独立存在于Customer外部。Customer可以有任意个(0...*)Shopping Cart和Order,但Shopping Cart和Order只能有一个Customer。
最后看Order类,Shipping info发货信息类和Order Details订单详情类也和它组合,Order只能有一个Shipping info和一个Order Details,Shipping info和Order Details也只能有一个Order。
我总是听说UML在Java项目中使用,但从未在Ruby项目中使用。这仅仅是文化差异,还是Ruby开发中对建模的需求较少,因为它是更“敏捷”文化的一部分? 最佳答案 显然你不能将这一点推广到每个人,但是使用Ruby和Python等语言的程序员往往不太喜欢大型设计文档和UML,因为他们认为他们选择的语言足够简洁和富有表现力,所以它不是总是必要的。有一种感觉,“我可以花时间在UML中绘制出所有这些......或者我可以编写一些Python来实际实现设计并用我喜欢阅读的语言表达它并且很多人可以阅读。”Java程序往往比Ruby或Python
有人能为ruby和rubyonrails推荐一些好的uml/建模工具吗?从UML图生成代码和从现有代码生成图都是很好的。 最佳答案 检查“UMLtoolsforRuby”(即,从uml图生成一些ruby代码的工具,或者反过来,从ruby代码生成一些uml图的工具)。 关于ruby-on-rails-如何从现有的Ruby代码生成UML图?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/question
【辰兮要努力】:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行!博客来源于项目以及编程中遇到的问题总结,偶尔会有读书分享,我会陆续更新Java前端、后台、数据库、项目案例等相关知识点总结,感谢你的阅读和关注,希望我的博客能帮助到更多的人,分享获取新知,大家一起进步!吾等采石之人,应怀大教堂之心,愿我们奔赴在各自的热爱里…一、IDEA安装插件进入扩展程序安装File>Settings>Plugins>BrowseRepositories搜索SequenceDiagram,点击右边Install安装,然后重启IDEA。二、生成时序图在需要生成流程时序图的
请UML专家帮助布置javascript特定图表。注意:react、FluxArchitecture、reactwithredux需要经验。我需要有关如何表示React应用程序(容器和子组件)的结构和行为的设计决策方面的帮助。使用Sparx企业架构师的目标是拥有标准的UML设计,以便整个团队(其中许多人对技术不是很熟悉)可以理解发生了什么,而且UI开发人员可以使用它进行开发。在我们决定了我们需要的UML类(ReactComponents)、Containers、表示Views以及我们仍在努力的行为之后与:貌似每个主要容器都需要用两张图来完整表示,一张结构图,一张行为图?如果设计遵循约定
目标我的目标是从我的JavaScript项目(由几个.js文件组成)中获取UML模型并将其存储为XMI。我走了多远我在网上搜索了一下,发现js/uml是第一个去的地方。我已经设法让js/uml插件与Eclipse3.7.1(Win32)一起运行,并在本地安装我预先下载的附加插件:mdt-uml2tools-Update-incubation-I201103290512.zip(安装所需的org.eclipse.uml2.diagram.clazz0.10.0)jsuml-eclipse-0.8.4.zip(仅适用于Eclipse3.7.1(Indigo))我将提供的示例项目jsuml-
我在为我的JavaScript应用程序绘制准确的UML类图时遇到了一些问题。我已经阅读了一些UML引用资源,但仍然没有找到适合我的情况的答案,因为所有示例都是基于C++/Java的经典继承和类模型。我想用构造函数及其原型(prototype)对象的扩展来表示自定义JavaScript对象的创建,这与C++/Java类实例化完全不同。您将如何使用UML类图表示我的代码的这个简化版本?varBook=function(title,author){this.title=title||'Notitlespecified';this.author=author||'Noauthorspecifi
我想在浏览器上显示UML图(事件图)我不需要特定的方式来创建UML,我可以使用任何方式创建它以获得我想要的内容。我搜索了一下,一无所获。所有UML编辑器都可以导出到XMI。我希望找到一个已经制作好的XSL文件来在浏览器中显示这个XMI文件,但我找不到。 最佳答案 这在今天是不可能的,因为模型有一个图形层和模型层。一种解决方案是使用adobedynamicsvg技术来深入了解将映射到项目模型的信息。它可以工作并且将是一项伟大的技术创新,但我怀疑任何资本天使会在今天的建模市场上投资!! 关于
我有一个任务,我们需要从XML生成UML(或类似的),并且能够编辑文本、属性类型和拖动依赖行。但是我找不到任何允许我这样做的Java库或组件。例如PlantText是一个很好的库,但它不允许进行编辑。如果有人知道这样的库/组件,请分享。谢谢编辑:抱歉,可能我没写清楚。实际上,我需要可以在我的项目中实现的库,然后我就可以从我的项目中生成UML,然后编辑它并保存到XML中。 最佳答案 draw.io是一个非常好的站点,您可以在其中创建(不仅是)UML并将它们保存到XML文件中,以便将来您可以对其进行编辑。缺点是它不是自动的,必须从头开始
我正在尝试将一些uml图(单例、抽象工厂...)转换为Z规范,首先我使用starUML将我的uml图转换为xml文件,然后我使用xsl程序和saxon将我的xml文件转换为.tex(forZ),但没有成功。如果有人知道应该如何编写xsl程序(可能只是步骤),那就太好了。谢谢 最佳答案 我会说,这通常是一个非常糟糕的主意。有许多不同的格式用于存储UML。XMI是一个标准,但是据我所知至少有三个不同的版本,而且它们非常复杂。使用XSLT将XML转换为TeX也一定是一个很大的障碍,特别是当您试图获得Z规范时,这些规范是afaik功能和过程
我正在开发一个基于spring框架的项目,所有依赖项都已在xml文件中定义为beans。我需要使用SpringIDE查看类图和它们之间的依赖关系。这个工具可以显示所有类的图表,这些类具有在xml中定义为beans的依赖关系。任何人都可以帮助我知道如何做到这一点。我如何使用springIDE查看类图..提前致谢 最佳答案 如果您使用的是springsource工具套件(STS),您可以通过选择您的项目并右键单击app-configxml文件并选择“打开依赖关系图”从SpringExplorerView中查看它。要打开Spring资源管