当前位置:文档之家› 中南大学软件体系结构重点

中南大学软件体系结构重点

中南大学软件体系结构重点
中南大学软件体系结构重点

第一章软件体系结构概述(5分)

一、软件体系结构得定义

●国内普遍接受得定义:软件体系结构包括构件、连接件与约束,它就是可预制与可重

构得软件框架结构。

●软件体系结构= 构件+ 连接件+ 约束

二、软件体系结构得优势

●容易理解

●重用

●控制成本

●可分析性

第二章软件体系结构风格(10分)

一、软件体系结构风格定义

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

An architectural style defines a family of systems in terms of a pattern of structural

organization、

体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表与一组约束。

词汇表中包含一些构件与连接件类型,而这组约束指出系统就是如何将这些构件与

连接件组合起来得。

An architectural style defines a vocabulary of ponents and connector types, and a set of

constraints on how they can be bined、

二、常见得体系结构风格

●管道与过滤器

?每个构件都有一组输入与输出,构件读输入得数据流,经过内部处理,然后产生输出数据流。

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

●数据抽象与面向对象组织

?数据得表示方法与它们得相应操作被封装在一个抽象数据类型或对象中。

?这种风格得构件就是对象或者说就是抽象数据类型得实例。

?对象通过函数与过程得调用来进行交互。

●基于事件得隐式调用

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

?事件得触发者并不知道哪些构件会被这些事件影响。

●分层系统

?组织成一个层次结构。

?每一层都为上一层提供了相应得服务,并且接受下一层提供得服务。

●仓库系统

?构件:中心数据结构(仓库)与一些独立构件得集合。

?仓库与在系统中很重要得外部构件之间得相互作用。

●过程控制环路

?源自于控制理论中得模型框架,将事务处理瞧成输入、加工、输出、反馈、再输入得一个持续得过程模型。

?通过持续性得加工处理过程将输入数据转换成既定属性得“产品”。

●C2风格

通过连接件绑定在一起得按照一组规则运作得并行构件网络。

●C/S风格

?基于资源不对等,且为实现共享而提出来得。

?有三个主要组成部分:数据库服务器、客户应用程序与网络。

?优点:

?具有强大得数据操作与事务处理能力,模型思想简单,易于人们理解与接受。

?对于硬件与软件得变化显示出极大得适应性与灵活性,而且易于对系

统进行扩充与缩小。

?将大得应用处理任务分布到许多通过网络连接得低成本计算机上,以节约大量费用。

?缺点:

?开发成本较高。

?客户端程序设计复杂。

?信息内容与形式单一。

?用户界面风格不一,使用繁杂,不利于推广使用。

?软件移植困难。

?软件维护与升级困难。

?新技术不能轻易应用。

●三层C/S风格

?优点:

?能提高系统与软件得可维护性与可扩展性。

?具有良好得可升级性与开放性。

?可以并行开发。

?有效地隔离开表示层与数据层,为严格得安全管理奠定了坚实得基础。

?缺点:

?各层间得通信效率不高。

?设计时必须慎重考虑三层间得通信方法、通信频率及数据量。

●B/S风格(浏览器/Web服务器/数据库服务器)

?优点:

基于B/S体系结构得软件,系统安装、修改与维护全在服务器端解决。

用户在使用系统时,仅仅需要一个浏览器就可运行全部得模块,真正达

到了“零客户端”得功能,很容易在运行时自动升级。

?提供了异种机、异种网、异种应用服务器得联机、联网、统一服务得

最现实得开放性基础。

?缺点:

?缺乏对动态页面得支持能力,没有集成有效得数据库处理功能。

?系统扩展能力差,安全性难以控制。

?数据查询等响应速度上,要远远低于C/S体系结构。

?数据提交一般以页面为单位,数据得动态交互性不强,不利于在线事务

处理(OLTP)应用。

第三章软件需求与架构(15分)

一、软件需求得概念

需求就是指明必须实现什么得规格说明。它描述了系统得行为、特性或属性,就是在开发过程中对系统得约束。

二、软件需求得流程

三、软件需求得分类

●按层分:

?业务需求:反映组织机构或客户对系统、产品高层次得目标要求,通常问题定义本身就就是业务需求。——领域专家

?用户需求:描述用户使用产品必须要完成什么任务,怎么完成得需求。——用户

?系统需求:从系统得角度来说明软件得需求。——开发人员

?功能需求:系统必须完成得那些事,即为了向它得用户提供有用得功能,产品必须执行得动作。

?非功能需求:产品必须具备得属性或品质,如正确性、可靠性、性能、容错性与可扩展性等。

?设计约束:对解决方案得一些约束说明。

四、软件需求面临得主要困难

●知识技能问题

●态度问题

●合作关系

●用户说不清楚需求

●双方误解需求

●开发人员写不好需求文档

●用户经常变更需求

五、需求工程

●定义:把所有与需求直接相关得活动通称为需求工程。

●需求工程创建得第一份文档就是需求陈述,用于在项目开发之初理解客户得需求。

?需求开发:目得就是通过调查与分析,获取用户需求并定义产品需求。包括:

?需求调查(需求获取)得目得就是通过各种途径获取用户得需求信息(原始材料),产生《需求陈述》。

需求分析得目得就是对各种需求信息进行分析,消除错误,刻画细节等。常

见得需求分析方法有“问答分析法”与“建模分析法”两类。

需求定义得目得就是根据需求调查与需求分析得结果,进一步定义准确无

误得产品需求,产生《软件需求规格说明书》。

需求管理:目得就是在客户与开发方之间建立对需求得共同理解,维护需求与其

它工作成果得一致性,并控制需求得变更。包括:

需求确认就是指开发方与客户共同对需求文档进行评审,双方对需求达成

共识后作出书面承诺,使需求文档具有商业合同效果。

需求跟踪就是指通过比较需求文档与后续工作成果之间得对应关系,建立

与维护“需求跟踪矩阵”,确保产品依据需求文档进行开发。

需求变更控制就是指依据“变更申请-审批-更改-重新确认”得流程处

理需求得变更,防止需求变更失去控制而导致项目发生混乱。

●需求工程结构图:

六、需求获取技术

●获取需求得方法

?面谈(访谈):开放式问题与封闭式问题

?问卷调查:潜在使用者太多或分布太广时

?会议(需求讨论会、重点问题讨论会、业务专题讨论会、设计专题讨论会)

?文档研究

?任务示范(观察):通过观察可以获得第一手得资料。

