文档库 最新最全的文档下载
当前位置:文档库 › 软件资产结构的图形化表达

软件资产结构的图形化表达

软件资产结构的图形化表达
软件资产结构的图形化表达

软件资产结构的图形化表达

V1.0, 2007-07-25

董越

1 引言 (1)

2 表达方法 (2)

2.1 组件 (2)

2.2 关系 (3)

3 举例 (4)

4 绘制指导 (7)

4.1 操作方法 (7)

4.2 绘制方法论 (7)

5 应用 (8)

5.1 辅助识别软件资产及其关系 (8)

5.2 辅助SCM调研工作 (8)

5.3 辅助记录SCM信息 (9)

5.4 辅助整理和维护存储目录结构 (10)

5.5 辅助团队新成员了解工作 (10)

5.6 辅助相关设计、管理决策 (10)

6 附录 (11)

6.1 概念模型 (11)

6.2 扩展元素 (12)

1引言

源代码模块、编译库、安装包等等,都是软件资产,需要纳入软件配置管理。软件资产的识别和表达,又称为配置项的识别和表达,是软件配置管理的第一步。

如果软件资产数量不多,比如,只是一个10人左右的团队生产一种软件,那么,通常不需要使用单独的工具、文档来识别和表达软件资产,仅需要在软件配置管理计划等文档中提及即可。

如果软件资产数量多,但关系简单,比如,10个软件产品,各产品源代码目录与安装包是一对一的关系,各产品源代码无关,那么,可采用表格的形式,记录产品资产信息。

如果软件资产数量多,且关系复杂,那么适宜使用图形的方式,识别进而表达软件资产及其间关系。

本文给出一套对软件资产结构建模,进而用图形方法表达的方法。这套方法,可以用于: 辅助识别软件资产及其关系

辅助SCM调研工作

辅助记录SCM信息

辅助整理和维护存储目录结构

辅助团队新成员了解工作

辅助相关设计、管理决策

等等。详见相关章节论述。

这套方法,可以与相关SCM计划、各组件readme文件、组件列表等工具和方法共同使用,相互配合。

2表达方法

2.1 组件

对于软件资产,称谓甚多。在配置管理理论里,通常划分为配置项(Configuration Item)、配置组件(Configuration Component)、配置单元(Configuration Unit)。在UML中,用组件(Component)、子系统(Subsystem)、系统(System)表达。还有些时候,被称作产品(Product)、模块(Module)等。本文中,一律用组件称呼。

最重要的一类组件是源代码组件。一个源码组件经常意味着一个产品的全部源代码,它们通常集中存储于一个目录下。有些源代码模块由不同产品共享,那么,这样的源代码模块应该算作一个单独的源码组件。在绘图中,用绿色的UML组件表示:

其次是运行组件。通常对应于一个可以独立发布的安装包。也可以视作一个运行系统或运行系统中相对独立的一个部分。它是一个或多个源码组件编译链接,进而打包的结果。在绘图中,用红色的UML组件表示:

有时我们也需要对编译库建模,建模为编译库组件。编译库组件包含头文件和编译库文件,这些文件参与编译链接,生成运行组件。而编译库组件本身,通常是由源码组件编译生成的。编译库组件通常是一个开发团队向另外一个或多个开发团队提供内部产品的一种方式。在绘图中,我们可以用黄色的UML组件表示:

其它组件还可以有:用于生成源代码组件的源代码模板组件、各类文档组件等,详见附录。

上述各类组件,在绘制时,用组件实际名称替换“源代码组件”文字。在绘制时,在组件的注释文档中,一般至少应给出:

[简述]

[存储路径]

2.2 关系

组件间存在着多种关系。这些关系的种类和数量的多少,复杂的程度,对软件配置管理的难度的影响很大。而这也正是软件配置管理特别有意思的地方。

第一种关系是构成关系(Compose),大致相当于UML里的复合关系,表示“整体-部分”关系。例如,一个产品的源代码,可能由多个源代码模块构成,其中一些可能也被其它产品共享。那么我们就说,代表这个产品的源码组件,由代表各源代码模块的各源码组件构成。运行组件、编译库组件也可能存在类似关系。在绘图中,我们可以用UML静态结构中的复合关系表示,并表明为“构成”:

