文档库 最新最全的文档下载
当前位置:文档库 › 软件体系结构作业(完整版)

软件体系结构作业(完整版)

软件体系结构作业(完整版)
软件体系结构作业(完整版)

第一章:

1.根据自己的经验,谈谈对软件危机的看法。

软件危机是指软件生产方式无法满足迅速增长的计算机需求,开发和维护过程出现的一系列问题。

以下几个原因导致:(1)软件自身特点

(2)开发人员的弱点

(3)用户需求不明

(4)缺乏正确理论指导

(5)开发规模越来越大

(6)开发复杂度越来越高

可以通过软件生命周期的模型和软件工具的使用来缓解危机,通过程序自动化和软件工业化生产的方法实现软件标准化的目标,进一步缓解软件危机带来的影响。

软件危机有利有弊,除了带来许多麻烦,也给我们带来许多挑战,克服危机的过程,我们在技术上和创新上都有了一个提升,也算是间接为软件产业的发展做了贡献。

2.什么是软件重用,软件重用的层次可以分为哪几个级别?

软件重用:是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。可以分为三个层次:

(1)代码重用(2)设计结果重用(3)分析结果重用

3.什么是可重用构件?相对于普通的软件产品,对可重用构件有何特殊要求?

可充用构件表示软件重用过程中,可重用的软件构件元素。

可重用构件的特殊要求:

(1)可重用构件应该具有功能上的独立性与完整性;

(2)可重用构件应该具有较高的通用性;

(3)可重用构件应该具有较高的灵活;

(4)可重用构件应该具有严格的质量保证;

(5)可重用构件应该具有较高的标准化程。

4.基于构件的软件开发的优势是什么?基于构件的软件开发面临哪些挑战和困难?

优势:基于构件的软件将软件开发的重点从程序编写转移到了基于已有构件的组装,更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降

低了软件开发的费用

困难和挑战:没有可依据的参考,可用资源和环境缺乏,开发难度高,而各方面需求增长速度与日剧增,更新和升级的跟进是一个不小的挑战.此外,在同

一系统采用多个开发商提供的构件,它们之间的兼容性可能是开发过程中所

要面对的一个严峻的问题

挑战和困难:

(1)在同一系统采用多个开发商提供的构件,它们之间的兼容性可能是开发过程中所要面对的一个严峻的问题;

(2)采用随处可以购买到的构件可能会使开发出来的软件产品丧失技术上的独创性和市场上的竞争力;

(3)第三方的构件开发商可能歇业,这会使购买的构件失去维护服务。这些都是在购买第三方构件进行软件开发时无法回避的问题,因此需要对这些风险进行充

分的估计。

5.简述3种应用最为广泛的构件技术规范COM、CORBA和EJB的各自特点。

CORBA的特点:

(1)实现客户与服务对象的完全分开,客户不需要了解服务对象的实现过程以及具体位置。

(2)应用程序间的统一接口。

(3)采用面向对象的软件实现方法开发应用系统,实现对象内部细节的完整封装,保留对象方法的对外接口定义。

(4)分层的设计原则和实现方式。

COM的特点:

(1)语言无关性。

(2)可重用性。

EJB的特点:

(1)可移植性。

(2)平台独立性。

(3)简化了分布式对象的开发、部署和访问。

6.就项目管理方面而言,软件重用项目与非重用项目有哪些不同之处。

使用软件重用技术可减少重复工作,提高软件生产率, 缩短开发周期。同时,由于软构建大多经过严格的质量认证,因此有助于改善软件质量,大量使用构建,软件的灵活性和标准化程度可得到提高。

7.实际参与/组织一个软件重用项目的开发,然后总结你是如何组织该项目的开发的。

针对之前的一个软件重用项目的开发过程,将该项目的的软部件进行整合,整理成软部件库,对不要重用的部分进行修剪同时选取需要的软部件。根据以上步骤,然后结合当前开发的项目,进行软件重用。

8.软件体系结构的研究范畴有哪些?举例加以说明?

研究范畴:非形式化的框图,形式化建模符号、体系结构说明的分析与开发工具,体系结构再工程。其中典型的例子是美国卡耐基梅隆大学的Robert J.A11en于l997年提出的Wright系统

9.根据软件体系结构的定义,你认为软件体系结构的模型应该由哪些部分组成?

构件(component): 可以是一组代码,如程序的模块也可以是一个独立的程序(如数据库

的SQL服务器);连接件(connector):是关系的抽象,用以表示构件之间的相互作用。如过程调用、管道、

远程过程调用等;限制(constrain):用于对构件和连接件的语义说明。

10.在软件体系结构的研究和应用中,你认为还有哪些不足之处?

(1)缺乏同意的软件体系结构的概念,导致体系结构的研究范畴模糊。

(2)ADL繁多,缺乏同意的ADL的支持。

(3)软件体系结构研究缺乏统一的理论模型支持。

(4)在体系结构描述方便,尽管出现了多种标准规范或建议标准,但仍很难操作。(5)有关软件体系结构性质的研究尚不充分,不能明确给出一个良体系结构的属性或判定标准,没有给出良体系结构的设计指导原则,因而对于软件开发实践缺乏有力的促进作用。

(6)缺乏有效的支持环境软件体系结构理论研究与环境支持不同步,缺乏有效的体系结构分析、设计、方针和验证工具支持,导致体系结构应用上的困难。

(7)缺乏有效的体系结构复用方案。

(8)体系结构发现方法研究相对欠缺。

第二章:

1.软件体系结构模型是软件体系结构的表现形式,软件体系结构模型可以分为哪几种,具体是如何划分的?

(1)结构模型

这是一个最直观、最普遍的建模方法。这种方法以体系结构的构件、

连接件和其他概念来刻画结构,并力图通过结构来反映系统的重要语

义内容,包括系统的配置、约束、隐含的假设条件、风格、性质。研

究结构模型的核心是体系结构描述语言。

(2)框架模型

框架模型与结构模型类似,但它不太侧重描述结构的细节而更侧重于

整体的结构。框架模型主要以一些特殊的问题为目标建立只针对和适

应该问题的结构。

(3)动态模型

动态模型是对结构或框架模型的补充,研究系统的"大颗粒"的行为

性质。例如,描述系统的重新配置或演化。动态可能指系统总体结构

的配置、建立或拆除通信通道或计算的过程。这类系统常是激励型的。

(4)过程模型

过程模型研究构造系统的步骤和过程。因而结构是遵循某些过程脚本的结果。

(5)功能模型

该模型认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。

它可以看作是一种特殊的框架模型。

2.选择一个规模合适的系统,为其建立“4+1”模型。

3.引入了软件体系结构以后,传统软件过程发生了哪些变化?这种变化有什么好处?

软件体系结构的引入使软件设计开发更加具体和形象,它的模型更使得软件过程更加方便和多样化。其好处在于:包括程序员在内的绝大多数系统的利益相关人员都借助软件体系结构来进行彼此理解、协商、达成共识或者相互沟通的基础,软件体系机构的模型可以应用到具有相似质量属性和功能需求的系统中,并能够促进大规模软件的系统级复用,在很多方面使得软件开发更加人性化。

4.软件体系结构的生命周期模型与软件生命周期模型有什么关系?

软件体系结构是贯穿于软件研发的整个生命周期的系统开发、运行、维护所实施的全部工作和任务的结构框架,给出了软件开发活动各阶段之间的关系,软件体系结构的生命周期模型为软件生命周期模型提供了很好的结构依据和参考,也为其构建了很好的开发方式。

