软件体系结构复习题(整理好的)

  • 格式:doc
  • 大小:248.50 KB
  • 文档页数:8

下载文档原格式

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

概述部分

1、请分析软件危机的主要表现和原因。

原因:用户需求不明确,缺乏正确的理论指导,软件规模越来越大,软件复杂度越来越高。

主要表现:软件成本日益增加:开发、部署与应用成本高

开发进度难以控制:不能按期完成

软件质量差:错误率高,不能满足用户的需求,没有生命力

软件维护困难:成本高,维护效果不理想,可能带来潜在的错误

2、请说明软件规模与复杂度对软件过程的影响及解决方法。

软件规模与复杂度增加后,软件开发和维护成本增加,开发进度难以控制,软件质量差,软件维护变得困难。应更多地采用科学的分析、设计和实现方法以及辅助工具,增强软件分析和设计的力度,并通过构件化提高软件的重用能力。

3、什么是软件体系结构,由哪三个部分组成?(构件、连接件、约束)

定义:软件体系结构为软件系统提供了一个结构、属性和行为的高级抽象。它不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。

4、请简述软件重用的含义和意义。可重用元素包括哪些种类?

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

意义:可重用的元素越大,我们就说重用的粒度(Granularity)越大。

软件重用是软件产业工业化、工程化的重要手段。软件重用对提高生产率,降低开发成本,缩短开发周期,改善软件质量以及提高灵活性和标准化程度大有帮助。

可重用的元素包括:程序代码、测试用例、设计文档、需求分析文档甚至领域知识。

5、请简述常用的构件实现模型及其意义。

目前比较流行的构件实现模型包括:

OMG ( Object Management Group )的CORBA( Common Object Request Broker Architecture,通用对象请求代理结构)

Sun的EJB( Enterprise Java Bean )

Microsoft的COM / DCOM / COM+ ( Distributed Component Object Model )

意义:这些模型通常都定义了构件的实现方式、接口定义、访问方法等。符合这些标准的任何构件都有很高的重用能力。

描述部分

6、请用图示法说明4+1模型的5种视图之间的关系及关注点和涉众点。

逻辑视图涉众对象是最终用户:过程视图涉众对象是:系统集成人员:

开发视图涉众对象是:系统编程人员:物理视图涉众对象:工程人员。

风格部分

7、什么是软件体系结构的风格?它在软件开发过程中具有何种意义?

软件体系结构风格是设计、组织和实现软件体系结构的各种惯用模式(idiomatic paradigm)和习惯用法,是对一系列体系结构设计的抽象。

意义:利用软件体系结构风格,可以在不同的软件体系结构设计过程中重复使用同一个体系结构。这样可以将软件复用粒度提高到软件体系结构一级。

8、常见的软件体系结构风格主要有哪些种类?

数据流风格:批处理序列,管道/过滤器

调用/返回风格:主程序/子程序,面向对象风格,层次结构

独立构件风格:进程通信,事件系统

虚拟机风格:解释器,基于规则的系统

仓库风格:数据库系统,超文本系统,黑板系统

除上述风格以外,比较流行的软件体系结构风格还包括C/S、B/S、MVC、正交软件体系结构风格、层次消息总线以及ORB等等。

9、什么是虚拟机体系结构风格?这类软件主要由哪几个部分组成?

虚拟机风格也称为“解释器”(Interpreters)风格,其特点是通过软件手段建立一个虚拟的机器平台,并在该平台上解释运行所谓的“程序”代码。

构成:正在被解释的程序、虚拟机引擎构件、用来保存被解释程序的状态的构件、用来保存

虚拟机引擎状态的构件

10、请说明C/S结构软件的开放性和可扩展性特点的含义。

开放性:由于客户端和服务器端提供开放的、标准的接口,使得在软件系统中采用不同的客户端开发工具和服务器端DBMS产品。开放性本身也意味着开发和维护成本的降低。

可扩展性:在客户/服务器结构的系统中,可以方便地增加客户机数量而不影响整个系统。有的系统甚至可以增加服务器,提高系统的数据处理能力和服务性能。

11、请说明三层C/S结构和B/S结构相对于传统C/S结构的优点。(从传统C/S结构的

缺点入手)

(三层c/s和B/S解决了传统c/s的缺点)

传统c/s缺点:

对客户端软硬件配置要求较高,同时随着软件的升级导致客户端变得越来越臃肿,变成“胖客户机”。同时服务器演化为单纯的数据库服务器,变成“瘦服务器”。业务处理的大部分功能都由客户端来实现,使得客户端显得过分庞大。

用户界面不统一,不利于推广。

软件的维护和升级困难。

由于客户端直接访问服务器,在客户机上的其它软件也可以访问服务器,安全性不高。

12、请设计一个具有B/S结构(或三层C/S结构)登录模块的体系结构,并说明每层的

作用。

B/S结构:

(1)第一层:客户层(或表现层、界面层),第二层:业务逻辑层(或应用层、功能层、应用服务器层),第三层:数据层

(2)第一层只有浏览器,通过访问第二层的网页实现用户界面,即接受用户的名称、密码的输入,并向第二层传送用户名和密码,最后将登录结果显示出来。

(3)第二层接受第一层的用户名和密码,并通过访问第三层判断用户合法性,最后将登陆结果以网页形式返回给第一层。

(4)第三层在数据库或文件中存储用户名和密码,并为第二层提供数据访问服务。

三层C/S结构:

(1)第一层:客户层(或表现层、界面层),第二层:业务逻辑层(或应用层、功能层、应用服务器层),第三层:数据层

(2)第一层实现用户界面,并通过网络连接或进程通信形式向第二层提出服务请求。

(3)第二层实现业务逻辑,即接受第一层的服务请求,并执行相应功能(业务)代码,最后将处理结果返回给第一层;业务功能需要访问数据时向第三层提出数据访问请求。

(4)第三层在数据库或文件中存储用户名和密码,并为第二层提供数据访问服务。