当前位置:文档之家› 软件体系结构复习资料

软件体系结构复习资料

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

《软件体系结构及文档写作》期末复习资料

一、判断

1.详细设计表达的方法主要有: 程序流程图、N-S图、HIPO图、PDL语言以及判定表、树(错误)(PAD图)

2.常用的概要设计结构化表现方法有:层次图、PAD图、结构图(错误)(HIPO图)

3.类型风格主要有:分解风格、使用风格、泛化风格、分层风格、部署风格、实现风格和工作任务风格等(正确)

4.软件视图主要的表达类型: 模块视图类型、组件和连接器(C&C)视图类型、分配视图类型(正确)

5.概要设计阶段的主要任务是把系统的功能需求分配给软件结构,形成软件的系统结构,并完成表达(正确)

6.用户手册的描述与软件实际功能的一致性(正确) 7.开发进度偏差有正向偏差和负向偏差(正确)

8.MVC是模型/视图/控制器的简写(正确) 9.视图是对一组系统元素及其关系的描述。(正确)

10.N-S图又称为盒图(Box Diagram)(正确) 11.偏差有两种方式:正向偏差和负向偏差 (正确)

12.成本进度控制用于测量项目绩效,传统上只采用工作价值量作为计量单位 (错误)

13.甘特图只是用于项目开发计划阶段的资源进度安排和状态报告 (错误) 14.进度执行指数(SPI)=BCWP/BCWS ( 正确)

15.变更管理包括项目变更申请和项目影响说明 (正确) 16.控制模型在体系结构层次上描述子系统之间的控制流( 正确 ) 17.状态机模型是一种描述系统对外部事件响应的行为模型。(错误)

18.用户文档应简单、精炼,少用用户难懂的专业术语,并力求形象生动、有足够多的图片,便于用户学习、理解和掌握软件的使用、操作。( 错误 )

19.数据流模型是描述系统数据的一种很直观的方式。(错误)

20.数据模型可以表示为一个有向图,包含一系列不同类型的结点,结点之间的连线表示结点之间的关系,每个结点有结点标示和若干属性描述。(正确)

21.意识流:按思维在编写者头脑中出现的顺序捕捉思维,并加以记录.(正确)

22.执行流:按软件执行时的思维顺序捕捉思维,并加以记录。(正确)

23.避免出现不必要的重复的要点是:将每个信息都记录在每个的地方 (错误)

软件文档可能既是指示性文档,又是说明性文档(正确)

24.文档管理的目的是使文档能够发挥其应该发挥的作用(正确)

25.具体的文档修改活动只有建议,审核,批准,实施四个步骤(错误)

26.管理方式的演变经历了分散式管理,集中管理,分布式管理三个阶段(正确)

27.动态文档包括语义文档,结构文档,过程文档三部分内容。(正确)

28.从技术角度,文档的管理维护由两种方式:(1)采用手工,动态的管理方式(2)采用新方法,新工具。(错误)

二、填空

1.常用的概要设计结构化表现方法有:_层次图_、HIPO图、结构图等

2.概要设计具体的表现形式:结构化设计表达、面向对象设计表达

3.概要设计技术的常用表示方法: 继承机制、聚集关系、对象关联、注册/观察器、虚拟设备和_代理结构_

4.详细设计表达的方法主要有: 程序流程图、N-S图、_ PAD图_、PDL语言以及判定表、树

5.面向对象设计(OOD)的 4个部分:_问题域_、人机交互部分、任务管理部分和数据管理部分

6.组件和连接器视图类型能为系统执行单元编制文档服务。

7.管道和过滤器风格中的交互模式表现出数据流连续变换的特征,数据抵达过滤器并经转换后由管道传送给下一个过滤器。

8.实现风格能将模块视图类型中的模块映射到开发基础结构。实现一个模块总会产生许多独立文件,如包含源码的文件、包含定义的文件、描述如何生成可执行程序的文件等。

9.软件工作分解结构始终建立在对系统的某种分解之上,即把系统划分成各部分进行构建——软件构架

10.在分布式环境中给机器分配资源、元素间的数据流以及通信信道的存在和使用,都倾向于以级图表示,而层图则无法区分它们。11._测量工期_和__成本偏差__是报告的重点内容

12.开发进度偏差有两种偏差:_正向偏差_和__负向偏差__

13.在开发进度报告中,主要用到两种图形工具:__甘特图__和__里程碑趋势图__

14.成本执行指数CPI=____ BCWP/ACWP ___

15.变更管理应包括两个重要内容:__项目变更申请__和__项目影响说明__

16.状态机模型是一种描述系统对内或外部事件响应的行为模型

17.典型的基于事件驱动控制模型有广播型事件驱动控制模型和中断型控制模型

18.编制用户文档的基本要求有:描述规范准确、叙述简练生动、语言严密平实、内容系统完整

19.接口描述主要包括类型名、接口语法、接口描述

20.控制模型分为两种形式集中式控制、事件驱动控制

21.软件文档根据其产生和使用的范围,主要划分为3大类:开发文档、用户文档和管理文档

22.视图是对一组系统元素及其关系的描述

23.和软件基本构架类型对文档所产生的影响类似,视图也有3种类型:.模块视图类型能为系统主要实现单元编制文档服务;组件和连接器(C&C)视图类型能为系统执行单元编制文档服务;分配视图类型能为系统软件与其开发和执行环境之间的关系编制文档服务。这3种视图代表着系统设计师在设计系统时必须考虑的3种视角:将系统看成实现单元、运行时执行单元、从软件元素到环境结构的映射。而文档就是要记录这些内容。

24.当我们希望编制一个完整的软件文档时,应该至少采用一个模块视图类型视图。因此,给出一个建议:为软件文档包制定计划时,至少应包含一个模块视图类型的视图。

25.模块视图类型的文档风格有4种:分别为分解风格、使用风格、泛化风格、分层风格

26.软件文档的编制原则是_适应文档涉众_,_应用必要的重复性_,_应用一定的灵活性_

27.档涉众通常是系统文档或系统的既得利益者。因此,必须要有一个基本规则,把良好的、可用的文档,与那些拙劣的、缺乏考虑的文档区分开来。即所谓合理文档的规则,共有7条:__________,___________,__________,__________。(7选4)

(1).从读者的角度编写文档 (2).避免出现不必要的重复 (3).避免歧义 (4).使用标准结构

(5).记录基本原理 (6).使文档保持更新,但频度不要过高 (7).针对目标的适宜性对文档进行评审

28.从读者的角度编写文档,可以带来以下优点:

(1). 面向读者编写的文档,通常总会赢得读者。(2). 面向读者编写文档是一种礼貌的表现.(3). 避免使用令人生厌的专业术语。29.容易使文档变得易读、易理解,提高文档的“效率”。对于专业读者,好的文档将有利于系统设计思想、代码等的理解。

30.评审是文档保持有效的前提。 31.软件文档应该是该软件最终、最权威的信息源。

32.具体的文档修改大致分为:建议、评议、审核、批准、实施五个步骤。