第三章软件体系结构风格

1、层次系统结构和基于消息的层次系统结构有什么区别?

层次结构将系统进行分级组织,其组织思想是:在层次结构中,每一层向上层提供服务,并作为客户向下层请求服务。分层系统的优点:支持基于抽象程度递增的系统设计;支持功能增强;支持重用。分层系统的缺点:并不是每个系统都可以很容易的划分为分层的模式,甚至即使是层次化的,出于性能的考虑,也不得不吧一些低及或高级的功能综合起来;很难找到一个合适的、正确的层次抽象方法。

消息总线是系统的连接件、负责消息的分派、传递和过滤以及处理结果的返回。消息是构件之间通信的唯一方式。由于构件通过总线进行连接,并不要求各个构件具有相同的地址空间或局限在一台机器上,因此该风格可以很好的刻画分布式开发系统,以及CORBA.DCOM和EJB规范的系统。

2、试分析和比较B/S,二层C/S和三层C/S,指出各自的优点和

缺点。

二层C/S体系结构将应用一分为二,服务器负责数据管理,客户机完成与用户的交互任务。优点(1)C/S体系结构具有强大的数据操作的事务处理能力,模型思想简单,易于人们理解和接受。(2)对软硬件的变化有极大的适应性和灵活性,易于对系统进行扩充和缩小。(3)系统中的功能构建充分隔离,节约大量费用。缺点:(1)开发成本较高。(2)客户端程序设计复杂(3)信息内容和形式单一(4)用户界面风格不一,使用繁杂不易推广。(5)软件移植困难(6)软件维护和升级困难(7)新技术不能轻易应用。三层CS在上面的基础上进行了改造,并增加了一个服务器,其优点:(1)允许合理的划分三层结构的功能,能提高系统和软件的可维护性和可扩展性。(2)具有良好的可升级性和开放性。(3)应用的各层可以并行开发,可以选择各自最适合的开发语言。(4)为严格的安全管理奠定了坚实的基础。

B/S风格就是上述三层应用结构的一种实现方式,其具体结构为:浏览器/Web服务器/数据库服务器。优点(1)基于B/S体系结构的软件,系统安装,修改和维护全在服务器端解决。(2)提供了异种机,异种网,异种应用服务的联机,联网,同意服务的最现实的开放性基础。缺点(1)缺乏对动态页面的支持能力,没有集成有效的数据库处理能力。(2)在数据查询等响应速度上,要远远低于C/S体系结构。(3)数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理应用。

3、组织或参与一个采用B/S和C/S混合体系结构的软件项目的开发,总结开发经验。

首先,开发者根据一定的原则,将系统的所有子功能分类,决定哪些子功能适合采用C/S,哪些适合采用B/S。适合采用C/S的子功能应具备以下特点:1安全性要求高;2要求具有较强的交互性;3使用范围小,地点固定;4要求处理大量数据。例如,仓库管理系统中的入库单、领料单的输入功能,财务系统中的凭证输入功能等等。而适合采用B/S 的子功能应具备以下特点:1使用范围广,地点灵活;2功能变动频繁;3安全性、交互性要求不同。例如:企业内部信息发布功能,意见箱输入功能,公司财务分析表的查询功能,总裁决策支持系统中的查询功能等等。

相对于单独采用C/S或B/S,这种方案的优点在于:1保证敏感数据的安全性,特别是对数据库的修改和新增记录加强了控制;2经济有效地利用企业内部计算机的资源,简化了一部分可以简化的客户端;3既保证了复杂功能的交互性,又保证了一般功能的易用与统一;4系统维护简便,布局合理;5网络效率最高。

如果系统开发者在系统设计阶段决定采用这种C/S与B/S相结合的模式,那么在系统开发生命周期的如下各个阶段相对这种新模式都应有所响应。

在系统设计阶段主要考虑的是MIS系统平台选择问题。在详细设计阶段,系统开发者需要根据企业自身的业务特点,以及一定的选择原则,来决定各个子功能采用哪一种模式并在系统说明书上分别注明。在编码设计阶段,系统开发者需要针对采用不同模式的子功能,选用不同的编码方式(例如:C/S可以采用VB编程环境,而B/S采用ASP方法),然后编译生成不同的客户应用及Web服务程序。在安装调试阶段,其特点主要体现在系统的物理结构上,即特定的客户应用程序将被安装在特定的使用者的客户端上,Web服务程序需要被安装在Web服务器上,而每个客户端上都将被安装上浏览器,同时,客户应用的使用者必须接受一定的培训。在软件维护阶段,针对不同模式的子功能应采

取不同维护方式。

4、组织或参与一个采用三层体系结构的软件项目的开发,总结开

发经验。

三层体系结构包括:用户界面表示层(USL) 、业务逻辑层(BLL) 、数据访问层(DAL) 。各层的作用:1:数据访问层:主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务。2:业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建。3:表示层:主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表现成:aspx, 如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。

三层是指逻辑上的三层,即使这三个层放置到一台机器上。三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。在保证客户端功能的前提下,为用户提供一个简洁的界面。这意味着如果需要修改应用程序代码,只需要对中间层应用服务器进行修改,而不用修改成千上万的客户端应用程序。“中间业务层”的用途有很多,例如:验证用户输入数据、缓存从数据库中读取的数据等等....但是,“中间业务层”的实际目的是将“数据访问层”的最基础的存储逻辑组合起来,形成一种业务规则。要保证“数据访问层”的中的函数功能的原子性!即最小性和不可再分。“数据访问层”只管负责存储或读取数据就可以了。

我们用三层结构主要是使项目结构更清楚,分工更明确,有利于后期的维护和升级。它未必会提升性能,因为当子程序模块未执行结束时,主程序模块只能处于等待状态。这说明将应用程序划分层次,会带来其执行速度上的一些损失。但从团队开发效率角度上来讲却可以感受到大不相同的效果。需要说明一下,三层结构不是.NET的专利,也不是专门用在数据库上的技术。它是一种更加普适的架构设计理念。此种架构要在数据库设计上注意表之间的关系,尽力满足主与子的关系。在功能上对用户要有一定的限制,不要表现在对于子表的删除操作一定要慎重,以免造成主表与子表的数据在逻辑上出现的主表的外键在子表中没有相对应的值。

“三层结构”开发模式,入门难度够高,难于理解和学习。这是对于初学程序设计的人来说的。以这种模式开发出来的软件,代码量通常要稍稍多一些。这往往会令初学者淹没在茫茫的代码之中。望之生畏,对其产生反感,也是可以理解的。

5、在软件开发中,采用异构结构有什么好处,其负面影响有哪

些?

1).结构有不同的处理能力的强项和弱点,一个系统的体系结构应该根据实际需要进行选择,以解决实际问题。

2).软件包,框架,通信以及其他一些体系机构上的问题,目前存在者多中标准。即使再某一段时间内某一标准占据着统治地位,但变动最终是绝对的。

3).工作中,我们总会遇到一些遗留下的代码,它们仍有效用,但是却与新系统有某种程度上的不协调。然而在很多场合,将技术与经济综合进行考虑时,总是决定不重写它们。

4).在某一单位中,规定了共享共同的软件包或相互关系的一些标准,仍会存在解释或表示习惯上的不同。

负面影响:大多数应用程序只使用10%的代码实现系统的公开功能,剩下90%的代码完成系统管理功能:输入和输出,用户界面,文本编辑,基本图表,标准对话框,通信,数据确认和旁听追踪,特定领域的基本定义等。

