Java 如何使UML图保持最新?
我有物理背景,而不是计算机科学背景,在大学里从来没有上过任何关于类图/组件图等的课程,我从来没有发现在工作中需要使用它们 我不明白的主要问题是,如果代码仍在开发或维护中,如何使它们保持最新 e、 有什么能阻止我重构几个方法或类并使类图过时 您是否必须不断手动更新图表 我见过从代码生成UML的工具,我想这些工具可以使它保持最新,但从我所看到的,自动生成的图表似乎不够有用Java 如何使UML图保持最新?,java,uml,Java,Uml,我有物理背景,而不是计算机科学背景,在大学里从来没有上过任何关于类图/组件图等的课程,我从来没有发现在工作中需要使用它们 我不明白的主要问题是,如果代码仍在开发或维护中,如何使它们保持最新 e、 有什么能阻止我重构几个方法或类并使类图过时 您是否必须不断手动更新图表 我见过从代码生成UML的工具,我想这些工具可以使它保持最新,但从我所看到的,自动生成的图表似乎不够有用 一个项目的UML是否可能在一开始就创建,然后放在文档文件夹中,并逐渐变得越来越过时?虽然这不是一个通常会被回答的问题,但我看到和
一个项目的UML是否可能在一开始就创建,然后放在文档文件夹中,并逐渐变得越来越过时?虽然这不是一个通常会被回答的问题,但我看到和听到的是: 项目的软件开发计划必须定义如何进行设计,如果使用UML,则必须定义如何对软件进行更新。该计划可以定义UML是“一次性的”——因此在第一次设计进展为代码之后,它确实被遗忘了。OTOH,严格的后续规则和随后的检查可能需要并保证在错误修复(如果需要)或更广泛的更改期间更新UML设计。(通常情况下,您甚至可能需要回到需求并在那里进行更新。)
一种完全不同的方法是从UML生成代码——这样您就永远不会更改代码。不管是这样还是不工作,考虑到UML的表达能力和java语言或C++语言的语言和语义如何实现各种图表的语义,我非常希望回答比销售人员的更可靠的数据。类图通常是无用的。通用代码更改太频繁,因此使用UML图会增加太多负担 可能的例外情况包括:
- 架构(组件级)图。创建一次,很少更改,对其他人有用
- 商业模式。若您的应用程序在复杂模型上运行,那个么从UML表示生成类可能是值得的。如果您有许多应用程序在同一个模型上运行,那么这个UML会变得非常有价值
- 大学项目-无评论:-)
- 架构师使用UML图对公司数据模型的任何更改和扩展进行建模。通常会有一个概念模型类图,加上几个说明系统各个部分如何交互的序列图,可能还有几个组件图
- 我们和业务分析师、DBA和主要开发人员进行了一次演练。这种想法是为了挑战新模型,并就变更达成一致意见(在这些会议上有很多“强有力的”讨论)。有了一个好的架构师,变化是最小的
- 高级开发人员创建一个技术规范,该规范通常包括基于体系结构模型的物理数据库ER图。从物理模型中,我们自动生成一个数据库创建脚本
- DBA升级创建脚本(例如添加表空间和索引空间信息)并创建/扩展数据库
- 代码会被编写出来。开发人员可以创建自己的迷你类层次结构(例如,携带数据的POJO)。我们不需要费心在UML中建模,因为代码应该是自文档化的,随着代码的发展,更改是不可避免的
- 在开发阶段经常会发生变化,特别是在使用敏捷方法的情况下。如果这些对公司数据模型有影响,那么UML和ER图将被更新李>
- 在项目结束时,更新文档以反映“竣工”状态
- 提前做好设计。对逻辑模型的更改既昂贵又难以实现
- 使用一个建模工具,该工具将支持来自同一数据源的所有工件。即,初始UML逻辑模型、数据库ER图和数据库创建SQLDDL。我们使用企业架构师,但还有很多其他工具可以做到这一点
- 使用UML对“大图”进行建模,而忘记它来描述详细的编码。一个好的经验法则是,如果模型的任何更改影响的不仅仅是您的团队,那么您需要UML。(例如,新的数据库字段可能需要更改数据库、更改web服务、更改GUI和更改大型机批处理过程。UML在以多个团队可以理解的方式定义数据更改方面具有一定的地位)