华南理工大学《软件体系结构》复习资料.docx

合集下载

软件体系结构期末考试复习资料

软件体系结构期末考试复习资料

软件体系结构仅供参考Chapter 11.构件的概念,构件的分类方法构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通讯接口和实现代码的复合体。

构件模型是对构件本质特性的抽象描述。

三个主要流派:OMG的CORBA;SUN的EJB;Microsoft的DCOM分类方法:关键字分类法、刻画分类法、超文本组织方法2.软件危机的表现软件成本日益增长、开发进度难控制、软件质量差、软件维护困难3.构件的重用:检索和提取构建,理解和评价构件,修改构件,构件组装。

4.软件体系结构的意义:①是风险承担者进行交流的手段。

②是早期设计决策的体现。

③是可传递和可重用的模型。

5.软件体系结构的发展经历了几个阶段1) "无体系结构" 设计阶段(以汇编语言进行小规模应用程序开发为特征)2) 萌芽阶段(控制流图和数据流图)3) 初期阶段(UML)4) 高级阶段(高层抽象结构为中心)6.软件体系结构定义(填空)软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。

Chapter 21.软件体系结构建模的种类结构模型、框架模型、动态模型、过程模型、功能模型2.4+1视图(会画图,详细描述)逻辑视图,主要支持系统的功能需求,即系统提供给最终用户的服务开发视图,主要侧重于软件模块的组织和管理。

进程视图,侧重于系统的运行特性,主要关注一些非功能性的需求。

物理视图,主要考虑如何把软件映射到硬件上场景可以看作是那些重要系统活动的抽象,它使四个视图有机联系起来3.软件体系结构的核心模型五种元素[Chapter2 ppt 29]构件、连接件、配置、端口、角色4、软件体系结构的核心模型(会画,1对N的关系)5、软件体系结构的生命周期:需求分析阶段,建立软件体系结构阶段,设计阶段,实现阶段,测试阶段。

软件体系结构期末考试资料

软件体系结构期末考试资料

填空题:1.构件是指语义完整,语法对旳和有可重用价值旳单位软件是软件重用过程中可以明确便是旳系统;构造上它是予以描述,通讯接口和实现代码旳复合体.2.构件获取渠道(1)直接使用作适应性修改(2)通过遗留工程(3)市场上购置(4)开发新旳构件3.构件分类与组织:关键字分类法,刻面分类法,超文本组织措施4.基于数据旳组装技术:这种组装技术也规定库中构件以子程序形式出现5.软件体系构造建模种类:构造模型,框架模型,动态模型,过程模型,功能模型6.体系构造风格定义了一种系统家族即定义了一种词汇表和一组约束7.有两种不一样构件:中央数据构造阐明目前状态,仓库是一黑板系统8.C/S体系构造有三个重要构成部分:数据库服务器,客户应用程序,网络9.ADL旳基本元素:构件,连接件,体系构造配置10.软件体系构造描述措施:图像体现工具,模块内连接语言,基于软构件旳系统描述语言,软件体系构造描述语言11.Web服务:数据层,数据访问层,业务层,业务面,监听者12.简朴对象访问协议:SOAP信封,SOAP编码规则,SOAP RPC表达,SOAP绑定13.Web服务特点:使用原则规范协议;使用协议旳规范性;高度集成能力;完好旳封装;松散耦合选择题:1构件模型旳三个重要流派OMG,Sun旳EJB,Microsoft旳DCOM2.构件管理:构件描述,构件分类与组织,人员及权限管理3.构件重用:检索与提取构件,理解与评价构件,修改构件,构件组装4.软件体系构造旳发展史:无体系构造设计阶段,萌芽阶段,初期阶段,高级阶段5.分层系统长处:支持基于抽象程度递增旳系统设计;支持功能增强;支持重用6.黑板系统旳构成:知识源,黑板数据构造,控制7.面向对象系统长处:变化一种对象旳表达不影响其他对象;分解成某些交互旳代理程序集合8.W3C是万维网联盟9.Web服务作为一种新兴旳Web应用模式,是一种崭新旳分布式计算模型,是Web上数据和信息集成旳有效机制10.Web服务就像Web上旳构件编程,开发人员通过调用Web应用编程接口,将Web服务集成进他们旳应用程序就像调用当地服务同样11.Web服务开发生命周期:构件,布署,运行,管理12.Web服务栈:程序设计语言【程序构件(构成程序旳基本元素及其取值或值域范围);操作符(连接构件旳多种功能符号); 抽象规则(有关构件和操作符旳命名体现规则);限制规则(一组选择并决定详细使用何种抽规则来作用于有关旳基本构件及其操作符旳规则和原理);规范阐明(有关句法旳语义关联阐明); 】软件体系构造【系统构件(模块化级别旳系统构成成分实体,这些实体可以被施以抽象旳特性化处理,并以多种方式得到使用);连接件(对构成系统旳有关抽象实体进行多种连接旳连接机制); 组合模式(系统中旳构件和连接件进行连接组合旳特殊方式也就是软件体系构造风格); 限制规则(决定有关模式可以作为子系统进行大型软件系统构造和开发旳合法子系统旳有关构件); 规范阐明(有关系统组织构造方面旳语义关联阐明)】1.软件体系构造定义: 软件体系构造为软件系统提供了一种构造、行为和属性旳高级抽象, 由构成系统旳元素旳描述、这些元素旳互相作用、指导元素集成旳模式以及这些模式旳约束构成。

