您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 可视化的软件架构设计(精)
可视化的软件架构设计张炜TechnicalEvangelistMicrosoft议程建模使用UML生成代码对代码进行反向工程生成报表课程准备有一定桌面或者Web应用的开发经验有一定使用VisualC#™,VisualC++®,VisualBasic®,orVisualBasic.NET的经验难度:中议程建模使用UML生成代码对代码进行反向工程生成报表建模为什么要用模型?在创建系统之前,可以更好的理解潜在的一些风险模型可以让我们描述系统的结构和行为,并且利用它和同事沟通模型提供了指导我们创建系统的模板,我们还可以利用它为使用系统的人提供帮助模型还描述了我们所做的决策建模企业架构功能UML软件建模完全支持UML1.2建模规范对现有的代码进行UML反向工程生成可订制的VisualBasic,C++和C#代码框架自动检查语义错误可定制的UML报表议程建模使用UML生成代码对代码进行反向工程生成报表使用UMLUML的定义UML是一种这样的语言:可视化功能规范系统构造文档化使用UML让你用一种标准的方法来设计软件UML是一种开放式标准使用UML图表类型结构化图表(静态)类(Class)图(静态结构)构件(Component)图实施(Deployment)图行为图表(动态)用例(Usecase)图顺序(Sequence)图协作(Collaboration)图状态(Statechart)图活动(Activity)图使用UML类图«uses»«uses»«uses»«uses»defaultcategoriesbooksearchresultssearch使用UML用例(UseCase)图用例通常用于:对系统的前后关联建模对系统的需求建模InternetCustomerCustomerAccountManagementPurchaseBooksProductCatalogSearch使用UML构件(Component)图构件图通常用于:对源代码建模对可执行体的发布建模对物理数据库建模对可适应的系统建模WebBusinessFacadeSystemFramework使用UML实施(Deployment)图实施图通常用于:对嵌入式系统建模对客户/服务器系统建模对完全分布式系统建模DataAccessDatabaseServerDatabase使用UML顺序(Sequence)图顺序图通常用于:按照时间顺序对控制流建模:Web::book:BusinessFacade::ProductSystem:DataAccess::BooksGetBooksByISBN()GetBooksByAuthor()GetBooksByNaturalLanguage()GetBooksBySubject()GetBooksByTitle()GetBookById()使用UML其他类型图表协作(Collaboration)图通常用于:按照组织对控制流建模状态(Statechart)图通常用于:对反应型对象建模活动(Activity)图通常用于:对工作流建模对操作建模使用UML构造块(BuildingBlocks)元素一个模型中最基本的构造块关系事物之间的联系图一组元素的图形表示使用UML类每个类都必须有一个名字,以同其它类区分.可能包含路径的名称,用以表示该类存在的地方Businessrules::Customer(“Customer”类存在于“Businessrules”包中.)属性(Attributes)描述一个类的实例可以拥有的一组值操作是一个服务的实现,该服务可以由类的任何对象请求以影响其行为+New()+Dispose()#Dispose(indisposing:Boolean)+GetCategories(incategoryId:Integer):CategoryData-FillCategoryData(incommandText:String):CategoryData-dsCommand:SqlDataAdapterCategoriesNameAttributesOperations使用UML依赖关系依赖是一种使用关系,它说明一个事物规范的变化可能影响到使用它的另一个事务,但反之则不然在本例中,“Window”类依赖于“Event”类.Window+Open()+Close()+Move()+Display()+handleEvent()Event使用UML泛化(Generalization)/继承(Inheritance)关系泛化指把一般类连接到较为特殊的类,也称为超类/子类关系或父类/子类关系+New()+SecureUrlBase():String+UrlBase():String+Customer():DataSet+ShoppingCart(inforceCreate:Boolean=True):Cart#OnError(ine:EventArgs)-UNHANDLED_EXCEPTION:String=Unhandled?Exception:-KEY_CACHECART:String=Cache:ShoppingCart:-KEY_CACHECUSTOMER:String=Cache:Customer:-pageSecureUrlBase:String-pageUrlBase:String-urlSuffix:StringWeb::PageBase-InitializeComponent()-Page_Init(insender:Object,ine:EventArgs)+ItemList():DataView-Categories_Load(insender:Object,ine:EventArgs)-ReadQueryString(inoutid:Integer):Boolean-KEY_ID:String=id-itemView:DataView#CategoryDesciptionLabel:Label#ModuleDailyPick:DailyPickModuleWeb::Categories-InitializeComponent()#Page_Init(inSender:Object,ine:EventArgs)-Book_Load(inSender:Object,ine:EventArgs)-AddToCartButton_Click(insender:Object,ine:EventArgs)-ReadQueryString(inoutId:Integer):Boolean-KEY_ID:String=id#FileSpecImage:Image#TitleLabel:Label#AuthorLable:Label#PublisherNameLabel:Label#IsbnLabel:Label#DescriptionLabel:Label#UnitPriceLabel:Label#AddToCartButton:ButtonWeb::Book+New()+SecureUrlBase():String+UrlBase():String+Customer():DataSet+ShoppingCart(inforceCreate:Boolean=True):Cart#OnError(ine:EventArgs)-UNHANDLED_EXCEPTION:String=Unhandled?Exception:-KEY_CACHECART:String=Cache:ShoppingCart:-KEY_CACHECUSTOMER:String=Cache:Customer:-pageSecureUrlBase:String-pageUrlBase:String-urlSuffix:StringWeb::PageBase-InitializeComponent()-Page_Init(insender:Object,ine:EventArgs)+ItemList():DataView-Categories_Load(insender:Object,ine:EventArgs)-ReadQueryString(inoutid:Integer):Boolean-KEY_ID:String=id-itemView:DataView#CategoryDesciptionLabel:Label#ModuleDailyPick:DailyPickModuleWeb::Categories-InitializeComponent()#Page_Init(inSender:Object,ine:EventArgs)-Book_Load(inSender:Object,ine:EventArgs)-AddToCartButton_Click(insender:Object,ine:EventArgs)-ReadQueryString(inoutId:Integer):Boolean-KEY_ID:String=id#FileSpecImage:Image#TitleLabel:Label#AuthorLable:Label#PublisherNameLabel:Label#IsbnLabel:Label#DescriptionLabel:Label#UnitPriceLabel:Label#AddToCartButton:ButtonWeb::Book+New()+SecureUrlBase():String+UrlBase():String+Customer():DataSet+ShoppingCart(inforceCreate:Boolean=True):Cart#OnError(ine:EventArgs)-UNHANDLED_EXCEPTION:String=Unhandled?Exception:-KEY_CACHECART:String=Cache:ShoppingCart:-KEY_CACHECUSTOMER:String=Cache:Customer:-pageSecureUrlBase:String-pageUrlBase:String-urlSuffix:StringWeb::PageBase-InitializeComponent()-Page_Init(insender:Object,ine:EventArgs)+ItemList():DataView-Categories_Load(insender:Object,ine:EventArgs)-ReadQueryString(inoutid:Integer):Boolean-KEY_ID:String=id-itemView:DataView#CategoryDesciptionLabel:Label#ModuleDailyPick:DailyPickModuleWeb::Categories-InitializeComponent()#Page_Init(inSender:Object,ine:EventArgs)-Book_Load(inSender:Object,ine:EventArgs)-AddToCartButton_Click(insender:Object,ine:EventArgs)-ReadQueryString(inoutId:Integer):Boolean-KEY_ID:String=id#FileSpecImage:Image#TitleLabel:Label#AuthorLable:Label#PublisherNameLabel:Label#IsbnLabel:Label#DescriptionLabel:Label#UnitPriceLabel:Label#AddTo
本文标题:可视化的软件架构设计(精)
链接地址:https://www.777doc.com/doc-3205393 .html