软件工程简答题答案2_第1页
软件工程简答题答案2_第2页
软件工程简答题答案2_第3页
软件工程简答题答案2_第4页
软件工程简答题答案2_第5页
已阅读5页,还剩14页未读 继续免费阅读

VIP免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程课程期末复习指导2009秋

试题类型及解答举例

一、选择题请将正确答案的序号填在横线上。(共20小题,每题2分,共40分)

1.软件与程序的区别是_.

A.程序价格便宜、软件价格昂贵。

B.程序是用户自己编写的,而软件是由厂家提供的.

C.程序是用高级语言编写的,而软件是由机器语言编写的。

D.软件是程序以及开发、使用和维护所需要的所有文档的总称,而程序是软件的一部分。

答率,D

2.以下属于软件维护阶段文档的是。

A,软件需求说明B,操作手册C、软件问题报告D、测试分析报告

答案:C

3.提高软件质量和可靠性的技术大致分为两大类,一类是避开错误的技术,另一•类是—技

术。

A.消除借误B.检测错误C.避开错误D.容错

答案:H

二、简答题(共5道小题,每题8分,共40分)

1.软仲工程的目标是什么?

软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软小,其主要目标

如下:

•实现预期的软件功能,达到较好的软件性能,满足用户的需求。

・增强软件过程的可见性和可控性,保证软件的质量。

・提高所开发软件的可维护性,降低维护费用。

・提高软件开发生产率,及时交付使用。

・合理预算开发成本,付出较低的开发欲用。

2.画数据流图应注意哪些事项?

数据流程图是描绘信息在系统中的流动和处理,在数据流程图中不能反映控制流,许多

人画数据流程图时总是想加入分支判断或循环,这类控制性的流程属于程序流程图描绘

的内容,不要放入数据流程图中。

:_数据流程图上所有"图形符号只限于前述四种基本图形元索,并旦缺•不可,每个元素都・1带格式的:项目符号和编号

必须有名字和编号。如果数据流能够反映出信息的含义,为了图面的清晰可以忽略数据

流的编号和名称。加工框的编号表明该加工所处层次及上卜.层的亲子关系J数据流程图

上的数据流必须封闭在外部实体之间。每个加工至少有一个输入数据流和一个输出数据

流。一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流

必须一致。开始画数据流程图时可以忽略琐碎的细节,集中精力于主要数据流,通过不

断细化添加必要的细节。

三、应用题(共2题,每题10分,共20分)

1.某旅馆的电话服务如下:可以拨分机号和外线号码。分机号是从7201至7299。外线号

码先拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从100

到300中任意的数字串。市话号码是以局号和分局号组成。局号可以是455,,166,888,552

中任意一个号码。分局号是任意长度为4的数字串。写出在数据字眼中,电话号码的数据条

目的定义(即组成).

答案:

电话号码={分机外线}

分机=[7201—7299]

外线=9+(市话号码|长话号码}

市话号码=局号+分局号

局号=[455,466,888,552)

分局号=4{0-9}4

长话号码=区号+市话号码

区号=[100—300]

2,新东方学校的学生报名信息管理系统,业务如卜.:

如果是报名的,由负责报名的工作人员查阅课程目录信息,检查该课程是否额满,如果

有r空额,则在学生信息、课程信息表中登记相应的信息,并开出报告单交财务部门,学生

到财务处交钱,财务人员开出发票给学生。

如果是想注错原来已报名的课程,则由负责报名的工作人员在课程信息、学生信息和帐

目信息上做相应的修改,并给学生注销单,财务人员负责退款,索回发票。

要求:1.对以上问题画出数据流程图。5分

参考答案:

2.画软件结构图的主图。5分

参考答案:

焙讽计黄H皆及8件绢由主国

简答题

1.什么是软件工程?请分析软件工程的目标是什么?

答案:软件工程是:①将系统化的、规范的、可度量的方法应用于软件的开发、运行

和维护过程,也就是说将工程化应用于软件开发和管理之中:②对①中所选方法的研究工

软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软仁,其主要目标

如下:

a)实现预期的软件功能,达到较好的软件性能,满足用户的需求。

b)增强软件过程的可见性和可控性,保证软件的质量。

c)提高所开发软件的可维护性,降低维护费用,

d)提高软件开发生产率,及时交付使用。

