软件体系结构期末复习

软件体系结构期末复习
软件体系结构期末复习

共9页第 1 页

考试范围:

教材上所有讲授的教学内容、所有作业题

题型:

填空1*25、单选1*10、是非1*10、

名词解释4*5 简答7+8 问答10+10

重要知识点:

三层C/S结构风络是由哪三个层次构成

层次式软件体系结构,将产品的系统构件模型定义为哪4个层次

六种软件元素包括哪些

后果描述应用设计模式后的什么与什么

软件过程

基于体系结构的软件开发模型(ABSDM)将软件开发过程划分为哪六个子过程。

浏览器/服务器(B/S)风格具体结构分为哪三个部分。

软件体系结构设计的核心问题是什么。

构件分类方法可以归纳为哪三大类

大量使用构件的好处是什么

功能分组可选择的标准包括哪四个。

面向对象已经成为软件开发的主流思想,以什么为基础的迭代开发过程已经成为面向对象开发过程的标准。

框架是从特定域中提取出来的一组什么的可重用的体系结构。

软件工程3要素是什么

层次系统最广泛的应用是什么,是不是每一个系统都可以很容易地划分为分层的模式Web服务开发生命周期分为哪四个阶段

MVC模式的中的M,V,C分别对应哪三个单词。

ABSD方法取决于决定系统的体系结构驱动,所谓体系结构驱动,是指什么。

软件危机的原因

在三层C/S体系结构中哪一层是最重要的构件。

C/S系统中,服务器的任务有哪些

黑板系统的组成部分

与C/S体系结构相比,B/S体系结构有哪些优点和不足之处

一个Web服务可以分为哪四个逻辑层,离客户最远的是哪一层。

Web服务体系结构的主要优势

设计模式方法的分类

一般来说,模式有哪四个基本成分

XML

面向对象的组装技术包括哪两种

随着软件系统规模越来越大、系统的结构和规格说明是否重要。

是否存在没有体系结构的软件。

在三层客户/服务器风格体系结构中,操作(应用逻辑)是否可以共享

是否可以用几乎所有的编程范例,并在所有的编程语言中来实现模式

SOA模型的特征

设计模式的作用

体系结构设计在整个软件生命周期中的位置

软件危机

软件重用

软件体系结构风格

SOAP

设计模式

软件体系结构

WSDL

构件

ABSD

异构结构中“内外有别”模型和“查改有别”模型的含义和特点分别是什么?软件体系结构技术的发展过程经历了哪四个阶段

管道过滤器风格有哪些特点?

什么是设计模式?它与风格、框架有什么区别联系?

(1)设计模式是对通用设计问题的重复解决方案。

(2)软件体系结构风络是描述某一特定应用领域中系统组织方式的惯用模式。

(3)软件框架是整个或部分系统可重用设计。

(4)模式比框架更加抽象,框架是模式的特例化,设计模式被实现成为框架后,可以极大的减轻从设计到实现的鸿沟,利用了模式的框架比没有利用模式的框架更容易理解、更能被设计与实现重用,通常成熟的框架包含了多种设计模式,一个框架不仅可以具体实现一个模式,还可以具体的实现多个模式。

(5)设计模式与风格两者这近义词,通常情况下可以互相通用,风格主要是指大的,宏观设计。模式既可宏观,又可微观。

什么是MVC模式,其优缺点分别是什么?

软件危机产生的主要原因有哪些?如何克服软件危机?

试述Web服务模型的组成和相关操作

与C/S体系结构相比,B/S体系结构有哪些优点和不足之处

软件体系结构设计有哪些过程

根据模式的目标,可将它们分为哪三类

一个好的模式应具有的性质是什么

利用设计模式可以方便地重用什么

与Web服务相关的操作包括哪些

三大构件模型流派

Web服务栈包含哪5个层次,按照从上到下的次序是怎样排列的

和Web服务密切相关的协议和语言有哪些

基于事件的隐式调用风格是指什么

Web服务按用户与服务的相对位置分为哪几类

三层C/S结构风络是由哪三个层次构成

表示层,功能层,数据层

层次式软件体系结构,将产品的系统构件模型定义为哪4个层次

表现层业务构件层通用类构件层系统构件层

六种软件元素包括哪些

程序代码,测试用例,设计文档,设计过程,需求分析文档,领域知识

后果描述应用设计模式后的什么与什么

结果和权衡

软件过程

人们建立、维护和演化软件产品整个过程中所有技术活动和管理活动的集合。

基于体系结构的软件开发模型(ABSDM)将软件开发过程划分为哪六个子过程。

体系结构需求,体系结构设计,体系结构文档化,体系结构复审,体系结构实现,体系结构演化

浏览器/服务器(B/S)风格具体结构分为哪三个部分。

浏览器 / Web服务器 / 数据库服务器

软件体系结构设计的核心问题是什么。

能否使用重复的体系结构模式,即能否达到体系结构的软件重用。

构件分类方法可以归纳为哪三大类

(1)关键字分类法(2)刻面分类法(3)超文本组织法

大量使用构件的好处是什么

有助于提高软件的质量并且软件的灵活性和标准法程度也得到提高

功能分组可选择的标准包括哪四个。

功能聚合数据或计算行为的类似模式类似的抽象级别功能的局部性

