电子科技大学林迪软件体系结构课后习题Word格式.docx

上传人:b****6 文档编号:19155636 上传时间:2023-01-04 格式:DOCX 页数:19 大小:109.27KB
下载 相关 举报
电子科技大学林迪软件体系结构课后习题Word格式.docx_第1页
第1页 / 共19页
电子科技大学林迪软件体系结构课后习题Word格式.docx_第2页
第2页 / 共19页
电子科技大学林迪软件体系结构课后习题Word格式.docx_第3页
第3页 / 共19页
电子科技大学林迪软件体系结构课后习题Word格式.docx_第4页
第4页 / 共19页
电子科技大学林迪软件体系结构课后习题Word格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

电子科技大学林迪软件体系结构课后习题Word格式.docx

《电子科技大学林迪软件体系结构课后习题Word格式.docx》由会员分享,可在线阅读,更多相关《电子科技大学林迪软件体系结构课后习题Word格式.docx(19页珍藏版)》请在冰豆网上搜索。

电子科技大学林迪软件体系结构课后习题Word格式.docx

2、试分析和比较B/S,二层C/S和三层

C/S,指出各自的优点和缺点。

28

3、SIS和DSSA分别用在哪些场合?

..30

4、在软件开发中,采用异构结构有什么好

处,其负面影响有哪些?

32

第四章:

软件体系结构描述33

1、体系结构描述有哪些?

有哪些标准和规

范?

33

2、体系结构描述语言与程序设计语言的区

别?

34

3、选择一个规模适中的系统,使用UML

为其建模。

36

1、什么是动态软件体系结构?

动态软件体系结构与静态软件体系结构有什么区别?

2、基于构件的动态软件体系结构模型的层

次结构是什么?

37

第六章:

Web服务体系结构和SOA38

1、什么是Web服务体系结构?

与传统的结构相比,使用Web服务有哪些好处?

38

2、在Web服务中,如何实现其松散耦合

3、试分析服务提供者、服务请求者和服务

代理三者的作用,以及它们之间的工作流程。

40

4、试解释Web服务栈的层次结构。

...40

5、Web服务有哪些核心技术,这些技术是

如何在Web服务中发挥作用的。

41

6、从管理的角度看,SOA有什么优点?

42

7、在实际开发中,如何实现Web服务和

SOA结构?

43

第七章:

基于体系结构的软件开发46

1、请把基于体系结构的软件开发模型与其

他软件开发模型进行比较。

46

2、请把基于体系结构的软件设计方法与其

他软件设计方法进行比较。

49

3、如何才能提高软件系统的可演化性。

51第八章:

软件体系结构的分析与测试52

1、什么是软件体系结构的可靠性?

为什么

2、如何模型化系统的可靠性?

53

3、软件体系结构风险分析有哪些基本步

骤?

534、软件体系结构测试与程序测试的主要区

别是什么?

54

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

答:

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

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

或:

软件重用项目需要考虑生产可重用软部件的机

制。

同时,软件重用项目可以减少

开发活动中大量的重复性工作,能提高软件生产率,降低开发成本,缩短开发周期。

同时由于大量使用软构件,软件的灵活性和标准化程度也可望得到提高。

因此,软件

重用项目在管理是比非重用项目更节约管理资源,同时管理起来更方便。

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

参加了一个网页管理系统的开发,该项目重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。

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

3、为什么要研究软件体系结构?

所谓软件体系结构的分析评估,就是事先通过代价低廉的评估活动来识别软件结构中存在的潜在风险,找出软件体系结构中影响系统质量的主要因素及改进措施,并在此基础上检验软件的质量需求是否在具体设计中得到实现,并预见未来软件质量。

软件体系结构在软件开发和管理中扮演者越来越重要的角色,软件体系结构设计对软件质量有着至关重要的影响,对此最终确保系统的质量有重要的意义。

软件体系结构评估,是对系统的某些值的关心的属性进行评估和判断。

评估的结果可用于确认潜在的风险,并检查设计阶段系统需求的质量,在系统被实际构造之前,预测其属性质量。

1.软件体系结构是系统开发中不同参与者进行交流和信息传播的媒介。

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

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

型。

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

构件(component)可以是一组代码,如程序的模块;

也可以是一个独立的程序(如数据库的SQL服务器);

连接件(connector)是关系的抽象,用以表示

构件之间的相互作用。

如过程调用、管道、远程过程调用等;

限制(constrain):

用于对构件和连接件的语义说明。

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

