当前位置:文档之家› 软件设计与体系结构考试重点

软件设计与体系结构考试重点

软件设计与体系结构考试重点
软件设计与体系结构考试重点

2.《人月神话》提出两条著名的法则:1.人月神话:向一个已经延后的项目中投入更多的人力资源,只会让他更延后。2.没有银弹:没有一种策略技术技巧可以极大地提高程序员的生产力。

15.软件设计的一般过程

16.软件设计的主要活动

1)软件设计计划2)体系结构设计3)界面设计

4)模块/子系统设计5)过程/算法设计6)数据模型设计

17.

18.软件可信性质有以下几种。

(1)可能性:在规定的环境下、规定的时间内软件无失效运行的能力。

(2)可靠安全性: 软件运行不引起危险、灾难的能力。

(3)保密安全性:软件系统对数据和信息提供保密性、完整性、可用性、真实性保障的能力。

(4)生存性;软件在受到攻击或出现失效时连续提供服务并在规定时间内恢复所有服务的能力。

(5)容错性: 软件在故障(硬件环境异常)出现时保证提供服务的能力。

(6)实时性;软件在指定的时间内完成反应或提交输出的能力

19什么是软件体系结构风格

软件体系结构风格是描述某一特定应用领城中系统组织方式的惯用模式。体系结构风格定义一个系统家族,即一个体系结构定义一个词汇表和一组约束。词汇表中包含了一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。体系结构风格反映了领城中众多系统所共有的结构和谐义特征,并指导如何将各个模块和子系统有效地组织成一个完整的系统、按这种方式理解、软件体系结构风格定义了用于描述系统的术语表和一组指导构建系统的规则。

20黑板风格的体系结构的优点如下:

(1)便于多客户共享大量数据。他们不用关心数据是何时出现的、谁提供的,以及怎样提供的。

(2)既便于添加新的作为知识源代理的应用程序也便于扩展共享的黑板数据结构。

(3)可重用的知识源。

(4)支持容错性和健壮性。

黑板风格的体系结构的缺点如下:

(1)不同的知识源代理对于共享数据结构要达成一致,而且,这造成了对黑板数据结构进行修改较为困难。

(2)需要一定的同步锁机制保证数据结构的完整性和致性,增加了系统复杂度。

(3)测试困难(4)不能保证有好的求解方案。(5) 低效。(6)开发成本高。

21.C/S风格优缺点

优点主要在系统的客户端应用程序和服务器构件分别运行在不同的计算机上,系统中的每台服务器都可以适合各构件的要求,这对于硬件与软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小。在C/S体系结构中,系统中的功能件充分隔离。客户端应用程序的开发集中于数据的显示和分析,而数据库服务器的开发则集中数据的管理,不必在每一个新的应用程序中都对一个DBMS 进行编码。将大的应用处理任务分布到许多通过网络连接的低成本计算机上,可以节约大量费用。

缺点:

(1)开发成本较高。(2) 客户端程序设计复杂。(3)信息内容和形式单一。

(4)用户界面风格不一,使用繁杂,不利于推广使用。(5)软件移植困难。

(6)软件维护与升级困难。(7)新技术不能轻易应用。

22.三层C/S结构风格

1表示层2功能层3数据层

23.三层C/S结构的优点

与传统的二层结构相比,三层C/S结构具有以下优点:

(1)允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,从而使整个系统的逻辑结构更为清晰,能提高系统与软件的可维护性和可扩展性。

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

(3)在三层C/S结构中,应用的各层可以并行开发,各层也可以选择各自最适合的开发语言,使之能并行地而且高效率地进行开发,达到较高的性能价格比,对每一层的处理逻辑的开发和维护也会更容易一些。

(4)允许充分利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而利用数据库工具或黑客手段非法地访问数据层,这就为严格的安全管理奠定了坚实的基础;整个系统的管理层次也更加合理和可控制。

24.C/S/与B/S混合结构风格

B/S与C/S混合软件体系结构是一种典型的异构体系结构。

优点是外部用户不直接访向数据库服务器。从而能保证企业数据库的相对安全。另外,企业内部用户的交互性较强.数据查询和修改的响应速度较快。

缺点是企业外部用户修改和维护数据时速度较慢,较烦琐,数据的动态交互性不强。

25.正交软件体系结构的概念

正交软件体系结构由组织层和线索的构件构成。其中,层是由一组具有相同抽象级别的构件构成的,线索是子系统的特例,它由完成不同层次功能的构件组成(通过相互调用来关联),每一条线索完成整个系统中相对独立的一部分功能。每条线索的实现与其他线索的实现无关或关联很少,在同一层中构件之间是不存在相互调用的。

26.正交软件体系结构具有以下优点:

(1)结构清晰,易于理解。(2)易修改,可维护性强。(3)可移植性强,

27.使用异构结构的原因

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

(2)关于软件包、框架通信以及其他一些体系结构上的问题,目前存在多种标准,即使在某段时间内某一种标准占统治地位,但变动最终是绝对的。

(3)在实际工作中开发人员总会遇到一些遗留下来的代码,它们仍然有用,但是与新系统有着某种程度上的不协调。而在许多场合将技术与经济综合进行考虑时,总是决定不再重写它们。

(4) 即使在某一单位中规定了共享共同的软件包或相互关系的一些标准,仍会存在解释或表示习惯上的不同。在UNIX中就可以发现这类问题.即使规定用单一的标准(ASCII)来保证过滤器之间的通信,但因为不同人对关于在ASCII流中信息如何表示的假设不同,不同的过滤器之间仍可能不协调。

28.异构体系结构的实例

1.“内外有别”模型

2.“查改有别”模型

29.面向对象的系统开发过程概述

面向对象的思想已经涉及软件开发的各个阶段,如面向对象分析(OOA)、面向对象设计(OOD)面向对象编程(OOP)。面向对象的系统开发生命周期由分析阶段、设计阶段、实现阶段组成,每个阶段都可以相互反馈,整个过程是一种迭代、渐增的开发过程。

1.首先要进行面向对象分析,其任务是了解问题域所涉及的对象、对象间的关系和作用(即操作),针对不同的问题性质选择不同的抽象层次,然后构造问题的对象模型,使该模型能精确地反映所要解决的“实质问题”。