面向对象已经成为软件开发的主流思想,以什么为基础的迭代开发过程已经成为面向对象开发过程的标准。

演化和增量

框架是从特定域中提取出来的一组什么的可重用的体系结构。

一组组件及其相互关系

软件工程3要素是什么

方法,工具和过程

层次系统最广泛的应用是什么,是不是每一个系统都可以很容易地划分为分层的模式分层通信协议不是

Web服务开发生命周期分为哪四个阶段

(1)构建(2)部署(3)运行(4)管理

MVC模式的中的M,V,C分别对应哪三个单词。

Model View Controller

ABSD方法取决于决定系统的体系结构驱动,所谓体系结构驱动,是指什么。

构成体系结构的商业,质量和功能需求的组合。

软件危机的原因

(1)用户需求不明确(2)缺乏正确的理论指导(3)软件规模越来越大(4)软件复杂度越来越高

在三层C/S体系结构中哪一层是最重要的构件。

中间件

C/S系统中,服务器的任务有哪些

(1)数据库安全性的要求。(2)数据库访问并发性的控制。(3)数据库前端的客户应用程序的全局数据完整性规则。(4)数据库的备份与恢复。

黑板系统的组成部分

(1)知识源(2)黑板数据结构 (3)控制

与C/S体系结构相比,B/S体系结构有哪些优点和不足之处

优点:

(1)基于B/S 体系结构的软件,系统安装,修改和维护全在服务器端解决,用户在使用系统时,仅仅需要一个浏览器就可以运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。

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

缺点:

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

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

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

体系结构。

4)B/S 体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于

在线事务处理应用。

一个Web服务可以分为哪四个逻辑层,离客户最远的是哪一层。

数据层,数据访问层,业务层,业务面,监听者

数据层

Web服务体系结构的主要优势

(1)高度的通用性和易用性 (2)完全的平台,语言独立性 (3)高度的集成性 (4)容易部署和发布

设计模式方法的分类

(1)Coad的面向对象模式(2)代码模式(3)框架应用模式(4)形式合约

一般来说,模式有哪四个基本成分

(1)模式名称(2)问题(3)解决方案(4)后果

XML:可扩展标记语言

面向对象的组装技术包括哪两种

(1)构造法(2)子类法

随着软件系统规模越来越大、系统的结构和规格说明是否重要。

是否存在没有体系结构的软件。

在三层客户/服务器风格体系结构中,操作(应用逻辑)是否可以共享

是否可以用几乎所有的编程范例,并在所有的编程语言中来实现模式

SOA模型的特征

(1)松散耦合(2)粗粒度服务(3)标准化接口

设计模式的作用

利用设计模式可以方便的重用成功的设计和结构

体系结构设计在整个软件生命周期中的位置

软件危机:计算机软件的开发和维护过程中所遇到的一系列严重问题。

软件重用:在两次或多次不同的软件开发过程中重复使用相同或相近软件元素的过程。

软件体系结构风格:描述某一特定应用领域中系统组织方式的惯用模式。

SOAP:是一个基于XML的,在松散分布式环境中交换结构化信息的轻量级协议,他为在一个松散的,分布式环境中使用XML交换结构化的和类型化的信息提供了一种简单的机制。

设计模式:面向对象的软件设计的经验总结,是被系统地命名、解释和评价的一个重要的可重现的面向对象的设计方案。

软件体系结构:

WSDL:是一种XML格式用于将网络服务描述为一组断电,这些端点对包含面向文档或

面向过程信息的消息进行操作。

构件:语义完整,语法正确和有可重用价值的单位软件,是软件重用过程中可以明确

辨识的系统,结构上,它是语义描述,通信接口和实现代码的复合体。

ABSD:基于体系结构的软件设计。ABSD方法为产生软件系统的概念体系结构提供构选,ABSD方法取决于决定系统的体系结构驱动。

异构结构中“内外有别”模型和“查改有别”模型的含义和特点分别是什么?

“内外有别”模型

在C/S与B/S混合体系结构的“内外有别”模型中,企业内部用户通过局域网直接访问数据库服务器,软件系统采用C/S体系结构;

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

缺点:是企业外部用户修改和维护数据时,速度超慢,较繁琐,数据的动态交互性不强。“查改有别”模型

在C/S与B/S混合体系结构的“查改有别”模型中,不管用户是通过什么方式(局域网或Internet)连接到系统,凡是需执行维护和修改数据操作的,就使用C/S体系结构;如果只是执行一般的查询和浏览操作,则使用B/S体系结构。

特点:“查改有别”模型体现了B/S体系结构和C/S体系结构的共同优点。但因为外部用户能直接通过Internet连接到数据库服务器,企业数据容易暴露给外部用户,给数据安全造成了一定的威胁。

软件体系结构技术的发展过程经历了哪四个阶段

(1)”无体系结构”设计阶段(2)萌芽阶段(3)初期阶段(4)高级阶段

管道过滤器风格有哪些特点?

(1)具有良好的隐蔽性和高内聚,低耦合

(2)允许设计者将整个系统的输入/输出行为看成十多个过滤器的行为的简单合成。

(3)支持软件重用

(4)系统维护和增强系统性能简单

(5)允许对一些如吞吐量,死锁等属性的分析

(6)支持并行执行。

什么是设计模式?它与风格、框架有什么区别联系?

