软件体系结构作业___一__、二章

软件体系结构作业___一__、二章
软件体系结构作业___一__、二章

第一章

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

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

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

(2)开发人员的弱点

(3)用户需求不明

(4)缺乏正确理论指导

(5)开发规模越来越大

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

可以通过软件生命周期的模型和软件工具的使用来缓解危机,通过程序自动化和

软件工业化生产的方法实现软件标准化的目标,进一步缓解软件危机带来的影

响。

软件危机有利有弊,除了带来许多麻烦,也给我们带来许多挑战,克服危机的过

程,我们在技术上和创新上都有了一个提升,也算是间接为软件产业的发展做了

贡献。

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

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

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

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

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

可重用构件的特殊要求:

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

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

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

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

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

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

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

低了软件开发的费用

困难和挑战:没有可依据的参考,可用资源和环境缺乏,开发难度高,而各方面需求

增长速度与日剧增,更新和升级的跟进是一个不小的挑战.此外,在同一系统采用多

个开发商提供的构件,它们之间的兼容性可能是开发过程中所要面对的一个严峻的问

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

答:COM:COM无需重新编译,对象就可以增添新的功能,还能够透明地向另一个过程或另一台机器上的对发送RPC调用;

CORBA:CORBA用IDL来描述对象接口,可以满足异种语言间的通信问题。

EJB:EJB可以根据您应用的增长而扩展,EJB往往提供了负载均衡和,可以通过在代码外的描述来定义事务处理级别可扩展性

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

答:软件重用项目比非重用项目中重复性工作少,软件生产率较高,开发成本也相对较低。同时,重用项目开发周期短。重用项目改善了软件质量。重用项目软件的灵活性和标准化程度也有所提高

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

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

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

答:有三部分:处理构件、数据构件和连接构件

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

答:1.从软件体系结构研究的现状来看,当前的研究和对软件体系结构的描述在很大程度上来说还停留在非形式化的基础上。仍然缺乏必要的工具,这种工具应该是显式描述的、有独立性的形式化工具。

2. 在目前通用的软件开发方法中,其描述通常是用非形式化的图和文本,不能

描述系统期望的存在于构件之间的接口,不能描述不同的组成系统的组合关系的意义。难以被开发人员理解,更不能用来分析其一致性和完整性等特性

第二章

1. 软件体系结构模型是软件体系结构的表现形式,软件体系结构模型可以分为哪几

种,具体是如何划分的

答:根据建模的侧重点的不同,可以将软件体系结构的模型分为5种:结构模型、框架模型、动态模型、过程模型和功能模型。

(1)结构模型

这是一个最直观、最普遍的建模方法。这种方法以体系结构的构件、连接件和其他概念来刻画结构,并力图通过结构来反映系统的重要语义内

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

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

(2)框架模型

框架模型与结构模型类似,但它不太侧重描述结构的细节而更侧重于整体的结构。框架模型主要以一些特殊的问题为目标建立只针对和适应

该问题的结构。

(3)动态模型

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

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

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

(4)过程模型

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

(5)功能模型

该模型认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。它可以看作是一种特殊的框架模型。

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

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

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

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

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

软件体系结构

课程名称:软件体系结构 课程编号: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. 常规作业 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、试述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. 画出冯?诺依曼机的结构组成?

软件体系结构作业 完整版

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

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

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

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

软件体系结构风格研究分析 软件体系结构风格研究,分析了各种风格的特点、优缺点,最后重点介绍了三层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.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. 下列对系统程序员不透明的是()。 A. 乘法器 B. 先行进位链 C. 指令缓冲器 D. 条件码寄存器2.“从中间开始”设计的“中间”目前多数是在( D )。 A. 微程序机器级与汇编语言机器级之间 B. 操作系统机器级与汇编语言机器级之间 C. 传统机器语言机器级与微程序机器级之间 D. 传统机器语言机器级与操作系统机器级之间 3. 开发计算机系统结构并行性的主要技术途径有时间重叠、(资源重复)和(资源 共享)。 4. 计算机系统弗林分类法,把计算机系统分成单指令流单数据流(SISD)、单指令流多数 据流(SIMD)、(多指令流单数据流(MISD))和(多指令流多数据流(MIMD))四大类。 5. 设计指令系统时,以乘法运算为例,简述系统结构设计、计算机组成设计、计算机实现 各应考虑的问题。( P4) 6. 实现软件移植的途径有哪些各受什么限制( P14) 同步强化练习 一.单项选择题。 1. 实现汇编语言源程序变换成机器语言目标程序是由( C )。 A. 编译程序翻译 B. 编译程序解释 C. 汇编程序翻译 D. 汇编程序解释 2. 系列机软件应做到( B ) A. 向前兼容,并向下兼容 B. 向后兼容,力争向上兼容 C. 向前兼容,并向上兼容 D. 向后兼容,力争向下兼容 3. 在计算机系统多级层次结构中,机器级由低到高,相对顺序正确的应当是( B )。 A. 传统机器语言、汇编语言、操作系统 B. 微程序、传统机器语言、高级语言 C. 高级语言、汇编语言、传统机器语言 D. 传统机器语言、应用语言、高级语言 4. 可以直接执行微指令的是( C )。 A. 编译程序 B. 微程序 C. 硬件 D. 汇编程序 5. 计算机系统结构不包括( A )。 A. 主存速度 B. 数据表示 C. 机器工作状态 D. 信息保护 6. 对计算机系统结构透明的是()。 A. 是否使用通道型I/0处理机 B. 虚拟存储器 C. 字符行运算指令 D. VLSI技术 7. 在主存设计上,属计算机系统结构考虑的应是( C )。 A. 频宽的确定 B. 多体交叉还是单体 C. 容量和编址单位 D. 用MOS还是TTL 8. 计算机组成设计不考虑( B )。 A. 缓冲技术 B. 功能部件的集成度 C. 专用部件设置 D. 控制机构的组成

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