软件体系结构课件_软件体系结构总复习

软件体系结构课件_软件体系结构总复习
软件体系结构总复习
第一章 序论
软件体系结构的定义 Software Architecture is the structure or structures of
the system, Which comprise software elements, the externally visible properties of these Elements, and the relations among them
模块结构 组件-连接器结构 分配结构
分解结构 使用结构 分层结构 类或泛化
模块结构
分解结构 使用结构 分层结构 类或泛化
组件-连接器结构
组件 连接 连接的本质 连接器 组件间的联系
分配结构
什么是分配结构
硬件、团队结构、文件系统都会与软件构 架进行交互,所以必须考虑这一类结构。
第八章 构架编档
什么是架构编档,简要表达软件构架编档 要包含的主要内容。
第七章 软件产品线
产品线的概念 一个软件产品线是满足以下性质的
一组软件产品: -共享一组相同的、可管理的特性
的集合 -满足一类特定的市场需求
公共核心资产库(core assets base) COTS〔Commercial Off-the-Shelf〕 核心资产开发活动的输入和目标 产品开发活动中输入/输出关系 使用产品线的好处和代价
元进行操作 连接件:控制 根据控制策略的不同,分为: 数据库〔知识库〕:系统由输入数据流中的事务
信息来驱动,即输入数据流中的事务指令可以触 发系统相应进程的执行, 黑板:如果系统由中央数据结构的当前状态来驱 动,那么黑板模型。
黑板风格
Com它一些事物 元素外部可见的属性是指元素对其它元素来说 提供的效劳 需要的效劳 共享资源的使用等 各元素间的交互关系也可能有多种 例如:细划分,同步,调用,包含…

南信 软件体系结构 必考点

南信 软件体系结构  必考点

软件体系结构复习填空、判断:1.构件概念构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通讯接口和实现代码的复合体。

简单地说,构件是具有一定的功能,能够独立工作或能同其他构件装配起来协调工作的程序体,构件的使用同它的开发、生产无关。

构件分类方法:关键字分类法、刻面分类法、超文本组织法2.ADL的构成要素构件:是一个计算或数据存储单元,构件是计算与状态存在的场所,其自身也包含多种属性;连接件:用于建立构件间的交互以及支配这些交互规则的体系结构构造模块,它可以不与现实系统中的编译单元对应;体系结构配置/拓扑:描述体系结构的构件与连接件的连接图,它提供信息来确定构件是否正确连接、接口是否匹配、连接件构成的通信是否正确,并说明实现要求行为的组合语义。

3.动态软件体系结构概念动态性分为三类:交互式动态性、结构化动态性、体系结构动态性。

4.基于构件的动态系统结构模型:应用层、中间层、体系结构层5.Web服务模型(三种逻辑构件):一个完整的Web服务包括三种逻辑构建:服务提供者、服务代理和服务请求。

6.设计模式目录中对模式的分类根据模式的目标,可以将它们分成创建性模式、结构性模式和行为性模式。

创建性模式处理的是对象的创建过程,结构性模式处理的是对象/类的组合,行为性模式处理类和对象间的交互方式和任务分布。

7.体系结构驱动所谓体系结构驱动,是指构成体系结构的商业、质量和功能需求的组合。

它决定ABSD方法。

8.基于实现和说明的程序测试方法是否适用于对软件体系结构的测试。

不适用9.可用性概念可用性是系统能够正常运行的时间比例。

经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。

10.SEI模型SEI将产品线的基本活动分为:核心资源开发(领域工程)、产品开发(应用工程)、管理。

11.框架分类及创建方式框架有三种建立方式:自顶向下,自底向上和混合方式。

华南理工大学《软件工程》复习要点.docx

华南理工大学《软件工程》复习要点.docx

华南理工大学《软件工程》复习要点第一章概述1.1软件:程序+相关文档和配置信息通用软件,定制产品软件工程一>计算机科学/系统工程软件过程:1.软件描述2.软件开发3.软件有效性验证4.软件进化软件过程模型:1.工作流模型2.数据流或活动模型3.角色/动作模型(从特定角度提出软件过程的简化描述)1.瀑布模型开发方法2.进化式开发方法3.形式化转换4.基于可复用的组件的系统组合软件成本软件工程方法统一建模语言UMLCASE工具1.2职业道德1.机密2.工作能力3.知识产权4.计算机滥用第三章软件过程软件描述软件设计和实现软件冇效性验证软件进化3.1软件过程模型瀑布模型:需求定义和分析;系统和软件设计;实现和单元测试;集成和系统测试;运行和维护进化式开发:探索式开发;抛弃式原型。