33.文档管理的三个阶段:分散管理、集中管理、分布式管理。 34.动态文档的内容分为:语义文档、结构文档、过程文档。35.所有保管文档均应有:编制人、审核人、批准人和保管人的签字。

36.过程数据库包括:规模数据、时间数据、成本数据、质量数据。

三、选择

1程序流程图的基本控制结构( ) A: While型循环B: 顺序结构 C: Until型循环 D: Case型选择

2: N-S图的图形构件() A: 先判定型循环结构 B: 顺序C: 多情况选择 D: 后判定型循环结构

3:概要设计结构化表现方法有( ) A: 程序流程图 B: N-S图 C: PAD图D: HIPO图

4:不是面向对象设计的部分是() A: 问题域 B: 人机交互部分 C: 任务管理部分D:代码管理部分

5: 详细设计表达的方法有( ) A: 层次图 B: HIPO图 C: 结构图D: 程序流程图

6.任何实现风格表示法都必须拥有模块、配置条目以及这两者之间的( ) A映射 B结合 C矛盾 D制约

7.时间和预算估计取决于工作分解结构,而工作分解结构则取决于()A软件构架 B软件风格 C软件模型 D软件需求

8.分层风格能应用于培训和重用支持,还能用来支持()A可移植性 B可封装性 C可继承性 D可派生性

9.管道和过滤器风格中的交互模式表现出数据流()的特征A连续变换 B间歇变换 C反复变换 D傅里叶变换

10.分配视图类型的风格不包括() A部署风格 B实现风格 C工作任务风格 D C&C风格

11.一个完整的项目开发总结报告应不涉及下列项目的哪个方面() A.项目目标进度 B.项目技术 C.项目成本D.项目方向

12.变更申请都必须进行重新确定( ) A.公司需求 B.用户需求C.客户需求 D.管理需求

13.进度执行指数(SPI)用来计量完成工作的实际进度与计划进度的差异,若SPI > 1,则()

A.进度超前

B.进度落后

C. 进度正常

D.无法判断

14.成本执行指数(CPI)用来计量完成工作的实际支出与计划支出的差异.若CPI < 1,则()

A.支出比计划少

B.支出比计划多

C.支出和计划相等

D.无法判断

15.下列哪项不能用来计算和跟踪两个偏差()A.CSC B.BCWS C.BCWP D.ACWP

16.调用-返回模型是()执行的A顺序执行 B并发执行 C先顺序执行再并发执行 D先并发执行再顺序执行

17.编制用户文档的基本要求() A.描述规范准确 B. 叙述简练生动 C 语言严密平实 D 内容系统完整

18、软件常用表示形式不包括下列哪项() A.容器模型 B.接口描述 C.客户机/服务器模型 D.层次模型

19、编制用户文档的基本要求不包括() A.描述规范准确 B叙述简练生动 C语言严密平实 D.内容系统简略

20、在()模型中,由一个称为系统控制器的子系统来负责管理其它子系统的执行,模型工具子系统是顺序执行还是并发执行,而分成调用-返回模型和管理者模型。 A、事件驱动控制模型 B、控制模型 C 、集中式控制模型 D、数据流模型21.用户文档主要负责对软件产品的安装、配置、使用、维护等信息进行描述,下列那个不属于用户文档:()

A、系统安装配置手册

B、用户操作手册

C、软件需求说明书

D、数据库设计说明书

22.下面哪个不是文档编制的质量要求: ( ) A.针对性 B.精确性 C.完整性 D.标准性

23.自动文档的形式主要有:_______,________,_______.(6选3)

1.电子手册:如MS Word或Adobe Acrobat文档

2.超链接文档:是嵌入链接到网上的浏览用的文档格式

3.联机帮助:说明性的文本、图片、指导和嵌入在应用程序中的定义

4.多媒体操作导航系统:由声音、视频、文字等组成的系统操作指引

5.电子系统模型:格式化并存于系统的文本或图片格式,如GIF、JPEG

6.专用工具系统模型:用系统开发工具开发的模型,如集成开发环境、DBMS和CASE工具等

24.以下不属于软件文档的管理过程的是() A、文档的形成 B、标识文档类型 C、文档的控制D、软件文档记载25.以下不是所有保管文档均应有的签字() A、编制人 B、审核人C、项目经理D、批准人

26.从技术角度,文档的管理维护有()方式: A、一种B、两种 C、三种 D、四种

27.以下哪个不是管理方式的演变经历的阶段阶段() A、分散式管理 B、集中管理 C、分布式管理D、项目式管理

28.动态文档是由各种文档元素对象(文字、图形、图像、工作表等)以及一些控制信息组成,不包括()

A、文档对象信息

B、文档行为信息

C、文档日志信息D、文档附加信息

29.软件危机主要表现在哪些方面?答:1)软件成本日益增长;2)开发进度难以控制;3)软件质量差;4)软件维护困难。

四、简答。

1.软件体系结构建模的种类有哪些?答:结构模型、框架模型、动态模型、过程模型、功能模型。

2.“4+1”视图模型从5个不同的视角包括哪些?答:逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。3.构件:是具有某种功能的可重用的软件模板单元。

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

端口:表示构件和外部环境的交互点。角色:定义了该连接交互的参瑟者。

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

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

6.分层系统的优点有:

1)支持基于抽象程度递增的系统设计,使设计者可以把一个复杂系统按递增的步骤进行分解;

2)支持功能增强,因为每一层至多和相邻的上下层交互,因此功能的改变最多影响相邻的上下层;

3)支持重用。只要提供的服务接口定义不变,同一层的不同实现可以交换使用。这样,就可以定义一组标准的接口,而允许各种不同的实现方法。

7、分层系统的缺点有哪些?答:1)并不是每个系统都可以很容易地划分为分层的模式,甚至即使一个系统的逻辑结构是层次化的,出于对系统性能的考虑系统设计师不得不把一些低级或高级的功能综合起来;2)很难找到一个合适的、正确的层次抽象8.B/S体系结构的优点有哪些?答:1)基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。

2)B/S体系结构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。

9.、B/S体系结构的缺点有哪些?

答:1)B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。

2)B/S体系结构的系统扩展能力差,安全性难以控制。

3)采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远地低于C/S体系结构。

4)B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理(OLTP)应用。

10、软件体系结构的动态性主要分为哪几类?答:交互式动态性、结构化动态性、体系结构动态性等三类。

11、请画出基于构件的动态系统结构模型画。见P153

12、Web服务分为五个逻辑层:数据层、数据访问层、业务逻辑层、业务层、监听者。

13、Web服务的特点有:使用标准协议规范、使用协约的规范性、高度集成能力、完好的封闭性、松散耦合。

14、请画出Web服务的模型图。见P173

15、Web服务体系结构的优势有哪些?

答:1)高度的通用性和易用性;2)完全的平台、语言独立性;3)高度的集成性;4)容易部署和发布。

16、UML中的交互图有两种,分别是顺序图和协作图,请分析一下两者之间的主要差别和各自的优缺点。掌握利用两种图进行的设计的方法。

