2018年西安理工大学计算机科学与工程学院864软件工程考研仿真模拟五套题
● 摘要
一、简答题
1. 试述面向对象方法有哪些特征。
【答案】(1)对象唯一性
每个对象都有自身的唯一标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。在对象建立时,有系统授予新对象以唯一的对象标识符,它在历史版本管理中又起巨大作用。
(2)分类性
分类性是指具有一致的数据结构(属性)和行为(操作)的对象抽象成类。每个类是具有相同性质的个体对 象的集合,而每个对象是相关类的实例。
(3)继承性
①定义
继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础上进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
②分类
a. 单继承
子类只继承一个父类的数据结构和方法,则称为单重继承。
b. 多继承
在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承。
(4)多态性(多形性)
①定义
多态性是指允许不同类的对象对同一消息做出响应。不同的对象,收到同一消息可以产生不同的结果,这种现象称为动态性。
②特点
多态性允许每个对象以适合自身的方式去响应共同的消息。这样就增强了操作的透明性、可理解性和可维护性。用户不必为相同的功能操作但作用于不同类型的对象而费心去识别。
2. 选择面向对象程序设计语言时主要应该考虑哪些因素?
【答案】(1)将来能否占主导地位。
(2)可重用性。
(3)类库和开发环境。
(4)其他因素,包括售后服务、对运行环境的需求、集成已有软件的难易程度等。
3. 使用边界值分析方法设计测试用例的设计原则有哪些?
【答案】(1)如果输入条件规定了值的范围,可以选择正好等于边界值的数据作为合理的测试用例,还要选择刚好越过边界值的数据作为不合理的测试用例。
(2)如果输入条件指出了输入数据的个数,则按最大个数、最小个数、比最小个数少1、比最大个数多1等情况分别设计测试用例。
(3)对每个输出条件分别按照以上一组(1)和(2)确定输出值的边界情况。由于输出值的边界不与输入值的边界值相对应,所以要检查输出值的边界不一定可能,要产生超出输出值之外的结果也不一定能做到,但必要时还需试一试。
(4)如果程序的规格说明书给出的输入或输出域是个有序集合(如顺序文件、线性表、链表等),则应该选 取集合的第一个元素和最后一个元素作为测试用例。
4. 面向对象建模的三种模型是什么,各自的主要功能有哪些,分别可用UML 的哪些图来描述?
【答案】(1)面向对象建模的三种模型是对象模型、动态模型、功能模型。
(2)三种模型的主要功能
①对象模型
表示静态的、结构化的系统的数据性质。它是对模拟客观世界实体的对象以及对象彼此间的关系的映射,描述了系统的静态结构。.
②动态模型
表示瞬时的、行为化的系统的控制性质,它规定了对象模型中对象的合法变化序列。
③功能模型
表示软件系统的功能性质,它指明了系统应该“做什么”,更直接地反映了用户对目标系统的需求。
(3)UML 图描述
①在UML 中,使用类图来建立对象模型。
②在UML 中,使用状态图和事件追踪图来建立动态模型。
③在UML 中,使用用例图来建立功能模型。
二、综合设计应用题
5. 某航空公司规定,乘客可以免费托运重量不超过30kg 的行李。当行李重量超过30kg 时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的国内乘客超重部分每公斤收费6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。用判定树表示与上述每种条件组合相 应的计算行李费的算法。
【答案】用判定树表示航空公司的规定如图所示。
图 航空公司规定判定树
6. 分析预测在下列系统交付使用以后,用户可能提出哪些改进或扩充功能的要求。如果由自己来开发这些系统,在设计和实现时将采取哪些措施,以方便将来的修改?
(1)储蓄系统
(2)机票预订系统
(3)患者监护系统
【答案】(1)储蓄系统
一般大型软件的维护成本远高于开发成本若干倍,所以在设计时就应该考虑到维护成本,而且在开发过程中 应该使用标准的程序设计语言和标准的操作系统接口,可以大大提高软件的可维护性,也可以减少软件存在的错误。
(2)机票预订系统
人多的时候系统瘫痪几率就大,在开发人员不在场的情况下,很容易出现系统错误,维护软件也是很困难的,也会给很多人带来不便,所以,在设计过程中应该科学的管理规划还有合理设计模块,使各个模块的独立性越高, 这样对软件的改进越方便,也便于快速纠错。
(3)患者监护系统
应该考虑它的完善性和预防性,要能满足用户在使用过程中的增加和修改工作,还要为了改善未来的可维护性或可靠性而修改。更要考虑系统数据的隐秘和安全,随时备份。
7. 银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员输入系统,如果是存款 则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可 选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存 款时未留密码,则系统计算利息并印出利息清单给储户。用数据流图描绘系统中的数据对象,并用实体联系图描绘系统中的数据对象。
【答案】(1)数据流图,如图1所示。
相关内容
相关标签