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

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

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)什么是框架?框架与模式的区别有哪些?

框架是针对某个领域,提供用于开发应用系统的类的集合。

区别:层次不同、范围不同、相互关系

9举例说明面向对象的多态性。

多态性就是多种表现形式,具体来说,可以用"一个对外接口,多个内在实现方法"表示。举一个例子,计算机中的堆栈可以存储各种格式的数据,包括整型,

浮点或字符。不管存储的是何种数据,堆栈的算法实现是一样的。针对不同的数据类型,编程人员不必手工选择,只需使用统一接口名,系统可自动选择。多态性也分静态多态性和动态多态性两种。静态多态性是指定义在一个类或一个函数中的同名函数,它们根据参数表(类型以及个数)区别语义,并通过静态联编实现,例如,在一个类中定义的不同参数的构造函数。动态多态性是指定义在一个类层次的不同类中的重载函数,它们一般具有相同的函数,因此要根据指针指向的对象所在类来区别语义,它通过动态联编实现。

(10)软件体系结构有哪几种形式?

概念结构:从主要设计元素(构件)及其相互关联、设计原则和性能角度考虑的结构。

模块结构:根据功能分解建立模块的层次结构包括模块接口、模块管理、模块控制和一致性等问题。

代码结构:描述源程序,二进制程序,库文件。在开发环境下的组织包括系统资源配置管理,系统构造和对象嵌入机制 OEM 等。

执行结构:描述系统的动态结构包括性能、调度、动态配置和不同系统间的接口等。

(11)构件之间的连接方式有哪些?

(1)过程调用: 在某一特定执行路径中传递执行指针。如普通过程调用、远程过程调用。

(2)数据流: 相互独立的处理通过数据流进行交互,在得到数据的同时被赋予控制权限。如 UNIX 系统中的管道。

(3)间接激活: 处理因事件的发生而激活,在处理间没有直接交互。例如,事件驱动系统、自动垃圾回收等。

(4)消息传递: 相互独立的处理间有明确交互,通过显式数据传递。传递可以是同步的,也可以是异步的。如TCP/IP 。

(5)共享数据: 构件通过同一数据空间进行并发操作。如多用户数据库, 数据黑板。

(12)C/S体系结构的主要组成部分有哪些?其作用是什么?

(1) 服务器:负责给其他子系统提供服务。如,数据库服务器提供数据存储和管理服务,文件服务器提供文件管理服务,打印服务器提供打印服务等。

(2) 客户机:向服务器请求服务。客户机通常都是独立的子系统,在某段时间内,可能有多个客户机程序在并发运行。

(3) 网络:连接放在不同机器上的客户机和服务器。

(13)三层C∕S体系结构的数据处理流程是怎样的?

(14)软件体系结构的评价指标有哪些?

(1)性能:性能是指系统的响应能力,即响应时间、单位时间的处理量及特定事务的处理时间等。一般使用基准测试程序对性能进行测试。

(2)可靠性:软件可靠性是指“在特定环境和特定时间内,计算机程序无故障地运行的概率”。可靠性通常用“平均失效间隔时间”(MTBF)来衡量。

可靠性可以分为两个方面:

容错性。其目的是在错误发生时确保系统正确的行为,并进行内部“修复”。健壮性。这里说的是保护应用程序不受错误使用和错误输入的影响,在遇到意外错误事件时确保应用系统处于已经定义好的状态。

(15)什么是ADL?常见的主流ADL有哪些?

体系结构描述语言(ADL)是参照传统编程语言,并针对软件体系结构特点,重新设计、开发和使用的专门的软件体系结构描述语言。

Aesop支持体系结构风格的应用;

MetaH为设计者提供了关于实时电子控制系统软件的设计指导;

C2支持基于消息传递风格的用户界面系统的描述;

Rapide支持体系结构设计的模拟,并提供了分析模拟结果的工具;

SADL提供关于体系结构细化的形式化基础;

Unicon支持异构的构件和连接类型,并提供了关于体系结构的高层编译器;Wright支持体系结构之间交互的说明和分析。

(16)ADL有哪些特性?

(1)构造能力:ADL能使用较小的独立体系结构元素来建造大型软件系统。

相关文档
最新文档