答:顺序图可视化地表示了对象之间随时间发生的交互,它除了展示对象之间的关联,还显示出对象之间的消息传递。与顺序图一样,协作图也展示对象之间的交互关系。顺序图强调的是交互的时间顺序,而协作图强调的是交互的语境和参瑟交互的对象的整体组织。顺序图按照时间顺序布图,而协作图按照空间组织布图。顺序图可以清晰地表示消息之间的顺序和时间关系,但需要较多的水

平方向的空间。协作图在增加对象时比较容易,而且分支也比较少,但如果消息比较多时难以表示消息之间的顺序。

17、什么是高内聚度?

答:高内聚度是对一个类中的各个职责之间相关程度和集中程度的度量。一个具有高度相关职责的类并且这个类所能完成的工作量不是特别巨大,那么它就具有高内聚度。

18、UML提供了一系列的图支持面向对象的分析与设计,其中()给出系统的静态设计视图;()对系统的行为进行组织和建模是非常重要的;()和()都是描述系统动态视图的交互图,其中()描述了以时间顺序组织的对象之间的交互活动,()强调收发消息的对象的组织结构。

A、状态图

B、用例图

C、时序图

D、配置图

E、协作图

F、类图答:(1)F (2)B (3)C (4)E

19、找出下面场景中的概念类:

(1)顾客带着购买的商品或服务来到POS收款台(2)收款员启动一次销售(3)收款员输入商品标识

(4)系统记录商品,并且显示该商品说明,价格,并计算总金额。按一组计价规则计算单价。

答:顾客、POS收款台、收款员、销售、商品标识、商品、商品说明。

20、画出下面场景的时序图:

1、收款员启动一次销售(makeNewSale())

2、收款员输入商品标识(enterItem(itemID,quantity))

3、销售结束,系统计算并显示总金额(endSale())

4、顾客付款,系统处理支付。(makePayment(amount))

21、统一过程中有哪四个阶段,各阶段需要完成的主要工作有哪些?

答:(1)初始阶段:编制简要的愿景文档、业务案例、确定范围、粗略评估成本。

(2)细化阶段:细化场景文档、迭代地实现核心构架、解决高风险的问题、定义大多数的需求和范围、进一步评估成本。

(3)构造阶段:迭代地实现系统的其余部分、准备部署。4)提交阶段:beta测试、部署。

22、简述统一建模语言(UML):

答:统一建模语言(UML)是一种绘制软件蓝图的标准语言。可以用UML对软件密集型系统的制品进行可视化详述和文档化。UML是一种定义良好、易于表达、功能强大且普遍适用的可视化建模语言。它融入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需要分析开始的软件开发的全过程。UML的作用就是用很多图从静态和动态方面来全面描述我们将要开发的系统。

23、在电话系统中假设有两个打电话的个案:使用电话卡和对方付款,其中Phone User是电话用户,请画出其usecase disgram.

答:usecase diagram 如下所示:

24、试述一种系统的可靠性模型化方法或步骤。P246

软件体系结构期末考试

北京工业大学2014 - 2015学年 第二学期模拟试题 考试课程:软件体系结构I 考试日期:2015年5 月20日 学院:软件学院专业:软件工程 学号:姓名:成绩: 一填空题(共30 空,每空 1 分) 1. 软件或程序是由软件工程人员设计与开发,使计算设备发挥计算潜能,________ 的逻辑层次组织。 2. 软件体系结构(Software Architecture)-- 是软件产品设计的思想和系统的蓝图;是 对软件产品_______的规划和_______的设置;是定义软件系统组件(Components)或构建块(Building Blocks)的重要工具;用于 -- 实现对一个软件系统的构成进行_________的划分 -- 所形成和采用的工程化规范,是指导软件后续过程方方面面组成的模型。 3.软件开发中的面临若干问题:1)软件固有的复杂性;2)软件开发的随意性;3)周期 长,代价高,质量低的问题;软件体系结构设计是软件产品及大型信息系统工程实现中最重要的环节和关键技术之一,解决从软件的__________到系统实现(代码)的有效和平坦过渡。 4.软件产品的工业化生产:是指建立流水线型的软件产品生产线,是指按_____、标准 化的规范和规则(软件生产规范)来编写和实现各种各样的适应于多环境的软件___,通过软件体系结构来确定各个软件组件如何部署到开发架构模式中,组装成达到期望的软件产品。 5.体系结构设计方法的发展中,软件程序开发经历了如下的阶段 -- 功能分解法 (计算任务) -- 结构化程序设计 (以数据为中心) -- _________________ -- _________________ -- 基于 SOA 的程序设计 (以服务为中心)。 6. 一个现代软件产品生产过程如下图表示,请在带___________的方框中,填上相应的组 件名称

软件体系结构

课程名称:软件体系结构 课程编号:C304 课程学分:2 适用学科:计算机应用技术 软件体系结构 Software Architecture 教学大纲 一、课程性质 本课程是为计算机应用专业研究生开设选修课。软件体系结构是软件开发设计的高级课程,对培养计算机应用专业研究生今后从事大型软件开发工作有重大意义。 二、课程教学目的 学生通过本课程的学习后,在概念上建立从体系结构看待软件系统的观念,理解体系结构设计的优劣对软件系统质量的影响;掌握软件体系结构的建模、评价与检测的方法,能够应用上述方法评价软件体系结构的质量。 三、课程教学基本内容及基本要求 第一章绪论(2学时) 1、软件体系结构概述 2、研究内容与方法 第二章软件体系结构建模理论(2学时) 1、软件体系结构描述语言ADL简介 2、时序逻辑描述语言LOTOS简介 3、实例研究:流媒体信道调度模型及描述

第三章软件体系结构一致性检测(2学时) 1、软件体系结构一致性 2、软件体系结构一致性测试算法 3、实例研究1-三层C/S结构一致性检测 第四章软件体系结构评价(4学时) 1、软件体系结构评价模型 2、软件体系结构性能评价 3、软件体系结构可靠性评价 4、实例研究基于C/S结构的视频点播系统性能研究 第五章软件体系结构案例分析(16学时) 1、COBAR体系结构简介 2、P2P体系结构简介 3、网格体系结构简介 四、本课程与其它课程的联系与分工 本课程的先修课程为《面向对象程序》及《分布式数据库》,通过上述课程的学习,使学生能够体会大型软件开发的基本过程,体会到软件开发中体系结构的重要性。 五、实践环节教学内容的安排与要求 结合本研究室的研究课题,评价软件体系结构的性能。 六、本课程课外练习的要求 结合自己的研究课题,建立软件体系结构的性能模型和可靠性模型,以实际系统为被背景评价软件体系的性能。

软件体系结构期末复习题概述

《软件体系结构》期末复习题 简答题: 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体系结构的软件,系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。 2)B/S体系结构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。 10、B/S体系结构的缺点有什么? 答:1)B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。 2)B/S体系结构的系统扩展能力差,安全性难以控制。 3)采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远地低于C/S体系结构。 4)B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理(OLTP)应用。 11、DSSA 答案:DSSA就是在一个特定应用领域中为一组应用提供组织结构参考的标准软件体系结构 11、软件体系结构的动态性主要分为: 交互式动态性、结构化动态性、体系结构动态性等三类。 12、请画出基于构件的动态系统结构模型画。 13、软件产品线 产品线是一个产品集合,这些产品共享一个公共的、可管理的特征集,这个特征集能满足选定的市场或任务领域的特定需求。这些系统遵循一个预描述的方式,在公共的核心资源(core assets)基础上开发的 14、SOA 即service-oriented architecture,面向服务架构。它是一个组件模型,它 将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接 口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于 实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的 系统中的服务可以以一种统一和通用的方式进行交互。 14、RIA

