- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UML统一建模语言 长沙学院计算机系 周景 第7讲 体系结构建模 重点: 什么是软件体系结构? 协作 模式和框架 MVC框架 软件体系结构 虽然软件体系结构已经在软件工程领域中有着广泛的应用,但迄今为止还没有一个被大家所公认的定义。 软件体系结构(software architecture)是指如何将系统划分为子系统,各个子系统是什么角色,以及它们将如何彼此关联的高层决策。 例如:如何与用户交互(C/S或B/S),或数据永久存储处理(关系数据库、文件数据库)有关的总体策略可以作为系统架构的一部分来描述。 软件体系结构的重要性 过去,人们把软件设计的重点放在数据结构和算法的选择上,随着软件系统规模越来越大、越来越复杂,整个系统的结构和规格说明显得越来越重要。 而担任这一工作的职务被称为软件架构师,比尔盖茨曾长期担任微软公司首席架构师。 协作 在软件体系结构的语境中,协作(collaboration)为一个由类、接口和其他元素组成的群体命名,它们共同工作,提供比各个部分的总和更强的合作行为。 协作的图形化表示 协作的组成 协作有两个方面: 一是结构部分,它详细说明共同工作以完成该协作的类、接口和其他元素。(类图) 二是行为部分,它详细说明关于这些元素如何交互的动态性。(交互图) 协作的结构方面 协作的行为方面 组织协作 对协作进行组织必须使用类图(class diagram) 关于协作的常用建模技术 对角色建模 对用况的实现建模 对操作的实现建模 对机制(设计模式)建模 注意:这四种建模都是以类图的形式出现 模式和框架 模式(pattern)是对给定语境中共同问题的通用解决方案。 机制(mechanism)是应用于一组类的设计模式(design patterns) 框架(framework)是为领域中的应用系统提供可扩充模板的体系结构模式。 框架 框架的规模比设计模式大。通常一个框架下会使用到很多的设计模式。 常用的软件体系结构: MVC Blackboard(黑板) Pipeline(管道) 更加广义的框架 我们在使用编程工具一定不会从零开始,许多的开发平台的都会给我们的编程提供这样类似的框架以及这些框架的实现,例如: Struts(MVC框架的一种) J2EE MFC(vc++ 6.0常用的开发框架) .NET QT MVC框架 MVC包括三类对象 模型Model:应用对象(包括业务数据和业务逻辑) 视图View:用户界面 控制器Controller:定义用户界面对用户界面的响应方式,然后将消息转发给模型对象 每一类对象都应该有自己明确的责任,如果不使用MVC,用户界面设计通常会把这些对象的责任混在一起。 就破坏了“高内聚,松耦合”的基本设计原则。 视图与模型 视图和模型之间存在一个“订购/通知”的协议,这实际上是“观察者(observer)”模式的应用 MVC架构与设计模式 MVC架构中使用到的设计模式: 观察者(Observer)模式 组合(Composite)模式 策略(Strategy)模式 Decorator模式 Factory Method 餐馆系统的MVC架构 分析: BookingSystem类的行为囊括了 视图的行为(display、updateDisplay方法) 控制器的行为(makeReservation方法) 模型的行为(recordArrival方法) Restaurant类比较类似控制器,但是同时也拥有部分模型的行为 餐馆系统的类图 分析: 视图:用户界面类 控制器:没有明显的控制器,预约单和餐桌管理类即充当了模型的角色,有拥有部分控制器才有的功能 包 可视化、详述、构造和文档化大型系统包括大量潜在的类、接口、构件、结点、图和其他元素,为了便于管理,有必要对这些元素进行组织分组。包就是这样的组。 设计良好的包把一些语义上接近并倾向于一起变化的的元素组织在一起。因此结构良好的包是松耦合、高内聚的 包的图形化表示 包 包可以拥有的元素: 类、接口、构件、结点、协作、用况、图,还可以是其他包 一个元素只能被一个包所拥有 这种拥有是一种组成关系 包的命名空间 包形成了一个命名空间,这以为着在一个包的语境中同一种元素的名称必须是唯一的; 但在不同的包中,可以允许有相同的名字的元素。 包内元素的可见性 public “+” 公共元素 protected “#” 继承可见 private “-” 完全不可见 “~” 包内可见 包的引入与引出 现在假设A放在一个包中,B放在另一个包中,但是A是看不见B的。
您可能关注的文档
最近下载
- 企业拓展训练培训服务方案.docx VIP
- 抗风湿药的分类与临床应用.pptx VIP
- 四上企业统计培训课件.pptx VIP
- 四上企业入库培训课件.pptx VIP
- 7郭永康+光在晶体和液晶中传播-4.ppt VIP
- 7郭永康光在晶体和液晶中传播2.ppt VIP
- 西门子SINUMERIK 802S base line SINUMERIK 802C base line简明操作与编程(中文).pdf
- 2024-2025统编版六年级上册道德与法治期末试题汇编:连线题(含答案).pdf VIP
- 李镇西《做最好的家长》读书交流.pptx VIP
- (最新)江苏省七年级下学期第一次月考英语试卷.pdf VIP
文档评论(0)