e)合理预算开发成本,付出较低的开发费用。

2.什么是软件危机?软件危机表现在哪儿个方面?

由于软件特点和长期以来一直没有发明一种而效的开发方法,导致软件生产效率非常

低,交付期一拖再拖,最终交付的软件产品在质量上很难保障。这种现象早在20世纪60

年代被定义为“软件危机:它的具体表现如下:

a)“已完成”的软件不满足用户的需求。

b)开发进度不能保障,交付时间一再拖延。

c)软件开发成本难以准确估克,开发过程控制困难造成开发成本超出预兑。

d)软件产品的质量没有保证,运算结果出错、操作死机等现象屡屡出现。

e)软件通常没有适当的文档资料,或文档与圾终交付的软件产品不符,软件的可维护

程度非常低。

3.根据相关的法律,对于侵犯软件著作权的行为,根据情节应当给予什么史罚?

答案:

对于侵犯软件著作权的行为,要根据情况承担停止侵害、消除影响、赔礼道歉、赔偿损

失等民事责任;损害社会公共利益的,山著作权行政管理部门责令停止侵权行为,没收违法

所得,没收、倘毁侵权复制品,并处罚款;情节严重的,著作权行政管理部门可以没收用于

制作侵权熨制品的材料、工具、设备等:触犯刑律的,依法追究刑事责任。

4.根据你的理解,列举出职业化软件工程师要注意的三个主要问题,请给出理由。

答案:没唯一答案.

a)不遵守标准和规范:职业化的重要特征是遵守行业标准,不能肆意按照白己

的想象来发挥。自从人们认识到软件危机以来,总结软件开发的失败教训和

成功经验,并把它们总结成为最佳实践,进而形成标准,要充分利用这些最

佳实践和标准来指导朝:件过程。任何闭门造车、想当然的行为都是不被提倡

的,注定要走弯路。

b)对待计划不严肃:软件工程强调计划性,计划的内容包括:设备资源、进度

安排、人力资源、任务分配等等。在项目的进行中要跟踪计划执行情况,记

录计划执行过程中的偏差,对任何变更都要经过评审和批准力能付诸行动。

c)不主动与人沟通:软件不可见的特性,需要软件工程师进行大量书面的、口

头的或面对面的沟通,沟通的目的是为了使相关的人员了解项目的进展、遇

到的问题、应用的技术、采用的方法。

5.软件工程为什么要强调规范化和文档化?

答案:

、软件工程强调规范化和文档化。规范化的目的是使众多的开发者遵守相同的规范,使软

件生产摆脱个人牛•产方式,进入标准化、工程化的生产方式。文档化是将软件的设计思想、

设计过程和实现过程完整地记录下来,以便于后人的使用和维护,在开发过程中各类相关人

员借助于文档进行交流和沟通。另外,在开发过程中产生的各类文档使得软件的生产过程山

不可见变为可见,便于管理者对软件生产进度和开发过程进行管理。在用户展终验收时可以

通过对提交的文档进行技术审查和管理审查,保证软件的质量。

6.请简单说明结构化分析的主要步骤。

答案:根据用户的需求画出初始的数据流程图,写出数据字典和钊始的加工处理说明(IPO

图),实体关系图。以初始数据流程图为菸础,从数据流程图的输出端开始向溯。在对数据

流程图进行回溯的过程中可能会发现丢失的处理和数据,应将数据流程图补充完善。对软件

性能指标、接口定义、设计和实现的约束条件等逐一进行分析。系统分析人员与用户一起对

需求分析的结果进行熨查。根据细化的需求修订开发计划。编写需求规格说明书和初始的用

户手册,测试人员开始编写功能测试用的测试数据。

7.设计类的属性时必须要定义是哪两项?

答案:

设计类的属性时必须要定义的内容:

1)属性的类型:设计同性时必须要根据开发语言确定每个属性的数据类型,如果数据

类型不够,设计人员可以利用已有的数据类型定义新的数据类型。

2)属性的可见性。在设计属性时要确定公有属性、私有属性、受保护属性。

8.请简单分析顺序图和活动图的区别。

答案:

活动图反映系统中从一个活动到另一个活动的流程,强调对象间的控制沈程。活动图特

别适合描述工作流和并行处理过程。具体地说活动图可以描述一个操作过程中需要完成的活

