建立应用程序模型

在 Visual Studio 旗舰版中创建模型可帮助您确保应用程序满足用户需求。 可以创建不同详细级别的模型,并将这些模型相互关联,或将这些模型关联到测试和开发计划。可以在整个应用程序生命周期中作为开发过程的一部分创建和开发模型。 有关更多信息,请参见:

若要向此版本中添加功能,请下载并安装 Visual Studio 2010 Microsoft Visual Studio 2010 可视化和建模功能包

模型支持的活动

活动

了解用户需求:可以通过绘制活动图、类图和其他 UML 关系图,来阐明用户情景、业务规则和其他需求并帮助确保它们的一致性:

可视化代码:可以通过生成依赖关系图和序列图,来查看代码的直观表示形式。 可以通过创建您的数据库的脱机表示形式,来查看这些数据库中的对象、设置和关系:

定义体系结构:可以通过绘制 UML 组件图、类图和序列图,对大型系统结构和设计模式进行建模。 可以通过创建层关系图,定义并强制实施对代码组件之间的依赖关系的约束。

从 UML 或域特定的语言生成或配置应用程序的各部分,并使您的设计在整个产品系列中能更快响应需求变化且轻松可变:

根据需求和计划的设计验证系统:可以根据需求模型定义验收测试或系统测试。 这将在测试和用户需求之间建立密切关系,并在需求发生更改时帮助您更加轻松地更新系统。

使用 Team Foundation 版本控制共享模型、关系图和图形:可以将建模项目和关系图文件、依赖项关系图以及体系结构资源管理器查询置于 Team Foundation 版本控制下。当有多个用户使用处于 Team Foundation 版本控制下的这些项时,使用上述准则可以帮助您避免版本控制问题。

自定义模型和关系图:可以定义 UML 元素的其他属性、验证约束(用于确保模型符合业务规则)以及其他菜单命令和工具箱项,使模型更加适应项目使用它们的方式。 您还可以创建自己的域特定语言。

模型类型及其用法

模型类型和典型用法

UML 模型

一个 UML 模型包含若干个视图,其中包括类图、组件图、用例图、活动图和序列图。 您可以自定义 UML 来适应应用程序域。 例如,您可以向模型元素附加标记、其他信息和约束。 您还可以定义用于操作模型的工具。 有关更多信息,请参见开发软件设计模型

典型用法:

  • 描述需求和设计。 UML 可快速应用于任何应用程序的开发。 有关更多信息,请参见在开发过程中使用模型

  • 生成或配置应用程序的测试或各部分。 要自定义表示法并开发生成模板或可配置的应用程序,需要一些工作。 有关更多信息,请参见基于模型生成和配置应用程序

  • 用于一般描述以及较小项目中的代码生成或配置。

域特定语言 (DSL)

DSL 是一种您为特定目的而设计的表示法。 在 Visual Studio 中通常是图形表示法。 有关更多信息,请参见可视化和建模 SDK - 域特定语言

典型用法:

  • 生成或配置应用程序的各部分。 开发表示法和工具需要一些工作。 结果相比较 UML 自定义而言能更好地适合于您的域。

  • 对于大型项目或产品系列,在 DSL 及其工具上的投资通过在多个项目中使用它们得到回报。

层关系图

利用层关系图,您可以将应用程序结构定义为一组带有显式依赖项的层或块。 您还可以在每次签入时参照层关系图验证代码。 有关更多信息,请参见层关系图:指南

典型用法:

依赖项关系图或定向关系图

利用依赖项关系图和定向关系图,您可以检查复杂的大型依赖关系或其他关系集。 您可以生成代码结构的关系图。 您还可以编写工具来从各种其他源创建关系图。 有关更多信息,请参见如何:生成 .NET 代码的依赖项关系图

典型用法:

  • 分析程序代码以准备更新代码、帮助您了解代码结构以及估计建议更改的成本。

  • 分析其他大型网络,如网站、数据库,等等。

基于代码的序列图

您可从 .NET 代码生成的序列图会帮助您直观显示代码实现方法的方式。 有关更多信息,请参见如何:使用序列图浏览代码

典型用法:

  • 了解和分析程序代码。

外部资源

类别

链接

视频

链接到视频

链接到视频

链接到视频

论坛

博客

技术文章和日志

The Architecture Journal - Issue 23: Architecture Modeling and Processes(体系结构日志 - 问题 23:体系结构建模和流程)

其他网站

MSDN Architecture Center(MSDN 体系结构中心)

请参见

概念

Visual Studio 2010 应用程序生命周期管理的新增功能

Visual Studio Application Lifecycle Management

其他资源

演练:使用可视化和建模工具更新系统