第四种关系是交互关系,仅用于运行组件之间,反映在构成关系之外的某种运行上的交互和关联。这对应于UML中的通信关系。在绘图中,我们可以用UML部署中的通信关系表示,但将实线改为虚线,并表明为“交互”:

该样例是团队1所负责的所有软件资产。在该样例中,位于存储库中某个目录下的源代码,即源代码组件A,经过编译,产生了编译库组件A。编译库组件A与源代码组件B在一起编译、链接、打包,产生了安装包,即运行组件AB。而源代码组件C,直接编译、链接、打包,产生了运行组件C。运行组件AB和运行组件C,构成了销售的软件产品,即运行组件ABC。

下面是另一个样例:

该样例是是团队2所负责和关注的所有软件资产。注意到,编译库组件A是属于域“团队1”的。在绘图时,这个元素是从团队1对应的UML包中拖拽过来的。编译库组件A的特定版

本作为一个子目录被存储在源代码组件AD对应的目录里,即,编译库组件A构成了源代码组件AD。注意,源代码组件AD不仅仅由编译库组件A构成,还由存储在源代码组件AD对应的目录下的其它源代码构成,这里不再单列。尽管通常是同类组件间才有构成关系,在这里,方便起见,认为编译库组件参与了源代码组件的构成。源代码组件AD经过编译、链接、打包后,产生了运行组件AD。

源代码组件E存在着两个变体,其一E1运行于MS Windows操作系统,其二E2运行于Unix 操作系统。而E1在运行时,与运行组件AD有交互作用。比如,AD使用E1产生的数据文件。

下面是一个真实案例:

这是某个研发团队所负责的所有软件资产,及其关系。

4绘制指导

4.1 操作方法

复制原始文件“软件资产结构图.模板.vsd”,生成新文件。

打开该新文件,可以看到,主界面是图形,每个图形有一个页签在界面底部,点击页签,可以显示相应页面。

模型资源管理器一般在左下端。其中,预置的内容在“UML模型”=>“软件资产结构图”=>“静态模型”=>“顶层包”=>“指南”。指南包括了四个UML包,分别是:

实例:一个真实案例

样例:两个绘制样例

概念模型:用UML类图表达的软件资产结构模型

模板:一个标准元素的模板(即标准模板图),和一些的扩展(即扩展元素图),供绘图时复制

绘图时,首先在模型资源管理器中,创建UML包,及UML包之间的层级关系。然后创建UML组件图。一般的,在最底层的包中创建图,每个包对应一张图。在创建后,转到标准模板图,复制所有组件和关系,并粘贴到新图中。

为创建新组件,可以复制特定组件,粘贴到合适位置,并改组件名称,填写组件注释文档。为创建新关系,可以复制特定关系,粘贴到合适位置,确定与相关组件的连接,并考虑填写关系注释文档。

如果要绘制的组件在其它图中(严格的讲,是在其它UML包中)已经存在,则将该组件从模型资源管理器合适的位置中拖拽到图上,而不要重新创建。这样可以保证原组件的修改及时反映在这幅图上。注意,在该图上,需要将该组件设置合适的颜色。

4.2 绘制方法论

绘制软件资产结构图,需要对表达方法的掌握,也需要对实际软件资产结构本身的掌握。可能的情况是,由一名熟悉资产结构图表达方法的人员,和一名熟悉实际软件资产结构的人员共同工作,完成绘制。在绘制的过程中,熟悉实际软件资产结构的人员得到培训,进而在未来工作中可以基本独立地完成图形的维护。

绘制可以从几个角度着手:

对于运行系统结构相对清晰、集中的,可以考虑从运行系统着手。从顶级系统,开始分解,直到分解到安装包。再找到安装包所对应的源代码,建立对应关系。

对于产品/应用比较多比较碎的,可以考虑从源代码存储着手。首先收集到所有相关的源代码的存储路径。然后,逐个逐级分析,直到某个目录可以被单独编译、链接、打包为止,当然,也有可能,某个目录作为共享代码参与到其它若干产品中去。之后,对安装包建模为运行组件,运行组件自底向上,逐步组成整体系统(可能不止一个整体系统)。