软件设计与体系结构期末复习整理解读

1面向对象编程中是如何体现封装性的? 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。 2重载和重写的含义 重载是发生在一个类中,方法名相同,参数不同 重写(覆盖)是子类继承父类,子类可以通过重写的方法隐藏继承的方法 3 什么是接口回调,过程细节是什么? 概念:把可以实现某一接口的类创建的对象的引用赋给该接口声明接口变量,那么该接口变量可以调用被类实现(重写)的接口方法。 4试举例说明什么是组合关系和依赖关系 组合(关联)关系:A类中成员变量是用B类声明的对象。公司--职员 依赖关系:A类中某个方法的参数是用B类声明的对象,或某个方法返回的数据类型是B类的对象 5抽象类和接口,区别是什么?如何应用 抽象类:抽象类中有抽象方法;抽象类中不能用new运算符创建对象;抽象类的对象做商转型对象 接口:(1)接口中只可以有public权限的抽象方法,不能有非抽象方法; (2)接口由类去实现,即一个类如果实现一个接口,那么他必须重写接口中的抽象方法 (3)接口回调 区别:接口中只有常量,不能有变量;抽象类中既可以有常量也可以有变量; 抽象类中也可以有非抽象方法,接口不可以。 应用:定义抽象方法:public abstract void 方法名(); 在子类实现抽象方法:public void 方法名(){} 接口:public interface 接口名{}接口只负责定义规则,不负责任何实现;实现交给实现接口的类 (6)面向对象的六条基本原则包括: 开闭原则,里式代换原则,单一职责,依赖倒转、迪米特法则(接口隔离)。 (7)什么是设计模式? 设计模式是从许多优秀的软件系统中总结出的成功的可复用的设计方案。是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性 (8)什么是框架?框架与模式的区别有哪些? 框架是针对某个领域,提供用于开发应用系统的类的集合。 区别:层次不同、范围不同、相互关系

软件体系结构期末大题

软件体系结构-期末大题

————————————————————————————————作者:————————————————————————————————日期: ?

1.基于构件的软件开发的优势是什么? 基于构件的软件将软件开发的重点从程序编写转移到了基于已有构件的组装,更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降低了软件开发的费用2.尝试用自己的语言介绍Kruchten的“4+1”模型。 Kruchten 提出了一个"4+1"视图模型,从5个不同的视角包括包括逻辑试图、进程视图、物理视图、开发视图、场景视图来描述软件体系结构。每一个视图只关心系统的一个侧面,5个试图结合在一起才能反映系统的软件体系结构的全部内容。

3.在希赛公司的一个财务管理系统,财务部要客户提供………… 4.不同的体系结构风格具有各自的特点、优劣和用途。试对管道-过滤器风格、事件驱动风格、分层系统、C2风格和基于消息总线的风格进行分析比较。P52-56 (1)管道和过滤器 特点: @使得软构件具有良好的隐蔽性和高内聚、低耦合的特点; @允许设计者将整个系统的输入输出行为看成是多个过滤器的行为的简单合成;

@支持软件重用。只要提供适合在两个过滤器之间传送的数据,任何两个过滤器都可被连接起来; @系统维护和增强系统性能简单。新的过滤器可以添加到现有系统中来;旧的可以被改进的过滤器替换掉; @允许对一些如吞吐量、死锁等属性的分析; @支持并行执行。每个过滤器是作为一个单独的任务完成,因此可与其它任务并行执行?缺点:①通常导致进程成为批处理的结构。 ②不适合处理交互的应用。 ③因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。 (2)

软件体系结构作业 完整版

第一章: 1.根据自己的经验,谈谈对软件危机的看法。 软件危机是指软件生产方式无法满足迅速增长的计算机需求,开发和维护过程出现的一系列问题。 以下几个原因导致:(1)软件自身特点 (2)开发人员的弱点 (3)用户需求不明 (4)缺乏正确理论指导 (5)开发规模越来越大 (6)开发复杂度越来越高 可以通过软件生命周期的模型和软件工具的使用来缓解危机,通过程序自动化和软件工业化生产的方法实现软件标准化的目标,进一步缓解软件危机带来的影响。 软件危机有利有弊,除了带来许多麻烦,也给我们带来许多挑战,克服危机的过程,我们在技术上和创新上都有了一个提升,也算是间接为软件产业的发展做了贡献。 2.什么是软件重用,软件重用的层次可以分为哪几个级别? 软件重用:是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。可以分为三个层次: (1)代码重用(2)设计结果重用(3)分析结果重用 3.什么是可重用构件?相对于普通的软件产品,对可重用构件有何特殊要求? 可充用构件表示软件重用过程中,可重用的软件构件元素。 可重用构件的特殊要求: (1)可重用构件应该具有功能上的独立性与完整性; (2)可重用构件应该具有较高的通用性; (3)可重用构件应该具有较高的灵活; (4)可重用构件应该具有严格的质量保证; (5)可重用构件应该具有较高的标准化程。 4.基于构件的软件开发的优势是什么?基于构件的软件开发面临哪些挑战和困难? 优势:基于构件的软件将软件开发的重点从程序编写转移到了基于已有构件的组装,更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降低了软件开发的费 用 困难和挑战:没有可依据的参考,可用资源和环境缺乏,开发难度高,而各方面需求增长速度与日剧增,更新和升级的跟进是一个不小的挑战.此外,在同一系统采用多个开 发商提供的构件,它们之间的兼容性可能是开发过程中所要面对的一个严峻的问题挑战和困难:

计算机体系结构复习

1. 计算机系统的多级层次结构: 第6级 第5级 第4级 第3级 第2级 第1级 2. 系统结构的概念: 计算机系统结构指的是计算机系统的软、 硬件的界面, 即机器语言程 序员或编译程序设计者所能看到的传统机器级所具有的属性。 3. 在计算机技术中, 对本来存在的事物或属性, 但从某种角度看又好象不存在的概念称为 透明性。 4. 对于通用寄存器型机器,这些属性主要是指: (选择题) 1) 指令系统(包括机器指令的操作类型和格式、指令间的排序和控制机构等) 2) 数据表示 (硬件能直接辩认和处理的数据类型) 3) 寻址规则 (包括最小寻址单元、寻址方式及其表示) 4) 寄存器定义 (包括各种寄存器的定义、数量和使用方式) 5) 中断系统 (中断的类型和中断响应硬件的功能等) 6) 机器工作状态的定义和切换 (如管态和目态等) 7) 存储系统 (主存容量、程序员可用的最大存储容量等) 8) 信息保护 (包括信息保护方式和硬件对信息保护的支持) 9) I/O 结构(包括 I/O 连接方式、处理机 /存储器与 I/O 设备间数据传送的方式和 格式 以及 I/O 操作的状态等) 5. 计算机组成指的是计算机系统结构的逻辑实现, 包含物理机器级中的数据流和控制流的 组成以及逻辑设计。 6. 计算机实现指的是计算机组成的物理实现。 7. 数据表示是指计算机硬件能够直接识别、指令集可以直接调用的数据类型。 8. 数据类型、数据结构、数据表示之间的关系 名词解释 填空 选择 简答 计算 L1:微程序机器

