山东科技大学软件工程试卷

山东科技大学软件工程试卷
山东科技大学软件工程试卷

山东科技大学2013 —2014学年第一学期

《软件工程》考试试卷(B卷)

班级________________ 姓名_______________ 学号_______________

一、填空题(每空1分,共10分)

1、_________是生产一个最终满足需求且达到工程目标的软件产品所需的步骤。

2、CMM模型定义了5个软件过程成熟度等级,分别是初始级、____________、____________、

已管理级和____________。

3、___________测试是把测试对象看作一个透明的盒子,测试人员根据程序内部的逻辑结构

及其有关的信息设计成测试用例;

4、常用的构件标准有_________、_________和EJB。

5、详细设计的任务是确定每个模块的内部特性,即模块的___________和使用的数据。

6、根据数据信息流的特点,数据流图一般可分为___________和___________两类。

二、选择题(每题2分,共20分)

1、SD方法设计的结果是()。

A. 源代码

B.伪代码

C. 模块

D.模块结构图

2、产生软件危机的原因有如下几点,除了()。

A. 软件开发过程未经审查

B. 软件开发不分阶段,开发人员没有明确的分工

C. 所开发的软件,除了程序清单外,没有其他文档

D. 采用工程设计的方法开发软件,不符合软件本身的特点

3、软件测试的目的是( )。

A.证明软件的正确性

B. 找出软件系统中存在的所有错误

C. 证明软件系统中存在错误

D. 尽可能多的发现软件系统中的错误

4、软件结构图中,模块框之间若有直线连接,表示它们之间存在着( )关系。

A、调用

B、组成

C、链接

D、顺序执行

5、投资回收期是指()。

A.项目投资开始到停止投资的时间区间

B.项目开始到产生经济效益的时间区间

C.项目的累计经济效益等于投资额所需的时间

D.项目开始到完成所需的时间

6、以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是()。

A. 喷泉模型

B. 增量模型

C. 瀑布模型

D. 螺旋模型

7、原型化方法是用户和设计者之间执行的一种交互构成,适用于()系统。

A.需求不确定性高的B.需求确定的C.管理信息D.实时

8、用况(Use-case)用来描述系统在事件做出响应时所采取的行动。在一个“订单输入子系

统”中,创建新订单和更新订单都需要检查用户帐号是否正确。那么,用例“创建新订单”、“更新订单”与用例“检查用户帐号”之间是()关系

A.包含(include)

B.扩展(extend)

C.分类(classification)

D.聚集(aggregation)

9、UML中的顺序图主要由对象,生命线,激活期和()等元素构成

A、关系

B、消息

C、用例

D、实体

10、以下说法错误的是()

A.测试不能证明程序是正确的

B.测试不能证明程序中没有错误

C.成功的测试是指发现程序的所有错误

D.测试是为了发现程序中的错误

三、简答题。(4题,共20分)

1、软件生存周期的六个阶段是什么?(6分)

2、写出下列软件工程领域中的英文缩写词对应的中文含义。(4分)

(1)UML (2)DFD (3)CMM (4)OOA

3、在下图中,模块A 调用模块B ,返回成绩。在A 调用B 时,B 根据A 传入的参数是平均还是最高决定返回平均成绩还是最高成绩。请说明模块A 和B 之间属于哪种耦合,并说明原因。(4分)

4、什么是软件维护? 软件维护分为哪几种类型?(6分)

四、 应用题。(3题,共50分)

1、某商场在“五一”期间,顾客购物时收费有4种情况:普通顾客一次购物累计少于100元,按A 类标准收费(不打折),一次购物累计多于或等于100元,按B 类标准收费(打9折);会员顾客一次购物累计少于1000元,按C 类标准收费(打8折),一次购物累计等于或多于1000元,按D 类标准收费(打7折)。要求:按照路径覆盖法设计测试用例。(20分)

2、M 公司的软件产品以开发实验型的新软件为主。用瀑布模型进行软件开发已经有近十年了,并取得了一些成功。若你作为一名管理员刚加入M 公司,你认为快速原型法对公司的软件开发更加优越,请向公司副总裁写一份报告阐明你的理由,切记:副总裁不喜欢报告长度超过一页(10分)

3、在一个餐馆的预约管理系统中,提供了对各类预约的基本管理功能。其中,“显示预约”的功能是根据用户输入的日期,在界面上返回给用户该日期下的所有的预约。显示预约具体的工作过程为:(1)用户在餐馆预约系统的界面上输入日期date ,要求检索date 对应的预

平均

