面向对象技术引论(复习题带术语题答案)

合集下载

面向对象考试题目和答案

面向对象考试题目和答案

面向对象考试题目和答案一、单项选择题(每题2分,共20分)1. 面向对象程序设计中,对象的状态由()来表示。

A. 属性B. 方法C. 消息D. 类答案:A2. 在面向对象程序设计中,封装的目的是()。

A. 隐藏对象的属性B. 隐藏对象的方法C. 隐藏对象的实现细节D. 隐藏对象的消息答案:C3. 面向对象程序设计中,继承的主要优点是()。

A. 重用代码B. 减少代码量C. 提高程序的可读性D. 所有以上选项答案:D4. 在面向对象程序设计中,多态性是指()。

A. 一个对象可以有多个类B. 一个类可以有多个对象C. 一个消息可以有多个行为D. 一个类可以有多个属性答案:C5. 在面向对象程序设计中,以下哪个不是类的组成部分()。

A. 属性B. 方法D. 函数答案:D6. 在面向对象程序设计中,以下哪个概念不是面向对象的核心概念()。

A. 封装B. 继承C. 多态D. 过程答案:D7. 在面向对象程序设计中,以下哪个概念是面向对象的核心概念之一()。

A. 函数B. 过程C. 消息D. 抽象8. 在面向对象程序设计中,以下哪个不是类的成员()。

A. 属性B. 方法C. 函数D. 消息答案:C9. 在面向对象程序设计中,以下哪个不是类的属性()。

A. 私有属性B. 保护属性C. 公共属性D. 全局属性答案:D10. 在面向对象程序设计中,以下哪个不是类的访问修饰符()。

B. 保护C. 公共D. 静态答案:D二、多项选择题(每题3分,共15分)1. 面向对象程序设计中,以下哪些是类的属性()。

A. 私有属性B. 保护属性C. 公共属性D. 全局属性答案:ABC2. 面向对象程序设计中,以下哪些是类的成员()。

A. 属性C. 函数D. 消息答案:ABD3. 面向对象程序设计中,以下哪些是类的访问修饰符()。

A. 私有B. 保护C. 公共D. 静态答案:ABC4. 面向对象程序设计中,以下哪些是面向对象的核心概念()。

面向对象技术引论(复习题)[参考解答]

面向对象技术引论(复习题)[参考解答]

《面向对象技术(jìshù)引论》复习题一、概念(gàiniàn)与术语1. 对象(duìxiàng):在现实世界中,对象定义为:问题的概念和抽象的或具有明确边界(biānjiè)和意义的事物;在数据世界中,对象定义为:一组数据以及(yǐjí)施加于这组数据上的一组操作;从系统的观点出发,我们可以给对象作如下定义:对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位(单元),一个对象是由一组属性和对这组属性进行操作的一组服务构成的。

2.持久对象:生存期可以超越程序的执行时间而长期存在的对象称为持久对象。

换句话说:一个对象在程序运行结束后仍继续存在,则称该对象是持久的。

2.主动对象:主动对象是一组属性和一组操作(服务)的封装体,其中至少有一个操作不需要接收消息就能主动执行(称为主动服务)。

3.被动对象:被动对象(Passive object)是指其内部的操作需要通过外部消息驱动才能执行的对象。

可以看出被动对象必须工作在消息驱动环境中。

4.类:定义1 一组具有相同性质(属性和操作)的对象的抽象。

定义2 类是对一组具有相同属性、操作、关系和语义的对象的描述。

定义3 具有相同属性和容许操作的一组对象的一般描述称为类。

5.主动类:主动类的对象至少拥有一个进程或线程,因此它能够自主执行(能够启动控制活动)。

注意:主动类的对象所描述的元素的行为与其他元素的行为并发,这是它与一般类的唯一区别。

6.接口:接口是描述一个类或构件的一个服务的操作集。

因此,接口描述元素的外部可见行为。

接口描述了一组操作的规格,而不是操作的实现。

图形上,用一个带有名称的圆表示接口。

7.用况:用况是对一组动作序列的描述,系统执行这些动作将产生一个对特定的参与者有价值而且可观察的结果。

