软件体系结构课后习题第三章作业样本

合集下载

计算机系统结构课后答案unit3

计算机系统结构课后答案unit3

第3章总线、中断与输入输出系统3.1.简要举出集中式串行,定时查询和独立请求3种总线控制方式的优缺点。

同时分析硬件产生故障时通讯的可靠性。

答:集中式串行链连接方式。

其过程为:①所有部件都经公共的“总线请求”线向总线控制器发使用总线申请。

②当“总线忙”信号未建立时,“总线请求”才被总线控制器响应,送出“总线可用”信号,它串行地通过每个部件。

③如果某部件未发过“总线请求”,则它将“总线可用”信号往下一部件转,如果某部件发过“总线请求”,则停止“总线可用”信号的传送。

④该部件建立“总线忙”,并除去“总线请求”,此时该部件获得总线使用权,准备传送数据。

⑤数据传送期间,“总线忙”维持“总线可用”的建立。

⑥传送完成后,该部件去除“总线忙”信号和“总线可用”信号。

⑦当“总线请求”再次建立时,就开始新的总线分配过程。

优点:①选择算法简单;②控制总线数少;③可扩充性好;④可靠性高。

缺点:①对“总线可用”线及其有关电路失效敏感,②不灵活;③总线号传送速度慢。

集中式定时查询方式,过程:①总线上每个部件通过“总线请求”发请求。

②若“总线忙”信号未建立,则计数器开始计数,定时查询个部件,以确定是谁发的请求。

③当查询线上的计数值与发出请求的部件号一致时,该部件建立“总线忙”,计数停止,查询也停止。

除去“总线请求”,该部件获得总线使用权。

④“总线忙”维持到数据传送完毕。

⑤数据传送完,去除“总线忙”。

⑥当“总线请求”线上有新的请求,就开始下一个总线分配过程。

优点:①优先次序灵活性强;②可靠性高。

缺点:①控制线数较多;②扩展性较差;③控制较为复杂;④总线分配受限于计数信号,不能很高。

集中式独立请求方式,过程:①每个部件有一对“总线请求”和“总线准许”线。

②每个部件使用“总线请求”发中请,当“总线已分配”无信号时,总线控制器根据某种算法对同时送来的多个请求进行仲裁,以确定哪个部件使用总线,信号从“总线准许”送回该部件,去除该部件的“总线请求”,建立总线已分配”。

计算机体系结构三四章作业

计算机体系结构三四章作业

1. 三种通过软件(编译器)来减少分支延迟的方法为()、()、()1.预测分支失败2.预测分支成果3.延迟分支2.消除流水线的瓶颈段的方法有()和()2种。

1.细分瓶颈段2.重复设置瓶颈段3. 衡量流水线的主要性能指标是()、()和()。

N段不等长的流水线中,其结果的输出速度取决于处理时间()的子过程1.吞吐率2.加速比3.效率4.时间最长4. 流水线中的冲突主要分为以下3种类型:()、()和(),其中数据冲突又分为如下3类:()、()和()。

1.结构冲突2.数据冲突3.控制冲突:(1)写后读RAW冲突(2)写后写WAW冲突(3)读后写WAR冲突5. 相关有三种类型,即(),()和()。

其中()相关还包括输出相关和反相关两种。

1.数据相关2.名相关3.控制相关4.名相关6. 简述流水寄存器的作用。

流水寄存器的作用:1.将各段的工作隔开,使得他们不会相互干扰。

流水寄存器是边沿触发写入的,这点非常重要。

2.保存相应段的处理过程。

3.向后传递后面段将会用的数据和控制信息。

选择题:1. 与线性流水线最大吞吐率有关的是()(2.0分)A.第一个功能段的执行时间B.最快那一段的执行时间C.最慢那一段的执行时间D.最后的功能段的执行时间2. 以下哪种方法不能用于解决数据冲突()。

(2.0分)A.链接技术B.定向技术C.流水线互锁机制D.编译器指令调度3. 非线性流水线的特征是()。

