![]() |
1
7
#1您在公司中创建了什么UML图? 我们使用由UML定义的整个图表集。我们特别大量地使用用例图、类图、序列图和状态机图。 #2 MS Visio是否能够创建上述所有图表? 确实如此,但我们通常不使用Visio,因为有许多工具更适合该工作。就我个人而言,我喜欢那些能让我很快地创建图表的工具,而不需要太多的繁琐和繁琐。那些强制遵循UML规范的工具(或者更糟的是,工具供应商对规范的解释)让我恼火。我发现其中一个特别有用的工具是PaceStar的 UML Diagrammer . #3.是否根据正在开发的应用程序类型选择UML图? UML可以用来描述任何应用程序的各个方面。然而,应用程序的性质将影响您选择使用的图表的类型和数量。 这里的大多数架构师都认为创建UML图并不能证明所涉及的时间是合理的。 UML图不需要花费太多时间来创建。关键是通过开发“刚好足够好”的模型来满足您的需求,从而避免降低回报。正如我上面提到的,我将我的建模工作集中在捕获系统的显著方面,而不是严格遵守UML规范。此外,我毫不犹豫地使用非UML图(或简单的文本)来建模系统的方面,如果这样做,我可以更好地交流感兴趣的系统方面。 |
![]() |
2
4
自从90年代发明UML以来,我就一直使用它,并且在大公司和小公司中都使用它来实现各种各样的目的。我将UML用于两个基本目的:作为 思考的记事本 (有时我不知道我的想法,直到我看到我画的东西;)作为一个 记录和交流设计的方式 . 这里是我如何使用它和一些经验法则。 我使用UML 其他工具不足时 用于可视化/建模。因此,如果您使用的是SQLServer数据库,则可以使用内置的设计图,并将其打印并粘贴到文档中。这里不需要UML。 在考虑设计问题时,我经常从一个墙到墙的白板开始,一旦设计明确了,我就转到UML图(或者从监视器到墙来回移动)。 JavaScript和Ajax开发 . 工具和可视化支持很弱。我使用UML来思考和展示复杂JavaScript应用程序的高级设计。(如果您正在研究Java应用程序,您可以使用构建在大多数Java IDE中的工具来可视化代码。另一方面,如果您正在开发一个javascript应用程序或拥有糟糕的工具,这就很难做到,因此UML可以填补空白。) 基于Web的应用程序的信息架构和导航 . 我使用UML在网页上显示网页、它们的关系和信息组件。同样的情况也适用于任何类型的GUI中的屏幕(它以前被称为用户体验模型)。我在基于Web的应用程序中使用REST URL。所以我注释页面对象以显示实际的REST URL。这样,我在整理页面的同时,也在思考其他部分。根据我的经验,这是最有用和使用不足的图表类型之一,可能是因为它不标准。它捕获了信息架构(您的域模型作为页面/屏幕集合的体验)和作为一组可导航视图的应用程序概念。通常,最接近用户的模型与应用程序域模型或数据库模型不匹配。有了这个模型,问题就迎刃而解了。我曾经在每个人都有自己的应用程序模型的项目上工作过:可用性人员、开发人员、数据库人员、企业架构师。但是没有人有正确的模型,用户体验模型充实了他们没有看到的东西。 基于代码的模型 . 我用Java和逆向工程的代码库和创建图表来记录设计。但是,因为Java工具是如此成熟,所以我很少需要逆向工程来理解代码。我使用的是便宜的企业架构师,它允许您对新代码进行反向工程,并将其与基于旧代码的UML图同步。 我把所有这些不同的图表放在一个项目中,它描述了 将系统设计为一组视图 . 我还将我的UML项目导出到XML,并将它们存储在我的版本控制系统中。图表发布在内部网上并插入到文档中。 组件图,从不。 如果我想描述组件,我只需要使用一个类图,并用一个模板对其进行注释:页面、视图、表——来表示我所描述的对象的类型。这对我来说很简单。我用 刻板印象严重 . 它们允许我基本上创建自己的图表类型,但仍然坚持使用大部分类图。 我用 序列图和活动图很少 但是他们可以 不可或缺、强大 有时。在设计阶段处理对象交互时的序列图。交互越复杂,就越需要序列图。(当序列图太复杂时,这个事实可能表明您需要简化您的设计。)我发现序列图在对我继承的新项目进行反向工程时最有用,并且需要快速跟上进度。我发现它们能给我在理解系统方面带来竞争优势。 最后,我倾向于 准物理模型 . 基于要编写的实际代码或实际系统的模型,但出于通信目的进行了一定程度的抽象和调整。在建筑宇航员和复杂的基于代码的模型之间的某个地方,这些模型比您的IDE的大纲视图有太多的细节和价值。 所以总结一下。当需要更好的可视化和其他工具出现问题时,我使用UML来思考和记录和交流设计。 |
![]() |
3
2
序言 我认为UML用例图对于映射应用程序的整体用户和功能区域非常有用。从技术上讲,这是一个业务分析师的工作,但是,如果一个不存在或不存在这种详细程度,这是一个花费很少时间来完成的练习,并且具有巨大的价值,可以让您对解决方案有一个大致的了解。 序列图在ASP.NET开发中也非常有用。它使得用例图中高层视图的组件易于分解和实现。 1.您在公司中创建了什么UML图? 一个也没有。UML不是BAS、开发团队等了解我目前工作的地方。然而,考虑到我们所做的开发类型:快速和中等规模的战术解决方案,价值确实不存在。 2.MS Visio是否能够创建上述所有图表? 对。 http://softwarestencils.com/uml/index.html 我建议您考虑一个允许UML->代码生成的工具 http://www.visual-paradigm.com/ 3.是否根据正在开发的应用程序类型选择UML图? 这是一种混合。UML是一组工具,可以以适合用户的任何方式使用。不同的图表类型(行为、结构和交互)及其子类型具有不同的用途。经过多年的UML处理(从90年代后期开始),我几乎只看到类、用例和序列图中的值。除此之外,它只是语义过载,在我参与的项目中几乎没有价值。 |
![]() |
4
2
在对象模型图之后,我发现 use case 图表是最有用的。 |
![]() |
ChumboChappati · UML:组合或依赖 7 年前 |
![]() |
Har · UML-两个实体之间的多重分解关系 7 年前 |
![]() |
dnjsdnwja · 地图属性的Uml类图替代 7 年前 |
![]() |
user1323 · 用例图。结合用例是好的还是坏的做法? 7 年前 |
|
eshkere111222333 · 聚合vs组成 7 年前 |