用况用于对系统语境和系统需求建模。

图形上,用一个包含名称的实线椭圆表示用况。

(完整版)武汉理工大学《面向对象技术及应用试题》(带答案)

(完整版)武汉理工大学《面向对象技术及应用试题》(带答案)

(完整版)武汉理工大学《面向对象技术及应用试题》(带答案)《面对对象技术及应用》试题一、多选题:下列题中有一个或多个正确答案,请将正确答案的编号填在括号里。

(每题2分,共40分)1.状态图中常用的动作有(ABC )A.动作B.入口动作C.出口动作D.触发动作2.UML中表示类之间“关系”的视图有(ABC )A.关联B.泛化C.依靠D.实现3.用例描述中包含的内容有(ABCD )A.发起用例的参加者B.用例的前置条件C.用例的后置条件D.从用例中获益的参加者4.类之间的关系包括(BCD )A.链B.继承C.多重性D.聚拢5.完整的类可视化表示包括元素(ABC )A.职责和约束B.属性C.操作D.接口6.在UML提供的图中,用于描述系统与外部系统及用户之间的交互的是( D )A)用例图B)类图C)对象图D)部署图7.UML背后的两个分量级概念是。

(BD )A)类B)用例C)面对过程D)面对对象8.用例是从____的观点对系统行为的一个描述。

( A )A)用户B)类C)系统D)对象9.关于用例对于系统开发来说的存在价值,以下说法正确的是。

(ABD )A)便于从用户的观看角度收集系统需求B)使系统更符合用户的需求C)禁止了分析员与用户的沟通D)便于分析员与客户和用户沟通10.以下哪些标记符在活动图中存在。

(BC )A)大事触发器B)分叉与汇集C)泳道D)决策点11.用UML建立业务模型是理解企业业务过程的第一步。

业务人员饰演业务中的角XXX及其交互方式,表示企业业务的工作流。

这种图显示出工作流中的步骤、决策点,以及完成每一步骤的角群和对象。

这种图是以下哪种图。

( A )A)活动图B)交互图C)用例图D)状态图12.面对对象理论中,对象之间发送信号,在UML状态图里就是。

( B )A)入口动作B)大事。

5面向对象复习题

5面向对象复习题

一、填空题1、面向对象的特征是、、和。

2、面向对象有三个基本要素,它们是、和。

3、类具有属性,它是的抽象,用来描述类的属性。

4、类具有操作,它是的抽象,用和实现来描述。

5、在类层次中,子类只继承一个父类的属性和方法,则称为。

子类继承了多个父类的属性和方法,则称为。

6、OMT方法是RumBaugh等人提出的面向对象开发方法。

开发工作的基础是对,然后围绕这些对象使用来进行独立于语言的设计。

7、Coad和Y ourdon方法完成了从需求角度出发的认定工作,面向对象设计可以在此基础上,从设计的角度进一步进行的认定。

8、Booch方法通过分析问题陈述正文,将其中的映射为对象,将其中的映射为方法,从而为对象和方法的认定提供了一种简单的策略,虽然Booch方法原是面向的语言,但仍处于面向对象开发方法的奠基性地位。

9、不仅统一了Booch方法、OMT方法、OOSE方法的表示方法,而且对其作了进一步的发展,最终成为为国际对象组织(OMG)认可的同一建模语言。

10、在客观世界中有若干类,这些类之间有一定的结构关系。

通常有两种主要的结构关系,即和整体-部分关系。

11、在面向对象设计中存在三种内聚,即、和。

二、单选填空题1、对象是面向对象开发方法的基本成分,每个对象可用它本身的一组( )和它可以执行的一组操作来定义。

A. 服务B. 参数C. 属性D. 调用2、在面向对象方法中,把一组具有相同数据结构和相同操作的对象的集合定义为( )。

此定义包括一组数据属性和在数据上的一组合法操作。

A. 聚合B. 类C. 结构D. 主题3、面向对象技术的许多强有力的功能和突出的优点都来源于把系统组织成一个类的层次结构。

