考研论坛

 找回密码
 立即注册
查看: 98|回复: 1

2015考研:软件工程专业模拟题--第7章面向对象方法学考题

[复制链接]

33万

主题

33万

帖子

100万

积分

论坛元老

Rank: 8Rank: 8

积分
1007237
发表于 2017-8-6 23:20:52 | 显示全部楼层 |阅读模式
2015考研暑期复习已经过半,新东方在线小编为大家整理了软件工程专业的考研模拟题,希望考研考生们多学多练,顺利考研。
    面向对象方法学的出发点和基本原则,是尽可能按照人类的习惯思维方式.使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题域空间与实现解法的解空间在结构上尽可能一致。
    与传统的结构化方法相比,使用面向对象方法开发的软件,其稳定性、可修改性和可重用性都比较好。本章内容主要包括:传统方法学的缺点、面向对象的基本概念、而向对象模型。
      一、相关考题:
    1、简述对象、类、类结构、消息、方法的基本概念。
    2、传统开发方法存在的问题是什么?
    3、试述面向对象方法有哪些特征。
    4、为什么说用结构化方法开发的软件,其稳定性、可修改性和可重用性都比较差?
      二、参考答案:
    1. 它们的基本概念如下:
    (I)对象。对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、1f5g或事件。
    主要有如下的对象类型;有形实体、作用、事件、性能说明。
    对象具有状态。一个对象用数据来描述它的状态,对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。
    对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。对象内的数据具有自己的操作。从而可灵活地专门描述对象的独特行为,具有较强的独立性和自治性.其内部状态不受或很少受外界的影响,具有很好的模块化特点。为软件重用奠定了坚实的基础。
    (2)类。类是具有相同属性和服务的一组对象的集合。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象。
    (3)类结构。在客观世界中有若干类,这些类之间有 定的结构关系。通常有两种主要的结构关系,即一股—具体结构关系,整体—部分结构关系。
    ①一般—具体结构关系称为分类关系.也可以说是“或”关系,或者是“is a”关系。类的这种层次结构可用来描述现实世界中的一般化的关系,通常越在上层的类越具有一股性
    和共性,越在下层的类越具体、越细化。
    ②整体一部分结构栋为组装结构,它们之间的关系是一种“与”关系,或者是“has a”关系。类的这种层次关系可用来描述现实世界中的类的组成的抽象关系。上层的类具有整体性,下层的类具有成员性。
    在类的层次结构中,通常上层类称为父类或超类,下层类称为子类。
    (4)消息。对象之间进行通信的构造叫做消息。在对象的操作中,当一个消息发送到某个对象时.消息包含接收对象去执行某种操作的信息。接收信息的对象经过解释,然后给予响应。这种通信机制称为信息传递。发送一条信息至少要包含说明接收消息的对象名、发送给该对象的消息名(即对象名,方法名),一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名。
    (5)方法。类中操作的实现过程叫做方法,一个方法有方法名、参数、方法体。当一个对象接收一条消息后,它所包台的方法决定对象怎样动作。方法也可以发送消息给其他对象,请求执行某一动作或提供信息。由于对象的内部对用户是密封的,所以消息只是对象同外部世界连接的管道。对象内部的数据只能被自己的方法所操纵。
                    
回复

使用道具 举报

0

主题

7708

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
16188
发表于 2017-8-7 00:09:10 | 显示全部楼层
    2. 传统开发方法存在的问题是:
    (1)软件重用性差。传统的开发方法,例如结构化方法等,虽然给软件产业带来了巨大进步,但是并没有解决软件重用的问题。同类型的项目,只要需求有一些变化,都要从头开始,原来的系统很难重用。
    (2)软件可维护性差。用传统方法计发出来的软件,维护时其费用和成本仍然很高,其原因是可修改性差,维护困难,导致可维护性差。
    (3)开发出的软件不能满足用户需要。用传统的结构化方法开发大型软件系统涉及各种不同领域知识,在开发需求模糊或需求动态变化的系统时,所开发出的软件系统往往不能真正满足用户的需要。其原因是开发人员不能完全获得或不能彻底理解用户的需求,以致开发出的软件系统与用户预期的系统不一致,不能满足用户的需要。另一种原因是所开发的软件系统不能适应用户经常变化的情况,系统的稳定性差和可扩充性不能满足用户的需求。
    3. 面向对象的特征为:
    (1)对象惟一性。每个对象都有自身的惟一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。在对象建立时,有系统授予新对象以惟一的对象标识符,它在历史版本管理中又起巨大作用。
    (2)分类性。分类性是指具有一致的数据结构(属性)和行为(操作)的对象抽象成类。每个类是具有相同性质的个体对象的集合,而每个对象是相关类的实例。
    (3)继承性。继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
    继承性是面向对象程序设计语言不同于其他语言的最主要的特点.是其他语言所没有的。在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。在类层次中、子类继承了多个父类的数据结构和方法,则称为多重继承。
    (4)多态性(多形性L多态性是指允许不同类的对象对同一消息作出响应。不同的对象,收到同一消息可以产生不同的结果,这种现象称为动态性。如MovE操作.可以是窗口对象的移动操作,也可以是国际象棋子移动的操作。
    多态性允许每个对象以适合自身的方式去响应共同的消息o这样就增强了操作的透明性、可理解性和可维护性。用户不必为相同的功能操作但作用于不同类型的对象而费心去识别。
    4. 这是因为结构化方法的本质是功能分解,从代表目标系统状态功能的单个处理着手,自顶向下不断把复杂的处理分解为子处理,这样一层一层地分解下去,直到仅剩下若干个容易实现的子处理为止,然后用相应的工具来描述各个最底层的处理。因此,结构化方法是围绕实现处理功能的“过程”来构造系统的。然而,用户需求的变化大部分是针对功能的。用这种方法设计出来的系统结构常常是不稳定的,用户需求的变化往往造成系统结构的较大变化,从而需要花费很大代价才能实现这种变化。
   
   
   
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|新都网

GMT+8, 2024-10-6 16:29 , Processed in 0.066025 second(s), 8 queries , WinCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表