- 1、本文档共58页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SA核心概念及其建模2
使用“多视图模型”进行SA建模的原因 考虑建筑体系结构的描述: 房间布局图、电路图、管道图、等等; A software architecture is a complex entity that cannot be described in a simple one-dimensional fashion (软件体系结构非常复杂,无法用简单的一维模型加以描述). 多视图SA模型:从多个不同角度建立SA的模型,分别刻画SA某一方面的性质。 系统的每一个不同的视图反映了一组系统相关人员所关注的系统的特定方面; 多视图体现了“关注点分离”(separation of concerns)的思想,使系统更易于理解,方便系统相关人员之间进行交流,并且有利于系统的一致性检测以及系统质量属性的评估。 * 关于SA的IEEE标准1471-2000 * IEEE1471: STAKEHOLDERS THEIR CONCERNS * SA的“视图观” (Kruchten) 4+1模型 统一建模语言UML (Hofmesiter) 4视图模型 (CMU-SEI) Views and Beyond模型 (ZIFA)Zachman框架 开放分布式处理参考模型(RM-ODP) * RM-ODP的视图观 * ZACHMAN FRAMEWORK的视图观 * (KRUCHTEN)4+1视图模型 Kruchten在1995年提出了“4+1”的视图模型。 “4+1”视图模型从5个不同的视角(逻辑视图、进程视图、物理视图、开发视图和用例视图)来描述软件体系结构。 每一个视图只关心系统的一个侧面,5个视图结合在一起才能反映系统的软件体系结构的全部内容。 该模型已被广泛应用于UML和RUP中。 * (KRUCHTEN) 4+1视图模型结构 * 逻辑视图(LOGICAL VIEW) 逻辑视图主要支持系统的功能性需求,即系统提供给最终用户的服务。 在逻辑视图中,系统分解成一系列的功能抽象(classes, interfaces, and patterns),这些抽象主要来自用户需求所在的问题领域,同时也表达了软件领域的相应概念。 这种分解不但可以用来进行功能分析,而且可用作标识在整个系统的各个不同部分的通用机制和设计元素。 The logical view typically doesn’t address how the system will be implemented or executed. (逻辑视图通常并不描述软件系统是如何被实现或执行) * 逻辑视图的UML表示 在UML中,逻辑视图通常使用以下的图形表达形式 Class diagrams (类图) Activity diagrams (活动图) Sequence diagrams (次序图) Composite structure diagrams (组合结构图) * 逻辑视图的UML表示 * 逻辑视图的UML表示 * 开发视图(IMPLEMENTATION VIEW) 开发视图也称模块视图(Module View),主要侧重于软件模块的组织和管理。 系统-子系统-模块(构件、文件、资源等),并组织成层次结构 开发视图的另一个焦点在于:描述各模块之间的依存关系。 What components depend on what, what source files implement what classes, etc. (例如:一个构件的实现依赖于哪些其他构件、哪些源文件实现了哪些类,等等。) 开发视图要考虑软件内部的实现需求,如软件开发的容易性、软件的复用和软件的通用性,要充分考虑由于具体开发工具的不同而带来的局限性。 * 开发视图的UML表示 在UML中,开发视图通常使用以下的图形表达形式 Component diagrams (构件图) * * 进程视图(PROCESS VIEW) 进程视图侧重于系统的运行特性,主要关注一些非功能性的需求。 并发性、分布性、系统集成性和容错能力; 逻辑视图中的各个抽象概念如何在进程中被执行; 逻辑视图中的各个类的操作具体是在进程中的哪一个线程中被执行的。 * 进程视图的UML表示 Process views often use some form of the following diagrams to show how a system actually behaves at runtime: (在UML中,进程视图通常使用以下UML图来描述一个系统的运行时行为) Activity diagrams (活动图) Interaction diagrams (交互图) Sequence diagrams (次序图) Communication dia
文档评论(0)