对于产品/应用很多很碎的,或情况不明的,可以首先按组织结构分解。在每一个部门/团队,分别分析和绘制,视具体情况,从运行系统着手,或从源代码存储着手。进而,根据了解到的情况,可能需要在部门/团队间重新整合。

绘制的图形,可能有多页。对应的包目录结构,也可能有一定深度和广度。这些,可以按运行系统组织、可以按源代码系统组织、可以按组织结构组织。应根据具体情况选择合适的方法,综合使用。而选择的原则基本与上文绘制着手原则相同。

绘制图形的初稿,应充分与相关熟悉软件开发实际情况的人员交流,广泛评审/检查,确保绘制的准确性。

5应用

5.1 辅助识别软件资产及其关系

识别软件资产及其关系,是软件配置管理工作的基础。

在采用系统的方法绘制软件资产结构图的过程中,各项软件资产、其间的各种关系,被逐个地、无遗漏地“发现”,并被正确地表达。由于软件资产结构图提供了直观的展现,也有利于在绘制、检查、评审中发现与实际情况不符的地方,进而调整。

5.2 辅助SCM调研工作

SCM调研工作,根据软件研发背景,确定对SCM系统的需求,进而考察当前SCM系统,分析其满足SCM需求的情况。这一系列的工作,都会落实到组件及其关系上。因此,软件资产结构图能够辅助SCM调研工作。

可以借助软件资产结构图,确定软件研发背景。针对每个源代码组件,可以询问并记录:[研发团队规模]

[源代码规模]

[源代码语言]

[源代码耦合性]

[算法难度]

[质量要求]

[开发文化],

而这些影响着SCM的一般需求。其中最重要的,是[研发团队规模]一项。

而对于不少特定需求,可以从组件间关系上体现出来。例如,

构成关系,通常意味着存在特定需求“管理拆分”。而如果一个源代码子组件参与多个源代码父组件的构成,意味着可能存在特定需求“复用”;

相似关系,意味着可能存在特定需求“管理交迭发布”、“管理变体”;

等等。

而一定数量的组件及其间关系,意味着特定需求“管理数量和关系”。

这样,借助软件资产结构图,可以确定软件研发对SCM系统的需求。

可以借助软件资产结构图,考察当前SCM系统。由于识别出了所有的组件和关系,对于每一个组件和每一项关系,可以考察它在相关SCM关注域和关注点中,是否实现了需求,是如何实现的。这样,借助软件资产结构图,可以了解当前SCM系统满足SCM需求的情况。

5.3 辅助资产统一命名

如果同一资产在不同的场合,如项目/产品管理、存储库中的目录、标签、安装包、缺陷跟踪系统中的分类,有不同的名称,那么,就容易造成混淆。

可以把在软件资产结构图中的名称,作为基准。资产的名称,以图中的名称为准。新的/计划中的资产,首先在图上绘制,并赋予标准名称。当资产名称变化时,更改图中相应内容,并通知相关人员。

通常,软件资产应以大小写英文字母、数字、下划线的组合命名,以保证在不同的场合,在技术上均可以使用。为照顾语言习惯,软件资产也可以同时具有一个中文别名。正式名称和中文别名一起,作为软件资产结构图上,组件的名称。

5.4 辅助记录资产SCM信息

SCM信息,既包括每个组件、关系所涉及的SCM相关制度、流程、规范、方法,也包括每个组件、关系的特定SCM数据、参数,如版本控制工具、存储位置等。

SCM相关制度、流程、规范、方法,通常存储在:

组织级或项目级规范文档——对于跨研发项目通用的部分;

SCM计划文档——对于本研发项目特殊的内容;

组件的readme文件——实际操作人员经常查阅的内容;

软件资产结构图相应组件、关系的注释文档里——最基本的内容,或调研时使用。

特定SCM数据,可以存储在:

SCM计划文档——如果需要正式的计划;

组件的readme文件——实际操作人员经常查阅的内容;