(1)缺乏同意的软件体系结构的概念,导

致体系结构的研究范畴模糊。

(2)ADL繁多,缺乏统一的ADL的支持。

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

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

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

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

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

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

6、根据自己的经验,谈谈对软件危机的看法?

6.1、软件危机的表现?

软件成本日益增长

由于软件是逻辑、智力产品,软件的开发需建立庞大的逻辑体系,这是与其他产品的生产不一样的。

在软件开发过程中,用户需求变化等各种意想不到的情况层出不穷,令软件开发过程很难保证按预定的计划实现,给项目计划和论证工作带来了很大的困难。

盲目增加软件开发人员并不能成比例地提

高软件开发能力。

相反,随着人员数量的增加,人员的组织、协调、通信、培训和管理等方面的问题将更为严重。

开发进度难以控制

软件质量差

软件项目即使能按预定日期完成,结果却不尽人意。

1965年至1970年,美国范登堡基地发射火箭多次失败,绝大部分故障是由应用程序错误造成的。

在“软件作坊”里,由于缺乏工程化思想的指导,程序员几乎总是习惯性地以自己的想法去代替用户对软件的需求,软件设计带有随意性,很多功能只是程序员的“一厢情愿”而

已,这是造成软件不能令人满意的重要因素。

软件维护困难

由于在软件设计和开发过程中,没有严格遵循软件开发标准,各种随意性很大,没有完整的真实反映系统状况的记录文档,给软件维护造成了巨大的困难。

特别是在软件使用过程中,原来的开发人员可能因各种原因已经离开原来的开发组织,使得软件几乎不可维护

6.2、软件危机的原因?

用户需求不明确

在软件开发完成之前,用户不清楚软件的具体需求;

用户对软件需求的描述不精确,可能有遗漏、

有二义性、甚至有错误;

在软件开发过程中,用户还提出修改软件功

能、界面、支撑环境等方面的要求;

开发人员对用户需求的理解与用户本来愿望

有差异。

缺乏正确的理论指导

缺乏有力的方法学和工具方面的支持。

由于软件不同于大多数其他工业产品,其开发过程是复杂的逻辑思维过程,其产品极大程度地依赖于开发人员高度的智力投入。

由于过分地依靠程序设计人员在软件开发过程中的技巧和创造性,加剧软件产品的个性化,也是发生软件危机的一个重要原因。

软件规模越来越大

随着软件应用范围的增广,软件规模愈来愈

大。

大型软件项目需要组织一定的人力共同完成,而多数管理人员缺乏开发大型软件系统的经验,而多数软件开发人员又缺乏管理方面的经验。

各类人员的信息交流不及时、不准确、有时还会产生误解。

软件项目开发人员不能有效地、独立自主地处理大型软件的全部关系和各个分支,因此容易产生疏漏和错误。

软件复杂度越来越高

软件不仅仅是在规模上快速地发展扩大,而且其复杂性也急剧地增加。

软件产品的特殊性和人类智力的局限性,导致人们无力处理"

复杂问题”。

所谓“复杂问题”的概念是相对的,一旦人们采用先进的组织形式、开发方法和工具提高了

软件开发效率和能力,新的、更大的、更复杂的问题又摆在人们的面前。

6.3、如何克服软件危机?

人们面临的不光是技术问题,更重要的是管理问题。

管理不善必然导致失败。

要提高软件开发效率,提高软件产品质量,必须采用工程化的开发方法与工业化的生产技术。

在技术上,应该采用基于重用的软件生产技术;

在管理上,应该采用多维的工程管理模式。

7、研究软件体系结构的意义是什么?

(1)体系结构是风险承担者进行交流的手段软件体系结构代表了系统公共的高层次的抽象。

这样,系统的大部分有关人员(即使不是全部)能把它作为建立一个互相理解的基础,形成统一认识,互相交流。

(2)体系结构是早期设计决策的体现

明确了对系统实现的约束条件

决定了开发和维护组织的组织结构

制约着系统的质量属性

通过研究软件体系结构可能预测软件的质量

使推理和控制更改更简单

有助于循序渐进的原型设计

可以作为培训的基础

(3)软件体系结构是可传递和可重用的模型

软件体系结构级的重用意味着体系结构的决策

能在具有相似需求的多个系统中发生影响,这比代码级重用的作用更大。

8、从哪些方面评估软件体系结构?

(1)性能是指系统的影响能力,即要经过多长时间才能对某个事件作出响应,或者在某段事件内系统所能处理的事件的个数。