2.其次就是面向对象设计,即设计软件的对象模刑。根据所应用的面向对象软件开发环境的功能强弱不等,在对问题的对象模型的分析基础上,可能要对它进行一定的改造,但应以改变原问题域的对象模型最少为原则。然后在软件系统内设计各个对象对象间的关系(如层次关系、继承关系等、对象回的通信方式(如消息模式)等,总之是设计各个对象的职责。

3.最后是面向对象编程,即软件功能的编码实现,主要工作包括每个对象的内部功能的实现;确定对象的哪些处理能力在哪些类中进行描述;确定并实现系统的界面、输出的形式及其他控制机理等,需要实现OOD阶段规定的各个对象所应完成的任务。

30.下面给出画数据流图的一般步骤:

(1)首先,找出数据源点和汇点,它们是外部实体,由它们确定系统与外界的接口。(2)找出外部实体的输出数据流与输入数据流,画出顶层数据流图。

(3)从顶层加工出发,逐步细化,画出所需的子图,分析系统的主要处理功能,把每一个处理

功能作为一个加工,并且确定它们之间的数据流入和流出关系,画出第一层数据流图。(4)对当前层流图中的每个加工进行细化,画出所需的子图,直到加工不需要再分解为止。

31.数据流图

33. 面向数据流的需求分析方法步骤

(1)理解当前的现实环境,获得当前人工系统的具体模型。

(2)从当前系统的具体模型抽象出当前系统的逻辑模型。事益村路8

(3)分析目标系统与当前系统逻辑上的差别,建立目标系统的逻辑模型。5 9

(4)为目标系统的逻辑模型做补充。

36.合理的以用户为中心的界面设计分为6个阶段。

第一阶段:产品概念的开发。

第二阶段:调查研究和需求分析

第三阶段:设计思路和关键屏幕画面原型。

第四阶段:反复的设计和改进。

第五阶段:软件的实现。

第六阶段:大力推广

39设计模式的核心思想是总结和积累前人成功的设计经验,通过对这此经验的学习,使得人们在面对新的设计问题时不用再重复所有的环节,而是尽量套用已有的模式,以提高编程的效率。模式是解决特定问题的经验,实质上是软件的复用。模式由特定的环境、问题以及解决方案3个要素组成,按照软件开发的层次可以分为体系结构模式、设计模式、程序模式。体系结构模式属于层次较高的模式,设计模式是对被用来在特定场景下解决一般设计问题的类和相互通信的对象的描述。由于在以往的软件开发中,设计者经常在某种特定场合中遇到一些以前经常出现或感觉似曾相似的问题,直截了当的解决方案就是套用原有的经过证明的

解决方案,或参考别人成熟的思路来解决。长时间下来,通过不断地完善并文档化就形成了针对这种问题的处理模式,形成了特定问题的解决方案。

43.什么是EJB?它有哪些特点?

EJB规范是Sun公司于1997年12月发布的JavaBean 构件模型。一个EJB是特定的在服务器上运行的JavaBean,并且EJB能在可视化的工具下装配成新的应用。EJB应用程序只能用Java语言编写,且必须使用EJB API。编写良好的EJB应用程序无须修改任何源代码就可以在J2EE认证的应用服务器之间移植和互操作。

EIB具有以下特点:

(1) EJB以构件的形式组织服务器,EJB构件是直接用Java语言编写的服务器构件。Java语言编写的跨平台特性使得EJB构件可以非常方便地移植到各种操作系统平台和EJB服务器上。

(2) EJB构件的实现仅需考虑应用需求,其系统级服务(如事务管理、安全性、构件生命周期与线程等)都是通过EJB服务器自动进行管理的。

(3) EJB体系结构具有面向对象、分布式跨平台、可扩充性、安全性以及便于开发等特点,同时它还以协议为中心,任何协议都可以被利用。

44EJB 由哪些角色组成?其结构的优缺点有哪些?

1角色

1.EJB组件开发者

2.应用组合者

3.部署者

4.EJB服务提供者

5.EJB容器提供者6系统管理者

2.EJB构件模型的优点如下:

(1)EJB将成为用Java语言开发分布式的、面向对象的企业级应用系统的标准构件体系构.EJB 使得通过组合构件得到分布式应用系统成为可能

(2)EJB使得应用系统开发变得容易,应用系统开发人员不需要理解底层的事务处理细节、状态管理、多线程、资源共享管理以及其他复杂的底层API细节。

(3)EJB遵行Java的“一次编译,到处运行"的思想,一旦一个EJB开发完成之后就可以部署在任何支持EJB的平台上,而不需要重新编译或对源代码进行修改。

(4)EJB定义了一个协议,使用不同供应商提供的工具开发和部署的构件能在运行时互操作,

(5)EJB体系结构与已有的服务器平台其他的Java APL、CORBA等兼容。

(6)EJB支持Enterprise Beans和其他的非Java应用系统的互操作性。

采用EJB开发应用系统有很多优点:

(1)标准的Java技术的便利应用系统可以在许多不同的服务器平台上运行。

(2)修改应用系统变得容易,对单个构件进行增加、修改、删除等操作不会对应用系统的体系结构产生很大的影响。

(3)应用系统经过划分之后,使得构件之间相互独立,又可以相互协作,提供给用户的是该用户所需要的构件。

(4)应用系统的开发变得容易,基本上是即插即用的方式。

(5)应用系统从本质上说是叮伸缩的,可以运行在多线程多处理机的环境中。(6)可以在新的应用系统中得到重用,减少了新系统的开发时间。

同时,EJB也存在些缺点,主要有:

(1)EJB的数量可能非常多,以至于在软件开发库中很难对这些EJB进行跟踪和管理。

(2)如果应用开发人员不能正确地使用EJB,可能会导致不恰当的应用系统设计,结果使得应用系统的总体性能下降。

(3)除非WM及编译器的性能得到提高,否则EJB应用系统的性能仍将是一个问题。

(4)由于EJB技术出现时间不长,目前可用的EJB还不多,要想得到大量的商业性EJB还需要一段时间。

45.什么是DCOM? DCOM的特性和优势有哪些?

DCOM是一系列微软的概念和程序接口,利用这个接口,客户端程序对象能够请求来自网络中另一台计算机上的服务程序对象,DCOM基于组件对象模型https://www.doczj.com/doc/9c11415510.html,提供了一套允许同一台计算机上的客户端与服务器之间进行通信的接口。

DCOM的特点

1.组件和复用

2.位置独立性

3.语言无关性

4、连接管理

5.可扩展性

6.对称的多进程处理

46.软件体系结构评估方法所关注的质量属性有哪些?

1功能性2可靠性3可用性4有效性5可维护性6.可移植性

2.风险承担者包括哪些人员?

系统体系结构所涉及到的人员。包括架构设计师、开发人员、维护人员等。

47什么是场景?基于场景的软件体系结构评估方法有哪几种?

场景是对于风险承担者与系统进行交互的简短描述。一般采用刺激、环境、响应三个方面来描述场景。

评估方法:SAAM 与ATAM

48.简述SAAM方法的评估步骤。

49.比较SAAM和ATAM两种方法的异同点。

场景的生成方式不同

风险承担者商业动机表述方式不同

软件体系结构的描述方式不同

第十三章

51.简述软件演化的几种定义,这几种定义各有哪些侧重点?

Manny Lehman和Juan F. Ranil定义:有目的地从早期的可操作版本来产生新的软件版本的所有规划设计活动。

L. A. Belady定义:软件系统在它们的生命周期里被维护和增强的动态行为。

NedChapin定义:它是软件维护活动和过程的一个运用以及对这些活动和过程质量的保证和管理。这些活动和过程是用来从一个早期的可运行版本中产生一个新的软件版本,这个新的软件必须满足客户要求改变的功能或属性。

50.造成软件演化的原因有哪些?

软件系统开发完成并且投人使用之后,变更就悄悄开始进行了。这些变更一部分来自于对软件缺陷的改正,例如软件使用后暴露的缺陷,软件的性能和可靠性的改进;一部分会随着新的需求浮现出来,例如实现新的功能;另一部分来自于外界的环境变化给软件带来的压力,例如商业模式和环境的不断改变,计算机硬件和软件环境的升级,业务的变更,等等。54.简述软件再工程模型。

58.软件如何重构?说一说常见的软件重构的方法

(1)大量重复的代码:尽量消除重复的代码,,将它们合而为根据重复的代码出现在不同的地方,分别采取不同的重构策略

①在同一个类(Class)的不同地方:提炼出重复的代码,然后生这些地方调用上述提炼出的方法。

②在不同子类(Subclass)中:提炼出重复的代码然后通过提开将该方法移动到上级Super class 内.

③在没有关系的类(Class)中:将重复的代的提炼到一个新类中,然后在另个Cass中调用生成的新类,消除重复的代码。

(2)过长的方法参数序列: 如果可以向已存在的对象查询获取参数,则可通过移除参数列,在雨数内部向上述已存在的对象查询获取参数。如果参数列中的若干参数是已存在对象的属性,则可通过使用已存在的对象,取代这些参数将这些参数替换为一个完整的对象,这样不仅提高了代码的可读性同时已易于代码今后的维护。另外,还可以将若T不相关的参数通过创建新的参数对象创建一一个新的参数类。不过,笔者认为如果这些情况过多,会产生很多莫名其妙的参数类,反而降低了代码的可读性。

(3) 代码量过大的方法体或类体:对于代码最过大的方法,拆解过长的函效。

(4) 过多的if eise和switch-case逻辑:看多态能不能取代条件式,如果能,使用多态。如果不能应该重新考虑程序的逻辑结构。

另一种情况是if 和else句子何非常相似,那么考虑将其重写,使同样的代码段无论对于那种情况都能生成正确的结果,然后去除条件式。

(5)局部变量的“全局”化:,如果是方法体内的就放在方法体内.如果是代码段内的就放在代码段。

(6)数据集合类:该用get方法的时候还是要用。对于数据集合类,最好的解决方法是不要让客户直接去读取这些类的值域,而需要封装起来.然后设置get/set接口,让客户通过这些接口去读取数据。

(7)数据泥团:通过创建新的参数对象取代这些参数,或使用已存在的对象取代这些参数,实现使用对象代替Class成员变量和方法中的参数列表,清除数据泥团,使代码简洁,也提高了维护性和易渎性。

(8)注释的问题:如果需要注释/解释一段代码做了什么,则可以试试提取出一个独立的函数,让函数名称解释该函数的用途/功能。另外,如果觉得需要通过注释来说明系统的某些假设条件,可以尝试引入断言来明确标明这些假设。

(9)死代码:赶紧清除它们,不要为以后着想,以后的问题不是现在放几个方法和变量就能解决掉的。

55什么是软件再工程?

软件再工程是指对既有对象系统进行调查,并将其重构为新形式代码的开发过程。

取大限度地重用既有系统的各种资源是再工程的最重要的特点之一。

56.为什么实施软件再工程?

①再工程可帮助软件机构降低软件演化的风险; ②再工程可帮助机构补偿软件投资;

③再工程可使软件易于进一步变革; ④再工程有着广阔的市场;

⑤再工程能扩大CASE工具集; ⑥再工程是推动自动软件维护发展的动力。

57.简述软件移植的方法。

软件移植主要分为源代码移植和二进制移植两种类型。源代码移植通过修改与环境相关的部分源代码,使软件具备适应多种环境的能力;二进制移植是指将软件从源环境移植到目标环境,且能正确运行,并与其在源环境下的行为保持一致。

59.云计算有哪些特点?

(1)超大规模(2)虚拟化(3)高可靠性(4)通用性(5)高可扩展性(6)按需服务(7)极其廉价。

软件体系结构期末考试

北京工业大学2014 - 2015学年 第二学期模拟试题 考试课程:软件体系结构I 考试日期:2015年5 月20日 学院:软件学院专业:软件工程 学号:姓名:成绩: 一填空题(共30 空,每空 1 分) 1. 软件或程序是由软件工程人员设计与开发,使计算设备发挥计算潜能,________ 的逻辑层次组织。 2. 软件体系结构(Software Architecture)-- 是软件产品设计的思想和系统的蓝图;是 对软件产品_______的规划和_______的设置;是定义软件系统组件(Components)或构建块(Building Blocks)的重要工具;用于 -- 实现对一个软件系统的构成进行_________的划分 -- 所形成和采用的工程化规范,是指导软件后续过程方方面面组成的模型。 3.软件开发中的面临若干问题:1)软件固有的复杂性;2)软件开发的随意性;3)周期 长,代价高,质量低的问题;软件体系结构设计是软件产品及大型信息系统工程实现中最重要的环节和关键技术之一,解决从软件的__________到系统实现(代码)的有效和平坦过渡。 4.软件产品的工业化生产:是指建立流水线型的软件产品生产线,是指按_____、标准 化的规范和规则(软件生产规范)来编写和实现各种各样的适应于多环境的软件___,通过软件体系结构来确定各个软件组件如何部署到开发架构模式中,组装成达到期望的软件产品。 5.体系结构设计方法的发展中,软件程序开发经历了如下的阶段 -- 功能分解法 (计算任务) -- 结构化程序设计 (以数据为中心) -- _________________ -- _________________ -- 基于 SOA 的程序设计 (以服务为中心)。 6. 一个现代软件产品生产过程如下图表示,请在带___________的方框中,填上相应的组 件名称