软件资产结构图相应组件、关系的注释文档里——最基本的内容,或调研时使用。

可以看出,软件资产结构图中,各组件、关系的注释文档里,通常存储一些最简单、最重要的信息。对于组件,通常给出[简述],并指明[存储位置];对于关系,可以考虑给出[简述],并给出[关系实现方法]的描述。这样,在查阅软件资产结构图时,就可以对最重要的基本信息有一个大致的了解,同时又能获得进一步了解情况的线索。如有必要,可以考虑在注释文档里记录更多信息。

在做SCM 调研时,也可以考虑把一些相关信息记录在相应组件、关系的注释文档里,因为这样可以就近记录。其它可选的做法是,用单独的文件作为调研记录,因为这样有利于软件资产结构图的清晰规整,便于日后维护。

5.5 辅助整理和维护辅助整理和维护存储存储存储目录目录目录结构结构

欲整理和维护存储目录结构,首先要了解有哪些资产,当前各存放在什么地方;还要了解资产之间的关系,以确定“最佳”的存储目录结构。

对此,软件资产结构图能起到辅助作用。绘制软件资产结构图,能够帮助找到所有相关资产,及当前目录;能够帮助确定资产之间的各类关系。查阅软件资产结构图,可以查阅到相关信息。

5.6 辅助团队新成员了解工作

软件资产结构图,从一个侧面反映了系统(一个或多个)的结构。由于软件资产结构图表达了软件资产及其相互关系,可以把软件资产结构图作为入口点,向团队新成员介绍软件系统,如源代码模块划分、运行系统的运行机制等。

5.7 辅助辅助相关设计相关设计相关设计、、管理决策

软件资产结构图,从一个侧面反映了系统(一个或多个)的结构,也就显露出了需要进行的相关决策。比如,对于相似这种关系,就要考虑,是在源代码级用分支实现相似,还是在运行系统上用不同的配置文件实现相似?比如,共享的源码组件可以考虑当作一个单独的项目来开发,并向使用它的其它项目提供源代码标签(Label ),也可以考虑使用ClearCase UCM 提供的更多方式。再如,构成关系通常意味着需要考虑复合基线(Composite Baseline )以及相关的版本号命名规则。

这些决策,有些是软件配置管理相关的,还有一些,更是关于软件系统架构、系统分析设计、软件开发管理方面的。

6附录

6.1 概念模型

下面用UML静态结构图表示软件资产结构图中各类组件、组件间各类关系。

****

件的源代码组件,可以由编译库组件作为子组件。)而产生关系,则跨越不同类型的组件:源代码组件产生编译库组件、运行组件;编译库组件产生运行组件。

6.2 扩展元素

在有些情况下,软件资产结构图中已有的表达法不足以满足表达的需求,需要进行扩展。下面给出了一些实例。

SCM负责人

有些时候,源代码文件,例如HTML、PHP等脚本,是由一些模板文件产生的。这里的模

板文件,是源代码的源代码。在这种情况下,我们构造并使用源代码模板组件这一元素。

对于大中型软件研发项目,文档的管理也变得重要。同样可以对文档建模为组件。一个文档组件,可以包括某个产品的全部文档,也可以专指某一类文档或某一个文档,比如需求文档。

在图中,亦可以标注相关角色对应的人员。比如SCM负责人、集成工程师、项目经理等。

软件工程期末复习题参考答案

软件工程期末复习题 选择题 1.软件设计中划分模块的一个准则是(C)。 A低内聚低耦合 B低内聚高耦合 C高内聚低耦合 D.高内聚高耦合 2.(A)是用户和设计交换最频繁的方法。 A、原型化方法 B、瀑布模型法 C、螺旋模型方法 D、构件组装模型 3.试判断下列叙述中,哪个些是正确的(C)。 a、软件系统中所有的信息流都可以认为是事务流 b、软件系统中所有的信息流都可以认为是变换流 c、事务分析和变换分析的设计步骤是基本相似的 A、a B、b C、c D、b和c 4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C) A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、开发人员的素质 5.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言(D) A、PASCAL B、VISUAL BASIC C、C++