9.系列机指由同一厂商生产的具有相同体系结构、但具有不同组成和实现的一系列不同型 号的机器。 10.常见的计算机系统结构分类法有两种:Flynn 分类法和冯氏分类法。冯氏分类法是用系 统的最大并行度对计算机进行分类;Flynn 分类法是指按照指令流和数据流的多倍性进行分类。 11.定量分析技术(简答题): 1)以经常性事件为重点:在计算机系统设计中,经常需要在多种不同的方法之间进行折中,这时应按照对经常发生的情况采用优化方法的原则进行选择。 2)Amdahl 定律:加速某部件执行速度所能获得的系统性能加速比,受限于该部件的执行时间占系统中总执行时间的百分比。 3)CPU性能公式:执行一个程序所需的CPU 时间=执行程序所需的时钟周期数*时钟周期时间 4)程序的局部性原理:指程序执行时所访问的存储器地址分布不是随机的,而是相对簇聚的。分为时间局部性和空间局部性。 12.冯诺依曼结构的特点:以运算器为中心;在存储器中,指令和数据同等对待;存储器是 按地址访问、按顺序线性编址的一维结构,每个存储单元的位数是固定的;指令是按顺序执行的;指令由操作码和地址码组成;指令和数据均以二进制编码表示,采用二进制运算。 13.实现可移植性的常用方法有三种:采用系列机、模拟与仿真、统一高级语言。 14.系列机在兼容方面,向后兼容一定要保证,尽量保证向上兼容 15.模拟是指用软件的方法在一台现有的计算机上实现另一台计算机的指令集。(软件方法) 16.仿真是指用一台现有计算机上的微程序去解释实现另一台计算机的指令集。(硬件方法) 17.并行性包括同时性和并发性。 18.从执行程序的角度来看,并行性等级从低到高可分为:(简答) 1)指令内部并行:单条指令中各微操作之间的并行 2)指令级并行:并行执行两条或两条以上的指令 3)线程级并行:并行执行两个或两个以上的线程,通常是以一个进程内派生的多个线程为调度单位。 4)任务级或过程级并行:并行执行两个或两个以上的过程或任务,以子程序或进程为调度单位。 5)作业或程序级并行:并行执行两个或两个以上的作业或程序。 19.提高并行性的技术路径(12 字):时间重叠、资源重复、资源共享 20.能够对紧密耦合系统和松散耦合系统进行区分:紧密耦合系统共享主存,松散耦合系统共 享外设 21.CISC 指令集结构存在的问题: 1)各种指令的使用频度相差悬殊

计算机体系结构期末考试知识点与答案

体系结构复习重点.doc 1..诺依蔓计算机的特点 答:·若依曼计算机的主要特点如下: 存储程序方式。指令和数据都是以字的方式存放在同一个存储器中,没有区别,由机器状态来确定从存储器读出的字是指令或数据。 指令串行执行,并由控制器集中加以控制、 单元定长的一维线性空间的存储器 使用低级机器语言,数据以二进制形式表示。 单处理机结构,以运算器作为中心。 其实,他最大的特点就是简单易操作。 2. T(C)=所描述的三个层次(8页) 答:3个层次为控制器、算术逻辑部件、基本逻辑部件 3. 计算机系统结构的分类(5页) 4. 计算机系统中的数据表示(38页) 5. 指令系统设计的原则 答:指令系统的设计原则是,应特别注意如何支持编译系统能高效、简易地将源程序翻译成目标代码。 首先是正交性:又称分离原则或互不相干原则。即指令中各个有不同含义的字段之间,在编码时应互相独立、互不相关。 规整性:对相似的操作数做出相同的规定。 可扩充性:要保留一定余量的操作码空间,为以后的扩展所用。 对称性:为了使编译能更加方便,通常希望操作具有对称性。 6. 流水操作中的相关 答:流水操作过程中会出现一下的3个相关:资源或结构相关、数据相关、和控制相关。 资源相关是指当有多条指令进入流水线后在同一机器周期内争用同一功能部件所发生的冲突。 数据相关:这是由于流水线中的各条指令的重叠操作使得原来对操作数的访问顺序发生了变化,从而导致了数据相关的冲突。 控制相关主要是转移指令引起的,比起数据相关来,他会使流水线丧失更多的性能。 7. 向量机中对向量的各种运算可以采用的加工方式(149页) 答:向量机中对向量的各种运算可以采用不同的加工方式,但比较有效的加工方式

《软件体系结构》教学大纲

《软件体系结构》教学大纲 一、课程概述 《软件体系结构》是根植于软件工程发展起来的一门新兴学科,目前已经成为软件工程研究和实践的主要领域。体系结构在软件开发中为不同的人员提供了共同交流的语言,体现并尝试了系统早期的设计决策,并作为相同设计的抽象,为实现框架和构件的重用、基于体系结构的软件开发提供了有力的支持。 作为计算机科学与技术专业软件工程方向的重要专业课程,本课程主要系统地介绍软件体系结构的基本原理、方法和实践,全面反映软件体系结构研究和应用的最新进展。既讨论软件体系结构的基本理论知识,又介绍软件体系结构的设计和工业界应用实例,强调理论与实践相结合。 本课程的先修课程为“软件工程”。 二、课程目标 1.知道《软件体系结构》这门学科的性质、地位、研究范围、学科进展和未来方向等。2.理解该门学科的主要概念、基本原理和策略等。 3.掌握软件体系结构的建模方法、描述方法,通过对不同软件体系结构风格的掌握,能够采用正确的基于体系结构的软件开发。 4.能够把所学的原理应用到具体的实践中去,培养学生发现、分析和解决问题的能力等。 三、课程内容与教学要求 这门学科的知识与技能要求分为知道、理解、掌握、学会四个层次。这四个层次的一般涵义表述如下: 知道———是指对这门学科和教学现象的认知。 理解———是指对这门学科涉及到的概念、原理、策略与技术的说明和解释,能提示所涉及到的教学现象演变过程的特征、形成原因以及教学要素之间的相互关系。 掌握———是指运用已理解的教学概念和原理说明、解释、类推同类教学事件和现象。

学会———是指能模仿或在教师指导下独立地完成某些教学知识和技能的操作任务,或能识别操作中的一般差错。 教学内容和要求表中的“√”号表示教学知识和技能的教学要求层次。 本标准中打“*”号的内容可作为自学,教师可根据实际情况确定要求或不布置要求。 教学内容及教学要求表

软件设计模式与体系结构复习资料