软件体系结构期末大题

软件体系结构-期末大题

————————————————————————————————作者:————————————————————————————————日期: ?

1.基于构件的软件开发的优势是什么? 基于构件的软件将软件开发的重点从程序编写转移到了基于已有构件的组装,更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降低了软件开发的费用2.尝试用自己的语言介绍Kruchten的“4+1”模型。 Kruchten 提出了一个"4+1"视图模型,从5个不同的视角包括包括逻辑试图、进程视图、物理视图、开发视图、场景视图来描述软件体系结构。每一个视图只关心系统的一个侧面,5个试图结合在一起才能反映系统的软件体系结构的全部内容。

3.在希赛公司的一个财务管理系统,财务部要客户提供………… 4.不同的体系结构风格具有各自的特点、优劣和用途。试对管道-过滤器风格、事件驱动风格、分层系统、C2风格和基于消息总线的风格进行分析比较。P52-56 (1)管道和过滤器 特点: @使得软构件具有良好的隐蔽性和高内聚、低耦合的特点; @允许设计者将整个系统的输入输出行为看成是多个过滤器的行为的简单合成;

@支持软件重用。只要提供适合在两个过滤器之间传送的数据,任何两个过滤器都可被连接起来; @系统维护和增强系统性能简单。新的过滤器可以添加到现有系统中来;旧的可以被改进的过滤器替换掉; @允许对一些如吞吐量、死锁等属性的分析; @支持并行执行。每个过滤器是作为一个单独的任务完成,因此可与其它任务并行执行?缺点:①通常导致进程成为批处理的结构。 ②不适合处理交互的应用。 ③因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。 (2)