D、汇编语言 6.软件测试的目的是?(D) A.软件的正确性 B.找出软件系统中存在的所有错误 C.证明软件系统中存在错误 D.尽可能多的发现软件系统中的错误 7.使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。 A、程序的内部逻辑 B、程序的复杂程度 C、该软件的编辑人员 D、程序的功能 8.软件维护工作的最主要部分是(C)。 A、纠正性维护 B、适应性维护 C、完善性维护 D、预防性维护 9.PDL是(B)语言。 A.高级程序设计语言 B、伪码式 C、中级程序设计语言 D、低级程序设计语言 10.软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立(C)。 A、软件结构 B、软件过程 C、软件模型 D、软件模块 11.在数据流图中,○(椭圆)代表(B) A、数据流 B、转换 C、数据源 D、外部实体

软件体系结构期末考试

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

软件建模和设计试题

一.名词解释: 1.在软件工程中,对客观世界的问题领域进行抽象,并用某描述方法表示的结果称为模型。模型是现实系统的简化,它是抓住现实系统的主要方面而忽略次要方面的一种抽象,是对问题的书面上的、图形或文字的、无歧义的描述。人们常常在正式构造实物之前,首先建立一个简化的模型,以便更透彻地了解它的本质,抓住问题的要害。在模型中,人们总是剔除那些与问题无关的、非本质的东西,从而使模型与真实的实体相比更加简单、易于把握。 https://www.wendangku.net/doc/b516561897.html,e Case(用例):在不展现一个系统或子系统内部结构的情况下,对系统或子系统的某个连贯的功能单元的定义和描述。一个Use Case表达了用户对系统的一项需求,也就是系统的一项责任或功能。 3.架构风格指一组原则。可以把它看成是一组为系统家族提供抽象框架的粗粒度模式。架构风格能改进分块,还能为频繁出现的问题提供解决方案,以此促进设计重用。软件体系架构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系架构风格定义了一个系统家族,即一个体系架构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。体系架构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。对软件体系结构风格的研究和实践促进对设计的重用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题。例如,如果某人把系统描述为“客户/服务器”模式,则不必给出设计细节,我们立刻会明白系统是如何组织和工作的。 4.类(Class)是对某种类型的对象定义变量和方法的原型。它表示对现实生活中一类具有共同特征的事物的抽象,是面向对象编程的基础。类是对某个对象的定义。它包含有关对象动作方式的信息,包括它的名称、方法、属性和事件。类通过接口与外界发生关系。 5.软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。是建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本和改进算法。其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。 二、 1.面向对象建模的大致过程如下: 用UML进行面向对象建模首先要描述总体需求。在这一阶段中主要是建立用例模型和静态模型,以搭建系统体系结构。用例图是系统的高级视图,要求按照面向对象的原则,站在功能划分的角度将系统要实现的行为划分为用例;以用例之间的动态交互及交互时间为依据产生顺序图;接下来就在用例图的基础上抽象出系统的类,明确各模块之间的关系以适当的粒度画出类图,其中也包括了与用例图的相互迭代修改在分析完模块的静态交互关系后继而要绘制出构件图。以上这些过程中均不考虑系统的具体实现,如建立什么样的数据库或采用什么语言编码等,最好是以使用者的眼光去分析系统功能。为建立完整的系统模型,还要对模块交互和构件细节做进一步分析,补充状态图、活动图、协作图和实施图等,从尽可能多的角度对复杂系统进行描述。在模型确定后就可以借助相应的支撑软件将模型导出为

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

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

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

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

软件开发公司组织架构图怎么画

软件开发公司组织架构图怎么画 导语: 组织架构图适用于各类公司,比如金融、互联网、高校、培训机构等。而软件开发公司同样可以使用组织架构图。那你知道这是怎么绘画的呢?一起来学习一下吧。 免费获取组织架构图软件:https://www.wendangku.net/doc/b516561897.html,/orgchart/ 软件开发公司用什么软件画组织架构图? 绘制公司组织架构图,最好选择一款专业并且操作难度不大的组织架构图软件,比如亿图图示。亿图图示是一款专业的图形图表设计软件。软件采用最简单的拖曳式作图方式,无需任何基础也能快速掌握,自带近千种模板,上万个符号可以自由使用,即使是新手也能非常容易的制作出专业精美的组织架构图。