设计准则I:正确性和健壮性 1.正确性:每个项目都要满足指定的需求,然后一起满足所有应用程序的需求,设计的正确性一般是指充分性,实现正确性的正式方法是依靠数学逻辑,非正式方法是判断设计是否满足所需的功能,当进入详细设计阶段时,经常采用正式方法来判断正确性。 2.模块可是类或者类的包,包的接口和类的接口不同,包不能被实例化,通过包来使用接口的一种方法是利用包中指定对象来提供相应的接口。 3.为了模块化特定的应用程序,在高层需要创建包,在底层需要创建类 4.设计中用到两种类:领域类和非领域类,一般是从领域类开始类的选择,然后扩展到非领域类,非领域类通常用于概括领域类。 5.健壮性:防止错误输入,防止开发错误;提高健壮性的办法:检查输入、初始化、参数传递技术、检查参数是否违反约束的方法、在类中捕获参数、包装参数、强化意图。 设计准则II 灵活性、可重用性、高效性 1.灵活性:在设计时通常要考虑到将来的变化;增加新功能要依据其上下文和应用范围 2.可重用性:一个方法相对于上下文环境越独立,其可重用性就越高;完全指定、避免不必要的封装类耦合、让名字更具表达性、解释算法。 3.高效性:应用程序必须在指定时间内完成特定的功能,同样,对内存容量也有一定的要求 设计模式引言: 1.设计目标是:灵活性、健壮性、可重用性 2.设计原则:面向接口编程的原则(面向接口编程而不是面向实现编程)、可变性封装、开—闭原则(对扩展开放,对修改关闭)、里氏替换原则(适用于父类,但不一定适用子类)、组合/聚合原则(尽量使用组合聚合/聚合,尽量不使用继承);接口隔离原则(避免接口污

染)、依赖倒转原则(高层低层依赖于抽象、细节依赖于抽象)、迪米特原则(不和陌生人说话)、单一原则 3.模式的四个基本要素:问题(描述了应该在何时使用模式)、解决方案(描述了设计的组成成分)、效果(描述了模式应用的效果及使用模式应该权衡的问题)、模式名称 4.设计模式分类:按照目的可以分为:创建型、结构型、行为型按照范围可以分为:类模式、对象模式 5.模式和框架的区别: 1)设计模式比框架更抽象 2)设计模式是比框架更小的体系结构元素 3)框架比设计模式更加特例化 创建型模式: 1.创建型模式包括抽象工厂模式、生成器模式、工厂模式、原型模式、单件模式 2.创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建、组合和表示它的那些对象 3.一个类创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给另一个对象。 4.随着系统演化地越来越依赖于对象复合而不是类继承,创建型模式变得更为重要 5.创建型模式在什么被创建、谁创建它、它是怎样被创建的以及何时创建这些方面给予很大的灵活性 6. 抽象工厂模式: 意图:提供一个创建一系列相关或相互依赖对象的接口而不需要指定他们具体的类

最新计算机体系结构复习资料(汇总版)

第一章计算机系统结构的基础知识 1、计算机体系结构:计算机体系结构是程序员所看到的计算机属性,即概念性结构与功能特性。 2、透明性:对本来是存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。在一个计算机系统中,低层机器的属性对高层机器的程序员往往是透明的,如传统机器级的概念性结构和功能特性,对高级语言程序员来说是透明的。 3、计算机系统结构、计算机组成、计算机实现之间的关系: 计算机系统结构指的是计算机系统的软、硬件的界面,即机器语言程序员所看到的传统机器级所具有的属性。 计算机组成:指的是计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。它着眼于物理机器级内各事件的排序方式与控制方式、各部件的功能以及各部件之间的关系。 计算机的实现:指的是计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。它着眼于器件技术和微组装技术,其中器件技术在实现技术中起主导作用。 4、计算机系统的分类:1)Flynn(单/多指令流单/多数据流四种) 2)冯氏分类法:最大并行速度。 5、程序的局部性:时间局部性(程序即将用到的信息很可能就是目前正在使用的信息) 空间局部性(程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者邻近)。 6、计算机系统设计原理:由上往下设计、由下往上设计、从中间开始设计。 从中间设计的优点:“中间”指层次结构中的软硬件的交界面,目前一般是在传统机器语言机器级与操作系统机器级之间。好处:采用这种方法时,首先要进行软硬件功能分配,确定好这个界面。然后从这个界面开始,软件设计者往上设计操作系统、汇编、编译系统等,硬件设计者往下设计传统机器级、微程序机器级等。软件和硬件并行设计可以缩短设计周期,设计过程中可以交流协调,是一种交互式的、很好的设计方法。 7、存储程序计算机(冯·诺依曼结构):采用存储程序原理,将程序和数据存放在同一存储器中。指令在存储器中按其执行顺序存储,由指令计数器指明每条指令所在的单元地址。存储程序原理的基本点是指令驱动。 主要特点: ·计算机以运算器为中心。输入/输出设备与存储器之间的数据传送都经过运算器;存储器、输入/输出设备的操作以及它们之间的联系都由控制器集中控制。 ·在存储器中,指令和数据同等对待。指令和数据一样可以进行运算,即由指令组成饿程序是可以修改的。 ·存储器是按地址访问、按顺序线性编址的一维结构,每个单元的位数是固定的。 ·指令的执行是顺序的,即一般是按照指令在存储器中存放的顺序执行。程序的分支由转移指令实现。由程序计数器PC指明当前正在执行的指令在存储器中的地址。 ·指令由操作码和地址码组成。操作码指明本指令的操作类型,地址码指明操作数地址和存放运算结果的地址。操作数的类型由操作码决定,操作数本身不能判定是何种数据类型。·指令和数据均以二进制编码表示,采用二进制运算。 8、计算机五大部件:控制器、运算器、存储器、输入输出设备。 9、一条指令由那两部分组成:操作码、地址码。

软件体系结构期末考试试题

软件体系结构-设计模式练习题1 1.面向对象分析与设计中的(1)是指一个模块在扩展性方面应该是开放的,而在更改性方面应该是封闭的;而(2)是指子类应当可以替换父类并出现在父类能够出现的任何地方。 (1) A.开闭原则 B.替换原则 C.依赖原则 D.单一职责原则 (2) A.开闭原则 B.替换原则 C.依赖原则 D.单一职责原则 2.(3)限制了创建类的实例数量,而(4)将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 (3) A.命令模式(Command)B.适配器模式(Adapter)C.策略模式(Strategy) D.单例模式(Singleton) (4) A.命令模式(Command) B.适配器模式(Adapter) C.策略模式(Strategy) D.单例模式(Singleton) 3. (5)设计模式允许一个对象在其内部状态改变时改变它的行为。下图为这种设计模式的类图,已知类State 为抽象类,则类(6)的实例代表了Context 对象的状态。 (5) A.单件(Singleton) B.桥接(Bridge) C.组合(Composite) D.状态(State) (6) A. Context B. ConcreteStateA C. Handle D. State

