软件工程综合应用例题

软件工程综合应用例题
软件工程综合应用例题

综合应用例题

第一部分传统软件开发方法

1、某一8位计算机,其十六进制常数的定义为:以0x或0X开头的数是十六进制整数,其值的

范围是-7f至7f(大小写字母不加区别),如0x13,0X6A,-0x3c 。

请用等价类划分法设计测试用例。

解:

第一步:建立等价类表

第二步:为有效等价类设计测试用例

第三步:为无效等价类至少设计一个测试用例

2、下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。

int GetMax(int n, int datalist[ ])

{

int k=0;

for ( int j=1; j

if ( datalist[j] > datalist[k] ) k=j;

return k;

}

画出该程序的程序流程图,并计算其McCabe复杂度。

解:程序流程图如下:

McCabe复杂度为3。

3、有下列伪码程序:

START

INPUT (M,N)

IF M>=10

THEN X:=10

ELSE X:=l

ENDIF

IF N>=20

THEN Y:=20

ELSE Y:=2

ENDIF

PRINT(X,Y)

STOP

设计该程序的语句覆盖和路径覆盖测试用例。解:

语句覆盖测试用例为

①M=9(或

②M=l0(或>=10),N=20(或>=20)

路径覆盖的测试用例为

①M=9,N=19;

②M=9、N=20;

③M=l0,N=l9;

④M=10,N=20

4、根据伪码程序画出程序流程图,盒图(N-S图)。 START

a

IF x1 THEN

REPEAT UNTIL x2

b

END REPEAT

ELSE

BLOCK

c

d

END BLOCK

END IF

STOP

解:(1) 程序流程图 (2) N-S (3)PAD图

5、根据下列描述,画出教材征订系统的第一层数据流图。学生入学后到教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。各种资金往来通过学校的会计科办理。

6、画出下列伪码程序的程序流程图,盒图(N-S图)。

START

IF p THEN

WHILE q DO

F

END DO

ELSE

BLOCK

g

n

END BLOCK

END IF

STOP

解:

T

7、画出下面PDL 伪码程序的程序流程图、N-S 图、PAD 图和程序流图,并计算其McCabe 复

杂度。

WHILE P DO

IF A>O THEN A1 ELSE A2 ENDIF; IF B>0 THEN B1;

IF C>0 THEN C1 ELSE C2 ENDIF ELSE B2 ENDIF; B3 ENDWHILE; 答:

McCabe 复杂度=5

P A>0T T A1

F

A2B>0T B1

C>0T C1

C2

F T

B2

F

B3

8、根据下面伪码程序,设计语句覆盖、路径覆盖、边覆盖、判定覆盖、条件覆盖、点覆盖

的测试用例。

PROCEDURE EX (A ,B :REAL ;VAR X :REAL ); BEGIN

IF (A=3)OR (B>1)THEN X :=A ×B IF (A>2)AND (B=0)THEN X :=A -3 END

解:先画出程序流程图:

语句覆盖测试用例:[A=3,B=0]

路径覆盖测试用例:[A=3,B=0] [A=3,B=1] [A=4,B=0] [A=2,B=1]

边覆盖测试用例:

[A=3,B=0] [A=2,B=1]

9、某培训中心要研制一个计算机管理系统。它的业务是:将学员发来的信件收集分类后,按几种不同的情况处理。

如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。

如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。

如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。 要求:

1.对以上问题画出数据流程图。

2.画出该培训管理的软件结构图的主图。 解:

10、教师申报科研成果的过程如下:

接收教师交来科研材料和申报表,首先根据科研管理条例进行审核。对审查后的材料,再根据科研管理条例和科研档案进行分类,分类完成后将科研成果存储到科研档案,并报科研处备案。画出处理过程的数据流程图。

11、请使用流程图、PAD图和PDL语言描述下列程序的算法。

在数据A(1)~A(10)中求最大数和次大数。

解:如图所示:

PDL语言描述:

GET(a[1],a[2],...a[10])

max=a[1];

max2=a[2];

FOR i=2 TO 10

IF a[i]>max

max2=max;

max=a[i];

ELSE

IF a[i]>max2

max2=a[i];

ENDIF

ENDIF

ENDFOR

PUT(max,max2)

END

12、求一组数组中的最大数, 数组表示为A[n] ,n=1,2……n的自然数。

1)请画出程序流程图

2)请画出该算法的N-S图

3)请用PAD图来表示该算法

解:

13、画出下面程序流程图所对应的程序流图,并计算其环形复杂度V(G)。

解:(1)程序流图如下所示:

(2)计算其环形复杂度:V(G)=E

–N +2=13 –10 +2=5

14、画出下面程序流程图所对应的程序流图,并计算其环形复杂度V(G)。

环形复杂度V(G)=6

15、分别画出顺序结构、选择结构、while结构、until结构的程序图,并计算它们的V(G)值。

解:

R1

(a)顺序结构

V(G)= E –N + 2 = 1 –2 + 2 = 1

V(G)= E –N + 2 = 4 –4 + 2 = 2

V(G)= E –N + 2 = 3 –3 + 2 = 2

(d)until 结构

V(G)= E –N + 2 = 3 –3 + 2 = 2

16、某公司承担空中和地面运输业务。计算货物托运费的比率规定如下:

空运,如果货物重量小于等于2kg.则一律收费6元;如果货物重量大于2 kg而

又小于等于20 kg,则收费3元/kg;如果货物重量大于20 kg,则收费4元/kg。

地运,若为慢件每kg收费为l元,若为快件,当重量小于等于 20 kg时,收费为 2 元/kg,当货物重量大于 20 kg时,则收费为 3元/kg。

请画出对应于计算托运费比率的判定树和判定表。

解:

判定表:

17、工资计算系统中的一个子系统有如下功能:

( 1 )计算扣除部分—由基本工资计算出应扣除(比如水电费、缺勤)的部分;

( 2 )计算奖金部分—根据职工的出勤情况计算出奖金;

( 3 )计算工资总额部分—根据输入的扣除额及奖金计算出工资总额;

( 4 )计算税金部分—由工资总额中计算出应扣除各种税金;

( 5 )生成工资表—根据计算总额部分和计算税金部分传递来的有关职工工资的详细信息生成工资表。

试根据要求画出该问题的数据流程图。

18、把事务型数据流图映射成软件结构图:

19、把变换型数据流图映射成软件结构图:

20、根据下面程序代码,画出程序流程图,然后设计满足条件/判定覆盖、条件组合覆盖的

测试用例。

T:=0

IF ( X>=80 AND Y>=80 )THEN

T:=1

ELSE IF ( X>=90 AND Y>=75 ) THEN

T:=2

ENDIF

IF (X>=75 AND Y>=90) THEN

T:=3

ENDIF

ENDIF

测试用例:

条件/判定覆盖:

1 X=80 Y=80