(2.0分)A.一次运算中使用流水线中的多个段B.一次运算中要多次使用流水线中的某些功能段C.流水线的各个功能段在不同运算中可以有不同的连接D.流水线中某些功能段在各次运算中的作用不同4. 评价流水线的性能指标是()。

(2.0分)A.吞吐率、流水线的加速比和执行程序所需要的时钟周期数B.吞吐率、流水线的加速比和所执行的指令条数C.吞吐率、流水线的加速比和CPID.吞吐率、流水线的加速比和效率5. 寄存器换名技术可以减少如下冲突带来的暂停:()(2.0分)A.读后写冲突;B.结构冲突;C.写后读相关;D.控制相关。

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

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

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

答:使用软件重用技术可减少重复工作,提高软件生产率, 缩短开发周期。

同时,由于软构建大多经过严格的质量认证,因此有助于改善软件质量,大量使用构建,软件的灵活性和标准化程度可得到提高。

2、实际参与/组织一个软件重用项目的开发,然后总结你是如何组织该项目的开发的答:参加了一个网页管理系统的开发,该项目重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。

在过程中使用了代码的复用、设计结果的复用、分析结果的复用、测试信息的复用等。

3、为什么要研究软件体系结构?答:1.软件体系结构是系统开发中不同参与者进行交流和信息传播的媒介。

2.软件体系结构代表了早期的设计决策成果。

3.软件体系结构可以作为一种可变换的模型。

4、根据软件体系结构的定义,你认为软件体系结构的模型应该由哪些部分组成?答:构件(component)可以是一组代码,如程序的模块;也可以是一个独立的程序(如数据库的SQL服务器);连接件(connector)是关系的抽象,用以表示构件之间的相互作用。

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

5、在软件体系结构的研究和应用中,你认为还有哪些不足之处?答:(1)缺乏同意的软件体系结构的概念,导致体系结构的研究范畴模糊。

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

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

(4)在体系结构描述方便,尽管出现了多种标准规范或建议标准,但仍很难操作。

(5)有关软件体系结构性质的研究尚不充分,不能明确给出一个良体系结构的属性或判定标准,没有给出良体系结构的设计指导原则,因而对于软件开发实践缺乏有力的促进作用。

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

计算机系统结构_第三章练习 答案

计算机系统结构_第三章练习 答案

第三章练习题(1)一、单项选择题在下面各题的4个备选答案中,只有一个答案是正确的,请把正确答案的标号(A~D)填入题后面的括号中。

1.程序员编写程序时使用的访存地址是()。

A.物理地址B.有效地址C.逻辑地址D.主存地址2.虚拟存储器通常采用的地址映像是(D )。

A.全相联、组相联和直接映像B.直接映像C.组相联映像D.全相联映像3.不属于堆栈型替换算法是()。

A.近期最少使用替换算法B.先进先出替换算法C.最优替换算法D.近期最久未使用替换算法4.确保提高虚拟存储器的主存命中率的途径是()。

A.采用LFU替换算法并增大页面数B.采用FIFO替换算法并增大页面C.采用FIFO替换算法并增大页面数D.采用LRU替换算法并增大页面5.虚拟存储器主要是为了解决()问题。

A.便于程序的“访存操作”B.扩大存储系统的容量和提高存储系统的速度C.提高存储系统的速度D.扩大存储系统的容量6.与虚拟存储器的等效访问速度无关的是()。

A.辅存的容量B.主存的容量C.页面替换算法D.访存页地址流二、填空题1.使二级存储系统的等效访问速度接近于第一级存储器访问速度的依据是程序的(局部性原理),它包括(时间局部性)和(空间局部性)两个方面。

2.程序的空间局部性是指程序通常是(顺序)存储和执行的,程序使用的数据通常是(簇聚或集中)存储的。

3.假设T1和T2分别是CPU访问到M1和M2中信息所需要的时间,H为命中M1的概率,则由M1和M2构成的二级存储系统的等效访问时间应当表示为(H*T1+(1-H)*T2)。

