欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    软件体系结构-第1章.ppt

    • 资源ID:6610797       资源大小:566.50KB        全文页数:39页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件体系结构-第1章.ppt

    1,软件体系结构,第一章,2,作为软件工程课程的深入和继续,以拓宽软件设计方法和技术的知识面,提高设计能力为目标;并为软件工程理论的深入研究奠定基础。具体目标包括:1.了解软件体系结构研究的基本问题、途径和发展状况2.了解并掌握软件的基础结构和设计原则3.学习软件体系结构的经典风格,掌握不同风格所适应的计算问题、优势和代价4.学习软件体系结构流行的应用框架,掌握框架针对的需求和解决方案5.学习软件设计模式的经典类型,掌握设计的基本思路和策略6.了解软件体系结构形式化方法的主要研究内容和进展,课程的目标,3,1.Mary Shaw,David GarlanSoftware Architecture 清华大学出版社 19989 2.张友生 编著软件体系结构清华大学出版 200753.牛振动,江鹏,金福生 编译软件体系结构清华大学出版社 200734.刘真 编著软件体系结构北京:中国电力出版社,2004.9 5.万建成,卢雷 编著软件体系结构的原理、组成与应用科学出版社 20028 6.谭征,何坚编著软件体系结构西安:西安交通大学出版社 2002.2,主要参考书,4,课程内容第1章 软件体系结构基本概念第2章 软件体系结构经典风格第3章 软件体系结构应用第4章 软件体系结构设计模式第5章 软件体系结构研究与发展,5,第1章 软件体系结构基本概念1.1 软件体系结构基本概念1.2 软件体系结构风格、模式和框架1.3 软件结构的基本元素和连接1.4 软件体系结构设计的基本原则,6,1.1 软件体系结构的基本概念软件体系结构是软件工程的重要研究领域,软件体系结构并没有统一的定义。90年代开始,很多专家学者对软件体系结构引起广泛关注,综合软件体系结构的定义,比较权威性的论述是:,设计描述,总体组织全局控制通讯、同步、协议设计元素的功能物理分布和集成,怎样选择怎样评价怎样实现,返回目录,7,软件体系结构要点:软件体系结构是软件设计过程的一个层面,是相对独立的、有价值的软件设计方法的总结,可作为软件开发指导性的策略和途径。强调设计过程,而非分析的过程。分析的目标是理解和表示,设计的目标是实现。非用户的观点及非功能的观点。对于用户,结构是软件系统功能的组合。对于设计者,结构是为特定目标而设立的软件成分以及成分之间的关系。,8,1.2 软件体系结构风格、模式和框架软件体系结构风格(Architecture Styles)风格是表达特定系统元素和组织方式的通用范例(idiomatic paradigm)。软件体系结构风格,反映众多系统共有结构的习惯用法和语义,表述系统的静态结构方式,强调软件元素的组织形式和通常用法。软件设计模式(Design Pattern)设计模式是软件问题高效和成熟的设计模板(pattern),模板包含了固有的问题的处理逻辑,强调处理逻辑采用方式的直接复用。软件应用框架(Application Framework)框架是待实例化的、可复用的大粒度部件结构。框架面向不同规模的应用问题,是通用的结构。强调针对实际问题和通用结构。,返回目录,9,1.3 软件结构的基本元素和连接软件结构的表示从低层到高层,高层软件结构是建立在基础结构之上的。软件构成的基础结构包括:数据类型结构控制流连接结构中断触发连接结构层次结构,返回目录,10,10,数据类型结构,数据类型是最基本的软件结构元素,是描述复杂算法和软件结构的基础,即数据结构。,数据类型包括:,基本数据类型抽象数据类型,返回本节,11,文件结构:顺序文件散列文件索引文件,基本数据类型,线性结构:向量队列链表堆栈顺序表,复杂结构:图树集合多维数组稀疏矩阵广义表二叉树,12,12,抽象数据类型(ADT Abstract Data Types),a.确定具有属性的独立数据对象,并将其操作确定在之上b.建立抽象数据类型,作为运行时产生数据实例的结构模板,ADT名 数据属性表 操作方法定义及操作描述表,结构形式:,例如:struct union enum class,13,控制流连接结构控制流结构直接对应程序结构 包括:条件连接循环连接控制转向连接,返回本节,14,14,条件连接,循环连接,过程 条件转移判断,过程K,过程J,过程I 控制转移处理,过程K,过程 循环条件判断,过程K,Y,N,While,控制转移连接,条件转向 循环结构控制转向,单条件分支转向if then else多条件分支转向switch case,break,continue,程序结构,forWhile do,repeat untilon gotoset to,set on/off,do,15,控制流连接方式,进程中的控制连接(内部调用),同一机器空间不同机器空间(远程过程调用),链询调用方式分析调用方式,进程之间的连接,P1代码,P2代码,Pn代码,过程代码.,进程中的控制连接(内部调用):显式地调用处理代码地址通过过程调用机制及堆栈机制实现连接调用过程必须有唯一过程标识和所需要的参数,17,同一机器中进程调用链询方式,请求服务入口表,服务进程代码1If请求服务=1else 转向,服务进程代码2If请求服务=2else go转向,进程之间的连接采用服务进程控制链,查找过程采用链询方式。请求服务进程通过登记请求入口表与服务进程连接。,服务进程控制,进程之间的连接,18,进程调用,接口,分析 执行,进程调用包括三部分:接口:负责请求调用进程的联系,包括需要的数据转换分析:按给定的请求确认并找到执行代码段执行:开始执行,并将执行结果后返回接口,同一机器中进程调用分析方式,19,19,进程1,进程2,进程1代理,网络连接,不同机器空间中的过程调用(远程过程调用)远程过程调用代理机制:请求进程代理的工作:控制标识、运行环境、堆栈、网络连接、接收结果等响应进程代理的工作:寻找执行代码段,控制执行服务,返回相应结果,进程2代理,请求进程代理响应进程代理,20,中断触发连接结构,P1代码,Pn代码,请求事件是突发即时的通过统一的中断向量表连接到处理事件的代码段处理事件代码的执行包括:本进程内和独立进程独立进程包括:同步执行和异步执行,过程代码 事件1 事件2 事件3.,返回本节,软件的层次结构,层次结构是分析和解决问题普遍适用的方法,单项依赖层次结构:下层仅向相邻的上层提供支持,上层依赖相邻的下层被建造开放式层次结构:使用及支持关系不仅限制在相邻的层次之间,返回本节,22,第二层:软化的硬件层,第三层:基础控制描述层,第四层:资源和管理调度层,第五层:系统结构框架层,第六层:应用层,第一层:计算机硬件层,层次结构示例:计算机系统层次结构,处理器、存储器、时钟、I/O端口及通道、缓存,等等,状态、指令、中断服务、地址、I/O端口及通道号,等的集合。,程序控制、数据结构、系统模型等基本系统元素。,基于操作系统的任务、进程、消息、输入输出等资源管理。,解释器、转换器、中间件、通用运行环境。,23,单向依赖层次结构示例:ISO/OSI网络协议,应用层,表示层,会话层,传输层,网络层,链路层,物理层,第7层协议,报文,第6层协议,第5层协议,第4层协议,第3层协议,第2层协议,第1层协议,应用层,表示层,会话层,传输层,网络层,链路层,物理层,报文,报文,报文,信息包,帧,Bit,计算机A,计算机B,24,(Shell)解释运行,用户1,用户2,开放式层次结构示例:操作系统层次结构,语言处理、系统工具、系统应用环境,系统调用,操作系统内核(System Kernel),基本输入/输出(BIOS),计算机硬件(CPU、内存、输入/输出),用户n,25,在大量的软件开发实践中,对于软件结构的设计有被普遍性采用的原则,这些原则和策略多年来一直被广泛地运用着。它们独立于具体的软件开发方法。,抽象 分而治之 信息隐蔽 模块化,高内聚和低耦合关注点分离策略和实现分离接口和实现分离,基本原则包括:,1.4 软件体系结构设计的基本原则,返回目录,26,软件设计原则的依据-软件质量及评价体系,软件质量定义按国际标准ISO/8042-1994对软件质量定义:能满足明确需求的软件实体,所具有能力的特性总合。按照国家GB/T 11457-2006软件工程术语中定义软件质量为:软件产品能满足给定需要的性质和特性的总体,27,软件质量模型 可表达软件特性所包含的全部内容 业界认同的软件质量模型:Bohm 质量模型,1976年由Bohm等提出软件质量分层模型McCall 质量模型,1979年由McCall等人提出的软件质量模型ISOIEC 9126-1:2001,给出的软件质量模型,28,软件质量,可移植性,可用性,可维护性,可靠性,效率,人类工程,可测性,可理解性,可修改性,设备独立性,自包含性,正确性,完备性,健壮性,一致性,可计测性,设备效率,可存取性,通信性,自描述性,结构化性,简单清晰性,可扩充性,Bohm 质量模型,29,产品修正,产品转移,产品运行,可维护性可测试性灵活性,互联性可移植性复用性,正确性 可靠性易用性 效率 完整性,McCall 质量模型,30,外部质量和内部质量,功能性,易用性,可靠性,效率,可维护性,可移植性,使用质量,生产性,有效性,安全性,满意度,ISOIEC 9126-1:2001质量模型,31,抽象的原则,抽象:人们认识复杂事物的基本方法。抽象的实质是突出表现事物的主要特征和属性,忽略细节部分;并且,运用这些特征和属性,提取具有普遍意义的事物行为。,软件设计中的抽象:数据抽象:描述特定数据对象的属性集合过程抽象:特定操作过程命名的操作序列控制抽象:隐含内部细节的控制逻辑,32,分而治之原则,将大的问题分解,分别处理分解的局部问题,会降低问题的复杂性和难度。,软件设计中运用的分解包括:纵向分解:按照事务的过程方式分解,将整体问题分解成为多层,每层完成同一过程的各项处理,并提取规范统一形式的接口,以提供对下层(下一过程)的支持。横向分解:在每一层面,将问题分成多项独立的处理部分,它们原则上不要直接的联系,而是通过集中的控制。,33,信息隐蔽的原则,局部化设计:处理中的所有信息和操作被限制在局部过程中,尽量减少外部的直接接触与共享,提高独立性,减小相互的耦合性。封装设计:将处理过程尽量隐蔽,使外界只了解其简单、统一的可访问形式。以减少外界可能的错误干扰和破坏。,设计中运用的信息隐蔽的技术包括:,封装设计局部化设计,34,模块化的原则,模块可分解:整体问题可被分解成多个模块来解决模块可组装:现有的模块可被组装用以解决问题模块可理解:模块可作为独立作用的成分被理解模块连续性好:对系统的修改只作用于单个的模块模块保护性好:模块出现异常的影响,仅在模块内部,模块:可被独立命名、具有独立作用的软件成分,35,高内聚和低耦合原则,内聚性:指软件成份内部各处理单元的关系程度。能做到每个成分都有必然关系,缺一不可的紧密程度是最好的内聚形式。耦合性:指软件成份之间的关系特性。软件成份之间应尽量做到没有直接关系,使其保持相对独立、松散耦合的关系会使未来的修改、复用简单,出错带来的影响小。,36,偶然内聚:将没有直接关系,只是分散在多处的成分合起来逻辑内聚:将仅是逻辑相关的处理成分合起来时间内聚:将需在同一时间执行并无直接关系的处理成分合起来过程内聚:将过程顺序相关的处理成分合起来通讯内聚:将需要对同一个外部数据操作的处理成分合起来顺序内聚:将两个具有输入输出顺序关系的软件成份合起来功能内聚:保证每个成分只完成单一的功能,内容耦合:一个软件成份直接修改另一个软件成份的内容公共耦合:多个软件成份需要处理同一个外部的公共数据控制耦合:软件成份的动作依赖于接收的控制信号标记耦合:软件成份的接口参数具有一个复杂的内部结构数据耦合:软件成份之间仅通过简单类型的形式参数传递,常见的内聚形式,常见的耦合形式,紧密,松散,松散,紧密,37,关注点分离原则关注点:关注点是软件系统中特别需要考虑的多变部分。例如,软件成分的执行会受到运行环境、设备条件,以及通信设施等的制约和限制,为了适应不同的运行环境和条件,需要进行必要的参数调整和驱动配置。为此进行的这部分设计和开发,即是所谓的关注点。关注点分离设计:软件系统中涉及关注点的成分应该与非关注点的成分分为相互独立的部分,这样的设计会使未来的系统容易配置,实现机器无关性。,功能处理部分,环境适应部分,38,策略和实现分离原则策略:策略是指软件中用于处理选择控制的决策成分。通过上下文相关的决策分析、信息语义解释分析、参数选择等进行判断,以决定怎样地具体数据加工和功能实现。实现:实现是指软件系统中有规范步骤及完整执行算法的成分策略和实现分离的设计:通常,决策部分是异变的成分,而实现部分相对稳定,并可多次复用。将策略成分和实现成分分别设计成独立的部分,使系统维护的范围减小,以提高系统的维护性和复用性。,数据处理部分,决策部分,39,接口和实现分离原则接口接口是软件成分对外规范形式的、可访问的操作集合,提供软件成分的功能及使用方式。一个软件成分可以不只一个接口,每个接口提供不同的一组相关的操作。实现实现是软件成分外部不可见的操作执行部分接口和实现分离的设计为了达到软件成分的高复用,为适应多种形式的访问,可采用分设多种接口来实现。这就需要采用接口和实现独立设计的方式,以提高系统的可移植性和复用性。,操作实现部分,接口3,接口2,接口1,

    注意事项

    本文(软件体系结构-第1章.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开