《软件体系结构》大作业(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)来说明,从而形成了第五个视图。

软件体系结构总结

第一章: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.11 Availability is the most important consideration for designing servers, followed closely by scalability and throughput. a. We have a single processor with a failures in time(FIT) of 100. What is the mean time to failure (MTTF) for this system? b. If it takes 1 day to get the system running again, what is the availability of the system? c. Imagine that the government, to cut costs, is going to build a supercomputer out of inexpensive computers rather than expensive, reliable computers. What is the MTTF for a system with 1000 processors? Assume that if one fails, they all fail. 答: a. 平均故障时间(MTTF)是一个可靠性度量方法,MTTF的倒数是故 障率,一般以每10亿小时运行中的故障时间计算(FIT)。因此由该定义可知1/MTTF=FIT/10^9,所以MTTF=10^9/100=10^7。b. 系统可用性=MTTF/(MTTF+MTTR),其中MTTR为平均修复时间, 在该题目中表示为系统重启时间。计算10^7/(10^7+24)约等于1. c. 由于一个处理器发生故障,其他处理器也不能使用,所以故障率 为原来的1000倍,所以MTTF值为单个处理器MTTF的1/1000即10^7/1000=10^4。 1.14 In this exercise, assume that we are considering enhancing

软件工程部分课后练习题答案

第一章 1.计算机系统是由计算机硬件系统和软件系统这两个密不可分的部分组成的。 2.计算机软件系统通过运行程序来实现各种不同应用,包括用户为自己的特定目的编写的程序、检查和诊断机器系统的程序、支持用户应用程序运行的系统程序、管理和控制机器系统资源的程序等。 3.在软件工程学中,软件开发技术包括软件开发方法学、软件工具和软件工程环境。 4.在软件工程层次结构中,包括工具层、方法层、过程、技术层和质量保证层。 5.在面向对象概念中,消息传递是其与外部世界相互关联的唯一途径。 第三章 1.软件需求分析,可以把软件功能和性能的总体概念描述为具体的软件需求规格说明,进而建立软件开发的基础。 2.软件需求工作基本上包括收集用户、市场等方面对项目的需要,经过分析建立解题模型,细化模型,抽取需求。 3.结构化分析方法的基本步骤是采用由顶向下对系统进行功能分解,画出分层数据流图;由后向前定义系统的数据和加工,绘制数据词典和加工说明;最终写出软件需求和规格说明书。 4.面向对象分析方法总是从理解系统的“使用实例”开始,基本步骤是:定义系统的用例,在领域分析的基础上建立问题域的类(对象模型),然后开始建立对象——关系和对象——行为模型。 5.需求分析评审过程由以下5个步骤组成:规划、准备、召开审查大会、修改缺陷、重审。第四章 1.与软件需求分析一样,软件设计也有两种主要设计方法:以结构化设计为基础的结构化软件设计和面向对象方法指导的面向对象软件设计。 2.传统的软件设计任务通常分两个阶段完成。第一个阶段是概要设计,包括体系结构设计

和接口设计,并编写概要设计文档;第二阶段是详细设计,其任务是确定各个软件的数据结构和操作,产生描述各软件组件的详细设计文档。 3.结构化的软件设计方法是一种面向数据流的设计方法,在面向数据流的方法中,数据流是考虑一切问题的出发点。 4.在数据流图中所代表的结构化设计模型中,所有系统均可纳入两种典型的形式,因此系统结构图也有两种类型:变换型系统结构图,事务型系统结构图。 5.Jackson表示法包括图形描述(Jackson图)和文本描述(Jackson伪代码)两种形式。 第五章 1.与结构化设计一样,面向对象设计也是将分析阶段所建立的分析模型转变为软件设计模型,应用数据设计(对象属性设计)、接口设计(消息模型开发)以及过程设计(子系统级设计)。 2.当两个子系统相互通信时,可以建立客户机/服务器连接或端对端连接。 3.系统设计不仅包括主要的业务需求子系统设计,还包括用户界面子系统设计、任务管理子系统设计、数据管理子系统设计。 4.对象设计强调从问题域的概念转换成计算机领域的概念,通过对象的描述、算法和数据结构设计、程序构件和接口,实现相关的类、关联、属性和操作。 5.在面向对象设计中系统设计的主要目标是表示软件体系结构。对象设计着重于对象及其交互的描述 第八章 1.软件程序测试的目的是发现程序中的错误,其主要任务是通过在计算机上执行程序,暴露程序中潜在的错误。

软件体系结构作业完整版

第一章: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)

相关文档
最新文档