4.存储器速度性能可以采用存储器的(频宽)衡量,它是存储器单位时间能够访问的信息量。

5.虚拟存储器的存储管理方式有(页式)、(段式)和(段页式)三种。

6.页式虚拟存储器把(程序“虚拟”)空间和(主存储器“物理实”)空间都分成相同大小的页。

7.当两个虚拟空间的页面要求装入同一个主存页面的位置,称为(实页冲突或页面争用)。

计算机组织与系统结构第三章习题答案

计算机组织与系统结构第三章习题答案

第 3 章习题答案2( 4)高级语言中的运算和机器语言(即指令)中的运算是什么关系?假定某一个高级语言源程序P 中有乘、除运算,但机器M 中不提供乘、除运算指令,则程序P 能否在机器M 上运行?为什么?参考答案:(略)3 .考虑以下C 语言程序代码:int func1(unsigned word){return (int) (( word <<24) >> 24);}int func2(unsigned word){return ( (int) word <<24 ) >> 24;}假设在一个32 位机器上执行这些函数,该机器使用二进制补码表示带符号整数。

无符号数采用逻辑移位,带符号整数采用算术移位。

请填写下表,并说明函数func1 和func2 的功能。

函数func1 的功能是把无符号数高24 位清零(左移24 位再逻辑右移24 位),结果一定是正的有符号数;而函数func2 的功能是把无符号数的高24 位都变成和第25 位一样,因为左移24 位后进行算术右移,高24 位补符号位(即第25 位)。

45 .以下是两段C 语言代码,函数arith( ) 是直接用C 语言写的,而optarith( ) 是对arith( ) 函数以某个确定的M 和N编译生成的机器代码反编译生成的。

根据optarith( ) ,可以推断函数arith( ) 中M 和N的值各是多少?#define M#define Nint arith (int x, int y){int result = 0 ; result = x*M + y/N; return result;}int optarith ( int x, int y){int t = x;x << = 4;x - = t;if ( y < 0 ) y += 3; y>>2;r eturn x+y;参考答案:可以看出x*M 和“ int t = x; x << = 4; x-=t; ”三句对应,这些语句实现了x 乘15 的功能(左移4 位相当于乘以16 ,然后再减1 ),因此,M 等于15;y/N 与“if ( y < 0 ) y += 3; y>>2; ”两句对应,功能主要由第二句“ y右移2位”实现,它实现了y除以4 的功能,因此N是4。

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

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

软件体系结构课后作业及答案整理表姓名:职业工种:申请级别:受理机构:填报日期:A4打印/ 修订/ 内容可编辑文件编号:3B-E4-81-1F-1B本科实验大纲(计算机科学与技术学院2016版-信息安全专业课程)教务处制第II页共97目录03402022课程名称:计算机组成原理203402025课程名称:数据库系统原理703402026课程名称:网络安全1003402027课程名称:网络编程技术1303402509课程名称:算法与数据结构1903402512课程名称:计算机网络(Ⅱ)2103402517课程名称:程序设计基础2403402521课程名称:操作系统2703404001课程名称:微机操作实习3103404010课程名称:程序设计实践3403404016课程名称:计算机网络课程设计37 03406001课程名称:企业实习4303406002课程名称:Linux操作系统实践4503424002课程名称:密码学课程设计4803404020课程名称:网络安全课程设计5203424001课程名称:信息安全综合设计与实践55 03401521课程名称:汇编语言程序设计6003402029课程名称:网络管理6303422001课程名称:计算机病毒6803422005课程名称:计算机系统安全技术71 03402023课程名称:嵌入式系统设计与开发74 03402024课程名称:嵌入式系统体系结构实验大纲77 03406003课程名称:互联网应用服务开发与安全80 03406004课程名称:民航信息系统8403412007课程名称:移动终端程序开发与应用87 03422003课程名称:信息隐藏技术9003422006课程名称:网络攻击与防御93第1页共9703402022课程名称:计算机组成原理英文名称:Principle of Computer Organization课程编号:03402022一、实验(上机)学时/课程总学时: 12学时 /64学时二、先修课程:计算机导论、电子线路分析(I)、数字逻辑三、本实验课程在专业人才培养中的地位作用计算机组成原理课程是我院的学科专业基础必修课之一,也是本学院培养本科生形成专业思想的重要专业课程之一,是本学院得主干必修课之一。