(2)可靠性是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力。

(3)可用性是系统能够正常运行的时间比例。

经常用两次故障间的时间长度或在出现故障时系统能够恢复正常的速度来表示。

(4)

安全性是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。

安全性又可划分为机密性、完整性、不可否认性及可控性等特性。

(5)可修改性是指能够快速的以较高的性能代价比对系统进行变更的能力。

(6)功能性是系统所能完成所期望的工作的能力。

(7)可变性是指体系结构经扩充或变更而成为新体系结构的能力。

(8)可集成性是指系统能与其他系统协作的程度(9)互操作性是指与其他环境或者系统本身相互作用的能力。

软件体系结构建模

1、选择一个规模合适的系统,为其建立“4+1

模型。

ATM恥软粗杀轻

逻辑视图(LogicalView),设计的对象模型

(使用面向对象的设计方法时)

开发视图(DevelopmentView),描述了在

开发环境中软件的静态组织结构

 

进程视图(ProcessView),捕捉设计的并发

和同步特征。

物理视图(PhysicalView),描述了软件到硬件的映射,反映了分布式特性。

架构的描述,即所做的各种决定,可以围绕着这

四个视图来组织,然后由一些用例(usecases)或场景(seenarios)来说明,从而形成了第五个视图。

编程人员:

软件管理

2、引入了软件体系结构以后,传统软件过程发生了哪些变化?

这种变化有什么好处?

软件体系结构的引入使软件设计开发更加具体和形象,它的模型更使得软件过程更加方便和多样化。

其好处在于:

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

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

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

第三章:

软件体系结构风格

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、SIS和DSSA分别用在哪些场合?

1.DSSA只对某一个领域进行设计专家知识的提取,存储和组织,但可以同时使用多种体系结构风格;

而在某个体系结构风格中进行体系结构设计专家知识的组织时,可以将提取的公共结构和设计方法扩展到多个领域。

2.DSSA的特定领域参考体系结构通常选用一个或多个适合所研究领域的体系结构风格,并设计一个该领域专用的体系结构分析设计工具。

3.体系结构风格的定义和该风格应用的领域是直交的,提取的设计知识比用DSSA提取的设计专家知识的应用范围要广。

4.DSSA和体系结构风格是互为互补的两项技术。

SIS:

交互式网络互连服务DSSA:

特定领域的软件体系结构

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

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

2•软件包,框架,通信以及其他一些体系机构上的问题,目前存在者多中标准。

即使再某一段时间内某一标准占据着统治地位,但变动最终是绝对的。

3.工作中,我们总会遇到一些遗留下的代码,它们仍有效用,但是却与新系统有某种程度上的不协调。

然而在很多场合,将技术与经济综合进行考虑时,总是决定不重写它们。

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

负面影响:

大多数应用程序只使用10%的代码实现系统的公开功能,剩下90%的代码完成系统管理功能:

输入和输出,用户界面,文本编辑,基本图表,标准对话框,通信,数据确认和旁听追踪,特定领域的基本定义等。

软件体系结构描述

1、体系结构描述有哪些?

有哪些标准和规范?

体系结构描述方法:

(1)图形表达工具:

由矩形框和有向线段组合而成。

(2)模块内连接语言:

将一种或几种传统程序设

计语言的模块连接起来的语言

(3)基于软构件的系统描述语言:

将软件系统描述成一种是由许多以特定形式相互作用的特殊软件实体构造组成的组织或系统。

(4)软件体系结构描述语言:

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

体系结构描述的标准和规范:

IEEEP1471:

于2000年9月21日通过

IEEE-SA标准委员会评审。

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

◎构造能力:

ADL能够使用较小的独立体系结构元素来建造大型软件系统;

◎抽象能力:

ADL使得软件体系结构中的构件

和连接件描述可以只关注它们的抽象特性,而不管其具体的实现细节;

◎重用能力:

ADL使得组成软件系统的构件、连接件甚至是软件体系结构都成为软件系统开发和设计的可重用部件;

◎组合能力:

ADL使得其描述的每一系统元素都有其自己的局部结构,这种描述局部结构的特点使得ADL支持软件系统的动态变化组合;

◎异构能力:

ADL允许多个不同的体系结构描述关联存在;

◎分析和推理能力:

ADL允许对其描述的体系结构进行多种不同的性能和功能上的多种推理分析。

典型元素含义比较:

软件体系结构

程序构件

组戚程序的基本元盍及其取值