约;(2)预约系统接到消息后,给系统内部管理所有预约的对象发消息,检索date对应的预约;(3)管理预约的对象遍历所有的预约,查看每个预约中的日期属性是否是date对应的日期,然后将满足要求的date的集合返回给预约系统对象,预约系统对象将结果返回给用户。要求:(1)根据描述画出显示预约过程的UML顺序图;(2)根据描述确定系统中有几个类,画出系统的UML类图(说明:类的方法要根据顺序图添加)。(20分)

He 山东科技大学2013 —2014学年第一学期

《软件工程》考试试卷(A卷)

班级_______________ 姓名_______________ 学号_______________

一、填空题(每空1分,共10分)

7、开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作_______。

8、在需求分析中,可从有关问题的简述中提取组成数据流图的基本成分。通常问题简述中的

动词短语将成为数据流图中的_____成分。

9、典型的演化模型有增量模型、___________、___________。

10、软件设计是把软件需求变换为软件表示的过程,主要包含两个阶段:___________阶

段和___________阶段。

11、在模块结构图中,直接调用某一模块的其他模块数,称为该模块的______。

12、在结构化分析中,_________用于详细地定义数据流图中的成分。

13、______测试是把测试对象看做一个透明的盒子,测试人员根据程序内部的逻辑结构及其

有关的信息设计成测试用例。

14、______是指在逆向工程所获信息的基础上修改或重构已有的系统,产生系统的一个新版

本。

二、选择题(每题2分,共20分)

11、软件设计中划分模块的一个准则是()。

A. 低内聚低耦合

B.低内聚高耦合

C. 高内聚低耦合

D.高内聚高耦合

12、UML的全称是( )。

A. Unify Marking Language

B.Unified Modeling Language

C. Unified Modem Language

D. Unified Making Language

13、所谓信息隐藏是指隐藏模块的()。

A.接口部分B.实现细节C.源代码D.一切信息

14、软件生命周期一般包括软件开发期和软件运行期,下述()不是软件开发期所应包

含的内容。

A.需求分析

B. 数据库设计

C. 程序编制

D.软件维护

15、使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准。

A.程序内部逻辑

B.程序的复杂程度

C.该软件的编辑人员

D.程序的功能

16、模块内部的算法设计在结构化方法的()阶段进行。

A. 系统分析

B. 概要设计

C. 详细设计

D.编码(实现)

17、技术可行性研究要解决的问题是()。

A.从技术方面说明项目是否可行

B.从技术上定义项目要解决的问题

C.给出项目开发可行的技术路线

D.给出精简的项目需求设计报告

18、在下列耦合中,耦合程度最低是()。

A.内容耦合

B.数据耦合

C.控制耦合

D.公共耦合

19、生命线是UML视图中哪个图形的组成部分()

A. 类图

B. 状态图

C. 活动图

D. 顺序图

20、检查软件产品是否符合需求定义的过程称为()。

A.单元测试

B.集成测试

C.确认测试

D.系统测试

三、简答题。(4题,共20分)

1、简述敏捷软件开发的价值观。列出常见的两种Agile开发方法。(5分)

2、什么是软件维护?软件维护分为哪几种类型?(5分)

3、什么是类的聚合?什么是类的组合?它们之间的区别是什么?(5分)

4、简述软件测试要经过哪几个主要阶段,每个阶段与软件生命周期中哪个阶段的什么文档有

关?(5分)

四、应用题。(3题,共50分)

1、(15分)[说明]某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:

1. 每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。

2. 学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。

3. 在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。

4. 对于有效成绩,系统将其保存在课程成绩文件中。对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。在教务处没有给出具体处理意见之前,系统不会处理这些成绩。

5. 若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。教务处根据需要,请求系统生成相应的成绩列表,用来提交考试委员会审查。

6. 在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。主讲教师须将核对之后的成绩报告返还系统。

7. 根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。考试委员会在审查之后,上交一份成绩审查结果给系统。对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。

现采用结构化方法对这个系统进行分析与设计,得到如图1-1所示的顶层数据流图和图1-2所示的0层数据流图。

图1-1 顶层数据流图

图1-2 0层数据流图

[问题1](4分)使用说明中的词语,给出图1-1中的外部实体E1~E4的名称。

[问题2](3分)使用说明中的词语,给出图1-2中的数据存储D1~D5的名称。

[问题3](6分)数据流图1-2缺少了三条数据流,根据说明及数据流图1-1提供的信息,分别指出这三条数据流的起点和终点。

[问题4](2分)

数据流图是在系统分析与总体设计阶段宏观地描述系统功能需求的重要图形化工具,程序流程图也是软件开发过程中比较常用的图形化工具。简要说明程序流程图的适用场合与作用。

2、(15分)下图描述了某个子程序的处理流程,根据判定覆盖、条件覆盖、判定/条件覆盖、

条件组合覆盖、路径覆盖等五种覆盖标准,从供选择的答案中分别找出满足相应标准的最小的测试数据组。