?用例与角色扮演

?原型设计(小规模试验)

?研究类似公司

●需求陈述

?就是一份文档,陈述用户对软件得期望与需要,并对可能得规格要求加以说明。

?需求陈述用来明确软件得用途,它不仅要说明软件有什么用,还要在宏观层次上明确软件应具备得特性。

?核心内容

?开发该软件得动机(愿景)就是什么?

?该项目得主要涉众就是谁?

?希望该软件具备哪些主要功能与特性?

七、需求建模

●需求模型分类:

?功能模型——如UC——见下章

?业务流程模型——如DFD

数据流图(Data Flow Diagram, DFD)就是结构化方法中用于表示系统逻辑模

型得一种工具,它以图形得方式描绘数据在系统中流动与处理得过程。

?数据建模模型——如ER

?ER建模用于对数据进行建模(概念模型)

?在ER图中包含三个图形符号,分别表示:实体(矩形)、属性(椭圆)、联系(菱形)

八、编写软件需求规格说明书

需求分析得主要成果:软件需求规格说明书(Software Requirement Specification,

SRS)

●要求得属性:

?正确:最重要得属性。

?清楚:让人易读易懂,不在于文档得厚度。

?无二义性:就是指每个需求只有唯一得含义。

?一致:指《软件需求规格说明书》中各个需求之间不会发生矛盾。

?必要:其中得各项需求对用户而言应当都就是必要得。

?完备:指《软件需求规格说明书》中没有遗漏一些必要得需求。

?可实现:其中各项需求对开发方而言应当都就是可实现得。

?可验证:其中得各项需求对用户方而言应当都就是可验证得。

?确定优先级:先做优先级高得需求,后做(甚至放弃)优先级低得需求,这样可以将风险降到最低。

●阐述“做什么”而不就是“怎么做”

九、需求确认

●需求确认就是指开发方与客户方共同对《软件需求规格说明书》进行评审,双方对

需求达成共识后作出承诺。

●包含两个重要工作:

?需求评审

?需求承诺

十、需求跟踪技术

●需求跟踪得目得就是建立与维护“需求-设计-编程-测试”之间得一致性,确保所有

得工作成果符合用户需求。

●跟踪有两种方式:

?正向跟踪。检查《软件需求规格说明书》中得每个需求就是否都能在后继工作成果中找到对应点。

?逆向跟踪。检查设计文档、代码、测试用例等工作成果就是否都能在《软件需求规格说明书》中找到出处。

●跟踪矩阵

?源跟踪矩阵(需求与需求来源)

?功能跟踪矩阵(需求与功能)

?依赖跟踪矩阵(一个需求与另一个需求)

十一、需求变更控制

●需求发生变更得起因主要有:

随着项目得进展,人们(包括开发方与客户方)对需求得了解越来越深入。原

先得需求文档可能存在这样那样得错误或不足,因此要变更需求。

?市场发生了变化,原先得需求文档可能跟不上当前得市场需求,因此要变更需求。

●需求变更控制得目得:

?如果需求变更带来得好处大于坏处,那么允许变更,但必须按照已定义得变更规程执行,以免变更失去控制。

?如果需求变更带来得坏处大于好处,那么拒绝变更。

●需求基线

已经通过正式评审与批准得规格说明或产品,它可以作为进一步开发得基

础,并且只有通过正式得变更控制过程才能修改它。

?就是被明确与固定下来得需求集合,就是项目团队需要在某一特定产品版本中实现得特征与需求集合。

第五章统一建模语言UML(20分)

(Unified Modeling Language)(重点瞧实验1)

一、用例图(Use Case Diagram)

●执行者与用例之间得关联关系(Association):一根直线来表示

●执行者之间得泛化关系(Generalization)(或继承关系)

用例之间得关系:

●包含关系:

描述在多个用例中都有得公共行为,由用例A指向用例B,表示用例A中使用了用例B中得行为或功能,包含关系就是通过在依赖关系上应用<>构造型(衍型)来表示得。

●扩展关系:

扩展用例可以在基用例之上添加新得行为,但就是基用例必须声明某些特定得“扩展点”,并且扩展用例只能在这些扩展点上扩展新得行为。扩展关系就是通过在依赖关系上应用<>构造型(衍型)来表示得。

●泛化关系:

当多个用例共同拥有一种类似得结构与行为得时候,可以将它们得共性抽象成

为父用例,其她得用例作为泛化关系中得子用例。

?在用例得泛化关系中,子用例就是父用例得一种特殊形式,子用例继承了父用例所有得结构、行为与关系。

?泛化关系一般很少使用。

二、状态图(State Diagram)

●定义:用来描述一个特定对象得所有可能状态及其引起状态转移得事件。

?通常用状态图来描述单个对象得行为

?只有那些具有重要交互行为得类,才会使用状态图来描述。

?一个状态图包括一系列对象得状态及状态之间得转换。

●组成元素:

?初始状态

?终止状态

?状态

?转移

?守护条件

?事件

?动作

三、活动图(Activity Diagram)

定义:用来表示系统中各种活动得次序,它得应用非常广泛,既可用来描述用例得工

作流程,也可以用来描述类中某个方法得操作行为。

●作用:

?描述业务流程

?描述用例路径

?描述方法执行流程(程序流程图)

●组成元素:

?起始活动(Start Activity)

?终止活动(End Activity)

?活动(Activity)

?转移(Transition)或流(Flow)

?决策(Decision)

?守护条件(Condition)

?同步条(Synchronization)

?泳道(Swimlane)

四、顺序图

●定义:

?用于确认与丰富一个使用情境得逻辑。

将交互关系表现为一个二维图,纵向就是时间轴,时间沿竖线向下延伸。横向轴

代表了在协作中各独立对象得类元角色,类元角色得活动用生命线表示。

●组成元素:

?生命线:用一条纵向虚线表示。

?对象:表示为一个矩形,其中对象名称标有下划线。

?激活:就是过程得执行,包括等待过程执行得时间。激活部分替换生命线,使用长条得矩形表示。

?消息:对象之间得通信

?调用消息:对应于激活,表示它将会激活一个对象。

?发送消息:没有对应激活框,表示它不就是一个调用消息,不会引发其她对象得活动。

?返回消息

?自身消息

?创建消息

?销毁消息

?同步消息

?异步消息

?交互片段:一个复杂得顺序图可以划分为几个小块,每一个小块称为一个交互片段。

?alt:多条路径,条件为真时执行。