四川大学计算机系统结构第三章练习答案

四川大学计算机系统结构第三章练习答案
C0 =(101111)
C
1
= SHR
(5)
(C ) C
0
0
= ( 000001 ) (101111
) = (101111
) = C
0
5
101111 C0
4)求出流水线的最小平均启动距离
最小平均启动距离为:5Dt 5)求出此流水线的最大吞吐率。
TPmax
n 1 n = lim = lim = n n (5n + 2 ) D t (5(n-1) 7 ) D t + 5 Dt
练习答案
第三章
1. 如果一条指令的执行需要取指、译码和 执行三个过程,每一级分别需要Dt, 2Dt 和3Dt。画出按顺序执行、一次重叠、二次 重叠及先行控制四种方式工作时的时空图。
第三章
(1)顺序执行
空间 指令执行 指令分析 取指
1 1 1 2 2
2
时间
0 t1
t2
t3
t4
t5
t6
t7
t8 t9
时间
t8 t9
t10 t11 t12
(4) 先行控制
空间
指令执行
指令分析 取指
1
1 1 0 t1 2 t2 3 t3 t4 t5 t6 t7 2 3
2
3
时间
t8 t9
t10 t11 t12
第三章
2. 在一个如下图所示的线性流水线,各级运行所需 的时间如下图中所标。
取指Dt 译码Dt 执行2Dt 写回2Dt
(1)三条指令并行 (2) V2 <- V0 *V1 (7拍) V3 <- 存储器 (6拍) V4 <- V2+V3 第一、二条指令并行,第三条指令顺序执行 (3) V0 <- 存储器 V3 <- V1+V2 V4 <- V0 *V3 V6 <- V4+V5 (与指令2存在功能部件冲突) 第一、二条指令并行,再与第三条指令链接,第四 条顺序执行。

软件测试第三章部分课后答案

软件测试第三章部分课后答案

P63第6题
解:依题意可得出该流程图:
令左边三个向下箭头为1、3、5,两个向右的箭头分别为2、4,M到N的为F,M到K的为T,N到J的为T,否则为F。

1:语句覆盖的测试用例
由上图可以知道,该程序模块有4条不同的路径:
P1(1-2-4)即M=.T.且N=.T.
P2(1-2-5)即M=.T.且N=.F.
P3(1-3-4)即M=.F.且N=.T.
P4(1-3-5)即M=.F.且N=.F.
P1包含了所有可执行语句,按照语句覆盖的测试用例设计原则,可以使用P1来设计测试用例。

但是令X=1,Y=12,会得到输出X=1,Y=12,此时满足条件M(X>0 AND Y>10)但不满足条件N(X<-10 OR Y<0),所以测试用例的输入不能覆盖路径P1。

所以还要设计输入,使测试可以覆盖路径P2、P3、P4。

令X=1,Y=12,会得到输出X=1,Y=12,所以测试用例的输入能覆盖路径P2;
令X=1,Y=-1,会得到输出X=1,Y=0, 所以测试用例的输入能覆盖路径P3;
令X=1,Y=1,会得到输出X=1,Y=1, 所以测试用例的输入能覆盖路径P4
3:条件覆盖的测试用例
X>0取真时为T1,取假时为F1;Y>10取真时为T2,取假时为F2;X<-10 取真时为T3,取假时为F3; Y<0取真时为T4,取假时为F4;所以可得:
4:路径覆盖的测试用例
所以有:。

计算机系统结构第三章课后题答案

计算机系统结构第三章课后题答案

3.3 典型习题和题例分析与解答题3.1 简要举出集中式串行链接、定时查询和独立请求3种总线控制方式的优缺点,同时分析硬件产生故障时通讯的可靠性。

