---
title: "第五部分：使用 Altova UModel 分析现有应用程序"
date: "2009-06-15"
tags: 
  - "altova"
  - "c"
  - "java"
  - "missionkit"
  - "software-modeling"
  - "software-tools"
  - "uml"
  - "uml-tool"
  - "umodel"
  - "visual-basic"
description: 探索如何使用 Altova UModel 分析现有应用程序，包括生成 UML 图表和文档，以提升软件建模实践。
---
Status: #blog

Tags:  #altova #c #java #missionkit #software-modeling #software-tools #uml #uml-tool #umodel #visual-basic

Categories: [Altova](/blog/zh/category/altova.md) 
# 第五部分：使用 Altova UModel 分析现有应用程序

在系列文章的[第一部分](https://www.altova.com/blog/2009/04/analyzing-legacy-application-with.html)、[第二部分](https://www.altova.com/blog/2009/04/part-2-analyzing-legacy-application.html)、[第三部分](https://www.altova.com/blog/2009/05/part-3-analyzing-legacy-application.html)和[第四部分](https://www.altova.com/blog/2009/05/part-4-analyzing-legacy-application.html)中，我们使用了Altova UModel的[逆向工程](https://www.altova.com/zh/features_reverse_engineer.html)功能，为一款ATM银行模拟应用程序创建了UML图。在分析了现有架构之后，我们规划并实施了一个新功能，即取款手续费。即使在精简的版本中，我们更新后的[序列图](https://www.altova.com/zh/features_sequence_diagram.html)清晰地以图形方式展示了取款交易的嵌套逻辑结构。 

[![UML序列图（精简版）](https://www.altova.com/blog/images/Part5AnalyzingaLegacyApplicationwithAlto_C719/image1_thumb.gif "UML sequence diagram (reduced size)")](https://www.altova.com/blog/images/Part5AnalyzingaLegacyApplicationwithAlto_C719/image1.gif) 

今天早上，我们偶然在咖啡机旁遇到了ATM产品的负责人。“你已经在这个ATM代码上工作了一个多月了，”他说。“我什么时候才能看到你取得的成果？” 我们可以利用UModel的[生成文档](https://www.altova.com/zh/features_umodel_documentation.html)功能来满足这个要求。UModel可以自动为我们的项目生成定制的文档，格式包括HTML、Microsoft Word或RTF。在“生成文档”对话框的“包含”选项卡中，我们可以选择要包含的图表类型，并通过展开每个图表元素类型来指定报告的详细程度。 

[![Altova UModel 生成文档对话框](https://www.altova.com/blog/images/Part5AnalyzingaLegacyApplicationwithAlto_C719/image2_thumb.gif "Altova UModel Generate Documentation dialog box")](https://www.altova.com/blog/images/Part5AnalyzingaLegacyApplicationwithAlto_C719/image2.gif) 

对于概要报告，我们可以选择所有类型的图表。 此外，我们还会从“元素”列表中选择“类”，以便显示有关我们应用程序中类的更多信息。 UModel 会提示我们是否还希望添加从类派生的元素。 

[![Altova UModel 文档生成辅助工具](https://www.altova.com/blog/images/Part5AnalyzingaLegacyApplicationwithAlto_C719/image3_thumb.gif "Altova UModel Generate Documentation helper")](https://www.altova.com/blog/images/Part5AnalyzingaLegacyApplicationwithAlto_C719/image3.gif) 

在选择或调整其他文档参数，包括字体和大小之后，UModel 可以在几秒钟内生成报告。报告的第一页顶部，首先是图表索引，然后是元素索引。每个索引项都与文档中的一个书签相关联，可以通过超链接访问。 

[![Altova UModel 项目文档，Word 格式](https://www.altova.com/blog/images/Part5AnalyzingaLegacyApplicationwithAlto_C719/image4_thumb.gif "Altova UModel project documentation in Word format")](https://www.altova.com/blog/images/Part5AnalyzingaLegacyApplicationwithAlto_C719/image4.gif) 

无论您选择哪种格式，生成的报告都是完全可编辑的。例如，我们可以在报告中添加页眉或页脚，其中包含页码以及记录文档创建日期的标语。我们可以使用 UModel 创建的标语来创建我们的页脚。

[![Altova UModel 项目文档的宣传语](https://www.altova.com/blog/images/Part5AnalyzingaLegacyApplicationwithAlto_C719/image5_thumb.gif "Altova UModel project documentation tag line")](https://www.altova.com/blog/images/Part5AnalyzingaLegacyApplicationwithAlto_C719/image5.gif) 

我们的完整报告包含了所有描述现有ATM应用程序的UML图，其中包含详细的类图，展示了类的属性和操作。此外，每个类的说明都附带一个层次图，用于展示类之间的关系，以及一个列出了所有类关联的列表。随着项目的进一步发展，我们可以轻松生成报告的更新版本。我们甚至可以利用UModel的命令行功能或UModel API来自动化项目文档的创建，或者将报告的.html版本添加到我们的开发团队的Wiki中。但目前，我们只需要将报告通过电子邮件发送给ATM产品经理即可。 

## 结论
我们希望您喜欢这次使用 Altova UModel 分析遗留应用程序的实践。虽然我们在这里结束这个系列，但在实际应用中，我们的 ATM 应用程序还有很多工作要做。例如，允许用户接受费用或取消取款的功能尚未实现。或者，我们可以使用泛型、注解和枚举等较新的 Java 语言特性来更新遗留代码。 

如果您已经熟悉 UML，我们希望我们能向您展示一些新的技巧。如果您是开发人员，并且从未尝试过 UML，我们希望让您了解一下可视化软件建模的一些基本概念和优势。无论如何，如果您准备好在自己的项目中进一步应用这些知识，[请点击此处下载](https://www.altova.com/zh/download/umodel/uml_tool_enterprise.html) [Altova UModel](https://www.altova.com/zh/products/umodel/uml_tool.html) 的完整功能免费试用版。