4.某公司欲开发一门户网站,将公司的各个分公司及办事处信息进行整合。现决定采用Composite设计模式来实现公司的组织结构关系,并设计了如下图所示的UML类图。图中与Composite模式中的“Component”角色相对应的类是(7) ,与“Composite”角色相对应的类是(8) 。 (7) A. Company B. FinanceDepartment C. HRDepartment D. ConcreteCompany (8) A. Company B. FinanceDepartment C. HRDepartment D. ConcreteCompany 5.某软件公司正在设计一个通用的嵌入式数据处理平台,需要支持多种数据处理芯片之间的数据传递与交换。该平台的核心功能之一要求能够屏蔽芯片之间的数据交互,使其耦合松散,并且可以独立改变芯片之间的交互过程。针对上述需求,采用(9)最为合适。 (9) A. 抽象工厂模式 B. 策略模式 C. 中介者模式D. 状态模式 6.某软件公司正在设计一个图像处理软件,该软件需要支持用户在图像处理中的撤销和重做等动作,为了实现该功能,采用(10)最为合适。 (10) A. 单例模式B. 命令模式 C. 访问者模式 D. 适配器模式 7.某互联网公司正在设计一套网络聊天系统,为了限制用户在使用该系统时发表不恰当言论,需要对聊天内容进行特定敏感词的过滤。针对上述功能需求,采用(11)能够灵活配置敏感 词的过滤过程。 (11) A. 责任链模式 B. 工厂模式 C. 组合模式 D. 装饰模式

第六章 经典软件体系结构教学文案

第六章经典软件 体系结构

第六章经典软件体系结构 本章介绍经典的软件体系结构,主要包括Mary Shaw等人所总结的一些软件体系结构分格。众所周知,计算机学科历史较短,因此,软件架构的研究历史更短。本章所谓的经典软件体系结构也仅仅是指在20世纪80年代至21世纪初期间提出的成功的软件体系结构。本章将介绍调用-返回分格软件体系结构、数据流风格软件体系结构、基于事件的软件体系结构、层次软件体系架构与MVC 软件体系结构。 6.1 调用-返回风格软件体系结构 相对于一些基础学科,计算机学科的发展历史较短。20世纪50年代才出现了适合商业应用的软件开发语言。软件设计与开发也经历了从初级到高级的历程。回顾历史,从20世纪50年代到60年代末,属于非结构化简单程序开发阶段,软件设计方面采用简单程序模型,典型的开发语言Algol(1958)、COBOL(1959)和Basic(1964);从20世纪70年代初到80年代初,属于结构化设计编程阶段,典型的开发语言有Pascal(1968)、C(1972)、FORTRAN和Perl。虽然从20世纪60年代开始就有了面向对象概念的讨论,但是直到20世纪80年代初正式开始才面向对象设计编程阶段,就有了代表性的面向对象软件开发语言包括SmallTalk、Ada、C++(1983)和Java(1995)。 本节首先简要回顾非结构化编程,然后介绍对软件设计有重要的影响的调用-返回风格软件体系结构,重点介绍其中的主程序 - 子程序软件体系结构与面向对象软件体系结构,并对它们进行讨论。 6.1.1 非结构化编程简介 非结构化编程技术是历史上最早的编程范型。紧随其后的是结构化设计/编程技术与面向对象设计/编程技术。一个由非结构化语言编写的程序通常包含一系列有序的命令,或者称为语句,通常是每个语句占一行,每行都有标记一个行号或者可能是标签。这样做的目的事允许程序执行流可以依据行号从一行跳到程序的其他指定的行。支持非结构化编程的语言包括早期的BASIC与COBOL。 非结构化编程引入基本的循环、分支与跳跃等控制流的概念。在非结构化编程中,虽然出现了较为原始的子程序的概念,但其与结构化编程中过程(Procedure)的概念有本质的区别。非结构化编程中的子程序允许有多个入口和多个出口,理论上允许程序在任何地方转入子程序或退出子程序,而在这结构化编程中是不允许的。 虽然非结构化编程所编写的程序很难理解,并且经常遭到批评,但是早期的银行与金融机构软件代码都是由非结构化编程语言(例如COBOL)写的。 目前,非结构化编程已成为历史,现在很少使用(除了有些银行与金融业企业仍然使用COBOL进行开发,但和早期的版本相比有了很多改善,例如COBOL 97包括常规改善并且具备了面向对象的特征),因此本节将不把注意力放在非结构化编程方面,而主要介绍采用结构化设计方法的主程序-子程序软件体系结构与采用面向对象设计方法的面向对象软件体系结构。

体系结构复习题

名词解释: 1.计算机系统结构:传统机器程序员所看到的计算机属性,即概论性机构与 功能特性。 2.CISC:复杂指令集计算机。 3.定向技术:流水线中将计算结果从其产生的地方直接送到真正需要它的地 方,而不是从寄存器文件读出使用,他是一种解决数据相关,避免流水线暂停的技术。 4.指令级并行:并行执行两条或两条以上的指令。 5.多级存储层次:采用不同技术实现的存储器,处在离CPU不同距离的层次 上,各存储器之间一般满足包容关系,即任何一层存储器中的内容都是其下一层(离CPU更远的一层)存储器中内容的子集。 6.系统加速比 7.RISC 8.动态流水线 9.指令的动态调度 10.全相联映象 11.Amdahl定律 12.寻址方式 13.静态流水线 14.前瞻执行 15.替换算法 16.紧密耦合系统 17.通用寄存器型机器 18.数据相关 19.写后读冲突 20.分支目标缓冲 21.存储程序计算机 22.松散耦合系统 23.处理机间流水线 24.分段开采 25.全相联映象 判断题 26.(√)执行时间不是唯一的性能指标,但它是最普遍的性能表示形式。 27.()MIPS和MFLOPS是计算机性能衡量的两个可靠指标。 28.()程序的空间局部性指程序即将用到的信息很可能就是目前正在使用 的信息。 29.(√)响应时间必须通过运行“真实程序”获得。 30.()基准程序能够完全预测一个程序在计算机上的运行性能。 31.()DLX流水线中,所有数据相关都可以通过定向技术解决。 32.()强制性失效和容量失效也受相联度的影响。 33.(√)伪相联cache具有快速命中与慢速命中两种命中时间。 34.(√)Cache命中时间往往会直接影响到处理器的时钟频率。 35.(√)Cache失效中必定包含强制性失效。

最新软件体系结构期末试题+答案