[解答] 集中式串行链接的3种总线控制方式的优缺点,可参照本章3.2节内容要点2中的2)的有关内容解答。

下面只就硬件产生故障时,对通讯的可靠性问题进行分析。

串行链接对通讯的可靠性,主要表现于“总线可用”线及其有关电路的失效会造成系统整体瘫痪的问题。

一旦“总线可用”线出现断路或碰地,其高电压不能顺链往下传送,就会使后面的部件在要求使用总线时,其请求无法得到响应。

为了提高可靠性,可以对“总线可用”线及其相关电路,采取重复设置两套或多套的方法来解决。

定时查询对通讯的可靠性要比串行链接的高。

因为总线控制器通过计数,查询到某个出故障的部件时,故障部件不会给出“总线忙”信号。

这样,不会影响控制器继续计数,去查询下一个部件,所以整个总线系统的工作不会瘫痪。

独立请求对通讯的可靠性同样比串行链接的高。

因为某个部件在发生故障时不发总线请求,或即使发出总线请求,总线控制器也可以通过软件或硬件的措施,特发生故障的部件送来的请求屏蔽掉,使之不让其参与总线的分配。

所以,某个部件的故障不会导致整个系统的工作处于瘫痪状态。

题3.2设中断级屏蔽位“1”对应于开放,“0”对应于屏蔽,各级中断处理程序的中断级屏蔽位设置如表3.1所示。

(1)当中断响应优先次序为l→2→3→4时,其中断处理次序是什么?(2)如果所有的中断处理都各需3个单位时间,中断响应和中断返回时间相对中断处理时间少得多。

当机器正在运行用户程序时,同时发出第2、3级中断请求,经过两个单位时间,又同时发生第1、4级中断请求,试画出程序运行过程示意图。

表3.1[分析]为了领会中断响应排队器对中断响应的优先次序是用硬件固定的,以及通过由操作系统给各中断级服务程序现行程序状态字中的中断级屏蔽位设置不同的状态,可以改变中断处理(完)的次序这两个要点,图3.1给出了一个中断响应硬件部分的简单逻辑原理示意图。

计算机组织与系统结构第三章习题答案

计算机组织与系统结构第三章习题答案

第 3 章习题答案2(4)高级语言中的运算和机器语言 (即指令) 中的运算是什么关系?假定某一个高级语P中有乘、言源程序除运算,但机器M中不提供乘、除运算指令,则程序P 能否在机器M上运行?为什么?参考答案:(略)3.考虑以下 C 语言程序代码:int func1(unsigned word){return (int) (( word <<24) >> 24);}int func2(unsigned word){return ( (int) word <<24 ) >> 24;}假设在一个32 位机器上执行这些函数,该机器使用二进制补码表示带符号整数。

无符号数采用逻辑移位,带符号整数采用算术移位。

请填写下表,并说明函数func1 和func2 的功能。

函数func1 的功能是把无符号数高24 位清零(左移24 位再逻辑右移24位),结果一定是正的有符号数;而函数func2 的功能是把无符号数的高24 位都变成和第25 位一样,因为左移24 位后进行算术右移,高24 位补符号位(即第25 位)。

4.填写下表,注意对比无符号数和带符号整数的乘法结果,以及截断操作前、后的结果。

5.以下是两段 C 语言代码,函数arith( ) 是直接用 C 语言写的,而optarith( ) 是对arith( ) 函数以某个确定的M和N编译生成的机器代码反编译生成的。

根据optarith( ) ,可以推断函数arith( ) 中M和N的值各是多少?#define M#define Nint arith (int x, int y){int result = 0 ;result = x*M + y/N;return result;}int optarith ( int x, int y){i nt t = x;x << = 4;x - = t;i f ( y < 0 ) y += 3;y>>2;r eturn x+y;参考答案:可以看出x*M 和“ int t = x; x << = 4; x-=t; ”三句对应,这些语句实现了x 乘15 的功能(左移 4 位相当于乘以16,然后再减 1 ),因此,M等于15;y/N 与“if ( y < 0 ) y += 3; y>>2; ”两句对应,功能主要由第二句“ y右移2位”实现,它实现了y除以4的功能,因此N是4。