(1)设计模式是对通用设计问题的重复解决方案。

(2)软件体系结构风络是描述某一特定应用领域中系统组织方式的惯用模式。

(3)软件框架是整个或部分系统可重用设计。

(4)模式比框架更加抽象,框架是模式的特例化,设计模式被实现成为框架后,可以极大的减轻从设计到实现的鸿沟,利用了模式的框架比没有利用模式的框架更容易理解、更能被设计与实现重用,通常成熟的框架包含了多种设计模式,一个框架不仅可以具体实现一个模式,还可以具体的实现多个模式。

(5)设计模式与风格两者这近义词,通常情况下可以互相通用,风格主要是指大的,宏观设计。模式既可宏观,又可微观。

什么是MVC模式,其优缺点分别是什么?

MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC 应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。

优点:(1)支持多个视图(2)适应更改

缺点:(1)复杂性(2)频繁更新的成本

软件危机产生的主要原因有哪些?如何克服软件危机?

(1)用户需求不明确(2)缺乏正确的理论指导(3)软件规模越来越大(4)

软件复杂度越来越高

管理上:采用多维的工程管理模式

技术上:采用基于重用的、工程化的开发方式与工业化的生产技术

试述Web服务模型的组成和相关操作

组成:服务代理,服务请求者,服务提供者

软件体系结构设计有哪些过程

提出体系结构模型-->映射构件—>分析构件相互作用—>产生体系结构-->设计评

根据模式的目标,可将它们分为哪三类

创建性模式、结构性模式和行为性模式。

一个好的模式应具有的性质是什么

解决一个问题是一个被证明了的概念解并不是显然的描述了一种关系

模式有重要的人为因素

利用设计模式可以方便地重用什么

成功的设计和结构

与Web服务相关的操作包括哪些

(1)发布(2)发现(3)绑定

三大构件模型流派

OMG的CORBA , Sun的EJB,Microsoft的DCOM

Web服务栈包含哪5个层次,按照从上到下的次序是怎样排列的

(1)发现服务层(2)描述服务层(3)消息格式层(4)编码格式层(5)传输协议层

和Web服务密切相关的协议和语言有哪些

可扩展标记语言XML,简单对象访问协议SOAP,Web服务描述语言WSDL,协议UDDI

基于事件的隐式调用风格是指什么

构件不直接调用一个过程,而是触发或广播一个或多个事件,系统中的其他构件中的过程在一个或多个事件中注册,当一个事件被触发,系统自动调用在这个事件中注册的所有过程,这样,一个事件的触发就导致了另一个模块中的过程的调用。Web服务按用户与服务的相对位置分为哪几类

(1)面向企业应用的服务(2)面向消费者的服务(3)面向设备的服务(4)面向系统的服务

eclipse软件体系结构论文

基于OSGi的Eclipse插件体系结构的研究 马晟,张渊,刘德钢 (清华大学,软件学院,北京 100084) 摘要: Eclipse是一个开放源代码的是基于插件机制开发的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。Eclipse 3.0选择OSGi服务平台规范为运行时架构。本文以研究Eclipse体系结构为目的背景,介绍了插件技术原理,阐述了OSGi规范,分析了Eclipse的插件体系结构,并对基于OSGi和Eclipse RCP对Eclipse的插件扩展开发进行了研究。最后我们对比介绍了Firefox的插件机制。研究表明Eclipse平台的体系结构是一个成熟的、精心设计的并且可以很容易扩展的体系结构。 关键词:OSGi,Eclipse,插件,体系结构 Abstract: Eclipse is an open source software development project based on the plug in developing mechanism. It concentrates on supporting a full featured commercial industry platform to build highly integrated tools. Eclipse 3.0 uses OSGi Service Platform Standard as the run time architecture. After learning the architecture of Eclipse, this paper instructs the plug in technology theory, shows the OSGi standard, analysis the architecture of Eclipse based on plug-in mechanism and makes a study on the development of Eclipse plug-ins based on OSGi or RCP. Finally, we introduce the plug-in mechanism of Firefox according to the comparison. The Study presents that the architecture of Eclipse platform is a mature, well designed architecture that is easily extended. Key words:OSGi,Eclipse,Plug in,Architecture

软件工程期末考试重点

软件工程期末考试重点 《软件工程》期末复习重点 第一章软件工程 1. 什么是软件工程。 A.把系统化的、规范的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程化应用于软件中;b.研究a中提到的途径。2. 软件工程的三要素:方法、工具和过程。 第二章软件过程 1. 软件生命周期分为哪几个阶段?每个阶段的基本任务是什么? a.软件定义:确定软件开发工程必须完成的总目标问题定义:要解决的问题是什么 可行性研究:上阶段所确定的问题是否有可行的解决办法?需求分析:目标系统必须做什么 b.软件开发:具体设计和实现在前一个时期定义的软件。概要设计:怎样宏观地解决问题 详细设计:应如何具体地实现这个系统 编码和单元测试:写出正确的、易理解、易维护的程序综合测试:通过各类型测试使达到预定要求。 c.运行维护:修正错误,使软件持久地满足用户需要。改正性维护:诊断和改正使用中的错误适应性维护:修改