?opt:任选,仅当条件为真时执行。

?par:并行,每一片段都并发执行。

?loop:循环,片段可多次执行。

?critical:临界区,只能有一个线程对它立即执行。

五、类图

●类之间得关系:

?关联关系(Association)

?用于表示一类对象与另一类对象之间有联系

?用实线连接有关联得对象所对应得类

?通常将一个类得对象作为另一个类得属性

?自关联

?一些类得属性对象类型为该类本身

?多重性关联

?表示一个类得对象与另一个类得对象连接得个数。

?聚合关系(Aggregation)

?表示一个整体与部分得关系。

?成员类就是整体类得一部分,即成员对象就是整体对象得一部分,但就是成员对象可以脱离整体对象独立存在。

?在UML中,聚合关系用带空心菱形得直线表示。

?组合关系(position)

?部分与整体具有统一得生存期。

?部分对象与整体对象之间具有同生共死得关系。

?整体类可以控制成员类得生命周期,即成员类得存在依赖于整体类。

?在UML中,组合关系用带实心菱形得直线表示。

?依赖关系(Dependency)

?使用关系。

?体现在某个类得方法使用另一个类得对象作为参数。

?在UML中,依赖关系用带箭头得虚线表示。

?泛化关系(Generalization)

?用于描述父类与子类之间得关系,父类又称作基类或超类,子类又称作派生类。

?在UML中,泛化关系用带空心三角形得直线来表示。

?接口与实现关系(Realization)

?类实现了接口,类中得操作实现了接口中所声明得操作。

?在UML中,类与接口之间得实现关系用带空心三角形得虚线来表示。

六、包图

●定义

?一种把元素组织到一起得通用机制

?用于描述包与包之间得关系

?包得图标就是一个带标签得文件夹。

●包之间得关系

?引入关系:

?一个包中得类可以被另一个指定包(以及嵌套于其中得那些包)中得类引用。

?在依赖线上增加一个<>衍型。

?泛化关系:表示一个包继承了另一个包得内容,同时又补充自己增加得内容。

?嵌套关系:一个包中可以包含若干个子包,构成了包得嵌套层次结构。

七、组件图(ponent Diagram)

●定义:

?显示编译、链接或执行时组件之间得依赖关系,以及组件得接口与调用关系。

?组件就就是一个实际文件,可以有以下几种类型:

?源代码组件:一个源代码文件或者与一个包对应得若干个源代码文件。

?二进制组件:一个目标码文件,一个静态得或者动态得库文件。

?可执行组件:在一台处理器上可运行得一个可执行得程序单位,即所谓可执行程序。

●组件间关系:泛化关系、依赖关系

软件体系结构期末大题

软件体系结构-期末大题

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

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

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

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

中南大学软件体系结构实验4-结构型设计模式实验

实验4 结构型设计模式实验 实验学时: 2 每组人数: 1 实验类型: 3 (1:基础性 2:综合性 3:设计性 4:研究性) 实验要求: 1 (1:必修 2:选修 3:其它) 实验类别: 3 (1:基础 2:专业基础 3:专业 4:其它) 一、实验目的 熟练使用PowerDesigner和任意一种面向对象编程语言实现几种常见的结构型设计模式,包括适配器模式、组合模式和外观模式,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式。 二、实验内容 1. 现有一个接口DataOperation定义了排序方法sort(int[]) 和查找方法search(int[], int),已知类QuickSort的quickSort(int[])方法实现了快速排序算法,类BinarySearch 的binarySearch(int[], int)方法实现了二分查找算法。试使用适配器模式设计一个系统,在不修改源代码的情况下将类QuickSort和类BinarySearch的方法适配到DataOperation接口中。绘制类图并编程实现。(要求实现快速排序和二分查找,使用对象适配器实现) 2. Windows Media Player和RealPlayer是两种常用的媒体播放器,它们的API结构和调用方法存在区别。现在你的应用程序需要支持这两种播放器API,而且在将来可能还需要支持新的媒体播放器,请问如何设计该应用程序绘制类图并编程模拟实现。 3. 使用组合模式设计一个杀毒软件(AntiVirus)的框架,该软件既可以对某个文件夹(Folder)杀毒,也可以对某个指定的文件(File)进行杀毒,文件种类包括文本文件TextFile、图片文件ImageFile、视频文件VideoFile。绘制类图并编程模拟实现。 4. 某教育机构组织结构如下图所示:

中南大学数据库习题 复习题目【爆款】.doc

第九章习题 一、选择题(1-10小题为多选题,11-13小题为单选题) 1. 在SQL Server2000中属于表级完整性约束的是(AC )。 A)实体完整性约束B)域完整性约束C)参照完整性约束D)以上三者均是 2. 在SQL Server2000中实现数据完整性的主要方法有(ABCD )。 A)约束B)默认C)规则D)触发器 3. 在SQL Server2000的数据完整性控制中属于声明数据完整性的是(ABC )。 A)约束B)默认C)规则D)触发器 4. 在SQL Server2000的数据完整性控制中属于过程数据完整性的是(AD)。 A)存储过程B)默认C)规则D)触发器 5. 在SQL Server中,以下(AB)约束属于域完整性约束。 A)DEFAULT B)CHECK C)NULL D)FOREIGN KEY 6. SQL Server2000数据库系统中一般采用(ABCD )以及密码存储等技术进行安全控制。 A)用户标识和鉴别B)存取控制C)视图D)触发器 7. SQL Server2000使用权限来加强系统的安全性,语句权限适用的语句有(B )。 A)EXECUTE B)CREATE TABLE C)UPDATE D)SELECT 8. 有关登录帐户、用户、角色三者的叙述中正确的是()。 A)登录帐户是服务器级的,用户是数据库级的 B)用户一定是登录帐户,登录帐户不一定是数据库用户 C)角色是具有一定权限的用户组 D)角色成员继承角色所拥有访问权限 9. SQL Server2000的安全性管理包括()。 A)数据库系统登录管理B)数据库用户管理 C)数据库系统角色管理D)数据库访问权限的管理。 10. SQL Server2000使用权限来加强系统的安全性,通常将权限分为(AC)。 A)对象权限B)用户权限C)语句权限D)隐含权限 11. SQL Server 2000提供了4层安全防线,其中SQL Server2000通过登录账号设置来创建附加安全层,用户只有登录成功,才能与SQL Server2000建立一次连接,属于(B )。 A)操作系统的安全防线B)SQL Server2000的运行安全防线 C)SQL Server2000数据库的安全防线D)SQL Server2000数据库对象的安全防线 12. SQL Server2000中,为便于管理用户及权限,可以将一组具有相同权限的用户组织在一起,这一组具有相同权限的用户就称为(B )。 A)帐户B)角色C)登录D)SQL Server用户 13. 在SQL Server中,有关页的叙述中正确的是()。 A)页是除行外的最小数据单位

