在哪里可以找到 UML 图(而不是重新发明轮子)?
我目前正在尝试绘制一组 UML 图来表示产品、报价、订单、交付和付款。 这些图表可能是由我之前的一百万开发人员发明的。
- 是否有努力来标准化这些常见事物的建模? 甚至特定领域的建模(例如汽车制造)。
- 您知道是否存在某种包含 UML 图(类图、序列图、状态图...)的存储库?
I am currently trying to draw a set of UML diagrams to represent products, offers, orders, deliveries and payments. These diagrams have probably been invented by a million developers before me.
- Are there any efforts to standardize the modeling of such common things? Or even the modeling of specific domains (for example car-manufacturing).
- Do you know if there is some sort of repository containing UML diagrams (class diagrams, sequence diagrams, state diagrams...)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
有一场为某些领域记录(而不是标准化)模型的运动。 这些被称为分析模式,这是 Martin Fowler 提出的一个术语。 他实际上写了一本名为分析模式的书。 此外,他在他的网站上有一个专门部分,他在其中展示了其中一些模式,并附有通过 UML 图。
也许您会发现一些灵感来帮助您对域进行建模。 我强调了“灵感”这个词,因为我认为不同的企业虽然经营相同的领域,但有不同的要求,因此您可能读到的解决方案可能不适合您的问题。
There is a movement for documenting (as opposed to standardizing) models for certain domains. These are called analysis patterns and is a term Martin Fowler came up with. He actually wrote a book called Analysis patterns. Also, he has a dedicated section on his website where he presents some of these patterns accompanied by UML diagrams.
Maybe you'll find some inspiration that will help you in modeling your domain. I've stressed the word inspiration as I think different businesses have different requirements although they operate the same domain so the solutions you might read about may not be appropriate for your problem.
有很多工具可以同时实现这两种功能 - 但它们通常不是免费的!
Microsoft Visio 两者兼而有之,并且是可扩展的。 对于 UML 工件,它们附带自动生成器生成 VB/Java 模板代码 - 但您可以修改它们以自动生成任何代码。 许多 Visio 用户创建了模型来用作模板。
Artisan Enterprise 是迄今为止最强大的 UML 工具(但它并不便宜)。
有些人会认为 Rational Rose 或 RUP 是更好的工具,
但对于汽车制造和其他类似的现实世界建模,迄今为止最好的工具是 Mathworks Simulink(不是因为它是最昂贵的工具之一)。 它是迄今为止最好的工具,因为您可以为模型设置动画 - 您可以在生成 slik 代码之前证明模型可以工作(以您想要推送的任何语法/语言/其他模型)!
您可以花费约 180 英镑获得学生许可证; “真品”售价高达 4000 英镑(与汽车相关的文物)。 完整的产品加上所有的装饰大约是 15,000 英镑。 Simulink 还可以使用类似 C 的语言进行扩展,尽管有一个 .Net 插件和 API 可以使用大量其他语言。 而且,就像 Visio 一样,有一个创建可销售、共享软件和应用程序的全球论坛。 免费软件现实世界模型模板。 全球许多汽车制造商已经在使用 Simulink。
There are many tools out there that do both - but they're generally not free!
Microsoft Visio does both and is extensible. For UML artefacts they come with auto generators into VB/Java template code - but you can modify them to auto-generate any code. There are many users of Visio that have created models from which to use as templates.
Artisan Enterprize is by far the most powerful UML tool (but it's not cheap).
Some would argue that Rational Rose or RUP is the better tool
But for Car-Manufacturing and other similar real world modelling, by far the best tool is Mathworks Simulink (not because it's one of the most expensive). It is by far the best tool beccause you can animate the model - you can prove the model working before generating the slik code (in whatever grammar/language/other Models you care to push it)!
You can obtain a student license for around £180; with the 'real thing' pushing £4000 (for car-related artefacts). The full product with all the trimmings is about £15k. Simulink is also extensible with a C like language though there is a .Net addin and APIs to use a plethora of other langhuages. And, just like Visio there is a world-wide forum creating saleable, shareware & freeware real world model templates. Many world-wide Auto-Manufacturers are already using Simulink.
我认为 MiniQuark 问题非常好,迟早会由 Omondo、Rational IBM 等供应商提供...用户不仅仅需要工具,他们需要开箱即用的模型,只需将他们的业务规则添加到一个模型中即可。现有的定义良好的架构。 如果工作已经完成,为什么还要从头开始开发新的架构呢? 在 Java 中,我们使用大量框架、现有方法等……那么为什么不更高一级并重用架构呢? 如今,我们不可能猜测项目将如何演变,而且每天都会有新的需求出现。 因此,我们需要一个之前已经过测试且可扩展的稳定架构。 我见过很多项目从一个很好的架构开始,然后在项目中间意识到这不是最好的,然后改变他们的架构。 重命名类、拆分类、创建包等……在第一次迭代之后,事情变得一团糟。 你能想象我们在 10 次迭代后发现了什么吗? 一团糟!
如果使用先前已经测试过的预定义模型,则可以避免这种混乱,因为缺少的类或包等已经被创建,并且仅类重命名就足以满足架构目的。 添加业务规则方法将结束部署测试之前的编码阶段。
我认为模式和与 UML 模型可重用性相关的最初问题之间存在混淆。
目前还没有开发出任何开箱即用的可重复使用模型。 这确实很奇怪,但这项工作从未完成或从未被共享过。
Omondo 曾尝试发起一项举措,但没有取得真正的成功。 我听说他们正在开发数百个开箱即用的模型,这些模型将开源并免费提供给社区。 我希望这能够完成,因为这对我来说非常重要,并且会在项目开始时节省我很多时间。
I think that MiniQuark question is really good and will sooner or later be provided by vendors such as Omondo, Rational IBM etc... Users doesn't just need tools, they need models out of the box and just add their business rules inside an existing well defined architecture. Why to develop from scratch a new architecture if the job has already be done ? In Java we use plenty of frameworks, existing methods etc...so why not to go one level higher and reuse architecture ? It is today impossible to guess how a project will evole and new demands are coming every day. We therefore need a stable architecture which has been tested previously and is extensible. I have seen so many projects starting with a nice architecture then realizing in the middle of the project that this is not what is the best and then changing their architecture. Renaming classes, splitting classes, creating packages etc...after the first iteration it is getting a real mess. Could you imagine what we found after 10 iterations !! a total mess !!
This mess would had been avoided if using a predefined model which has been tested previously because the missing class, or package etc..would have already been created and only a class rename would be sufficient for architecture purposes. Adding business rules methods will end the codding stage before deployment test.
I think there is a confusion between patterns and the initial question which is related to UML model re usability.
There is no today any reusable model out of the box which has been developped. This is really strange but the job has never been done or never been shared.
Omondo has tried to launch an initiative without real success. I have heard that they are working on hundred of out of box models which will be open source and given for free to the community. I hope this will be done because this is really important for me and would save me a lot of time at the beginning of a project.