存在的三个问题:过程不可见,系统结构通常较差,特殊工具和技术的使用形式化系统开发:用形式化数学转换來将系统描述转换成一个可执行程序。

与瀑布模型之间的木质区别:1•软件需求描述被精炼成一个用数学符号表达的详细的形式化描述2.设计、实现和单元测试的开发过程被一个转换的开发过程所替代,在这个转换的开发过程中,形式化描述经过-•系列转换变成一个可执行程序。

面向复用的开发:1.组件分析2.需求修改3.使用复用的系统设计4.开发和集成3.2过程反复混合模型增量式开发;螺旋式开发。

增量式开发:瀑布模型的优势在于其简单的管理模型以及设计和实现的分离,这使得系统是鲁棒的、容易修改的。

述化式开发允许需求和设计决策的延迟,但是也导致了软件的较羌结构和难以理解和维护。

增量式开发是一个结合这两个模型的优点的综合方法。

冃的:减少返工好处:1.客户无需等到整个系统的实现。

(就可以使用)2.客户可以将早期的增量作为原型,从中获得对后面系统增量的需求经验。

3.项冃总体失败的风险比较低。

4.重要的系统服务肖定接受了最多的测试,客户不太可能遇到失败。

螺旋式开发:每个回路被分成四个部分1.目标设置风险评估和规避开发和有效性验证规划特点:明确的风险考虑3.3软件描述〃非重点需求工程过程有四个主要阶段:1.可行性研究需求导出和分析需求描述需求有效性验证3.4.软件设计和实现〃非重点多次反复的过程,设计过程屮的活动是交替进行的。

华南理工大学软件体系结构复习提纲

华南理工大学软件体系结构复习提纲

1.理解并比较构件分类的三种方法,如何在其中检索构件?每种方法各有什么优缺点?2. 详细了解什么是Web 服务体系结构?Web 服务(Web Service )是基于XML 和HTTPS 的一种服务, 其通信协议主要基于 SOAP ,服务的描述通过 WSDL ,通过UDDI 来发现和获得服务的元数据。

Web Services 技术的主要目标就是在现有的各种异构平台的基础上构筑一个通用的平台无关、语言无关的技术 层各种不同平台之上的应用依靠这个技术层来实施彼此的连接和集成。

(1)Web 服务模型:一个完整的 Web 服务包括三种逻辑构件:服务提供者、服务代理和服务请求。

与Web 服务相关的操作有发布、发现和绑定。

服务代理一部分进行描述。

(客户/服务器规约)Style Client_ Server "客户-服务器体系结掏风格Component ClientPort Cp = request .reply.Cp fl 0Computation = x I nrernalC ompure.Cp ” request C P _ reply Computation FI 0 Component ServerFort Sp = Request .Reply.Sp+ 0Computation =_ Requests _ InrcrnalCompuie.Sp _ reply,Camputation + 0Connecior CSlinkRole C —requesr.reply.C fl 0Role S —request.reply^S + 0Glue = C _ request.S _ reuqest^S _ reply/? _ r^ply.Glue + 0 EndStyleSysterm Simple // "个简单的系统配養Instances:aCJ ient : Client : aS ever : Server: aLink : C slink Assembly:aCiieni.Cp Attach To aLink.C aServer.Sp AttachTo al Jnk.SEndConfigurati on5. 比较继承方式和类的聚合方式的优缺点。

软件体系结构复习资料

软件体系结构复习资料

软件体系构造知识点:第一章:1.什么是软件体系构造答:软件体系构造=构件+连接件+约束软件体系构造是具有一定形式的构造化元素,即构件的集合,包括处理构件、数据构件和连接构件。

处理构件负责对数据进展加工,数据构件是被加工的信息,连接构件把体系构造的不同局部组组合连接起来。

这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中根本上得到保持。

2.软件体系构造形式化方法答:1.根据对目标软件系统进展说明的方式:(1)面向模型的方法。

在这个方法中,对目标软件系统的说明是为其构造一个模型,该模型的构成成分是一些具有特性的数据抽象,如域,元组等(2)面向性质的方法。

这种方法是直接给出目标软件系统的一组特性来描述目标软件系统。

通常是目标软件系统必须满足的形式公理,其形式化说明仅描述目标软件系统的性质,而不涉及实现方法。

2.根据表达能力的形式方法可分为以下五大类(1)基于模型的方法(2)代数方法(3)过程代数方法(4)基于逻辑的方法(5)基于网络的方法3.软件质量定义、软件质量模型答:,软件质量是软件符合明确表达的功能和性能需求、文档中明确描述的开发标准、以及所有专业开发的软件都应具有的隐含特征的程度。

影响软件质量的主要因素,这些因素是从管理角度对软件质量的度量。

可划分为三组,分别反响用户在使用软件产品时的三种观点。