以适应环境变化 完善性维护:根据用户的要求改进和扩充以完善预防性维护:修改以为将来的维护作准备 2. 常用的过程模型有哪些?各自的特点及不足。如:瀑布模型的不足是不能适应需求的动 态变更。 A.瀑布模型 特点: 可强迫开发人员采用规范化的方法。严格地规定了每个阶段必须提交的文档。要求每个阶段交出的所有产品都必须是经过验证的。 缺点:太理想化,于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。如果需求规格与用户需求之间有差异,就会发生这种情况。只适用于项目开始时需求已确定的情况。 B.快速原型模型 特点:快速 软件产品开发基本上是线性顺序进行。降低了规格说明文档变化的可能性。减少了后续阶段错误的可能性。 c.增量模型 1 优点: 人员分配灵活,刚开始不用投入大量人力资源。

软件体系结构期末考试

北京工业大学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.构件获取渠道(1)直接使用作适应性修改(2)经过遗留工程(3)市场上购买(4)开发新的构件 3.构件分类与组织:关键字分类法,刻面分类法,超文本组织方法 4.基于数据的组装技术:这种组装技术也要求库中构件以子程序形式出现 5.软件体系结构建模种类:结构模型,框架模型,动态模型,过程模型,功能模型 6.体系结构风格定义了一个系统家族即定义了一个词汇表和一组约束 7.有两种不同构件:中央数据结构说明当前状态,仓库是一黑板系统 8.C/S体系结构有三个主要组成部分:数据库服务器,客户应用程序,网络 9.ADL的基本元素:构件,连接件,体系结构配置 10.软件体系结构描述方法:图像表示工具,模块内连接语言,基于软构件的系统描述语言,软件体系结构描述语言 11.Web服务:数据层,数据访问层,业务层,业务面,监听者 12.简单对象访问协议:SOAP信封,SOAP编码规则,SOAP RPC表示,SOAP绑定