软件开发公司组织架构图绘制步骤 第1步:在亿图图示模板中,选择需要的模板类型,双击,进入编辑界面。 第2步:从左侧符号库中,双击、或者拖拽一个“职位”图形到画布上。

第3步:将鼠标放到图形上,此时会出现一个类似=号的按钮,点击,就可以快速添加下一级。并根据企业组织结构,点击按钮,将整个结构框架画出来。 第4步:架构画好之后,点击图形,再根据实际情况,将职位一一输入到对应的图形中,点击空白处可以结束文字编辑。

第5步:可能有时候我们画完所有的结构后,会发现整个图变得很宽,严重影响我们正常的浏览。这种情况,我们只需要将横向的图形,竖向显示就可以大大节约空间。 操作方法很简单,鼠标单击选中图形后,图形的四周会出现几个绿色的点,拖动这些点,就可以将图形缩窄、拉长,而且图形上的文字,也可以变成竖向的显示的文字。 温馨提示:使用开始菜单下“排列”中的“大小”功能,可以快速将多个图形设置为等宽、等高、相同大小。 第6步:按住Ctrl键,鼠标一个一个选中图形,或者鼠标左键不松手,拉出一个选框,将需要修改颜色的图形,全部选中。然后在“开始”菜单的“样式”设置中,选择需要的颜色类型,点击颜色,就可以立即进行替换。反复这个操作,可以将整个结构图用不同的颜色,将部分区分开。

软件体系结构试题免费版本

软件体系结构考试试题 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.从2002年以来,计算机性能的年增长率下降到了约30%。其主要原因是:①大功耗问题;②可以进一 步有效地开发的指令级并行性已经很少;③存储器访问速度的提高缓慢。 2. 可移植性是指一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上运行。实现可移植性的常用方法有3种:系列机,模拟和仿真,统一高级语言。 2.通用寄存器型指令集结构计算机在灵活性和提高性能方面有明显的优势。主要体现在①寄存器的访问 速度比存储器快;②对编译器而言,能更加容易有效地分配和使用寄存器;③寄存器可以用来存放变量。 3.MIPS的数据寻址方式只有立即数寻址和偏移量寻址。 4.向量处理机的结构由所采用的向量处理方式决定。有两种典型的结构;存储器-存储器型结构和寄存器- 寄存器型结构。 5.Cache-主存层次的工作由硬件实现,对系统程序员是透明的。 6.降低Cache不命中率最直接的方法是增加Cache的容量。不过,这种方法不但会增加成本,而且还可 能增加命中时间,这种方法在片外Cache中用得比较多。 7.大多数磁盘阵列的组成可以由以下两个特征来区分:数据交叉存放的粒度、冗余数据的计算方法以及在 磁盘阵列中的存放方式。 8.时延和带宽是用来评估互连网络性能的两个基本指标。时延包括通信时延和网络时延。 9.计算机系统可分为SISD、SIMD、MISD和MIMD四类,许多早期并行处理机是SIMD计算机,近年 来,MIMD已经成为通用多处理机系统结构的选择。这是因为MIMD具有灵活性,并且MIMD能充分利用现有微处理器的性价比优势。 判断题 1.从计算机语言的角度,系统结构把计算机系统按功能划分成多级层次结构,其中,第2级是操作系统虚 拟机,第3级是汇编语言虚拟机。(错)

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

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)什么是框架?框架与模式的区别有哪些? 框架是针对某个领域,提供用于开发应用系统的类的集合。 区别:层次不同、范围不同、相互关系

小型销售公司组织架构图模板

