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

  • 格式:docx
  • 大小:487.65 KB
  • 文档页数:34

下载文档原格式

  / 34
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章软件体系结构概述( 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风格通过连接件绑定在一起的按照一组规则运作的并行构件网络。

c/s风格

基于资源不对等,且为实现共享而提出来的。有三个主要组成部分:数据库服务器、客

户应用程序和网络。

优点:具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接

受。

对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充

和缩小。

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

用。

缺点:

开发成本较高。客户端程序设计复杂。信息内容和形式单一。用户界面风格不

一,使用繁杂,不利于推广使用。软件移植困难。

软件维护和升级困难。新技术不能轻易应用。

三层C/S风格

优点:能提高系统和软件的可维护性和可扩展性。具有良好的可升级性和开放性。

可以并行开发。有效地隔离开表示层与数据层,为严格的安全管理奠定了坚实的基础。缺点:

各层间的通信效率不高。设计时必须慎重考虑三层间的通信方法、通信频率及数

据量。

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

优点:

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

用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户

端”的功能,很容易在运行时自动升级。

提供了异种机、异种网、异种应用服务器的联机、联网、统一服务的最现实

的开放性基础。

缺点:缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。系统扩展能力差,安全性难以控制。数据查询等响应速度上,要远远低于C/S 体系结构。

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

(OLTP应用。

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

、软件需求的概念

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

程中对系统的约束。 、软件需求的流程

变更甘理規稈

三、软件需求的分类

按层分:

业务需求:反映组织机构或客户对系统、 义本身就是业务需求。一一领域专家

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

系统需求:从系统的角度来说明软件的需求。一一开发人员 按类分: 功能需求:系统必须完成的那些事, 即为了向它的用户提供有用的功能, 产品

必须执行的动作。

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

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

广文功能

质量

釣束

业务级 需

・ 4 ^IH I •快•吓1

• tt ":怦均电 •法现性肉童

• ■闻羸粧靶威 ・存構性旳电 用户级

*川『需承

■ * j 新研

ft

■ JB 户押■ ・用户*平

•幵程团臥光樓氷 开发级 «叮九忑也

•斤址团必廉會程

・肝龍团飙哇务如 « ■鼻*怆W,舉 ・特P> 1严比摆邮 - *辿护

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

产品高层次的目标要求, 通常问题定

需求获取 需求分析

变里管趣希求脱踪

需求訓认