13.Web服务特点:使用标准规范协议;使用协议的规范性;高度集成能力;完好的封装;松散耦合 选择题: 1构件模型的三个主要流派OMG,Sun的EJB,Microsoft的DCOM 2.构件管理:构件描述,构件分类与组织,人员及权限管理 3.构件重用:检索与提取构件,理解与评价构件,修改构件,构件组装 4.软件体系结构的发展史:无体系结构设计阶段,萌芽阶段,初期阶段,高级阶段 5.分层系统优点:支持基于抽象程度递增的系统设计;支持功能增强;支持重用 6.黑板系统的构成:知识源,黑板数据结构,控制 7.面向对象系统优点:改变一个对象的表示不影响其它对象;分解成一些交互的代理程序集合 8.W3C是万维网联盟 9.Web服务作为一种新兴的Web应用模式,是一种崭新的分布式计算模型,是Web上数据和信息集成的有效机制 10.Web服务就像Web上的构件编程,开发人员经过调用Web应用编程接口,将Web服务集成进她们的应用程序就像调用本地服务一样 11.Web服务开发生命周期:构件,部署,运行,管理 12.Web服务栈:程序设计语言 【程序构件(组成程序的基本元素及其取值或值域范围);操作符(连

软件工程(清华钱乐秋版)期末复习重点

1、什么是软件工程 在《计算机科学技术百科全书》中软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。 2、软件生存周期分哪几个阶段分别简述各个阶段的任务。 答:软件生存周期有计算机系统工程、需求分析、设计、编码、测试、运行和维护6个阶段。 A 计算机系统工程的任务是确定待开发软件的总体要求和范围,以及该软件与其他计算机 系统元素之间的关系,进行成本估算,做出进度安排,并进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中做出选择。 B 需求分析主要解决待开发软件要“做什么”的问题,确定软件的功能、性能、数据、界面 等要求,生成软件需求规约。 C 软件设计只要解决待开发软件“怎么做”的问题。软件设计通常可分为系统设计和详细设 计。系统设计的任务是设计软件系统的体系结构,包括软件系统的组成成分、各成分的功能和接口、成分间的连接和通信,同时设计全局数据结构。详细设计的任务是设计各个组成成分的实现细节,包括局部数据结构和算法等。 D 编码阶段的任务是用某种程序设计语言,将设计的结果转换为可执行的程序代码。 E测试阶段的任务是发现并纠正软件中的错误和缺陷。测试主要包括单元测试、集成测试、确认测试和系统测试。 F软件完成各种测试后就可交付使用,在软件运行期间,需对投入运行的软件进行维护,即可发现了软件中潜藏的错误或需要增加新的功能或使软件适应外界环境的变化等情况出现时,对软件进行修改。 3、简述各类软件过程模型的特点。 答:典型的软件过程模型有:瀑布模型、演化模型(增量模型、原型模型、螺旋模型)、喷泉模型、基于构件的开发模型和形式方法模型等。 A瀑布模型中,上一阶段的活动完成并经过评审后才能开始下一阶段的活动,其特征是: 接受上一阶段活动的结果作为本阶段活动的输入; 依据上一阶段活动的结果实施本阶段应完成的活动; 对本阶段的活动进行评审; 将本阶段活动的结果作为输出。 B 增量模型将软件的开发过程分成若干个日程时间交错的线性序列,每个线性序列产生软 件的一个可发布的增量版本,后一个版本是对前一个版本的修改和补充,重复增量发布的过程,直至产生最终的完善产品。 C 原型方法从软件工程师与客户的交流开始,其目的是定义软件的总体目标,标识需求。 然后快速制定原型开发的计划,确定原型的目标和范围,采用快速设计的方式对其建模,并构建模型。被开发的原型应交付给客户使用,并收集客户的反馈意见,这些反馈意见可在下

软件体系结构期末大题

软件体系结构-期末大题

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

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

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

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

软件设计与体系结构论文

《软件设计与体系结构》 非卷面试题 设计题目快餐店多功能点餐系统院系电子与信息工程学院 专业计算机科学与技术 学生姓名 学生学号 任课教师倪启东

快餐店多功能点餐系统 摘要 随着计算机软件行业的发展和互联网的普及,软件进入到人们生活的各个行业之中。在这个软件爆炸的时代,软件系统有一个好的设计与结构显得尤为重要。通过快餐店多功能点餐系统的设计,将软件体系结构与设计的所学的知识,运用到实际系统中,是对知识、技术的巩固,也是能力的提升。 本系统主要运用增量模型,随着知识的学习同步进行系统的开发。主要采用了策略模式、观察者模式、装饰者模式、工厂模式、单例模式。同时,伴随着设计原则的思想,使得系统更加稳定而高效。 关键词点餐系统;体系结构;设计模式;java

目录 第1章绪论 (1) 1.1引言 (1) 1.2系统开发目标 (1) 1.3开发环境 (1) 第2章需求分析 (3) 2.1项目概述 (3) 2.2功能需求 (3) 2.2.1用户需求 (3) 2.2.2系统需求 (3) 2.3非功能需求 (3) 2.3.1产品需求 (3) 2.3.2 外部需求 (4) 2.4业务需求 (4) 2.4.1业务要求 (4) 2.4.2客户与用户 (4) 2.4.3特性 (4) 第3章结构设计 (5) 3.1整体设计 (5) 3.1.1普通用户活动图 (5) 3.1.2会员活动图 (6) 3.1.3管理员活动图 (7) 3.2详细设计 (7) 3.2.1模块划分 (7) 3.2.2简单业务流程设计 (8) 第4章设计模式 (9) 4.1工厂模式 (9) 4.1.1模式说明 (9) 4.1.2模式类图 (9)

程序设计基础期末复习汇总

《程序设计基础》期末复习 考试题型和分值。 一、单选题(20小题,每题2分) 二、填空题(共20题,计20分) 三、编程填空题(给出程序的输出结果,共5题,14分) 四、读程序题(补充程序,共2小题,,共26分) 程序练习: 1. 输出1~10之间所有的偶数和它们的平方。 2. 输出所有的水仙花数。 3. 从键盘输入一行字符,统计其中有多少个单词。假设单词之间是以空格分开。 4. 编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,则 结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;否则计算机给出提示,告诉人所猜的数是太大还是太小,直到人猜对为止。 5. 编写程序,要求在main函数接受一个整型变量,将其作为参数传入IsPrime 函数中,IsPrime函数根据传入的值确定返回值,如果<2,返回0;如果不是素数,返回1;如果是素数,返回2。主函数根据返回值输出相应的提示信息:输入不合法,不是素数,是素数。 6.编写程序:给学生出一道加法运算题,然后判断学生输入的答案对错与否。通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则提示重做,显示“Not correct! Try again!”,重复要求输入答案,直到输入结果正确,程序结束。 要求:用Add函数来进行两个整数的加法运算;用Print函数判断输入的答案正确与否;用main函数输入两个相加的数和学生的答案,然后调用Add函数和Print函数判进行判断和显示输出。 7. 利用指针编写两个整数交换的函数。 8. 从10个元素的数组中找出最大值和最小值,并记录最大值和最小值对应的元素的下标位置。 9. 给定10个数,按照要求进行排序并输出排序的结果。

软件体系结构期末大题

软件体系结构期末 大题

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

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

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

软件体系结构论文

软件体系结构 论文 年级院系: 专业班级: 姓名: 学号: 指导老师:

2014年12月28日

目录: 一、软件体系结构概论 (1) 二、体系结构风格 (3) 三、UML语言 (5) 四、XML语言 (8) 五、动态软件体系结构 (10) 六、基于体系结构的软件开发 (12) 七、软件体系结构的评估 (12) 八、软件产品线体系结构 (12) 九、软件体系结构的发展方向 (13) 十、参考书籍 (14)

软件体系结构概论: 软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持。 1、软件体系结构的定义: 虽然软件体系结构已经在软件工程领域中有着广泛的应用,但迄今为止还没有一个 被大家所公认的定义。许多专家学者从不同角度和不同侧面对软件体系结构进行了刻画,较为典型的定义有: (1)软件体系结构是软件设计过程中的一个层次,这一层次超越计算过程中的算法设计和数据结构设计。体系结构问题包括总体组织和全局控制、通讯协议、同步、数据存取,给设计元素分配特定功能,设计元素的组织,规模和性能,在各设计方案间进行选择等。软件体系结构处理算法与数据结构之上关于整体系统结构设计和描述方面的一些问题,如全局组织和全局控制结构、关于通讯、同步与数据存取的协议,设计构件功能定义,物理分布与合成,设计方案的选择、评估与实现等 (2)软件体系结构有四个角度,它们从不同方面对系统进行描述:概念角度描述系统的主要构件及它们之间的关系;模块角度包含功能分解与层次结构;运行角度描述了一个系统的动态结构;代码角度描述了各种代码和库函数在开发环境中的组织。 (3)软件体系结构是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、接口和关系。 (4)一个程序或计算机系统的软件体系结构包括一个或一组软件构件、软件构件的外部的可见特性及其相互关系。其中,"软件外部的可见特性"是指软件构件提供的服务、性能、特性、错误处理、共享资源使用等。 2、软件体系结构的发展历史:

软件设计师复习笔记重点总结

软件设计师复习笔记重点总结 一.计算机系统 基础知识: CPU功能:程序控制,操作控制,时间控制,数据处理。 组成:运算器(算术逻辑单元ALU,累加寄存器AC,数据缓冲寄存器DR,状态条件寄存器PSW),控制器(指令寄存器IR,程序计数器PC,地址寄存器AR,指令译码器ID),寄存器组(专业寄存器通用寄存器),部总线。 原码:负数把第一位改成1; 反码:正数的反码与原码相同,负数的反码是其绝对值按位求反; 补码:正数的补码与原码相同,负数补码等于其反码的末尾加1; 移码:在数X上增加一个偏移量(实际上,将补码的符号位取反); 最适合进行数字相加减的数字编码是补码,最适合浮点数阶码的数字编码是移码。 双符号位判决法:即00表示正号,11表示负号,则溢出时两个符号位就不一致了,从而可以判定发生了溢出。 符号位SF和进位标志CF进行异或运算为1时,表示运算的结果产生溢出。 浮点数:N=2^E*F E:阶码 F尾数 尾符和尾数小数点后第一位数字相异为规格化数。 校验码:奇偶校验码(在编码中增加一个校验位来使编码中1的个数为奇数(奇校验)或者偶数(偶检验),从而使码距变为2)=>只能检验一位的错误 海明码(在数据位中之间插入k个校验位,通过扩大码距来实现检错和纠错)=>既可以检测数据传输过程中出现的一位数据错误的位置加以纠正。 2^k-1>=n+k 循环冗余校验码(利用生成多项式为k个数据位产生r个校验位来进行编码,长度为r+k)校验码越长,校验能力越强; 结构,组织,实现,性能。结构只计算机系统各种应用的互联,组织指各种部件的动态联系和管理,实现指各模块设计的组装完成,性能指计算机系统的行为表现。 系统分类:单处理系统,并行处理和多处理系统,分布式处理系统(指物理上远距离而松耦合的多计算机系统,通信时间和处理时间相比已经不可忽略)。 Flynn分发:SISD单指令单数据流,SIMD单指令多数据流,MISD多指令单数据流, MIMD多指令多数据流; 阵列处理机(Array Processor)也称并行处理机(Parallel Processor)通过重复设置大量相同的处理单元PE(Processing Element),将它们按一定方式互连成阵列,在单一控制部件CU(Control Unit)控制下,对各自所分配的不同数据并行执行同一组指令规定的操作,操作级并行的SIMD计算机,它适用于矩阵运算。 译云分类:WSBS字串行位串行计算机,WPBS字并行位串行计算机,WSBP字串行位并行,WPBP字并行位并行; 指令体系:堆栈,累加器,寄存器集; CISC复杂指令集计算机 RISC精简指令集计算机(流水技术:超流水线技术,超标量技术,超长指令字技术) 存储:相联寄存器是一种按容访问的寄存器; cache地址映像方法:直接映像(地址变换简单,灵活性差),全相联映像(主存调入cache的位

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

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、背景概述 某学校教学管理一直采用手工管理方式。该校教学管理人员的主要工作内容包括教师 档案管理、教师授课管理、学生档案管理和学生选课管理等几项。 教学管理手工处理流程是这样的,管理人员对新调入的教师登记教师档案,对新入学 的学生登记学生档案。每个学期考试结束后登记学生成绩。每个学期末,学生根据系里提 供的下一学期所开课程选课,教师接受下一学期教学任务,并将选课结果和分配的教学任 务等信息登记保存。 由于手工管理方式落后,处理数据能力有限,工作效率低,不能及时为领导和教师提 供所需信息,各种数据得不到充分利用,造成数据的极大浪费。为解决这些问题,校方希 望实现教学管理自动化,用计算机处理来代替手工管理。 2、系统分析 教学管理系统应具有以下功能: 教师档案管理:完成对教师档案信息的管理 教师授课管理:完成对教师授课信息的管理 学生档案管理:完成对学生档案信息的管理 学生成绩管理:完成对学生成绩信息的管理 学生选课管理:完成对学生选课信息的管理 二、系统设计 1、数据库设计 教师档案表:教师编号,姓名,性别,工作时间,政治面貌,学历,职称,系别,联系电 话 教师授课情况表:课程编号,教师姓名,姓名,班级编号,学年,学期,学时,授课地点,授课时间 学生档案表:学号,姓名,性别,出生日期,政治面貌,班级编号,毕业学校 学生成绩表:学号,姓名,学年,学期,课程编号,成绩 学生选课情况表:学号,姓名,班级编号,课程名,课程类别,学分,成绩 2、模块设计图

①教师档案管理 实现教师档案信息的登录(输入指定用户名、密码登入)。如果有分配或调入本单位的新职工,则为其建立档案并将其基本信息(教师编号,姓名,性别,工作时间,政治面貌,学历,职称,系别,联系电话)输入到计算机中;反之,如果有从本单位离职或调走的职工,则将其档案和基本信息调出本系统,删除该职工在本校记录;另外,如果档案资料需修改时也可修改成功。同时,该模块提供对教师档案信息的统计、查询和浏览功能。 ②教师授课管理 实现教师授课信息的登录(输入指定用户名、密码登入),该模块还提供对教师授课信息(课程编号,教师姓名,姓名,班级编号,学年,学期,学时,授课地点,授课时间)的统计、查询和浏览功能。 ③学生档案管理 实现对学生档案信息的登录(输入指定用户名、密码登入),可将新入学学生的基本信息(学号,姓名,性别,出生日期,政治面貌,班级编号,毕业学校)输入到计算机中。另外,该模块提供对学生档案信息的统计、查询和浏览功能。 ④学生成绩管理 实现对学生成绩信息的登录(输入指定用户名、密码登入),并且该模块提供对学生成绩信息(学号,姓名,学年,学期,课程编号,成绩)的统计、查询和浏览功能。 ⑤学生选课管理

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

《软件体系结构》期末复习题 简答题: 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

软件体系结构论文:一种面向方面软件体系结构模型

软件体系结构论文:一种面向方面软件体系结构模型 摘要: 为了分离软件系统中的核心关注点和横切关注点,通过引入面向方面软件开发的思想设计了一种面向方面软件体系结构模型,并详细分析了该模型的三个基本构成单元,即构件、连接件和方面构件。最后通过一个网上支付实例验证了该模型具有一定的理论意义和实用价值。 关键词: 面向方面软件体系结构;横切关注点;构件;连接件;方面构件 20世纪60年代的软件危机使得人们开始重视软件工程的研究。起初,人们把软件设计的重点放在数据结构和算法的选择上,然而随着软件系统规模越来越大,对总体的系统结构设计和规格说明变得异常重要。随着软件危机程度的加剧,软件体系结构(software architecture)这一概念应运而生。软件体系结构着眼于软件系统的全局组织形式,在较高层次上把握系统各部分之间的内在联系,将软件开发的焦点从成百上千的代码上转移到粒度较大的体系结构元素及其交互的设计上。与传统软件技术相比,软件体系结构理论的提出不仅有利于解决软件系统日益增加的规模和复杂度的问题,有利于构件的重用,也有利于软件生产率的提高。面向方面软件开发(AOSD)认为系统是由核心关注点(corn concern)和

横切关注点(cross-cutting concern)有机地交织在一起而形成的。核心关注点是软件要实现的主要功能和目标,横切关注点是那些与核心关注点之间有横切作用的关注点,如系统日志、事务处理和权限验证等。AOSD通过分离系统的横切关注点和核心关注点,使得系统的设计和维护变得容易很多。 Extremadura大学的Navasa等人[1]在2002年提出了将面向方面软件开发技术引入到软件体系结构的设计中,称之为面向方面软件体系结构(aspect oriented software architecture,AO-SA),这样能够结合两者的优点,但是并没有给出构建面向方面软件体系结构的详细方法。 尽管目前对于面向方面软件体系结构这个概念尚未形成统一的认识,但是一般认为面向方面软件体系结构在传统软件体系结构基础上增加了方面构件(aspect component)这一新的构成单元,通过方面构件来封装系统的横切关注点。目前国内外对于面向方面软件体系模型的研究还相对较少,对它的构成单元模型的研究更少,通常只关注方面构件这一构成单元。方面构件最早是由Lieberherr等人[2]提出的,它是在自适应可插拔构件(adaptive plug and play component,APPC)基础之上通过引入面向方面编程(AOP)思想扩展一个可更改的接口而形成的,但它关于请求接口和服务接口的定义很模糊,未能给出一个清晰的方面构件模型。Pawlak等人

软件设计期末考试复习题(曲师大)

软件设计期末考试复习题大)(曲师

2009级软件测试复习题 考试范围:课本1、2、3、5、6、7、9、11、14、15 一、判断题 1、软件需求是度量软件质量的基础,不符合需求的软件就不具备质量。() 2、白盒测试可以找出软件遗漏功能和代码错误问题。() 3、软件缺陷一定是由编码所引起的。() 4、软件测试等于程序测试。() 5、经验表明,测试后程序残存的错误数目与该程序中已发现的错误数目或检错率成 正比。() & 在做程序的单元测试时,桩模块比驱动模块容易编写。() 7、自底向上集成需要程序员编写驱动模块。() 8、单元测试能发现约80%勺软件缺陷。() 9、负载测试是验证要检验的系统的能力最高能达到什么程度。() 10、静态的代码评审一般由测试人员进行。() 11、程序员与测试工作无关。() 12、软件测试工具可以代替软件测试员。() 13、最重要的用户界面要素是软件符合现行标准和规范。() 14、在测试过程中只要使用了测试工具就是测试自动化。() 15、从测试角度看,应用服务器的测试一般比较容易实现自动化。() 16、系统自动化测试是测试工具执行测试过程,不需要人工干预。() 17、与手工测试相比,自动化测试更容易实现覆盖率的度量。() 二、单项选择题 1、在软件生命周期的哪一个阶段,软件缺陷修复费用最高() (A)需求分析(编制产品说明书) (B)设计 (C)编码(D)产品发布 2、单元测试中用来模拟被测模块调用者的模块是() (A)父模块(B)子模块 (C)驱动模块(D)桩模块 3、侧重于观察资源耗尽情况下的软件表现的系统测试被称为() (A)强度测试(B)压力测试 (C)容量测试(D)性能测试 4、必须要求用户参与的测试阶段是() (A)单元测试(B)集成测试 (C)确认测试(D)验收测试 5、下面四种说法中正确的是() (A) 因果图法是建立在决策表法基础上的一种白盒测试方法; (B) 等价类划分法是边界值分析法的基础; (C) 健壮性等价类测试的测试用例要求在有效等价类中取值; (D) 在任何情况下做黑盒测试皆应首先考虑使用错误推断法。 &不属于单元测试内容的是() (A)模块接口测试(B)局部数据结构测试

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

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

2016年下半年软件水平考试(高级)系统架构师下午(论文)真题试卷

2016年下半年软件水平考试(高级)系统架构师下午(论文) 真题试卷 (总分:10.00,做题时间:90分钟) 一、选答题(总题数:5,分数:10.00) 1.选答题(满分)1、从下列试题中任选1道解答,请在答卷上用“○”圈住选答的试题编号。若答题超过1道,则按题号最小的1道题评分。2、解答应分摘要和正文两部分。在书写时,请注意以下两点:①、摘要字数在400字以内,可分条叙述,但不允许有图、表和流程图。②、正文字数为2000-3000字,文中可以分条叙述,但不要全部用分条叙述的方式。3、解答时字迹务必清楚,字迹不清,将不评分。(分数: 2.00) __________________________________________________________________________________________ 解析: 2.论软件系统架构评估对于软件系统,尤其是大规模的复杂软件系统来说,软件的系统架构对于确保最终系统的质量具有十分重要的意义,不恰当的系统架构将给项目开发带来高昂的代价和难以避免的灾难。对一个系统架构进行评估,是为了:分析现有架构存在的潜在风险,检验设计中提出的质量需求,在系统被构建之前分析现有系统架构对于系统质量的影响,提出系统架构的改进方案。架构评估是软件开发过程中的重要环节。请围绕“论软件系统架构评估”论题,依次从以下三个方面进行论述。1.概要叙述你所参与架构评估的软件系统,以及在评估过程中所担任的主要工作。2.分析软件系统架构评估中所普遍关注的质量属性有哪些?详细阐述每种质量属性的具体含义。3.详细说明你所参与的软件系统架构评估中,采用了哪种评估方法,具体实施过程和效果如何。 (分数:2.00) __________________________________________________________________________________________ 正确答案:(正确答案:一、简要描述所参与架构评估的软件系统,并明确指出在评估过程中承担的主要工作。二、分析软件系统架构评估中所普遍关注的质量属性,并详细阐述每种质量属性的具体含义。系统架构评估中普遍关注的质量属性包括:(1)性能性能是指系统的响应能力,即需要多长时间才能对某个事件做出响应,或者在某段事件内系统所能处理的事件个数。经常用单位事件内所处理事务的数量或系统完成某个事务处理所需的时间来对性能进行定量表示。(2)可靠性可靠性是软件系统在应用或者系统错误面前,在意外或者错误使用的情况下维持软件系统的功能特性的基本能力。(3)可用性可用性是系统能够正常运行的时间比例。经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。(4)安全性安全性是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。 (5)可修改性可修改性是指能够快速地以较高的性能价格比对系统进行变更的能力,包括可维护性、可扩展性、结构重构、可移植性。(6)功能性功能性是系统所能完成所期望的工作的能力。一项任务的完成需要系统中许多或大多数构件的相互协作。(7)可变性可变性是指体系结构经扩充或变更而成为新体系结构的能力。(8)互操作性互操作性是指作为系统组成部分的软件不是独立存在的,经常与其他系统或自身环境相互作用。如程序和用其他编程语言编写的软件系统的交互作用就是互操作性的问题。三、针对作者实际参与的软件系统架构评估,说明所采用的评估方法,并描述其具体实施过程和效果。现软件评估中的主要评估方法包括SAAM(Scenarios-based Architecture Analysis Method)和ATAM(Architecture TradeoffAnalysis Method,体系结构权衡分析方法)。作者可选择某种评估方法展开实际项目的系统评估。) 解析: 3.论软件设计模式及其应用软件设计模式(Software Design Paaem)是一套被反复使用的、多数人知晓的、经过分类编目的代码设计经验的总结。使用设计模式是为了重用代码以提高编码效率、增加代码的可理解性、保证代码的可靠性。软件设计模式是软件开发中的最佳实践之一,它经常被软件开发人员在面向对象软件开发过程中所采用。项目中合理地运用设计模式可以完美地解决很多问题,每种模式在实际应用中都有相应的原型与之相对,每种模式都描述了一个在软件开发中不断重复发生的问题,以及对应该原型问题的核心解决方案。请围绕“论软件设计模式及其应用”论题,依次从以下三个方面进行论述。1.概要叙述你参与分析和开发的软件系统,以及你在项目中所担任的主要工作。2.说明常用的软件设计模式有哪几类?

相关文档
最新文档