软件工程第三章习题及参考答案

软件工程第三章习题及参考答案

第三章习题及参考答案1、用逐步求精方法解决下述得更新顺序主文件得问题。

美国某杂志社需要一个软件,以更新存有该杂志订户姓名、地址等数据得顺序主文件。

共有插入、修改与删除等3种类型得事务,分别对应于事务代码1、2与3。

也就就是说,事务类型如下:类型1:INSERT(插入一个新订户到主文件中)类型2:MODIFY(修改一个已有得订户记录)类型3:DELETE(删除一个已有得订户记录)事务就是按订户名字得字母顺序排序得。

如果对一个订户既有修改事务又有删除事务,则已对那个订户得事务排好次序了,以便使修改发生在删除之前。

2.分析图3、1所示得层次图,确定每个模块得内聚类型。

3.分析图3、2,确定模块之间得耦合类型。

在图3、2中已经给模块之间得接口编了号码,表3、1描述了模块间得接口。

4、假设您在一所职业高中工作,负责该校信息系统得建设与维护。

财务科长请您研究用学校拥有得微型计算机生成工资明细表与各种财务报表得可能性。

请详细描述您用结构化分析方法分析上述问题得过程。

用面向数据流方法设计工资支付系统得软件结构。

5.用3种方法计算图3、3所示流图得环形复杂度。

6、图3、4就是用程序流程图描绘得程序算法,请把它改画为等价得盒图。

7、某交易所规定给经纪人得手续费计算方法如下:总手续费等于基本手续费加上与交易中得每股价格与股数有关得附加手续费。

如果交易总金额少于1000元,则基本手续费为交易金额得8、4%;如果交易总金额在1000元到10000元之间,则基本手续费为交易金额得5%,再加34元;如果交易总金额超过10000元,则基本手续费为交易金额得4%加上134元。

当每股售价低于14元时,附加手续费为基本手续费得5%,除非买进、卖出得股数不就是100得倍数,在这种情况下附加手续费为基本手续费得9%。

当每股售价在14元到25元之间时,附加手续费为基本手续费得2%,除非交易得股数不就是100得倍数,在这种情况下附加手续费为基本手续费得6%。

第3章作业答案

第3章作业答案

第三章软件体系结构风格1、试对管道-过滤器风格、事件驱动风格、分层系统、C2风格进行分析比较。

管道-过滤器风格:由管道(称为连接件)和过滤器(称为构件)组成,每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。

这种风格的连接件就像是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入。

事件驱动风格:这种风格的构件是一些模块,模块既可以是一些过程,又可以是一些事件的集合。

过程可以用通用的方式调用,也可以在系统事件中注册一些过程,当发生这些事件时,过程被调用。

构件不直接调用一个过程,而是触发或广播一个或多个事件。

系统中的其它构件中的过程在一个或多个事件中注册,当一个事件被触发,系统自动调用在这个事件中注册的所有过程,这样,一个事件的触发就导致了另一模块中的过程的调用。

分层系统:将系统组织成一个层次结构,每一层为上层服务,并作为下层客户。

这种风格支持基于可增加抽象层的设计。

由于每一层最多只影响两层,同时只要给相邻层提供相同的接口,允许每层用不同的方法实现,同样为软件重用提供了强大的支持。

C2风格:通过连接件绑定在一起的按照一组规则运作的并行构件网络。

系统中的构件可实现应用需求,并能将任意复杂度的功能封装在一起;所有构件之间的通讯是通过以连接件为中介的异步消息交换机制来实现的。

2、层次系统结构和基于层次消息总线的系统结构有什么区别?在层次系统结构中,每一层为上层提供服务,并作为下层的客户。

在一些层次系统中,除了一些精心挑选的输出函数外,内部的层只对相邻的层可见。

在基于层次消息总线的体系结构中,通过系统消息总线或局部消息总线将各个构件连接在一起,各构件之间通过消息总线进行通信。