一个类的上层可以有父类,下层可以有子类。

这种系统的类层次结构的一个重要性质是( ),通过它,一个类可共享其父类的全部数据和操作。

A. 传递性B. 复用性C. 并行性D. 继承性4、一个面向对象软件的体系结构通过它的成分对象及各对象之间的关系来确定,与传统的结构化开发方法相比,它具有( )的优点。

c#面向对象试题及答案

c#面向对象试题及答案

一、选择题:1、下列关于类的描述中,错误的是( A )。

A.类就是C语言中的结构类型B.类是创建对象的模板C.类是抽象数据类型的实现D.类是具有共同行为的若干对象的统一描述体2、下列常量中,不是字符常量的是( B )。

A.'\n' B."y"C.'x' D.'\7'3、下列表达式中,其值为0的是( A )。

A.5/10 B.!0C.2>4?0:1 D.2&&2||04、下列关于数组维数的描述中,错误的是( C )。

A.定义数组时必须将每维的大小都明确指出B.二维数组是指该数组的维数为2C.数组的维数可以使用常量表达式D.数组元素个数等于该数组的各维大小的乘积5、下列关于字符数组的描述中,错误的是( D )。

A.字符数组中的每一个元素都是字符B.字符数组可以使用初始值表进行初始化C.字符数组可以存放字符串D.字符数组就是字符串6、已知:int a[5] = {1, 2, 3, 4}; 下列数组元素值为2的数组元素是( B )。

A.a[0] B.a[1]C.a[2] D.a[3]7、下列while循环语句的循环次数是( A )。

while(int i(0)) i--;A.0 B.1C.2 D.无限8、已知:int a[ ]={1,2,3,4,5},*p=a;在下列数组元素地址的表示中,正确的是( C )。

A.&(a+1) B.&(p+1)C.&p[2] D.*p++9、已知:int a=1,b=2,*p[2];下列表达式中正确的是( C )。

A.p=&a B.p=&bC.p[0]=&a,p[1]=&b D.p[ ]={&a,&b};10、当一个函数没有返回值时,该函数类型应说明为( A )。

A.void B.intC.无D.任意11、下列关于类的定义格式的描述中,错误的是( C )。

最新面向对象技术引论(复习题)[参考解答]

最新面向对象技术引论(复习题)[参考解答]

《面向对象技术引论》复习题一、概念与术语1. 对象:在现实世界中,对象定义为:问题的概念和抽象的或具有明确边界和意义的事物;在数据世界中,对象定义为:一组数据以及施加于这组数据上的一组操作;从系统的观点出发,我们可以给对象作如下定义:对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位(单元),一个对象是由一组属性和对这组属性进行操作的一组服务构成的。

2.持久对象:生存期可以超越程序的执行时间而长期存在的对象称为持久对象。

换句话说:一个对象在程序运行结束后仍继续存在,则称该对象是持久的。

2.主动对象:主动对象是一组属性和一组操作(服务)的封装体,其中至少有一个操作不需要接收消息就能主动执行(称为主动服务)。

3.被动对象:被动对象(Passive object)是指其内部的操作需要通过外部消息驱动才能执行的对象。

可以看出被动对象必须工作在消息驱动环境中。

4.类:定义1 一组具有相同性质(属性和操作)的对象的抽象。

定义2 类是对一组具有相同属性、操作、关系和语义的对象的描述。

定义3 具有相同属性和容许操作的一组对象的一般描述称为类。

5.主动类:主动类的对象至少拥有一个进程或线程,因此它能够自主执行(能够启动控制活动)。

注意:主动类的对象所描述的元素的行为与其他元素的行为并发,这是它与一般类的唯一区别。

6.接口:接口是描述一个类或构件的一个服务的操作集。

因此,接口描述元素的外部可见行为。

接口描述了一组操作的规格,而不是操作的实现。

图形上,用一个带有名称的圆表示接口。

7.用况:用况是对一组动作序列的描述,系统执行这些动作将产生一个对特定的参与者有价值而且可观察的结果。

用况用于对系统语境和系统需求建模。