动:描述一个对象内部的工作:描述如何执行一组相关的动作,以及这些动作如何影响它们

周围的对象:说明一个业务活动中角色、工作流、组织和对象是如何工作的。

顺序图用于描述一组交互对象间的交互方式,它表示完成某项行为的对疏和这些对象之

间传递消息的时间顺序。

9.根据你的理解,为卜.面的数据流程图加上箭头,并把卜.列数据流添加到合适的位置.:用

户名/密码、用户输入预订信息、保存预订信息、查询预订信息、登录确认、图书信息、

查询条件、住询结果。

答案:

DSOI诙行账号信息

信口

10.请用判定表描述产品出库量的计算方法:当库存量大于等于提货量时,以提货量作为出

席量:当库存量小于提货量,但是库存量大于等于提货珏的50%时,以实际库存量作为

出库量:否则,出库量为0,不能梃货。

答案:

条件123

库存之提货量TF

库存三50%提货战TF

按提货量出库T

按库存显出库T

不出库T

11.公司为本科以上学历的员工重新安排工作,原则如下:①如果年龄不满23岁,学历是

本科,一律考研生:②如果年龄在23岁至50岁之间,学历本科,任项目经理:③如果

年龄在50岁以下,学历硕士,任命为中层领导:④如果年龄超过50岁,不做调整,要

求画出判定表。

<50T!•

本科TT

研究生T

报考研究生T

项目经理T

中层领导T

不变T

12.请举例说明什么是变换型数据流程图?什么是事务型数据流程图?

答案:没有唯一答案。

中心交帙

变换型数据流程图

13.下面程序代码,编程人员误把IF:(A=2)OR(X>1))条件写成了IF<(A=2)OR(X<1»,

用A=2,B=0,X=3和A=2,B=l,X=1这两组测试用例不能发现错误,请你添加足够多的

测试用例,以发现程序中的错误。

BEGIN

If((A>1)AND(B=0))THENDO

X:=X/A;

IF((A=2)OR(X>1))THENDO

X:=X+1;

END

答案:用A=2,B=0,X=3测试用例可以发现错误,因为按照测试用例的预计的输出X=4,

而错误的输出是X=3。

14.面向对象的分析通常要建立三个模型,请问三个模型的作用?

答案:

a)功能模型:表达系统的详细需求,为软件的进•步分析和设计打下基础。在面向对

象方法中,由用例图和场景描述组成。

b)对象模型:表示薛态的、结构化的系统“数据”性质。描述现实世界中实体的对象

以及它们之间的关系,表示I」标系统的静态数据结构。在面向对象方法中,类图是构件对象

模型的核心工具。

c)动态模型:描述系统的动态结构和对象之间的交互,表示瞬时的、行为化的系统的

“控制”特性。面向对象方法中,常在状态图、皈序图、合作图、活动图构件系统的动态模

型。

15.面向对型的设计活动中,有构架帅、用例工程师和构件师参加,他们每个角色的职责是

什么?

答案:

构架设计的目的是要勾画出系统的总体结构,这项工作由经验丰富的构架设计师主持完

成。该活动以用例模型、分析模型为输入,生成物理构架、子系统及其接口、概要的设计类

(即设计阶段定义的类)。

根据分析阶段产生的高层类图和交互图,由用例设计师研究已布•的类,将它们分配到相

应的用例中。检查每个用例的功能,这些功能依靠当前的类能否实现,同时桧查每个用例的

特殊需求是否有合适的类来实现。细化每个用例的类图,描述实现用例的类及其类之间的相

互关系,其中的通用类和关键类可用粗线框区分,这些类将作为项U经理检查项U时的重点。

经过前面两个活动,构架设计师已经将系统的构架建立起来,用例设计师按照用例的功

能格每个类分配给相应的用例。现在要山构件工程和详细设计每个类的属性、方法和美系。

16.QQ软件的用户分为游客和登陆会员,登陆会员分为群成员和非群成员,群成员分为群

主和群普通成员、群管理员,请用类的继承关系描述QQ用户群。

17.先将卜列代码用规范的格式重写,然后画出对应的程序流程图。

START

INPUTX.N

DIMENSIONA(N),F(N)

DO1=1TON

INPUTF(l)

ENDDO

K=0

DOWHILE(K<N)

A(K)=O

DOJ=lTON-K

A(K)=A(K)+F(J)*F(J+K)/(N-K+1)