消息总线是系统的连接件,负责消息的分派、传递和过滤以及处理结果的返回。

3、试分析和比较二层C/S、三层C/S以及B/S体系结构,指出各自的优点和缺点。

二层C/S:优点:◎ C/S 体系结构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。

软件体系结构课后习题第三章作业

软件体系结构课后习题第三章作业

软件体系结构课后习题第三章作业题1.层次系统结构和基于消息的层次系统结构有什么区别?答:层次系统组织成一个层次结构,每一层为上层服务,并作为下层客户。

在一些层次系统中,除了一些精心挑选的输出函数外,内部的层只对相邻的层可见。

这样的系统中构件在一些层实现了虚拟机(在另一些层次系统中层是部分不透明的)。

连接件通过决定层间如何交互的协议来定义,拓扑约束包括对相邻层间交互的约束。

这种风格支持基于可增加抽象层的设计。

允许将一个复杂问题分解成一个增量步骤序列的实现。

由于每一层最多只影响两层,同时只要给相邻层提供相同的接口,允许每层用不同的方法实现,同样为软件重用提供了强大的支持。

而在基于消息的层次系统结构中构件不直接调用一个过程,而是触发或广播一个或多个事件。

系统中的其它构件中的过程在一个或多个事件中注册,当一个事件被触发,系统自动调用在这个事件中注册的所有过程,这样,一个事件的触发就导致了另一模块中的过程的调用。

这种风格的构件是一些模块,模块既可以是一些过程,又可以是一些事件的集合。

过程可以用通用的方式调用,也可以在系统事件中注册一些过程,当发生这些事件时,过程被调用。

这种风格的主要特点是事件的触发者并不知道哪些构件会被这些事件影响。

这样不能假定构件的处理顺序,甚至不知道哪些过程会被调用,因此,许多隐式调用的系统也包含显式调用作为构件交互的补充形式。

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

二层C/S结构的优点:◆C/S 体系结构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。

◆系统的客户应用程序和服务器构件分别运行在不同的计算机上,系统中每台服务器都可以适合各构件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小。

◆在C/S体系结构中,系统中的功能构件充分隔离,客户应用程序的开发集中于数据的显示和分析,而数据库服务器的开发则集中于数据的管理,不必在每一个新的应用程序中都要对一个DBMS进行编码。

软件工程第三章作业

软件工程第三章作业

软件工程第3章作业1需求分析阶段需要完成哪些具体工作?答:(1):准确了解用户情况和需要解决的问题;(2):对需求反复求精和细化;(3):需求建模;(4):编制需求规格说明书;(5):进行需求分析的评审;2、目前教学资料的管理工作主要由手工完成,教学资料包括:(1)教师完成的课程计划、课程教案、授课讲义等;(2)学生完成的考试试卷、课程实验报告、实习报告、课程设计报口等。

如果由你负责开发一个教学资料管理系统,该系统能够提供教学资料收集、教学资料维护、教学资料查询等功能,你将如何开展需求分析阶段的工作?答:第1步:准确了解教师和学生的工作情况和需要解决的问题;第2步:针对教师和学生的需求反复求精和细化;第3步:很据情况对需求进行建模;第4步:编制教师和学生需求规格说明书;第5步:进行需求分析的评审;3、银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。

(1)用分层数据流图描述本系统的功能;答:顶层DFD一层DFD二层DFD:(2)用数据字典定义数据流图中的重要数据。

4、目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。

某医院打算开发一个以计算机为中心的患者监护系统。

医院对患者监护系统的基本要求是:随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息;此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。

请分层次画出描述本系统功能的数据流图。

顶层DFD一层DFD。

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

题1.层次系统结构和基于消息的层次系统结构有什么区别?
答: 层次系统组织成一个层次结构, 每一层为上层服务, 并作为下层客户。

在一些层次系统中, 除了一些精心挑选的输出函数外, 内部的层只对相邻的层可见。

这样的系统中构件在一些层实现了虚拟机( 在另一些层次系统中层是部分不透明的) 。

