当前位置:文档之家› 软件体系结构作业

软件体系结构作业

软件体系结构作业
软件体系结构作业

软件体系结构作业

第一章:软件体系结构概论

1、基于构件的软件开发方法能够有效提高开发效率,简述在实际的项目中有哪些方式获得构件、如何管理以及重用构件?

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

在实际项目中获取构件的方式有:(1)从现有的构件中获取符合条件的构件,直接使用或做适应性修改,得到可重用的构建。(2)通过遗留工程,将具有潜在重用价值的构件提取出来,得到可重用的构件。(3)从市场上购买现成的构件,既COTS构件;(4)开发新的符合条件的构件。

管理构件的方法有:构件分类方法,关键字分类法,刻面分类法,超文本组织法,人员及权限管理。其中关键字分类法和刻面分类法都是以数据库系统作为实现背景。

构件开发的目的是重用,为了让构件在新的软件项目中发挥作用,库的使用者必须完成以下工作:检索与提取构件,理解与评价构件,修改构件,构件组装。其中检索与提取构件的方法有:基于关键字的检索,刻面检索法,超文本检索法,其他检索方法。

2、软件体系结构定义众多,你是如何理解软件体系结构的?软件体系结构在软件系统中有何作用?

答:软件体系结构虽脱胎于软件工程,但其形成同时借鉴了计算机体系结构和网络体系结构中很多宝贵的思想和方法,最近几年软件体系结构研究已完全独立于软件工程的研究,成为计算机科学的一个最新的研究方向和独立学科分支。随着软件系统规模越来越大、越来越复杂,整个系统的结构和规格说明显得越来越重要。对软件体系结构的系统、深入的研究将会成为提高软件生产率和解决软件维护问题的新的最有希望的途径。

软件体系结构研究内容涉及软件体系结构的描述、风格、评估和形式化方法等,根本目的是解决好软件的重用、质量和维护问题。软件体系结构有四个角度,它们从不同方面对系统进行描述:概念角度描述系统的主要构件及它们之间的关系;模块角度包含功能分解与层次结构;运行角度描述了一个系统的动态结构;代码角度描述了各种代码和库函数在开发环境中的组织。

软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。软件体系结构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。

软件体系结构在软件系统中的作用主要体现在:体系结构提供了一种共同语言来表达各种关注和协商,进而对大型复杂系统能进行理智的管理。这对项目最终的质量和使用有极大的影响。体系结构是早期设计决策的体现,软件体系结构制约着系统的质量属性,通过研究软件体系结构可能预测软件的质量,使推理和控制更改更简单,有助于循序渐进的原型设计,是可传递和可重用的模型,软件体系结构级的重用意味着体系结构的决策能在具有相似需求的多个系统中发生影响,这比代码级的重用要有更大的好处。

第三章:软件体系结构风格

1、试分析和比较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)数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理应用。

第四章:软件体系结构描述

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

答:描述方法的种类包括:图形表达工具,模块内连接语言,基于软构件的系统描述语言,软件体系结构描述语言。

其中图形表达工具最简单易懂且使用广泛的方法,是采用矩形框和有向线段组合而成的图形表达工具。矩形框代表抽象构件,框内标注的文字为抽象构件的名称,有向线段代表辅助各构件进行通信、控制或关联的连接件,在软件设计中占据主导地位。

模块内连接语言是采用将一种或几种传统程序设计语言的模块连接起来的模块内连接语言。能支持对较大的软件单元进行描述,诸如定义/使用和扇入/扇出等操作,但是由于这些语言处理和描述的软件设计开发层次过于依赖程序设计语言,因此限制了它们处理和描述比程序设计语言元素更为抽象的高层次软件体系结构元素的能力。

基于软构件的系统描述语言以特定形式相互作用的特殊软件实体构造组成的组织或系统。可以用来在一个较高的抽象层次上对系统的体系结构建模,所面向和针对的系统元素仍然是一些层次较低的以程序设计为基础的通信协作软件实体单元,而且这些语言所描述和表达的系统一般而言都是面向特定应用的特殊系统,这些特性使得基于软构件的系统描述仍然不是十分适合软件体系结构的描述和表达。

软件体系结构描述语言是参照传统程序设计语言的设计和开发经验,重新设计、开发和使用针对软件体系结构特点的专门的软件体系结构描述语言。

(2)软件体系结构的标准和规范主要有:

软件体系结构标准定义了一系列的软件开发边界,而开源软件或软件提供商正是应用这些软件边界来进行软件的开发。例如,我们日常软件开发中所用到的应用服务器、Ajax工具包、数据库或Web服务等等。此外,软件体系结构标准还定义了其它一系列的软件开发边界,而这些软件开发边界主要应用于体系模式或是具体的业务问题的解决,例如B2B(电子商务,Business to business)、商业智能系统等等。同时,这类软件边界还可以用于构建软件的体系基线,如在RUP(Rational Unified Process,统一过程)或是XP(Extreme programming,极限编程)中所应用的那样。在项目管理中,始终都非常关注交付成果(Deliverable)。完成全部交付成果,就意味着覆盖了全部的项目范围,所有的项目活动、项目资源,都是为了有效完成这些交付成果而发生的,交付成果在很大程度上反映了项目目标的要求。通过软件体系标准的建立,可以加速项目交付使用。

当然,并非所有的软件体系结构标准都可以加速软件产品的交付使用周期或是降低产品

的开发费用。一套成熟与实用的标准有它自己的明显特征。

项目专家的建议与意见

软件体系结构标准的第一个特征,就是本标准是否已经得到了组织的IT项目专家的一致讨论与通过,并就相关的内容进行修改与重新制定。只有经过IT项目专家组的一致认可的标准,才可有可能成软件体系结构标准。例如,著名的De facto标准(De facto standard,有译实质标准、业界标准或非官方标准,是指一套技术上或其他方面的规格/标准,而该套规格/标准属于主流而且每个人都习惯依据为法定标准般跟随),可以从已经实现的项目中获得实惠的经验。而通过IT项目专家讨论一致通过的标准则可以应用于组织的其它项目中。

参考模型与实现

通过参考模型及建立的相关成文的文档,可以比较成功的解决产品或项目开发过程的一些实质业务问题。而参考实现由于是对参考模型的具体化,从而可以更加明确的改善项目的开发过程。所以,参考模型与参考实现都将会显著的加速体软件系结构的制定与建设。

支持度模型

支持度模型需要合理的在项目或产品开发过程使用。这通常包括开发、测试及产品环境的平衡等内容。在整个开发环境中,系统应用团队的角色及责任需要很明确的定义。而标准的制定及可操作性支持度模型的确定,通过是一个成熟标准的主要体现。

规划支持

规划支持主要通过采用特殊产品、配置的项目环境、模式等工具,来保证项目的正确实施,尽可能的避免项目失败。

产品实现

产品实现是评估标准成熟度的重要的指标。

而对于缺少如下的一些特征的项目,通过会产生一些项目风险:

没有经过项目专家就评估的标准,通常会以失败或部分的失败而告终;

没有参考模型和参考实现,标准将不能正确的被执行,同时可能增加软件开发的成本;

没有清晰的支持度模型,将会使软件开发人员的角色及责任重复或不清晰;

没有规划支持,则过往项目的经验不充分的加以应用与借鉴;

最后,没有产品实现,则软件产品不能通过实践来进行唯一的检验,不能使软件开发严格的遵循软件开发的生命周期。

根据体系结构标准的成熟度,可以对其进行适度的分类。如下图1所示,标准成熟度金字塔,最顶端的是最成熟的,而最低端的则是最不成熟的。

1)提交:这一级别意味着标准制定中已经考虑了产品、模式或实践等因素。

2)侯选:此级别表明已经通过了IT项目专家的详细审查。

3)推荐:推荐级别已经将参考模型及参考实现配置在合适的位置了。

4)实践:实践级别指已经定义了支持度模型,至少有一种产品实现。

5)最佳实践:有多个产品实现,同时对支持度模型进行重新定义。

软件体系结构总结

第一章:1、软件体系结构的定义 国内普遍看法: 体系结构=构件+连接件+约束 2、软件体系结构涉及哪几种结构: 1、模块结构(Module) 系统如何被构造为一组代码或数据单元的决策 2、构件和连接件结构(Component-And-Connector,C&C) 系统如何被设计为一组具有运行时行为(构件)和交互(连接件)的元素 3、分配结构(Allocation) 展示如何将来自于模块结构或C&C结构的单元映射到非软件结构(硬件、开发组和文件系统) 3、视图视点模型 视点(View point) ISO/IEC 42010:2007 (IEEE-Std-1471-2000)中规定:视点是一个有关单个视图的规格说明。 视图是基于某一视点对整个系统的一种表达。一个视图可由一个或多个架构模型组成 架构模型 架构意义上的图及其文字描述(如软件架构结构图) 视图模型 一个视图是关于整个系统某一方面的表达,一个视图模型则是指一组用来构建 4、软件体系结构核心原模型 1、构件是具有某种功能的可复用的软件结构单元,表示了系统中主要的计算元素和数据存储。 2.连接件(Connector):表示构件之间的交互并实现构件