6、选择一个你熟悉的大型软件系统,分析其体系结构中用到的风

格,以及表现出的特点(为什么要采用这种风格?带来了哪些优势?具有哪些不足?)。

对社交软件的分析:采用了C/S风格,并且在一定程度上算为三层C/S风格

表示层:社交信息的显示,并提供了更新和搜索等操作

功能层:具有搜索、在线聊天、离线留言、文件传输等等功能

数据层:有数据库服务器提供留言、相册、好友信息等数据

优点:使逻辑结构更为清晰,分类明确,给用户更好的体验

缺点:需要数据通信的支持,对网络的依赖很高,没有网络,许多功能将没有意义。

7、黑板风格和仓库风格之间的区别是什么?

仓库风格的体系结构由两个构件组成:一个是中央数据结构,用于说明当前数据的状态;

一个是一组对中央数据进行操作的独立构件。对于系统中数据和状态的控制方法有两种:一个是传统的方法——由输人事务选择进行何种处理,并把执行结果作为当前状态存储到中央数据结构中,这时,仓库是一个传统的数据库体系结构;另一种方法——由中央数据结构的当前状态决定进行何种处理。这时,仓库是一个黑板体系结构,即黑板体系结构是仓库体系结构的特殊化。

8、研究项目:著名的体系结构风格有多少种?利用图书馆和

Internet做一些调查,然后给出一个数量。

最为常用的软件体系结构风格,总共有五种,分别是:

数据流风格【Data Flow Style】

调用/返回风格的体系结构【Call-and-Return Style】

虚拟机风格的体系结构【Virtual Machine Style】

独立组件风格的体系结构【Independent Components Style】

仓库风格的体系结构【Data Centered (Repositories) Style】

第四章软件体系结构描述

1、体系结构描述有哪些方法?有哪些标准和规范?

传统软件体系结构描述方法:

1、图形表达工具

对于软件体系结构的描述和表达,一种简洁易懂且使用广泛的方法是采用由矩形框和有向线段组合而成的图形表达工具。在这种方法中,矩形框代表抽象构件,框内标注的文字为抽象构件的名称,有向线段代表辅助各构件进行通讯、控制或关联的连接件。

目前,这种图形表达工具在软件设计中占据着主导地位。尽管由于在术语和表达语义上存在着一些不规范和不精确,而使得以矩形框与线段为基础的传统图形表达方法在不同系统和不同文档之间有着许多不一致甚至矛盾,但该方法仍然以其简洁易用的特点在实际的设计和开发工作中被广泛使用,并为工作人员传递了大量重要的体系结构思想。

为了克服传统图形表达方法中所缺乏的语义特征,有关研究人员试图通过增加含有语义的图元素的方式来开发图文法理论。

2、模块内连接语言

软件体系结构的第二种描述和表达方法是采用将一种或几种传统程序设计语言的模块连接起来的模块内连接语言MIL(Module Interconnection Language)。由于程序设计语言和模块内连接语言具有严格的语义基础,因此他们能支持对较大的软件单元进行描述,诸如定义/使用和扇入/扇出等操作。

MIL方式对模块化的程序设计和分段编译等程序设计与开发技术确实发挥了很大的作用。但是由于这些语言处理和描述的软件设计开发层次过于依赖程序设计语言,因此限制了他们处理和描述比程序设计语言元素更为抽象的高层次软件体系结构元素的能力

2、体系结构描述语言与程序设计语言有什么区别?

ADL与其他的语言比较具有以下能力:(1)构造能力:ADL能够使用较小的独立体系结构元素来建造大型软件系统;(2)抽象能力:ADL使得软件体系结构中的构件和连接件描述可以只关注他们的抽象特性,而不管其具体的实现细节;(3)重用能力:ADL使得组成软件系统的构件,连接件甚至是软件体系结构都成为软件系统开发和设计的可重用部件;(4)组合能力:ADL使得其描述的每一系统元素都有其自己的布局结构,这种描述布局结构的特点使得ADL支持软件系统的动态变化组合;(5)异构能力:ADl允许多个不同的体系结构描述关联存在;(6)分析和推理能力:ADL允许对其描述的体系结构进行多种不同的性能和功能上的多种推理分析。ADL与需求语言的区别在于后者描述的是问题空间,而前者描述的是接空间。ADL与建模语言的区别在于后者对整体行为的关注要大于部分的关注,而ADl集中在构建的表示上。

3、典型的软件体系结构描述语言包括哪些?它们分别需要描述

体系结构中哪些基本元素?

主要有五种ADL:UniCon,Darwin,C2 SADL,Acme和xADL.

Rapide:一种事件驱动的ADL,它以体系结构定义作为开发框架,支持基于构件的开发.该语言提供了建模,分析,仿真和代码生成的能力,但是没有将连接子显式地表示为一阶实体.

Wright:其主要特点是将CSP用于软件体系结构的描述,从而完成对体系结构描述的某些形式化推理(包括相容性检查和死锁检查等).但它仅仅是一个设计规约语言,只能用于描述,无法支持系统生成,同时CSP的使用也是比较困难的事情.

Acme:支持ADL之间的映射及工具集成的体系结构互交换语言.其目标是作为体系结构设计的一个共同的互交换格式,以便将现有的各种ADL在这个框架下统一起来;而它本身也可以看作是一种ADL.

xArch:一种基于XML的ADL.它使用XML定义了描述体系结构的核心元素,可以用来简单的描述软件体系结构,也可以作为设计其它ADL的基础,或者用作体系结构描述描述语言的互交换机制。

xADL2.0:以xArch 为基础的基于XML 的ADL。除了xArch 的核心元素,xADL2.0 还提供了对系统运行时刻和设计时刻的元素的建模支持,类似版本,选项和变量等更高级的配置管理观念,以及对产品家族的体系结构的建模支持.此外,xADL2.0还利用XML 的可扩展性简化了新的ADL的设计及其相应工具的开发过程。

4、对一个你熟悉的软件系统,如果要使用ADL对其体系结构进行描述,你会选择哪一种?为什么?这样选择的优点和缺点各有哪些?

我会选择Acme。下面介绍原因:

Acme是CMU的Acme项目的产物.该项目始于1995年,目的是为了研究一个公共的语言,使之能在不同的体系结构设计工具之间作为体系结构描述信息互换的桥梁.目前Acme及其开发工具包AcmeLib提供了一个通用的,可扩展的基础框架用于描述,表示,生成以及分析系统的软件体系结构.而作为桥梁作用的Acme,由于必须具备大多数ADL共有的概念,因此它本身也是一个ADL,并且是一个相对而言比较简单的通用的ADL.Acme的建模元素和特点Acme的主要特点表现为:

采用七个基本的体系结构设计元素作为体系结构的本体(architectural ontology),

采用灵活的标注机制支持使用外部语言定义的非结构化信息,使用类型机制对常见的可复用的软件体系结构俗语和风格进行抽象描述使用开放的语义框架对体系结构描述进行推理Acme的设计元素Acme的设计元素,以下对Acme所采用的设计元素进行简要介绍.这七个设计元素是:

构件(components):系统中的计算元素和数据存储.直观的说,就是线框图中的框.典型的构件有:客户端,服务器,数据库,黑板,过滤器等.

连接子(connectors):构件之间的交互.直观的说,就是线框图中的线.典型的连接子有:过程调用,事件广播,客户和服务器之间的协议等.

