Visual Studio 2010 Ultimate中MSF过程模型设计
过程模型是软件工程学中的一部分,就好比我们用什么过程方法进行软件“房子”的建设。在本节中,我们将对VS 2010新提供和架构工具和模型图功能
方面进行概要介绍。但不包括UML细节和其他架构概念,并且将看到使用VS 2010建模功能的每一个设计过程,其中有一个项目模板“建模工程(Modeling
Project)”,会让我们能够创建出各种图表。在VSTS 2008中,没有提供创建UML架构图的支持,而在VS 2010中提供了很实用的一些UML图设计。这些
图表向我们提供了解决方案和基础实施架构的高级设计(没有提供部署图设计元素的支持)。
传统的微软解决方案框架(Microsoft Solution Framework ,MSF)包含构思和规划阶段。虽然一些设计图在构思阶段创建,完成发生在规划阶段,规
划阶段进一步分为三种过程,这些过程是:
l 概念设计(Conceptual Design)
l 逻辑设计(Logical Design)
l 物理设计(Physical Design)
在VS 2010中,提供对敏捷(Scrum、XP等)过程模型周期迭代开发的支持(周期过程)。微软MSF软件过程基础模型框架如图1所示。
①概念设计(Conceptual Design):这是一个过程,需要从业务和用户角度收集业务信息、当前的应用环境等信息,并利用这些信息获取、分析业务和用户的
需求,验证和优化解决方案。要包含系统当前和未来使用场景的描述,目标是使用户和项目组在系统完成后所具有的功能和使用方式达成共识。它是收集、分析和确
定优先顺序的过程,需要用“需求文档(Requirement Document)”和“用例(Use Case)”图,这些进程是系统内的业务流程。我们可以用“活动图”的工
作流程模式。概念设计将列出所有用户角色将与系统和系统的总体结构进行交互。在系统未来状态下(物理功能列表),通过体系结构的定义将包含逻辑层,我们可
以在VSTS中使用所提供“层图”的表现模型。我们可以在VSTS 2010中使用所提供“层图”的表现模型。
l 用例图(Use Case Diagram)需求可以进行建模,并使用“用例”图来表示。用例图工具箱(Toolbox),可以使用建模角色、用例、子系统和注释等,能
够建立它们之间的关系。这些关系可以是以下类型:关联、依赖、包含、泛化和扩展。VSTS 2010中用例图的最佳功能之一是可以与workitems关联元素,如图2所
示。
图2 用例图与workitems创建关联
使用这些元素,可以创建用例图链接。创建新workitems连接现有的和查看所有有关联或者一个元素的workitems。所有模型元素是可以用“UML模型管理器(UML
Model Explorer)”浏览的,如图3所示。
l 活动图(Activity Diagrams):活动图表可以反馈流程大部分的细节,提供了一个串行的流程顺序,显示了正在执行的业务流程,而用例提供了概括的范围。
组成元素包括活动、合并节点、分支节点等元素,其中最重要的是初始和最终节点。所有节点之间加入这些连接器,可用于创建活动图的元素。活动图创建显示
了早期用例的活动流程,如图4所示。
图4 活动图流程
层图(Layer Diagram):是在概念设计过程中的基线层图。层的模型元素提供类似的抽象分组及其他层内容的功能。例如,元素所提供的用户界面分为表示层要素的
组合,而实现业务逻辑、规则和约束的为商务逻辑层分组。依赖关系有时可以是双向的。VSTS 2010提供整体解决方案执行层模式,提供了三层解决方案:表示层(Prese
ntation)、业务逻辑层(Business Logic)、数据访问层(Data Access)和MVC(模型,视图,控制器)模式。层图表现解决方案架构如图5所示。
图5 图层表现层级架构
②逻辑设计(Logical Design):是在概念设计的基础上,从业务逻辑和当前用户应用环境中抽象出系统对象的组成结构、流程和各个部分的相互关系,另外还要设计数据
库的逻辑结构和界面的逻辑关系。逻辑设计是将用户业务语言转化为项目组语言的关键。其中,对象只是抽象的系统对象,而不是物理实现中采用的类、组件、模块和
页面。
逻辑设计的目标是:定义系统的各个组成部分;描述各个部分的结构;描述各个部分的相互关系及它们如何协调与合作;项目组成员对解决方案的共识;产生物理设计
的基础。
在整个过程中,定义建模将形成解决方案,这些行为将影响逻辑实体的结构。创建逻辑设计的过程如下:确定业务对象;确定对这些业务对象提供服务,后续将作为类
方法模拟这些服务;确定业务对象的属性,属性保留数据,将作为领域和属性建模;根据基础业务流程,在概念设计过程中,确定与其他业务对象的行为。业务对象的行为
以实现特定的业务流程,使用顺序图建模。
l 类图(Class Diagram):提供关于该系统的行为,可创建元素的结构。在逻辑图中可以创建模型类,接口、枚举、包和它们之间的关系。这些关系类型可以是合作、
继承、依赖和包含。接口可以显示全部细节,类和接口将具有的属性和操作。如果我们共注一个接口类,然后添加成员的接口,那么这些成员将自动显示在实现类中。类
图组成元素结构如图6所示。
图6 类图组成元素结构
l 顺序图(Sequence Diagrams):顺序图的模型是建立在类的行为建模上,表明该方法在不同类的实例调用其他类的实例,并可以同步显示及用异步方法调用和反馈,
通常按照时间有序的方式表达,如图7所示。
图7 顺序图组成元素结构
如上图所示,顺序图显示了模仿一些类的行为。垂直线代表某一类或接口是该类的实例,所描绘的消息表示在有序的方式调用它们之间的相互作用的情况。
③物理设计(Physical Design):是在逻辑设计的基础上,从系统的逻辑对象、数据实体和界面逻辑关系中进一步整理和细化得到的设计方案。它将确定系统采用的
技术方案和平台,并明确实际开发的组件、数据库表、窗口及页面等。详细设计是把现实的技术应用到逻辑模型上,并考虑到实现的可能性和最终系统的性能。物理设计
最终结果包含组件定义、特定平台上的用户界面设计,以及数据库的设计。
VSTS 2010中并没有提供明确的工具,它提供组件图来表示。
l 组件图(Component Diagram):它可以显示不同的类、接口、页面和可执行文件等打包成可调用的组件。组件可以暴露接口,也可以代表其他站点部署的多个
组件、类库和网页等,容器组件可以委托接口实现这些内部组件,如图7-64所示。
如图8所示,扩展组件ITester接口是用户的测试组件ITester的接口。测试组件和单元测试的内部组件实现了ITester接口,这样的测试组件任务代表ITester接口测试的组
成部分。同样的单元测试组件实现IUnitTest接口,这进一步代表组成的IUnitTest的任务单元测试组件。
图8 组件图组成元素结构
更多的功能将在我们的新书《构筑敏捷的软件开发团队—VS2010实战兵法》中详细描述,该书得到了微软方面的大力支持,将在2010.4月12日在微软VS2010正式
发布上会同时发布。 有兴趣的网友可以关注。
———————————————————————
任何美好的事物只有触动了人们的心灵才变的美好;
孤独的时候看看天空里的雨,其实流泪的不只是你。
人生只有走出来的美丽,没有等出来的辉煌!
———————————————————————