之间的连接 特性:1)方向性2)角色3)激发性4)响应特征 第二章 1、软件功能需求、质量属性需求、约束分别对软件架构产生的影响 功能性需求:系统必须实现的功能,以及系统在运行时接收外部激励时所做出的行为或响应。 质量属性需求:这些需求对功能或整个产品的质量描述。 约束:一种零度自由的设计决策,如使用特定的编程语言。 质量原意是指好的程度,与目标吻合的程度,在软件工程领域,目标自然就是需求。 对任何系统而言,能按照功能需求正确执行应是对其最基本的要求。 正确性是指软件按照需求正确执行任务的能力,这无疑是第一重要的软件质量属性。质量属性的优劣程度反映了设计是否成功以及软件系统的整体质量。 系统或软件架构的相关视图的集合,这样一组从不同视角表达系统的视图组合在一起构成对系统比较完整的表达

体系结构 习题解答范文

第一章计算机体系结构的基本概念 1.层次结构——计算机系统可以按语言的功能划分为多级层次结构,每一层以不同的语言为 2.计算机体系结构:程序员看到的计算机的属性,即概念性结构和功能特性。 3.实质是计算机系统中软硬件界面的确定。 4.翻译——(基于层次结构)先把N+1级程序全部变换成N级程序之后,再去执行N级程序, 在执行过程中,N+1级程序不再被访问。 5.解释——每当一条N+1级指令被译码后,就直接去执行一串等效的N级指令,然后再去取下 一条N+1级指令,依此重复执行。 6.体系结构——程序员所看到的计算机的属性,即概念性结构与功能特性。主要研究计算机 系统软件和硬件的功能分配以及如何最佳、最合理地实现分配给硬件的功能。 8.透明性——在计算机技术中,对本来存在的事物或属性,从某一角度来看又好像不存在的 概念称为透明性。 9.系列机——在一个厂家生产的具有相同的体系结构,但具有不同的组成和实现的一系列不 同型号的机器。 10.软件兼容——同一个软件可以不加修改地运行于体系结构相同的各档机器上,而且它们所 获得的结果一样,差别只在于运行的时间不同。 11.兼容机——不同厂家生产的、具有相同体系结构的计算机。 12.计算机组成——计算机体系结构的逻辑实现。 13.计算机实现——计算机组成的物理实现。 14.存储程序计算机(冯·诺依曼结构)——采用存储程序原理,将程序和数据存放在同一存 储器中。指令在存储器中按其执行顺序存储,由指令计数器指明每条指令所在的单元地址。 15.并行性——在同一时刻或同一时间间隔内完成两种或两种以上性质相同或不同的工作。 16.时间重叠——在并行性中引入时间因素,即多个处理过程在时间上相互错开,轮流重叠地 使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。 17.资源重复——在并行性中引入时间因素,是根据“以数量取胜”的原则,通过重复设置资源, 尤其是硬件资源,大幅度提高计算机系统的性能。

体系结构大作业