连接件经过决定层间如何交互的协议来定义, 拓扑约束包括对相邻层间交互的约束。

这种风格支持基于可增加抽象层的设计。

允许将一个复杂问题分解成一个增量步骤序列的实现。

由于每一层最多只影响两层, 同时只要给相邻层提供相同的接口, 允许每层用不同的方法实现, 同样为软件重用提供了强大的支持。

而在基于消息的层次系统结构中构件不直接调用一个过程, 而是触发或广播一个或多个事件。

系统中的其它构件中的过程在一个或多个事件中注册, 当一个事件被触发, 系统自动调用在这个事件中注册的所有过程, 这样, 一个事件的触发就导致了另一模块中的过程的调用。

这种风格的构件是一些模块, 模块既能够是一些过程, 又能够是一些事件的集合。

过程能够用通用的方式调用, 也能够在系统事件中注册一些过程, 当发生这些事件时, 过程被调用。

这种风格的主要特点是事件的触发者并不知道哪些构件会被这些事件影响。

这样不能假定构件的处理顺序, 甚至不知道哪些过程会被调用, 因此, 许多隐式调用的系统也包含显式调用作为构件交互的补充形式。

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

二层C/S结构的优点:
◆C/S 体系结构具有强大的数据操作和事务处理能力, 模型思想简单, 易于人们理解和接受。

◆系统的客户应用程序和服务器构件分别运行在不同的计算机上, 系统中每台服务器都能够适合各构件的要求, 这对于硬件和软件的变化显示出极大的适应性和灵活性, 而且易于对系统进行扩充和缩小。

◆在C/S体系结构中, 系统中的功能构件充分隔离, 客户应用程序的开发集中于数据的显示和分析, 而数据库服务器的开发则集中于数据的管理, 不必在每一个新的应用程序中都要对一个DBMS 进行编码。

将大的应用处理任务分布到许多经过网络连接的低成本计算机上, 以节约大量费用
二层C/S结构的缺点:
◆开发成本较高
◆客户端程序设计复杂
◆信息内容和形式单一
◆用户界面风格不一, 使用繁杂, 不利于推广使用
◆软件移植困难
◆软件维护和升级困难
◆新技术不能轻易应用
三层C/S结构的优点:
◆允许合理地划分三层结构的功能, 使之在逻辑上保持相对独立性, 能提高系统和软件的可维护性和可扩展性。

◆允许更灵活有效地选用相应的平台和硬件系统, 使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层; 而且这些平台和各个组成部分能够具有良好的可升级性和开放性。

◆应用的各层能够并行开发, 能够选择各自最适合的开发语言。

◆利用功能层有效地隔离开表示层与数据层, 未授权的用户难以绕过功能层而利用数据库工具或黑客手段去非法地访问数据层, 为严格的安全管理奠定了坚实的基础。

三层C/S结构的缺点:
◆三层C/S结构各层间的通信效率若不高, 即使分配给各层的硬件能力很强, 其作为整体来说也达不到所要求的性能。

◆设计时必须慎重考虑三层间的通信方法、通信频度及数据量。

这和提高各层的独立性一样是三层C/S结构的关键问题。

B/S体系结构的优点:
◆基于B/S体系结构的软件, 系统安装、修改和维护全在服务器端解决。

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

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

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

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

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

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

题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.在软件开发中, 采用异构结构有什么好处, 其负面影响有哪些?
答: 所有的体系结构不但有很紧密的联系, 而且在大多数情况下是被一起使用的。

对于一个实际的系统, 甚至不能判断它是A风格、 B风格还是C风格, 因为没有足够的理由把它归为任何一种独立的体系结构风格。

这种系统类型被称为异构结构。

上图展示了一个虚拟系统, 它整合了许多体系结构风格。

能够把整个系统当成一个分层系统。

这样它能够被分成两层: 第1层是原始数据生成层, 第2层是解释层。

在第1层, 主要的组成部分是管道-过滤器子系统。

相关文档
最新文档