1.以下关于系统性能的叙述中,不正确的是(17)。(17)A. 常见的Web服务器性能评估方法有基准测试、压力测试和可靠性测试B. 评价Web服务器的主要性能指标有最大并发连接数、响应延迟和吞吐量C. 对运行系统进行性能评估的主要目的是以更好的性能/价格比更新系统D. 当系统性能降到基本水平时,需要查找影响性能的瓶颈并消除该瓶颈 2某公司欲对其内部的信息系统进行集成,需要实现在系统之间快速传递可定制格式的数据包,并且当有新的数据包到达时,接收系统会自动得到通知。另外还要求支持数据重传,以确保传输的成功。针对这些集成需求,应该采用(21)的集成方式。(21)A. 远程过程调用 B. 共享数据库C. 文件传输 D. 消息传递 3 在RUP中采用“4+1”视图模型来描述软件系统的体系结构。在该模型中,最终用户侧重于(26),系统工程师侧重于(27)。(26)A. 实现视图 B. 进程视图 C. 逻辑视图 D. 部署视图(27)A. 实现视图 B. 进程视图 C. 逻辑视图 D. 部署视图 4.某银行系统采用Factory Method方法描述其不同账户之间的关系,设计出的类图如下所示。其中与Factory Method中的“Creator”角色相对应的类是(33);与“Product” 角色相对应的类是(34)。(33) A. Bank B. Account C. Checking D. Savings(34) A. Bank B. Account C. Checking 5.是一个独立可交付的功能单元,外界通过接口访问其提供的服务。(35)A. 面向对象系统中的对象(Object)B. 模块化程序设计中的子程序(Subroutine)C. 基于构件开发中的构件(Component)D. 系统模型中的包(Package) 6 软件的横向重用是指重用不同应用领域中的软件元素。(31)是一种典型的、原始的横向重用机制。(31)A. 对象 B. 构件 C. 标准函数库 D. 设计模式

系统结构复习资料

考试题型 一、单项选择题(每题2分,共26分) 二、填空题(每空0.5分,共7分) 三、大题(共67分) 共5个,有概念题、分析题、计算题、设计题、综合题 复习提纲 大题的复习范围: 1.会利用CPU性能公式比较多种设计方案的优劣 公式一: CPU时间= 一个程序的CPU时钟周期数*时钟周期长度 或:CPU时间= 一个程序的CPU时钟周期数/时钟频率 公式二: CPU时间= IC*CPI*时钟周期长度 公式三: 2.会利用Amdahl定律比较多种设计方案的优劣 Amdahl定律:计算机系统中某一部件由于采用某种更快的执行方式后整个系统性能的提高与这种执行方式的使用频率或占总执行时间的比例有关。

3. Cache 的性能分析,会针对具体情况分析Cache 的性能 CPU 执行时间: 时钟周期时间存储器停顿周期数时钟周期数执行时间?+=)(CPU CPU 缺失代价缺失率指令存储器访问次数指令数缺失代价指令 缺失次数指令数缺失代价 缺失次数存储器停顿周期数???=?? =?= 平均存储器访问时间(AMAT ): 缺失代价缺失率命中时间主存 ?+=?-+?=T H T H AMAT Cache )1( 提高Cache 性能: 可见主要途径有: 降低缺失代价 降低缺失率 通过并行性降低缺失代价/缺失率 降低Cache 命中时间 4. 导致Cache 失效的原因,需进一步掌握如何降低这三类失效的方法 原因: (1)强制(Compulsory )缺失:对一个块的第一次访问一定不在Cache 中,所以该块必须被调入到Cache 中(这也称为:冷启动缺失、首次访问缺失等)。 (2)容量(Capacity )缺失:如果Cache 容纳不了一个程序持续执行所需要的所有块,将会发生容量缺失,某些块将被放弃,随后再被调入。 (3)冲突(Conflict )缺失:如果采用组相联/直接相联,则可能有多个块映射到同一块中,发生冲突缺失。 降低缺失率的技术: (1)增加Cache 块大小 (2)增加Cache 容量 (3)增加相联度

软件体系结构期末复习题

软件体系结构期末 复习题

《软件体系结构》期末复习题 简答题: 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体系结构的软件,系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。

软件体系结构 期末大题

1、基于构件得软件开发得优势就是什么? 基于构件得软件将软件开发得重点从程序编写转移到了基于已有构件得组装,更快地构造系统,减轻用来支持与升级大型系统所需要得维护负担,从而降低了软件开发得费用2.尝试用自己得语言介绍Kruchten得“4+1”模型。Kruchten 提出了一个"4+1"视图模型,从5个不同得视角包括包括逻辑试图、进程视图、物理视图、开发视图、场景视图来描述软件体系结构。每一个视图只关心系统得一个侧面,5个试图结合在一起才能反映系统得软件体系结构得全部内容。

3.在希赛公司得一个财务管理系统,财务部要客户提供………… 4.不同得体系结构风格具有各自得特点、优劣与用途。试对管道-过滤器风格、事件驱动风格、分层系统、C2风格与基于消息总线得风格进行分析比较。P52-56 (1)管道与过滤器 特点: @使得软构件具有良好得隐蔽性与高内聚、低耦合得特点; @允许设计者将整个系统得输入输出行为瞧成就是多个过滤器得行为得简单合成;

@支持软件重用。只要提供适合在两个过滤器之间传送得数据,任何两个过滤器都可被连接起来; @系统维护与增强系统性能简单。新得过滤器可以添加到现有系统中来;旧得可以被改进得过滤器替换掉; @允许对一些如吞吐量、死锁等属性得分析; @支持并行执行。每个过滤器就是作为一个单独得任务完成,因此可与其它任务并行执行 缺点:①通常导致进程成为批处理得结构。 ②不适合处理交互得应用。 ③因为在数据传输上没有通用得标准,每个过滤器都增加了解析与合成数据得工作,这样就导致了系统性能下降,并增加了编写过滤器得复杂性。

(2)

计算机体系结构复习资料

第一章计算机体系机构的基本概念 1.计算机系统结构包括数据表示、机器工作状态、信息保护,不包括主存速度。计算机系统结构应该考虑的内容包括主存容量和编址方式,而主存采用MOS还是TTL器件、主存是采用多体交叉还是单体、主存频宽的确定等都不是计算机系统结构应该考虑的内容。存储器采用单体单字,还是多体交叉并行存取,对系统结构设计是透明的。又如在系列机内推出新机器,不能更改的是原有指令的寻址方式和操作码,而存储芯片的集成度、系统总线的组成、数据通路宽度是可以更改的。系列机是指在一个厂家内生产的具有相同的体系结构,但具有不同的组成和实现的一系列不同型号的机器。 2. 计算机系统中提高并行性的技术途径有时间重叠、资源重复和资源共享三种。在高性能单处理机的发展中,它的实现基础是流水线。 3. 软件和硬件在逻辑功能上是等效的,软件的功能可用硬件或固件完成,但性能、实现的难易程度不同。 4. Amdahl 定律:加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。 5. 计算机组成是计算机系统结构的逻辑实现,计算机实现是计算机组成的物理实现。 6. 计算机系统多级层次结构由高到低,依次是应用语言机器级、高级语言机器级、汇编语言机器级、操作系统机器级、传统机器语言级和微程序机器级。 7. 某计算机系统采用浮点运算部件后,使浮点运算速度提高到原来的20倍,而系统运行某一程序的整体性能提高到原来的5倍,试计算该程序中浮点操作所占的比例。 系统加速比=1 / (1-可改进比例+可改进比例/部件加速比) 5 = 1 / (1-可改进比例+可改进比例/ 20) 可得可改进比例=84.2% 8. 假设某应用程序中有4类操作,通过改进,各操作获得不同的性能提高。具体数据、如下所示。 (1)改进后,各类操作的加速比分别是多少? (2)各类操作单独改进后,程序获得的加速比分别是多少? (3)4类操作均改进后,整个程序的加速比是多少? 多部件改进后的系统加速比

相关主题
文本预览
相关文档 最新文档