软件工程节义04文档资料.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程节义04文档资料

第四章 软件体系结构 授课老师:清华大学计算机系 殷人昆 yinrk432@ password qhdxjsjx 软件体系结构的定义 一个程序或计算机系统的软件体系结构,包括一个或一组软件构件、软件构件的外部可见特性及其相互关系。 软件构件的外部可见特性是指软件构件提供的服务、性能、特性、错误处理、共享资源使用等。 软件体系结构的基本单位是软件构件,软件构件是一个软件体系结构的核心。 概念结构:从主要设计元素(构件)及其相互关联、设计原则和性能角度考虑的结构。 模块结构:根据功能分解建立模块的层次结构,包括模块接口、模块管理、模块控制和一致性等问题。 代码结构:描述源程序,二进制程序,库文件在开发环境下的组织,包括系统资源配置管理,系统构造和对象嵌入机制 OEM 等。 执行结构:描述系统的动态结构包括性能、调度、动态配置和不同系统间的接口等。 软件体系结构的设计过程是为系统建立一个基本架构。它包括识别系统的主要构件和这些构件之间的通信。 设计过程的主要活动 系统构造:将系统分解为一系列基本的子系统,每一子系统是独立的软件成分。 控制建模:建立系统各部分之间的控制关系的一般模型。 模块分解:将子系统进一步分解为模块。 1、系统构造 (System Structuring) 体系结构设计的第一步是将系统分解为一系列相互作用的子系统。 在最抽象层次,系统可视为一个方框图,图中每个方框表示一个子系统。 每个方框内的方框表明子系统本身还可分解为子系统。 箭头表示一个子系统向另一子系统传送数据或控制。 组装机器人控制系统的方框图 体系结构方框图表示一个系统结构的概貌,软件工程师很容易理解它。 这种方框图的缺点是没有反映系统构件之间关系的本质,没有表明系统的外部特性。 根据各子系统如何共享数据、如何分布、如何相互交互,可开发更加特定的模型。 数据仓库模型 客户机/ 服务器模型 抽象机模型 1) 数据仓库模型 (repository model) 所有共享数据都存放于数据库中, 这些数据可为所有子系统存取。 每个子系统保有各自的数据库,通过传送消息,可在子系统之间交换数据。 大量的数据围绕一个共享数据库或数据仓库来组织。 这种系统主要适用于控制系统,信息管理系统,CAD系统,CASE工具集。 集成的CASE工具集的体系结构 以数据仓库为核心 2) 客户机/服务器模型 (client/server model) 这是一种分布式系统模型, 表明各种数据和处理如何分布到各个处理器上。 有一组功能各自独立的服务器,为其他子系统提供服务,如打印服务器,文件服务器,编译服务器等。 有一组客户机, 它们调用服务器提供的服务,也可能存在一些客户机,可并发执行的客户机程序。 有一个网络, 使得客户机能够访问服务器。 film picture library系统的体系结构 客户机 / 服务器方法可用来实现基于数据仓库的系统,由数据仓库作为服务器提供系统服务。 各子系统作为客户访问数据仓库,但各子系统还有自己的数据管理功能。 服务器与客户间交换数据以执行处理。 对于大量的数据交换,可通过高速网络来解决性能问题。 客户机 / 服务器系统多用于具有多个分布式处理器的网络系统。 3) 抽象机模型 (abstract machine model) 一个体系结构的抽象机模型也称为层次模型。 此模型可以建立各个子系统的接口,它把系统组织成一系列的层次,每一层次提供一组服务,定义一个抽象机。 每一个抽象机由其下一层的抽象机的代码构成。 例如,网络协议的参考模型 OSI 即为典型的层次模型,而TCP/IP 通信协议则为四层的层次模型。 抽象机模型支持系统抽象程度递增的系统开发,具有可变更性和可移植性。 当一个层次开发出来后,就可以为其上层提供有效的某些服务。 如果接口是预定义的,则一个层次可为另一个层次所替换。 若一个层次的接口发生变更,仅相邻层次受到影响。 层次系统将机器依赖性局部化到它的内部层次上。 2、控制模型 (Control model) 在体系结构层次上的控制模型进一步考虑子系统之间的控制流。 集中控制模型 事件驱动模型 1) 集中控制模型 (centralised control model) 在集中控制模型中,将一个子系统设计为系统控制器,其职责是管理其他子系统的执行。 集中控制模型可以: 控制子系统顺序执行 控制子系统并发执行 作为集中控制器的子系统在将控制转交给另一子系统后,该子系统完成它的功能后控制权还要归还给集中控制器子系统。 调用-返回模型 (Call-Return model) 此即熟悉的自顶向下的子程序模型。 控制始于子程序层次的顶部,通过子程序调用,从层次结构较高层的程序向较低层的程序传递控制信息。程序执行结束将向较高层的父程

文档评论(0)

1honey + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档