正确性、强健性、效率、完整性、可用性、风险〔产品运行〕;可理解性、可维修性、灵活性、可测试性〔产品修改〕;可移植性、可再用性、互运行性〔产品转移〕。

第二章:4.Kruchten 4+1模型描述软件体系构造Kruchten 4+1模型建立在体系构造的Perry&Wolf定义和Berry Boehm定义的根底上,采用多视图模型的方法描述软件体系构造。

该模型由5个视图构成,每个视图只关心系统的一个侧面,5个视图结合在一起才能反映系统的软件体系构造的全部容。

程序员软件管理系统工程师拓扑通集成者信性能可扩展性体系构造的概念在每个视图里面都可以独立应用,并不是所有的软件体系构造都需要完整的4+1视图。

(完整word版)软件体系结构复习题及答案

(完整word版)软件体系结构复习题及答案

概述部分1、请分析软件危机的主要表现和原因。

表现:a)软件成本日益增加:开发、部署与应用成本高b)开发进度难以控制:不能按期完成c)软件质量差:错误率高,不能满足用户的需求,没有生命力d)软件维护困难:成本高,维护效果不理想,可能带来潜在的错误原因:1.用户需求不明确2.缺乏正确的理论指导3.软件规模越来越大4.软件复杂度越来越高2、请说明软件规模与复杂度对软件过程的影响及解决方法。

软件规模与复杂度增加后,软件开发和维护成本增加,开发进度难以控制,软件质量差,软件维护变得困难。

应更多地采用科学的分析、设计和实现方法以及辅助工具,增强软件分析和设计的力度,并通过构件化提高软件的重用能力。

3、什么是软件体系结构,由哪三个部分组成?(构件、连接件、约束)软件体系结构为软件系统提供了一个结构、属性和行为的高级抽象。

它不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。

4、请简述软件重用的含义和意义。

可重用元素包括哪些种类?软件重用是指在多次不同的软件开发过程中重复使用相同或相近软件元素的过程。

(含义)可重用的元素包括程序代码、测试用例、设计文档、需求分析文档甚至领域知识。

(种类)可重用的元素越大,我们就说重用的粒度(Granularity)越大。

软件重用是软件产业工业化、工程化的重要手段。

软件重用对提高生产率,降低开发成本,缩短开发周期,改善软件质量以及提高灵活性和标准化程度大有帮助。

(意义)5、请简述常用的构件实现模型及其意义。

实现模型:1.CORBA2.EJB / DCOM / COM+意义:这些模型通常都定义了构件的实现方式、接口定义、访问方法等。

符合这些标准的任何构件都有很高的重用能力。

描述部分6、请用图示法说明4+1模型的5种视图之间的关系及关注点和涉众用户。

数据视图风格部分7、什么是软件体系结构的风格?它在软件开发过程中具有何种意义?软件体系结构风格是指设计、组织和实现软件体系结构的各种惯用模式和习惯用法,是对一系列体系结构设计的抽象。

软件体系结构复习资料

软件体系结构复习资料

软件体系结构复习资料软件体系结构复习资料软件体系结构是指软件系统中各个组成部分之间的关系和交互方式。

它是软件系统设计的基础,决定了软件系统的可靠性、可维护性和可扩展性。

在软件体系结构的学习中,我们需要了解不同的体系结构模式、设计原则和关键概念。

本文将从这些方面进行复习,帮助读者更好地理解软件体系结构。

一、体系结构模式1. 分层结构模式分层结构模式是一种常见的软件体系结构模式,它将软件系统划分为多个层次,每个层次负责不同的功能。

这种模式有助于实现模块化、可维护性和可复用性。

例如,一个三层架构的Web应用程序可以分为表示层、业务逻辑层和数据访问层,每个层次都有不同的责任和职责。

2. 客户端-服务器模式客户端-服务器模式是一种常见的分布式体系结构模式,它将软件系统划分为客户端和服务器两个部分。

客户端负责用户界面和用户交互,而服务器负责处理业务逻辑和数据存储。

这种模式有助于实现系统的可伸缩性和可扩展性。

3. 主从模式主从模式是一种常见的并行计算体系结构模式,它将软件系统划分为一个主节点和多个从节点。

主节点负责协调和控制整个系统的运行,而从节点负责执行具体的任务。

这种模式有助于提高系统的处理能力和性能。

二、设计原则1. 单一职责原则单一职责原则要求一个类或模块只负责一项功能。

这样可以提高代码的可读性、可维护性和可测试性。

例如,在一个MVC架构中,控制器只负责处理用户请求,模型只负责数据存储和处理,视图只负责展示数据。

2. 开放封闭原则开放封闭原则要求软件系统应该对扩展开放,对修改封闭。

这意味着当需求变化时,我们应该通过扩展现有的代码来满足新的需求,而不是修改已有的代码。

这样可以提高系统的稳定性和可维护性。

3. 依赖倒置原则依赖倒置原则要求高层模块不应该依赖于低层模块,而是应该依赖于抽象。