软件体系结构考试习题集含答案样本

1.面向对象的方法优势体现在( ABD ) A.简化软件开发过程 B.支持软件复用 C.提高软件运行效率 D.改进软件结构 2.用户界面设计中的三条”黄金规则”是( ABC ) A.使系统处于用户控制之中 B.减少用户的记忆负担 C.保持界面的一致性 D.保证用户的易学性 3.用户界面的分析和设计过程是迭代的, 其中包括 的活动是( ABCD ) A.用户、任务以及环境的分析和建模 B.界面设计 C.界面实现 D.界面确认 4.界面确认需要注意三个方面( ABC ) A.界面正确完成了用户的任务, 适应用户的任务

变化 B.易学性和易用程度 C.用户的接受程度 D.用户的习惯 5.用户界面分析时一般采用的信息获取方式包括 ( ABCD ) A.用户会谈 B.销售人员信息采集 C.市场分析 D.用户支持人员信息收集 6.( C ) 把完成一个特定功能的动作序列抽象为一 个过程名和参数表 A.数据抽象 B.动作抽象 C.过程抽象 D.类型抽象 7.( A) 把一个数据对象的定义抽象为一个数据类 型名

A.数据抽象 B.动作抽象 C.过程抽象 D.类型抽象 8.软件体系结构设计需要考虑以下( ABCD ) A.适用性 B.结构稳定性 C.可扩展性 D.可复用性 9.模块设计时应该考虑( AB ) A.模块功能独立 B.模块信息的隐藏 C.模块接口的简单 D.模块实现简单 10.一个完整的软件设计的主要活动包括有( ABCD ) A.体系结构设计 B.界面设计 C.模块/子系统设计、

D.数据模型、过程/算法设计等 11.模块化是指把一个复杂的问题分割成若干个可管 理的小问题后, 更易于理解, 模块化正是以此为依据的, 在划分模块的过程中应该考虑到( ABC ) A.模块的可分解性、可组装型 B.模块的可理解性、连续性、 C.模块保护 D.尽可能低分割模块, 使得问题的难度降到最1.什么是软件工程? 构成软件工程的要素是什么? 软件工程是将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程, 即将工程化应用于软件开发和管理之中, 对所选方法的研究。软件工程的要素由方法、工具和过程组成。 方法支撑过程和工具, 而过程和工具促进方法学的研究。 2.什么是软件生存周期? 软件开发过程模型与软件 生存周期之间是何关系?

软件设计与体系结构期末复习整理解读

1面向对象编程中是如何体现封装性的? 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。 2重载和重写的含义 重载是发生在一个类中,方法名相同,参数不同 重写(覆盖)是子类继承父类,子类可以通过重写的方法隐藏继承的方法 3 什么是接口回调,过程细节是什么? 概念:把可以实现某一接口的类创建的对象的引用赋给该接口声明接口变量,那么该接口变量可以调用被类实现(重写)的接口方法。 4试举例说明什么是组合关系和依赖关系 组合(关联)关系:A类中成员变量是用B类声明的对象。公司--职员 依赖关系:A类中某个方法的参数是用B类声明的对象,或某个方法返回的数据类型是B类的对象 5抽象类和接口,区别是什么?如何应用 抽象类:抽象类中有抽象方法;抽象类中不能用new运算符创建对象;抽象类的对象做商转型对象 接口:(1)接口中只可以有public权限的抽象方法,不能有非抽象方法; (2)接口由类去实现,即一个类如果实现一个接口,那么他必须重写接口中的抽象方法 (3)接口回调 区别:接口中只有常量,不能有变量;抽象类中既可以有常量也可以有变量; 抽象类中也可以有非抽象方法,接口不可以。 应用:定义抽象方法:public abstract void 方法名(); 在子类实现抽象方法:public void 方法名(){} 接口:public interface 接口名{}接口只负责定义规则,不负责任何实现;实现交给实现接口的类 (6)面向对象的六条基本原则包括: 开闭原则,里式代换原则,单一职责,依赖倒转、迪米特法则(接口隔离)。 (7)什么是设计模式? 设计模式是从许多优秀的软件系统中总结出的成功的可复用的设计方案。是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性 (8)什么是框架?框架与模式的区别有哪些? 框架是针对某个领域,提供用于开发应用系统的类的集合。 区别:层次不同、范围不同、相互关系

软件体系结构考试参考试题

