1、一、判断题:每小题 1 分,共 15 分,在正确的打上,错误的打上 1软件工程学只有理论意义,没有实际用途。 ( ) 2软件工程的方法只适用于大型软件的开发,对小型软件的开发没有帮助。 ( ) 3可行性研究进一步研究问题分析阶段所确定的问题是否有可行的解。 ( ) 4代码审查方法没有计算机测试方法好。 ( ) 5验证软件需求的方法主要靠人工审查的方法。 ( ) 6并发系统中遇到的一个主要问题是定时问题。 ( ) 7编码风格由个人喜好决定,没有固定格式。 ( ) 8面向对象建模得到的模型包含系统的 3 个要素,即静态结构、交互次序和数据变换。 ( ) 9软件重用是提高软件开发生产率和目标系统质量
2、的重要途径。 ( ) 10判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。 ( ) 11 Power Designer 是一个 CASE 工具。 ( ) 12软件是指用程序设计语言(如 Pascal,C,Visual Basic 等)编写的程序,软件开发实际上就是编写程序代码。 ( ) 13在进行需求分析时需同时考虑维护问题。 ( ) 14 UML 是一种面向对象的分析设计方法,即 OOA/OOD 方法。 ( ) 15在面向对象的软件开发方法中,每个类都存在其相应的对象,对象是类的实例,类是生成对象的模板。 ( ) 二、单选题:每题 1 分,共 15 分 1、软件危机主要体现在( )
3、 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、软件可行
4、性研究一般不考虑( ) A、是否有足够的人员和相关的技术来支持系统开发 B、是否有足够的工具和相关的技术来支持系统开发 C、待开发软件是否有市场、经济上是否合算 D、待开发的软件是否会有质量问题 7、 SA 法中,有一个处理过程逻辑不易用语言表达清楚,最好是用( )来描述 A、流程图 B、判定表 C、NS 图 D、问题分析图 PAD 8、下列需求陈述中有效需求是( ) A、目标软件应有 C+实现 B、软件系统必须在 5 秒内响应并处理外部事件 C 目标软件必须有系统设置模块 D、当软件和用户交互时,必须能使用满足 MS 风格的界面9、在面向对象软件开发方法中,类与类之间主要有以下结构关系( )
5、 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、与设计测试数据无关的文档是(
6、) A、需求分析说明书 B、概要设计说明书 C、源程序 D、项目开发计划 15、软件测试中的测试实例主要由输入数据和( )组成 A、测试规则 B、测试计划 C、预期输出结果 D、以往测试记录分析 三、简答题(共 20 分) 1项目 A 是为银行开发 ATM(自动取款机)软件,项目 B 是为网络公司开发网络数据流分析软件,请问按照面向数据流设计方法(SD 法) ,两个项目应分别采用何种方法将需求分析的功能模型转换成软件结构,为什么?(6 分)1、总共 6 分,项目 A 用事务流(2 分) ,项目 B 用变换流(2 分) ,项目 A 回答原因(1 分) ,项目 B 回答原因(1 分3目前国内软件开
7、发在实现(编码)环节普遍采用面向对象的开发工具或语言,简述几种(至少三种)目前常用的软件实现(编码)工具或语言,说明这些工具的主要应用领域。如 C#(C/B/S 结构软件) ,JAVA (B/S 结构软件) ,C+(系统软件) ,DEPHI(开发 C/S 结构软件) 、PB(开发 C/S 结构下基于数据库的软件四、综合题(共 25 分) 2面向对象分析题(10 分) 根据以下描述,使用面向对象的分析方法,分析有那些主要对象和这些对象的主要属性、方法,画出对象图。 一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多仅能放置 50
8、罐饮料,其按钮设计在各种饮料样本的下方,若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。 顾客将硬币投入售货机,经累加金额足额的饮料选择键灯亮,等顾客按键选择。顾客按键后饮料由出物口掉出,并自动结算及找钱。顾客可在按下选择键前任何一个时刻,可以拉动退币杆取消交易收回硬币。 五、分析设计题(共 25 分) 1. 小李新接了一个项目:设计一个简单的学生选课系统,系统能注册符合要求的同学,同学注册以后就能进行选课,选课过程如下:先选课名,然后根据课程的上课老师、时间、地点和人数限制来决定是否成功选课;老师也可以根据情况提供新的课程说明或修改过去课程的说明;教务处的老
9、师统一管理注册的情况,可以有删除、修改学生、老师和课程的权限。请用面向对象方法设计出对象模型(对象类图,标出多重性、角色、限定词和关系:泛化、聚集、关联) 、动态模型(学生成功注册后选课的顺序图) 、功能模型(用例图)三大模型。动态模型:一、判断题:每小题 1 分,共 15 分,在正确的打上,错误的打上 X 1快速原型模型可以有效地适应用户需求的动态变化。 ( ) 2数据字典是对数据流图中的数据流,处理过程、数据存储、数据的源和终点进行详细定义。 ( ) 3统一的建模语言,是一种软件工程设计语言。 ( ) 4模块化使程序设计比较方便,但比较难以维护。 ( ) 5一个模块实际上就是一个进程。 (
10、 ) 6过程描述语言可以用于描述软件的系统结构。 ( ) 7编程语言应该在软件概要设计时选择。 ( ) 8如果通过软件测试没有发现错误,则说明软件是正确的。 ( ) 9在进行概要设计时应加强模块间联系。 ( ) 10一般人为,软件开发阶段是由设计、编码和测试三个基本活动组成。 ( ) 11软件概要设计包括软件系统结构设计以及数据结构和数据库设计。 ( ) 12为了提高程序的易读性,尽可能使用高级语言或 4GL 编写程序。 ( ) 13为了加强软件维护作业的进度,应尽可能增加维护人员的数目。 ( ) 14模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。 ( )
11、 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、进度安
12、排 D、软件开发标准的选择和制定 6、计算机系统工程包含硬件、软件、人机及( )工程 A、数据库 B、软件 C、CASE D、开发方法 7、 SA 法中,DFD 图的某个处理过程分解后,一般不超过( )处理过程 A、10 B、7 C、5 D、12 8、下列需求陈述中一致的是( ) A、所有命令响应时间应小于 0.1s;BUILD 命令的响应时间应小于 5s B、所有命令响应时间应小于 5s;BUILD 命令的响应时间应小于 1s C、 BUILD 命令的响应时间应小于 5s;BUILD 命令的响应时间应小于 1s D、所有命令响应时间必须等于 2s;BUILD 命令的响应时间应小于 3s9、以
13、下哪一项不是面向对象的特征( ) A、多态性 B、继承性 C、封装性 D、过程调用 10、以下哪一项不属于面向对象的软件开发方法( ) A、coad 方法 B、Booch 方法 C、jackson 方法 D、OMT 方法 11、 OOA 中,事件追踪图是反映( )对象所表现出来的集体行为 A、2 个 B、1 个 C、多个 D、3 个 12、结构化程序设计主要强调程序的( ) A、效率 B、速度 C、可读性 D、大小 13、注释是提高程序可读性的有效手段,好的程序注释占到程序总量的( ) A、1/6 B、1/5 C、1/4 D、1/3 14、在发现错误后,排错应由( )完成 A、测试者 B、高级
14、程序员 C、用户 D、软件的开发者 15、进行单元测试时,需要一个( )被测模块的程序 A、传递 B、管理 C、调用 D、驱动 三、简答题(共 20 分) 12 CASE 工具和环境的开发是目前软件开发领域的热点之一,请列举几种(至少 2 种)你熟悉的 CASE 工具或环境软件,写出它们的应用领域或属于那类工具。 (6 分)如:Power Designer(分析设计工具或软件建模工具) ,Rational Rose(分析设计工具或软件建模工具) ,Win Runner(测试工具) ,MS Project(项目管理工具) ,MS Visio(软件开发绘图工具) 、VSS(软件配置工具) 。2.
15、请画出一个用户使用银行 ATM 的状态转换图。从用户将卡插入卡槽开始,到用户取卡结束(如果用户忘记,ATM 应报警) ,用户可以完成以下几个步骤:登录(卡片进入 ATM机后,如果不是可读卡,退卡;如是,等待用户输入密码,三次错,吞卡,正确后进入主菜单) ,取钱(进入取钱菜单,输入金额,如果帐户余额不足,提示余额,并要求用户重新输入,如果帐上钱够,吐钱币,并询问是否打印凭证,最后返回主菜单) ,主菜单提供退出取卡选择。 (10 分五、分析设计题(共 25 分) 1某超市连锁收货操作流程如下: 厂家持“定货单”及“厂家送货单”送货,库管科检查来货。如果来货相符,库管科做收货确认, (包括:在“定货
16、单”之“点核数量”栏手工填写收货数量;在电脑中提出“定货单” ,在“点核数量”栏输入收货数量;在“收货日报表”上记录该收货;在“定货单” 、“厂家送货单”上加盖库管科公章) ,然后库管科打印商品条码,收送货组与卖场办理移交手续,卖场收货人在“定货单”上签名盖章,日末,库管科将单据汇总,连同“收货日报表”分别送卖场、财会,并自留一份,第二天电脑科打印“验收进货单” ,分送卖场、采购、财会。 如果来货不符,通知负责该次定货之采购主任,采购主任填写“定货修正单” ,报采购部主管签名同意, “定货修正单”交库管科,库管科从电脑中提出原“定货单” ,按“定货修正单”内容进行修改,将修改后之新“定货单”打
17、印(一式三份) ,和原“定货单”连在一起,最后进行上述来货相符后的工作。 1设计出该系统的业务处理流程图(9 分) 2画出该系统的第一层的数据流程图(至少 3 个处理) ( 10 分)3画出该系统主要处理、数据存储或外部实体的数据字典(至少三个处理或数据存储或外部实体) (6 分)处理逻辑编号:P1 处理逻辑名称:审核来货 简述:查询统计专利申请、受理、授权和转让情况 输入的数据流:F3 厂家送货单(来自 E2 供应商) ,F4 定货单(来自 E2 供应商) ,F2 定货单(来自 S1 定货单数据存储) 输出的数据流:货品相符的 F9 审核信息(去自 S1 定货单数据存储) ,F5 来货不相符
18、信息(去自 E3 采购主任) 处理描述:根据供应商“定货单”及“厂家送货单”送货情况,库管科检查来货。如果来货相符,库管科做收货确认,如果来货不符,通知负责该次定货之采购主任。 处理频率:不限 数据存储编号:S1 数据存储名称:定货单 简述:反映当前定货的情况 数据存储组成:单号定货日期到货日期供应商+货品序号+货品+单价+ 数量+计量单位+采购员 关键字:单号,货品序号 流入的数据流:F2 定货单(从 P4 定货处理过程) ,F7 修正后定货单(从 P3 修正定货) 流出的数据流:F2 定货单到 P3 修正定货和 P4 验收入库 外部实体编号:E1 外部实体名称:采购员 简述:根据采购计划,
19、制定采购合同,与供应商签订合同,根据合同,与向供应商定货,制定定货单 输入的数据流:无 输出的数据流:采购计划、采购合同软件工程 A 卷参考答案及评分标准 一、断题:每小题 1 分,共 10 分,在正确的打上,错误的打上 1、 2、 3、 4、 5、 6、 7、 8、 9、 10、 11、 12、 13、 14、 15、 二、项选择题:每题 1 分,共 15 分 1、 C 2、B 3、B 4、A 5、B 6、D 7、B 8、B 9、 A 10、A 11、A 12、A 13、D 14、D 15、C软件工程 B 卷参考答案及评分标准 一、断题:每小题 1 分,共 10 分,在正确的打上,错误的打上
20、 1、 2、 3、 4、 5、 6、 7、 8、 9、 10、 11、 12、 13、 14、 15、 二、项选择题:每题 1 分,共 15 分 1、 C 2、D 3、C 4、D 5、D 6、A 7、 B 8、B 9、 D 10、C 11、D 12、 C 13、D 14、D 15、D四,简答题(每题 6 分,共 24 分) 耦合性和内聚性有几种类型 其耦合度,内聚强度的顺序如何 答案:低 :非直接耦合 ,数据耦合 ,标记耦合,控制耦合, 外部耦合,公共耦合,内容耦合:高 强: 功能内聚,信息内聚,通信内聚,过程内聚,时间内聚, 逻辑内聚,偶然内聚:弱 请举例说明什么是多态,什么是重载 答案:多
21、态性是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象.也就是说,在类等级的不同层次中可以共享(公用)一个行为( 方法) 的名字, 然而不同层次中的每个类却各自按自己的需要来实现这个行为.当对象接收到发送给它的消息时,根据该对象所属于的类动态选用在该类中定义的实现算法. 重载是指一个类中有多个同名的方法,但在操作数个数或类型上有区别. 例: public class A int age; String name; public void setValue(int i) age=i; public void setValue(String s) name=s;
22、 什么是数据字典 简述数据字典与数据流图的关系. 答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具.(2 分) 数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用. 数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明.(3 分) 简述编码风格的重要性. 答案:阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供人阅读的文章.应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间.良好的编码风格有助于编写出可靠而又容易维护的程序,
23、编码的风格在很大程度上决定着程序的质量. 面向对象的测试和传统开发方法的测试有什么不同 答案:(1)二者都可以分成四个阶段进行.但传统测试最小单元是模块,而在面向对象环境下, 最小的可测试的单元是封装了的类或对象,而不是程序模块.(2)因为面向对象软件没有一个层次的控制结构,所以传统的自顶向下和自底向上的组装策略意义不大. 每次将一个操作组装到类中(像传统的增殖式组装那样 )常常行不通, 因为在构成类的各个部件之间存在各种直接的和非直接的交互.对于面向对象系统的组装测试,存在两种不同的测试策略.Warnier 方法也是一种面向数据结构的设计方法,其逻辑更严格.( ) PAD 图在设置了五种基本
24、控制结构后 ,还允许递归调用. () 为了加快软件维护作业的进度,应尽可能增加维护人员的数目.() 当验收测试通过,软件开发就完成了.() 完成测试作业后,为了缩短源程序的长度应删除程序中的注解.() 在进行总体设计时应加强模块间的联系.() 系统结构图是精确表达程序结构的图形表示法.因此,有时也可以将系统结构图当作系统流程图使用.() 用黑盒法测试时,测试用例是根据程序内部逻辑设计的.( ) 在程序调试时,找出错误的位置和性质比改正该错误更难.() 以对象,类, 继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一.() 二,单项选择题(每小题 2 分,共 10 分)
25、试判断下列叙述中,哪 个(些)是正确的(D) a,软件系统中所有的信息流都可以认为是事务流 b,软件系统中所有的信息流都可以认为是变换流 c,事务分析和变换分析的设计步骤是基本相似的 A,a B,b C,c D,b 和 c 进行需求分析可使用多种工具,但(B) 是不适用的. A,数据流图 B,PAD 图 C,判定表 D,数据词典 在详细设计阶段,经常采用的工具有(A). A,PAD B,SA C,SC D,DFD 详细设计的结果基本决定了最终程序的(C) A,代码的规模 B,运行速度 C,质量 D,可维护性 使用白盒测试方法时,确定测试数据应根据(A) 和指定的覆盖标准. A,程序的内部逻辑
26、B,程序的复杂程度 C,该软件的编辑人员 D,程序的功能 三,多项选择题(每题 2 分,共 10 分.注:正确得 2 分,漏选得 1 分,多选, 错选不得分.) (ABCD)可以作为模块. A,子程序 B,函数 C,过程 D,编译文件 下面哪些测试属于黑盒测试(BCD). A,路径测试 B,等价类划分 C,边界值分析 D,错误推测 E,循环测试 下列属于度量效益方法的是(ABCD). A,货币的时间价值 B,投资回收期 C,收入 D,投资回报率 软件维护的策略包括(BCD). A,定期检测维护 B,改正性维护 C,适应性维护 D,完善性维护 下列属于软件测试过程的是(ABE). A,单元测试 B,组装测试 C,内核测试 D,法律验证 E,确认测试