(1) a=5 b=1 (2) a=5 b=-1

(3) a=5 b=1 (4) a=5 b=1

a=-5 b=-1 a=0 b=-1

(5) a=5 b=-1 (6) a=5 b=1

a=-5 b=1 a=0 b=0 a=-5 b=-1 a=-5 b=-1

(7) a=5 b=1 (8) a=5 b=1

a=0 b=1 a=0 b=-1 a=0 b=-1 a=-5 b=1 a=-5 b=1 a=-5 b=-1

3、(20分)(共15分)

【说明】已知某唱片播放器不仅可以播放唱片,而且可以连接电脑并把电脑中的歌曲刻录到唱片上(同步歌曲)。连接电脑的过程中还可自动完成充电。

关于唱片,还有以下描述信息:

1.每首歌曲的描述信息包括:歌曲的名字、谱写这首歌曲的艺术家以及演奏这首歌曲的艺术家。只有两首歌曲的这三部分信息完全相同时,才认为它们是同一首歌曲。艺术家可能是一名歌手或一支由2名或2名以上的歌手所组成的乐队。一名歌手可以不属于任何乐队,也可以属于一个或多个乐队。

2.每张唱片由多条音轨构成;一条音轨中只包含一首歌曲或为空,一首歌曲可分布在多条音轨上;同一首歌曲在一张唱片中最多只能出现一次。

3. 每条音轨都有一个开始位置和持续时间。一张唱片上音轨的次序是非常重要的,因此对于任意一条音轨,播放器需要准确地知道,它的下一条音轨和上一条音轨是什么(如果存在的话)。

根据上述描述,采用面向对象方法对其进行分析与设计,得到了如表3-1所示的类列表、如图3-1所示的初始类图以及如图3-2所示的描述播放器行为的UML状态图。

表3-1 类列表

类名说明

Artist 艺术家

Song 歌曲 Band 乐队 Musician 歌手 Track 音轨 Album

唱片

图3-1 初始类图

图3-2 播放器行为UML 状态图

[问题1](3分)根据说明中的描述,使用表3-1给出的类的名称,给出图3-1中的A~F 所对应的类。

[问题2](6分) 根据说明中的描述,给出图3-1中(1)~(6)处的多重度。

[问题3](4分)图3-1中缺少了一条关联,请指出这条关联两端所对应的类以及每一端的多

A

C

D

F

E B (1) (2)

(3) (4)

(5) (6)

1

0..*

1 0..* 编写

演奏

重度。

[问题4](2分)根据图3-2所示的播放器行为UML状态图,给出从“关闭”状态到“播放”状态所经过的最短事件序列(假设电池一开始就是有电的)。

山东科技大学2011 —2012学年第二学期

《软件工程》考试试卷(B卷)参考答案及评分标准

一、填空题(每空1分,共10分)

1.软件过程

2.可重复级已定义级优化级

3.白盒

4.CORBA COM

5.算法

6.变换型事务型

二、选择题(每题2分,共20分)

D D D B C C A C D D

三、简答题。(4题,共20分)

1、(6分)

计算机系统工程、需求分析、设计、编码、测试、运行和维护…(每个1分,共6分)2、(4分)

(1)统一建模语言……………………………………………………………………(1分)(2)基于构件的软件工程……………………………………………………………(1分)(3)能力成熟度模型…………………………………………………………………(1分)(4)面向对象分析……………………………………………………………………(1分)3、(4分)

控制耦合………………………………………………………………………………(2分)原因:一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能就是控制耦合。……………………………………………………………………………(2分)4、(6分)

数据为中心的体系结构、数据流风格的体系结构、调用和返回风格的体系结构、面向对象

风格的体系结构、层次式风格的体系结构。……………(每个2分,答对任意3个给满分)

四、应用题。(4题,共50分)

1、(20分)

①被测模块的程序流程图如图所示。

被测模块的程序流程图

②按照路径覆盖法设计测试用例如下:

是会员,累计消费900元,覆盖路径127

是会员,累计消费2000元,覆盖路径128

不是会员,累计消费80元,覆盖路径134

不是会员,累计消费300元,覆盖路径135

说明:(1)若不画流程图直接给出正确答案的给满分;(2)测试用例数据不同若达到同样效果则给相应分数。

2、(10分)

瀑布模型的线性过程太理想化,已不再适合现代的软件开发模式,几乎被业界抛弃,其

主要问题在于:

(1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量;

(2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而

增加了开发的风险;

(3)早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。

快速原型模型的第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,用

户或客户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足客

户的要求,开发人员可以确定客户的真正需求是什么;第二步则在第一步的基础上开发客

户满意的软件产品。

显然,快速原型方法可以克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险,具有显著的效果。

3、(20分)

相关主题
相关文档
最新文档