系统(systems):构件和连接子的配置.

端口(ports):构件通过端口与外界发生交互.一个构件可以有多个不同类型的端口,每个端口都是一个接口的集合,例如一系列需要以特定顺序调用的过程.

角色(roles):连接子通过角色与外界发生交互.角色定义了构件之间交互的参与者.

表示(representations):构件或者连接子内部结构的描述.通过"表示"这个概念,系统的体系结构就具有了层次结构.同时,"表示"这个概念可以用于描述体系结构实体的多个视图(但是Acme本身并不处理视图之间的对应关系)。

映射(rep-maps):将构件或者连接子的内部"表示"与外部接口进行映射.简单的客户端-服务器系统

以下是一个简单的客户端-服务器系统的Acme描述:

Acme本质上是一些ADL的建模元素的"最大公约数",因此它能作为不同ADL及其支撑工具之间用于信息交换的语言.这是Acme的最大作用,当然这也使得它只能成为一个建模能力一般的ADL,例如Acme中就没有相应的机制用于对构件或者系统行为进行描述或者规约.相关研究者正在考虑在Acme中引入类似于Wright中使用的CSP的形式化语言来解决这个问题.当然,作为一个通用的交换语言,Acme的能力及其可扩展性也不是无限的.例如Acme的扩展仅限于在七个基本设计元素的基础上进行,并且Acme中缺乏用于描述属性及其数据格式的元语言.无论如何,Acme是第一个ADL之间的互交换语言,它的出现使得不同的ADL支持工具之间有可能进行体系结构描述信息的交流.

5、选择一个规模适中的系统,使用UML为其建模。

为一个网上购物系统利用UML为其建模,如下:

统一开发过程RUP把整个软件开发过程分为初始、细化、构造、交付四个阶段,具有用例驱动、以架构为中心、迭代和增量的特点。同其它软件开发方法相比较,RUP具有自身独特的优势,为软件开发提供了重要的方法论指导根据对网上购物系统的体系结构及建模分析,采用UML作为建模语言,结合RUP的基本开发过程,提出适合网上购物系统开发的建模过程。该过程遵循了RUP四个阶段的理论,主要是对初始和细化两个阶段进行了详细的分析。整个过程包括业务建模、需求建模、对象建模、数据库建模和物理建模等五个步骤,每个步骤都会生成一定的系统模型,并用相应的UML图来描述这些模型。在建模过程中,论文采用了RUP中迭代增量式的开发思想,把系统的建模进一步分解为迭代,一个迭代是一个从系统的业务建模到物理建模的完整过程,每一个迭代都会产生一个模型版本,是最终模型的一个子集,它增量式地发展,从一个迭代过程到另一个迭代过程,直到成为系统的最终模型。

1 业务建模

业务建模用于对网上购物系统环境的业务过程进行建模。系统分析人员通过网上购物系统的业务建模能够了解系统所处的环境和业务过程,业务建模能够将这些信息进行体现,并表现环境中存在或可以觉察到的过程,从而详细说明网上购物系统所要支持的业务过程。业务建模既确定了业务过程涉及到的业务对象和领域对象,又确定了每个业务过程所需要的资源和能力,包括人员、每个人员的职责和执行的操作、过程的执行方式和协作等。这些信息对于下一步的需求建模是非常重要和有用的。

业务建模一般通过业务过程图来进行描述。业务过程图是对事件逻辑的归类,这些事件被认为是业务的基本元素。其目的是将整个业务领域作为一个过程集进行描述,而不关心过程的次序或单个过程之间的交互作用。业务过程图不必严格精密,它应该全面而不是精确。重要的是,通过查看业务过程图,系统分析人员、设计人员、开发人员和用户能够迅速获得关于业务范围和活动的总体印象。

2 需求建模

需求建模的主要工作是获得系统的需求,建立待开发系统的模型。而用例则有助于更好地了解系统需求并以规范化的格式进行描述。需求建模就是要以用例的方式来描述系统的功能,其主要工作成果是用例模型。采用用例模型来描述进行需求建模的主要过程如下:(1)确定所要开发系统的参与者,参与者可以是人,也可以是与系统交互的外

软件工程期末复习题参考答案

软件工程期末复习题 选择题 1.软件设计中划分模块的一个准则是(C)。 A低内聚低耦合 B低内聚高耦合 C高内聚低耦合 D.高内聚高耦合 2.(A)是用户和设计交换最频繁的方法。 A、原型化方法 B、瀑布模型法 C、螺旋模型方法 D、构件组装模型 3.试判断下列叙述中,哪个些是正确的(C)。 a、软件系统中所有的信息流都可以认为是事务流 b、软件系统中所有的信息流都可以认为是变换流 c、事务分析和变换分析的设计步骤是基本相似的 A、a B、b C、c D、b和c 4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C) A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、开发人员的素质 5.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言(D) A、PASCAL B、VISUAL BASIC C、C++

D、汇编语言 6.软件测试的目的是?(D) A.软件的正确性 B.找出软件系统中存在的所有错误 C.证明软件系统中存在错误 D.尽可能多的发现软件系统中的错误 7.使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。 A、程序的内部逻辑 B、程序的复杂程度 C、该软件的编辑人员 D、程序的功能 8.软件维护工作的最主要部分是(C)。 A、纠正性维护 B、适应性维护 C、完善性维护 D、预防性维护 9.PDL是(B)语言。 A.高级程序设计语言 B、伪码式 C、中级程序设计语言 D、低级程序设计语言 10.软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立(C)。 A、软件结构 B、软件过程 C、软件模型 D、软件模块 11.在数据流图中,○(椭圆)代表(B) A、数据流 B、转换 C、数据源 D、外部实体

计算机系统结构三四章作业及答案