中南大学软件学院Java WEB 考点

1、HTTP协议请求报文以及响应报文 2、JAVA Socket编程Socket以及ServerSocket 3、WEB服务器概念Tomcat服务器目录结构和基本配置server.xml文件 4、什么是Servlet? 怎样实现一个自定义Servlet? 5、Servlet基本配置 6、ServletAPI 包括HttpServlet、HttpServletRequest、HttpServletResponse、ServletConfig、 ServletContext 7、service方法以及doGet和doPost方法 8、servlet生命周期 9、怎样获取网页提交的参数? 10、会话HttpSession和Cookie 11、调用一个已定义好的Servlet有哪些方式 12、表单提交数据到Servlet 中文乱码处理 13、客户端页面向服务端servlet传递参数有哪些方式 14、JSP的运行原理以及基本语法 15、JSP隐式对象 16、JavaScript基本语法 17、JavaScript中的对象 18、JavaScript与AJAX 19、基于对象的Javascript以及继承的实现 客户端/服务器的优势在于: 服务器和客户端分摊任务,分别负责部分处理工作; 服务器可以同时为多台客户端服务; 多个客户端可以同时访问服务器上的相同数据。 IP 网络ID:网络ID标识了计算机或网络设备所在的网段; 主机ID:主机ID标识了特定的主机或网络设备 特殊IP地址: 0.0.0.0和127.0.0.1就是两个此类地址,第一个称为缺省路由,后一个是环回地址;127.0.0.1被保留用于用户主机的本地IP话务,它被分配给一个特殊接口,即起到闭合电路作用的环回接口 端口 端口使用一个16位的数字来表示,它的范围是0~65535,1024以下的端口号保留给预定义的服务,如:http使用80端口; https://www.doczj.com/doc/c4656289.html,包 https://www.doczj.com/doc/c4656289.html,包可以实现Java的网络功能,

软件体系结构考试要点