图形上,用一个包含名称的实线椭圆表示用况。

8.协作:协作定义了一个交互,它是由一组共同工作以提供某协作行为的角色和其他元素构成的一个群体,这些协作行为大于所有元素的各自行为的综合。

因此协作有结构、行为和维度。

C++面向对象技术复习题汇总(含答案)演示教学

C++面向对象技术复习题汇总(含答案)演示教学

C++面向对象技术复习题汇总(含答案)演示教学面向对象程序设计C++复习资料与答案第一、二、六、七章习题一、选择题1、系统约定C++源程序文件名的缺省的扩展名为()A、bccB、c++C、cppD、vcc2、面向对象的程序设计将数据与()放在一起,作为一个相互依存、不可分割的整体来处理。

A、对数据的操作B、信息C、数据隐藏D、数据抽象3、当一个函数无返回值时,函数的类型应定义为()A、voidB、任意C、intD、无4、对于C++的函数,正确的叙述是:A、函数的定义不能嵌套,但函数的调用可以嵌套B、函数的定义不能嵌套,但函数的调用不能嵌套C、函数的定义和调用都不能嵌套D、函数的定义和调用都可以嵌套5、下列语句中错误的是()A、int *p=new int(10);B、int *p=new int[10]C、int *p=new int;D、int *p=new int[40](0);6、假设已经有定义:const char *const name=”chen”;,下面的语句中正确的是:()A、name[3]=’a’; B、name=”lin”;C、name=new char[5]; D、cout<<name[3];< bdsfid="94" p=""></name[3];<>7、假设已经定义:char *const name=”chen”;, 下面的语句中正确的是:()A、name[3]=’q’; B、name=”lin”;C、name=new char[5]; D、name=new char(‘q’);8、假设已经定义:const char *name=”chen”;, 下面的语句中错误的是:()A、name[3]=’q’; B、name=”lin”;C、name=new char[5]; D、name=new char(‘q’);9、下面的类型声明中正确的是:( )A、int &a[4];B、int &*p;C、int &&qD、int i,*p=&i;10、假设定义了函数模板()templateT max(T x,T y){ return(x>y)?x:y;}并定义了int i;char c;错误的调用语句是:()A、max(i,i)B、max(c,c)C、max((int)c,i);D、max(i,c)11、模板的使用是为了()A、提高代码的可重用性B、提高代码的运行效率C、加强类的封装性D、实现多态性12、设有二个语句:int x[‘a’];cin>>x;则编译器认为()A、说明语句int x[‘a’]错B、二个语句都错C、语句cin>>x 错D、二个语句正确,没有语法错13、设有语句:void f(int a[10],int &x);int y[10],*py=y,n;则对函数f的正确调用语句是( )A、f(py[10],n);B、f(py,n)C、f(*py,&n)D、f(py,&n)14、在C++中实现封装是借助于()A、枚举B、类C、数组D、函数15、对于下面几个函数:(1) void f(int x,float y) {…… }(2) int f(int a,float b){…… }(3) int f(int i,int j){…… }(4) float k(int x){…… }是重载函数。

面向对象程序设计复习总结题(含部分答案)

面向对象程序设计复习总结题(含部分答案)

《面向对象程序设计》复习要点及复习题(一)复习要点1.标识符、基本数据类型(字节数)、构造数据类型、运算符的种类、运算符的优先级和结合性、控制台输入和输出2.三种基本控制结构、if…else语句、switch语句、for语句、while语句、do…while语句、跳转语句;函数参数传递、函数重载、内联函数;标识符的作用域和生存期。

3.类的定义和使用、this指针、构造函数和析构函数、组合技术、静态成员、友元、运算符重载4.指针与数组、二级指针、动态内存的分配与释放、深复制与浅复制、递归。

5.派生类的构造与析构、派生类与基类的赋值兼容、多重继承与虚基类。

6.虚函数与动态绑定、纯虚函数与抽象类(二) 复习题一、单项选择题。

1.在switch语句中,为了结束分支,一般应在每个分支的结尾处加上语句(C)。

A. continueB. gotoC. breakD. default2.说明友元函数的关键字是(D)。