小型销售公司组织架构图模板 导语: 在销售公司,组织架构图能够明确个部门和团队的分工安排,便于员工之间相互协作,也便于老板管理。那么如何绘制这类组织架构图呢,我们可以通过模板来快速生成。 免费获取组织架构图软件:https://www.wendangku.net/doc/b516561897.html,/orgchart/ 什么制作软件有公司组织架构图的模板? 公司组织架构图是什么样子的?其实根据不同的公司情况,公司组织架构图也会有所不同,但是公司组织架构图也有其一定的特征和规律性。在亿图软件中,除了常规的组织架构图符号,还内置了多个公司组织架构图模板,你可以选择和你们公司类似的结构,然后在上面直接进行修改,也可以借鉴模板的布局绘制属于你们的公司组织架构图。

怎样获取组织结构图模板? 方法1:打开亿图图示软件后,在新建窗口,选择【组织结构图】,然后你就可以看到相应的模板和例子了。

通过模板和例子可以非常便捷的创建组织结构图,而且你还可以通过导入Excel 数据,快速生成组织架构图。 方法2:在软件新建界面,点击【免费模板】,就可以下载更多网页免费在线的模板。

销售公司为什么要选择用亿图绘制组织结构图? 一方面,亿图图示设计软件,只综合类型的绘图软件,用这一款软件,你可以轻松绘制多个图表,尤其是销售行业中,你可能会用到项目管理甘特图、流程图、组织结构图、宣传海报、建筑平面布置图等等。以往,绘制这么多图表,总是需要在多个不同的软件中进行切换绘图,可是用亿图,你只需要在软件内切换绘图类型就可以了。 获取更多组织架构图软件使用技巧:https://www.wendangku.net/doc/b516561897.html,/software/orgchart/

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

软件体系结构-设计模式练习题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. 装饰模式

服务导向的小型软件公司的运作模式和组织结构

服务导向的小型软件公司的运作模式和组织结构从黑色的福特车到让人眼花缭乱的品牌、款式、价格,再到如今红红火火的4S店,以及车友俱乐部、汽车连锁服务,我们可以从工业时代的产品变化轨迹推测信息时代的产品发展:软件即将进入一个从产品到服务的转变过程,除了少数的基础软件开发商,软件行业将出现大量依靠做客户服务的服务提供商。 本文通过一个小型软件公司的案例,分析了当前多数产品导向的软件公司在管理软件推广过程中碰到的问题,提出了软件公司如何从产品导向到服务导向的战略转换过程。本文从软件产品的成本函数曲线入手,分析了产品导向的软件公司的战略选取,并以IBM为例,说明了产品导向软件公司的服务内涵。在进行了案例公司的外部环境分析、SWOT分析后,明确了公司和产品在市场上的定位,为其重新设计了战略定位和主要的实施策略。 最后针对性地对该公司的运作模式、组织结构进行了系统的论述。第一部分介绍了软件行业宏观环境的变化,以及新兴的开放源代码软件的发展。以此提出软件特别是管理软件从产品走向服务的趋势。第二部分通过对软件产品自身的特性分析,描述了软件产品的成本函数曲线。 通过成本函数曲线得出产品导向的软件公司的战略选取。同时通过对IBM 公司对软件服务的定义明确产品导向软件公司的服务内涵。第三部分将通过一个采用产品导向小型软件公司组织结构和商业模式的分析,找出将管理软件进行产品化时导致软件公司在企业管理中出现的问题。第四部分通过波特五力模型对案例公司现有外部环境进行描述分析,并引入SWOT分析方法指导公司进行战略方向的选取,在明确公司和产品在市场上的定位后,重新设计战略定位和主要的实施策略。 第五部分通过产品和服务特征的对比开始引导出服务导向的软件公司的服务方式,并对提供客户虚拟IT部门进行了分析。通过对产品、销售策略、定价策略和促销手段的讨论,结合服务过程和服务条款的定义,最终确定适合软件公司服务导向的运作模式。第六部分从对比服务组织和产品组织的结构特点入手,设计了案例软件公司的组织结构和部门结构。然后分别从公司集中化战略、适应不确定的外部环境、组织规模、文化、技术、沟通、项目过程管理、激励机制等方面论述了整体的结构框架。

软件体系结构试题库试题和答案