或值域范围

系統构件

模块化级别的系统组成成分实库,这些实悴可以被施以抽彖的特性化处理,并以多种方式得到使用

操作符

连接构件的各种功能符号

连接件

对组成系统的有关抽家实悴迸行各种连接的连播机制

抽象规则

肓关构件和操作符的命名表这规则

组合模式

系统中的构件和连播件进行连搏组合的特殊方式,也就是软件郎系结构的侃洛

限制规则

一组选择并决定具体渎用何种抽案规则来作用于育关的基本构件及其操作符的规1则和原理

限隼J规则

决定有关模式能够作为子系统进行大型软件系统构造和开发的合法子系统的有关条件

规范说朋

有关句法的语义关联说明

规范说明

荷关系统组织结构方面的语义关联说明

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

建模。

第五章:

动态软件体系结构

1、什么是动态软件体系结构?

动态软件体系结

构与静态软件体系结构有什么区别?

动态软件体系结构的动态性包括:

交互性动态性,结构化动态性,体系结构动态性。

由于系统需求,技术,环境,分布等因素的变化而最终造成软件体系结构的变动,称之为软件

体系结构演化。

软件系统在运行时刻的体系结构变化称之为软件体系结构的动态性,动态软件体系结构的动态性包括:

交互性动态性,结构化动态性,体系结构动态性。

2、基于构件的动态软件体系结构模型的层次结构是什么?

基于构件的动态系统结构模型支持运行系统的动态更新,该模型分为三类,分别是应用层,中间层和体系结构层。

(1)应用层:

处于最底层,包括构件链接,

构件接口和执行

(2)中间层:

包括连接件配置,构件配置,构件描述及执行

(3)体系结构层:

位于最上层,控制和管

理整个体系结构,包括体系结构配置,体

系结构描述和执行。

Web服务体系结构和SOA

与传统的结构相比,使用Web服务有哪些好处?

Web服务作为一种新兴的Web应用模式,是一种崭新的分布式计算模型,是Web上数据和信息集成的有效机制。

Web服务就像Web上的构件编程,开发人员通过调用Web应用编程接口,将Web服务集成进他们的应用程序,就像调用本地服务一样。

这主要包括一下模块内容:

数据层、数据访问层、业务层、业务面、监听者;

Web服务的不同描述:

应用的风不是;

应用到应用的交互;

平台无关性;

Web服务开发生命周期:

构建、部署、运行、管理;

Web服务的特点:

使用标准协议规范;

使用协越的规范性;

高度集成能力;

完好的圭寸装性;

松散耦合;

与传统的结构相比,具有以下几个优点:

高度的通用性和易用性;

完全的平台、语言独立性;

高度的集成性;

容易部署和发布;

2、在Web服务中,如何实现其松散耦合的特点?

C/S结构是松散耦合系统,它们通过消息传递机制进行通话,由客户端发出请求给服务器,服务器进行相应处理后经传递机制送回客户端。

3、试分析服务提供者、服务请求者和服务代理三者的作用,以及它们之间的工作流程。

服务请求者与服务提供者通过语义进行交

互,服务提供者提交web服务描述给服务代理

者,服务代理者返回web服务描述给服务请求

服务代理

绑定

服务请求者服务提供者

4、试解释Web服务栈的层次结构。

XML(可扩展标记语言)、SOAP(简单对象访问协议)、WSDL(web服务定义语言)、UDDI(统一描述发现和集成)。

发现服务

UDD1.DISCO

描述服务

WSDL.XMLSchema

消息格式层

SOAP

编码格式层

XML

传输协议层

HTTP,TCP/IP,SMTP等

5、Web服务有哪些核心技术,这些技术是如何在Web服务中发挥作用的。

Web服务技术核心基于可扩展标记语言

XML的标准,包括简单对象访问协议,Web服务描述语言和统一描述,发现和集成协议。

SOAP定义了三部分:

定义了描述消息和如何处理消息的框架的封装,表达应用程序定义的数据类型实例的编码规则以及描述远程调用和应答的协议和SOAP编订

WSDL为服务者提供以XML格式描述的WEB服务请求的标准格式,经网络服务描述为能够进行消息交换的通信端点集合,以表达一个Web服务能做什么,他的位置在哪里,以及如何调用等信息。

UDDL规范描述了Web的概念,同时也定义了一种编程接口。

通过UDDL提供的标准接口,企业可以发布自己的Web服务供其他企业调用和查询

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学反思汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1