考试题型 一、填空(每题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的具体工作步骤。

中南大学软件体系结构重要资料

第一章软件体系结构概述(5分) 一、软件体系结构的定义 ●国内普遍接受的定义:软件体系结构包括构件、连接件和约束,它是可预制和可重 构的软件框架结构。 ●软件体系结构= 构件+ 连接件+ 约束 二、软件体系结构的优势 ●容易理解 ●重用 ●控制成本 ●可分析性 第二章软件体系结构风格(10分) 一、软件体系结构风格定义 ●软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。 An architectural style defines a family of systems in terms of a pattern of structural organization. ●体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。 词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连 接件组合起来的。 An architectural style defines a vocabulary of components and connector types, and a set of constraints on how they can be combined. 二、常见的体系结构风格 ●管道和过滤器

?每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。 ?过滤器风格的连接件就像是数据流传输的管道,将一个过滤器的输出传到另一个过滤器的输入。 ●数据抽象和面向对象组织 ?数据的表示方法和它们的相应操作被封装在一个抽象数据类型或对象中。 ?这种风格的构件是对象或者说是抽象数据类型的实例。 ?对象通过函数和过程的调用来进行交互。 ●基于事件的隐式调用 ?构件不直接调用一个过程,而是触发或广播一个或多个事件。 ?事件的触发者并不知道哪些构件会被这些事件影响。 ●分层系统 ?组织成一个层次结构。 ?每一层都为上一层提供了相应的服务,并且接受下一层提供的服务。 ●仓库系统 ?构件:中心数据结构(仓库)和一些独立构件的集合。 ?仓库和在系统中很重要的外部构件之间的相互作用。 ●过程控制环路 ?源自于控制理论中的模型框架,将事务处理看成输入、加工、输出、反馈、再输入的一个持续的过程模型。 ?通过持续性的加工处理过程将输入数据转换成既定属性的“产品”。 ●C2风格

中南大学数据库考试题库

1?在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的()阶段。 A需求分析 B概念设计 C逻辑设计 D物理设计 参考答案 B 数据库设计步骤: (1)规划(必要性、可行性,总目标) (2)需求分析(分析用户活动,产生业务流程图;确定系统范围,产生系统范围图;分析用户活动涉及的数据,产生数据流程图;分析系统数据,产生数据字典。)(3)概念设计(设计出独立于计算机硬件和DBMS的概念模式。E-R模型是主要设计工具) (4)逻辑结构设计(把概念设计阶段设计好的全局E-R模式转换成与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑结构,包括数据库模式和外模式)(5)数据库的物理设计(对于给定的数据模型选取一个垠适合应用环境的物理结构的过程。数据库的物理结构主要指数据库的存储记录格式、存储记录安排和存取方法)(6)数据库的实现(建立实际数据库结构;装入试验数据对应用程序进行调试;装入实际数据,进入试运行状态) (7)数据库的运行与维护(维护数据库的安全性与完整性;监测并改善数据库运行性能; 根据用户要求对数据库现有功能进行扩充;及时改正运行中发现的系统错误) 2.关于数据库概念设计阶段的工作目标,下列说法错谋的是 A定义和描述应用系统涉及的信息结构和范围 B定义和描述应用系统中数据的属性特征和数据之间的联系 C描述应用系统的数据需求 D描述需要存储的记录及其数量 参考答案 3. SQL Server 2000的字符型系统数据类型主要包括()。 A int、money、char B char> varchar、text

C datetime、binary> int D char、varchar> int 参考答案 B 4. 具有联系的相关数据按一定的方式组织排列,并构成一定的结构,这种结构即()。 A数据模型 B数据库 C关系模型 D数据库管理系统 参考答案 A 5. 在数据库系统中,下列哪个映像关系用于提供数据与应用程序间的逻辑独立性? A外模式/模式 B模式/内模式 C外模式/内模式 D逻辑模式/内模式 参考答案 B 6. 关系模型的数据结构是 A树 B图 C表 D二维表 参考答案 D 7. 数据字典是数据库管理系统的重要组成部分,其中存储的各类信息通常由 A数据库管理员维护 B程序员维护 C数据库管理系统维护 D—般用户维护 参考答案 A 8. E-R图用于描述数据库的

软件体系结构KWIC实验

《软件体系结构》 实验:软件体系结构风格之应用

一、实验目的 通过KWIC 实例分析,理解和掌握软件体系结构风格设计与实现。 二、实验内容 多种软件风格设计与实现之KWIC 实例: 1.采用主/子程序体系结构风格实现KWIC 关键词索引系统 2.采用面向对象体系架构风格实现KWIC 关键词索引系统 3.采用管道过滤 体系架构风格实现KWIC 关键词索引系统 4.采用事件过程调用体系架构风格实现KWIC 关键词索引系统 三、实验要求与实验环境 熟练掌握基于主/子程序体系结构风格的KWIC 关键词索引系统,在此基础上,完成基于面向对象体系架构风格的KWIC 关键词索引系统设计与实现。选做基于管道过滤体系架构风格的KWIC 关键词索引系统;选做基于事件过程调用体系架构 风格的KWIC 关键词索引系统。 实验课前完成实验报告的实验目的、实验环境、实验内容、实验操作过程等 内容;实验课中独立/团队操作完成实验报告的实验操作、实验结果及结论等内容;每人一台PC 机,所需软件Win2003/XP 、UML 工具(EclipseUML/ Rose/Visio/StartUML/)、Eclipse/MyEclipse、JDK6.0 等。 四、实验操作 1、采用主/子程序体系结构风格实现KWIC 关键词索引系统 主程序/子程序风格(Main Program/Subroutine Style)将系统组织成层次结构,包括一个主程序和一系列子程序。主程序是系统的控制器,负责调度各子程 序的执行。各子程序又是一个局部的控制器,调度其子程序的执行。设计词汇表:主程序main(), 子程序shift(), sort() 方法,方法的调用,返回构件和连接件类型:

中南大学软件体系结构设计模式实验二

中南大学软件体系结构设计模式实验二 Company number:【0089WT-8898YT-W8CCB-BUUT-202108】

实验3 设计模式实验二 实验学时: 4 每组人数: 1 实验类型: 3 (1:基础性 2:综合性 3:设计性 4:研究性) 实验要求: 1 (1:必修 2:选修 3:其它) 实验类别: 3 (1:基础 2:专业基础 3:专业 4:其它) 一、实验目的 熟练使用PowerDesigner和任意一种面向对象编程语言实现几种常见的行为型设计模式,包括职责链模式、命令模式、观察者模式和策略模式,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式。 二、实验内容 1. 某企业的SCM(Supply Chain Management,供应链管理)系统中包含一个采购审批子系统。该企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批5万元以下(不包括5万元)的采购单,副董事长可以审批5万元至10万元(不包括10万元)的采购单,董事长可以审批10万元至50万元(不包括50万元)的采购单,50万元及以上的采购单就需要开董事会讨论决定。如下图所示: 试使用职责链模式设计并模拟实现该系统。 2. 房间中的开关是命令模式的一个实例,现用命令模式来模拟开关的功能,可控制对象包括电灯和电风扇,绘制相应的类图并编程模拟实现。 3. 某软件公司欲开发一个基于Windows平台的公告板系统。系统提供一个主菜单(Menu),在主菜单中包含了一些菜单项(MenuItem),可以通过Menu类的addMenuItem()方法增加菜单项。菜单项的主要方法是click(),每一个菜单项包含一个抽象命令类,具体命令类包括OpenCommand(打开命令),CreateCommand(新建命令),EditCommand(编辑命令)等,命令类具有一个execute()方法,用于调用公告板系统界面类(BoardScreen)的open()、create()、edit()等方法。现使用命令模式设计该系统,使得MenuItem类与BoardScreen类的耦合度降低,绘制类图并编程实现。 4. 某实时在线股票软件需要提供如下功能:当股票购买者所购买的某支股票价格变化幅度达到5%时,系统将自动发送通知(包括新价格)给购买该股票的所有股民。试使用观察者模式设计并实现该系统,要求绘制相应的类图并编程模拟实现。 5. 某公司欲开发一套机房监控系统,如果机房达到某一指定温度,温度传感器(Thermosensor)将自动传递信号给各种响应设备,例如警示灯(CautionLight)将闪烁(flicker())、报警器(Annunciator)将发出警报(alarm())、安全逃生门(SecurityDoor)将自动开启(open())、隔热门(InsulatedDoor)将自动关闭(close())

中南大学数据库题库03数据表

有职工工资表(职工号、姓名、日期、基本工资、奖金、工资合计),其中“工资合计”等于同一行数据的“基本工资”与“奖金”之和,在职工工资表中插入一行数据时(设一次只插入一行数据)能实现自动计算“工资合计”列的值的代码是( )。 A ALTER TABLE 职工工资表 ADD CHECK(工资合计=基本工资+奖金) B UPDATE 职工工资表SET 工资合计=基本工资+奖金 C INSERT INTO 职工工资表(工资合计) VALUES (基本工资+奖金) D CREATE TRIGGER tgz ON 职工工资表

FOR INSERT AS UPDATE 职工工资表SET 工资合计=a.基本工资+a.奖金 FROM 职工工资表 a JOIN INSERTED b ON a.职工号=b.职工号 AND a.日期=b.日期 参考答案 D 在SQL Server中,有教师表(教师号,姓名,职称,工资)。现要为“教授”的工资增加400。下列语句中正确的是( )。 A UPDATE 教师表SET 工资=工资+400 WHERE 职称= ′教授′ B UPDATE 教师表WITH 工资=工资+400

WHERE 职称= ′教授′ C UPDATE FROM 教师表SET 工资=工资+400 WHERE 职称= ′教授′ D UPDATE 教师表SET 工资+400 WHERE 职称= ′教授′ 参考答案 A 在为student_db数据库的St_Info表录入数据时,常常需要一遍又一遍地输入“男”到学生“性别”列,以下()方法可以解决这个问题。 A 创建一个DEFAULT约束(或默认值) B 创建一个CHECK约束 C 创建一个UNIQUE约束(或唯一值) D 创建一个PRIMARY KEY约束(或主键)

软件体系结构风格研究分析

软件体系结构风格研究分析 软件体系结构风格研究,分析了各种风格的特点、优缺点,最后重点介绍了三层C/S软件体系结构。 20世纪60年代中期的软件危机使得人们开始重视软件工程的研究。起初,人们把软件设计的重点放在数据结构和算法的选择上。随着软件系统规模越来越大、越来越复杂,整个系统的结构显得越来越重要。 软件体系结构风格分析 最初的软件体系结构是Mainframe结构——客户、数据和程序都被集中在主机上,通常只有少量的GUI界面,对远程数据库的访问比较困难。随着PC的广泛应用,该结构逐渐被淘汰。在20世纪80年代中期出现了Client/Server分布式计算结构,应用程序的处理在客户机和服务器之间分担。随着大型软件系统的开发,这种结构在系统的部署和扩展性方面暴漏出不足。随着Inter的发展,一个更灵活的体系结构“三层/多层计算”体系结构应运而生。 Garlan和Shaw将通用软件体系结构风格总结为以下几类:

1.数据流风格:批处理序列;管道/过滤器。 2.调用/返回风格:主程序/子程序;面向对象风格;层次结构。 3.独立构件风格:进程通讯;事件系统。 4.虚拟机风格:解释器;基于规则的系统。 5.仓库风格:数据库系统;超文本系统;黑板系统。C2风格是最常用的一种软件体系结构风格。从C2风格的组织规则和结构图中,我们可以得出,C2风格具有以下特点: (1)系统中的构件可实现应用需求,并能将任意复杂度的功能封装在一起;(2)所有构件之间的通讯是通过以连接件为中介的异步消 息交换机制来实现的;(3)构件相对独立,构件之间依赖性较少。系统中不存在某些构件将在同一地址空间内执行,或某些构件共享特定控制线程之类的相关性假设。 2.数据抽象和面向对象风格。目前软件界已普遍转向使用面向对象系统,抽象数据类型概念对软件系统有着重要作用。这种风格的构件是对象,或者说是抽象数据类型的实例。对象是一种被称作管理者的构件,因为它负责保持资源的完整性。对象是通过函数和过程的调用来交互的。图2是数据抽象和面向对象风格的示意图。面向对象的系统有许多的优点: (1)因为对象对其他对象隐藏它的表示,所以可以改变一个对象的表示,而不影响其他的对象。(2)设计者可将一些数据存取操作的

软件体系结构作业完整版

第一章: 1.根据自己的经验,谈谈对软件危机的看法。 软件危机是指软件生产方式无法满足迅速增长的计算机需求,开发和维护过程出现的一系列问题。 以下几个原因导致:(1)软件自身特点 (2)开发人员的弱点 (3)用户需求不明 (4)缺乏正确理论指导 (5)开发规模越来越大 (6)开发复杂度越来越高 可以通过软件生命周期的模型和软件工具的使用来缓解危机,通过程序自动化和软件工业化生产的方法实现软件标准化的目标,进一步缓解软件危机带来的影响。 软件危机有利有弊,除了带来许多麻烦,也给我们带来许多挑战,克服危机的过程,我们在技术上和创新上都有了一个提升,也算是间接为软件产业的发展做了贡献。 2.什么是软件重用,软件重用的层次可以分为哪几个级别? 软件重用:是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。可以分为三个层次: (1)代码重用(2)设计结果重用(3)分析结果重用 3.什么是可重用构件?相对于普通的软件产品,对可重用构件有何特殊要求? 可充用构件表示软件重用过程中,可重用的软件构件元素。 可重用构件的特殊要求: (1)可重用构件应该具有功能上的独立性与完整性; (2)可重用构件应该具有较高的通用性; (3)可重用构件应该具有较高的灵活; (4)可重用构件应该具有严格的质量保证; (5)可重用构件应该具有较高的标准化程。 4.基于构件的软件开发的优势是什么?基于构件的软件开发面临哪些挑战和困难? 优势:基于构件的软件将软件开发的重点从程序编写转移到了基于已有构件的组装,更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降低了软件开发的费用困难和挑战:没有可依据的参考,可用资源和环境缺乏,开发难度高,而各方面需求增长速度与日剧增,更新和升级的跟进是一个不小的挑战.此外,在同一系统采用多个开发商提供的构件,它 们之间的兼容性可能是开发过程中所要面对的一个严峻的问题 挑战和困难: (1)在同一系统采用多个开发商提供的构件,它们之间的兼容性可能是开发过程中所要面对的一个严峻的问题; (2)采用随处可以购买到的构件可能会使开发出来的软件产品丧失技术上的独创性和市场上的竞争力;(3)第三方的构件开发商可能歇业,这会使购买的构件失去维护服务。这些都是在购买第三方构件进行软件开发时无法回避的问题,因此需要对这些风险进行充分的估计。 5.简述3种应用最为广泛的构件技术规范COM、CORBA和EJB的各自特点。CORBA的特点: (1)实现客户与服务对象的完全分开,客户不需要了解服务对象的实现过程以及具体位置。 (2)应用程序间的统一接口。

软件体系结构总结

第一章:1、软件体系结构的定义 国内普遍看法: 体系结构=构件+连接件+约束 2、软件体系结构涉及哪几种结构: 1、模块结构(Module) 系统如何被构造为一组代码或数据单元的决策 2、构件和连接件结构(Component-And-Connector,C&C) 系统如何被设计为一组具有运行时行为(构件)和交互(连接件)的元素 3、分配结构(Allocation) 展示如何将来自于模块结构或C&C结构的单元映射到非软件结构(硬件、开发组和文件系统) 3、视图视点模型 视点(View point) ISO/IEC 42010:2007 (IEEE-Std-1471-2000)中规定:视点是一个有关单个视图的规格说明。 视图是基于某一视点对整个系统的一种表达。一个视图可由一个或多个架构模型组成 架构模型 架构意义上的图及其文字描述(如软件架构结构图) 视图模型 一个视图是关于整个系统某一方面的表达,一个视图模型则是指一组用来构建 4、软件体系结构核心原模型 1、构件是具有某种功能的可复用的软件结构单元,表示了系统中主要的计算元素和数据存储。 2.连接件(Connector):表示构件之间的交互并实现构件 之间的连接

特性:1)方向性2)角色3)激发性4)响应特征 第二章 1、软件功能需求、质量属性需求、约束分别对软件架构产生的影响 功能性需求:系统必须实现的功能,以及系统在运行时接收外部激励时所做出的行为或响应。 质量属性需求:这些需求对功能或整个产品的质量描述。 约束:一种零度自由的设计决策,如使用特定的编程语言。 质量原意是指好的程度,与目标吻合的程度,在软件工程领域,目标自然就是需求。 对任何系统而言,能按照功能需求正确执行应是对其最基本的要求。 正确性是指软件按照需求正确执行任务的能力,这无疑是第一重要的软件质量属性。质量属性的优劣程度反映了设计是否成功以及软件系统的整体质量。 系统或软件架构的相关视图的集合,这样一组从不同视角表达系统的视图组合在一起构成对系统比较完整的表达

