您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 2015级软件体系结构复习资料及考试试卷
软件架构的定义:(1)计算系统的软件架构是解释该系统所需的结构体的集合,其中包括软件元素,元素之间的相互关系和二者各自的属性。(2)Bass:软件架构包括一个或一组软件构件,软件构件的外部的可见特性(指软件构件提供的服务,性能,特性,错误处理,共享资源使用等)及其相互关系。(3)软件架构师关注的首先不是功能,而是品质关注点(非功能性需求),涉众关注的是那些品质,如性能.安全.可伸缩性.可变性.可维护性.可用性等。理解涉众的品质关注点后,考虑折中.分解,分而治之.保持概念完整性。(4)软件架构具有一定形式的结构化元素,即构件的集合包括:处理构件:负责对数据进行加工;数据构件:是被加工的信息;连接构件:把架构的不同部分组合连接起来.软件架构从四个角度,对系统进行描述:概念:描述系统的主要构件及它们之间的关系模块:包含功能分解和层次结构;运行:描述系统的动态结构;代码:描述代码和库函数在开发环境中的组织(5)张友生:软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述,这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。软件架构不仅指定了系统的组织和拓步结构,还显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。软件架构的意义:架构是风险承担者(涉众)进行交流的手段架构是早期设计决策的体现软件架构是可传递和可重用的模型软件架构的应用现状(1)软件架构描述语言:ADL是一种形式化语言。(2)架构描述构造与表示:按照一定的描述方法,用架构描述语言(ADL)对架构进行说明的结果则称为架构的表示,将描述架构的过程称为架构构造。(3)架构分析、设计与验证:架构分析的内容:结构、功能和非功能分析//架构设计本质:将系统分解成相应的组成成分并将这些成分重新组装成一个系统//架构设计两大类方法:过程驱劢和问题列表驱劢.架构测试着重于仿真系统模型,解决架构层的主要问题.架构测试策略可分为单元/子系统/集成/验收测试等阶段的测试策略。(4)架构发现、演化与重用:Ø架构发现从既存系统中提取软件的架构,属逆向工程。Ø架构重用属于设计重用,比代码重用更抽象。Ø软件架构演化是指由于系统需求、技术、环境、分布等因素的变化而导致软件架构的变劢。(5)基于架构的软件开发方法:在基于构件和基于架构的软开发逐渐成为主流情况下,已经出现了基于构件的软件工程。(6)特定领域的架构框架:DSSA是将架构理论应用到具体领域的过程。(7)软件架构支持工具(8软件产品线架构:产品线代表着一组具有公共的系统需求集的软件系统,是根据基本的用户需求对标准的产品线构架迚行定制,将可重用构件不系统独有的部分集成而得到的。(9)建立评价软件架构的方法:架构权衡分析方法(ATAM方法)、软件架构分析方法(SAAM方法)、中间设计的积极评审(ARID方法)软件体系结构建模的种类结构、框架、动态、过程、功能模型结构:以构件、连接件和其他概念来刻画结构,并以此来反映系统的重要语义内容.框架:框架模型更侧重于整体的结构.主要以一些特殊的问题为目标建立只针对和适应该问题的结构。动态:动态模型是对结构或框架模型的补充,研究系统的“大颗粒”的行为性质。例如,描述系统的重新配置或演化。过程:过程模型研究构造系统的步骤和过程。功能:体系结构是由一组功能构件按层次组成,下层向上层提供服务。4+1模型逻辑视图主要支持系统的功能需求.-静开发视图也称模块视图,主要侧重于软件模块的组织和管理。-静进程视图侧重于系统的运行特性,主要关注一些非功能性的需求。-动物理视图主要考虑如何把软件映射到硬件上-动场景可以看作是那些重要系统活动的抽象,它使四个视图有机联系起来,场景可认为是最重要的需求抽象。管理信息系统-逻辑视图和开发视图实时控制系统-进程视图和物理视图RUP4+1软件体系结构的生命周期模型:架构的核心模型:构件.连接件.配置.端口.角色软件过程各阶段间的关系:需求分析-建立体系结构-详细设计-实现-测试C4模型:容器:一个在其内部可以执行构件或驻留数据的东西。在面向对象的系统中,通常系统由多个容器组成,容器由多个构件组成,构件由多个类组成。软件架构风格:描述某一特定应用领域中系统组织方式的惯用模式.架构风格定义了一个系统家族即(架构定义,词汇表,约束),词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。诸风格的特征数据流风格:批处理序列;管道/过滤器。调用/返回风格:主程序/子程序;面向对象风格;层次结构。独立构件风格:进程通讯;事件系统。虚拟机风格:解释器;基于规则的系统。仓库风格:数据库系统;超文本系统;黑板系统。C2风格管道-过滤器:每个构件都读输入数据流,进行处理,产生输出数据流.这里的处理是对输入流的过滤,变换及增量计算;构件被称为过滤器,连接件就是过滤器间的数据流传输的管道.如:UnixShell编写的程序.编译器.批处理程序.面像对象系统:此风格建立在数据抽象和面向对象的基础上。构件是对象。构件封装了数据和用于控制该数据的操作,构件间通过信息传递进行通讯和合作。基于事件的隐式调用:构件不直接调用一个过程,而是触发或广播一个或多个事件.系统中的其它构件中的过程在一个或多个事件中注册,当一个事件被触发,系统自动调用在这个事件中注册的所有过程。这种风格的构件是一些模块,模块既可以是一些过程,又可以是一些事件的集合.主要特点:事件的触发者并不知道哪些构件会被这些事件影响.如IDE的Debugger,数据库的trigger,Windows的画面控制.分层系统:层次系统为层次结构,每一层为上层服务,并作为下层客户.连接件通过决定层间如何交互的协议来定义,拓扑约束包括对相邻层间交互的约束。此风格便于分解复杂问题.由于每层只影响两层,同时只要给相邻层提供相同的接口,允许每层用不同的方法实现,同样为软件重用提供了强大的支持。仓库系统:有两种构件:中央数据结构说明当前状态,独立构件在中央数据存贮上执行.构件与仓库间相互作用.(数据库,信号处理松耦合代理,数据共享存取,带有全局数据库的批处理系统)C2:系统中的构件和连接件都有一个顶部和一个底部;构件的顶部应连接到某连接件的底部,构件的底部则应连接到某连接件的顶部,而构件与构件之间的直接连接是不允许的;一个连接件可以和任意数目的其它构件和连接件连接;当两个连接件进行直接连接时,必须由其中一个的底部到另一个的顶部。C/S风格:有三个主要组成部分:客户应用程序,数据库服务器和网络.模型:任务分配:服务器:数据库安全性的要求;数据库访问并发性的控制;数据库前端的客户应用程序的全局数据完整性规则;数据库的备份与恢复。客户应用程序:提供用户与数据库交互的界面;向数据库服务器提交用户请求并接收来自数据库服务器的信息;利用客户应用程序对在客户端的数据执行应用逻辑要求。优点:有强大的数据操作和事务处理能力,模型思想简单,易于理解,节约费用.缺点:开发成本较高,客户端程序设计复杂,软件移植困难三层C/S风格优点:可维护性和可扩展性,具有良好的可升级性和开放性,可以选择各自最适合的开发语言。三层C/S结构各层间的通信效率若不高,即使分配给各层的硬件能力很强,其作为整体来说也达不到所要求的性能。设计时必须慎重考虑三层间的通信方法、通信频度及数据量这和提高各层的独立性一样是三层C/S结构的关键问题。三层B/S风格具体结构为:浏览器/Web服务器/数据库服务器。B/S架构是利用浏览器技术,结合浏览器的多种脚本语言用通用浏览器就实现强大功能,并节约了开发和运用成本。优:系统安装、修改和维护,都容易,对客户端机器性能要求不高.适用于面向大量用户的应用和不特定用户应用.架构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础缺:应用系统在操作性等响应速度上远低于C/S架构.数据动态交互性不强,不利于在线事务处理(OLTP)应用.在公众网下的应用会有安全方面的成本。CORBA:接口定义语言(IDL)~利用IDL统一地描述服务器对象的接口接口池(IR)~利用IDL统一地描述服务器对象的接口动态调用接口(DII)动态调用接口提供了标准函数供客户对象动态创建请求、动态构造请求参数。客户对象将动态调用接口与接口池配合使用可实现服务器对象接口的动态搜索、请求及参数的动态构造与发送。对象适配器(OA)用于屏蔽ORB内核的实现细节,为服务器对象的实现者提供抽象接口,以便他们使用ORB内部的某些功能。这些功能包括服务器对象的登录与激活、客户请求的认证等。特点:引入中间件作为事务代理,完成客户机提出的业务请求。Ø实现客户与服务对象的完全分开。Ø提供软总线机制。Ø采用面向对象的软件实现方法开发应用系统。正交软件体系结构正交软件体系结构由完成不同功能的n(n1)个线索(子系统)组成Ø系统具有m(m1)个不同抽象级别的层;Ø线索之间是相互独立的(正交的);系统有一个公共驱动层(一般为最高层)和公共数据结构(一般为最低层)Ø结构清晰,易于理解Ø易修改,可维护性强Ø可移植性强,重用粒度大基于层次消息总线的软件结构异构风格Ø关于软件包、框架、通信以及其他一些架构上的问题,存在多种标准。且会变化。我们总会遇到一些遗留系统,它们仍有效用,但与新系统有些不协调。处于技术与经济的考虑,常决定不再重写它们。即使在某一单位中规定了共享共同的软件包或相互关系的一些标准,仍存在解释或表示习惯上的不同。领域特定的软件架构(DSSA)ØDSSA的目标:在相关应用中共享体系结构。以加大重用。DSSA的定义:DSSA是专用于一类特定类型的任务(领域)的、在整个领域中能有效地使用的、为成功构造应用系统限定了标准的组合结构的软件构件的集合。基本活动:模型典型的软件系统的架构类型Ø人工智能:模拟或扩大人类认知,运动或其他有机体过程的系统Ø商业:工商企业运营必要的系统Ø通讯:提供用于数据传输和数据管理,数据的用户连接或者数据展示的基础设施的系统Ø内容创作:用来创建或管理文字和多媒体的系统Ø设备:与物理世界交互的系统,可为个人提供某种有意义的服务Ø娱乐与运动:管理公众事件或者提供大众娱乐体验的系统。Ø金融:为转账和理财及其他安全事务提供基础设施的系统Ø游戏:为个人或群体提供娱乐体验的系统Ø工业:模拟或控制物理过程的系统Ø行政管理:支持地方/中央/全球等政治实体的管理和运作方式的系统Ø法律:支持法律的系统Ø医疗:诊断或治疗,或者有助于医学研究的系统Ø军事:用于商议,通讯,指挥,控制和信息(C4I)的系统。也有用于进攻和防卫武器的系统Ø操作系统:位于硬件之上提供基本软件服务的系统Ø平台:位于操作系统之上提供高级服务的系统Ø科学:用于科学研究和应用的系统Ø工具:用于开发其他系统的系统Ø运输:控制水上,地面,空中或太空交通工具的系统Ø实用程序:与其他软件交互作用的系统,可提供某种有意义的服务体系结构描述方法图形表达工具模块内连语言:传统程序设计语言。不便处理和描述高层次软件体系结构元素。基于软构件的系统描述语言:将软件系统描述成一种是由许多特殊软件实体构造组成的组织或系统.面向的系统元素是层次较低的以程序设计为基础的通信协作软件实体单元,系统一般是面向特定应用的特殊系统.软件体系结构描述语言:ADL是针对软件体系结构的整体性和抽象性特点,定义和确定适合于软件体系结构表达与描述的有关抽象元素而形成的。XML的特点Ø简洁有效Ø易学易用Ø开放的国际化标准Ø高效且可扩充XML的作用Ø使得搜索更加有意义Ø开发灵活的Web应用软件Ø实现不同数据的集成Ø使用于多种应用环境Ø客户端数据处理与计算Ø数据显示多样化Ø局部数据更新Ø与现有Web发布机制相兼容Ø可升级性Ø压缩性能高XML的应用Ø客户需要与不同的数据源进行交互时Ø将大量运算负荷分布在客户端Ø将同一数据以不同的面貌展现给不同的用户Ø网络代理对所取得的信息进行编辑、增减以适应个人用户的需要XML与HTML的区别ØHTML是一种格式化的语言,HTML文本可以看作一个格式化的程序ØXML是一种元标记
本文标题:2015级软件体系结构复习资料及考试试卷
链接地址:https://www.777doc.com/doc-5740540 .html