1、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。答案:√ 依据页码:P4 2、可重用技术对构件库组织方法要求不仅要支持精确匹配,还要支持相似构件的查找。答案:√依据页码:P7 3、超文本组织方法与基于数据库系统的构件库组织方法不同,它基于全文检索技术。 4、答案:√依据页码:p8 5、软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始终跨越时间和实现的属性。 答案:√ 依据页码:P28 5、构件可以由其他复合构建和原子构件通过连接而成。() 答案:√ 依据页码:P37 6、体系的核心模型由5种元素组成:构建、连接体、配置、端口和角色() 答案:√ 依据页码:P37 7、软件体系结构的核心由5种元素组成:构件、连接件、配置端口和角色。其中,构件、连接件和配置是最基本的元素() 答案:√ 依据页码:P37 8、开发视图主要支持系统的功能需求,即系统提供给最终用户的服务() 答案:X 依据页码:P32、33 9、构件、连接件以及配置是体系结构的核心模型最基本的元素() 答案:√

10、HMB风格不支持系统系统自顶向下的层次化分解,因为它的构件比较简单。 答案:× 依据页码:P81 11、正交软件体系结构由组织层和线索的构件构成。 答案:√ 依据页码:P70 12、基于事件的隐式调用风格的思想是构件不直接调用一个过程,而是触发或广播一个或多个事件。 答案:√ 依据页码:P53 13、线索是子系统的特例,它由完成不同层次功能的构建组成,每一条线索完成整个系统中相对独立的一部分功能。() 答案:√ 依据页码:P70 14、层次系统中支持抽象程度递增的系统设计是设计师可以把一个复杂系统按照递增的步骤进行分解,同时支持功能增强,但是不支持重用。 答案:× 参考页码:P55 15、相交关系R是一个等价关系。 答案:√ 16、在软件设计中占据着主导地位的软件体系结构描述方法是图形表达工具。答案:√ 依据页码:104 17、Rapide是一种可执行的ADL,其目的在于通过定义并模拟基于事件的行为对分布式同步系统建模。 答案:×

软件体系结构期末复习题

软件体系结构期末 复习题

《软件体系结构》期末复习题 简答题: 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.以下关于系统性能的叙述中,不正确的是(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.从2002年以来,计算机性能得年增长率下降到了约30%。其主要原因就是:①大功耗问题;②可以进一步 有效地开发得指令级并行性已经很少;③存储器访问速度得提高缓慢。 2、可移植性就是指一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上运行。实现可移植性得常用方法有3种:系列机,模拟与仿真,统一高级语言。 2.通用寄存器型指令集结构计算机在灵活性与提高性能方面有明显得优势。主要体现在①寄存器得访问 速度比存储器快;②对编译器而言,能更加容易有效地分配与使用寄存器;③寄存器可以用来存放变量。 3.MIPS得数据寻址方式只有立即数寻址与偏移量寻址。 4.向量处理机得结构由所采用得向量处理方式决定。有两种典型得结构;存储器-存储器型结构与寄存器-寄 存器型结构。 5.Cache-主存层次得工作由硬件实现,对系统程序员就是透明得。 6.降低Cache不命中率最直接得方法就是增加Cache得容量。不过,这种方法不但会增加成本,而且还可能 增加命中时间,这种方法在片外Cache中用得比较多。 7.大多数磁盘阵列得组成可以由以下两个特征来区分:数据交叉存放得粒度、冗余数据得计算方法以及在磁 盘阵列中得存放方式。 8.时延与带宽就是用来评估互连网络性能得两个基本指标。时延包括通信时延与网络时延。 9.计算机系统可分为SISD、SIMD、MISD与MIMD四类,许多早期并行处理机就是SIMD计算机,近年 来,MIMD已经成为通用多处理机系统结构得选择。这就是因为MIMD具有灵活性,并且MIMD能充分利用现有微处理器得性价比优势。 判断题 1.从计算机语言得角度,系统结构把计算机系统按功能划分成多级层次结构,其中,第2级就是操作系统虚拟 机,第3级就是汇编语言虚拟机。(错)

软件体系结构 期末大题

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

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

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

(2)

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

精品文档服务器性常见的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)分布式表示结构务器,应用逻辑层、分布式数据

相关文档
相关文档 最新文档