中南大学 软件体系结构重点

需求工程 所有与需求直接相关的活动通称为需求工程。包括需求开发和需求管理。需求开发包括需求的调查,分析和定义,需求管理包括需求的确认、跟踪以及变更控制 C/S体系结构定义了工作站如何与服务器相连,以实现数据和应用分布到多个处理机上。 C/S体系结构有三个主要组成部分:数据库服务器、客户应用程序和网络 c/s优点:1、具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受 2、对于硬件和软件的变化有极大的适应性和灵活性,而且易于对系统进行扩充和缩小。 3、将大的应用处理任务分布到许多通过网络连接的低成本计算机上,节约大量费用缺点 缺点: 开发成本较高 客户端程序设计复杂 信息内容和形式单一 用户界面风格不一,使用繁杂,不利于推广使用 软件移植困难 软件维护和升级困难 新技术不能轻易应用 b/s优点:1、实现了零客户端,易于服务升级2、提供了异种机、异种网、异种应用服务器的联机、联网、统一服务的最现实的开放性基础。b/s缺点: B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数 据库处理功能。 系统扩展能力差,安全性难以控制。 在数据查询等响应速度上,远远低于C/S体系结构。 数据的动态交互性不强,不利于在线事务处理(OLTP)应用。适配器模式(Adapter Pattern) :将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作 优点: 1、将目标类和适配者类解耦 2、增加了类的透明性和复用性 3、灵活性和扩展性都非常好