A. inlineB. virtualC. staticD. friend3.下面对指向常量的指针描述正确的是(C)。

A. 只能指向常量B. 指向的数据可以被修改C. 可以指向普通变量D. 必须进行初始化4.友元函数没有(A)。

A. this指针B. 返回类型C. 函数名D. 参数5.关于重载,(A)不正确。

A. 类名可以重载B. 函数名可以重载C. 运算符可以重载D. 缺省参数是重载的一种方式6.用new分配n维数组空间,首地址赋予指针p,则p应为指向(C)维数组的指针。

A. 0B. 1C. n-1D. n7.为类X重载前缀自增运算,则函数返回类型应为(C)。

A. XB. X*C. X&D. int8.以下(A)未调用构造函数(X为类名)。

A. X*p;B. X obj;C. X obj(1);D. X obj=2;9.若在类外有函数调用X::func();则函数func是类X的(C)函数。

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

一、概念与术语1. 对象:(1)从现实世界:问题的概念和抽象的或具有明确边界和意义的事物(2)从数据世界:一组数据以施加在这组数据上的一组操作(3)从系统观点:对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位,一个对象是由一组属性和对整个属性进行操作的一组服务构成的。

(P19)2.持久对象:生存期可以超越程序的执行时间而长期存在的对象。

(P24)2.主动对象(3种解释):(1)一个能够启动消息传递的对象。

(2)一个能为其他对象提供服务的对象,能被拷贝成代理,并且需要并发控制。

(3)其方法(操作)由自身状态的改变而激活。

(P25)3.被动对象:其内部的操作需要通过外部消息驱动才能执行的对象。

(P25)4. 类:一组具有相同性质(属性和操作)的对象的抽象。

(P20)5. 主动类:主动类的对象至少拥有一个进程或线程,因此它能够自主执行(P65)6. 接口:描述一个类或构件的一个服务的操作集(P64)7. 用况:用况是对业务过程所包含的一组动作序列的描述,系统执行这些动作将产生一个对特定的参与者有价值且可观察的结果。

(P42)8. 协作:协作定义了一个交互,它是由一组共同工作以提供某协作行为的角色和其他元素构成的一个群体,这些协作行为大于所有元素的各自行为的综合(P64)9. 构件:构件是系统中物理的、可替代的部件,它遵循且提供一组接口的实现。

(P65)10. 节点:节点也是物理的,是在系统运行时存在的物理元素,它表示了一种可计算的资源,通常至少有一些记忆能力和处理能力。

(P65)11. 一般类和12. 特殊类:如果类A具有类B的全部属性和服务(操作),而且具有自己特有的某些属性和服务,则类A叫做类B的特殊类,B叫做A的一般类。

(P22)13. 关联(关系):事物(类)之间的一种结构关系,或者说是对象之间连接的抽象,用来描述对象之间的相互作用(P67)14. 关联类:关联类是一种具有关联特性和类特性的建模元素,可以将其看出是具有类特性的关联,或者具有管理特征的类(P116)15. 依赖(关系):依赖是两个事物之间的一种语义关系,其中的一个事物的改变会影响另一个事物,反之未必(P106)16. 泛化(关系):泛化是一种“特殊/一般”关系,即特殊事物和一般事物之间的关系。

(P108)17. 实现(关系):类元之间的语义关系(P16)18. 链和链属性:对象之间的关联或相互作用表现出不同的类的对象的实例之间的实际的或概念上的联系,称为链。

链属性:??(P110)19. 聚合:聚合用来表示事物时间的“整体/部分”关系,“整体”事物是一个较大的事物,它是由多个”部分“事物组成的。

(P113-114)20. 问题域:是指特定应用系统的应用领域,即在现实世界中由该系统进行处理的业务范围。

(P47)21. 系统责任:指系统应该具备的职能。

(P47)22. 消息:消息定义为向对象发出的服务请求(P23和P127)23. 交互:交互是发生在对象之间后对象内部的消息传递行为(P66)24. 事件:一个触发行为成为一个事件,换句话说,所谓事件是指特定时刻内发生的动作。

