内容简介为了帮助广大.NET开发人员高效、快捷地设计和创建大型企业级应用程序,本书全面介绍了Visio的图形表示和数据库建模等强大功能,并展示了Visio与Visual Studio .NET集成的优越性。具体内容包括绘制业务组件,从UML模块中生成代码,将Visual Studio .NET逆向工程为UML模块,利用UML和Visio对项目进行编档,利用Visio图设计分布式应用程序、对象角色建模和数据库设计的双向工程等。本书适合那些熟悉UML基本概念并想了解UML和Visio在Visual Studio .NET应用程序开发过程中的作用和用法的.NET开发人员。
前 言 对于许多人来说,Visio for Enterprise Architects似乎是一种带有神秘面纱的绘图工具。与Visual Studio .NET Enterprise Architect相结合,它的潜在性能好像更加明显 —— 从设计到代码、再从代码回到设计,可以为开发人员快速开发应用程序提供极大的好处。之所以说其“神秘”,是因为Visio的强大功能可能会使用户感到胆怯,但最为重要的是,其用法的许多方面直接面向那些缺乏经验的软件开发人员。 本书的目的是解决这种问题,在此我们重点强调用来开发.NET应用程序的Visio功能,包括: UML图 从UML图生成代码 对源代码执行逆向工程(reverse engineering),将其转换为UML图 数据库建模 顺着这条思路,我们将了解到在软件开发生命周期中Visio比较常见的一些应用以及Visio的特性,它们是每位Visio用户几乎都将遇到的内容。 换而言之,读完本书之后,您即可揭开Visio for Enterprise Architects的神秘面纱。 本书主要内容 第1章先复习主要的UML概念、主要的图类型和这些图在软件开发过程中所扮演的角色。如果您完全不了解UML,这种常识性的介绍将有助于您了解本书的其他部分。 在第2章中,我们先对Visio稍加进行研究,大致了解一下Visio的一般环境。在触及到本书的主要内容—— UML图之前,先浏览了有助于软件开发的其他Visio方面,并尝试让您熟悉Visio,包括Visio的页面、形状和连接线。 在第3章,介绍如何使用Visio进行对象建模,包括为.NET应用程序定义数据访问基类、定义业务对象基类、从用例中派生业务类、使用抽象类和具体类以及使用顺序图对对象之间的消息流建模。顺着这条思路,我们将了解到Visio的许多UML图特性,为继续学习下一章作准备。 Visio for Enterprise Architects可以从现有的UML图生成C#、Visual Basic .NET或C++骨架源代码。此外,Visio还提供了更多选项,使开发人员可以很好地控制此源代码的实现。在第4章,我们了解在Visio中如何通过UML模型生成代码,并介绍可用于生成代码的各种选项,其中包括使用代码模板指定Visio生成的源代码的结构。还将了解UML到代码的各种映射以及您将在更复杂的模型中遇到的典型情况。 Visual Studio .NET Enterprise Architect和Visio for Enterprise Architects共同提供用于对现有的C#、VB.NET或C++.NET源代码执行逆向工程,进而将其转换到Visio UML静态结构模型中的工具。在第5章,我们将介绍逆向工程这种功能,并介绍逆向工程为什么有用以及如何在Visual Studio .NET IDE中对其.NET源代码执行逆向工程,研究执行了逆向工程的典型Visio UML模型的结构,还介绍诸如一般化(继承)和关联之类的重要构造如何进行代码到UML的映射。最后,使用反射对.NET程序集执行逆向工程,为UML图提供.NET Framework基类模型。 在第6章,继续介绍UML图、生成代码以及从代码生成更多图,并了解Visio和UML在整个软件开发生命周期中所扮演的角色。实际上,我们将讨论如何使用Visio和UML将一个典型开发项目不同阶段的工作编写成文档,在本章结束时,您将进一步了解在进行自己的项目中如何使用Visio和UML。 在第7章,将介绍如何利用Visio帮助您解决常见的设计问题。设计分布式系统是一个从需求分析到模分解(modular breakdown)再到打包和部署策略的迭代过程。但是,分布式系统与非分布式系统的设计过程不同。在本章,将介绍一个.NET Remoting示例,即一个Bank应用程序。我们先概述.NET Remoting,然后了解如何决定应用程序中的哪些类应该是.NET Remoting类型,如何决定每个.NET远程类型的激活模式,如何在Visio中用图来表示这一过程,应将哪些代码元素组织到一个组件中,以及如何准备组件图和部署图。 第8章继续介绍Visio与企业开发人员直接相关的另一方面——数据库建模。我们逐步了解数据库建模和对象角色建模(Object Role Modeling,ORM),并查看Visio的ORM源图和实体关系源图。随后了解如何根据这些模型生成数据库模式,通过将数据库逆向工程为ORM和ER模型来进一步调整设计方案,并用所做的修改对数据库进行更新以产生双向数据库工程。 本书读者对象 本书适用于具备以下条件的.NET开发人员: 熟悉UML的基本概念 想了解如何有效利用Visio for Enterprise Architects 想了解UML和Visio通常如何为项目开发提供帮助 使用本书的条件 使用本书必须具备以下条件: Visual Studio .NET Enterprise Architect Edition Visio for Enterprise Architects 因此,可访问上述每一个环境是使用本书的先决条件。 用户支持 我们一贯重视读者的意见,并想知道每位读者对本书的看法,包括读者喜欢和不喜欢的内容,以及读者希望我们下一次完善的地方。您可以通过发送电子邮件(地址为feedback@)来向我们反馈意见。请确保反馈信息提到本书的书名。 如何下载本书的示例代码 当您访问Wrox公司站点(地址为/)时,通过Find a Book工具或书名列表,可以方便地定位需要的书目。然后,单击Code列中的Download超链接,或者单击本书的详细页面中的Download Code超链接,就可以下载相应的示例代码。 从我们的站点上下载的文件都是使用WinZip压缩过的文档。保存文件到本地磁盘上的文件夹中后,需要使用一个解压缩程序(例如WinZip或PKUnzip)来解压缩文件。在解压缩文件时,通常将代码解压缩到每一章所在的文件夹中。在解压缩的过程中,应确保解压缩程序(如WinZip、PKUnzip)被设置为使用原有文件夹名。 勘误表 我们已经尽最大努力确保本书中的文本和代码没有错误,但是错误仍然在所难免。如果您发现本书存在错误,例如拼写错误或不正确的代码段,请反馈信息给我们,我们将不胜感激。勘误表的发送可以节约其他读者学习本书的时间,而且能够帮助我们提供更高质量的信息。您的反馈信息将被检查,如果正确,将被粘贴到本书的勘误页面上,或者在本书的后续版本中使用。 要在我们的站点上找到勘误表,请访问/,并通过Advanced Search或者书名列表轻松定位本书页面。然后,单击Book Errata超链接即可,该链接位于本书的详细信息页面中的封面图解下面。 E-Mail支持 如果您希望直接向详细了解本书的专家咨询本书中的问题,可以发送电子邮件到support@,要求在邮件的主题栏中带上本书的书名和ISBN的后4位数字。一封典型的电子邮件应包括下面的内容: 在主题栏中必须有本书的书名、ISBN的后4位数字和问题所在的页码。 邮件正文中应包括读者的名字、联系信息和问题。 我们仅仅需要有用的详细资料,因此将不返回您的无用邮件,以便可节约您和我们的时间。当您发送一个电子邮件信息时,它将经过下面一系列支持: 用户支持:首先,您的信息将被递送到我们的用户支持人员手中,并由他们阅读。对于一些被频繁提到的问题将被归档,并将立即回答有关本书或者Web站点的任何常见问题。 编辑支持:接着,一些有深度的问题将被送到对本书负责的技术编辑手中,他们在程序设计语言或者特定的产品上有着丰富的经验,能够回答相关主题的详细技术问题。 作者支持:最后,如果编辑不能回答您的问题(这种情况很少发生),他们将请求本书的作者。我们将尽量保护作者免受干扰,以便不影响其写作。然而,我们也非常高兴转寄给他们一些特殊的问题。所有Wrox公司的作者都为他们的书提供技术支持。作为回应,他们将发送电子邮件给用户和编辑,进而使所有的读者受益。 Wrox公司的支持过程仅仅对那些与我们出版的书目内容直接相关的问题提供支持,对于超出常规书目支持的问题,您可以从/论坛的公共列表中获得支持信息。 站点 为了便于作者和其他人讨论,特将讨论内容加入到P2P站点的邮件列表中,而且我们独特的系统将programmer to programmer(由程序员为程序员而著)的编程理念与邮件列表、论坛、新闻组以及所有其他服务内容(一对一的邮件支持系统除外)相联系。如果您向P2P发送一个问题,应该相信它一定会被登录邮件列表的Wrox公司作者和其他相关专家所检查到。无论您是在阅读本书,还是在开发自己的应用程序,都可以在站点中找到许多对自己有所帮助的邮件列表。特列适合本书的邮件列表是vs-dotnet和UML列表。 按照下面的步骤可以预订一个邮件列表: (1) 登录/站点。 (2) 从左边的主菜单栏选择一个适当的类别。 (3) 单击希望加入的邮件列表。 (4) 按照说明订阅并填写自己的邮件地址和密码。 (5) 回复您收到的确认邮件。 (6) 使用预订管理程序加入更多的邮件列表并设置自己的邮件首选项。 本系统提供最佳支持的原因 您可以加入整个邮件列表,也可以只接收每周的邮件摘要。如果您没有时间和工具来接收邮件列表,可以直接查找我们的在线文档。独特的Lyris系统可以将一些没有用的垃圾邮件删除,并保护您的电子邮件地址不被侵扰。当存在加入和离开列表、以及任何有关列表的其他常见问题时,请发送邮件到listsupport@。