4、类适配器:可以在适配器类中置换一些适配者的方法,使得适配器的灵活性更强。 5、对象适配器:同一个适配器可以把适配者类和它的子类都适配到目标接口。 缺点: 类适配器:不支持多继承的语言,一次最多只能适配一个适配者类,而且目标抽象类只能为抽象类,不能为具体类,其使用有一定的局限性 对象适配器:要想置换适配者类的方法就不容易 适用: 系统需要使用现有的类,而这些类的接口不符合系统的需要。 想要建立一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类一起工作 桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化 优点: ? 分离抽象接口及其实现部分。 ? 桥接模式有时类似于多继承方案,但是多继承方案违背了类的单 一职责原则(即一个类只有一个变化的原因),复用性比较差, 而且多继承结构中类的个数非常庞大,桥接模式是比多继承方案 更好的解决方法。 ? 桥接模式提高了系统的可扩充性,在两个变化维度中任意扩展一 个维度,都不需要修改原有系统。 ? 实现细节对客户透明,可以对用户隐藏实现细节。 缺点: 1、增加系统的理解与设计难度,由于聚合关联关系建立在抽象层,要求开发者针对抽象进行设计与编程。 2、要求正确识别出系统中两个独立变化的维度,因此其使用范围具有一定的局限性 适用: 一个类存在两个独立变化的维度,且这两个维度都需要进行扩展 不希望使用继承或因为多层次继承导致系统类的个数急剧增加的系统 一个系统需要在构件的抽象化角色和具体化角色之间增加更多的灵活性,避免在两个层次之间建立静态的继承联系 装饰模式(Decorator Pattern) :动态地给一个对象增加一些额外的职责(Responsibility)

中南大学数据库题库04数据查询

成绩表grade中字段st_id代表学号,score代表分数,以下()语句返回成绩表中的最低分。 A SELECT max(score) FROM grade B SELECT TOP 1 score FROM grade ORDER BY score ASC C SELECT st_id, MIN(score) FROM grade D SELECT TOP 1 score FROM grade ORDER BY score DESC 参考答案 B 有教师表(教师号,姓名,所在系,工资),找出系内教师平均工资高于全体教师平均工资的系信息,正确语句是 A SELECT 所在系, AVG(工资) FROM 教师表 WHERE AVG(工资)>(SELECT AVG(工资) FROM 教师表) B SELECT 所在系,AVG(工资) FROM 教师表 WHERE AVG(工资)>(SELECT AVG(工资) FROM 教师表) GROUP BY 工资 C

SELECT 所在系, AVG(工资) FROM 教师表 GROUP BY 所在系 HAVING AVG(工资)>(SELECT AVG(工资) FROM 教师表) D SELECT 所在系,AVG(工资) FROM 教师表 GROUP BY 所在系 WHERE AVG(工资)>(SELECT AVG(工资) FROM 教师表) 参考答案 C 有教师表(教师号,姓名,职称,所在系)和授课表(教师号,课程号,授课学年,授课时数),同一门课程可由多个教师讲授,同一个教师也可讲授多门课程,查询从未被“教授”讲授过的课程的课程号,正确的语句是 A SELECT 课程号FROM 授课表 a JOIN 教师表 b ON a.教师号=b.教师号WHERE 职称!=′教授′ B SELECT 课程号FROM 授课表 a RIGHT OUTTER JOIN 教师表 b ON a.教师号=b.教师号

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

1、就项目管理方面而言,软件重用项目与非重用项目有哪些不同之处。 答:使用软件重用技术可减少重复工作,提高软件生产率, 缩短开发周期。同时,由于软构建大多经过严格的质量认证,因此有助于改善软件质量,大量使用构建,软件的灵活性和标准化程度可得到提高。 2、实际参与/组织一个软件重用项目的开发,然后总结你是如何组织该项目的开发的 答:参加了一个网页管理系统的开发,该项目重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。在过程中使用了代码的复用、设计结果的复用、分析结果的复用、测试信息的复用等。 3、为什么要研究软件体系结构? 答:1.软件体系结构是系统开发中不同参与者进行交流和信息传播的媒介。 2.软件体系结构代表了早期的设计决策成果。 3.软件体系结构可以作为一种可变换的模型。 4、根据软件体系结构的定义,你认为软件体系结构的模型应该由哪些部分组成? 答:构件(component)可以是一组代码,如程序的模块;也可以是一个独立的程序(如数据库的SQL服务器); 连接件(connector)是关系的抽象,用以表示构件之间的相互作用。如过程调用、管道、远程过程调用等; 限制(constrain):用于对构件和连接件的语义说明。 5、在软件体系结构的研究和应用中,你认为还有哪些不足之处? 答:(1)缺乏同意的软件体系结构的概念,导致体系结构的研究范畴模糊。 (2)ADL繁多,缺乏同意的ADL的支持。 (3)软件体系结构研究缺乏统一的理论模型支持。 (4)在体系结构描述方便,尽管出现了多种标准规范或建议标准,但仍很难操作。 (5)有关软件体系结构性质的研究尚不充分,不能明确给出一个良体系结构的属性或判定标准,没有给出良体系结构的设计指导原则,因而对于软件开发实践缺乏有力的促进作用。 (6)缺乏有效的支持环境软件体系结构理论研究与环境支持不同步,缺乏有效的体系结构分析、设计、方针和验证工具支持,导致体系结构应用上的困难。 (7)缺乏有效的体系结构复用方案。 (8)体系结构发现方法研究相对欠缺。 1、选择一个规模合适的系统,为其建立“4+1”模型。 逻辑视图(Logical View),设计的对象模型(使用面向对象的设计方法时)。 过程视图(Process View),捕捉设计的并发和同步特征。 物理视图(Physical View),描述了软件到硬件的映射,反映了分布式特性。 开发视图(Development View),描述了在开发环境中软件的静态组织结构。 架构的描述,即所做的各种决定,可以围绕着这四个视图来组织,然后由一些用例(use cases)或场景(scenarios)来说明,从而形成了第五个视图。