这样可以降低模块之间的耦合度,提高系统的灵活性和可扩展性。

例如,使用接口来定义模块之间的依赖关系,而不是直接依赖于具体的实现类。

软件体系结构复习资料

软件体系结构复习资料

15、DSSA的定义答案:DSSA就是在一个特定应用领域中为一组应用提供组织结构参考的标准软件体系结构16、构件:答案:构件是一个计算单元或数据存储。

也就是说,构件是计算与状态存在的场所。

17、连接件:答案:连接件是用来建立构件间的交互以及支配这些交互规则的体系结构构造模块。

18、体系结构配置:答案:体系结构配置或拓扑是描述体系结构的构件与连接件的连接图。

体系结构配置提供信息来确定构件是否正确连接、接口是否分配、连接件构成的通信是否正确,并说明实现要求行为的组合含义。

31、模式答案:模式是指从某个具体的形式中得到的一种抽象,在特殊的非任意性的环境中,该形式不断地重复出现。

42、核心资源答案:是领域工程所有结果的集合,是产品线中产品构造的基础。

33、设计模式答案:一些设计面向对象的软件开发的经验总结,就是系统的命名、解释、和评价某一个重要的面向对象的可重现的面向对象的设计方案。

43、软件产品线答案:软件产品线就是在一个公共的软件资源集合基础上建立起来的共享同一个特性集合的系统集合45、产品线体系结构答案:产品线体系结构是一个软件体系结构和一组在一族产品中可重用的构件,为增加软件重要、为企业降低软件开发和维护的成本提供了一个重要的途径。

3、简要概产生软件危机的原因答案:1.用户需求不明确 2.缺乏正确的理论指导 3.软件规模越来越大 4.软件复杂度越来越高。

4、软件体系结构的定义众多,你是如何理解软件体系结构的?软件体系结构在软件系统中有何作用?答案:(1)软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素继承的模式以及这些模式的约束组成。

软件体系结构不仅指定了系统的组织结构和拓扑结构,还显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。

(2)体系结构是风险承担者进行交流的手段。

它明确了对系统实现的约束条件,决定了开发和维护组织的组织结构,制约着系统的质量属性,可以预测软件的质量,是推理和控制更改更简单,有助于循序渐进的原型设计。

《软件体系结构》期末复习题

《软件体系结构》期末复习题

《软件体系结构》期末复习题《软件体系结构》期末复习题篇一:《软件体系结构》期末复习题《软件体系结构》期末复习题简答题:1、软件体系结构建模的种类有:结构模型、框架模型、动态模型、过程模型、功能模型。

2、“4+1”视图模型从5个不同的视角包括:逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。

3、构件:是具有某种功能的可重用的软件模板单元,表示了系统中主要的计算元素和数据存储。

连接件:表示构件之间的交互。

配置:表示构件和连接件的拓扑逻辑和约束。

端口:表示构件和外部环境的交互点。

角色:定义了该连接交互的参与者。

4、画出“4+1”视图模型图,分析各部分的原理和功能。

5、软件体系结构风格:是描述某一特定应用领域中系统组织方式的惯用模式。

6、软件体系结构(Software Architecture)软件体系结构以组件和组件交互的方式定义系统,说明需求与成品系统之间的对应关系,描述系统级别的可伸缩性、能力、吞吐量、一致性和兼容性等属性。

软件体系结构由组件、连接件和属性组成。

7、分层系统的优点有:1)支持基于抽象程度递增的系统设计,使设计者可以把一个复杂系统按递增的步骤进行分解;2)支持功能增强,因为每一层至多和相邻的上下层交互,因此功能的改变最多影响相邻的上下层;3)支持重用。

只要提供的服务接口定义不变,同一层的不同实现可以交换使用。

这样,就可以定义一组标准的接口,而允许各种不同的实现方法。

8、分层系统的缺点有:1)并不是每个系统都可以很容易地划分为分层的模式,甚至即使一个系统的逻辑结构是层次化的,出于对系统性能的考虑,系统设计师不得不把一些低级或高级的功能综合起来;2)很难找到一个合适的、正确的层次抽象方法。

9、 B/S体系结构的优点有什么?答:1)基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。

用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。

软件体系结构复习--华南理工大学

软件体系结构复习--华南理工大学