2 X=90 Y=75

3 X=50 Y=50

条件组合覆盖:

1 X=80 Y=80

2 X=80 Y=75

3 X=75 Y=80

4 X=7

5 Y=75

5 X=90 Y=75

6 X=90 Y=70

7 X=80 Y=75

8 X=80 Y=70

9 X=75 Y=90

10 X=75 Y=90

11 X=70 Y=90

12 X=70 Y=85

21、现为某银行开发一个计算机储蓄管理系统。要求系统能够完成:将储户填写的存款单或取款单输入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,同时要求储户输入口令,并打印出存款单给储户;如果是取款,则系统首先要求储户输入口令,储户身份确认后,系统计算结算清单给储户,结算清单中的信息包括本息金额和利息金额。

试根据要求画出该系统的数据流程图。

解:

22、科研项目费用支付过程是:接收项目负责人的费用收据,通过项目存档文件对收据进行审核,审核通过后参照项目账目文件进行费用计算,计算后将付款通知交财务处,将领款通知交项目负责人。画出处理过程的数据流程图。

23、高考录取统分子系统有如下功能:

(1) 计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;

(2) 计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。

试根据要求画出该系统的数据流程图,并将其转换为软件结构图。 解:(1)数据流图: (2)软件结构图:

① 原始分 ② 标准分 ③ 招生计划 ④ 录取线 24、输入三整数,判断是否构成三角形,如构成三角形,则输出三条边的值,否则输出”不能构成三角形”. 要求:1.用程序流程图表示该问题的算法;2.计算程序复杂度; 3.设计路径覆盖的测试用例。

答:

25、一个考务处理系统的要求如下,试画出该系统的数据流图。

(1)对考生送来的报名表进行检查;

(2)对合格的报名表编好准考证号码后将准考证送给考生,并将汇总后的考生名单送给阅卷站;

(3)对阅卷站送来的成绩表进行检查,并根据考试中心指定的合格标准审定合格者;(4)填写考生通知单(内容包含考试成绩及合格∕不合格标志),送给考生;

(5)按地区、年龄、文化程度、职业、考试级别等进行成绩分类统计及试题难度分析,产生统计分析表。

解:

(1)顶层数据流图

(2)第1层数据流图

(3)第2层数据流图

加工1子图:

加工2子图:

26、根据以下描述画出相应的状态转换图:

到ATM机前插入磁卡后输入密码,如果密码不正确则系统会要求再次输入密码,如三次输入不正确则退出服务;密码正确后,系统会提示选择服务类型,如选择存款则进行存款操作,存款完毕后可选择继续服务,也可以选择退出服务;如选择取款则进行存款操作,取款完毕后可选择继续服务,也可以选择退出服务

27、在结构化设计过程中,要将数据流图(DFD)映射成系统结构图(SC),分别画出变换型数据流和事物型数据流的映射方式。

答:

28、欲开发一个银行的活期存取款业务的处理系统:储户将填好的存/取款单和存折交给银行工作人员,然后由系统作以下处理;

(1)业务分类处理:系统首先根据储户所填的存/取款单,确定本次业务的性质,并将存/取款单和存折交下一步处理;

(2)存款处理:系统将存款单上的存款金额分别记录在存折和帐目文件中,并将现金存入现金库;最后将存折还给储户;

(3)取款处理:系统将取款单上的取款金额分别记录在存折和帐目文件中,并从现金库提取现金;最后将现金和存折还给储户。

绘制该系统的数据流图和软件结构图。

第二部分面向对象软件开发方法

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

答:

对象类图:功能模型:动态模型:

*

2、某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求如下:

(1)报社发行多种刊物,每种刊物通过订单来征订,订单中有代码,名称,订期,单价,份数等项目,订户通过填写订单来订阅报刊。

(2)报社下属多个发行站,每个站负责收集登陆订单、打印收款凭证等事务。

(3)报社负责分类并统计各个发行站送来的报刊订阅信息。

请就此需求建立对象模型。

解:

3、根据下列问题描述,建立自动售货机系统的对象模型。

(1) 设置

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

(2) 销售

顾客将硬币投入售货机,经累加金额足够的饮料选择键灯亮,等待顾客按键选择,顾客按键后饮料由取饮料口掉出,并自动结算及找零。

(3) 取消交易

顾客可在按下选择键前任何一个时刻,拉动退币杆取消交易,收回硬币。

解:

4、问题描述为:储户用存折取款,首先填写取款单,根据“帐卡”中的信息检验取款单与存折,如有问题,将问题反馈给储户,否则,登录“储户存款数据库”,修改相应数据,并更新“帐卡”,同时发出付款通知,出纳向储户付款。

请确定系统的类,并给出你认为最重要的2-3 个类的描述模板。

解:

确定系统的类:储户、存折、取款单、帐卡、储户存款数据库、付款

5、现在有一个医院病房监护系统,请根据用户需求建立系统的Use Case模型。用户提出

的系统功能要求如下:

在医院病房监护系统中,病症监视器安置在每个病房,将病人的病症信号实时传送到中央监视系统进行分析处理。在中心值班室里,值班护士使用中央监视系统对病员的情况进行监控,根据医生的要求随时打印病人的病情报告,系统会定期自动更新病历。

当病症出现异常时,系统会立即自动报警,通知值班医生及时处理,同时立即打印病人的病情报告,立即更新病历。

解:

6、交通工具分为空中、陆上、水上交通工具,空中交通工具分为客机、货机、专用轻型机,陆上交通工具分为火车、汽车;火车汽车又分为客车、货车;水上交通工具分为客轮、货轮、客货混合轮。建立交通工具的对象模型。

7、在下列用例图中,哪些是系统角色(执行者)?

答: Bank network、Manager、Clerk

8、请构建有关“工程蓝图”的类图。

一幅工程蓝图由许多图形组成,图形可以是直线、圆、多边形或组合图,而多边形由直线组成,组合图由各种线型混合而成。

构建类图如下:

9、网络的普及带给了人们更多的学习途径,随之而来的管理远程网络教学的“远程网络教学系统”诞生了。

“远程网络教学系统”的功能需求如下:

学生登录网站后,可以浏览课件、查找课件、下载课件、观看教学视频。

教师登录网站后,可以上传课件、上传教学视频、发布教学心得、查看教学心得、修改教学心得。

系统管理员负责对网站页面的维护、审核不合法课件和不合法教学信息、批准用户注册。

(1)学生需要登录“远程网络教学系统”后才能正常使用该系统的所有功能。如果忘记密码,可与通过“找回密码”功能恢复密码。请画出学生参与者的用例图。

(2)教师如果忘记密码,可以通过“找回密码”功能找回密码。请画出教师参与者的用例图。

解(1):

业务员

10、图书管理系统功能性需求说明如下:

图书管理系统能够为一定数量的借阅者提供服务。每个借阅者能够拥有唯一标识其存在的编号。图书馆向每一个借阅者发放图书证,其中包含每一个借阅者的编号和个人信息。提供的服务包括:提供查询图书信息、查询个人信息服务和预定图书服务等。

当借阅者需要借阅图书、归还书籍时需要通过图书管理员进行,即借阅者不直接与系统交互,而是通过图书管理员充当借阅者的代理和系统交互。

系统管理员主要负责系统的管理维护工作,包括对图书、数目、借阅者的添加、删除和修改。并且能够查询借阅者、图书和图书管理员的信息。

可以通过图书的名称或图书的ISBN/ISSN号对图书进行查找。

回答下面问题:

1) 该系统中有哪些参与者?

借阅者图书管理员系统管理员

2) 确定该系统中的类,找出类之间的关系并画出类图用户类、用户角色类、图书类、

预定类、借阅类、书目类

河南电大软件工程期末试题带答案

试卷代号:1260 中央广播电视大学2018-2018学年度第二学期“开放本科”期末考试(半开卷) 软件工程试卷 注意事项 一、将你的学号、姓名及分校(工作站)名称填写在答题纸的规定栏内。考试 结束后,把试卷和答题纸放在桌上。试卷和答题纸均不得带出考场o监考人收完 考卷和答题纸后才可离开考场 二、仔细读懂题目的说明,并按题目要求答题。答案一定要写在答题纸的指 定位置上,写在试卷上的答案无效。 三、用蓝、黑圆珠笔或钢笔【含签字笔)答题,使用铅笔答题无效。 一、选择题(请从四个可选项中选择最佳答案0 60分.每题3分l 1.软件工程的研究内容具有层次化结构,最底层是质量保证层,中间层是( ).最上层是工具层。 A.过程层&方法层 C.过程层和方法层 D.系统层 2.美国著名软件工程专家B.W.Boehm于1983年提出了软件工程的( )条基本原理。 A.7 B.5 C.3 D.12 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.内容耦合是模块间最紧密的耦合,( )是模块间最松散的耦合。 A.数据耦合 B.非直接耦合 C.控制耦合 D-外部耦合 9.面向对象是“先”确定____“后” 。( ) A.属性/方法 B.数据结构/方法 c.动作的主体/执行动作 D.动作/操作

软件工程习题及详细答案

个人收集整理勿做商业用途 软件工程习题及答案 一、选择题: 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、合同文档 6. 注释是提高程序可读性的有效手段,好的程序注释占到程序总量的。 A、1/6 B、1/5 C、1/4 D、1/3 7. 变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于。 A、变换型 B、事务型 8. PAD(Problem Analysis Diagram)图是一种工具。 A、系统描述 B、详细设计 C、测试 D、编程辅助 9. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的。 A、总貌 B、细节 C、抽象 D、软件的作者 10. 数据流图中,当数据流向或流自文件时,。 A、数据流要命名,文件不必命名 B、数据流不必命名,有文件名就足够了 C、数据流和文件均要命名,因为流出和流进数据流是不同的 D、数据流和文件均不要命名,通过加工可自然反映出

软件测试工程师笔试题及答案

测试工程师笔试题 一、计算机知识(30分) 1、在Linux系统中,一个文件的访问权限是755,其含义是什么? 参考答案: 755表示该文件所有者对该文件具有读、写、执行权限,该文件所有者所在组用户及其他用户对该文件具有读和执行权限。 2、Linux中,如何从root用户切换到普通用户? 参考答案:su su user1 切换到user1,但切换后的当前目录还是root访问的目录 su – user1 切换到user1,并且当前目录切换到user1的根目录下(/home/user1/) 3、简述一下C/S模式和B/S模式的区别? 参考答案: c/s 是客户端/服务器架构 b/s 是浏览器/服务器架构 C/S模式有以下特点: 1.C/S模式将应用与服务分离,系统具有稳定性和灵活性 2.C/S模式配备的是点对点的结构模式,适用于局域网,有可靠的安全性 3.由于客户端实现与服务器端的直接连接,没有中间环节,因此响应速度快 4.在C/S模式中,作为客户机的计算机都要安装客户机程序,一旦软件系统升级,每台客户机都要安装客户机程序,系统升级和维护较为复杂 B/S模式有以下特点: 1.系统开发、维护、升级方便 每当服务器应用程序升级时,只要在服务器上升级服务应用程序即可,用户计算机上的浏览器软件不需要修改,系统开发和升级维护方便 2.B/S模式具有很强的开放性 在B/S模式下,用户通过通用的浏览器进行访问,系统开放性好 3.B/S模式的结构易于扩展 由于Web的平台无关性,B/S模式的结构可以任意扩展,可以从包含一台服务器和几个用户的小型系统扩展成为拥有成千上万个用户的大型系统 4.用户使用方便 B/S模式的应用软件都是基于Web浏览器的,而Web浏览器的界面是类似的。对于无用户交换功能的页面。用户接触的界面都是一致的,用户使用方便 4、Windows操作系统中PATH环境变量的作用是什么? 参考答案: PATH是Windows操作系统环境变量,PATH作用是用户在命令行窗口执行一个命令,则在PATH变量设置的目录下依次寻找该命令或对应的执行文件,若找到,则执行,若没有找到,则命令行窗口返回无效命令。 5、TCP和UDP有什么区别? 参考答案: TCP-有连接,所以握手过程会消耗资源,过程为可靠连接,不会丢失数据,适合大数据量交换

软件工程应用题

《软件工程》应用题 四、应用题(每小题10分) 1.某培训中心要研制一个计算机管理系统。它的业务是: 将学员发来的信件收集分类后,按几种不同的情况处理。 (1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。 (2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。 (3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。 要求: (1)对以上问题画出数据流程图。 (2)画出该培训管理的软件结构图。 解答: (1)数据流图

(2)软件体系结构 2.建立窗口系统的对象模型,问题陈述如下:“窗口分为对话窗、图形窗、滚动窗三种。对话窗中有若干对话项,由唯一的项名字来确定;对话项分为按钮、选择项和正文项三种,选择项中有若干选择项入口。图形窗中有若干形状元素,形状元素分为一维形状和二维形状。一维形状又分为直线、圆弧、折线;二维形状分为圆、椭圆、矩形、多边形,其中折线与多边形由若干有序顶点组成。正文窗是滚动窗的一种,而图形滚动窗既是图形窗又是滚动窗。” 解答:

3.假设某航空公司规定,乘客可以免费托运行李的重量不超过30公斤。当行李的重量超出30公斤时,对一般舱的国内乘客超重部分每公斤收费4元,对头等舱的国内乘客超重部分每公斤收费6元。对国外乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半。试画出相应判定表。 注意:免费那个行去掉右面的√ 4.下图描述了某个子程序的处理流程,根据判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖等五种覆盖标准,从供选择的答案中分别找出满足相应标准的最小的测试数据组。 (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

(2020年更新)国家开放大学电大本科《软件工程》期末题库和答案

最新国家开放大学电大本科《软件工程》期末题库及答案 考试说明:本人针对该科精心汇总了历年题库及答案,形成一个完整的题库,并且每年都在更新。该题库对考生的复习、作业和考试起着非常重要的作用,会给您节省大量的时间。做考题时,利用本文档中的查找工具,把考题中的关键字输到查找工具的查找内容框内,就可迅速查找到该题答案。本文库还有其他网核及教学考一体化答案,敬请查看。 《软件工程》题库及答案一 一、选择题。请从四个可选项中选择正确答案。(60分,每题3分) 1.软件工程四个层次由下至上是( ),它们的顺序不能互换。 A.质量层、过程层、方法层、工具层 B.过程层、方法层、质量层、工具层 C.方法层、过程层、质量层、工具层 D.方法层、质量层、过程层、工具层 2.根据软件工程的7条基本原理判断下面正确的选项是( )。 A.软件错误发现的时机不重要,重要的是错误的严重程度 B.软件错误只能通过运行代码才能发现 C.软件错误发现的越早改正的成本越低D.需求阶段一般不会引入错误 8.下列有关标准的符号,属于国内标准的是( )。 A.ZG B.GBC.GN D.CB 4.经济可行性研究的主要内容包括( )。 A.开发过程 B.开发工具C.风险分析 D.效益分析 5.( )定义了用户使用该软件要完成的任务。 A.用户需求 B.业务需求C.性能需求 D.功能需求 6.数据流程图上的数据流必须封闭在( )之间。 A.外部过程 B.内部数据 C.内部过程 D.外部实体 7.按照模块独立性,耦合程度由强至弱正确的顺序是( )。 A.外部耦合、控制耦合、数据耦合 B.控制耦合、数据耦合、外部耦合 C.外部耦合、数据耦合、控制耦合 D.数据耦合、外部耦合、控制耦合 8.PDL是描述处理过程( )。 A.做什么 B.为什么做C.怎么做 D.对谁做 9.面向对象的这种( )模式与人们对客观世界的认识规律相符,从而使得面向对象技术在软件工

软件工程(习题与参考答案)

第1章概述(习题与参考答案) [判断题] 1. 由于今天个人计算机不断发展壮大,人们不再采用软件团队的开发方式。(×) 2. 由于软件是产品,因此可以应用其他工程制品所用的技术进行生产。(×) 3. 购买大多数计算机系统所需的硬件比软件更昂贵。(×) 4. 大多数软件产品在其生命周期中不需要增强功能。(×) 5. 大多数软件系统是不容易变化的,除非它们在设计时考虑了变化。(√) 6. 一般来说,软件只有在其行为与设计者的目标一致的情况下才能成功。(×) [选择题] 1. ()因素促使计算机系统越来越复杂。(D) A. 计算机内存和存储容量上的巨大增长 B. 外部输入/输出选项的更加多样性 C. 计算机体系结构方面的深刻变化 D. 以上所有选项 2. 下面的()不再是现代软件工程师关注的问题。(A) A. 为什么计算机硬件的成本这么高? B. 为什么软件需要很长时间才能完成? C. 为什么开发一个软件的成本这么高? D. 为什么不能在产品发布前去除软件错误? 3. 软件会逐渐退化而不会磨损,其原因在于()。(C) A. 软件通常暴露在恶劣的环境下 B. 软件错误通常发生在使用之后 C. 不断的变更使组件接口之间引起错误 D. 软件备件很难订购 4. 大多数软件仍然是定制开发的,其原因在于()。(C) A. 软件组件重用是十分普遍的 B. 可重用的组件太昂贵而无法使用 C. 软件在不使用其他组件的情况下很容易构造出来 D. 商业组件在很多应用领域中可以得到 5. 下面的()说法是正确的。(C) A. 软件危机在20世纪70年代末期全面爆发

B. 当前先进的软件工程方法已经解决了软件危机的问题 C. 软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题 D. 软件危机是指在软件产品中存在一系列的质量问题 6. 软件工程的基本目标是()。(B) A. 消除软件固有的复杂性 B. 开发高质量的软件 C. 努力发挥开发人员的创造性潜能 D. 更好地维护正在使用的软件产品 7. ()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方 法、工具和过程三个要素。(D) A. 软件产品 B. 软件过程 C. 软件测试 D. 软件工程 8. 软件工程的基本要素包括方法、工具和()。(C) A. 软件系统 B. 硬件环境 C. 过程 D. 人员 9. 软件工程师在从事软件工作时应使用下面的()准则。(E) A. 从来不为个人获利而窃取数据 B. 从来不散布或出售项目中自己工作的信息 C. 从来不故意毁坏或修改别人的程序、文件或数据 D. 从来不侵犯个人、小组或组织的隐私 E. 以上所有选项 第2章软件过程(习题与参考答案) [选择题] 1. ()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、 软件确认、软件改进等活动组成。(A) A. 软件过程 B. 软件工具 C. 软件产品 D. 软件工程 2. 软件过程的基本活动是()。(A) A. 分析、设计、实现、测试、演化 B. 沟通、计划、建模、构造、部署 C. 计划、分析、设计、实现、调试 D. 沟通、风险管理、度量、产品化、评审 3. ()软件需求规格说明书在软件开发过程中具有重要的作用,它是软件可行性分析的依据。(B) A. 真 B. 假

-软件工程习题答案参考

软件工程 绪论 1.什么是软件危机?为什么会产生软件危机? 答:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。(1).软件维护费用急剧上升,直接威胁计算机应用的夸大。 (2).软件生产技术进步缓慢 2.什么是软件生产工程化?工程化生产方法与早期的程序设计方法 主要差别在哪里? 答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方式改变为工程化。采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产方法。 3.分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管 理的相互关系。 答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。当一种方法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。新方法在推行初期,总有人不愿接受和采用。若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。(2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。软件在生产中不能按质按时完成计划,管理混乱往往是其中的重要原因。所以对于一

个理想的软件工程环境,应该同时具备技术和管理两个方面。 4.试从你的亲身实践,谈谈软件工具在软件开发中的作用。 答:用C++开发一个软件,是校园一卡通的模块。首先,要在编辑程序支持下在计算机中输入源程序。然后编译程序,把源程序翻译成目标程序。如果发现错误,就重新调入编辑程序对源程序进行修改。编译通过后,再调用连接程序吧所有通过了编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运行的可执行软件。编译程序,编辑程序,连接程序以及支持他们的计算机操作系统,都属于软件工具。离开这些工具,软件开发就是去了支持,变得十分困难和低效,甚至不能运行。 5.什么是软件工程环境?谈谈你对环境重要性的认识。答:方法与工具相结合,再加上配套的软、硬件支持就形成环境。例如在批处理时代,用户开发的程序是分批送入计算机中心的计算机的,有了错误,就得下机修改。程序员对自己写的程序只能继续地跟踪,思路经常被迫中断,效率难于提高。分时系统的使用,使开发人员从此能在自己的终端上跟踪程序的开发,仅此一点,就明显提高了开发的效率。 6. 何谓面向对象软件工程?简述它与传统软件工程在各型软件开发中的作用。 答:以面向对象程序设计为基础。 7. 软件按规模大小可分成哪几类?简述软件工程中各型软件开发中的作用。 答:按规模分为极小、小、中、大、甚大、极大。(1)中小型软件:

软件测试工程师笔试题目和答案

一、判断题 1.软件测试的目的是尽可能多的找出软件的缺陷。(Y) 2.Beta测试是验收测试的一种。(Y) 3.验收测试是由最终用户来实施的。(N) 4.项目立项前测试人员不需要提交任何工件。(Y) 5.单元测试能发现约80%的软件缺陷。(Y) 6.代码评审是检查源代码是否达到模块设计的要求。(N) 7.自底向上集成需要测试员编写驱动程序。(Y) 8.负载测试是验证要检验的系统的能力最高能达到什么程度。(N) 9.测试人员要坚持原则,缺陷未修复完坚决不予通过。(N) 10.代码评审员一般由测试员担任。(N) 11.我们可以人为的使得软件不存在配置问题。(N) 12.集成测试计划在需求分析阶段末提交。(N) 二、选择题 1.软件验收测试的合格通过准则是:(ABCD) A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。B.所有测试项没有残余一级、二级和三级错误。 C.立项审批表、需求分析文档、设计文档和编码实现一致。 D.验收测试工件齐全。 2.软件测试计划评审会需要哪些人员参加?(ABCD) A.项目经理 B.SQA负责人

D.测试组 3.下列关于alpha测试的描述中正确的是:(AD) A.alpha测试需要用户代表参加 B.alpha测试不需要用户代表参加 C.alpha测试是系统测试的一种 D.alpha测试是验收测试的一种 4.测试设计员的职责有:(BC) A.制定测试计划 B.设计测试用例 C.设计测试过程、脚本 D.评估测试活动 5.软件实施活动的进入准则是:(ABC) A.需求工件已经被基线化 B.详细设计工件已经被基线化 C.构架工件已经被基线化 D.项目阶段成果已经被基线化 三、填空题 1.软件验收测试包括:正式验收测试,alpha测试,beta测试。 2.系统测试的策略有:功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试,(有的可以合在一起,分开写只要写出15就满分哦) 3.设计系统测试计划需要参考的项目文挡有:软件测试计划,软件需求工件和迭代计划。

软件工程测试试卷应用题

软件工程考试试卷 ——应用题题库 四、应用题(每小题10分) 1.某培训中心要研制一个计算机管理系统。它的业务是: 将学员发来的信件收集分类后,按几种不同的情况处理。 (1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出发票给学生。 (2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。 (3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。 要求: (1)对以上问题画出数据流程图。 (2)画出该培训管理的软件结构图。 解答: (1)数据流图 (2)软件体系结构

2.建立窗口系统的对象模型,问题陈述如下:“窗口分为对话窗、图形窗、滚动窗三种。对话窗中有若干对话项,由唯一的项名字来确定;对话项分为按钮、选择项和正文项三种,选择项中有若干选择项入口。图形窗中有若干形状元素,形状元素分为一维形状和二维形状。一维形状又分为直线、圆弧、折线;二维形状分为圆、椭圆、矩形、多边形,其中折线与多边形由若干有序顶点组成。正文窗是滚动窗的一种,而图形滚动窗既是图形窗又是滚动窗。” 解答: 3.假设某航空公司规定,乘客可以免费托运行李的重量不超过30公斤。当行李的重量超出30公斤时,对一般舱的国内乘客超重部分每公斤收费4元,对头等舱的国内乘客超重部分每公斤收费6元。对国外乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤 收费比正常乘客少一半。试画出相应判定表。

注意:免费那个行去掉右面的√ 4.下图描述了某个子程序的处理流程,根据判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖等五种覆盖标准,从供选择的答案中分别找出满足相应标准的最小的测试数据组。 (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 流程图如下:

软件工程应用题汇总

(15分)某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习,高中文化程度当电工;年龄在20岁至40岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员;年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。请用结构化语言、判定表或判定树描述上述问题。 1.(1)结构化语言 IF 年龄<20 THEN IF 文化程度=初中 THEN 脱产学习 ELSE 工作为电工 ENDIF ELSE IF 年龄≤40 THEN IF (文化程度=大学) THEN 工作为技术员 ELSE IF 性别=男性 THEN 工作为钳工 ELSE 工作为钳工 ENDIF ENDIF ELSE IF (文化程度=大学)

THEN 工作为技术员 ELSE 工作为材料员 ENDIF ENDIF ENDIF 判定树如下: 年龄≤20岁初中脱产学习 高中电工 高中或初中男性钳工 确定职工工作__ 20岁<年龄≤40岁女性车工 大学技术员 年龄>40岁高中或初中材料员 大学技术员

语句覆盖A=3 B=0

东 北 大 学 秦 皇 岛 分 校 课程名称: 软件工程 试卷: (B) 考试形式:闭卷 授课专业:信息与计算科学、数学与应用数学考试日期:2013年**月**日 试卷:共 5 页 一、 某食物订货 系统大致工作过程如下: 首先,食物订货系统需要接收顾客的食物订单,并在接收后向顾客呈送一个收条,然后将订单转交系统内部的功能处理.其次,食物订货系统要能够将已经接收的食物订单及时转交给厨房.最后,食物订货系统要能够基于一段时间的食物积累,为管理者提供管理报表,反映组织的生产状况.请用数据流图描述该系统.(10分) 解:该系统的数据流图如下图所示: 装 订 线

软件工程部分课后练习题答案

第一章 1.计算机系统是由计算机硬件系统和软件系统这两个密不可分的部分组成的。 2.计算机软件系统通过运行程序来实现各种不同应用,包括用户为自己的特定目的编写的程序、检查和诊断机器系统的程序、支持用户应用程序运行的系统程序、管理和控制机器系统资源的程序等。 3.在软件工程学中,软件开发技术包括软件开发方法学、软件工具和软件工程环境。 4.在软件工程层次结构中,包括工具层、方法层、过程、技术层和质量保证层。 5.在面向对象概念中,消息传递是其与外部世界相互关联的唯一途径。 第三章 1.软件需求分析,可以把软件功能和性能的总体概念描述为具体的软件需求规格说明,进而建立软件开发的基础。 2.软件需求工作基本上包括收集用户、市场等方面对项目的需要,经过分析建立解题模型,细化模型,抽取需求。 3.结构化分析方法的基本步骤是采用由顶向下对系统进行功能分解,画出分层数据流图;由后向前定义系统的数据和加工,绘制数据词典和加工说明;最终写出软件需求和规格说明书。 4.面向对象分析方法总是从理解系统的“使用实例”开始,基本步骤是:定义系统的用例,在领域分析的基础上建立问题域的类(对象模型),然后开始建立对象——关系和对象——行为模型。 5.需求分析评审过程由以下5个步骤组成:规划、准备、召开审查大会、修改缺陷、重审。第四章 1.与软件需求分析一样,软件设计也有两种主要设计方法:以结构化设计为基础的结构化软件设计和面向对象方法指导的面向对象软件设计。 2.传统的软件设计任务通常分两个阶段完成。第一个阶段是概要设计,包括体系结构设计

和接口设计,并编写概要设计文档;第二阶段是详细设计,其任务是确定各个软件的数据结构和操作,产生描述各软件组件的详细设计文档。 3.结构化的软件设计方法是一种面向数据流的设计方法,在面向数据流的方法中,数据流是考虑一切问题的出发点。 4.在数据流图中所代表的结构化设计模型中,所有系统均可纳入两种典型的形式,因此系统结构图也有两种类型:变换型系统结构图,事务型系统结构图。 5.Jackson表示法包括图形描述(Jackson图)和文本描述(Jackson伪代码)两种形式。 第五章 1.与结构化设计一样,面向对象设计也是将分析阶段所建立的分析模型转变为软件设计模型,应用数据设计(对象属性设计)、接口设计(消息模型开发)以及过程设计(子系统级设计)。 2.当两个子系统相互通信时,可以建立客户机/服务器连接或端对端连接。 3.系统设计不仅包括主要的业务需求子系统设计,还包括用户界面子系统设计、任务管理子系统设计、数据管理子系统设计。 4.对象设计强调从问题域的概念转换成计算机领域的概念,通过对象的描述、算法和数据结构设计、程序构件和接口,实现相关的类、关联、属性和操作。 5.在面向对象设计中系统设计的主要目标是表示软件体系结构。对象设计着重于对象及其交互的描述 第八章 1.软件程序测试的目的是发现程序中的错误,其主要任务是通过在计算机上执行程序,暴露程序中潜在的错误。

2020年软件测试工程师资料与面试题

开发思想,逻辑能力 目录 测试用例 (2) 测试用例的设计 (3) (一)白盒技术 (3) (二)黑盒技术 (4) 面试题 (9)

测试用例 测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。测试用例构成了设计和制定测试过程的基础。 编制测试用例的具体做法: 1、测试用例文档 2、测试用例的设置 3、设计测试用例 测试用例在软件测试中的作用: 1、指导测试的实施。测试用例主要适用于集成测试、系统测试和回归测试。 2、规划测试数据的准备 3、编写测试脚本的"设计规格说明书" 4、评估测试结果的度量基准。完成测试实施后需要对测试结果进行评估,并且编制测试报告。判断软件测试是否完成、衡量测试质量需要一些量化的结果。例:测试覆盖率是多少、测试合格率是多少、重要测试合格率是多少,等等。 5、分析缺陷的标准 测试用例的设计 (一)白盒技术

(二)黑盒技术 黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。 1.等价类划分 (1)划分等价类。 ①如果某个输入条件规定了取值范围或值的个数。则可确定一个合理的等价类(输入值或数在此范围内)和两个不合理等价类(输入值或个数小于这个范围的最小值或大于这个范围的最大值)。 ②如果规定了输入数据的一组值,而且程序对不同的输入值做不同的处理,则每个允许输入值是一个合理等价类,此处还有一个不合理等价类(任何一个不允许的输入值)。

电大软件工程本科形成性考核册及答案

软件工程(本)作业1 一、选择题: 1. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。 A. 软件工程 B.软件周期 C.软件危机 D.软件产生 2. 瀑布模型本质上是一种(A )模型。 A. 线性顺序 B. 顺序迭代 C. 线性迭代 D. 早期产品 3. 瀑布模型存在的问题是(B )。 A. 用户容易参与开发 B ?缺乏灵活性C.用户与开发者易沟通 D ?适用可变需求 4. 螺旋模型是一种将瀑布模型和(A)结合起来的软件开发模型。 A.增量模型 B.专家系统 C.喷泉模型 D.变换模型 5. 原型化方法是用户和设计者之间执行的一种交互构成,适用于(A)系统。 A.需求不确定性高的 B ?需求确定的 C.管理信息D ?实时 6. 下列有关软件工程的标准,属于国际标准的是(D ) A. GB B.DIN C.ISO D.I EEE 7. 结构化方法是一种基于(D)的方法。 A.数据结构 B.程序结构 C.算法 D.数据流 8. 软件可行性研究实质上是要进行一次(A)需求分析、设计过程。 A、简化、压缩的 B、详细的C彻底的D深入的 9. 可行性研究的目的是(D) A、分析开发系统的必要性 B、确定系统建设的方案 C分析系统风险D确定是否值得开发系统 10. 设年利率为i,现存入p元,不计复利,n年后可得钱数为(C)。 A P x (1+i*n)B、P x (i+1)*n C p x (1+i)n D p x (i+n) 11. 可行性研究是在(A)之前 A、系统开发 B、测试 C、试运行D集成测试

12. 可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的 (C)。 A、1% B、20% C、8% D、50% 13. 我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。 A. 《计算机软件保护条例》 B. 《中华人民共和国计算机信息系统安全保护条例》 C. 《中华人民共和国著作权法》 D. 《计算机病毒防治管理办法》 14. 效率是一个性能要求,因此应当在(B)阶段规定? A、可行性分析 B、需求分析 C、概要设计D详细设计 15. 需求规格说明书的作用不包括(D) A、软件验收的依据 B、用户与开发人员对软件要做什么的共同理解 C软件可行性研究的依据D、软件设计的依据 16. 数据字典是用来定义(D)中的各个成份的具体含义的。 A、程序流程图 B、功能结构图C系统结构图D数据流程图 17. 数据流程图是(A)方法中用于表示系统逻辑模型的一种图形工具。 A、SA B、SD C、SP D、SC 18. DFD中的每个加工至少有(A)。 A、一个输入流或一个输出流 B —个输入流和一个输出流 C 一个输入流 D —个输出流 19. 需求分析阶段的关键任务是确定(D) A、软件开发方法 B、软件开发工具C软件开发费D软件系统的功能 20. 在SD方法中全面指导模块划分的最重要的原则是(D)。 A、程序模块化 B、模块高内聚 C、模块低耦合D模块独立性 21. 在模块的3种基本属性中,反映模块内部特性的是(C)。 A、接口 B、功能 C、逻辑 D、状态 22. 模块的耦合性可以按照耦合程度的高低进行排序,以下(D)符合从低到高的正确次序。 A、数据结构耦合,公共耦合,控制耦合,内容耦合 B数据耦合,控制耦合,数据结构耦合,公共耦合 C无直接耦合,数据结构耦合,内容耦合,控制耦合 D无直接耦合,数据耦合,控制耦合,内容耦合 23. PDL是描述处理过程(C ) A、做什么 B、为什么做 C、怎么做D对谁做

软件工程习题参考答案

《软件工程》习题参考答案 概述 1.什么是软件危机,它有哪些典型表现 所谓“软件危机”就是,在计算机软件的开发和维护过程中所遇到的一系列严重的问题,概括起来归纳为:如何开发软件,以满足日益增长、日趋复杂的需要;如何维护数量不断膨胀的已有软件。 软件危机的典型表现主要有: a. 开发成本和进度不能准确估计 b. 开发出来的软件不能满足用户的要求 c. 软件的可维护性差 d. 软件质量不可靠 e. 软件成本在系统中的比重逐年上升 f. 软件开发生产率的提高速度不够 2.简述产生软件危机的原因和解决的思路。 软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。 解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。 3.什么是软件工程它有哪些本质特性 软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法进行软件开发和维护的学科。 其实质就是用工程的概念、原理、技术和方法,结合有效的管理方法和先进的开发技术,开发与维护软件,以解决软件危机。 4.软件工程是如何用来消除软件危机的 软件工程是从技术和管理两个方面来研究如何更好地开发和维护计算机软件,从源头上消除软件危机。 6.简述软件的定义。 软件=程序+ 数据+ 文档 7.软件工程的目的是什么 为高质量的软件开发提供一个科学的体系框架。 8.什么是软件工程方法学软件工程是一种什么样的技术包括哪三大要素分为哪三个分支 软件工程方法学就是指在软件生命周期全过程中使用的一整套管理和开发技术方法的集合。目前,使用最广泛的软件工程方法学分别是传统方法学和面向对象方法学。

软件测试工程师笔试题

一、判断题 1.软件测试就是为了验证软件功能实现的是否正确,是否完成既定目标的活动,所以软件测试在软件工程的后期才开始具体的工作。(?) 分析:软件测试人员应在需求阶段就加入到开发过程中。因为软件的质量问题会随着软件开发周期的不断展开而不断放大的,而更正质量问题的成本也是不断放大的,也就是说在需求阶段出现的小问题,到开发完成后缺陷可能成几何倍数放大,而修改所需要的成本也会不断的放大,如果测试工程师能够尽早的加入其中的话可以尽早的找出问题,及时发现,避免问题最后放大到不可收拾。 2.发现错误多的模块,残留在模块中的错误也多。(?) 分析:开发人员能力参差不齐,当发现某模块bug数越多,修改的bug越多,则引入新的bug就会越多,那么这些新的bug发现的难度要比修改前发现bug要大的多,其隐藏未发现的bug数量就越多,那么相应的模块质量也就越差。代码复用也可能造成该模块的bug比较多。 3.测试人员在测试过程中发现一处问题,如果影响不大,而自己又可以修改,应立即将此问题正确修改,以加快、提高开发的进程。(?) 分析:正确流程应提交错误缺陷,此时开发组人员会有记录,并修改此问题。如果测试人员自己修改,会导致开发人员无记录,容易出现冗余系统版本,并不清楚哪个为最终版本。 4.单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。(?) 5.功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规格说明相同。(?) 6.软件质量管理即QM是由QA和QC构成,软件测试属于QC的核心工作内容。(?) 补充:
QA(QualityAssurance)品质保证;
QC(QualityConterller)品质控制员 7.软件测试只能发现错误,但不能保证测试后的软件没有错误。(?) 8.软件就是程序。(?) 概念:软件是计算机程序,程序所用的数据以及相关文档资料的结合。软件又分为系统软件和应用软件两大类。 9.测试只要做到语句覆盖和分支覆盖,就可以发现程序中的所有错误。(?) 分析:白盒测试用例设计6种覆盖方法: a.语句覆盖 b.判定覆盖 c.条件覆盖 d.判定/条件覆盖 e.组合覆盖 f.路径覆盖 软件测试的目的是发现软件中的错误,但不能保证软件没有错误。 10.I18N测试是指对产品做出具有国际性的规划,而L10N测试则是指软件做出符合本地的工作。(?)

软件工程期末——应用题部分

软件工程应用题 一、程序流程图、N-S、PAD图、伪码(PDL语言)之间的转换 1.现有程序流程图表示:输入10个数据,输出其中的最小数和最大数。试根据程序流程图画出N-S 图。 参考答案:

2.请使用PAD图和PDL语言描述在数组A(1)~A(10)中找最大数的算法。 参考答案: (1)PDL语言: N=1 WHILE N<=10 DO IF A(N)<=A(N+1) MAX =A(N+1); ELSE MAX =A(N) ENDIF; N=N+1; ENDWHILE; 解题思路:人工查找时,是从第一个元素开始查找,用当前元素与下一个元素比较,将较大者作为当前元素又与下一元素比较,如此循环,直到数组末尾。 (2)PAD图: 6.根据下面的伪代码程序,完成相应要求。 START IF C1 THEN WHILE C2 DO f ENDDO ELSE BLOCK g p ENDBLOCK ENDIF REPEAT UNTIL C3 q r ENDREP STOP 问题: (1)画出程序流程图 (2)画出N-S图

7.将下面给出的伪码转换为N-S图和PAD图。void root(float root1,float root2){ i=1;j=0; while(i<=10){ 输入一元二次方程的系数a,b,c; p=b*b–4*a*c; if(p<0)输出“方程i无实数根”; else if(p>0)求出根并输出; if(p==0){ 求出重根并输出; j=j+1; } i=i+1; } 输出重根的方程的个数j; }

解: while a do If x>0then x1; Else x2; If y>0then y1; If z>0then z1; Else z2; Else y2; Y3; End;

国家开放大学电大《软件工程(本科)》2020-2021期末试题及答案

国家开放大学电大《软件工程(本科)》2020-2021期末试题及答案 一、选择题(请从四个可选项中选择正确答案。共60分,每小题3分) 1.软件工程的出现是由于( )。 A.计算机硬件技术的发展 B.软件危机 C.软件社会化的需要 D.计算机软件技术的发展 2.瀑布模型存在的问题是( )。 A.缺乏灵活性 B.用户容易参与开发 C.用户与开发者易沟通 D.设计的太完美 3.软件工程的研究内容具有层次化结构,最底层是质量保证层,中间层是( ),最上层是工具层。 A.过程层 B.方法层 C.过程层和方法层 D.系统层 4.下列说法正确的是( )。 A.软件工程课程实际是教授学生精通一门编程语言 B.软件开发虽然不能一帆风顺,但是其过程简单,只要程序员优秀就可以,也不需要任何测试,因此其开发过程不需要任何管理 C.美国著名软件工程专家B.W. Boehm于1983年提出了软件工程的7条基本原理 D.结构化分析方法和面向对象设计方法都是程序员在编写代码时采用的方法,只要程序员知道就可以了,不属于软件工程的内容 5.结构化分析方法(SA法)使用的主要描述工具有( )。 A.数据库 B.模块结构图 C.PAD图 D.分层的DFD图 6.源程序的效率与( )阶段确定的算法的效率直接有关。 A.概要设计 B.总体设计 C.单元设计 D.详细设计 7.可行性研究的主要任务是( )。 A.确定系统做什么 B.确定性能 C.确定功能 D.进行一次简要的需求分析 8.内容耦合是模块间最紧密的耦合,( )是模块间最松散的耦合。 A.数据耦合 B.非直接耦合 C.控制耦合 D.外部耦合 9.UML是一种( )语言。

电大软件工程形考1答案

题目1 ()是职业软件工程师的必要条件。 选择一项: B. 自律、善于沟通、具有一定的软件技能 题目2 根据软件工程的7条基本原理判断下面正确的选项是()。 选择一项: B. 软件错误只能通过运行代码才能发现 题目3 美国著名软件工程专家B.W.Boehm于1983年提出了软件工程的()条基本原理。 选择一项: B. 7 题目4 软件、程序和代码是()。 选择一项: B. 相同的软件概念 题目5 软件对硬件和环境有着不同程度的依赖性,这导致了软件()问题。 选择一项: A. 升级和移植 题目6 软件工程的出现是由于()。 选择一项: A. 软件危机 题目7 软件工程四个层次由下至上是(),它们的顺序不能互换。 选择一项: B. 质量层、过程层、方法层、工具层 题目8 软件可行性研究一般不考虑() A. 待开发的软件是否会有质量问题 题目9 软件与程序的区别是()。 选择一项: B. 软件包括程序、相关数据及其文档,程序是软件的一部分 题目10 在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了()。 选择一项: C. 软件危机 题目11 软件工程学科出现的主要原因是()。 选择一项: D. 软件危机的出现 题目12

概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是()。 选择一项: C. 设计每个模块的伪代码 题目13 经济可行性研究的主要内容包括()。 选择一项: C. 开发过程 题目14 可行性分析研究的费用大约是项目总经费的()。 选择一项: C. 8% 题目15 可行性分析研究的目的是()。 选择一项: B. 规划项目 题目16 可行性研究的四大要素是()。 选择一项: A. 经济、技术、法律和社会环境 题目17 可行性研究的主要目的是()。 选择一项: A. 确定系统是否值得开发 题目18 软件设计的目标是()。 选择一项: C. 在最短的时间内,生产出可靠性、可维护性俱佳的软件方案 题目19 软件调研报告是在()提交的。 选择一项: B. 需求分析之前 题目20 一个软件项目大约()的工作量在开发阶段,()的工作量在维护阶段。 选择一项: D. 30%,70% 题目21 ()定义了软件开发人员必须实现的软件功能。 选择一项: A.功能需求 题目22 PDL是描述处理过程()。 选择一项: C. 怎么做 题目23

软件测试工程师面试题汇总(华为篇)

软件测试工程师面试题汇总(华为篇) 1、怎么来设计测试方案 根据测试需求(包括功能需求和非功能性需求),识别测试要点,识别测试环境要求,安排测试轮次,根据项目计划和开发计划做整体的测试安排。 被测试的特性:通过对需求规格说明书进行分析,列出本次测试需要进行测试的各部分特性(如要测试的功能需求、性能需求、安全性需求等等)。 不被测试的特性:由于资源、进度等方面原因,本次测试不列入测试范围的特性。 测试组网图:进行本次系统测试所需要的软硬件设备、配置数据及相互间的逻辑、物理连接。今后测试执行时需要依据这个组网图来进行环境的搭建。 2、如果给你一个B/S系统你怎么来进行测试 此题答案还可用于回答测试流程,测试流程题亦可参考15题。 阅读系统需求,充分理解需求,记录问题,并与项目需求人员充分沟通。 编写测试需求,包括系统功能和非功能测试要点、罗列测试类型、测试进度、质量要求等。 制定测试计划,包括熟悉测试业务、设计测试用例、执行测试用例、进行测试小结、编写测试报告,任务颗粒度一般应小于5人天 编写测试用例,根据测试方案设计用例,即便没有明确的性能和安全测试要求,也应识别进行此两项测试。 执行软件测试。 进行测试小结,如果测试持续时间较长,每个版本间隙总结本轮测试。 编写测试报告,总结测试过程,汇总度量数据。 3、怎么进行工作流的测试 把握需求,找准结点,理清流程,画出流转图,弄清节点间的数据流转,设计测试用例的时候必须覆盖所有可能的流程。 工作流: 如果问到有没有做过,根据对工作流的了解情况回答,如果比较了解,可以把参与的某个项目中说上一些有工作流的,如果不是很了解就说没有做过,但是学习过相关知识。 4、做性能测试的时候都需要关注哪些参数 并发访问量,服务器响应时间(最小、平均、最大) 并发性能测试的过程是一个负载测试和压力测试的过程,即逐渐增加负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标和资源监控指标来确定系统并发性能的过程。 负载测试(Load Testing)是确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等来决定系统的性能。 负载测试是一个分析软件应用程序和支撑架构、模拟真实环境的使用,从而来确定能够接收的性能过程。压力测试(Stress Testing)是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。 疲劳测试是采用系统稳定运行情况下能够支持的最大并发用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。疲劳强度测试可以采用工具自动化的方式进行测试,也可以手工编写程序测试,其中后者占的比例较大。 一般情况下以服务器能够正常稳定响应请求的最大并发用户数进行一定时间的疲劳测试,获取交易执行指标数据和系统资源监控数据。如出现错误导致测试不能成功执行,则及时调整测试指标,例如降低用户数、缩短测试周期等。还有一种情况的疲劳测试是对当前系统性能的评估,用系统正常业务情况下并发用户数为基础,进行一定时间的疲劳测试。 大数据量测试可以分为两种类型:针对某些系统存储、传输、统计、查询等业务进行大数据量的独立数据量测试;与压力性能测试、负载性能测试、疲劳性能测试相结合的综合数据量测试方案。大数据量测试的关键是测试数据的准备,可以依靠工具准备测试数据。 5、客户没给性能指数,怎么开展性能测试 如果客户没有提出明确的性能指标,可以按照惯例和经验设置,需要和项目经理协商,一般由项目经理确认,质量保证负责给出建议。 举例说一个Server端程序,要求峰值时CPU和MEM消耗在75%以下,而一个页面的访问响应时间一般认为

相关文档
最新文档