体系结构第1章.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件架构 (软件体系结构) ——UML与设计模式 主讲教师:张立人 8.停止向洗衣机中注水。 9.通过排水管排掉漂洗衣物的水。 10.洗涤缸加快速度单方向旋转5分钟。 11.洗涤缸停止旋转,洗衣过程结束。 下图用一个顺序图说明了进水管、洗涤缸和排水管(由顺序图顶端的矩形图标代表)之间随时间变化所经历的交互过程。在此图中,进程是从上到下的。 * * 前言:什么是软件体系结构? 从“体系结构”的英文单词理解它的含义 architecture(建筑、建筑学)是最古老的艺术之一,也是一门最古老的工程学科,它研究建筑的风格、建筑的组成元素、这些元素的组织结构以及之间的相互关系。同样,体系结构研究和描述系统元素的结构规划,包括它们如何互相适应、如何协作,以满足系统的需求。很难给出软件体系结构的定义,因为不能描述出,对于不同领域和不同规模的系统,哪些设计细节是重要的。 2. 软件体系结构在软件开发中的地位 体系结构连接了系统需求和实现,它处在领域分析、需求分析、风险分析之后,而在详细设计、编码、集成和测试之前。 通过对一大批软件产品开发的观察,得出结论,一个产品是否成功,一个重要因素是,是否拥有能被投资者和开发小组成员很好理解的(在适当细节层次上)、好的软件体系结构。尽管拥有一个好的体系结构并不能保证产品符合需求,但设计不当的或者定义错误的体系结构是绝对不能使产品满足需求的。 3. 软件体系结构的特点 软件体系结构是指一个系统的有目的的设计和规划,这个设计规划既不描述活动,也不描述如何开发产品,它只描述系统的组成元素及其相互的交互、协作。 软件的不可见性容易导致软件体系结构的隐含性,于是很多人不重视软件体系结构,很少有软件专业人员认真评价软件体系结构的健壮性和质量。 软件体系结构是一种帮助管理复杂性的抽象化的工具,所以,它应该以相对较粗的粒度定义并描述系 统元素,应该描述元素如何满足系统需求,包括哪些元素为哪些功能负责、它们之间如何交互、它们与外界如何交互以及对运行平台的依赖性。 通过对大量软件项目的体系结构的研究,发现它们有着一些共性和规则,这就是:包含截然不同的视图。有的专家把这些视图归纳为概念视图、模块视图、执行视图和代码视图。概念视图和应用领域的联系最为紧密,在概念视图中,问题和解决方案主要是通过领域术语来考虑的。模块视图中,系统被划分为子系统和模块,强调的是如何用现有的软件平台以及技术来实现概念视图中的解决方案。执行视图中,模块被 映射为运行时平台所提供的元素,比如内存的使用和硬件的分配,强调的是运行平台的控制流。代码视图中,要决定执行视图中的运行实体如何映射为部署构件(例如,可执行构件),要决定模块视图中的模块如何映射为源文件。执行视图和代码视图之间有一个松散的连接,一个执行视图中的运行时刻实体在代码视图中通常有一个对应的文件,但并不是任何一个运行时刻实体都有对应文件,例如线程。 一个软件体系结构的架构过程中,尽管架构师没有明确地把体系结构视为不同的视图,但实际上他已经使用了这些视图。使用这些视图的原因是:把系统 分解为不同的视图,可以帮助人们管理复杂的系统。因此,在我们的开发实践中,有意识地、按顺序地运用这些视图,可以帮助我们有条不紊地组织开发过程。 以上视图的划分方法适合应用于大型企业信息系统的体系结构架构过程。从我们的主要需要出发,我们将使用一种简化了的视图划分方法,既只把体系结构划分为概念领域和系统领域两种视图,我们以后的开发实例将按照这两种领域的顺序来建立体系结构。 4. 相关术语 软件体系结构风格(例如管道、过滤器) 设计模式:设计模式有时和体系结构相关,有时和详细设计相关,区别的方法是看它是描述体系结构元素之间的交互,还是描述体系结构元素内部的结构与交互。 软件体系结构描述语言ADL(例如UML) 第一部分 UML及其应用实例 第一章 UML简介 在本章中,你将学习如下内容: 为什么需要UML? UML的诞生。 各种UML图。 为什么使用UML提供的不同类型的图对我们来说很重要? UML(Unified Modeling Language,统一建模语言)是一种可视化的建模语言,它能让系统构造者用标准的、易于理解的方式建立起能够表达出他们想象力的系统蓝图,并且提供了便于不同的人之间有效地共享和交流设计结果的机制。 交流思想是极为重要的。在UML出现以前,系统开发往往是无计划的议题。系统分析员尽力去获取客户的需求,用某种他自己能够理解(但客户不一定总能理解)的表示法来产生需求分析文档,然后将这个分析转交给—个程序员

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档