选择题All of the following roles are stakeholder except:All of the following are important system attributes except:Which of the following are elements of a SA:Which of the following is not a precondition for architectural review?ATAM outputs include:简答题1、What is The Architecture Business Cycle (ABC)?ABC is cycle of influences, from the environment to the architecture and back to the environment2、List 5 architecture patterns/styles.数据流过程调用事件驱动风格信息共享风格层次风格3、How is an architectural pattern/style determined.a set of component typesa set of connector types/interaction mechanismsa topological layout of these componentsa set of constraints on topology and behavior4、Bass et al's classify all architecture structures into 3 main categories, what are them?Module-based structures:the elements are software modules (the implementation units). Includes decomposition, uses, layered, class.Component-and-connector structures: the elements are run-time components. Includes process communication, concurrency (parallelism), shared data production and consumption, and client-server communication.Allocation Strutures:5、List 5 architecture structures according to Bass et al.Decomposition, Users, Layered, class , client-serverProcess,Concurrency,Shared data,DeploymentImplement, work assignment6、What is a quality attribute scenario?a means to characterize system quality attributes, consists of 6 parts:stimulus sourcestimulusenvironmentartifacts affectedsystem responsemeasurement of responseA unified way to express quality requirements7、Discuss the benefits of architectural reviews.Five different types of benefits result from holding architectural reviews.financialforces preparation for review为评审做准备也是一种推动力early detection of problems尽早地发现问题validation of requirements确认需求improved architectures提高体系结构质量8、When can architectural reviews begin?iming of the reviewearly “architecture discovery review”is done after requirements are set, but before the architecture is firm需求分析之后,体系结构还没有确定之前进行is used to understand implications of requirements on architecture用来理解需求在体系结构方面的隐含内容checks for requirements feasibility(检查需求的可行性)prioritizes architectural goals(为质量目标排序)full architectural reviewis done when architectural documentation is available体系结构文档可用时进行is used to evaluate qualities of proposed architecture评价被评体系结构的质量9、What is an unplanned architectural review? why should the organization have it?usually occurs when project is in trouble通常在项目出现问题时采用often devolves into finger-pointing导致互相责备can be painful for project already struggling对于已经苦苦挣扎了很久的项目而言,有些痛苦An Unplanned evaluation is unexpected and usually the result of a project in serious trouble and taking extreme measures to try to salvage previous effort10、What is brainstorming?头脑风暴的特点是让与会者敞开思想,使各种设想在相互碰撞中激起脑海的创造性风暴,其可分为直接头脑风暴和质疑头脑风暴法。

软件体系结构学生复习资料

软件体系结构学生复习资料

1、软件元素包括程序代码、测试用例、设计文档、设计过程、需求分析文档、甚至领域知识。

2、软件工程包括3个要素方法、工具、过程。

3、采用层次式软件体系结构,将产品的系统构件模型定义为4个层次,分别为:系统构件层、通用类构件层、业务构件层、表现层。

4、三层C/S结构风络是由_表示层、功能层、数据层三个层次构成。

5、层次系统最广泛的应用是分层通信协议。

6、、Web服务开发生命周期分为构建、部署、运行、管理四个阶段。

7、MVC模式的中的M,V,C分别对应Mode、View、Controller三个单词。

8、ABSD方法取决于决定系统的体系结构驱动,所谓体系结构驱动,是指构成体系结构的业务、质量、功能需求。

9、后果描述应用设计模式后的结果、权衡。

10、软件过程是人们建立、维护和进化软件产品整个过程中所有技术活动和管理活动的集合。

11、基于体系结构的软件开发模型(ABSDM)将软件开发过程划分为体系结构需求、设计、文档化、复审、实现、演化等六个子过程。

12、浏览器/服务器(B/S)风格是三层应用结构的一种实现方式,其具体结构分为浏览器、Web服务器、数据库服务器三个部分。

13、软件体系结构设计的核心问题是能否使用重复的体系结构模式,即能否达到体系结构级的软件重用。

14、构件分类方法可以归纳为三大类,分别是关键字分类法、刻面分类法、超文本组织方法。

15、大量使用构件,软件的灵活性和标准化程度也能得到提高。

16、功能分组可选择的标准包括功能聚合、功能的局部性、数据或计算行为的类似模式、数据类似的抽象级别等四个。

17、面向对象已经成为软件开发的主流思想,以演化和增量方法为基础的迭代开发过程已经成为面向对象开发过程的标准。

18、框架是从特定域中提取出来的一组组件及其相互关系的可重用的体系结构。

19、软件危机的原因:20、在三层C/S体系结构中,中间件是最重要的构件。

21、通常,一个Web服务可以分为四个逻辑层,分别为数据层、数据访问层、业务层、监听者。

软件体系结构复习内容

软件体系结构复习内容

软件体系结构复习内容软件体系结构是指软件系统在组织上的结构和模块之间的关系。

它描述了软件系统的组成部分、它们的关系以及它们与系统环境之间的交互。

软件体系结构的设计对于软件系统的可维护性、可扩展性和可重用性都起着重要的作用。

下面是软件体系结构的复习内容:1.软件体系结构基本概念-软件体系结构是指软件系统的组织结构和模块之间的关系。

-软件体系结构描述了软件系统的组成部分、它们的关系以及它们与系统环境之间的交互。

-软件体系结构设计是软件开发的重要环节,可以提高软件系统的可维护性、可扩展性和可重用性。

2.常见的软件体系结构类型-分层体系结构:将系统划分为多个层次,每个层次提供不同的功能。

-客户-服务器体系结构:将系统划分为客户端和服务器端,客户端向服务器端请求服务。