(P139)25. 事件流:(P84)26. 状态:指在对象的生命期中的一个条件或状况(通过属性值体现),在此期间,对象将满足某些条件、执行某些活动或等待某些事件。

(p141)27. 状态机:状态机描述了一个对象或一个交互在生命期内响应事件所经历的状态序列,即描述其状态变迁。

(P66)28.封装:封装是对拥有结构和行为的一个对象的元素进行划分的过程,封装完成抽象的契约接口和对象实施的分离(P28)29. 继承:特殊类拥有一般类的全部属性和服务(操作),称为特殊类对一般类的继承(P29)30 多态:在一般类中定义的属性被特殊类继承之后,可以具有不同的数据类型;同理,一般类中定义的操作,可以在特殊类中具有不同的实现方法。

(P31)31. 抽象:抽象即指通过思考进行分离的行为。

另一种解释:表示某事物的本质特征(P27)32. 角色:当一个类位于关联的某一端时,该类(的某些实例)就在这个关系中扮演了特定的角色。

(这个算??)(P111)33. 限定词(修饰关联):限定词是关联的一个特定的属性,它的值划分了一个关联与一个对象相关的对象集。

(p116)34. UML的规则(命名、范围、可见性、完整性、执行):P70-P71太多了~不想打~35. UML的公共机制(详述、修饰、通用划分、扩展机制(构造型、标记值、约束))36.OOPL:面向对象的编程语言,OOD:面向对象设计范式,OOA:面向对象分析方法37.准则包括标准与原则,模块化设计的标准包括:可分解性、组合性、可理解性、连续性、保护性;设计上应遵循的原则为:语言模块单元、接口很少、小接口、显示接口、信息隐蔽等。

38.面向对象的四个基本要素:面向对象系统是由对象组成的、组成系统的对象抽象成类、类之间存在泛化关系,此种关系支持继承、对象之间通过消息获取对方的服务。

39.应用开发过程六个阶段:需求描述、分析、设计、实现、测试、维护。

40.UML对软件密集型系统的制品进行下述工作:可视化、详述、构造、文档化。

41.UML三大建模元素:事物、关系、图,事物分为:结构事物、行为事物、分组事物、注释事物,结构事物分为:类、接口、协作、用况、主动类、构件、节点。

42.提交一个应用系统的过程包括:计划和细化、构造、实施。

二、思考题1.为什么应用对象技术可以改变软件制造(生产)方式?由人工集约方式改变成资源集约方式,由重复性的编程劳动变成基于组件的系统组装,从而带来软件生产效率的大幅度提高。

2.试述建模的重要性,为什么建模可以降低系统实现的复杂度。

建模是开发优秀软件所有活动的核心部分,其目的是把所要设计的结构和系统的行为沟通起来,并对系统的体系结构进行可视化和控制。

建模是为了更好的理解正在构造的系统,并经常提供简化和复用的机会。

建模还可以管理风险。

一个成功的软件组织有很多成功的因素,其中共同的一点就是对建模的采用。

模型可以提高系统的可测试性。

提高可交流性。

增强开发过程的可视性,使得分析和设计思路、设计过程可视化。

降低实现的复杂度。

通过将复杂系统的重要部分分解成一次能理解与处理的多个子部分,可以降低实现的复杂性。

人对复杂问题的理解能力是有限的,通过建模,缩小所研究问题的范围,一次只着重研究它的一个方面,这就是所谓的“分而治之”“各个击破”。

3.为什么面向对象方法能较好地管理复杂性并增强伸缩性。

管理复杂性的一个好办法就是“分而治之”。

“分”就是对应用领域的分解,面向对象方法强调以客观世界的事物为基础,把某一领域分割成各种对象,这显然比自顶向下进行功能分解更自然、合理。

“治”的基本方法就是:采用封装技术对被分割的事物进行包装,以简化接口、减少事物之间不必要的联系。

利用事物之间的泛化管子构造继承机制以获得重用。

可用性和可扩展性意味着复杂系统可以由简单系统组合而成,并且复杂系统可以采用“迭代”方式,逐步增量形成。