3.1 简述流水线技术的特点。(1) 流水线把一个处理过程分解为若干个子过程,每个子过程由一个专门的功能部件来实现。因此,流水线实际上是把一个大的处理功能部件分解为多个独立的功能部件,并依靠它们的并行工作来提高吞吐率。(2) 流水线中各段的时间应尽可能相等,否则将引起流水线堵塞和断流。(3) 流水线每一个功能部件的前面都要有一个缓冲寄存器,称为流水寄存器。(4) 流水技术适合于大量重复的时序过程,只有在输入端不断地提供任务,才能充分发挥流水线的效率。(5) 流水线需要有通过时间和排空时间。在这两个时间段中,流水线都不是满负荷工作。 3.2 解决流水线瓶颈问题有哪两种常用方法?答:细分瓶颈段与重复设置瓶颈段 3.3 有一条指令流水线如下所示: (1 用两给出条指 (1) (24? 变八级流水线(细分) ? 重复设置部件 )(ns 85 1 T n TP 1pipeline -== 3.4 有一个流水线由4段组成,其中每当流过第三段时,总要在该段循环一次,然后才能流到第4段。如果每段经过一次所需的时间都是△t ,问: (1)当在流水线的输入端连续地每△t 时间输入一个任务时,该流水线会发生什么情况? (2)此流水线的最大吞吐率为多少?如果每2△t 输入一个任务,连续处理10个任务时,其实际吞吐率和效率是多少? (3)当每段时间不变时,如何提高流水线的吞吐率?人连续处理10个任务时,其吞吐率提高多少? 解:(1)会发生流水线阻塞情况。

(2) (3)重复设置部件 吞吐率提高倍数= t t ??2310 75 =1.64 3.5 有一条动态多功能流水线由5段组成,加法用1、3、4、5段,乘法用1、2、5段,第2段的时间为2△t ,其余各段的时间均为△t ,而且流水线的输出可以直接返回输入端或暂存于相应的流水线寄存器中。现在该流水线上计算 ∏=+4 1 )(i i i B A ,画出时空图,并计算其吞吐率、加速比和效率。 +B 4;再计算由图可见,它在18个△t 时间中,给出了7个结果。所以吞吐率为: 如果不用流水线,由于一次求积需3△t ,一次求和需5△t ,则产生上述7个结果共需(4×5+3×3)△t =29△t 。所以加速比为: 该流水线的效率可由阴影区的面积和5个段总时空区的面积的比值求得: 3.6 在一个5段流水线处理机上,各段执行时间均为△t,需经9△t 才能完成一个任务,其预约表如下所示。 段23 时间 入 A 1 B 1 A 2 B 2 A 3 B 3 A 4 B 4 A B C D A × B C ×D

计算机体系结构期末复习

计算机体系结构期末复习资料 1.并行性:是指在同一时刻或者是同一时间间隔内完成两种或两种以上性质相同或不同的工作。 2.CPI:每条指令执行时所花费的平均时钟周期。 3.体系结构:即计算机的属性,即概念性结构与功能特性。 4.Amdahl定理:加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。 5.信息存储的整数边界:信息在主存中存放的起始地址必须是该信息(字节数)的整数倍。 6.指令系统的正交性:指在指令中各个不同含义的字段,在编码时应互不相关,相互独立。 7.流水线技术:是指将一个重复的时序过程,分解成为若干子过程,而每个过程都可有效在其专用功能段上与其他子过程同时执行。 8.定向技术:在某条指令产生一个结果之前,其他指令并不直接需要该计算结果,如果能将该计算结果从其他产生的地方直接送到其他指令需要它的地方,那么就可以避免暂停的技术就叫定向技术。 9.相关:衡量两个随机变量之间相关程度的指标。 10.向量流水处理机:是指处理机具有向量数据表示并通过向量指令对向量的各元素进行处理。、

11.定向:将计算结果从其产生的地方直接送到其他指令需要它的地方,或所有需要它的功能单元,避免暂停。 12.指令集的并行:当指令之间不存在相关时,它们在流水线中是可以重叠起来并行执行。 13.记分牌技术:流出和读操作数。在没有结构冲突时,尽可能早地执行没有数据冲突的指令,实现每个时钟周期执行一条指令。如果某条指令被暂停,而后面的指令与流水线中正在执行或被暂停的指令都不相关,是这些指令可以跨越它,继续流出和执行下去。 14.Tomasulo算法:寄存器换名是通过保留站和流出逻辑来共同完成,当指令流出时,如果其操作数还没有计算出来,则该指令中相应的寄存器换名将产生这个操作数的保留站的标识。因此,指令流出到保留站后,其操作数寄存器或者换成了数据本身,或换成了保留站的标识,和寄存器无关。后面指令对该寄存器的写入操作就不会产生WAR冲突。 15.替换算法:由于主存中的块比Cache中的块多,所以当要从主存中调一个块到Cache中时,会出现该块所映象到的一组(或一个)Cache块已全部被占用的情况。这时,需要被迫腾出其中的某一块,以接纳新调入的块。

体系结构大作业

软件体系结构课程大作业 1. 常规作业 Course Project: Tool Warehouse System 1.1 项目背景 FastRepair?是一家大型的跨国机械电子修理公司,建立于1980年。公司总部位于美国印第安纳州,印第安纳波利斯。目前公司总部有超过10000人的全职雇员。该公司拥有8家较小的子公司,位于整个美国境内,每个子公司的全职员工人数在3000到9000之间。 FastRepair 的业务主要涉及四个领域:大型建筑设备修理(Construction Device Repair)、汽车修理(Automobile Repair)、家电修理(Appliance Repair)和计算机修理(Computer Repair),相应的划分为四个大的部门(Department)。每个公司的员工(Employee)都根据自己的专业特长隶属于一个部门。然而,一些具有跨行业技能的高级员工(Specialist)独立于任何部门,他们平时会做一些与自己专业相关的工作,在遇到紧急情况或特殊项目时,需要立即被分配到这些项目上去。 公司的每一个员工都有两类工具(Tool),每类工具有50-100件左右。第一类工具放入员工工具箱中的一组常用廉价工具(Inexpensive Tool),另外一类是

一些贵重的工具(Expensive Tool )。对于工具箱中的廉价工具,员工在领取时需要进行登记(Register ),自行保管,但在损坏时需要进行注销(Cancellation )。而对于贵重工具(>200$的工具),必须通过工具仓库管理系统进行统一管理。在使用时需要办理租借(Lend )手续。需要注意的是,对于一般员工,只能借与自己专长相关的工具(也就是本部门内的工具),而对于专家,则可以借所有类型的工具。 由于工具种类庞杂,数量巨大;某些工具重量也很大;且分布在不同的地理位置。FastRepair 决定开发一套工具仓库管理系统(Tool Warehouse System TWS )。 TWS 主要分为两个部分,第一部分是员工与工具信息管理系统(Employ and Tool Management System ETMS ),详细记录工具的借、还与工具状态,公司内部员工可以通过本地企业局域网(Intranet )查询自己工具的借还情况,并发出对贵重工具的请求。对于本地没有的特殊工具,员工可以使用ETMS 通过互联网(Internet )在总公司或各个子公司的仓库中查找特定工具,并发出借用该工具的请求。 第二部分是一个仓库的实时管理系统(Warehouse Management System WMS ),位于总公司和每个子公司的工具仓库,在提取具体工具时,用户需要到具体的工具仓库进行工具的提取(也可以在工具仓库现场借工具),某个仓库的工具借用过程的示意图如下所示: 12. 验有效传送带 工具货柜 工具货柜工具货柜admin 抓将工具放置到传送带上 FastRepair 对WMS 的具体要求如下所示: 仓库的实时管理系统中存在多个工具抓取机器人,每个机器人都可从货柜上获取工具并将其放在工具传送带上,工具传送带装置根据重量传感器得知是否有工具在传送带上,并将工具传送到出口处。 用户在仓库的出口处向仓库管理员提交工具租借请求,由管理员将该请求输入仓库控制电脑,电脑将控制仓库中的机器人抓取相应的工具并将其放到工具传

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

《软件体系结构》期末复习题 简答题: 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、试述RISC设计的基本原则和采用的技术。 答:一般原则: (1)确定指令系统时,只选择使用频度很高的指令及少量有效支持操作系统,高级语言及其它功能 的指令,大大减少指令条数,一般使之不超过100条; (2)减少寻址方式种类,一般不超过两种; (3)让所有指令在一个机器周期内完成; (4)扩大通用寄存器个数,一般不少于32个,尽量减少访存次数; (5)大多数指令用硬联实现,少数用微程序实现; (6)优化编译程序,简单有效地支持高级语言实现。

基本技术: (1)按RISC一般原则设计,即确定指令系统时,选最常用基本指令,附以少数对操作系统等支持最有用的指令,使指令精简。编码规整,寻址方式种类减少到1、2种。 (2)逻辑实现用硬联和微程序相结合。即大多数简单指令用硬联方式实现,功能复杂的指令用微程序实现。 (3)用重叠寄存器窗口。即:为了减少访存,减化寻址方式和指令格式,简有效地支持高级语言中的过程调用,在RISC机器中设有大量寄存嚣,井让各过程的寄存器窗口部分重叠。 (4)用流水和延迟转移实现指令,即可让本条指令执行与下条指令预取在时间上重叠。另外,将转移指令与其前面的一条指令对换位置,让成功转移总是在紧跟的指令执行之后发生,使预取指令不作废,节省一个机器周期。 (5)优化设计编译系统。即尽力优化寄存器分配,减少访存次数。不仅要利用常规手段优化编译,还可调整指令执行顺序,以尽量减少机器周期等。 3、试述全相联映像与直接映像的含义及区别 (1)全相连映像 主存中任何一个块均可以映像装入到Cache中的任何一个块的位置上。主存地址分为块号和块内地址两部分,Cache地址也分为块号和块内地址。Cache的块内地址部分直接取自主存地址的块内地址段。主存块号和Cache块号不相同,Cache块号根据主存块号从块表中查找。Cache保存的各数据块互不相关,Cache必须对每个块和块自身的地址加以存储。当请求数据时,Cache控制器要把请求地址同所有的地址加以比较,进行确认。 (2)直接映像 把主存分成若干区,每区与Cache大小相同。区内分块,主存每个区中块的大小和Cache 中块的大小相等,主存中每个区包含的块的个数与Cache中块的个数相等。任意一个主存块只能映像到Cache中唯一指定的块中,即相同块号的位置。主存地址分为三部分:区号、块号和块内地址,Cache地址分为:块号和块内地址。直接映像方式下,数据块只能映像到Cache中唯一指定的位置,故不存在替换算法的问题。它不同于全相连Cache,地址仅需比较一次。 (3)区别: 全相连映像比较灵活,块冲突率低,只有在Cache中的块全部装满后才会出现冲突,Cache 利用率高。但地址变换机构复杂,地址变换速度慢,成本高。 直接映像的地址变换简单、速度快,可直接由主存地址提取出Cache地址。但不灵活,块冲突率较高,Cache空间得不到充分利用。 4. 画出冯?诺依曼机的结构组成?

系统结构期末考试试题及答案

得分 评分人 填空题: (20分,每题2 分) 单选题:(10分,每题1分) A.任何虚页都可装入主存中任何实页的位置 B. 一个虚页只装进固定的主存实页位置 《计算机系统结构》期末考试试卷(A ) 得分 注:1、共100分,考试时间120分钟。 2、此试卷适用于计算机科学与技术本科专业。 1、."启动I/O"指令是主要的输入输出指令,是属于( A. 目态指令 B.管态指令 C.目态、管态都能用的指令 D.编译程序只能用的指令 2、 输入输出系统硬件的功能对 (B )是透明的 A.操作系统程序员 B.应用程序员 C.系统结构设计人员 D.机器语言程序设计员 3、 全相联地址映象是指(A ) C. 组之间固定,组内任何虚页可装入任何实页位置 D.组间可任意装入,组内是固定装入 4、( C ) 属于MIMD 系统结构 A.各处理单元同时受一个控制单元的管理 B.各处理单元同时受同个控制单元送来的指令 C.松耦合多处理机和多计算机系统 D. 阵列处理机 5、多处理机上两个程序段之间若有先写后读的数据相关,则( B ) A.可以并行执行 B.不可能并行 C.任何情况均可交换串行 D.必须并行执行 6、 计算机使用的语言是(B ) A.专属软件范畴,与计算机体系结构无关 B.分属于计算机系统各个层次 C.属于用以建立一个用户的应用环境 D. 属于符号化的机器指令 7、 指令执行结果出现异常引起的中断是( C ) A.输入/输出中断 B.机器校验中断 C.程序性中断 D.外部中断 &块冲突概率最高的 Cache 地址映象方式是(A ) A.直接 B .组相联 C .段相联 D .全相联 9、 组相联映象、LRU 替换的Cache 存储器,不影响 Cache 命中率的是(B ) A.增大块的大小 B .增大主存容量 C .增大组的大小 D .增加Cache 中的块数 10、 流水处理机对全局性相关的处理不 包括(C ) A.猜测法 B.提前形成条件码 C.加快短循环程序的执行 D.设置相关专用通路

《软件工程导论》课程大作业-题目及要求

《软件工程专业导论与职业生涯规划》具体要求 一、大作业题目(注:每个小组完成一个题目) 1、计算机系统软件是什么?具体的系统软件有哪些?它们的特点、作用、地位是什么?就其中的2~3个具体的系统软件进行较为详细的阐述。 2、计算机应用软件是什么?具体的应用软件有哪些?它们的特点、作用、地位是什么?就其中的2~3个具体的应用软件进行较为详细的阐述。 3、阐述计算机软件的发展历程,对比分析各阶段的特征、理论体系、优势与不足。 4、软件危机是什么?列举2~3个具体的软件危机案例。导致软件危机爆发的原因有哪些?简单阐述现阶段软件危机的具体表现。 5、陈述“软件工程”概念提出的历史背景,包括发生的时间、地点、人物、事件等。“软件工程”的定义自提出以来,有多种说法。请尽可能罗列各种说法,并对其中的2~3个说法进行评述。软件工程的七条基本原理是哪些?分别对每条原理进行较为详细的阐述。 6、软件工程的目标是什么?十个性能是哪些?分别对每个性能进行较为详细的阐述。 7、软件工程研究的主要内容包括哪两个方面?分别对每个方面进行较为详细的阐述。 8、软件开发过程必须遵循的软件工程原则有哪些?分别对每个原则进行较为详细的阐述。 9、软件工程的过程包括哪些?分别对每个过程进行较为详细的阐述。 10、软件生命周期的概念是什么?软件生命周期的划分有哪些阶段?分别对每个阶段进行较为详细的阐述。 11、软件生命周期模型的概念是什么?有哪些比较流行的模型?对其中的瀑布模型和原型模型进行较为详细的阐述及对比分析,并各举例说明。 12、软件生命周期模型的概念是什么?有哪些比较流行的模型?对其中的演化模型和喷泉进行较为详细的阐述及对比分析,并各举例说明。 13、软件生命周期模型的概念是什么?有哪些比较流行的模型?对其中的基于知识的模型和基于构件的模型进行较为详细的阐述及对比分析,并各举例说明。 14、软件生命周期模型的概念是什么?有哪些比较流行的模型?对其中的变换模型和双赢螺旋模型进行较为详细的阐述及对比分析,并各举例说明。 15、软件工程的四要素是哪些?分别对每个要素进行较为详细的阐述。中国制定

计算机体系结构期末考试试题及答案

填空题 1.从2002年以来,计算机性能的年增长率下降到了约30%。其主要原因是:①大功耗问题;②可以进一 步有效地开发的指令级并行性已经很少;③存储器访问速度的提高缓慢。 2. 可移植性是指一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上运行。实现可移植性的常用方法有3种:系列机,模拟和仿真,统一高级语言。 2.通用寄存器型指令集结构计算机在灵活性和提高性能方面有明显的优势。主要体现在①寄存器的访问 速度比存储器快;②对编译器而言,能更加容易有效地分配和使用寄存器;③寄存器可以用来存放变量。 3.MIPS的数据寻址方式只有立即数寻址和偏移量寻址。 4.向量处理机的结构由所采用的向量处理方式决定。有两种典型的结构;存储器-存储器型结构和寄存器- 寄存器型结构。 5.Cache-主存层次的工作由硬件实现,对系统程序员是透明的。 6.降低Cache不命中率最直接的方法是增加Cache的容量。不过,这种方法不但会增加成本,而且还可 能增加命中时间,这种方法在片外Cache中用得比较多。 7.大多数磁盘阵列的组成可以由以下两个特征来区分:数据交叉存放的粒度、冗余数据的计算方法以及在 磁盘阵列中的存放方式。 8.时延和带宽是用来评估互连网络性能的两个基本指标。时延包括通信时延和网络时延。 9.计算机系统可分为SISD、SIMD、MISD和MIMD四类,许多早期并行处理机是SIMD计算机,近年 来,MIMD已经成为通用多处理机系统结构的选择。这是因为MIMD具有灵活性,并且MIMD能充分利用现有微处理器的性价比优势。 判断题 1.从计算机语言的角度,系统结构把计算机系统按功能划分成多级层次结构,其中,第2级是操作系统虚 拟机,第3级是汇编语言虚拟机。(错)

高级计算机体系结构作业汇总(非标准答案)

1.Explain the Concepts Computer Architecture 系统结构 由程序设计者所看到的一个计算机系统的属性。即计算机系统的软硬件界面。 Advanced CA 高级系统结构 新型计算机系统结构。基于串行计算机结构,研究多指令多数据计算机系统,具有并发、可扩展和可编程性。为非冯式系统结构。 Amdahl law Amdahl定律 系统中某部件由于采用某种方式时系统性能改进后,整个系统性能的提高与该方式的使用频率或占的执行时间的比例有关。 SCALAR PROCESSING 标量处理机 在同一时间内只处理一条数据。 LOOK-AHEAD 先行技术 通过缓冲技术和预处理技术,解决存储器冲突,使运算器能够专心与数据的运算,从而大幅提高程序的执行速度。 PVP 向量型并行计算处理机 以流水线结构为主的并行处理器。 SMP 对称多处理机系统 任意处理器可直接访问任意内存地址,使用共享存储器,访问延迟、带宽、机率都是等价的。MPP 大规模并行计算机系统 物理和逻辑上均是分布内存,能扩展至成百上千处理器,采用专门设计和定制的高通信带宽和低延迟的互联网络。 DSM 分布式共享存储系统 内存模块物理上局部于各个处理器内部,但逻辑上是共享存储的。 COW 机群系统 每个节点都是一个完整的计算机,各个节点通过高性能网络相互连接,网络接口和I/O总线松耦合连接,每个节点有完整的操作系统。 GCE 网格计算环境 利用互联网上的计算机的处理器闲置处理能力来解决大型计算问题的一种科学计算。 CISC 复杂指令集计算机

通过设置一些复杂的指令,把一些原来由软件实现的常用功能改用硬件实现的指令系统实现,以此来提高计算机的执行速度。 RISC 精简指令集计算机 尽量简化计算机指令功能,只保留那些功能简单,能在一个节拍内执行完的指令,而把复杂指令用段子程序来实现。 VMM 虚拟机监视器 作为软硬件的中间层,在应用和操作系统所见的执行环境之间。 SUPERCOMPUTER 超级计算机 数百数千甚至更多的处理器组成的能计算普通计算机不能完成的大型复杂问题的计算机。SVM 共享虚拟存储器 存储器虚拟化为一个共享的存储器,并提供单一的地址空间。 MAINFRAME 大型计算机 作为大型商业服务器,一般用于大型事务处理系统,特别是过去完成的且不值得重新编写的数据库应用系统方面。 COMPUTER SYSTEM ON CHIP 片上计算机系统 在单个芯片上集成的一个完整系统。 PARALLEL ARCHITECTURE INTO SINGLE CHIP 单片并行结构 在单个芯片上采用的并行体系结构 MOORE law Moore定律 当价格不变时,集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,性能也将提升一倍。 UMA 一致存储访问 采用集中式存储的模式,提供均匀的存储访问。 NUMA 非一致存储访问 内存模块局部在各个结点内部,所有局部内存模块构成并行机的全局内存模块。 COMA 全高速缓存存储访问 采用分布式存储模式,通过高速缓存提供快速存储访问。 CC-NUMA 全高速缓存非一致性均匀访问 存在专用硬件设备保证在任意时刻,各结点Cache中数据与全局内存数据的一致性。NORMA 非远程存储访问

计算机系统结构期末考试题目

第一章: 1.计算机系统结构的定义 答:由程序设计者看到的一个计算机系统的属性,即概念性结构和功能特性。 2.透明性概念 答:在计算机技术中,一种本来是存在的事物或属性,但从某种角度看似乎不存在,称为透明性现象。 3.兼容性向后兼容 兼容性:同一个软件可以不加修改地运行于系统结构相同的各档机器,可获得相同的结果,差别只在于不同的运行时间。 向后兼容:按某个时期投入市场的某种型号机器编制的程序,不加修改就能运行于在它之后投入市场的机器。 4.Amdahl定律 答:系统中某一部件由于采用某种更快的执行方式后整个系统性能的提高与这种执行方式的使用频率或占总执行时间的比例有关。 5.CPI 答:每条指令的平均时钟周期数。 6.MIPS 答:每秒百万条指令数!MIPS=时钟频率/(CPI*10^6) 7.MFLOPS 答:每秒百万次浮点操作次数。MFLOPS=程序中的浮点操作次数/(执行时间*10^6) 8.命中率的概念 答: 9.Flynn分类法是按指令流和数据流的多倍性特征进行计算机系统结构的划分 答:①单指令流单数据流SISD ②单指令流多数据流SIMD ③多指令流单数据流MISD(实际不存在)④多指令流多数据流MIMD 10.计算机系统设计的定量原理(四个) 答:①加快经常性事件的速度②Amdahl定律③CPU性能公式④访问的局部性原理11.CPI和加速比的计算 答:CPI=CPU时钟周期数/IC CPU时间=CPU时钟周期数/频率 CPU时间=CPU时钟周期*时钟周期长 加速比=(采用改进措施后的性能)/(没有采用改进措施前的性能) =(没有采用改进措施前执行某任务的时间)/(采用改进措施后执行某任务的时间) 12.软硬件实现的特点 硬件实现:速度快、成本高;灵活性差、占用内存少 软件实现:速度低、复制费用低;灵活性好、占用内存多 13.系统评价的标准 ①运算速度②存储器系统③其他性能④成本标准

软件设计模式与软件体系结构实验报告

《软件体系结构》大作业(1) 学院:软件学院 课程名称:软件体系结构 专业班级: 学生姓名:学号: 学生姓名:学号: 指导教师: 完成时间:年月日 评分表 1、叙述各小组成员完成本题目的分工协作情况。 小组中的每个成员都先理解题目要求及涉及的设计模式,并一起完成代码编写。另外,组长负责文档制作。 2、评分表 序号姓名评分是否组长 1 2 作业正文需要包括以下内容: 1、作业题目内容的详细描述。 2、完成本题目所采用的软件设计模式名称及画出相应的类图,或者是所采用的 软件体系结构名称及画出相应的体系结构图。

3、画出完成本题目所设计程序的设计类图;如还有其他图,也一并画出。 4、完成本题目所设计的程序代码。 5、程序运行的典型界面截图

1、作业题目内容的详细描述。 【作业2.1-1】例2.3为使用工厂方法模式设计的汽车保险管理应用程序实例。现在需要 扩展例2.3的设计图,添加一个名为LuxuryCarInsurance的类,并且需要编写此类和其他需要添加的类的代码,详细要求参见光盘的相应作业部分。 【作业2.1-1】在例2.4中,设计并且实现了豪华(Super)和中等(Medium)别墅(House)与公寓(Condo)的查询。要求在该设计的基础上,增加一个新的类SemiDetacher(半独立式楼宇),并且编写代码,实现相应的查询功能,详细要求参见光盘的相应作业部分。 2、完成本题目所采用的软件设计模式名称及画出相应的类图,或者是所采用的软件体系结构名称及画出相应的体系结构图。 【作业2.1-1】采用的是工厂方法模式 【作业2.1-2】采用的是抽象方法模式

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

软件体系结构-设计模式练习题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. 装饰模式

计算机体系结构习题答案解析

第1章计算机系统结构的基本概念 1.1 解释下列术语 层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。 虚拟机:用软件实现的机器。 翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。 解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。 计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。 透明性:在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。 计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。 计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。 系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。 Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。 程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。包括时间局部性和空间局部性。 CPI:每条指令执行的平均时钟周期数。 测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。 存储程序计算机:冯·诺依曼结构计算机。其基本点是指令驱动。程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。 系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。 软件兼容:一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上运行。差别只是执行时间的不同。 向上(下)兼容:按某档计算机编制的程序,不加修改就能运行于比它高(低)档的计算机。 向后(前)兼容:按某个时期投入市场的某种型号计算机编制的程序,不加修改地就能

2020.4《计算机体系结构》期末试卷A含答案

《计算机体系结构》期末考试A卷 (总分:100分,时间:100分钟) 姓名:周元华 专业:计算机科学与技术 学号: 18260070164016 学习中心:上海弘成 一、填空题(每空1分,共14分) 1.高速缓冲存储器的地址映象方式有三种,它们分别是:全向量方式,直接相联方式,组相连方式。 2.虚拟存储器的三种管理方式是段式管理,页式管理和 段页式管理。 3.从主存的角度来看,“Cache—主存”层次的目的是为了提高速度,而“主存—辅存”层次的目的是为了扩大容量 4.根据指令间的对同一寄存器读和写操作的先后次序关系,数据相关冲突可分为读与写(RAM)、写与读(WAR)和写与写(WAW)三种类型。 5.当代计算机体系结构的概念包括指令集结构、计算机组成和计算机实现三个方面的内容 二、名词解释(每题2分,共16分) 计算机体系结构: 计算机体系结构是指根据属性和功能不同而划分的计算机理论组成部分及计算机基本工作原理、理论的总称。其中计算机理论组成部分并不单与某一个实际硬件相挂钩,如存储部分就包括寄存器、内存、硬盘等。 兼容机: 兼容机,就是由不同公司厂家生产的具有相同系统结构的计算机。简单点说,就是非厂家原装,而改由个体装配而成的机器,其中的元件可以是同一厂家出品,但更多的是整合各家之长的 计算机。 写直达法: 写直达法一般指全写法。全写法(write-through):又称写直达法、写穿法,透写法,Cache使 用方式之一。 高速缓冲存储器: 高速缓冲存储器(Cache)其原始意义是指存取速度比一般随机存取记忆体(RAM)来得快 的一种RAM,一般而言它不像系统主记忆体那样使用DRAM技术,而使用昂贵但较快速的SRAM 技术,也有快取记忆体的名称。 高速缓冲存储器是存在于主存与CPU之间的一级存储器,由静态存储芯片(SRAM)组成, 容量比较小但速度比主存高得多,接近于CPU的速度。在计算机存储系统的层次结构中,是介 于中央处理器和主存储器之间的高速小容量存储器。它和主存储器一起构成一级的存储器。高速 缓冲存储器和主存储器之间信息的调度和传送是由硬件自动进行的。 高速缓冲存储器最重要的技术指标是它的命中率。 延迟转移技术: 在转移指令之后插入一条或几条有效的指令。当程序执行时,要等这些插入的指令执行完成 之后,才执行转移指令,因此,转移指令好像被延迟执行了,这种技术称为延迟转移技术。 线性流水线: 线性流水线就是由一整套工艺串联而成的生产线。 流水线又称为装配线,一种工业上的生产方式,指每一个生产单位只专注处理某一个片段的工 作,以提高工作效率及产量;按照流水线的输送方式大体可以分为:皮带流水装配线、板链线、 倍速链、插件线、网带线、悬挂线及滚筒流水线这七类流水线。 输送线的传输方式有同步传输的/(强制式),也可以是非同步传输/(柔性式),根据配置的 选择,可以实现装配和输送的要求。输送线在企业的批量生产中不可或缺。 流水线的吞吐率: 流水线的吞吐率是单位时间内流水线处理的任务数。 并行性: 并行性是指计算机系统具有可以同时进行运算或操作的特性,在同一时间完成两种或两种以 上工作。它包括同时性与并发性两种含义。同时性指两个或两个以上事件在同一时刻发生。并发 性指两个或两个以上事件在同一时间间隔发生。 三、简答题(每题5分,共30分) 1.如有一个经解释实现的计算机,可以按功能划分成4级。每一 级为了执行一条指令需要下一级的N条指令解释。若执行第一 级的一条指令需K(ns)时间,那么执行第2、3、4级的一条指 令各需要用多少时间(ns)? 答:第1级:1条1级指令 K ns 第2级:1条2级指令N条1级指令 1*N*K ns = NK ns 第3级:1条3级指令N条2级指令 1*N*NK ns =N2K ns 第4级:1条4级指令N条3级指令 1*N*NNK ns =N3K ns 2.根据Amdahl定律,系统加速比由哪两个因素决定? 答:系统加速比依赖于两个因素: (1)可改进比例:可改进部分在原系统计算时间中所占的比例 (2)部件加速比:可改进部分改进以后的性能提高 3.简述组相联映象规则。 答:(1)主存与缓存分成相同大小的数据块。(2)主存和Cache 按同样大小划分成组。(3)主存容量 是缓存容量的整数倍,将主存空间按缓冲区的大小分成区,主存中每一区的组数与缓存的组数相同 4.引起Cache与主存内容不一致的原因是什么?为了保持Cache 的一致性,在单计算机系统中一般采取哪些措施? 答:不一致的原因:(1)由于CPU写Cache,没有立即写主存 (2)由于I/O处理机或I/O设备写主存 采取措施: (1)全写法,亦称写直达法(WT法-Write through) 方法:在对Cache进行写操作的同时,也对主存该内容进行写入 (2)写回法(WB法-Write back) 方法:在CPU执行写操作时,只写入Cache,不写入主存。 5.按照同一时间内各段之间的连接方式来分,流水线可分为哪两 类? 答:(1)静态流水线:在同一时间内,流水线的各段只能按同一种功能的连接方式工作。 (2)动态流水线:在同一时间内,当某些段正在实现某种运算时,另一些段却在实现另一种运算。 6.Flynn分类法是根据什么对计算机进行分类的?将计算机分 成哪几类? 答:Flynn分类法,根据计算机中指令和数据的并行状况把计算机分成: (1)单指令流单数据流(SISD.; (2)单指令流多数据流(SIMD.; (3)多指令流单数据流(MISD.; (4)多指令流多数据流(MIMD.。 四、问答与计算题(第1题10分,第2、3题每题15分共40分) 1.一个有快表和慢表的页式虚拟存储器,最多有64个用户,每 个用户最多要用1024个页面,每页4K字节,主存容量8M字节。 (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体系结构的软件,系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。

相关文档
相关文档 最新文档