《可视化的软件架构设计电子教案.ppt》由会员分享,可在线阅读,更多相关《可视化的软件架构设计电子教案.ppt(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、可视化的软件架构设计议程议程l l建模建模l l使用使用UMLl l生成代码生成代码 l l对代码进行反向工程对代码进行反向工程 l l生成报表生成报表课程准备课程准备l l有一定桌面或者有一定桌面或者Web应用的开发经验应用的开发经验l l有一定使用有一定使用 Visual C#,Visual C+,Visual Basic,or Visual Basic.NET的经验的经验难度:中难度:中议程议程l l建模建模l l使用使用UMLl l生成代码生成代码 l l对代码进行反向工程对代码进行反向工程 l l生成报表生成报表建模建模为什么要用模型为什么要用模型?l l在创建系统之前,可以更好的理
2、解潜在的在创建系统之前,可以更好的理解潜在的一些风险一些风险l l模型可以让我们描述系统的结构和行为,模型可以让我们描述系统的结构和行为,并且利用它和同事沟通并且利用它和同事沟通 l l模型提供了指导我们创建系统的模板,我模型提供了指导我们创建系统的模板,我们还可以利用它为使用系统的人提供帮助们还可以利用它为使用系统的人提供帮助l l模型还描述了我们所做的决策模型还描述了我们所做的决策建模建模企业架构功能企业架构功能l lUML 软件建模软件建模完全支持完全支持完全支持完全支持 UML 1.2 UML 1.2 建模规范建模规范建模规范建模规范对现有的代码进行对现有的代码进行对现有的代码进行对现
3、有的代码进行UMLUML反向工程反向工程反向工程反向工程生成可订制的生成可订制的生成可订制的生成可订制的Visual Basic,C+Visual Basic,C+和和和和 C#C#代码代码代码代码框架框架框架框架自动检查语义错误自动检查语义错误自动检查语义错误自动检查语义错误可定制的可定制的可定制的可定制的 UML UML 报表报表报表报表议程议程l l建模建模l l使用使用UMLl l生成代码生成代码 l l对代码进行反向工程对代码进行反向工程 l l生成报表生成报表使用使用 UMLUML 的定义的定义l lUML 是一种这样的语言是一种这样的语言:可视化可视化功能规范功能规范系统构造系统
4、构造文档化文档化l l使用使用 UML 让你用一种标准的方法来设计软让你用一种标准的方法来设计软件件l lUML 是一种开放式标准是一种开放式标准使用使用 UML 图表类型图表类型l l结构化图表结构化图表结构化图表结构化图表 (静态静态静态静态)类类类类(Class)(Class)图图图图 (静态静态静态静态结构结构结构结构)构件构件构件构件(Component)(Component)图图图图实施实施实施实施(Deployment)(Deployment)图图图图l l行为图表行为图表行为图表行为图表 (动态动态动态动态)用例用例用例用例(Use case)(Use case)图图图图顺序顺
5、序顺序顺序(Sequence)(Sequence)图图图图协作协作协作协作(Collaboration)(Collaboration)图图图图状态状态状态状态(Statechart)(Statechart)图图图图活动活动活动活动(Activity)(Activity)图图图图使用使用 UML 类图类图usesusesusesusesusesusesusesusesdefaultdefaultcategoriescategoriesbookbooksearchresultssearchresultssearchsearch使用使用 UML 用例用例(Use Case)图图l l用例通常用于用例
6、通常用于用例通常用于用例通常用于:对系统的前后对系统的前后对系统的前后对系统的前后关联建模关联建模关联建模关联建模对系统的需求对系统的需求对系统的需求对系统的需求建模建模建模建模Internet CustomerInternet CustomerCustomer Account Customer Account ManagementManagementPurchase BooksPurchase BooksProduct Catalog Product Catalog SearchSearch使用使用 UML 构件构件(Component)图图l l构件图通常用于构件图通常用于构件图通常用于构
7、件图通常用于:对源代码建模对源代码建模对源代码建模对源代码建模对可执行体的发布建模对可执行体的发布建模对可执行体的发布建模对可执行体的发布建模对物理数据库建模对物理数据库建模对物理数据库建模对物理数据库建模对可适应的系统建模对可适应的系统建模对可适应的系统建模对可适应的系统建模WebWebBusiness FacadeBusiness FacadeSystemFrameworkSystemFramework使用使用 UML 实施实施(Deployment)图图l l实施图通常用于实施图通常用于实施图通常用于实施图通常用于:对嵌入式系统建模对嵌入式系统建模对嵌入式系统建模对嵌入式系统建模对客户对
8、客户对客户对客户/服务器系统建服务器系统建服务器系统建服务器系统建模模模模对完全分布式系统建对完全分布式系统建对完全分布式系统建对完全分布式系统建模模模模DataAccessDataAccessDatabase ServerDatabase ServerDatabase Database 使用使用 UML 顺序顺序(Sequence)图图l l顺序图通常用于顺序图通常用于顺序图通常用于顺序图通常用于:按照时间顺序对控制流建模按照时间顺序对控制流建模按照时间顺序对控制流建模按照时间顺序对控制流建模:Web:book:Web:book:BusinessFacade:ProductSystem:Bu
9、sinessFacade:ProductSystem:DataAccess:Books:DataAccess:BooksGetBooksByISBN()GetBooksByISBN()GetBooksByAuthor()GetBooksByAuthor()GetBooksByNaturalLanguage()GetBooksByNaturalLanguage()GetBooksBySubject()GetBooksBySubject()GetBooksByTitle()GetBooksByTitle()GetBookById()GetBookById()使用使用 UML 其他类型图表其他类型图
10、表l l协作协作协作协作(Collaboration)(Collaboration)图通常用于图通常用于图通常用于图通常用于:按照组织对控制流建模按照组织对控制流建模按照组织对控制流建模按照组织对控制流建模l l状态状态状态状态(State chart)(State chart)图通常用于图通常用于图通常用于图通常用于:对反应型对象建模对反应型对象建模对反应型对象建模对反应型对象建模l l活动活动活动活动(Activity)(Activity)图通常用于图通常用于图通常用于图通常用于:对工作流建模对工作流建模对工作流建模对工作流建模对操作建模对操作建模对操作建模对操作建模使用使用 UML 构造
11、块构造块(Building Blocks)l l元素元素一个模型中最基本的构造块一个模型中最基本的构造块l l关系关系事物之间的联系事物之间的联系l l图图一组元素的图形表示一组元素的图形表示使用使用 UML 类类l l每个类都必须有一个名字,以同其它类区分每个类都必须有一个名字,以同其它类区分每个类都必须有一个名字,以同其它类区分每个类都必须有一个名字,以同其它类区分.可能包含路径的名称,用以表示该类存在的地方可能包含路径的名称,用以表示该类存在的地方可能包含路径的名称,用以表示该类存在的地方可能包含路径的名称,用以表示该类存在的地方 Business rules:CustomerBusin
12、ess rules:Customer(“Customer”(“Customer”类存在于类存在于类存在于类存在于“Business rules”Business rules”包中包中包中包中.).)l l属性属性属性属性(Attributes)(Attributes)描述一个类的实例可以拥有的一组值描述一个类的实例可以拥有的一组值描述一个类的实例可以拥有的一组值描述一个类的实例可以拥有的一组值l l操作是一个服务的实现,该服务可以由类的任何对象请求以影响其行操作是一个服务的实现,该服务可以由类的任何对象请求以影响其行操作是一个服务的实现,该服务可以由类的任何对象请求以影响其行操作是一个服务的实
13、现,该服务可以由类的任何对象请求以影响其行为为为为 NameNameAttributesAttributesOperationsOperations使用使用 UML 依赖关系依赖关系l l依赖是一种使用关系,它说明一个事物规范的变化依赖是一种使用关系,它说明一个事物规范的变化依赖是一种使用关系,它说明一个事物规范的变化依赖是一种使用关系,它说明一个事物规范的变化可能影响到使用它的另一个事务,但反之则不然可能影响到使用它的另一个事务,但反之则不然可能影响到使用它的另一个事务,但反之则不然可能影响到使用它的另一个事务,但反之则不然l l在本例中在本例中在本例中在本例中,“Window”,“Wind
14、ow”类依赖于类依赖于类依赖于类依赖于“Event”Event”类类类类.WindowWindow+Open()+Open()+Close()+Close()+Move()+Move()+Display()+Display()+handleEvent()+handleEvent()EventEvent使用使用 UML 泛化泛化(Generalization)/继承继承(Inheritance)关系关系l l泛化指把一般类连接到较为特殊的类,也称为超类泛化指把一般类连接到较为特殊的类,也称为超类泛化指把一般类连接到较为特殊的类,也称为超类泛化指把一般类连接到较为特殊的类,也称为超类/子类关子类关
15、子类关子类关系或父类系或父类系或父类系或父类/子类关系子类关系子类关系子类关系使用使用 UML 关联关联(Association)关系关系l l是一种结构关系,它是一种结构关系,它是一种结构关系,它是一种结构关系,它指明一个事物的对象指明一个事物的对象指明一个事物的对象指明一个事物的对象与另一个事务的对象与另一个事务的对象与另一个事务的对象与另一个事务的对象间的联系间的联系间的联系间的联系l l关联可以有关联可以有关联可以有关联可以有 名称名称名称名称角色角色角色角色多重性多重性多重性多重性PersonPersonCompanyCompanyWorks ForWorks ForNameName
16、PersonPersonCompanyCompanyEmployee EmployerEmployee EmployerRoleRolePersonPersonCompanyCompanyEmployee EmployerEmployee EmployerRole w/MultiplicityRole w/Multiplicity1*1*使用使用 UML 演示演示#1议程议程l l建模建模l l使用使用UMLl l生成代码生成代码 l l对代码进行反向工程对代码进行反向工程 l l生成报表生成报表生成代码生成代码l l企业架构版可以企业架构版可以:对某个类生成代码对某个类生成代码对某个类生成代
17、码对某个类生成代码将生成的代码作为新项目的一部分将生成的代码作为新项目的一部分将生成的代码作为新项目的一部分将生成的代码作为新项目的一部分 WindowsWindows Forms,ASP.NET,Class Library,Web Forms,ASP.NET,Class Library,Web Service,etc.Service,etc.用一种特定的语言生成代码用一种特定的语言生成代码用一种特定的语言生成代码用一种特定的语言生成代码:C#C#C+C+Visual Basic.NETVisual Basic.NET使用代码模板生成代码使用代码模板生成代码使用代码模板生成代码使用代码模板生成
18、代码生成代码生成代码操作操作l l操作可以生成为操作可以生成为操作可以生成为操作可以生成为:属性属性属性属性(Property)(Property)过程过程过程过程(Procedure)(Procedure)事件事件事件事件(Event)(Event)构造函数或者淅构函数构造函数或者淅构函数构造函数或者淅构函数构造函数或者淅构函数l l可以为每个生成的类文件指定路径可以为每个生成的类文件指定路径可以为每个生成的类文件指定路径可以为每个生成的类文件指定路径l l预览选项可以让你查看将要生成的代码预览选项可以让你查看将要生成的代码预览选项可以让你查看将要生成的代码预览选项可以让你查看将要生成的代码
19、l l用于类用于类用于类用于类 Classes,Classes,属性属性属性属性 Attributes,Attributes,操作操作操作操作Operations,Operations,等的代码模板等的代码模板等的代码模板等的代码模板生成代码生成代码错误检查错误检查l lUML UML 图会检查下述两种类型的错误图会检查下述两种类型的错误图会检查下述两种类型的错误图会检查下述两种类型的错误:语义语义语义语义代码代码代码代码l l语义错误包括图表相关遗漏和未完成的信息语义错误包括图表相关遗漏和未完成的信息语义错误包括图表相关遗漏和未完成的信息语义错误包括图表相关遗漏和未完成的信息l l代码错误包
20、括能够导致代码编译失败的错误代码错误包括能够导致代码编译失败的错误代码错误包括能够导致代码编译失败的错误代码错误包括能够导致代码编译失败的错误生成代码生成代码演示演示#2议程议程l l建模建模l l使用使用UMLl l生成代码生成代码 l l对代码进行反向工程对代码进行反向工程l l生成报表生成报表反向工程反向工程l l集成到了集成到了 Visual Studio.NET 企业版开企业版开发环境中发环境中Project|Visio UML|Reverse EngineerProject|Visio UML|Reverse EngineerVisio UML Add-in toolbar but
21、tonVisio UML Add-in toolbar buttonl l指定路径和文件名指定路径和文件名l l会创建新的会创建新的 Visio 模型模型 可以马上在图中使用这些类可以马上在图中使用这些类可以马上在图中使用这些类可以马上在图中使用这些类l lVisio 图被加入到解决方案中图被加入到解决方案中反向工程反向工程演示演示#3议程议程l l建模建模l l使用使用UMLl l生成代码生成代码 l l对代码进行反向工程对代码进行反向工程l l生成报表生成报表生成报表生成报表l lUML|Reports 菜单菜单l l可以生成各种不同的,丰富的报表可以生成各种不同的,丰富的报表静态结构静态
22、结构静态结构静态结构状态图状态图状态图状态图构件构件构件构件实施实施实施实施 活动活动活动活动l l报表是可以定制的报表是可以定制的生成报表生成报表报表内容报表内容l l可以指定报表的范围可以指定报表的范围可以基于可以基于可以基于可以基于:活动图活动图活动图活动图 整个整个整个整个 UML UML 模型模型模型模型l l指定对象种类以包括指定对象种类以包括 每个报表都有它自己的类别每个报表都有它自己的类别每个报表都有它自己的类别每个报表都有它自己的类别 每个种类都有它自己的详细级别每个种类都有它自己的详细级别每个种类都有它自己的详细级别每个种类都有它自己的详细级别l l可以为每个新的模型,包,
23、构件选择定制可以为每个新的模型,包,构件选择定制的分隔符的分隔符l lUML 报表可订制报表可订制生成报表生成报表其它报表选项其它报表选项uu从从 UML 报表窗口报表窗口,可以可以:vv打印打印打印打印vv标准打印选项标准打印选项标准打印选项标准打印选项vv预览预览预览预览vv导出导出导出导出vv指定文件名称和位置指定文件名称和位置指定文件名称和位置指定文件名称和位置vvRTF RTF 格式格式格式格式生成报表生成报表导出到导出到 Webl l将将 UML 图表存储为图表存储为 web 页页HTML HTML 帧格式帧格式帧格式帧格式方便的浏览多个图表方便的浏览多个图表方便的浏览多个图表方便
24、的浏览多个图表可以将图表嵌入到现有的框架中可以将图表嵌入到现有的框架中可以将图表嵌入到现有的框架中可以将图表嵌入到现有的框架中 添加导航条添加导航条添加导航条添加导航条 显示公司信息,标志显示公司信息,标志显示公司信息,标志显示公司信息,标志 使用模板来保证一致性使用模板来保证一致性使用模板来保证一致性使用模板来保证一致性l l很容易的将信息发布到很容易的将信息发布到Intranet生成报表生成报表演示演示#4总结总结l l建模建模l l使用使用UMLl l生成代码生成代码 l l对代码进行反向工程对代码进行反向工程l l生成报表生成报表MSDN开发员最好的和必备的资源开发员最好的和必备的资源
25、站在微软技术最前沿!站在微软技术最前沿!为开发者创建的网络为开发者创建的网络为开发者创建的网络为开发者创建的网络提供一年提供一年提供一年提供一年1212期的光盘资料期的光盘资料期的光盘资料期的光盘资料分三个级别分三个级别分三个级别分三个级别开发库开发库开发库开发库最新的开发文档,示例代码最新的开发文档,示例代码最新的开发文档,示例代码最新的开发文档,示例代码专业版专业版专业版专业版开发库开发库开发库开发库+全部微软操作系统全部微软操作系统全部微软操作系统全部微软操作系统+SDK+DDKSDK+DDK宇宙版宇宙版宇宙版宇宙版专业版专业版专业版专业版+其他所有微软产品其他所有微软产品其他所有微软产
26、品其他所有微软产品目的目的目的目的:为开发人员提供最先进的技术资料,产品,并提供相互为开发人员提供最先进的技术资料,产品,并提供相互为开发人员提供最先进的技术资料,产品,并提供相互为开发人员提供最先进的技术资料,产品,并提供相互帮助的机会帮助的机会帮助的机会帮助的机会调用调用WEB服务,获得酷鼠滑板服务,获得酷鼠滑板l l用任何语言创建一个任何类型的程序用任何语言创建一个任何类型的程序用任何语言创建一个任何类型的程序用任何语言创建一个任何类型的程序l l添加一个添加一个添加一个添加一个WebWeb引用引用引用引用l l设置好各项参数(设置好各项参数(设置好各项参数(设置好各项参数(CdKey,
27、sName,CdKey,sName,)然)然)然)然后调用后调用后调用后调用Register()Register()请访问请访问请访问请访问http:/ l编写一个编写一个编写一个编写一个WebWeb服务的应用,并注册到服务的应用,并注册到服务的应用,并注册到服务的应用,并注册到UDDIUDDI服务器服务器服务器服务器l l一个小建议:可以对现有站点包装一个小建议:可以对现有站点包装一个小建议:可以对现有站点包装一个小建议:可以对现有站点包装l 可以免费可以免费可以免费可以免费hosthost你的服你的服你的服你的服务务务务请访问请访问请访问请访问http:/ And Answers此此课课件下件下载载可自行可自行编辑编辑修改,修改,仅仅供参考!供参考!感感谢谢您的支持,我您的支持,我们们努力做得更好!努力做得更好!谢谢谢谢