ENDDO

PRINTK*X,A(K)

K=K+I

ENDDO

STOP

答案:

START

INPUTx,n

DIMENSIONa(n),f(n)

DO1=1TOn

INPUTf(i)

ENDDO

k=0

DOWHILE(k<n)

a(k)=O

DOj=lTOn-k

a(k)=a(k)+f(j)*f(j+k)/(n-k+1)

ENDDO

PRINTk*x,a(k)

k=k+l

ENDDO

STOP

a)代码的大小写问题b)缩进c)画程序流程图

18.修改下面的程序片段的格式,使它的可阅读性更好,并且画出该程序段的程序流程图。

WHILEPDO

IFA>0THENAlELSEA2ENDIF;

SI;

IFB>OTHENB1;

WHILECDOS2;S3ENDWHILE:

ELSEB2

ENDIF:

B3

ENDWHILE;

答案:

WHILEPDO

IFA>0THEN

Al

ELSE

A2

ENDIF;

SI;

IFB>0THEN

Bi;

WHILECDO

S2:S3

ENDWHILE;

ELSE

B2

ENDIT;

B3

ENDWHILE:

19.提高程序可读性有哪些招数?对你来讲比较灵验的是哪些?

答案:

a)源程序文件头说明,函数应有函数头说明,内容包括:程序标题:有关该模

块功能和目的说明;主要算法说明;接I」说明,包括调用形式、参数描述、

子程序清单、有关数据的说明。

b)主要变量(结构、联合、类或对象)的定义能够反映其内在含义。

c)变量定义最规范化,说明的先后次序固定.

d)处理过程的每个阶段和典型算法前都有相关注释说明。

e)用缩进来显示程序的逻辑结构。

0嵌套的循环和分支程序层次不要超过五层。

二、应用题

1.学校每学期为品学兼优的学生发放奖学金,奖学金根据学生本人申请,班主任和同学评

议的结果,分为三个等级,•等奖5名,二等奖10名,三等奖50名,向全校公布。

开发•个软件实现奖学金的评比和发布。每学期由学生本人填写申请信息:学号、姓名、

班级、申请等级、申请理由;系统根据中清自动检查学生成绩文件,如果成绩有不及格则不

能申请奖学金:如果平均成绩在85分以上有资格申请一等奖学金;75分以上可以申请二等

奖学金;否则可以申请三等奖学金。系统保存申请信息和成绩检查结果。经过成绩箍选后,

同学和班主任进行评议,同学可以给中诗者加0—10分,教师可以给申请者C-1O分。学习

成绩占80%,同学评分占10%,班主4评分占10%,最后由学生管理科编制一张报表。清

设H这张报表的内容和格式,并画出此系统的数据流程图。

参考答案:

日期:XXXX学期学习奖学金获得者

学号姓名班级申请成绩学习总成绩同学班主任评分总分实际获奖情况

等级等6评分

2.

根据下面程序代码,画出程序流程图,然后设计满足条件组合年盖的测试用例。

BEGIN

T:=0

IF(X>=80ANDY>=80)THEN

T:=l

ELSEIF(X>=90ANDY>=75)THEN

T:=2

ENDIF

END.

答案:

经化简后的测试用例:x=95y=95;x=95,y=70;x=70,y=95;x=70,y=70;

3.一个学生考试成绩统计程序,小于60分为“不及格”;60-79为“中”;8C-89为“良”:

90分以上为“优秀”,录入其他成绩均为“无效二要求:设计语句覆盖的测试用例。

答案:

假设变量A是读入的成绩,则设计的语句覆盖测试用例有5个:

A=59不及格

A=79中

A=89良

A=99优

A=101无效

说明:此题的答案不唯一,只要符合语句凝盖条件即可。

简化的图书馆图书信息管理系统有以下要求:(1)借书:输入读者借书证,系统检查借

书证是否有效:杳阅借还书文件,检杳该读者所借图书是否超过8本,若已达8本,显示信

息“已经超出借书数量”,拒借,然后查询是否有超过1个月,若有则显示信息“有超期未

还图书”:两项检查通过后,办理借书(检查库存、修改库存文件并将读者借书信息登入借

还书文件)(2)还由:输入书号和读者号,从借书文件中读出有关的借书记录,查阅所借日