基于对象的分块技术也有助于解决过程的伸缩性问题。

4.何谓“软件复用”,为什么说面向对象技术对“软件复用”提供了卓有成效的支持?软件重用是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。

包括分析模型、设计模型、代码以及测试用例、测试信息等等的复用。

面向对象技术使软件重用技术更加完善和规范,对象的重要特性。

:抽象、封装、继承和多态都从不同角度支持软件重用:抽象使得对象组件更具一般化,也即充分考虑到对象自身的性质、性能和应用环境的复杂性等多方面的要求,以此获得通用化和标准化方面的保证。

封装允许开发人员将对象视为“黑匣子”,只需通过界面去理解、引用和操作对象,而不必关心其实现细节。

继承使得基于类的抽象层次和泛化结构的代码重用成为可能,也即通过泛化关系使得特殊类可以共享一般类的性质。

5.“用况驱动的、迭代式的、增量”的开发方法的要点、优点、时间盒。

要点:①软件开发过程要经历若干个开发周期,每个周期都包含:分析、设计、实现和测试等活动。

②在经过一个初步的计划和细化阶段后,开发进入由一系列开发周期组成的系统构造阶段,所以迭代主要发生在构造阶段,当然也包含部分实施,因此严格讲,构造发生在构造及实施阶段。

③在每个开发周期中,通过增加新的功能使系统得以扩充。

④每个开发周期只针对比较小的一部分需求,它要经历分析、设计、实现和测试等活动。

每个开发周期完成后,系统都获得一定程度的扩充。

开发周期一般是以用况为单位组织的。

优点:①因为每个开发周期只针对比较小的一部分需求,所以就可以比较好的解决由于一个开发过程太庞大、复杂使得开发人员无从下手的问题,也即能够比较有效地管理复杂性。

②因为每个开发周期只快速实现系统的一小部分,所以在开发过程的早期就能够获得反馈信息。

用户的反馈信息越早越好,尽早听到和采纳用户的意见,可以少犯错误。

时间盒即给开发周期限定时间,开发周期中的所用工作都必须在这个时间内完成。

6.“计划和细化”阶段的主要工作和主要活动。

主要工作:初期概念的形成、为做出各种项目选择所进行的调查研究、需求的规格化描述等。

主要活动:定义计划草案、编制初步调查报告、定义需求、在术语表中记录术语、实现原型、定义用况、定义概念模型草案、定义系统结构草案、精华计划。

7.“构造阶段”的主要工作和主要活动。

构造阶段包括一系列重复的开发周期,每个开发周期主要工作:精华计划、同步制品、分析、设计、实现、测试等。

在这些开发周期中,系统得到了扩展和完善。

构造阶段的最终目标是得到一个能正确符合需求的软件系统。

8.何谓链属性,试述链属性不应置入关联两端的某一对象类中作为其属性的理由,请举例说明之。

由于关联特性与存在关联关系的两个类有关,因此建模时经常会将这些属性随意地置入某一个类中,当成类的属性。

关联的特性是与被关联的两个或多个类有关的那些属性,这些属性不是从属于单个类的,因而不应该随意置入某个类中。

9.系统分析阶段如何识别类和排除虚假类?(分别简述语法分析法和现实分析法的要点)。

现实分析法:确定问题陈述所涉及的哪些活动是与需求密切相关的,分析这些活动涉及到哪些具体的事物、概念、过程,遵循哪些规则等,它们都可能是系统内部的对象类。

语法分析发:在问题陈述中,对象类通常对应于名词或名词词组,因此从问题陈述中找出所有的名词或名词词组,就得到大多数的候选类,运用排除法可以排除虚假的类,就获得确定的类组。

虚假类:冗余类、无关类、模糊类、属性、操作、角色、实现结构。

10.简述描述类的基本特征(名称、属性等)并举例说明之。

名称:一个字符串;属性:已被命名的类的特性;操作:一个服务的实现,该服务可以由类的任何对象,甚至其他类的对象所请求,以影响其行为;职责:类的契约或责任。

相关文档
最新文档