- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章 架构建模 * 第8章 架构建模 * 在图中,角色名之前有一个加号“+”。在定义代码时,加号说明了其后的角色是公有的。一个角色可以是公有的(public,用“+”号表示)、受保护的(protected,用“#”号表示)、私有的(private,用“-”号表示),或者具体于实现的(implementation,不用专门的符号表示)。 公有角色可以被所有需要该角色的模型元素访问 受保护的角色只能被属于该角色的一部分的关联或角色访问 私有角色只能通过其所属的关联的另一端的模型元素访问 具体于实现的角色能够被实现该角色的包内的所有元素访问。 第8章 架构建模 * 在逻辑架构模型的设计中,泛化可用于展示类的继承层次关系。 例如,一个“Employee”可以是“Fulltime(全职)”的,或“Part-time(兼职)”的。在定义一个Employee类时,可能想通过添加属性来表明雇员的不同类型。但是对于非技术评阅者来说,用泛化关系来表示雇员的不同类型将使模型更加清晰,如下图所示。图中的继承层次说明了全职雇员和兼职雇员都是雇员,它们都继承了父类Employee的所有属性和操作。 8.4.2 系统和子系统 第8章 架构建模 * 构造型(stereotype) 使用构造型,可以扩展UML以满足你更具体的建模需要。 构造型本身也是一个UML模型元素,它的作用是扩展已有的模型元素。 用构造型扩展后的模型元素具有了扩展后的新特性。 UML中,在一个模型元素中增加了构造型图标“stereotype”后,该图标就表示用注明的构造型扩展后的模型元素。 第8章 架构建模 * 如下图所示,系统(system)是一个用构造型“system”扩展的包。 系统代表了属于某一个特定项目的所有模型元素。在建立更详细的模型时,还可以通过构造型“business system”和“application system”对系统进一步分解。 第8章 架构建模 * 一个系统通常可以被分解为多个子系统(subsystem)。 子系统,如同系统,是通过一个构造型“sybsystem”扩展的包。如下图所示。 一个子系统由整个系统中的一组模型元素构成。 第8章 架构建模 * 因为系统和子系统是用构造型扩展了的包,因此它们具有包的一切性质,符合包的所有使用规则。这意味着系统和子系统内的模型元素属于代表系统或子系统的包而不属于其他任何包。 子系统为项目的划分提供了手段。 既然一个系统包含了多个子系统,那么子系统内的所有元素也同样属于包含子系统的系统。可以用一个图来描绘系统的逻辑架构(见下图)。 8.5 物理架构 第8章 架构建模 * 架构可以分别在逻辑层和物理层描述。 逻辑架构是一个较通用的架构,它较少地依赖技术细节。 物理架构更详细地描述软件和系统的设计,包括架构中规定要采用的不同技术细节,还描述了软件自身及软件与其他软件是如何集成的。 8.5.1 操作 第8章 架构建模 * 操作描述了与类的职责和类之间的交互有关的业务逻辑。 例如,“getCustomer”是Customer类中的一个操作。 这个操作描述了与如何查询顾客信息有关的应用逻辑(见图)。 第8章 架构建模 * 尽管类的所有成分最终都将被转换为物理代码并成为可运行的软件应用,但是操作的具体细节是在系统和模型的物理实现时考虑的更具体的类成分。在逻辑架构模型中,操作用于说明软件的预期行为,而在物理架构中操作定义了系统的物理实现中的算法、函数等技术细节。操作描述了系统的功能,以及系统在实现中要用到的技术。 8.5.2 构件图 第8章 架构建模 * 构件(component)由一个或多个类组成,它描述了一个应用的一部分,这些部分可以被组装和重用。 基于构件的架构(component-based architecture,CBD)是一种系统设计方法,在这样的系统设计方法中,一个系统由多个构件组装而成。 将系统分解为多个小的部分(构件)分别开发,这是提高开发效率的重要手段,开发出的小的部件可以被用来组装成完整的系统。这种开发方法可以重用已经开发好的软件构件,而不是每次都要重新开发。 第8章 架构建模 * 基于构件的架构还可以让不同的小组共同开发一个软件,他们可以通过接口将各自开发的部分组装起来。接口(interface)是一个命名了的操作集合,这些操作让构件通过接口代码一起协同工作。一个构件可以通过它的接口部署的特定技术和代码向其他构件提供信息或者从其他构件获取信息。图中显示了构件图中的构件和接口的表示法。 第8章 架构建模 * 接口用一个圆圈形状的图标表示,也可以用构造型“interface”扩展的类来表示。 构件图展示了系统中的构件和构件是如何被组装的,下图给出了一个构件图的例子。 第8章 架构建模 * 可以使用构件图对
文档评论(0)