软件体系结构课程大作业 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.根据自己的经验,谈谈对软件危机的看法。 软件危机是指软件生产方式无法满足迅速增长的计算机需求,开发和维护过程出现的一系列问题。 以下几个原因导致:(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.就项目管理方面而言,软件重用项目与非重用项目有哪些不同之处。 使用软件重用技术可减少重复工作,提高软件生产率, 缩短开发周期。同时,由 于软构建大多经过严格的质量认证,因此有助于改善软件质量,大量使用构建,软件

软件体系结构KWIC实验

《软件体系结构》 实验:软件体系结构风格之应用

一、实验目的 通过KWIC 实例分析,理解和掌握软件体系结构风格设计与实现。 二、实验内容 多种软件风格设计与实现之KWIC 实例: 1.采用主/子程序体系结构风格实现KWIC 关键词索引系统 2.采用面向对象体系架构风格实现KWIC 关键词索引系统 3.采用管道过滤 体系架构风格实现KWIC 关键词索引系统 4.采用事件过程调用体系架构风格实现KWIC 关键词索引系统 三、实验要求与实验环境 熟练掌握基于主/子程序体系结构风格的KWIC 关键词索引系统,在此基础上,完成基于面向对象体系架构风格的KWIC 关键词索引系统设计与实现。选做基于管道过滤体系架构风格的KWIC 关键词索引系统;选做基于事件过程调用体系架构 风格的KWIC 关键词索引系统。 实验课前完成实验报告的实验目的、实验环境、实验内容、实验操作过程等 内容;实验课中独立/团队操作完成实验报告的实验操作、实验结果及结论等内容;每人一台PC 机,所需软件Win2003/XP 、UML 工具(EclipseUML/ Rose/Visio/StartUML/)、Eclipse/MyEclipse、JDK6.0 等。 四、实验操作 1、采用主/子程序体系结构风格实现KWIC 关键词索引系统 主程序/子程序风格(Main Program/Subroutine Style)将系统组织成层次结构,包括一个主程序和一系列子程序。主程序是系统的控制器,负责调度各子程 序的执行。各子程序又是一个局部的控制器,调度其子程序的执行。设计词汇表:主程序main(), 子程序shift(), sort() 方法,方法的调用,返回构件和连接件类型:

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

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

软件体系结构作业 完整版

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

软件体系结构风格研究分析

软件体系结构风格研究分析 软件体系结构风格研究,分析了各种风格的特点、优缺点,最后重点介绍了三层C/S软件体系结构。 20世纪60年代中期的软件危机使得人们开始重视软件工程的研究。起初,人们把软件设计的重点放在数据结构和算法的选择上。随着软件系统规模越来越大、越来越复杂,整个系统的结构显得越来越重要。 软件体系结构风格分析 最初的软件体系结构是Mainframe结构——客户、数据和程序都被集中在主机上,通常只有少量的GUI界面,对远程数据库的访问比较困难。随着PC的广泛应用,该结构逐渐被淘汰。在20世纪80年代中期出现了Client/Server分布式计算结构,应用程序的处理在客户机和服务器之间分担。随着大型软件系统的开发,这种结构在系统的部署和扩展性方面暴漏出不足。随着Inter的发展,一个更灵活的体系结构“三层/多层计算”体系结构应运而生。 Garlan和Shaw将通用软件体系结构风格总结为以下几类:

1.数据流风格:批处理序列;管道/过滤器。 2.调用/返回风格:主程序/子程序;面向对象风格;层次结构。 3.独立构件风格:进程通讯;事件系统。 4.虚拟机风格:解释器;基于规则的系统。 5.仓库风格:数据库系统;超文本系统;黑板系统。C2风格是最常用的一种软件体系结构风格。从C2风格的组织规则和结构图中,我们可以得出,C2风格具有以下特点: (1)系统中的构件可实现应用需求,并能将任意复杂度的功能封装在一起;(2)所有构件之间的通讯是通过以连接件为中介的异步消 息交换机制来实现的;(3)构件相对独立,构件之间依赖性较少。系统中不存在某些构件将在同一地址空间内执行,或某些构件共享特定控制线程之类的相关性假设。 2.数据抽象和面向对象风格。目前软件界已普遍转向使用面向对象系统,抽象数据类型概念对软件系统有着重要作用。这种风格的构件是对象,或者说是抽象数据类型的实例。对象是一种被称作管理者的构件,因为它负责保持资源的完整性。对象是通过函数和过程的调用来交互的。图2是数据抽象和面向对象风格的示意图。面向对象的系统有许多的优点: (1)因为对象对其他对象隐藏它的表示,所以可以改变一个对象的表示,而不影响其他的对象。(2)设计者可将一些数据存取操作的

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

《软件体系结构》大作业(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、就项目管理方面而言,软件重用项目与非重用项目有哪些不同之处。 答:使用软件重用技术可减少重复工作,提高软件生产率, 缩短开发周期。同时,由于软构建大多经过严格得质量认证,因此有助于改善软件质量, 大量使用构建, 软件得灵活性与标准化程度可得到提高。 2、实际参与/组织一个软件重用项目得开发,然后总结您就是如何组织该项目得开发得 答:参加了一个网页管理系统得开发,该项目重复使用已有得软件产品用于开发新得软件系统,以达到提高软件系统得开发质量与效率,降低开发成本得目得。在过程中使用了代码得复用、设计结果得复用、分析结果得复用、测试信息得复用等。 3、为什么要研究软件体系结构? 答:1、软件体系结构就是系统开发中不同参与者进行交流与信息传播得媒介。 2.软件体系结构代表了早期得设计决策成果。 3.软件体系结构可以作为一种可变换得模型。 4、根据软件体系结构得定义,您认为软件体系结构得模型应该由哪些部分组成? 答:构件(ponent)可以就是一组代码,如程序得模块;也可以就是一个独立得程序(如数据库得SQL服务器); 连接件(connector)就是关系得抽象,用以表示构件之间得相互作用。如过程调用、管道、远程过程调用等; 限制(constrain):用于对构件与连接件得语义说明。 5、在软件体系结构得研究与应用中,您认为还有哪些不足之处? 答:(1)缺乏同意得软件体系结构得概念,导致体系结构得研究范畴模糊。 (2)ADL繁多,缺乏同意得ADL得支持。 (3)软件体系结构研究缺乏统一得理论模型支持。 (4)在体系结构描述方便,尽管出现了多种标准规范或建议标准,但仍很难操作。 (5)有关软件体系结构性质得研究尚不充分,不能明确给出一个良体系结构得属性或判定标准,没有给出良体系结构得设计指导原则,因而对于软 件开发实践缺乏有力得促进作用。 (6)缺乏有效得支持环境软件体系结构理论研究与环境支持不同步,缺乏有效得体系结构分析、设计、方针与验证工具支持,导致体系结构应用上 得困难。 (7)缺乏有效得体系结构复用方案。 (8)体系结构发现方法研究相对欠缺。 1、选择一个规模合适得系统,为其建立“4+1”模型。 逻辑视图(Logical View),设计得对象模型(使用面向对象得设计方法时)。 过程视图(Process View),捕捉设计得并发与同步特征。 物理视图(Physical View),描述了软件到硬件得映射,反映了分布式特性。 开发视图(Development View),描述了在开发环境中软件得静态组织结构。 架构得描述,即所做得各种决定,可以围绕着这四个视图来组织,然后由一些用例 (use cases)或场景(scenarios)来说明,从而形成了第五个视图。

软件体系结构综述

软件体系结构研究综述 班级:软件092 学号:17 姓名:陈世华摘要: 近年来,软件体系结构逐渐成为软件工程领域的研究热点以及大型软件系统与软件产品线开发中的关键技术之一.归纳了软件体系结构技术发展过程及其主要研究方向.在分析了典型的软件体系结构概念之后,给出了软件体系结构的定义.通过总结软件体系结构领域的若干研究活动,提出了软件体系结构研究的两大思路,并从7个方面介绍了软件体系结构研究进展.探讨了软件体系结构研究中的不足之处,并分析其原因.作为总结,给出了软件体系结构领域最有前途的发展趋势. 关键词: 软件体系结构;基于体系结构的软件开发;软件体系结构描述语言;软件体系结构描述方法;软件体系结构演化;软件体系结构发现;软件体系结构分析;软件体系结构验证;特定域软件体系结构(DSSA) Abstract: Software architecture (SA) is emerging as one of the primary research areas in software engineering recently and one of the key technologies to the development of large-scale software-intensive system and software product line system. The history and the major direction of SA are summarized, and the concept of SA is brought up based on analyzing and comparing the several classical definitions about SA. Based on summing up the activities about SA, two categories of study about SA are extracted out, and the advancements of researches on SA are subsequently introduced from seven aspects. Additionally, some disadvantages of study on SA are discussed, and the causes are explained at the same time. Finally, it is concluded with some significantly promising tendency about research on SA. Key words: software architecture; architecture-based development; architecture description language; architectural representation and description; architectural evolution and reuse; architectural discovery; architectural analysis; architectural verification and evaluation; domain-specific software architecture (DSSA)

体系结构作业解题参考

体系结构作业解题参考 第1章习题 6.某处理机时钟频率为f =30MHz ,处理速度为20MIPS ,用它来执行一个已知混合程序。假定每次存储器访问延迟时间为1个时钟周期。问: ⑴ 此处理机的有效CPI 是多少? ⑵ 假定新处理机的时钟频率f 提高到60MHz ,但存储子系统速率不变。这样,每次存储器访问需2个时钟周期。如果30%的指令每条只需要1次访存,而另外5%指令每条需2次访存,且假定已知混合程序的指令数不变,并与原处理机兼容,请定量分析改进后的新处理机性能。 解:⑴ 由 6 10?= CPI f MIPS 得 5.110 20103010666 =??=?= MIPS f CPI ⑵ 设已知混合程序的总指令执行数为IC ,则改进前程序执行所需的总时钟周期数NC O 为 IC IC CPI NC o 5.1=?= 而改进后的混合程序的指令数不变,且每次访存需增加1个时钟周期,故改进后程序执行所需的总时钟周期数NC n 为 IC IC IC IC IC NC NC o n 9.14.05.1205.013.0=+=?+?+= 所以,改进后,处理机的有效CPI 为 9 .19.1===IC IC IC NC CPI n n 故改进后的处理机速度为 58.3110 9.11060106 6 6≈??=?=n n n CPI f MIPS

第2章习题 6.一条线性流水线有4个流水段,每个流水段的延迟时间都为△t 。开始5个 △t ,每间隔一个△t 向流水线输入一个任务,然后停顿2个△t ,如此重复。 ⑴ 画出流水线的时空图。 ⑵ 求流水线的实际吞吐率、加速比和效率。 解:⑴ 时空图如下: ⑵ 设流入流水线的任务总数为n ,若以5个任务为一组,则共可分为?? ? ???5n 组。 由于两组任务之间间隔2个时钟周期,所以完成n 个任务的总时间为 ()t n n t n t n T k ??? ? ?????? ???++=???? ? ??-??????+?-+=25121514 所以有 t n n n T n P k ???? ? ????????++=251=吞吐率 , 25125242512154???????++???? ???+-=??? ? ?????????++????? ??-??????+?=n n n n t n n t n t n S 加速比 , 25125144???????++=???? ? ????????++?= n n n t n n t n E 效率 。

软件体系结构作业完整版

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

软件体系结构课后作业及答案

1、就项目管理方面而言,软件重用项目与非重用项目有哪些不同之处。 答:使用软件重用技术可减少重复工作,提高软件生产率, 缩短开发周期。同时,由于软构建大多经过严格的质量认证,因此有助于改善软件质量,大量使用构建,软件的灵活性和标准化程度可得到提高。 2、实际参与/组织一个软件重用项目的开发,然后总结你是如何组织该项目的开发的 答:参加了一个网页管理系统的开发,该项目重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。在过程中使用了代码的复用、设计结果的复用、分析结果的复用、测试信息的复用等。 3、为什么要研究软件体系结构? 答:1.软件体系结构是系统开发中不同参与者进行交流和信息传播的媒介。 2.软件体系结构代表了早期的设计决策成果。 3.软件体系结构可以作为一种可变换的模型。 4、根据软件体系结构的定义,你认为软件体系结构的模型应该由哪些部分组成? 答:构件(component)可以是一组代码,如程序的模块;也可以是一个独立的程序(如数据库的SQL服务器); 连接件(connector)是关系的抽象,用以表示构件之间的相互作用。如过程调用、管道、远程过程调用等; 限制(constrain):用于对构件和连接件的语义说明。 5、在软件体系结构的研究和应用中,你认为还有哪些不足之处? 答:(1)缺乏同意的软件体系结构的概念,导致体系结构的研究范畴模糊。 (2)ADL繁多,缺乏同意的ADL的支持。 (3)软件体系结构研究缺乏统一的理论模型支持。 (4)在体系结构描述方便,尽管出现了多种标准规范或建议标准,但仍很难操作。 (5)有关软件体系结构性质的研究尚不充分,不能明确给出一个良体系结构的属性或判定标准,没有给出良体系结构的设计指导原则,因而对于软件开发实践缺乏有力的促进作用。 (6)缺乏有效的支持环境软件体系结构理论研究与环境支持不同步,缺乏有效的体系结构分析、设计、方针和验证工具支持,导致体系结构应用上的困难。 (7)缺乏有效的体系结构复用方案。 (8)体系结构发现方法研究相对欠缺。 1、选择一个规模合适的系统,为其建立“4+1”模型。 逻辑视图(Logical View),设计的对象模型(使用面向对象的设计方法时)。 过程视图(Process View),捕捉设计的并发和同步特征。 物理视图(Physical View),描述了软件到硬件的映射,反映了分布式特性。 开发视图(Development View),描述了在开发环境中软件的静态组织结构。 架构的描述,即所做的各种决定,可以围绕着这四个视图来组织,然后由一些用例(use cases)或场景(scenarios)来说明,从而形成了第五个视图。

计算机系统结构大作业

《计算机系统结构》大作业 介绍并行算法与并行程序设计 及它们的不足及发展趋势 专业计算机科学与技术(软件工程方向) 指导教师蔡启先 班级 学号 姓名 日期 2013年6月 广西科技大学计算机学院

介绍并行算法与并行程序设计 及它们的不足及发展趋势 摘要:并行算法是并行计算中非常重要的问题。这篇报告首先简要介绍并行计算,然后主要讨论并行算法研究中的问题和今后的方向,最后阐述并行计算研究中存在的问题以及今后面临的挑战。并行算法研究应该确立一个“理论-设计-实现-应用”的系统方法,形成一个完善的“架构—算法—编程”方法论,这样才能保证并行算法不断发展并变得更加实用。再结合例子进而介绍并行算法的基本原理,给并行算法下一个基本的定义,对并行算法进行了相关的介绍;接着根据目前并行算法的应用,提出了在计算机系统结构中以并行算法为基础的一些并行程序设计的应用,比较了目前流行的并行程序设计的方法,并通过比较指出它的不足以及并行程序设计在未来的发展趋势和前景。 关键词:计算机系统结构并行算法并行程序设计 引言 并行计算机从70年代的开始,到80年代蓬勃发展和百家争鸣,再到90年代体系结构框架趋于统一,近年来其快速发展,并行机技术日趋成熟。首先是市场的需求,一直是推动并行计算机发展的主要动力,大量实际应用部门,如天气预报、核武器、石油勘探、地震数据处理、飞行器数值模拟以及其他大型事务处理等,都需要每秒执行数十万亿次乃至数百万亿此浮点运算的计算机,基于这些应用问题本

身的限制,并行计算是满足它们的唯一可行途径。使用多计算机进行并行程序设计,它们之间的通信是通过发送消息来完成的,所以消息传递需要并行程序设计。并行程序设计使用多计算机或多个内部处理器的计算机来求解问题,它比使用单台计算机的计算速度要快得多。并行程序设计也为求解更大规模的问题提供了机会,前面所述问题需要更多的计算步或更大存储容量需求,并行程序设计以并行算法为核心,能满足这要求,因为多计算机和多处理机系统通常比单计算机有更大的总存储容量。 并行算法是一门还没有发展成熟的学科,虽然人们已经总结出了相当多的经验,但是远远不及串行算法那样丰富。并行算法设计中最常用的的方法是PCAM方法,即划分,通信,组合,映射。首先划分,就是将一个问题平均划分成若干份,并让各个处理器去同时执行;通信阶段,就是要分析执行过程中所要交换的数据和任务的协调情况,而组合则是要求将较小的问题组合到一起以提高性能和减少任务开销,映射则是要将任务分配到每一个处理器上。总之,并行算法还需要相当多完善的地方。并行算法与串行算法最大的不同之处在于,并行算法不仅要考虑问题本身,而且还要考虑所使用的并行模型,网络连接等等。 并行算法是并行计算中非常重要的问题。并法研究应该确立一个“理论-设计-实现-应用”的系统方法,形成一个完善的“架构—算法—编程”方法论,这样才能保证并行算法不断发展并变得更加实用。简单的说,算法就是求解问题的方法和步骤。并行算法,就是在

软件体系结构大作业要求

《软件体系结构》大作业要求 一、课程性质与目的 通过本课程学习,旨在达到以下目标: 1帮助学生掌握需求分析的流程、方法以及技巧; 2帮助学生了解软件体系结构的基本概念,初步掌握中大型软件系统构架的分析与设计方法; 3使学生了解构建系统的目的是为了满足组织的需求,认识软件行业和开发组织在系统设计及其最终成败所起的作用,提高软件设计的基本素养; 4使学生了解常用软件设计模式的使用场景,解决方案; 5引导学生认识系统的性能、可用性、安全性等质量属性都是受软件构架制约的,或者说这些属性的实现影响着设计师的设计选择; 二、设计内容 下面题目将作为实习题贯穿需求分析和软件体系结构设计部分,以1人为一组,任选其中一个问题。采用适当的需求分析方法获取初步需求,题目选择如下: 问题A. 图书馆管理(R.A.Kemmerer) 一个小型图书馆管理系统,需完成以下工作: 1.借书,还书; 2.在图书馆中增加/删除一本书; 3.按照作者名或专业领域检索一批书; 4.找出被某位读者借出的一批书; 5.找出最近借走某本图书的读者. 该系统有两类用户:图书管理员与普通读者.功能4可供普通读者查找他们自己借出的书目.功能1,2,5只供图书管理员使用. 该系统必须满足以下限制: 1.馆中所有未借出的书籍能够供读者随时借阅. 2.在同一时刻,一本书不能既被借出,又可供借阅.

3.一个读者一次借出的书籍数目不能超过预定值. 问题B. 保温系统(S.White) 如果主开关置于”加热”状态,保温系统的控制器负责开关锅炉,监视锅炉系统的燃油流量和燃烧状态,进而调节进入房间的热量流.当室内温度降至(T r-2)0C以下,控制器启动锅炉.这里,T r是用户设置的理想室温. 锅炉启动过程如下: 1.控制器向锅炉的马达发信号. 2.控制器监视马达速度.马达达到正常操作速度时,启动点火并打开油阀. 3.控制器监视水温,一旦水温达到预定值,发信号打开水流循环阀.热水开始在室内循 环. 4.如果发生异常情况,燃油流量指示器和光感器向控制器发信号.此时控制器发信号关 闭系统. 5.一旦室内温度达到(T r +2)0C,控制器首先关闭油阀,延迟5s后关闭锅炉马达. 系统必须满足以下限制: 1.锅炉停机后重启必须延迟5min. 2.在主开关关闭或油阀关闭5s内应指示锅炉停机. 问题C. 字符串格式化(https://www.doczj.com/doc/9e549928.html,i) 给定非负整数MAXPOS和包含空格与换行作为分隔符的字符集.对字符串S,称两分隔符之间或分隔符到S的结尾处的非空字符串为字. 程序以有穷字符串为输入,输出满足以下条件的字符串: 1.如果输入串包含长度为MAXPOS+1的字,则输出串为一空格. 2.如果输入串的任何MAXPOS+1个相邻字符至少含有一个分隔符,则: 2-1 输入串的所有字以相同的次序出现在输出串中;并且,输出串不含有未在输入串中出现的字; 2-2 此外,输出串满足以下限制: 2-2-1 输出串中不出现前导和后导分隔符,也不出现相邻的分隔符. 2-2-2 任何MAXPOS+1个相邻字符中含有一个换行符; 2-2-3 对于输出串中的任意子串S,如果: (1) S的长度不超过MAXPOS;

软件体系结构期末复习题

软件体系结构期末 复习题

《软件体系结构》期末复习题 简答题: 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、计算机系统结构的层次结构由高到低分别为(应用语言机器级,高级语言机器级,汇编语言机器级,操作系统机器级,传统机器语言机器级,微程序机器级)。 3、应用程序语言经(应用程序包)的(翻译)成高级语言程序。 4、高级语言程序经(编译程序)的(翻译)成汇编语言程序。 5、汇编语言程序经(汇编程序)的(翻译)成机器语言程序。 6、在操作系统机器级,一般用机器语言程序(解释)作业控制语句。 7、传统机器语言机器级,是用(微指令程序)来(解释)机器指令。 8、微指令由(硬件)直接执行。 9、在计算机系统结构的层次结构中,机器被定义为(能存储和执行相应语言程序的算法和数据结构)的集合体。 10、目前M0由(硬件)实现,M1用(微程序(固件))实现,M2到M5大多用(软件)实现。以(软件)为主实现的机器成为虚拟机。(虚拟机)不一定全用软件实现,有些操作也可用(固件或硬件)实现。 11、透明指的是(客观存在的事物或属性从某个角度看不到),它带来的好处是(简化某级的设计),带来的不利是(无法控制)。 12、计算机系统结构也称(计算机体系结构),指的是(传统机器级的系统结构)。它是(软件和硬件/固件)的交界面,是机器语言汇编语言程序设计者或编译程序设计者看到的(机器物理系统)的抽象。 13、计算机组成指的是(计算机系统结构的逻辑实现),包括(机器级内的数据流和控制流)的组成及逻辑设计等。计算机实现指的是(计算机组成的物理实现),它着眼于(器件)技术和(微组装)技术。14、确定指令系统中是否要设乘法指令属于(计算机系统结构),乘法指令是用专门的高速乘法器实现还是用加法器实现属于(计算机组成),乘法器和加法-移位器的物理实现属于(计算机实现)。 15、主存容量与编址方式的确定属于(计算机系统结构),主存是否采用多体交叉属于(计算机组 成),主存器件的选定属于(计算机实现)。 16、设计何种系列机属于(计算机系统结构),系列机内不同型号计算机的组织属于(计算机组成)。 17、是否采用通道方式输入输出的确定属于(计算机系统结构),通道采用结合型还是独立型属于(计算机组成)。 18、对PDP-11或V AX-11来说,单总线结构属于(计算机系统结构),其机器级的I/O连接和使用方式属于(计算机组成)。 19、由于计算机组成和计算机实现关系密切,有人称它们为(计算机实现),即计算机系统的(逻辑实现)和(物理实现)。 20、计算机系统结构可有(由上而下)、(由下而上)和(由中间开始)三种不同的设计思路。 21、“由中间开始”设计的“中间”是指(层次结构中的软硬交界面),目前多数是在(传统机器级)与(操作系统级)之间。 22、除了分布处理,MPP和机群系统外,并行处理计算机按其基本结构特征可分为(流水线计算机)、(阵列处理机)、(多处理机)、(数据流计算机)四种不同的结构。 23、费林按指令流和数据流的多倍性把计算机系统分类,这里的多倍性指(系统瓶颈部件上处于同一执行阶段的指令或数据的最大可能个数)。 24、费林分类法能反映出大多数计算机的并行工作方式和结构特点,但只能对(控制流)机器分类,不能对(数据流)机器分类,而且对(流水线处理机)的分类不确切。 25、我们把(着眼于软、硬件功能分配和确定程序设计所看到的机器级界面的计算机系统结构)称为从程序设计者看的计算机系统结构,而把(着眼于如何更好、更合理地实现分配给硬件的功能的计算机组成)称为从计算机设计者看的计算机系统能够结构。

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