-基于事件的体系结构:系统通过事件进行组织和通信,每个部分都可以处理事件。

-面向对象体系结构:将系统划分为多个对象,对象之间通过消息进行通信。

-基于组件的体系结构:将系统划分为可独立开发和部署的组件,组件之间通过接口进行通信。

3.软件体系结构设计原则-模块化:将系统划分为多个模块,每个模块负责一个特定的功能。

-高内聚低耦合:模块内部的元素彼此之间紧密相关,而模块之间的关系尽量松散。

-可扩展性:系统能够容易地增加新的功能模块。

-可重用性:系统中的模块能够被多个应用程序共享和重复使用。

-可维护性:系统的设计应该容易理解和修改,以适应变化的需求。

4.软件体系结构设计方法-层次化设计:将系统划分为多个层次,每个层次负责不同的功能。

-面向对象设计:将系统划分为多个对象,对象之间通过消息进行通信。

-事件驱动设计:将系统划分为多个模块,每个模块通过事件进行组织和通信。

-领域驱动设计:将系统划分为多个领域模型,每个模型描述一个特定领域的概念和关系。

5.软件体系结构评估方法-场景分析法:通过分析系统在实际应用中的使用场景来评估其性能和可用性。

-静态分析法:通过对软件系统的源代码、设计文档和配置文件进行分析来评估其结构和质量。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

华南理工大学《软件体系结构》复习资料Ch 1.计决策的基木原理。

~【软件危机的表现】软件成木日益增长、开发进度难以控制、软件质量差、软件维护困难~【软件危机的原因】用八需求不明确、缺乏正确的理论指导、软件规模越來越大、软件复杂度越來越高~【软件危机的解决方案】管理、采用工程化的开发方法、加大软件重用、采用先进的开发工具~【软件体系结构的意义】•体系结构是风险承担者进行交流的手段•体系结构是早期设计决策的体现•软件体系结构是可传递和可重用的模型【构件】构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通讯接口和实现代码的复合体。

【构件模型】构件模型是基于构件的软件开发(CBSD)技术中的一个重要概念,构件模型通过描述构件的接口和实现以及构件之间的关联来描述软件体系结构。

♦构件模型=构件+容器■构件..具有可重用特性的基木软件部件■容器“用于存放、管理构件,支持构件的执行和构件间的交互。

(1)从现冇构件中获得符合要求的构件,或作适应性修改。

(2)通过遗留工程,将具有潜在重用价值的构件提取出来, 得到可重用的构件;(3)从市场上购买现成的商业构件。

⑷ 开发新的符合要求的构件。

•【构件分类方法】基于关键字的检索、刻而检索法、超文木检索法~【软件体系结构的定义】软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元索的描述、这些元索的和互作用、指导元素集成的模式以及这些模式的约束组成。

软件体系结构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设【体系结构发现、演化与重用】•发现:解决如何从己经存在的系统小提取软件的体系结构,属于逆向工程范畴。

•演化:由于系统需求、技术、环境、分布等因索的变化而最终导致软件体系结构的变动•重用:属于设计重用,比代码重用更抽象。

由于软件体系结构是系统的高层抽象,反映了系统的主要纽成元索及其交互关系,因而较算法更稳定,更适合于重用。

【基于体系结构的软件开发方法】问题定义一>软件需求一>软件体系结构一>软件设计一>软件实现【软件开发模型】(1)以软件需求完全确定为前提的瀑布模型。

(2)在软件开发初始阶段只能提供基本需求时釆用的渐进式开发模型,如螺旋模型等。

⑶以形式化开发方法为基础的变换模型。

Ch2.~软件体系结构建模种类】(1)结构模型(最常用)⑵框架模型⑶动态模型(最常用)⑷过程模型⑸功能模型•【为什么要引入了软件体系结构】软件体系结构的引入使软件设计开发更加具体和形象,它的模型更使得软件过程更加方便和多样化。

包括程序员在内的绝大多数系统的利益相关人员都借助软件体系结构来进行彼此理解、协商、达成共识或者相互沟通的基础,软件体系结构的模型可以应用到貝-有和似质量属性和功能需求的系统屮,并能够促进大规模软件的系统级复川,在很多方面使得软件开发更加人性化。

【体系结构的核心模型】每个构件接口最多只能和一个连接件相连,而连接件可 以和任意数忖的构件或连接件相连。

请求消息只能向上层传 送而通知消息只能向下层传送。

描述卜•图系统:(1)构件:具有某种功能的可重用的软件模板单元,表示了 系统中主要的计算元素和数据存储,有复合构件和原子 构件两种类型。

⑵ 连接件:构件之间的交互。

(3) 配置:构件和连接件的拓扑逻辑和约束。

(4) 端口:构件的接口由一组端口组成,每个端口表示构件 和外部环境的交互点。