中南大学数据库题库02 SQL Server数据库的管理

在SQL Server 2000中,通过构建永久备份设备可以对数据库进行备份,下列说法正确的是 A 不需要指定备份设备的大小 B 一个数据库一次只能备份在一个设备上 C 每个备份设备都是专属于一个数据库的 D 只能将备份设备建立在磁盘上 参考答案 A 对SQL Server 2000采用的备份和恢复机制,下列说法正确的是 A 在备份和恢复数据库时用户都不能访问数据库 B 在备份和恢复数据库时用户都可以访问数据库 C 在备份时对数据库访问没有限制,但在恢复时只有系统管理员可以访问数据库 D 在备份时对数据库访问没有限制,但在恢复时任何人都不能访问数据库 参考答案 D 在SQL Sever中,创建数据库student,使用的语句是()。

A CREATE TABLE student B CREATE VIEW student C CREATE PROC student D CREAT E DATABASE student 参考答案 D 下面描述错误的是( )。 A 每个数据文件中有且只有一个主数据文件。 B 日志文件可以存在于任意文件组中。 C 主数据文件默认为PRIMARY文件组。 D 文件组是为了更好的实现数据库文件组织。参考答案 B 删除数据库的命令是 A DROP DATABASE B USE DATABASE C CLOSE DATABASE D OPEN DATABASE 参考答案

A 下列说法()不正确。 A 每个数据库可以包含若干个主数据文件 B 主数据文件的扩展名是:mdf C 主数据文件中存放的是数据库的系统信息和用户数据库的数据 D 每个数据库都只包含一个主数据文件 参考答案 A SQL Server 2000 支持4种备份类型:完全备份、()、事务日志备份、文件和文件组备份。 A 差值备份 B 差异备份 C 等差备份 D 磁盘备份 参考答案 B SQL Server 2000 的备份设备是用来存储()备份的存储介质。

软件体系结构期末复习题

软件体系结构期末 复习题

《软件体系结构》期末复习题 简答题: 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、构件是核心和基础,重用是必需的手段。 2、软件重用是指在两次或多次不同的软件软件开发过程中重复使用相同或相近软件元素的过程。 3、软件元素包括程序代码、设计文档、设计过程、需求分析文档甚至领域知识。 4、把可重用的元素称作软构件,简称为软构件。 5、可重用软件元素越大,就说重用的粒度越大。 6、构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统;结构上,它是语义描述、通信接口和代码实现的复合体。 7、面向对象技术达到类级重用,以类为封装的单位。 8、构件模型是对构件本质特征的抽象描述。三个主要流派,分别是OMG(对象管理组织)的CORBA(通用对象请求代理结构)、Sun的EJB和Microsoft的DOM(分布式构件对象模型)。 9、获取构件的四个途径:(1)从现有构件中获得符合要求的构件,直接使用或作适应性修改,得到可重用构件。(2)通过遗留工程,将具有潜在重用价值的构件提取出来,得到可重用构件。(3)从市场上购买现成的商业构件,即COTS构件。(4)开发符合要求的构件。 10、构件分类方法三大类:关键字分类、刻面分类法、超文本组织方法 11、构件检索方法:基于关键字的检索、刻面检索法、超文本检索法和其他检索方法。 12、减少构件修改的工作量,要求工作人员尽量使构件的功能、行为和接口设计更为抽象画、通用化和参数化。 13、构件组装技术:基于功能的组装技术、基于数据的组装技术和面向对象的组装技术。 14、软件体系结构的定义:软件体系结构为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素的描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成。软件体系结构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。 软件体系结构的意义:(1)体系结构是风险承担者进行交流的手段;(2)体系结构是早期设计决策的体现--①软件体系结构明确了对系统实现的约束条件②软件体系结构决定了开发和维护组织的组织结构③软件体系结构制约着系统的质量属性④通过研究软件体系结构可能预测软件的质量⑤软件体系结构使推理和控制更改更简单⑥软件体系结构有助于循序渐进的原型设计⑦软件体系结构可以作为培训的基础;(3)软件体系结构是可传递和可重用的模型。 软件体系结构发展的四个阶段:(1)无体系结构设计阶段。以汇编语言进行小规模应用程序开发为特征。(2)萌芽阶段。出现了程序结构设计主题,以控制流图和数据流图构成软件结构为特征。(3)初期阶段。出现了从不同侧面描述系统的结构模型,以UML为典型代表。(4)高级阶段。以描述系统的高层抽象结构为中心,不关心具体的建模细节,划分了体系结构与传统软件结构的界限,该阶段以Kruchten提出的“4+1”模型为标志。 通用体系结构风格分类 数据流风格:批处理序列、管道与过滤器。 调用/返回风格:主程序与子程序、面向对象风格、层次结构。 独立构件风格:进程通信、事件系统。 虚拟机风格:解释器、基于规则的系统。 仓库风格:黑板系统、传统型数据库。 管道与过滤器 特点:(1)使得软构件具有良好的内聚、耦合的特点。 (2)允许设计师将整个系统的输入/输出行为看成是多个过滤器的行为的简单合成。(3)支持软件重用。 (4)系统维护和增强系统性能简单。 (5)允许对一些如吞吐量、死锁等属性的分析。 (6)支持并行执行。

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