壹 . 名词解释(参考斯佳分享的名词解释文档) 1.ADL(Architecture Description Language) 体系结构描述语言 2. SOA(Service-Oriented Architecture) 面向服务架构 3. DSSA (Domain Specific Software Architecture) 特定领域软件体系结构 4.CORBA(Common Object Request Broker Architecture) 公共对象请求代理体系结构 5. UML(Unified Modeling Language) 统一建模语言 6.XML(Extensible Markup Language ) 可扩展标记语言 7.B/S(Browser/Server) 浏览器/服务器C/S(Client/Server) 客户端/服务器 8.HMB(Hierarchical [?ha??'rɑ:k?kl] message bus) 层次消息总线 9.SA (Software Architecture) 软件体系结构 10.OMG(Object Management Group) 对象管理组织 11.SOAP(Simple Object Access Protocol) 简单对象访问协议 12.WSDL(Web Services Description Language) web服务描述语言 13.SOAD(Service Oriented Analysis And Design) 面向服务的分析与设计 14.DCOM(Distributed Component Object Model) 分布式对象组件模型 https://www.doczj.com/doc/9c11415510.html, (Module Interconnection Language) 模块内连接语言 贰 . 判断题 1、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。答案:√ 依据页码:P4 2、软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始终跨越时间和实现的属性。 答案:√ 依据页码:P28 5、构件可以由其他复合构建和原子构件通过连接而成。() 答案:√ 依据页码:P37 6、体系的核心模型由5种元素组成:构件、连接体、配置、端口和角色() 答案:√ 依据页码:P37 7、软件体系结构的核心由5种元素组成:构件、连接件、配置端口和角色。其中,构件、连接件和配置是最基本的元素() 答案:√ 依据页码:P37 8、开发视图主要支持系统的功能需求,即系统提供给最终用户的服务() 答案:X 依据页码:P32、33 9、构件、连接件以及配置是体系结构的核心模型最基本的元素() 答案:√ 根据页码:P37

软件体系结构考试要点

考试题型 一、填空(每题1分,共10分) 二、名词解释(每题2分,共20分) 1、B/S 2、C/S 3、HMB 4、DSSA 5、ADL 6、XML 7、ATAM 8、Web Service 9、MTTF10、SOAP 11、WSDL 12、UDDI 13、SAAM 14、MVC 15、Artifact-Driven 16、Use-Case-Driven 17、Domain-Driven 18、Pattern-Driven 19、构件20、连接件21.、MTBF 22、敏感点23、权衡点24、直接场景25、间接场景26、质量属性效用树27、XML Schema 三、问答题(40分) 1、构件描述模型有哪几种? 2、理解并比较构件分类的三种方法:关键字分类法、刻面分类法和超文本组织方法, 它们是如何组织的?如何在其中检索构件?每种方法各有什么优缺点? 3、了解软件体系结构的四个发展阶段。 4、根据软件体系结构的定义,你认为软件体系结构的模型应该由哪些部分组成? 5、至少掌握三种经典软件体系结构风格。 6、试分析和比较B/S,二层C/S和三层C/S,指出各自的优点和缺点。 7、请对MVC风格体系结构进行介绍,并说明该风格的优缺点。 8、在正交软件体系结构中,什么是完全正交结构?在实际使用时是不是必须严格遵 守结构正交?使用正交软件体系结构有什么优点? 9、层次系统结构和基于消息的层次系统结构有什么区别? 10、体系结构描述语言与程序设计语言有什么区别? 11、ACME中定义了哪七种体系结构实体?ACME中的表述和表述映射,类型和风格是什么含义?

12、了解基于XML的软件体系结构描述语言。 13、简要介绍Krutchten的“4+1”视图模型。 14、设计模式的基本成分有哪几个?请简单介绍其各个基本成分。 15、为什么要评估软件体系结构?从哪些方面评估软件体系结构? 16、软件体系结构评估的主要方法有哪三种?请简单解释每种方法。 17、SAAM和ATAM评估方法的基本步骤分别是什么? 18、Web服务有哪些核心技术,这些技术是如何在Web服务中发挥作用的。 四、看图答题(30分) 1、请根据P38图3-5介绍黑板系统的组成。 2、请根据P59图3-26解释HMB风格的构件模型。 3、请根据P60图3-27解释消息总线的属性和服务。 4、请根据P147图5-2介绍体系结构设计方法的元模型。 5、请根据P167图6-1简要介绍基于体系结构的软件开发过程的各个步骤。并说明各个步骤的必要性何在?或者说,它们在软件生命周期中都起到了什么作用? 6、请根据P207图8-1分析服务提供者、服务请求者和服务注册中心三者的作用,以及它们之间的工作流程。 7、请根据P229图8-11介绍UDDI的具体工作步骤。

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

《软件体系结构》期末复习题 简答题: 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、设计模式一般用来解决什么样的问题( a) A.同一问题的不同表相 B不同问题的同一表相 C.不同问题的不同表相 D.以上都不是 2、下列属于面向对象基本原则的是( c ) A.继承 B.封装 C.里氏代换 D都不是 3、Open-Close原则的含义是一个软件实体( a ) A.应当对扩展开放,对修改关闭. B.应当对修改开放,对扩展关闭 C.应当对继承开放,对修改关闭 D.以上都不对 4、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用( a )模式。 A.创建型 B.结构型 C行为型 D.以上都可以 5、要依赖于抽象,不要依赖于具体。即针对接口编程,不要针对实现编程,是( d )的表述 A.开-闭原则 B.接口隔离原则 C.里氏代换原则 D.依赖倒转原则 6、依据设计模式思想,程序开发中应优先使用的是( a )关系实现复用。 A, 委派 B.继承 C创建 D.以上都不对 复用方式:继承和组合聚合(组合委派) 7、设计模式的两大主题是( d ) A.系统的维护与开发 B 对象组合与类的继承 C.系统架构与系统开发 D.系统复用与系统扩展 8、单子模式中,两个基本要点( a b )和单子类自己提供单例 A .构造函数私有 B.唯一实例 C.静态工厂方法 D.以上都不对 9、下列模式中,属于行为模式的是( b ) A.工厂模式 B观察者 C适配器以上都是

10、“不要和陌生人说话” 是( d )原则的通俗表述 A.接口隔离 B.里氏代换 C.依赖倒转 D.迪米特:一个对象应对其他对象尽可能少的了解 11、构造者的的退化模式是通过合并( c )角色完成退化的。 A.抽象产品 B产品 C创建者 D使用者 12、单子(单例,单态)模式类图结构如下: 下列论述中,关于”0..1”表述的不正确的是( d ) A.1表示,一个单例类中,最多可以有一个实例. B.”0..1”表示单例类中有不多于一个的实例 C.0表示单例类中可以没有任何实例 D.0表示单例类可以提供其他非自身的实例 13、对象适配器模式是( a )原则的典型应用。 A.合成聚合复用原则 B.里式代换原则 C.依赖倒转原则 D.迪米特法则 14、静态工厂的核心角色是(a) A.抽象产品 B.具体产品 C.静态工厂 D.消费者 15、下列关于静态工厂与工厂方法表述错误的是:( a ) A.两者都满足开闭原则:静态工厂以if else方式创建对象,增加需求的时候会修改源代码 B.静态工厂对具体产品的创建类别和创建时机的判断是混和在一起的,这点在工厂方法中 C.不能形成静态工厂的继承结构 D.在工厂方法模式中,对于存在继承等级结构的产品树,产品的创建是通过相应等级结构的工厂创建的。 16、在观察者模式中,表述错误的是( c ) A.观察者角色的更新是被动的。 B.被观察者可以通知观察者进行更新 C.观察者可以改变被观察者的状态,再由被观察者通知所有观察者依据被观察者的状态进行。 D.以上表述全部错误。 17.对于违反里式代换原则的两个类,可以采用的候选解决方案错误的是:( d ) A.创建一个新的抽象类C,作为两个具体类的超类,将A 和B 共同的行为移动到C 中,从而解决A和B 行为不完全一致的问题。 B.将B到A的继承关系改组成委派关系。 C.区分是“IS-a”还是”Has-a”。如果是“Is-a”,可以使用继承关系,如果是”Has-a”应该改成委派关系

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

软件体系结构-设计模式练习题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)防止变异模式:是如何设计对象,子系统和系统,使这些元素内部的变化或不稳定性不会对其他元素产生不良影响。 解决方案:识别预测的变化或不稳定之处,分配职责用以创建稳定借口。 (2)依赖反转原理:把你的类从局的现实中隔离开,使他们依赖于抽象类或接口。它促进了代码面向接口而不是实现,这通过保证对实现的低耦合来增加系统的灵活性。 2.常用的中间件有那几种类型 (1)常见的对象请求代理架构 (2)面向消息的中间件 (3)J2EE (4)消息代理 (5)业务过程代理 3.有那些常见架构风格 (1)管道和过滤器架构风格 (2)面向对象风格 (3)隐式调用风格 (4)客户-服务器风格 (5)分层风格 (6)仓库风格 (7)解释程序风格 (8)过程控制风格 4.架构师需要的核心技能是什么 (1)涉众之间的交流 (2)技术知识 (3)软件工程学 (4)风险管理

5.什么是软件架构 软件架构是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致的描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口(计算机科学)实现。 6.什么是架构风格 一组原则。你可以把它看成是一组为系统家族提供抽象框架的粗粒度模式。 7.什么是架构视图 一个架构视图是对于从某一视角或某一点上看到的系统所做的简化描述,描述中涵盖了系统的某一特定方面,从而省略了此方面无关的实体。 8.各种架构风格的组件和连接器是什么 1.管道和过滤器架构风格: 适用于需要定义一系列的执行规则数据的独立运算,组件在输入时读数据流,在输出时产生数据流 组件:称为过滤器,应用于对局部的输入流的转换,经常增长的计算,因此,在输入结束前输出就开始了 连接器:称为管道,给流提供管道,把一个过滤器的输出传输到另一个输入。 2.面向对象风格: 适用于主要问题识别和保护信息的相关主体 数据代理和他们相关的操作封装在一个抽象数据类型里面 组件:对象 连接器:功能和过程调用 3.客户-服务器风格: 适用于涉及到分布式的数据和跨越一系列的组件的处理 组件:服务器、客户端 连接器:网络 4.分层风格: 适用于设计到分布式的能够分层的组织的类的服务,每层给它的上一层提供服务,同时作为下一层的客户端。只有仔细的从内层选择选择过程,才能用于他们接近的外层。 组件:典型的过程的集合

软件体系结构-复习纲要整理

《软件体系结构复习纲要》 知识要点: 、体系结构基础概念、定义、属性. ()软件体系结构是系统地一个或多个结构,它包括:软件地组成元素(构件),这些(构件)元素地外部可见特性,以及这些元素(构件)之间地相互关系.文档收集自网络,仅用于个人学习 () 构件是软件系统地结构块单元,是软件功能设计和实现地承载体,因此,每个构件都承担着一定地功能并发挥着一定地作用.构件可以看做是模块、类、对象等一个相关功能地集合.文档收集自网络,仅用于个人学习 () 连接器:当构件间联系关系复杂时,需要建立专门地连接构件以调度和协调构件间地关联关系,实现构件间联系地特殊构件称为连接器文档收集自网络,仅用于个人学习 () 连接是构件间建立和维护行为关联及信息传递地途径. 连接需要两方面地支持:一是连接发生和维持地机制,这是实现连接地物质基础;二是连接能够正确地、无二义、无冲突地进行信息交换地保证(规则,协议).文档收集自网络,仅用于个人学习 连接地本质是实现连接机制和信息交换协议,简称机制和协议. ()模型:现实地简化抽象 ()建模技术:形式化、半形式化、非形式化 ()元素:软件和环境元素(环境元素如:处理器、特大容量磁盘、配置条目或开发团队)、模块化技术、抽象化技术、软件工程地基本概念 、体系结构与描述 ()体系结构:一个系统地基础组织,体现在系统地构件、构件之间地关系、构件与环境地关系和指导系统设计和演化地准则.文档收集自网络,仅用于个人学习 ()体系结构描述:一组对系统结构进行编档地产品.体系结构不可见. 要求:标记、理解、应用 题型分布:选择、填空 知识要点 构件、连接件、约束地定义 ()连接件:过程调用或直接存储器访问 ()构件基本要素(接口、类型、语义、约束、演化、非功能属性) 构件连接器视图及其作用 构件连接器视图,最重要地视图,反映运行时模型.(课本页) 体系结构活动 使用体系结构称为体系结构活动. 模式与风格 模式是某一相关问题地设计结论,是一个解决方案,是过程和实体. 风格是解决问题地一些方法特征,是解决方案地框架. 各种模式风格地定义及其应用领域 ()风格与模式通常从两个方面分类: 数据和控制 ()风格与模式划分地具体为: 数据流系统、调用返回系统、独立构件系统、虚拟机系统、中央存储系统. () 体系结构风格比较 管道过滤器风格:过滤器独立,便于重用易于维护评估,但缺乏交互性,一般用于通信和编译器.

最新软件体系结构期末试题+答案

1.以下关于系统性能的叙述中,不正确的是(17)。(17)A. 常见的Web服务器性能评估方法有基准测试、压力测试和可靠性测试B. 评价Web服务器的主要性能指标有最大并发连接数、响应延迟和吞吐量C. 对运行系统进行性能评估的主要目的是以更好的性能/价格比更新系统D. 当系统性能降到基本水平时,需要查找影响性能的瓶颈并消除该瓶颈 2某公司欲对其内部的信息系统进行集成,需要实现在系统之间快速传递可定制格式的数据包,并且当有新的数据包到达时,接收系统会自动得到通知。另外还要求支持数据重传,以确保传输的成功。针对这些集成需求,应该采用(21)的集成方式。(21)A. 远程过程调用 B. 共享数据库C. 文件传输 D. 消息传递 3 在RUP中采用“4+1”视图模型来描述软件系统的体系结构。在该模型中,最终用户侧重于(26),系统工程师侧重于(27)。(26)A. 实现视图 B. 进程视图 C. 逻辑视图 D. 部署视图(27)A. 实现视图 B. 进程视图 C. 逻辑视图 D. 部署视图 4.某银行系统采用Factory Method方法描述其不同账户之间的关系,设计出的类图如下所示。其中与Factory Method中的“Creator”角色相对应的类是(33);与“Product” 角色相对应的类是(34)。(33) A. Bank B. Account C. Checking D. Savings(34) A. Bank B. Account C. Checking 5.是一个独立可交付的功能单元,外界通过接口访问其提供的服务。(35)A. 面向对象系统中的对象(Object)B. 模块化程序设计中的子程序(Subroutine)C. 基于构件开发中的构件(Component)D. 系统模型中的包(Package) 6 软件的横向重用是指重用不同应用领域中的软件元素。(31)是一种典型的、原始的横向重用机制。(31)A. 对象 B. 构件 C. 标准函数库 D. 设计模式

软件体系结构试题试题+答案

1、设计模式一般用来解决什么样的问题( a) A.同一问题的不同表相B不同问题的同一表相 C.不同问题的不同表相 D.以上都不是 2、下列属于面向对象基本原则的是( c ) A.继承 B.封装 C.里氏代换D都不是 3、Open-Close原则的含义是一个软件实体( a ) A.应当对扩展开放,对修改关闭. B.应当对修改开放,对扩展关闭 C.应当对继承开放,对修改关闭 D.以上都不对 4、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用(a )模式。 A.创建型 B.结构型C行为型D.以上都可以 5、要依赖于抽象,不要依赖于具体。即针对接口编程,不要针对实现编程,是( d ) 的表述 A.开-闭原则 B.接口隔离原则 C.里氏代换原则 D.依赖倒转原则 6、依据设计模式思想,程序开发中应优先使用的是( a )关系实现复用。 A, 委派 B.继承C创建 D.以上都不对 复用方式:继承和组合聚合(组合委派) 7、设计模式的两大主题是( d ) A.系统的维护与开发 B 对象组合与类的继承 C.系统架构与系统开发 D.系统复用与系统扩展 8、单子模式中,两个基本要点( a b )和单子类自己提供单例 A .构造函数私有 B.唯一实例 C.静态工厂方法 D.以上都不对 9、下列模式中,属于行为模式的是( b ) A.工厂模式B观察者C适配器以上都是 10、“不要和陌生人说话”是( d )原则的通俗表述 A.接口隔离 B.里氏代换 C.依赖倒转 D.迪米特:一个对象应对其他对 象尽可能少的了解 11、构造者的的退化模式是通过合并(c )角色完成退化的。 A.抽象产品B产品C创建者D使用者 12、单子(单例,单态)模式类图结构如下: 下列论述中,关于”0..1”表述的不正确的是( d ) A.1表示,一个单例类中,最多可以有一个实例. B.”0..1”表示单例类中有不多于一个的实例 C.0表示单例类中可以没有任何实例 D.0表示单例类可以提供其他非自身的实例 13、对象适配器模式是(a )原则的典型应用。 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、超文本组织方法与基于数据库系统的构件库组织方法不同,它基于全文检索技术。 4、答案:√ 5、软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始终跨越时间和实现的属性。答案:√ 5、构件可以由其他复合构建和原子构件通过连接而成。() 答案:√ 6、体系的核心模型由5种元素组成:构建、连接体、配置、端口和角色() 答案:√ 7、软件体系结构的核心由5种元素组成:构件、连接件、配置端口和角色。其中,构件、连接件和配置是最基本的元素() 答案:√ 8、开发视图主要支持系统的功能需求,即系统提供给最终用户的服务() 答案:X 9、构件、连接件以及配置是体系结构的核心模型最基本的元素() 答案:√ 10、HMB风格不支持系统系统自顶向下的层次化分解,因为它的构件比较简单。 答案:× 11、正交软件体系结构由组织层和线索的构件构成。 答案:√ 12、基于事件的隐式调用风格的思想是构件不直接调用一个过程,而是触发或广播一个或多个事件。 答案:√ 13、线索是子系统的特例,它由完成不同层次功能的构建组成,每一条线索完成整个系统中相对独立的一部分功能。() 答案:√ 14、层次系统中支持抽象程度递增的系统设计是设计师可以把一个复杂系统按照递增的步骤进行分解,同时支持功能增强,但是不支持重用。 答案:× 15、相交关系R是一个等价关系。 答案:√ 16、在软件设计中占据着主导地位的软件体系结构描述方法是图形表达工具。答案:√ 17、Rapide是一种可执行的ADL,其目的在于通过定义并模拟基于事件的行为对分布式同步系统建模。 答案:×并发系统建模 18、体系结构设计是整个软件生命周期中关键的一环,一般在需求分析之后,软件设计之前进行。

软件体系结构 期末大题

1、基于构件得软件开发得优势就是什么? 基于构件得软件将软件开发得重点从程序编写转移到了基于已有构件得组装,更快地构造系统,减轻用来支持与升级大型系统所需要得维护负担,从而降低了软件开发得费用2.尝试用自己得语言介绍Kruchten得“4+1”模型。Kruchten 提出了一个"4+1"视图模型,从5个不同得视角包括包括逻辑试图、进程视图、物理视图、开发视图、场景视图来描述软件体系结构。每一个视图只关心系统得一个侧面,5个试图结合在一起才能反映系统得软件体系结构得全部内容。

3.在希赛公司得一个财务管理系统,财务部要客户提供………… 4.不同得体系结构风格具有各自得特点、优劣与用途。试对管道-过滤器风格、事件驱动风格、分层系统、C2风格与基于消息总线得风格进行分析比较。P52-56 (1)管道与过滤器 特点: @使得软构件具有良好得隐蔽性与高内聚、低耦合得特点; @允许设计者将整个系统得输入输出行为瞧成就是多个过滤器得行为得简单合成;

@支持软件重用。只要提供适合在两个过滤器之间传送得数据,任何两个过滤器都可被连接起来; @系统维护与增强系统性能简单。新得过滤器可以添加到现有系统中来;旧得可以被改进得过滤器替换掉; @允许对一些如吞吐量、死锁等属性得分析; @支持并行执行。每个过滤器就是作为一个单独得任务完成,因此可与其它任务并行执行 缺点:①通常导致进程成为批处理得结构。 ②不适合处理交互得应用。 ③因为在数据传输上没有通用得标准,每个过滤器都增加了解析与合成数据得工作,这样就导致了系统性能下降,并增加了编写过滤器得复杂性。

(2)

软件设计与体系结构知识点

软件设计与体系结构知识点 1.软件设计的特征 (1)软件设计的开端是出现某些新的问题需要软件来解决,这些需要促使设计工作的开始,并成为整个设计工作最初的基础 (2)软件设计的结果是给出一个方案,它能够用来实现所需的、可以解决问题的软件,方案的描述可能是文字、图表,甚至数学符号、公式等组成的文档或模型 (3)软件设计包含一系列的转换过程,即把一种描述或模型转换为另一种描述或模型,转换后的形态可能更加具体,或更接近于实现 (4)产生新的想法或思路对软件设计非常重要,因为设计也是一个创造性的过程,不同的问题或需求总会存在各自的特点,即使同样的问题在不同时期和环境下也会存在区别,因此设计不会是一成不变的 (5)软件设计的过程是不断解决问题和实施决策的过程,因为整个设计是解决一个大的问题,在设计过程中将会分解成众多小问题,涉及真需要一次解决这些小的问题,并在出现多种方案或策略时进行决策,选择其中最合适的 (6)软件设计也是一个满足各种约束的过程,因为软件可能在性能、运行环境、开发时间、成本、人员技术水平等各个方面存在约束,设计必须在满足这些约束的情况下给出最佳的设计方案 (7)大多数的软件实际是一个不断演化的过程,因为需求在一开始很可能是不完整或不精确的,在设计过程中还会不断发生变化并逐步稳定下来,因此设计需要根据需求的变化而不断演化。 2.软件设计的要素 (1)目标描述(2)设计约束(3)产品描述(4)设计原理(5)开发规划(6)使用描述3.软件设计体系的定义 (1)软件设计体系结构是软件系统的结构,包含软件元素、软件元素外部可见的属性以及这些软件元素之间的关系 (2)软件体系结构是软件系统的基本组织,包含构建、构件之间、构件与环境之间的关系,以及相关的设计与演化原则 4.软件设计的主要活动 (1)软件设计计划(2)体系结构设计(3)界面设计(4)模块/子系统设计(5)过程/算法设计(6)数据模型设计 5.体系结构“4+1”多视图建模 (1)逻辑视图:该视图关注功能需求,即系统应该为最终用户提供什么服务,它与应用领域精密相关 (2)进程视图:该视图捕获设计中关于并发和同步的内容,重视一些非功能需求,例如性能、可扩展性等,定义了运行实体和它们的属性。 (3)开发视图:该试图主要描述软件在开发环境中的静态结构,开发人员和项目经理对比都会感兴趣。 (4)物理视图:该视图描述软件到硬件的映射关系,反映了软件的分布特征。 (5)场景:可以使用一组重要场景也就是用例的实例,把上述四种视图紧密的联系起来6.什么是软件产品线方法 软件产品线是软件复用发展的一个更高阶段,它并不仅仅局限于以前人们在软件复用中考虑的对函数、模块、类、体系结构甚至子系统的重用。 软件产品线指一组具有公共的、可管理特征(系统需求)的软件系统,这些系统满足特定的

软件体系结构期末试题答案

精品文档服务器性常见的Web17)。(17)A. 1.以下关于系统性能的叙述中,不正确的是(服 务器的主要性能指标有最大WebB. 能评估方法有基准测试、压力测试和可靠性测试评价/对运行 系统进行性能评估的主要目的是以更好的性能并发连接数、响应延迟和吞吐量C. D. 当系统性能降到基本水平时,需要查找影响性能的瓶颈并消除该瓶颈价格比更新系统 需要实现在系统之间快速传递可定制格式的数2某公司欲对其内部的信息系统进行集成,据包, 并且当有新的数据包到达时,接收系统会自动得到通知。另外还要求支持数据重传,远程过)A. (21)的集成方式。(21以确保传输的成功。针对这些集成需求,应该采用 消息传递 D. 程调用 B. 共享数据库C. 文件传输 ”视图模型来描述软件系统的体系结构。在该模型中,最终用户侧中采用“4+13 在RUP逻C. B. 进程视图 27)。(26)A. 实现视图重于(26),系统工程师侧重于(部署D. C. 逻辑视 图)A. 实现视图 B. 进程视图 D. 辑视图部署视图( 27 视图 方法描述其不同账户之间的关系,设计出的类图如.某银行系统采用Factory Method4”Product; 与“33”角色相对应的类是() Method下所示。其中与Factory 中的“Creator )33。((34)角色相对应的类是)(34 Checking D. SavingsB. A. Bank Account C. A. Bank B. Checking C. Account 面向对A. 35 是一个独立可交付的功能单元,外界通过接口访问其提供的服务。()5.基于构 件开发C. Subroutine)B. (Object)模块化程序设计中的子程序(象系统中的对象 Package)Component中的构件()D. 系统模型中的包( 是一种典型的、原始的31)(6 软件的横向重用是指重用不同应用领域中的软件元素。 设计模式标准函数库构件对象)(横向重用机制。31A. B. C. D. 精品文档. 精品文档 描述系统设计蓝图以保证系统提供适当的功能;)在基于构件的软件开发中,(367. B. 用来了解系统的性能、吞吐率等非功能性属性。(36)A. 逻辑构件模型37()逻辑构 件模)A. D. 系统交互模型(37组件接口模型物理构件模型C. 系统交互模型 D. 物理构件模型C. 组件接口模型型 B. )的状38)基于CORBA基础设施定义了四种构件标准。其中,(8.对象管理组织(OMG服C. B. 加工构件态信息是由构件自身而不是由容器维护。(38)A. 实体构件会话构件 D. 务构件业务数据的综合计算分通常需要将任务分配到不同的逻辑计算层。9分布式系统开发中, 数 D. C.数据处理层)。(39A. 表示逻辑层 B. 应用逻辑层析任务属于(39) 据层时,应将数据层和数据处理层放置于服)(4010 在客户机/服务器系统开发中,采用B. A. 表示逻辑层和表示层放置于客户机。(40)分布式表示结构务器,应用逻辑层、分布式数据

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