2018年西安理工大学水利水电学院864软件工程考研强化五套模拟题
● 摘要
一、简答题
1. 简述瀑布模型的优缺点。
【答案】瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终 得到软件产品。开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶 段都会产生循环反馈。
(1)优点
①可强迫开发人员采用规范的方法。
②严格地规定了每个阶段必须提交的文档。
③要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
④对文档的约束,使软件维护变得容易一些,且能降低软件预算。
(2)缺点
①开发过程一般不能逆转,否则代价太大。
②实际的项目开发很难严格按该模型进行。
③客户往往很难清楚地给出所有的需求。
③软件的实际情况必须到项目开发的后期客户才能看到。
2. 使用边界值分析方法设计测试用例的设计原则有哪些?
【答案】(1)如果输入条件规定了值的范围,可以选择正好等于边界值的数据作为合理的测试用例,还要选择刚好越过边界值的数据作为不合理的测试用例。
(2)如果输入条件指出了输入数据的个数,则按最大个数、最小个数、比最小个数少1、比最大个数多1等情况分别设计测试用例。
(3)对每个输出条件分别按照以上一组(1)和(2)确定输出值的边界情况。由于输出值的边界不与输入值的边界值相对应,所以要检查输出值的边界不一定可能,要产生超出输出值之外的结果也不一定能做到,但必要时还需试一试。
(4)如果程序的规格说明书给出的输入或输出域是个有序集合(如顺序文件、线性表、链表等),则应该选 取集合的第一个元素和最后一个元素作为测试用例。
3. 简述对象、类、类结构、消息、方法的基本概念。
【答案】(1)对象
①定义
对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅
能表示具体的事物,还能表示抽象的规则、计划或事件。
②分类
对象类型包括有形实体、作用、事件、性能说明。
③特点
a. 对象具有状态,一个对象用数据来描述它的状态,对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。
b. 对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。
c. 对象内的数据具有自己的操作,从而可灵活地专门描述对象的独特行为。
d. 具有较强的独立性和自治性,其内部状态不受或很少受外界的影响。
e. 具有很好的模块化特点,为软件重用奠定了坚实的基础。
(2)类
类是具有相同属性和服务的一组对象的集合。因此,对象的抽象是类,类的具体化就是对象,即类的实例是对象。
(3)类结构
在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即一般一具体结构关系,整体一部分结构关系。
①一般一具体结构关系
一般一具体结构关系称为分类关系,也可以说是“或”关系,或者是“is-a”关系。类的这种层次结构可用来描述现实世界中一般化的关系,通常越在上层的类越具有一般性和共性,越在下层的类越具体、越细化。
②整体一部分结构关系
整体一部分结构关系称为组装结构,它们之间的关系是一种“与”关系,或者是“has-a”关系。类的这种层次关系可用来描述现实世界中类的组成的抽象关系,上层的类具有整体性,下层的类具有成员性。在类的层次结构中,通常上层类称为父类或超类,下层类称为子类。
(4)消息
①定义
对象之间进行通信的构造叫做消息。
②信息传递
在对象的操作中,当一个消息发送到某个对象时,消息包含接收对象去执行某种操作的信息。接收信息的对象经过解释,然后给予响应,这种通信机制称为信息传递。
③信息的内容
发送一条信息至少要包含说明接收消息的对象名、发送给该对象的消息名(即对象名,方法名),一般还要对参数加以说明,参数可以是认识该消息对象所知道的变量名,或者是所有对象都知道的全局变量名。
(5)方法
类中操作的实现过程叫作方法,一个方法有方法名、参数、方法体。当一个对象接收一条消息后,它所包含的方法决定对象怎样动作。方法也可以发送消息给其他对象,请求执行某一动作或提供信息。由于对象的内部对用户是密封的,所以消息只是对象同外部世界连接的管道。对象内部的数据只能被自己的方法所操纵。
4. PDL 的特点是什么?有哪些优点?
【答案】(1) PDL 的特点
①所有关键字都有固定语法,以便提供结构化控制结构、数据说明和模块的特征。
②描述处理过程的说明性语言没有严格的语法。
③具有模块说明机制,包括简单的与复杂的数据说明。
④具有模块定义和调用机制,因此开发人员应根据系统编程所用的语种,说明PDL 表示的有关程序结构。
(2) PDL 的优点
①提供的机制比图形全面,为保证详细设计与编码的质量创造了有利条件。
②可作为注释嵌入在源程序中一起作为程序的文档,并可同高级程序设计语言一样进行编辑、修改,有利于 软件的维护。
③会自动生成程序代码,提高软件生产率。目前已有PDL 多种版本(
如
等),为自动生成相应代码提供了便利条件。
二、综合设计应用题
5. 下面叙述对一个计算机辅助设计(CAD )软件的需求:该CAD 软件接受由工程师提供的二维或三维几何图形数据。工程师通过用户界面与CAD 系统交互并控制它,该用户界面应该表现出良好的人机界面特征。几何图形数据及其他支持信息都保存在一个CAD 数据库中。开发必要的分析、设计模块,以产生所需要的输出,这些输出将显示在各种不同的图形设备上。应该适当地设计软件,以便与外部设备交互并控制它们。所用的外部设备包括鼠标、数字化扫描仪和激光打印机。
(1)进一步精化上述要求,把CAD 软件的功能分解成若干个子功能;
(2)用代码行技术估算每个子功能的规模;
(3)用功能点技术估算每个子功能的规模;
(4) 从历史数据得知,开发这类系统的平均生产率是如果软件工程师的平均
试估算开发本系统的工月薪是8000元,试估算开发本系统的工作量和成本; 如果从历史数据得知,(5)开发这类系统的平均生产率是
作量和成本。
【答案】(1)经过对需求的进一步精化,分解出软件的下述7个主要的子功能。
①用户界面及控制机制。
相关内容
相关标签