前言
需求分析和总体流程设计完成后,我们接下来开始设计系统结构。本篇将向大家介绍使用VisualStudio 2010中对Component Diagram(组件图)的支持,和使用VisualStudio 2010为系统设计逻辑结构的方法。
背景
前篇:使用VisualStudio 2010从分析到实施(4)——使用Sequence Diagram设计消息序列
对组件图不熟悉的兄弟请参考:http://www.ibm.com/developerworks/cn/rational/rationaledge/content/feb05/bell/bell.html
在系统需求确定之后,我们进入基于UML的OOD系统设计阶段,在这个阶段中,将通过以下三篇文章来为大家呈现VS2010在设计阶段的支持和应用:
使用VisualStudio 2010从分析到实施(4)——使用Sequence Diagram设计消息序列
使用VisualStudio 2010从分析到实施(5)——使用Component Diagram设计系统结构
使用VisualStudio 2010从分析到实施(6)——使用Logical Class Diagram实现系统组件
组件图
在OOAD中,我们使用组件图来为系统和行为提供接口。
理论上来说,一个组件应该能够展示系统中一个独立的主要功能模块,例如Web services, .NET, COM, CLR或用户界面(UI)。一个组件图能够帮助我们从一个系统服务的“提供”与“消费”来理解系统的逻辑结构。
当然,我们还可以设计好用来定义好一些组件之间交流的协议接口,以待下一步静态类设计中实现这些接口。
Component Diagram 建立步骤
2 . 新建Project(项目),类型为“Modeling Projects”
3 . 在解决方案管理器中右击刚刚新建的Modeling Project,添加新item
4 . 选择“Component Diagram” 然后OK即可, 文件扩展名为“.component”
5. 从左边的工具栏拖放元素到用例图中。
Visual Studio 2010提供的Component Diagram支持:
在Visual Studio 2010 CTP中,Component Diagram元素如下:
2 . Dependency: 依赖关系
3 . Delegation: 代理关系
4 . Provided Interface : 提供接口,也称棒棒糖接口
5 . Required Interface : 需求接口,也称插座接口
6 . Comment Link: 注释链接,用来将注释链接到相对应的元素
7 . Comment: 注释
8 . Generalization: 泛化关系
Component Diagram绘制步骤:
1. 绘制系统组件:
从ToolBox中拖出Component 到组件图中,命名组件,并设置属性。
对于初步学习OOAD的设计者来说,组件的设计对象主要是:终端(如浏览器)、应用级别的系统组件(application)、系统级别的组件(system)以及相应的网关组件(gateway)等。
2. 组件之间的关系设计:
组件之间的关系主要是通过接口(interface)来表达的,正如上面所属,组件图中的接口分为棒棒糖接口和插座接口,分别表示interface provider relationships和interface cusumer relationships。在一般的设计中,我们会先设计提供型接口,再定义消费型接口。
3. 设计组件之间的通讯协议:
在Toolbox中选择Dependency元素,并用它来将相应的棒棒糖接口和插座接口链接起来。然后将这个依赖关系进行命名,名称一般设定为通讯协议名,比如HTTP, SOAP(Web Service)等。
4. 设计组件与数据库之间的依赖:
类似与上个步骤,将系统组件与数据库组件用Dependency元素链接起来,如果有必要的话,再设置相关属性。
使用Component Diagram设计系统结构:
组件图经常是一个架构师在项目的初期就建立的非常重要的图。然而,组件图的有用性跨越了系统的寿命。组件图是无价的,因为它们模型化和文档化了一个系统的架构。因为组件图文档化了系统的架构,开发者和系统可能的系统管理员会发现这一工作的关键产品有助于他们理解系统。
另外,在设计组件图时,我们还可以利用模型查看器来对模型列表进行纵览,在实际设计中很有作用:
下文预告:
使用VisualStudio 2010从分析到实施(6)——使用Logical Class Diagram实现系统组件