软件工程导论第1-2套试题及答案要点 下载本文

内容发布更新时间 : 2024/12/22 20:07:06星期一 下面是文章的全部内容请认真阅读。

软件工程A卷

一、判断题:每小题1分,共15分,在正确的打上√,错误的打上×

1.软件工程学只有理论意义,没有实际用途。 ( ) 2.软件工程的方法只适用于大型软件的开发,对小型软件的开发没有帮助。( ) 3.可行性研究进一步研究问题分析阶段所确定的问题是否有可行的解。 ( ) 4.代码审查方法没有计算机测试方法好。 ( ) 5.验证软件需求的方法主要靠人工审查的方法。 ( ) 6.并发系统中遇到的一个主要问题是定时问题。 ( ) 7.编码风格由个人喜好决定,没有固定格式。 ( )

8.面向对象建模得到的模型包含系统的3个要素,即静态结构、交互次序和数据变换。( ) 9.软件重用是提高软件开发生产率和目标系统质量的重要途径。 ( ) 10.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。 ( ) 11.Power Designer是一个CASE工具。 ( )

12.软件是指用程序设计语言(如Pascal,C,Visual Basic等)编写的程序,软件开发实际上就是编写程序代码。(13.在进行需求分析时需同时考虑维护问题。 ( ) 14.UML是一种面向对象的分析设计方法,即OOA/OOD方法。 ( )

15.在面向对象的软件开发方法中,每个类都存在其相应的对象,对象是类的实例,类是生成对象的模板。( )

二、单选题:每题1分,共15分 1、软件危机主要体现在( )

A、软件成本太高 B、开发周期长 C、软件产品的质量难以控制 D、软件规模过大 2、为了解决软件危机,人们提出了用( )的原理来设计软件。 A、运筹学 B、工程学 C、软件学 D、数学 3、瀑布模型的关键不足在于( )

A、过于简单 B、不能适应需求的动态变更 C、过于灵活 D、各个阶段需要进行评审 4、软件使不同的系统约束条件和用户需求得到满足的容易程度称为软件的( ) A、兼容性 B、可靠性 C、坚固性 D、可用性 5、软件质量(可维护性、可理解性、可靠性)很大程度取决于( ) A、程序员的变成水平 B、模块分解的合理 C、程序运行效率 D、有完整的故障处理 E、算法的合理性 6、软件可行性研究一般不考虑( )

A、是否有足够的人员和相关的技术来支持系统开发 B、是否有足够的工具和相关的技术来支持系统开发 C、待开发软件是否有市场、经济上是否合算 D、待开发的软件是否会有质量问题 7、SA法中,有一个处理过程逻辑不易用语言表达清楚,最好是用( )来描述 A、流程图 B、判定表 C、NS图 D、问题分析图PAD

- 1 -

) 8、下列需求陈述中有效需求是( )

A、目标软件应有C++实现 B、软件系统必须在5秒内响应并处理外部事件 C、目标软件必须有系统设置模块

D、当软件和用户交互时,必须能使用满足MS风格的界面

9、在面向对象软件开发方法中,类与类之间主要有以下结构关系( ) A、继承和聚集 B、继承和一般 C、聚集和消息传递 D、继承和方法调用 10、面向对象模型主要由以下哪些模型组成( )

A、对象模型、动态模型、功能模型 B、对象模型、数据模型、功能模型 C、数据模型、动态模型、功能模型 D、对象模型、动态模型、数据模型 11、OOA中应首先识别( )

A、对象 B、类 C、对象的属性 D、对象所属的类 12、概要设计的结果是提供一份( )

A、模块说明书 B、框图 C、程序 D、系统结构图 13、以下语言中属于4GL是( )

A、PB B、VB C、UML D、SQL Server 2000中的SQL语言 14、与设计测试数据无关的文档是( )

A、需求分析说明书 B、概要设计说明书 C、源程序 D、项目开发计划 15、软件测试中的测试实例主要由输入数据和( )组成

A、测试规则 B、测试计划 C、预期输出结果 D、以往测试记录分析

三、简答题(共20分)

1. 项目A是为银行开发ATM(自动取款机)软件,项目B是为网络公司开发网络数据流分析软件,请问按照面向数据流设计方法(SD法),两个项目应分别采用何种方法将需求分析的功能模型转换成软件结构,为什么?(6分)

2. 某保险公司对投保人的汽车保费计算方法如下:单身男,年龄30岁以下(含30岁),计保费标准A,30岁以上计保费标准B;已婚男30岁以下(含30岁),计保费标准C,30岁以上计保费标准D,单身女,年龄25岁以下(含25岁),计保费标准E,25岁以上计保费标准F;已婚女25岁以下(含25岁),计保费标准G,25岁以上计保费标准H,请画出对应的判定树。(8分)

3. 目前国内软件开发在实现(编码)环节普遍采用面向对象的开发工具或语言,简述几种(至少三种)目前常用的软件实现(编码)工具或语言,说明这些工具的主要应用领域。(6分)

四、综合题(共25分)

1.对使用以下数据存储的学生成绩表输入模块,采用等价划分类,划分其等价类,使用黑盒测试技术设计某条分录(记录)的覆盖所有等价类的测试用例(尽量考虑边值分析)。(15分)

学生成绩表数据结构:

学号:字符类型,0-9数字,总共11位,班级号+编号(以我校实际情况设计)

- 2 -

姓名:字符类型,考虑汉语及英语姓名

课程:字符类型,16位,按我院实际课程名称情况设计 课程类别:字符类型,4位,内容是“考查”或“考试”

成绩:数字类型,整数部分3位,最多2位小数,考试课程直接录入数值(最高100分),存放数值,如果是考查课程允许录入字符优、良、中、及格、不及格或合格、不合格,存放原则是优(95分)、良(85分)、中(75分)、及格(65分)、不及格(55分)存放,或按合格(85分)、不合格(55分)

2.面向对象分析题(10分)

根据以下描述,使用面向对象的分析方法,分析有那些主要对象和这些对象的主要属性、方法,画出对象图。

一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多仅能放置50罐饮料,其按钮设计在各种饮料样本的下方,若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。

顾客将硬币投入售货机,经累加金额足额的饮料选择键灯亮,等顾客按键选择。顾客按键后饮料由出物口掉出,并自动结算及找钱。顾客可在按下选择键前任何一个时刻,可以拉动退币杆取消交易收回硬币。

五、分析设计题(共25分)

小李新接了一个项目:设计一个简单的学生选课系统,系统能注册符合要求的同学,同学注册以后就能进行选课,选课过程如下:先选课名,然后根据课程的上课老师、时间、地点和人数限制来决定是否成功选课;老师也可以根据情况提供新的课程说明或修改过去课程的说明;教务处的老师统一管理注册的情况,可以有删除、修改学生、老师和课程的权限。请用面向对象方法设计出对象模型(对象类图,标出多重性、角色、限定词和关系:泛化、聚集、关联)、动态模型(学生成功注册后选课的顺序图)、功能模型(用例图)三大模型。

- 3 -