使用VisualStudio从分析到实施doc.docx
《使用VisualStudio从分析到实施doc.docx》由会员分享,可在线阅读,更多相关《使用VisualStudio从分析到实施doc.docx(34页珍藏版)》请在冰豆网上搜索。
使用VisualStudio从分析到实施doc
使用VisualStudio2010从分析到实施
VisualStudio2010最新release版本的截图,我们可以看出,VS2010比起VS05和08以及前些日子放出的CTP版在UI上更加宜人:
VisualStudio10(或称VisualStudio2010)将支持多种架构设计图
之前早有消息说VisualStudio10(或称VisualStudio2009maybe2010) 将在09年发布,今天有幸参加了FrontLinetalk-VisualStudioArchitecture,一睹VisualStudio10在架构设计方面的强大的支持和扩展,非常兴奋,特来与大家分享!
讲座的工程师RameshRajagopal原在Visio开发团队,于02年调入VisualStudio团队,可已看出,微软从一开始就往IDE上加了软件设计的砝码
(本例中使用的设计图为本人在大学时画着玩的,不好,请大家不要鄙视)
VS现有的架构设计支持
在VisualStudio2005和2008中我们能够使用ApplicationDiagram来绘制分布式架构图(如下)
还可以通过SystemDiagram来设计系统局部细节(如下)
以及使用LogicalDataCenterDiagarm来设计部署方案(如下)
当然,还能通过大家熟悉的ClassDiagram来设计UML类图,并能够正向工程,实时生成C#或VB.NET代码
然而,这些仅仅是VS在设计方面的一个试探,还远远不能满足我们的需要。
VS2009中将会支持的新功能
好了,接下来让我们切入正题:
在今天的Techtalk中,很抱歉,偶没有带相机,没能把精彩的demo拍摄下来,所以只能尽量用文字描述了,大家见谅
1.对原有ClassDiagram的扩展
在VS05和VS08中,ClassDiagram也许是大家用过最多的设计图了,可以说这一功能基本上算是比较健全,而在VS2009中,ClassDiagram将会有更进一步的扩展:
A:
对编辑模式进行扩展
在新的ClassDiagram中,我们点选每个类图时,右侧会出现一个小的“+”号,点击即可展开注释编辑框,在这里,我们可以轻松的为元素添加Summary,Remark,example等十余项信息。
B:
增加鸟瞰功能
在VS2005/2008中,当我们项目的类图过大时(可能有上百个类或接口等),整个静态图中的关系很难一眼看明白,这时,需要频繁的拖动滚动条看来看去。
然而,在下一个版本中,ClassDiagram的下方,将会出现一个鸟瞰图,以缩小显示的方式来显示整个类图中的所有静态元素,我们可以框取局部来查看细节,类似于放大镜的效果
2.新增SequenceDiagram(序列图)
在下一个版本的展示中,我们惊讶的发现VS增加了设计SequenceDiagram的功能,整个SequenceDiagram的界面效果类似于Visio,也很像我用过的另一种UML设计工具trufun,显得干净工整,另所有人吃了一惊
这种序列图的扩展名为:
.sequence,这一环节没有过多演示。
3.新增UseCaseDiagram(用例图)
哈!
连用例图都支持了,没错,与一般的UML设计工具没什么差别,用例设计也开始加入VS的功能之中,而且好像支持的是UML2.0标准(小生目测,不太确定)而非Visio所支持的UML1.1
并且,UseCaseDiagram还与VSTFS关联的很好,当我们选取一个用例时,不仅可以编辑它的各项属性,还可以在右键菜单中选择一个TFS托管的工作区,来进行实现!
4.创新!
LayerDiagram(层次图)
层次!
对,就是平时我们争吵纷纷的三层、四层架构,在层次图中,我们可以从左边工具栏中拖出一个三层或四层的系统框架来,然后可以配置每一层的各项属性,如引用依赖等,我简单看了一下,好像三层就是“数据---业务---表示”四层是“数据---数据服务---业务---表示”,工程师没有给我们过多讲解,所以也只是了解这么点了。
使用VisualStudio2010从分析到实施
(1)——安装VisualStudio2010CTP2
前言
本文的描述基于2008年10月27日发布的VisualStudio2010CTP2(整理自WWW上的资源)
不熟悉VS2010的兄弟们请先阅读这篇文章:
VisualStudio2010and.NETFramework4.0Overview
关于VS2010的新特性这里就不多做赘述了,本系列接下来的随笔会通过实战进行描述。
VisualStudio2010CTP版简述:
CTP版,也就是社区预览版(CommunityTechnologyPreview)大家都不陌生。
VisualStudio2010CTP以700M分卷压缩的RAR压缩包,共有11卷,7.18GB,如下:
解压缩之后有24GB,只有一个VHD和VMC文件,是MicrosoftVirtualPC2007的虚拟镜像文件。
此次的VS2010CTP版和当时VS2008的类似,是作为虚拟机配置在VPC上的。
硬件需求如下:
1. Microsoft Virtual PC 2007 version 6.0
2. Microsoft Virtual PC 2007要打上 Service Pack 1补丁
3. 宿主计算机至少应有2GB的RAM内存,其中1GB用于维持操作系统,1GB分配给部署VS2010的虚拟机
4. 宿主计算机最好应有酷睿II 2.0GHz以上的CPU
5. 至少75GB的HDD磁盘空间
虚拟机内容如下:
1. Visual Studio Team Suite 2010
2. Team Foundation Server 2010
3. Windows 2008 Server(虚拟机)
4. SQL Server 2008
配置虚拟机过程如下:
1. 启动VPC
2. 在VPC控制台中点击“新建”,打开一个虚拟机向导
3. 点击下一步
4. 在“选项”页面上,点击“添加一个现有的虚拟机”,点击“下一步”
5. 点击“浏览”,找到上面解压缩后的VPC文件
6. 选择“VisualStudio2010CTP.vmc”并打开,点击“下一步”
7. 点击完成,这时候,VS2010 CTP已经添加到VPC中了
8. 在VPC控制台中选择VS2010 CTP,并打开,过一会儿将会看到登陆界面
9. CTRL+ALT+DEL,进行登陆
10.选择用户名“TFS Setup”,输入密码“1Setuptfs”
11.从开始菜单中找到“Visual Studio 2010”并点击即可
使用VisualStudio2010从分析到实施
(2)——使用ActivityDiagram提炼业务流程
前言
众所周知VisualStudio2010在软件开发周期的各个环节上都下了很多功夫,本篇继续前文,向大家介绍使用VisualStudio2010中对ActivityDiagram的支持,和使用VisualStudio2010提炼业务流程的方法。
背景
前篇:
使用VisualStudio2010从分析到实施
(1)——安装VisualStudio2010CTP2
对活动图不熟悉的兄弟请参考:
软件项目的开发首要点就是从现实中获取需求,提炼业务流程,从而为设计和开发提供必要的条件,即便是原型方法迭代开发,也需要比较周密的需求分析。
在面向过程开发时代,尚没有非常优越的需求分析方法,都是靠一些现在很少听说的图形来描述(大学软件工程教程里的那些张海番4版)。
在UML1.1定型之后,基于UML方式的OOAD逐步发展壮大,如今,我们需求的建模也常常用ActivityDiagram(活动图)和 UseCaseDiagram(用例图)来进行了,VisualStudio2010对这两种图的支持也都做得不错。
ActivityDiagram使用步骤
1. 新建解决方案
2. 新建Project(项目),类型为“Modeling Projects”
3. 在解决方案管理器中右击刚刚新建的Modeling Project,添加新item
4. 选择“Activity Diagram” 然后OK即可
5. 在Activity Diagram中,我们就可以从左边的工具栏拖放元素到活动图中啦。
VisualStudio2010提供的ActivityDiagram支持:
由于UML目前主流分为1.1标准和2.0标准,提供的元素有少许差别,并不是完全统一的。
例如Visio用的就是1.1,truefun用的是2.0。
在VisualStudio2010CTP中,我们可以发现他提供的元素还是非常丰富的,具体如下:
1. Initial Node 起始节点
2. Activity Final Node 活动结束节点
3. Action 活动
4. Object Node 对象节点
5. Decision Node 决策节点
6. Merge Node 合并节点
7. Fork Node 分支节点
8. Join Node 连接节点
9. Send Singnal Action 新号发送活动
10.Accept Event Action 事件接收活动
11.Call Behavior Action 行为调用活动
12.Call Operation Action 操作调用活动
13.Input Pin 输入标记
14.Output Pin 输出标记
15.Activity Paramenter Node 活动参数节点
16.Connector 连接线(箭头)
如下图所示:
ActivityDiagram绘制步骤:
这一步对活动图熟悉的老牛可以忽略。
1. 拖放起始节点Initial Node
2. 从起始节点开始,根据现实业务拖放Action
3. 如果流程有分支或合并则根据情况拖放其它元素
4. 最终拖放Activity Final Node
5. 链接各个元素
VisualStudio2010中ActivityDiagram的特点:
正如大家在上图看到的那样,VisualStudio2010CTP中的ActivityDiagram使用大家都熟悉的黄色注释标签Comments来取代了传统活动图中的泳道(swimlanes),这一点官方暂没有多做说明。
VisualStudio2010从分析到实施(3)——使用UseCaseDiagram设计系统交互
前言
众所周知VisualStudio2010在软件开发周期的各个环节上都下了很多功夫,本篇继续前文,向大家介绍使用VisualStudio2010中对UseCaseDiagram(用例图)的支持,和使用VisualStudio2010设计系统交互的方法。
背景
前篇:
使用VisualStudio2010从分析到实施
(2)——使用ActivityDiagram提炼业务流程
对用例图不熟悉的兄弟请参考:
VisualStudio2010开发团队在白皮书中对UseCaseDiagram在软件生命周期中的作用描述如下:
1. 聚焦于系统中粒度较小的部分(子系统),从而我们可以在更加细节的环境下分析子系统中的交互
2. 在系统的设计和扩展中,能够使跨越各个系统或子系统之间的交互明显的突出。
3. 用可视化的方式帮助我们定义系统交互逻辑所必要的各个组件。
4. 突出跨越多个子系统的交互。
5. 在业务逻辑层面上总结系统中的交互逻辑
UseCase Diagram使用步骤
1. 新建解决方案
2. 新建Project(项目),类型为“Modeling Projects”
3. 在解决方案管理器中右击刚刚新建的Modeling Project,添加新item
4. 选择“Use Case Diagram” 然后OK即可, 文件扩展名为“.ucd”
5. 从左边的工具栏拖放元素到用例图中。
VisualStudio2010提供的ActivityDiagram支持:
在VisualStudio2010CTP中,UseCaseDiagram元素如下:
1.Actor 活动者
2.Use Case 用例
3.Comment 注释
4.Subsystem 子系统,用来展示系统的一部分
5.Reference 可以让我们添加一个引用到用例图中,比如文档或代码段
6.Association 关联线
7.Dependency 依赖关系
8.Include 包含关系
9.Extend 扩展关系
10.Generalization 泛化关系
11.Comment Link 链接注释标签与相应的元素
12.Reference Link 链接引用标签与相关元素
ActivityDiagram绘制步骤:
A. 定义人机交互
1. 从工具栏中拖放Subsystem元素到用例图中,并在属性中命名该子系统
2. 从工具栏中拖放若干Actor元素到用例图中(可双击实现),并命名
B. 定义用例
1. 拖放若干Use Case元素到用例图中,并命名
2. 设置用例元素的Subject属性,一般设置为该用例所在的子系统
C. 关联用户和用例
1. 从工具栏中拖放Association线条链接用户Actor和与其直接相关的用例,也可以在Actor元素上右击-->"Add"来添加
D. 用例之间的关联
1. 在用例上右击,使用“依赖”“包含”“扩展”等关系链接相关的用例
E. 注释与引用
1. 若需要添加注释,则拖放注释元素到图中,写好注释后使用Comment Link将注释和与其相关的元素链接起来
2. 若需要添加引用,则拖放引用元素到图中,并在属性中设置好引用的类型、命名、引用文件的路径等,之后使用Reference Link与相关元素链接
使用UseCase Diagram设计系统交互:
在前篇中,我们使用VisualStudio2010CTP中的ActivityDiagram提炼了整个系统的业务流程,这是UML需求分析的第一步,在活动图定义完成后,我们可以据此来设计若干用例图,从而更为明晰的在业务层进行系统细节设计。
关于UML中用例分析的粒度,UML1.1和2.0标准都没有给出明确的定义,我参与过大大小小的项目中,见到的用例设计也是风格迥异,在VSTS2010的示例项目(DinnerNow)中,UseCaseDiagram紧接着ActivityDiagram,对活动图中提炼出的主要业务流程进行子系统划归,并分别进行用例分析。
使用VisualStudio2010从分析到实施(4)——使用SequenceDiagram设计消息序列
前言
在前三篇中,我们已经通过VisualStudio2010的用例图,状态图对系统进行了需求分析,接下来进入的是程序的架构和行为设计阶段。
本篇继续前文,向大家介绍使用VisualStudio2010中对SequenceDiagram(序列图)的支持,和使用VisualStudio2010设计消息序列的方法。
背景
前篇:
VisualStudio2010从分析到实施(3)——使用UseCaseDiagram设计系统交互
对序列图不熟悉的兄弟请参考:
在系统需求确定之后,我们将进入基于UML的OOD系统设计阶段,在这个阶段中,将通过以下三篇文章来为大家呈现VS2010在设计阶段的支持和应用:
使用VisualStudio2010从分析到实施(4)——使用SequenceDiagram设计消息序列
使用VisualStudio2010从分析到实施(5)——使用ComponentDiagram设计系统结构
使用VisualStudio2010从分析到实施(6)——使用LogicalClassDiagram实现系统组件
SequenceDiagram使用步骤
1. 新建解决方案
2. 新建Project(项目),类型为“Modeling Projects”
3. 在解决方案管理器中右击刚刚新建的Modeling Project,添加新item
4. 选择“Sequence Diagram” 然后OK即可, 文件扩展名为“.sequence”
5. 从左边的工具栏拖放元素到用例图中。
VisualStudio2010提供的SequenceDiagram支持:
在VisualStudio2010CTP中,SequenceDiagram元素如下:
1. Lifeline 生命线,表示序列中,建模的角色或对象实例,可通过设置其Actor属性是否为true来确定它是一个角色还是对象实例。
2. 消息,包括:
2.1 Synchronous 同步消息
2.2 Asynchronous 异步消息
3. Create 用来创建生命线元素和实例。
4. Comment 注释标签(与其它图形中的相似)
5. Comment Link 注释链接线(与其它图形中的相似)
6. Interaction Use 交互应用,用于创建一个可复用的序列,或创建其它序列的一个引用
7. CombinedFragment 组合碎片,在下文中详细介绍
CombinedFragment
CombinedFragment组合碎片(或称为变体方案,选择项,和循环)UML1.x中仅有的“in-line”约束不足以处理一个建模序列的必需逻辑。
而UML2.0已经通过去掉“in-line”约束,增加一个叫做组合碎片的符号元件,解决了这一个问题。
一个组合碎片用来把一套消息组合在一起,在一个序列图中显示条件分支。
而且,UML2规范指明了组合碎片的11种交互类型。
在VSTS2010中,虽然组合碎片没有出现在Toolbox中,但也对CombinedFragment提供了非常完备的支持。
我们选中一个消息,点击右键,在目录的"SurroundWith"(以……封装)中,我们可以找到如下12种组合碎片:
SequenceDiagram绘制步骤:
A. 定义参与者
1. 从工具栏中拖放Lifeline元素到序列图中并命名。
2. 将需要标记为“活动者”的Lifeline的Actor属性设置为True。
B. 创建消息
在起点Lifeline上右键--》添加中选择需要创建的消息,或“Create”,并链接到终点Lifeline
C. 组合碎片
1. 在需要组合的消息线上右键--》Surround With中选择适当的组合碎片
2. 设置组合碎片的相应属性
D. 注释
若需要添加注释,则拖放注释元素到图中,写好注释后使用Comment Link将注释和与其相关的元素链接起来
使用Sequence Diagram设计消息序列:
序列图算是UML中很复杂的一种图,在VS2010中,MS尽量简化了标准中的定义,保留并稍加扩展最核心的部分,作为动态图,它在OOAD系统行为的设计中起着主要作用,一张好的序列图能够在模块的层次上将应用程序内部的逻辑交互清晰的展示出来,一方面可以从中分析出静态设计(组件、类设计)时需要实现或扩展的接口和基类,另一方面也为静态设计之后的编码阶段提供重要的参照。
使用VisualStudio2010从分析到实施(5)——使用ComponentDiagram设计系统结构
前言
需求分析和总体流程设计完成后,我们接下来开始设计系统结构。
本篇将向大家介绍使用VisualStudio2010中对ComponentDiagram(组件图)的支持,和使用VisualStudio2010为系统设计逻辑结构的方法。
背景
前篇:
使用VisualStudio2010从分析到实施(4)——使用SequenceDiagram设计消息序列
对组件图不熟悉的兄弟请参考:
在系统需求确定之后,我们进入基于UML的OOD系统设计阶段,在这个阶段中,将通过以下三篇文章来为大家呈现VS2010在设计阶段的支持和应用:
使用VisualStudio2010从分析到实施(4)——使用SequenceDiagram设计消息序列
使用VisualStudio2010从分析到实施(5)——使用ComponentDiagram设计系统结构
使用VisualStudio2010从分析到实施(6)——使用LogicalClassDiagram实现系统组件
组件图
在OOAD中,我们使用组件图来为系统和行为提供接口。
理论上来说,一个组件应该能够展示系统中一个独立的主要功能模块,例如Webservices,.NET,COM,CLR或用户界面(UI)。
一个组件图能够帮助我们从一个系统服务的“提供”与“消费”来理解系统的逻辑结构。
当然,我们还可以设计好用来定义好一些组件之间交流的协议接口,以待下一步静态类设计中实现这些接口。
ComponentDiagram建立步骤
1. 新建解决方案
2. 新建Project(项目),类型为“Modeling Projects”
3. 在解决方案管理器中右击刚刚新建的Modeling Project,添加新item
4. 选择“ComponentDiagram” 然后OK即可, 文件扩展名为“.component”
5. 从左边的工具栏拖放元素到用例图中。
VisualStudio2010提供的ComponentDiagram支持:
在VisualStudio2010CTP中