⑸ 角色:连接件的接口由一组角色纽成,每个角色定义了 连接件表示的交互的参与者,【软件过程】需求分析9建立体系结构9设计T 实现9测试Ch3・〜▲【为什么要使用异构风格】(1)不同的结构有不同处理能力的强项和弱点,一个系统的 体系结构应该根据实际需耍进行选择,以解决实际问题 ⑵ 关于软件包、框架、通信以及其他一些体系结构上的问题,目前存在多种标准。

即使在某段时间内某一种标准 占统治地位,但变动最终是绝对的。

(3) 一些遗留下來的代码,它们仍有效用,但是却与新系统 有某种程度上的不协调。

然而在许多场合,将技术与经 济综合进行考虑时,总是决定不再重写它们。

Ch4・~【体系结构描述的方法】(1)图形表达工具⑵模块内连接语言(3) 基于软构件的系统描述语言 (4) 软件体系结构描述语言【ADL 定义】ADL 是在底层语义模型的支持下,为软件系统的概念体 系结构建模提供了具体语法和概念框架。

基于底层语义的工 具为体系结构的表示、分析、演化、细化、设计过程等提供 支持。

其三个基本元索是:构件、连接件、体系结构配迸。

【C2描述系统】刘 meeting initiator 扌侪]术:component Meetinginitiator is interfacetop_domain is outRemoveExclSet(); inPrefSet(p:date_mg); behaviorstartup always_generate GetPrefSet ;received messages PrefSet may_generate RemoveExc end Meetinglnitiator ;对体系结构描述:architecture MeetingScheduler is conceptualcomponentsAttendee ; ImportantAttendee ; Meetinginitiator ; connectorsconnector MainCoim is message filter no filtering ; /.../ _ _ architectural_topology T connector AttConn connections topjports Attendee:bottomjports MainConn ;/.../end MeetingScheduler ;初始化赋予实例:system MeetingScheduler_ 1 is architecture MeetingScheduler withAttendee instance Att_ 1, Att_2, Att_3 ;end MeetingScheduler 1 ;【ACME 描述系统】从四个不同的方面对软件体系结构进行描述,分别是结 构、属性、设计约束、类型和风格。

结构:7利「,构件、连接件、系统、端口、角色、表述、表 述映射対C/S的描述:System simple_.cs = {Component client = { Port sendRequest } Componentserver = { Port receiveRequesr } Connector rpc = { Roles{caller, callee} } Attachments : {client.sendRequest to rpc.caller ;server.receiveRGquest to rpc.callee }}[UML]UML是一种用可视化方法对软件系统进行描述、实施和说明的标准语言。

1.用例图功能的描述2.类图3.对象图类图的实例4.序列图随着吋间的推移,对象Z间是如何交互的5.协作图强调时间和顺序,则使用序列图;如果强调上下级关系,贝!I 选择协作图6;输入密码(1234)6.状态图7.活动图8.构件图ATM.exeCh5.【软件体系结构动态性】交互式动态性、结构化动态性、体系结构动态性Ch6・~【Web 服务定义】Web 服务是基于XML 和HTTPS 的一种服务,其通信协 议主要基于SOAP,服务的描述通过WSDL,通过UDDI 来发 现和获得服务的元数据。

主要口标就是在现有的各种界构平 台的基础上构筑一个通用的平台无关、语言无关的技术层, 各种不同平台之上的应用依靠这个技术层來实施彼此的连 接和集成。

~【Web 服务的特点】应用的分布式、应用到应用的交互、平台无关性、使用 标准协议规范、高度集成能力、完好的封装性、松散耦合【Web 服务构成元素、基本协议】构成元素:服务提供者、服务代理和服务请求 操作:发布、发现和绑定。

协议:简单对象访问协(SOAP )统一描述、发现和集成协议(UDDI )Web 服务描述语言(WSDL )Ch7.Ch8. Ch9・•【软件体系结构评估定义】通过成本相対较低的活动來分析结构中可能存在的风 险,发现软件体系结构屮彩响系统质量的关键因索,并捉出 相应的改进措施,在此基础上验证软件的性能需求是否得到 满足。

~【软件体系结构评估三种方法】(1)棊于调查问卷或检查表的评估方式 ⑵基于场景的评估方式 ⑶基于度量的评估方式■曲可卷或检査衰 ft*週曲可卷通用性通用 特定领域 特定系統 通用或持定领域评估看对体系结构的了解程度 相塔了解无原制中等了解檳确了解实施阶段早 中 中 中客炭性王观主观较王观ChlO.~【产品线定义】产晶线是一个产品集合,这些产品共享一个公共的、可 竹理的特征集,这个特征集能满足选左的市场或任务领域的 特定需求。

这些系统遵循一个预描述的方式,在公共的核心 资源基础上开发的。

~【S0A 定义】SOA 为一•种应用程序体系结构,在这种体系结构中,所 有功能都定义为独立的服务,这些服务带有定义明确的可调 用接口,可以以定义好的顺序调用这些服务来形成业务流 程。

ATM.exe9.部署图Service。

相关文档
最新文档