期,如果超过1个月,作罚款处理。否则,修改库存文件与借还书文件。

请就以上系统功能画出D1-D图,并给出借还书文件的数据字典。

答案:

画数据流程图:可以有不同的答案,基本流程正确即可。

DS01图书信息

数据字典:可以用表格的方式说明也可以按照传统的数据字典格式,例如:

名称:借还书信息

编号:DS03

简述:保存读者的借还书记录

数据存储的组成:编号+读者号+图书号+借书日期+还由日期+操作员编号

存储方式:数据库表

访问频率:每日大约300条记录。

数据元素名称:编号

简称:NO

类型:CHAR

长度:6

取值范围:000000

初始值:系统自动产生

其他

或者:

编号:DS03名称:借还书信息

名称简称健值类型氏度值域初值备注

编号N0P字符6自动

读者号ReadNO字符11

图书号BookNO字符13

借书日期Bdate日期当前日期

还书日期Rdale日期当前日期

操作员编号OPNO字符

4.学校每学期为品学兼优的学生发放奖学金,奖学金根据学生本人申请,班主任和同学评议

的结果,分为三个等级,一等奖5名,二等奖10名,三等奖50名,向全校公布。

开发一个软件实现奖学金的评比和发布。每学期由学生本人填写申请信息:学号、姓名、

班级、申请等级、甲两理由;系统根据中请自动检查学生成绩文件,如果成绩有不及格则小

能申请奖学金:如果平均成绩在85分以上有资格申请一等奖学金;75分以上可以申请二等

奖学金;否则可以申请三等奖学金。系统保存申请信息和成绩检查结果。经过成绩筛选后,

同学和班主任进行评议,同学可以给中靖者加0—10分,教师可以给申请者C—10分。学习

成绩占80%,同学评分占10%,班主任评分占10%,最后由学生管理科编制一张报表。请

设计这张报表的内容和格式,并画出此系统的数据流程图。

参考答案:

日期:XXXX学期学习奖学金获得者

学号姓名班级申请成绩学习总成绩同学班主任评分总分实际获奖情况

等级等级评分

5.股票交易所给经纪人的手续费按下面方法计算:

总手续费=基本手续费+附加手续型

其中,

「8.4%*交易金额交易总额<1000元

基本手续贽=J5%*交易金额+34交易金额(1(X)0.I(X)OO]元

4%*交易金额+134交易金额>10000元

「5%*基本手续费每股价格<14元,股数是100的倍数

附件手续费=J2%*基本手续费每股价格(14,251元

1.5%*基本手续费每股价格>25元

请用判定表描述手续费的计算方法。

答案:

条件123456789

<1000TTTFTF

>10000TTTFTF

<14TFTFTF

>25TFTFTF

总手续费①②③④⑤I⑥⑦⑧⑨

①总手续费=8.4%*交易金额(1+5%)

②总手续费=8.4%*交易金额(1+1.5%)

③总手续费=8.4%*交易金额(1+2%)

④总手续费=4%*交易金额+134(1+5%)

⑤总手续费=4%*交易金额+134(1+1.5%)

⑥总手续费=4%*交易金额+134(1+2%)

⑦总手续费=5%*交易金额+34(1+5%)

⑧总手续费=5%*交易金额+34(1+1.5%)

⑨总手续费=5%*交易金额+34(1+2%)

6.•个城市的公共事业部决定开发•个“计算机化的”坑洼跟踪和修理系统。市民通过本

系统报告有坑洼时,要说明街道地址、大小、影响程度,还要记录报告者的姓名和电话,存

储在坑洼报告信息中,被送到公共事业部,工作人员根据坑洼的地点和大小,修理队标识号,

修理队的人数,被分配的装备,制定一份工单,送到维修队。维修队修理后,将坑洼修理结

果录入后生成坑洼维修文件,并把维修报告上报公共事业部,包括:修理坑洼状况,使用填

料的数量和修理的开销(时间、人数、使用的材料、装备)。请画出数据流程图,设计I:单信

息的数据字典。

参考答案:

----------------------炕世佑息

DSOI北注信总----------------------------------DS03工学信息

IPOOIIPO02

市民坑注俏上公共事制定【垂拉令DS02加修生位信口

报吉坑洋依JB业部生成工单位伪总

佬工单信&

IKXMIKXI3

维传华位

生成维修报告维修结果发人

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论