文档库 最新最全的文档下载
当前位置:文档库 › 软件工程复习题及参考答案

软件工程复习题及参考答案

软件工程课程复习资料

一、单项选择题:

1.下面哪些UML图描述系统行为

A.用例图

B.类图

C.对象图

2.属于概要设计活动的是

A.软件结构设计

B.数据结构设计

C.算法设计

3.属行为型设计模式的是

A.组合模式

B.工厂方法模式

C.观察者模式

4.下列说法正确的是

是软件开发方法是系统描述语言

是软件开发过程

5.根据程序流程图划分的模块通常是

A.信息内聚的模块

B.过程内聚的模块

C.逻辑内聚的模块

6.如果某程序中的比较个数是m,则其 McCabe环形复杂度为

+1

7.按ISO9000-3的说明,下列属软件配置项的是

A.软件开发方法

B.软件开发组织管理制度

C.软件开发合同

8.软件测试的目的是

A.证明软件无错

B.发现软件中的所有错误

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

9.软件重构关注的是

A.软件体系结构

B.模块细节

C.软件性能

10.软件项目开发计划的内容有

A.数据分析

B.风险分析

C.功能分析

11.在UML的类图中,描述整体与部分关系的是

A.泛化关系

B.聚合关系

C.依赖关系

12.软件过程能力成熟度模型CMM用以评价

A.软件过程能力

B.组织能力

C.学习能力

13.因计算机硬件和软件环境的变化而作出的修改软件的过程称为

A.完善性维护

B.改正性维护

C.适应性维护

14.对项目软件而言,软件功能需求信息主要由谁提供

A.软件用户

B.软件开发人员

C.软件项目管理人员

图反映不出

A.系统做什么

B.系统功能由谁做

C.系统如何做

16.原型模型是一种什么开发过程模型

A.自顶向上

B.由外至内

C.增量式

17.系统流程图描述

A.物理系统

B.逻辑系统

C.软件体系结构

18.需求规格说明书的内容不应该包括

A.软件确认准则

B.软件的性能描述

C.算法过程的详细描述

19.适合需求模糊或需求不确定系统开发的软件开发模型是

A.瀑布模型模型 C.原型模型

图中描述系统结构的是

A.组件图

B.顺序图

C.状态图

21.面向对象方法是一种什么软件开发方法

A.层次化

B.迭代增量式

C.逐步求精

22.不可以用来衡量软件可维护性的是

A.可靠性

B.可用性

C.可行性

23.系统分析员在需求分析最后负责编写

A.用户手册

B.概要设计说明书

C.可行性研究报告

24.为了提高软件的可靠性、可维护性等而对软件的修改称为

A.改正性维护

B.适应性维护

C.预防性维护

25.在结构化方法中,为使需求改变对软件影响较小,应该使软件结构

A.与问题结构对应

B.与问题结构独立

C.与用户界面对应

26.单元测试的计划应该在什么阶段完成

A.需求分析

B.概要设计

C.详细设计

27.下列属面向对象软件开发方法的是

方法方法方法

28.强调信息隐藏的软件工程设计方法是

方法方法 SD 方法

29.描述系统动态行为的模型是

A.包图

B.软件结构图

C.状态图

30.考虑输入条件组合的测试用例设计方法是

A.等价分类法

B.语句覆盖法

C.因果图法

31.下列能减少支援性维护活动的是

A.利用软件包

B.进行配置管理

C.对用户进行适当培训

32.只支持单重继承的程序设计语言是

++

图的顶层图是

图图图

34.在UML的用例图中,扩展关系是一种

A.泛化关系

B.依赖关系

C.关联关系

35.独立测试小组开始介入测试是在

A.模块测试阶段

B.集成测试阶段

C.确认测试阶段

36.在成本估计中容易低估局部问题的方法是

A.基于经验模型的估计

B.自底向上估计

C.自顶向下估计

37.在IDEF1X图中,如果子实体与父实体存在联系,则子实体将继承父实体的

A.全部属性

B.主关键字属性

C.非主关键字属性

38.结构化分析方法使用的工具是

A.数据流图

B.类图

C.软件结构图

39.白盒测试设计用例的方法是

A.等价分类法

B.基本路径覆盖法

C.因果图法

40.在衡量软件质量时,最重要的标准是

A.可维护性好

B.可用性好

C.满足用户功能需求

41.瀑布模型是一种

A.演化模型

B.顺序模型

C.增量模型

42.模块的独立程度可以由什么定性标准度量

A.耦合度

B.复杂度

C.可靠性

43.以下选项中,不属于对象的特点有

A.继承

B.多态

C.封闭

44.面向数据结构的设计方法有

方法方法方法

45.与UML配合最好的软件开发方法是

方法 Yourdon方法方法

二、填空题:

1.统一建模语言UML提供了两种描述整体/部分关系的方法,分别是和 ;

2.软件是计算机程序、及的完整集合,将其统称为软件配置,这些项称为软件配置

项;通过正式复审的软件配置项称为 ,只有通过正式的变化控制过程才能改变它;

3.纯收入是指在整个生存周期之内的与投资之差;

4.瀑布模型是以驱动的软件生存周期模型,适合需求明确的软件系统开发;

5.在单元测试期间,应该为被测模块编写相应的测试软件,一般地模块接收测试数据,并把

数据传给被测模块,而模块则模拟实际模块完成少量数据处理;

方法用严格的自顶向下、逐层分解的方式进行系统的功能描述,其顶层图将图在建模范围内分解成个主要部分得到;

7.如果一个模块完成多个逻辑上相近或相关的功能,并且每次调用只选择该模块中的一个功能执行,则

称此模块为内聚的模块;

8.程序静态分析的对象是 ;常生成各种引用表,如列出各模块中出现的全部标号;

9.在数据流图中,每个加工至少有一个和一个 ;

10.两个小组独立地测试同一个程序,第一组发现25个错误,第二组发现30个错误,在两个小组发现的错

误中有15个是共同的,那么可以估计程序中的错误总数是 ;

11.设E为程序图G中边的总数; N 为程序图中结点的总数,则该程序图的环形复杂度

为 ;

12.汽车有一个发动机;若用UML描述汽车和发动机之间的关系,则它们之间是_____关系;

13.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略,即策略和策略;

14.在基本路径测试中,以详细设计为基础,导出控制流程图的拓扑结构: 程序图,在计算了程序图的

之后,确定只包含独立路径的基本路径图,其中独立路径是包括一组的一条路径;从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径;

15.在多层次的结构图中,其模块结构的层次数称为结构图的 ;结构图中同一层模块的最

大模块数称为结构图的 ;

16.耦合性是指两个模块之间的关系,模块之间的联系越复杂,每个模块的独立性

就 ;

17.可行性研究实质上是进行了一次过程;

18.需求分析的任务是 ;

图的主要优点是它强制设计人员使用技术,从而可保证软件设计的质量;

20.结构型模式涉及如何组合类和对象,从而构成更大的对象,一是采用来组合接口或实

现形成更大的结构;另一种方式通过方式来形成;

21.为了便于对照检查,测试用例应由和预期的

两部分组成;

22.软件开发时,一个错误发现得越晚,为改正它所付出的代价就 ;

23.在UML的用例图中,根据参与者与用例关系的不同,参与者可分为和次要参与者,参与者

之间的关系只有关系;

24.评价软件质量可以从三个方面进行,即产品或中间产品、和项目;

25.软件配置管理是一组用于在计算机软件的整个生存周期内管理的活动;

26.通过抽象,可以确定组成软件的 ;通过信息隐蔽,可以定义和实施对模块的过程细节和局

部数据结构的 ;

表示法的基础是 ,它描述建模元素的语义;

28.条件覆盖是指设计足够的测试用例,使得至少出现一次;

29.面向数据流图的结构化分析方法是根据的原则,按照系统中数据处理的流程,用数据图来

建立系统的模型;

30.评估软件企业的质量管理有两种方法,一种是按照认证,另外一种是按照CMM认证;

31.风险估计从两个方面来度量,一是估计 ,二是估计与风险相关的问题出现后将会带来的损

失;

三、名词解释:

1.集成测试

2.设计模式

3.信息隐藏

4.用例

5.结构化方法

四、判断题:

1.测试计划、测试用例和出错统计等一般不用长期保存;

2.在面向对象方法中,需求分析和设计没有差别;

3.应用设计模式使得软件灵活,可重用性提高,应该尽量多使用;

是一种建模语言,可以被任何面向对象方法使用;

5.任何系统都需要对数据进行处理,因而数据流图可描述任何系统;

6.软件开发就是编写程序代码;

7.面向对象软件开发最适合采用迭代、增量式的开发模型;

8.设计模式是一种可以重用的面向对象软件设计方案;

9.软件测试就是检查程序是否正确;

10.软件项目计划在可行性研究阶段就已定稿;

11.软件工程认为软件设计的最终目标是要取得最佳方案;

12.只要对软件进行严格的测试,就能发现软件中的所有错误;

13.初级技术人员在编码阶段参与软件项目的程度在各类人员中最高;

14.单元测试常常在编码阶段进行;

描述和分析了软件过程能力的发展与改进的程度;

16.为了加快开发速度,可以一边写程序,一边设计文档;

17.没有发现任何错误的测试是无效的测试;

18.软件结构图中不能有控制信息流动;

19.单元测试常常由独立的测试小组进行;

20.用例建模只能用于面向对象软件系统的开发;

21.数据流建模方法是一种自顶向下的需求分析方法;

22.为了减少程序的长度,最好不要在程序中增加注释;

五、简答题:

1.在需求分析和设计阶段建立原型的好处有哪些

2.什么是模块的扇入和扇出

的特点是什么

4.层次图和层次方框图有何区别

5.软件测试对象应包括哪些内容

6.试简要叙述文档在软件工程中的作用;

7.为何螺旋模型主要适合开发人员和用户为同一个组织机构成员的软件项目的开发

8.软件测试为何需要尽早和不断地进行

9.简要说明如何实现MVC;

10.试给出一种开源软件框架,并简要说明开源软件存在的问题;

方法有什么特点

12.快速原型模型有几种各有何特点

六、综合题:

1.某网络学院决定开发一个管理所有学生和教师信息的交互式网络系统,该系统提供如下服务:

1浏览学生信息:网络学院的任何人员,包括学生和老师,均可以浏览学院任何学生的信息,包括姓名、学号和专业名称;

2浏览教师信息:网络学院的任何人,包括学生和老师,均可以浏览学院任何教师的信息,包括姓名、工号和职称;

3登录:网络学院给学院每个人一个账号;拥有授权帐号的学生和老师,可以使用系统提供的页面设置个人密码,并使用该账号和密码向系统注册;

4修改个人信息:学生或老师向系统注册后,可以发送电子邮件或使用系统提供的页面,对个人信息进行修改;

5删除个人信息:只有网络学院的管理人员才能删除不再是学院学生或老师的人员的有关信息;

试问哪些是参与者哪些是用例并用UML的用例图描述系统行为;

2.试据下述伪代码描述的模块,改用NS图描述;

Begin

a

b

Do Until x6

If xl then

f

If x4 then

Do Until x5

i

End Until

Else

g

h

d b

End if

Else

Select Case x2

Case 1:

Do While x3

c

End While

Case 2:

d

Case 3:

e

End Select

End if

End Until

End

3.某五星级宾馆共有H间客房;每间客房的房间号、房间等级、床位数以及占用状态分别存放在数

组ROOM、RANK、NBED和STATUS中;房间等级用整数表示;房间状态有:空闲0表示和占用1表示;

客房以房间为单位出租;试设计一个算法,依据散客的要求预定房间,要求输入为:人数M,房间等级要求RR为0表示任意等级均可;输出为:可供选择的房间号;要求用程序流程图描述算法; 4.某医院打算开发一个以计算机为中心的患者监护系统,以解决医院人手不够和对危重病人的及时监

护;该系统应能做到以下几点:随时接受每个病人的生理信号;定时记录病人情况形成患者日志;

当病人生理信号超出医生规定的安全范围时向值班护士发告警信息;此外,护士在需要时,还可要求系统印出指定病人的病情报告;试椐此叙述绘出对应的DFD图;

5.试采用设计模式描述算术表达式不含圆括号的设计方案;算术表达式是由加、减、乘、除和操作数

构成的表达式,操作数假定为实数;

6.请根据如下程序流程图设计该程序段的判定覆盖测试用例,其中输入为A,B,X,输出为X;

参考答案

一、单项选择题:

二、填空题:

1.聚集组合

2.描述计算机程序的文档数据基线

3.累计经济效益折合成现在值

4.文档

5.驱动模块桩模块 3-6

7.逻辑 8.源程序标号交叉引用表

9.输入流输出流

– N + 2 12.聚合

13.深度优先广度优先 14.环形复杂性以前没有处理的语句或条件

15.深度宽度 16.依赖越低

17.大大压缩简化了的系统分析和设计过程 18.确定系统必须完成哪些工作

19.结构化 20.继承对象组合

21.输入数据预期输出结果 22.越大

23.主要参与者泛化 24.过程

25.变化 26.过程实体存取限制

元模型 28.判定表达式中每个条件的各种可能的值

29.分解与抽象功能

31.风险发生的可能性

三、名词解释:

1.集成测试也称组装测试或联调;是指在单元测试的基础上,将所有模块按照概要设计要求组装成一个完整的

系统而进行的测试;模块组装的方式有两种:渐增式和非渐增式;

2.设计模式是普通面向对象设计问题的解决方案,这类问题以一组交互类的形式出现,用户根据需要定制这些

交互类以形成专门的设计;所有设计模式均可以从四个方面加以描述:模式名称、问题描述、解决方案和效果;

3.信息隐藏是指在模块设计时,使得一个模块内包含的信息过程或数据,对于不需要这些信息的其他模块来说

是不能访问的;这样,改变模块的内部过程和数据的设计不会影响到其它模块;

4.用例是参与者为达到某个目的而与系统进行的一系列交互,执行结果将为参与者提供可度量的价值;从参与

者的角度来看,用例应该是一个完整的任务,在一个相对较短的时间内完成;

5.结构化方法是一种传统的软件开发方法,其总的指导思想是自顶向下、初步求精、单入口、单出口,其基本

原则是抽象和功能分解;

即模型、视图、控制器;其中,模型是应用对象,其包含一些数据值,维护数据并提供数据的访问方法;视图显示模型的部分或说有数据,多个视图可以以不同的方式来显示模型中数据;控制器处理用户输入事件;

四、判断题:

1.×

2.×

3.×

4.√

5.√

6.×

7.√

8.√

9.× 10.× 11.× 12.× 13.√ 14.√ 15.√

16.× 17.√ 18.× 19.× 20.× 21.√ 22.×

五、简答题:

1.在需求分析和设计阶段建立原型的好处有:

1增进开发人员和用户对系统需求的一致理解,明确软件需求,尤其是功能含糊的需求;

2原型提供了一种有力的学习手段,能够使用户尽早接触系统;

3原型可以用来识别或化解风险;

4原型有的可以原封不动地成为产品,有的略加修改就可以成为最终系统的一个组成部分,这样有利于建成最终系统;

2.扇入则定义为一个模块被调用或控制的模块个数;扇出表示一个模块直接调用或控制的其他模块数目;

的特点是:

1统一了面向对象方法的有关概念和描述方法;

2表达能力强,能对各种并发分布式系统进行建模,且UML还提供了扩展机制;

3UML专注于一种标准的建模语言,而不是一个开发过程;

4.层次图主要用来描绘软件的层次结构,矩形框代表一个模块,矩形框之间的连线表示模块之间的调用关系,常

与IPO图一起形成HIPO图;层次方框图主要描述系统的组成关系,一般自用域需求分析;

5.软件测试并不等于程序代码测试,其应该贯穿于软件定义与开发的整个期间;因此,需求分析、概要设计以及

程序编码等各阶段所得的文档,包括需求规格说明、概要设计说明、详细设计规格说明以及源程序代码都应成为软件测试的对象;

6.在软件工程中,文档的作用是:

1提高软件开发过程的能见度;

2记录开发过程的有关信息便于使用与维护;

3作为开发人员阶段工作成果和结束标志;

4提高开发效率;

5提供软件运行、维护和培训有关资料;

6便于用户了解软件功能、性能;

7.因为如果开发人员和用户属于不同的组织机构,则一般在正式的软件开发之前均需要签订合同,所有的风险

分析均必须在签订合同之前完成;但螺旋模型需要在软件开发的每一个阶段都进行风险分析,当重要风险不能解决时,项目应该终止;由此螺旋模型可能因为风险使得合同在完成之前就终止,从而导致法律诉讼;故螺旋模型不适合开发人员和用户属于不同组织机构的情况;

8.软件测试不应仅仅作为一个独立的软件开发阶段,而应贯穿到软件开发的各个阶段中;通过各阶段的评审,在

早期把错误解决,以减少错误放大效应,这样不仅可以提高软件质量,而且也是降低软件成本的一个重要措施;

由此,软件测试应该尽早和不断地进行;

是Model-View-Controller的简写;"Model" 代表的是应用的业务逻辑通过JavaBean,EJB组件实现, "View"

是应用的表示层由JSP页面产生,"Controller" 是提供应用的处理过程控制一般是一个Servlet,通过MVC 把应用逻辑,处理过程和显示逻辑分成不同的组件实现;

是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开源应用框架; Struts框架主要有如下功能:1包含一个controller servlet,能将用户的请求发送到相应的Action对象; 2JSP自由tag库,并且在controller servlet中提供关联支持,帮助开发人员创建交互式表单应用;3提供了一系列实用对象,如XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息等;

开源软件存在的主要问题有:1技术服务支持较少;2版本控制困难;3性能不够稳定;4文档不全,等等; 方法的特点是:

1采用方框和箭头等简单的图形符号描述系统的活动和数据流,描述活动所受到的约束条件及实现机制,清楚地反映了系统的功能;

2采用严格的自顶向下、逐层分解的方式建立系统功能模型;顶层确定系统范围,采用抽象原则,然后有控制的逐步展开有关活动的细节,符合SA方法的分析策略;同时,IDEF0规定每张图至少有3个、最多有6个方框,上界6保证采用层次性描述复杂问题的可理解性,下界3保证分解有意义;

12.根据原型的不同作用,有三类原型模型:

⑴探索型原型;这种类型的原型模型是把原型用于开发的需求分析阶段,目的是要弄清用户的需求,确

定所期望的特性,并探索各种方案的可行性;它主要针对开发目标模糊,用户与开发着对项目都缺乏经验的情况,通过对原型的开发来明确用户的需求;

⑵实验型原型;这种原型主要用于设计阶段,考核实现方案是否合适,能否实现,对于一个大型系统,若

对设计方案心中没有把握时,可通过这种原型来证实设计方案的正确性;

⑶演化型原型;这种原型主要用于及早向用户提交一个原型系统,该原型系统或者包含系统的框或者包含系

统的主要功能;在得到用户的认可后,将原型系统不断扩充演变为最终的软件系统,它将原型的思路扩展到软件开发的全过程;

六、综合题:

1.

2.

3.

4.

5.

6.

1

Ⅰ:a b d

Ⅱ:a c e

2选择测试用例

Ⅰ:输入

Ⅱ:输入

《软件工程》11套考试复习练习试题、作业题[含答案解析]

作业1: 1. 软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。其中,( A )是按事先设计的功能和性能要求执行的指令序列。( B )是使程序能够正确操纵信息的数据结构。( C )是与程序开发、维护和使用有关的图文材料。供选择的答案: A~C. ①软件②程序③代码④硬件 ⑤文档⑥外设⑦数据⑧图表 2. 开发软件时对提高软件开发人员工作效率至关重要的是( A )。软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。 供选择的答案: A.①程序开发环境②操作系统的资源管理功能 ③程序人员数量④计算机的并行处理能力 B.①需求分析②需求调查③可行性分析④问题定义 C、D.①方案设计②代码设计③概要设计④数据设计 ⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计 3. 从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。 有人将软件的发展过程划分为4个阶段: 第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。 第二阶段(1950年代末~1960年代末)称为“基本软件期”。出现了( A ),并逐渐普及。随着( B )的发展,编译技术也有较大的发展。 第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。这一时期,与硬件费用下降相反,软件开发费急剧上升。人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。 第四阶段(1970年代中期~现在)称为“软件工程时期”。软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、( G )及其整体有关的各种管理技术。 供选择的答案: A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言 ⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计 E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计 ⑤需求定义⑥图象处理 4. 软件工程过程有哪几个基本过程活动?试说明之。 5. 试说明“软件生存周期”的概念。 6. 试论述瀑布模型软件开发方法的基本过程。 7. 软件工程是开发、运行、维护和修复软件的系统化方法,它包含哪些要素?试说明之。 8. 软件工程学的基本原则有哪些?试说明之。 9. 有人说:软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。对否?请解释你的回答。

软件工程复习题及答案

一、单项选择题(本大题共60小题,在每小题的四个备选答案中,选出一个正确答案,并将 正确答案填涂在答题卡上) 1.软件质量因素不包括。 A.正确性 B.高性能 C.可测试性 D.可理解性 2.软件可行性研究实质上是要进行一次需求分析、设计过程。 A.简化、压缩的 B.详细的 C.彻底的 D.深入的 3.以下哪个软件生存周期模型是一种风险驱动的模型。 A.瀑布模型 B.增量模型 C.螺旋模型 D.喷泉模型 4.可行性分析中,系统流程图用于描述。 A.当前运行系统 B.当前逻辑模型 C.目标系统 D.新系统 5.结构化分析建立功能模型的工具是。 A.DFD B.判定树/判定表 C.SC D.结构化语言 6.检查软件产品是否符合需求定义的过程称为。 A.确认测试 B.集成测试 C.系统测试 D.单元测试 7.在整个软件维护阶段所花费的全部工作中,所占比例最大的是。 A.校正性维护 B.适应性维护 C.完善性维护 D.预防性维护 8.通信内聚是指。 A.把需要同时执行的动作组合在一起形成的模块 B.各处理使用相同的输入数据或者产生相同的输出数据 C.一个模块中各个处理元素都密切相关于同一功能且必须顺序执行 D.模块内所有元素共同完成一个功能,缺一不可 9.一个只有顺序结构的程序,其环形复杂度是。 A.0 B.1 C.3 D.5 10.下述四个能力成熟度等级,级别最高的是。 A.已定义级 B.优化级 C.可重复级 D.已管理级 11.结构化程序设计,主要强调的是。 A.程序的执行效率 B.模块大小 C.程序的可理解性 D.模块关系 12.软件调试技术包括。 A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试

软件工程复习题及答案(完整)

一、选择 1、文档是软件产品的一部分,没有文档的软件就不称其为软件.对 2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。错 3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。错 4、建立用例模型的步骤包括确定角色、确定用例和绘制用例图。错 5、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。错 6、软件配置管理是一组标识、组织和控制修改源程序的活动. 错 7、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。错 8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。对 9、边界值分析方法是取输入/输出等价类的边界值作为测试用例。对 10、面向对象的分析是面向计算机系统建立软件系统的对象模型.错 11、(D)是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。 A 软件过程 B 软件测试 C 软件生存周期 D 软件工程 12、ISO9000是由ISO/TC176制定的关于(B)和质量保证的国际标准。 A 质量控制 B 质量管理 C 质量策划 D 质量改进 13、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级.除第1级外,每个等级都包含了实现该成熟度等级目标的若干(B). A 关键实践 B 关键过程域 C 软件过程能力 D 软件过程 14、在软件开发的各种资源中,(D)是最重要的资源。 A 开发工具 B 方法 C 硬件环境 D 人员 15、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。 A 固有的 B 人为的 C 可消除的 D 不可降低的 16、在各种不同的软件需求中,(D)描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。 A 业务需求 B 功能需求 C 非功能需求 D 用户需求 17、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。 A 需求不确定的 B 需求确定的 C 管理信息 D 决策支持 18、(A)意味着一个操作在不同的类中可以有不同的实现方式. A 多态性 B 多继承 C 类的可复用 D 信息隐蔽 19、时序图反映对象之间发送消息的时间顺序,它与(D)是同构的。 A 用例图 B 类图 C 活动图 D 协作图 20、单元测试的测试用例主要根据(D)的结果来设计。 A 需求分析 B 源程序 C 概要设计 D 详细设计 二、填空题 1、在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是关联关系。 2、类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是依赖关系。 3、用例及其协作之间是实现关系. 4、接口及其实现类或构件之间是实现关系。 5、动物与老虎之间是泛化关系。 三、问答题 1、软件复用的范围不仅仅涉及源程序代码,请至少列出5种可能复用的软件元素。 可复用的软件元素包括(选5种): 项目计划、成本估计、体系结构、需求模型和规格说明、设计、用户文档和技术文档、用户界面、数据结构、测试用例。 2、传统"瀑布模型"的主要缺陷是什么?试说明造成缺陷的原因。 传统"瀑布模型”的主要缺陷及其原因:在项目的早期,用户常常很难清楚地给出所有需求,瀑布模型却要求如此。由于瀑布模型的特点,早期的错误直到开发晚期才能被发现,开发的风险较大. 3、某学校需要开发一个学生成绩管理系统,教务人员可以通过该系统维护学生信息、课程信息和成绩信息,学生可以随时查询自己的成绩单,该

软件工程复习题及答案

软件工程复习题及答案 1. 软件工程的三要素是()。 A. 技术、方法和工具 B. 方法、对象和类 C. 方法、工具和过程(正确答案) D. 过程、模型、方法 2. 在下列选项中,()不属于软件工程学科所要研究的基本内容。 A. 软件工程材料(正确答案) B. 软件工程目标 C. 软件工程原理 D. 软件工程过程 3. ()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。 A. 软件生命周期 B. 软件测试 C. 软件工程(正确答案) D. 软件过程 4. 下列说法中正确的是()。 A. 20世纪50年代提出了软件工程的概念 B. 20世纪60年代提出了软件工程概念(正确答案) C. 20世纪70年代出现了客户机/服务器技术 D. 20世纪80年代软件工程学科达到成熟 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. 变换、数据存储、加工和数据流 10. 在结构化分析方法中,用以表达系统内数据的运动情况的工具是()。 A. 数据流图(正确答案) B. 数据字典 C. 结构化语言 D. 判定表与判定树 11. 在需求分析之前有必要进行()工作。 A. 程序设计

软件工程复习题(带答案)

软件工程复习题(带答案) 软件工程复习题 一、单选题 1、软件开发的结构化设计(SD)方法,全面指导模块划分的最重要原则应该是( c ) A模块高内聚 B模块低耦合 C模块独立性 D程序模块化2、软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的什么问题?( D ) A产生危机 B质量保证 C开发效率 D生产工程化 3、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究 的结论主要相关于( A ) A软件系统目标 B软件的性能 C软件的功能 D软件的质量 4、软件需求分析一般应确定的是用户对软件的( D ) A.功能需求 B.非功能需求 C.性能需求 D.功能需求和非功能需求 5、软件测试是满足软件的功能和性能要求,保证软件正确性的措施,一般软件测试 计划的制订应始于软件开发的哪个阶段? ( D ) A.需求分析 B.软件设计 C.程序编码 D.软件计划 6、软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指( B ) A.原型化方法

B.结构化方法 C.面向对象方法. D.功能分解法 7、数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示,即.( A ) A.软件模型 B.软件功能 C.软件结构 D.软件加工 8、软件工程学涉及到软件开发技术和工程管理两方面的内容,下述内容中哪一个不 属于开发技术的范畴?(D) A.软件开发方法 B.软件开发工具 C.软件工程环境 D.软件工程经济 9、软件文档是软件工程实施中的重要成份,它不仅是软件开发的各阶段的重要依 据,而且也影响软件的() A.可理解性 B.可维护性 C.可扩展性 D.可靠性 10、从( )语言开始,软件摆脱了对硬件的依赖。 A.第一代 B.第二代 C.第三代 D.第四代 11、在下面列出的基本成分中,哪个不是实体关系图的基本成分? ( ) A.实体

软件工程 复习题含答案

1. 构成软件项目的最终产品有哪些? 应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。 2.可行性研究目的? 确定在问题定义中所提出的问题是否值得去解,在限制条件下,问题能否解决。 3.可行性研究包括哪几方面的内容? (1)技术可行性:现有技术能否实现本系统,现有技术人员能否胜任,开发系统的资源能否满足; (2)经济可行性:经济效益是否超出开发成本; (3)操作可行性:系统操作在用户内部行得通吗? (4)法律可行性:新系统开发是否会侵犯他人、集体或国家利益,是否违反国家法律。 4.需求分析的描述工具有哪些? 有数据流图、数据字典、判定表、判定树、结构化自然语言、层次方框图、Warnier图、IPO图和需求描述语言等。 5. 需求分析的基本任务是什么? 准确定义未来系统的目标,确定为了满足用户的需要系统必须做什么。 6.软件需求规格说明书由哪些部分组成? 组成包括:

(1) 引言:编写目的、背景说明、术语定义及参考资料等。 (2) 概述主要功能、约束条件或特殊需求。 (3) 数据流图与数据字典。 (4) 用户接口、硬件接口及软件接口。 (5) 性能需求、属性等。 (6) 其它需求,如数据库、操作及故障处理等。 7.系统流程图与数据流程图有什么区别? 系统流程图描述系统物理模型的工具,数据流程图描述系统逻辑模型的工具。 系统流程图从系统功能的角度抽象的描述系统的各个部分及其相互之间信息流动的情况。数据流程图从数据传送和加工的角度抽象的描述信息在系统中的流动和数据处理的工作状况。 8.数据字典包括哪些内容?它的作用是什么? 数据字典是描述数据流图中数据的信息的集合。它对数据流图上每一个成分:数据项、文件(数据结构)、数据流、数据存储、加工和外部项等给以定义和说明;它主要由数据流描述、加工描述和文件描述三部分组成。对用户来讲,数据字典为他们提供了数据的明确定义;对系统分析员来讲,数据字典帮助他们比较容易修改已建立的系统逻辑模型。 9. 软件工程的目标 是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维

软件工程导论 期末复习题及答案

软件工程导论期末复习题及答案 正确答案:C.研究软件系统的开发过程和方法 软件工程的主要目标是提高软件的质量,包括可靠性、可用性、可维护性和可重用性等。同时,软件工程也致力于降低软件开发和维护的成本,提高软件的生产率。因此,以上选项都是正确的。 A.人员 B.方法 C.工具 D.程序正确答案:D.程序 软件工程的三个基本要素是人员、方法和工具。其中,人员是指参与软件开发和维护的人员,包括项目经理、系统分析师、程序员、测试人员等;方法是开发软件所采用的方法,包括面向对象方法、面向过程方法等;工具是指支持软件开发和维护的工具,包括编译器、调试器、测试工具等。程序是软件开发的结果之一,不属于软件工程的三个基本要素。 D.软件从测试到发布的整个过程正确答案:A.软件从开发到维护的整个过程 软件生命周期是指软件从开发到维护的整个过程,包括需求分析、设计、编码、测试、发布、维护和退役等阶段。因此,选项A是正确的答案。选项B、C、D都只描述了软件生命周期的部分阶段,不完整。

A.需求分析 B.编码 C.测试 D.维护正确答案:D.维护 软件开发过程中的活动包括需求分析、设计、编码、测试等阶段,而维护是软件使用过程中的一个阶段,不属于软件开发过程中的活动。因此,选项D是正确的答案。 在软件工程中,以下哪个选项最接近于“用户故事”的定义? 答案:A.一种用于描述用户需求的文档。用户故事是软件开发中的一种重要工具,它用于收集、整理和描述用户需求,以便更好地理解和满足用户的需求。 以下哪个选项是面向对象编程(OOP)中的基本概念? 答案:B.类。在面向对象编程中,类是一种抽象数据类型,它定义了一个对象的结构,包括属性(状态)和方法(行为)。 在软件开发中,以下哪个阶段最可能涉及到代码重构? 答案:C.编码阶段。代码重构是在编码阶段进行的一项活动,它通常涉及到修改和优化代码的结构和实现方式,以提高代码的可读性、可维护性和效率。 答案:A. Git。版本控制是软件开发中的一项重要工具,用于跟踪和

软件工程考试试题含答案

软件工程考试试题含答案 一、题目类型为单选题 1.软件需求分析的目的是什么? A、确定系统需求 B、建立软件架构 C、编写用户手册 D、进行系统集成 答案:A 2.在软件项目开发中,以下哪个阶段是与需求分析同时进行的? A、需求规格说明 B、软件设计 C、程序编写 D、系统维护 答案:B 3.软件项目管理中,以下哪个是关键路径? A、最长时间路径 B、最短时间路径

C、资源紧张路径 D、资源充足路径 答案:A 4.软件系统测试是为了检查什么? A、代码质量 B、功能实现是否符合需求 C、项目进度 D、硬件设备是否正常 答案:B 5.以下哪个是软件配置管理的主要目标? A、保证软件的质量 B、控制软件的开发成本 C、跟踪软件的版本 D、优化软件的性能 答案:C 二、题目类型为多选题 1.软件开发过程中,以下哪些是敏捷开发的原则?(多选)

A、个人和交互胜过过程和工具 B、软件和协商合约胜过合同文档 C、持续交付胜过完整的计划 D、需求协商胜过客户合作 答案:A、B、C 2.以下哪些是软件工程中的软件生命周期模型?(多选) A、瀑布模型 B、原型模型 C、敏捷模型 D、螺旋模型 答案:A、B、C、D 3.在软件项目中,以下哪些因素可能导致项目失败?(多选) A、需求不明确 B、软件工程师技术水平不高 C、项目计划不合理 D、项目成本过高 答案:A、B、C、D

4.以下哪些是软件维护的类型?(多选) A、适应性维护 B、完善性维护 C、阻碍性维护 D、紧急性维护 答案:A、B、D 5.在软件项目管理过程中,以下哪些风险可以考虑采取风险规避策略?(多选) A、需求变更频繁 B、开发团队沟通效率低 C、软件质量无法满足需求 D、开发进度超过预期 答案:A、C 三、题目类型为填空题 1.软件需求分析的主要输出是______。 答案:需求规格说明 2.软件开发过程中,以下步骤是软件测试的基本流程:需求分析、______、测试执行、缺陷跟踪。

软件工程考试试题 含答案

软件工程考试试题含答案软件工程考试试题含答案 一. 选择题 1. 下列不属于软件工程方法论的是: A. 瀑布模型 B. 敏捷开发 C. 融合开发 D. 增量开发 答案:C. 融合开发 2. 哪个不是软件需求工程的阶段? A. 需求收集和分析 B. 需求规格说明书编写 C. 需求确认和验证 D. 需求修复和更新 答案:D. 需求修复和更新 3. 软件开发生命周期中不包含以下哪个阶段? A. 需求分析

B. 软件设计 C. 软件测试 D. 软件维护 答案:C. 软件测试 4. 下列哪个是软件开发项目管理的基本约束? A. 时间 B. 人员 C. 质量 D. 成本 答案:D. 成本 5. 使用UML建模时,哪个图标不属于结构图? A. 类图 B. 对象图 C. 时序图 D. 包图 答案:C. 时序图 二. 填空题

1. 软件工程的目标是提高软件的质量和________。 答案:生产效率 2. 软件需求可以分为________和________两类。 答案:功能需求,非功能需求 3. 软件设计的核心目标是________。 答案:满足需求 4. 软件测试的目的是发现________。 答案:缺陷和错误 5. 软件维护分为________和________两个主要类别。 答案:正确性维护,适应性维护 三. 简答题 1. 请简要介绍敏捷开发方法。 答案:敏捷开发方法强调迭代与循序渐进的开发方式,注重团队合作和快速响应需求变化。其核心原则包括迭代开发、自组织团队、人与沟通优先、持续集成和及时反馈等。敏捷开发方法通过不断反馈和迭代,提高软件开发的灵活性和适应性。 2. 什么是软件需求工程?为什么软件需求工程是软件开发的关键环节?

软件工程复习题及答案

软件工程复习题及答案 选择题 1.在结构化设计SD方法中全面指导模块划分的最重要的原则是( D ) A.程序模块化 B.模块高内聚 C.模块低耦合 D.模块独立性 2.软件维护产生的副作用,是指( C ) A.开发时的错误 B.隐含的错误 C.因修改软件而带来的错误 D.运行时误操作 3.软件详细设计的主要任务是确定每个模块的( A ) A.算法和使用的数据结构 B.外部接口 C.功能 D.编程 4.为了提高模块的独立性,模块内部最好是( C ) A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚 5.软件是一种( C ) A.程序 B.数据 C.逻辑产品 D.物理产品 6.下列那个模型不是面向对象的分析中建立的模型( B ) A.对象模型 B.瀑布模型 C.动态模型

D.功能模型 7.确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于 A.集成测试 B.恢复测试 C.验收测试 D.单元测试 8.采用Gantt图表示软件项目进度安排,下列说法中正确的是( D ) A.能够反映多个任务之间的复杂关系 B.能够直观表示任务之间相互依赖制约关系 C.能够表示哪些任务是关键任务 D.能够表示子任务之间的并行和串行关系 9.程序的三种基本控制结构是( B ) A.过程、子过程和分过程 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移 10.软件生存周期中时间最长的是( D )阶段 A.总体设计 B.需求分析 C.软件测试 D.软件维护 11.为使得开发人员对软件产品的各个阶段工作都进行周密的思考,所以( C )的编制是很重要 的。 A.需求说明 B.概要设计 C.软件文档 D.测试计划 12.软件部件的内部实现和外部可访问性的分离,是指软件的( C )。

软件工程复习题及参考答案

软件工程课程复习资料 一、单项选择题: 1.下面哪些UML图描述系统行为 A.用例图 B.类图 C.对象图 2.属于概要设计活动的是 A.软件结构设计 B.数据结构设计 C.算法设计 3.属行为型设计模式的是 A.组合模式 B.工厂方法模式 C.观察者模式 4.下列说法正确的是 是软件开发方法是系统描述语言 是软件开发过程 5.根据程序流程图划分的模块通常是 A.信息内聚的模块 B.过程内聚的模块 C.逻辑内聚的模块 6.如果某程序中的比较个数是m,则其 McCabe环形复杂度为 +1 7.按ISO9000-3的说明,下列属软件配置项的是 A.软件开发方法 B.软件开发组织管理制度 C.软件开发合同 8.软件测试的目的是 A.证明软件无错 B.发现软件中的所有错误 C.尽可能发现软件系统中的错误 9.软件重构关注的是 A.软件体系结构 B.模块细节 C.软件性能 10.软件项目开发计划的内容有 A.数据分析 B.风险分析 C.功能分析 11.在UML的类图中,描述整体与部分关系的是 A.泛化关系 B.聚合关系 C.依赖关系 12.软件过程能力成熟度模型CMM用以评价 A.软件过程能力 B.组织能力 C.学习能力 13.因计算机硬件和软件环境的变化而作出的修改软件的过程称为 A.完善性维护 B.改正性维护 C.适应性维护 14.对项目软件而言,软件功能需求信息主要由谁提供 A.软件用户 B.软件开发人员 C.软件项目管理人员 图反映不出 A.系统做什么 B.系统功能由谁做 C.系统如何做 16.原型模型是一种什么开发过程模型 A.自顶向上 B.由外至内 C.增量式 17.系统流程图描述 A.物理系统 B.逻辑系统 C.软件体系结构 18.需求规格说明书的内容不应该包括 A.软件确认准则 B.软件的性能描述 C.算法过程的详细描述 19.适合需求模糊或需求不确定系统开发的软件开发模型是 A.瀑布模型模型 C.原型模型 图中描述系统结构的是 A.组件图 B.顺序图 C.状态图 21.面向对象方法是一种什么软件开发方法 A.层次化 B.迭代增量式 C.逐步求精 22.不可以用来衡量软件可维护性的是 A.可靠性 B.可用性 C.可行性 23.系统分析员在需求分析最后负责编写 A.用户手册 B.概要设计说明书 C.可行性研究报告 24.为了提高软件的可靠性、可维护性等而对软件的修改称为 A.改正性维护 B.适应性维护 C.预防性维护 25.在结构化方法中,为使需求改变对软件影响较小,应该使软件结构 A.与问题结构对应 B.与问题结构独立 C.与用户界面对应 26.单元测试的计划应该在什么阶段完成 A.需求分析 B.概要设计 C.详细设计 27.下列属面向对象软件开发方法的是

《软件工程》复习题及参考答案

单项选择题(在每小题的四个备选答案中,选出一个正确的答案序号填在括号内。每小题1分,共20分) 1. 信息隐蔽概念与( A )这一概念直接的相关。 A. 模块的独立性 B. 模块类型的划分 C. 软件结构定义 D. 软件生命周期 2. 下列方法中不属于面向对象的开发方法有( C )。 A. Booch方法 B. Coad方法 C. VDM方法 D. OMT方法 3. 不属于详细设计的主要工具有( C )。 A. IPO图 B. PAD图 C. PDL D. SC 4. 选择结构的复杂性比顺序结构的复杂性要( B )。 A. 小 B.大 C.相等 D.无法比较 5.软件需求分析是保证软件质量的重要步骤,它的实施应该是在(C)。 A.编码阶段 B.软件开发全过程 C.软件定义阶段 D.软件设计阶段 6. 模块内聚度越高,说明模块内各成分彼此结合的程度越(B)。 A.松散 B.紧密 C.无法判断 D.相等 7. 软件文档是软件工程实施中的重要部分,它不仅是软件开发各阶段的重要依据,而且影 响软件的( A )。 A. 可理解性 B.可维护性 C.可扩展性 D.可移植性 8. 单元测试阶段主要涉及( C )的文档。 A.需求设计 B. 编码和详细设计 C. 详细设计 D. 概要设计 9. 鱼是一种水生动物。鱼与水生生物之间的关系是( A )。 A. 一般与特殊关系 B. 组装关系

10.下列选项不属于软件工程方法学三要素的是( D )。 A.方法 B.工具 C.过程 D.操作 11. 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往 往是( A )。 A.运行和维护阶段 B.设计阶段 C.代码实现阶段 D.测试阶段 12. .黑盒测试在设计测试用例时,主要需要研究( A )。 A.需求规格说明与概要设计说明 B.详细设计说明 C.项目开发计划 D.概要设计说明与详细设计说明 13. 可行性研究要进行一次( D )需求分析。 A. 深入的 B. 详尽的 C. 彻底的 D. 简化的、压缩了的 14. 下列属于维护阶段的文档是( C )。 A.软件规格说明 B.用户操作手册 C.软件问题报告 D.软件测试分析报告 15. 数据字典的最基本功能是( C )。 A.数据库设计 B.数据通信 C.数据定义 D.数据维护 16. 以下关于数据流图的说法不正确的是( C )。 A.数据流图舍去了具体的物理元素,只剩下数据的流动、加工处理和存储 B.数据流图是用作结构化分析建模的一种工具 C.传统的数据流图主要由处理、数据源点/终点、数据流、控制流、数据存储组成 D.数据流图的编绘采用自上向下、逐层分解的方法 17. 选择程序设计语言的关键因素是( D )。 A.软件应用领域 B.软件执行环境 C.软件开发方法 D.算法和数据结构 18. 所谓软件过程的里程碑,通常是指( C )。 A.一定的时间间隔 B.每个项目活动 C.基线 D.开发进度月报 19. 程序的三种基本控制结构是( B )。 A.过程、子程序与分程序

软件工程题库(含答案)

软件工程题库(含答案) 一、单选题(共60题,每题1分,共60分) 1、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( ) A、可用性 B、正确性 C、完整性 D、可靠性 正确答案:D 2、软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是( ). A、可移植性 B、可理解性 C、可重用性 D、可修改性 正确答案:A 3、在软件质量要素的评价准则中,操作该软件的难易程度指的是( )。 A、容错性 B、检测性 C、可操作性 D、安全性 正确答案:C 4、下列属于维护阶段的文档是( ) A、软件问题报告 B、用户操作手册 C、软件测试分析报告 D、软件规格说明 正确答案:B 5、快速原型模型的主要特点之一是( ) A、及早提供工作软件 B、开发完毕才见到产品 C、及早提供全部完整的软件产品 D、开发完毕后才见到工作软件 正确答案:C

6、可维护性通常包括( )。 A、可用性和可理解性 B、可修改性、数据独立性和数据一致性 C、可理解性、可修改性和可测试性 D、可测试性和稳定性 正确答案:C 7、软件的可修改性支持软件的( )。 A、可互操作性 B、可维护性 C、可追踪性 D、有效性 正确答案:B 8、数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( ) A、数据通信 B、数据定义 C、数据维护 D、数据库设计 正确答案:B 9、软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是( )。 A、可追踪性 B、可理解性 C、可互操作性 D、可维护性 正确答案:C 10、可维护性的特性中相互促进的是( ) A、效率和可移植性 B、可理解性和可测试性 C、效率和结构好 D、效率和可修改性 正确答案:B 11、在软件质量特性中,( )是指在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性。

软件工程复习试题及答案

一、填空题(在下划线上填写正确的答案,每题2分,共20分) 1.等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数。 2.数据流图和数据字典共同构成了系统的逻辑模型。 3.盒图也称为N-S图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。 4.软件有效性,指软件系统的时间和空间效率。 6.数据流图有四种基本成分:源、终点,处理,存储,数据流。 7 中数据项是组成数据流和数据存储的最小元素。 8.软件工程中的结构化分析SA是一种面向数据流的分析方法。 9.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程。 10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。 1.常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型。2.软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、单元测试、运行与维护阶段。 3.软件测试的步骤:单元、集成、系统、验收。 4.数据流图的基本符号包括加工、数据流、数据存储文件、汇点。5.IPO图由输入、处理和输出三个框组成。这个图的特点是能够直观的显示三者之间的关系。 6.面向对象方法是一种运用类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法。 7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程。8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动。 9.为了获得较高的模块独立性,尽量设计出具有高内聚和低藕合性能的模块。10.常用的测试方法有黑盒测试和白盒测试。 1.可行性研究,应从技术可行性、经济可行性、运行可行性和法律和社会效益

软件工程复习重点答案

软件工程复习重点 一、选择题 1、软件工程三要素是指( B )P8 A、技术、方法和工具 B、方法、工具和过程 C、方法、对象和类 D、过程、模型、方法 2、瀑布模型本质上是一种( A )。P23 A、线性顺序模型 B、顺序迭代模型 C、线性迭代模型 D、及早见产品模型 3、结构化设计是一种应用最广泛的系统设计方法,是以( B )为基础,自顶向下,求精和模块化的过程。P79 A、数据流 B、数据流图 C、数据库 D、数据结构 4、概要设计的任务是设计系统的( B物理模型)P70 A、逻辑模型 B、物理模型 C、概念模型 D、程序流程图 5、描述软件结构的工具有( A模块结构图) A、模块结构图 B、PAD图 C、数据流程图 D、程序 6、进行需求分析可以使用多种工具,但( C )是不适用的。 A、数据流程图 B、判定表 C、PAD图(详细设计) D、数据字典 7、可行性研究要进行的需求分析和设计应该是( C )。 A、详细的 B、全面的 C、简化的、压缩的 D、彻底的 8、软件生命周期由( C )三个时期组成。 A、概要设计、详细设计和系统实现 B、可行性分析、系统设计和编码 C、定义、开发和运行维护 D、分析、设计和测试 9、以下( D )不是模块。对象是一个实体 A、过程 B、程序 C、函数 D、对象 10、程序流程图、N-S图和PAD图是( B )使用的算法表达工具。 A、设计阶段的概要设计 B、设计阶段的详细设计 C、编码阶段 D、测试阶段 11、一个模块直接控制(调用)的下层模块的数目称为模块的( B扇出)P78 A、扇入数 B、扇出数 C、宽度 D、作用域 12、下列工具哪一个是需求分析阶段常用工具?( D ) A、PAD B、PFD C、N-S D、DFD数据流程图 需求分析常用的是数据流程图和数据字典 13、为了提高测试的效率,应该( D) A、随机地选取测试数据 B、取一切可能的输入数据作为测试数据库 C、在完成编码后制定软件的测试计划 D、选择发现错误可能性大的数据作为测试数据 14、成功的测试是指( B发现程序的错误) A、运行测试实例后未发现错误项 B、发现程序的错误 C、证明程序正确 D、改正程序的错误 15、软件工程中只根据程序的功能说明而不关心程序内部的逻辑结构的测试方法,称为( C黑盒测试)测试。 A、白盒法 B、灰盒法 C、黑盒法 D、综合法 16、在物理设计阶段,根据处理的需要,进行物理存储安排,形成数据库的( A内模式) 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、开发完毕才见到产品 B、及早提供所有完整的软件产品 C、开发完毕后才见到工作软件 D、及早提供工作软件 7、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( ) A、条件覆盖法 B、等价分类法 C、边界值分析法 D、错误推测法 8、软件具体设计重要采用的方法是( ) A、模块设计 B、结构化设计 C、PDL语言 D、结构化程序设计 9、开发软件所需高成本和产品的低质量之间有着锋利的矛盾,这种现象称做( )

A、.软件工程 B、软件周期 C、软件危机 D、软件产生 10、按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作() A、需求分析 B、概要设计 C、具体设计 D、软件维护 11、在快速原型模型的开发过程中,仅作为需求说明的补充形式的原型是() A、探索型模型 B、演化型模型 C、实验型模型 D、提交型模型 12、程序设计语言的工程特性之一为( ) A、软件的可重用性 B、数据结构的描述性 C、抽象类型的描述性 D、数据库的易操作性 13、软件按照设计的规定,在规定期间和条件下达成不出故障,连续运营的规定的质量特性称为( ) A、可用性 B、可靠性 C、对的性 D、完整性 14、模块设计中,最不希望的内聚是() A、功能内聚 B、通信内聚 C、过程内聚 D、偶尔内聚 15、实行快速原型模型方法开发软件的关键在于() A、CASE工具的支持 B、如何开发演化型模型 C、项目主管的支持 D、开发人员的素质 16、程序流程图(框图)中的箭头代表( )。 A、数据流 B、控制流 C、调用关系 D、组成关系 17、一个只有顺序结构的程序,其环形复杂度是( )。 A、0 B、1 C、3 D、不拟定的 18、可行性分析是在系统开发的初期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因此必须给出什么样的回答。()

软件工程师练习试题附答案

软件工程师练习试题附答案 1、以下关于人员与职业道德关系的说法中,你认为正确的是( ) A每个从业人员都应该以德为先,做有职业道德的人(正确答案) B只有每个人都遵守职业道德,职业道德才会起作用 C遵守职业道德与否,应该视具体情况而定 D知识和技能是第一位的,职业道德则是第二位的 答案解析:A 2、社会主义公民道德建设的基本原则是( ) A爱国主义 B社会主义 C功利主义 D集体主义(正确答案) 答案解析:D 3、中共中央提出的科学发展观是指( ) A以效益为本,效率第一,公平第二的发展 B以人为本,公平第一,效率第二的发展 C以人为本,全面,协调,可持续的发展(正确答案) D以企业为本,全面,健康,科学的发展 答案解析:C 4、在下列做法中,符合举止得体要求的是( ) A态度谦卑(正确答案)

B感情热烈 C行为适度 D举止随意 答案解析:A 5、以下做法中,不属于诚实劳动的是( ) A员工小王经常从计算机网络上下载免费的杀毒软件 B某药店负责人降价销售由于一时疏忽而购进的劣质药品(正确答案) C经理要求员工小李一周完成的工作,结果他用了三天就完成了 D员工小张找到了一种替代的生产原料,降低了生产成本 答案解析:B 6、从业人员对待上门投诉的顾客所持的下列态度中,正确的是( ) A认为这很丢面子,尽量避免与顾客碰面 B认为有损于公司形象,想办法冷处理 C按照对方损失情况给予赔偿,让顾客尽快离开 D把这件事当作纠正错误的一次机会(正确答案) 答案解析:D 7、下列关于职业道德的说法中,你认为正确的是( ) A有职业道德的人一定能够胜任工作 B没有职业道德的人干不好任何工作(正确答案) C职业道德有时起作用,有时不起作用 D职业道德无关紧要,可有可无 答案解析:B 8、关于“跳槽”现象,正确的看法是( )

软件工程期末考试总复习题及答案

复习题 填空题 1.在信息处理和计算机领域内,一般认为软件是_程序____、_ 文档____ 和_数据____ 。 2.数据流图的基本组成部分有_数据的源点与终点____、数据 流_____、加工_____、数据文件_____。 3.数据流图和数据字典共同构成了系统的_逻辑____模型,是 需求规格说明书的主要组成部分。 4.划分模块时尽量做到__高内聚、低耦合______,保持模块的 独立性,尽量运用公共模块。 5.类的实例化是_对象_______。 6.人们常用硬件牢靠性的定量度量方法来度量软件的牢靠性和 可用性,常用的度量软件可 7.靠性的两个指标是_胜利地运行的概率_______和_平均故障 时间_______。 8.将待开发的软件细化,分别估算每一个子任务所须要的开发 工作量,然后将它们加起来, 9.将得到软件的总开发量。这种成本估算方法称为_自底向上 _______。 10.假如一个模块被n 个模块调用,其中干脆的上级模块的个数 是m 个(m<=n )那么该模块的扇入数是____N_______ 个。 11.结构化设计以__数据流图_________ 为基础,按肯定的步骤 映射成软件结构。 12.软件的风险分析可包括风险识别、风险预料和风险驾 驭(或风险管理)等3项活动。 13.软件著作权登记的3种主要类型:(1)著作权登记;(2)著 作权持续登记;(3)权利转移备案登记。 14.软件工程管理的主要内容有:项目经费管理,软件质量管理, 项目进度管理和人员管理。

15.面对对象分析的目的是对客观世界的系统进行___建模 _______________ 。 16.软件维护工作的生产性活动包括分析评价、修改设计和____ 编写程序代码_______ 等。 17.为了使应用软件适应计算机环境的变更而___修改软件 _______________ 的过程称为适应性维护。 18.一个进行学生成果统计的模块其功能是先对学生的成果进行 累加,然后求平均值,则该模块的内聚性是__________依次内聚________ 。 19.投资回收期就是使累计的经济效益等于__最初的投资费用 ______________ 所需的时间。 20.软件生存周期是指一个软件从提出开发要求起先直到__软 件废弃____为止的整个时期。 21.曾被誉为“程序设计方法的革命”的结构化程序设计,使 程序设计从主要依靠于程序员个人的自由活动变成为有章可循的一门科学。 22.从结构化程序设计到面对对象程序设计,是程序设计方法 的又一次飞跃。 23.在单元测试时,须要为被测模块设计___测试用例_______。名词说明 1.数据词典——是描述数据信息的集合,它对数据流图中的各 个元素按规定格式进行具体的描述和准确的说明,是数据流图的补充工具。 2.数据流图——他以图形的方式反映系统的数据流程 3.白盒测试——依据程序内部的结构测试程序,检验程序中的 每条路径是否都能按预定要求正确工作。有两种测试法既逻辑覆盖测试法和路径测试法 4.黑盒测试——依据程序的功能测试程序,检验与程序功能有 关的输入、输出与程序执行是否正确。有四种方法既等价分类法、边界值分析法、错误揣测法和因果图法 5.完善性维护——为了适应用户业务和机构的发展变更而对软

软件工程复习题及答案解析(完整)

一、选择 1、文档是软件产品的一局部,没有文档的软件就不称其为软件。对 2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。错 3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。错 4、建立用例模型的步骤包括确定角色、确定用例和绘制用例图。错 5、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。错 6、软件配置管理是一组标识、组织和控制修改源程序的活动。错 7、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。错 8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。对 9、边界值分析方法是取输入/输出等价类的边界值作为测试用例。对 10、面向对象的分析是面向计算机系统建立软件系统的对象模型。错 11、〔D〕是将系统化的、标准的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。 A 软件过程 B 软件测试 C 软件生存周期 D 软件工程 12、ISO9000是由ISO/TC176制定的关于〔B〕和质量保证的国际标准。 A 质量控制 B 质量管理 C 质量筹划 D 质量改良 13、CMM提供了一个框架,将软件过程改良的进化步骤组织成5个成熟度等级。除第1级外,每个等级都包含了实现该成熟度等级目标的假设 干〔B〕。 A 关键实践 B 关键过程域 C 软件过程能力 D 软件过程 14、在软件开发的各种资源中,〔D〕是最重要的资源。 A 开发工具 B 方法 C 硬件环境 D 人员 15、软件的复杂性是〔A〕,它引起人员通信困难、开发费用超支、开发时间超时等问题。 A 固有的 B 人为的 C 可消除的 D 不可降低的 16、在各种不同的软件需求中,〔D〕描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。 A 业务需求 B 功能需求 C 非功能需求 D 用户需求 17、原型化方法是用户和软件开发人员之间进展的一种交互过程,适用于〔A〕系统。 A 需求不确定的 B 需求确定的 C 管理信息 D 决策支持 18、〔A〕意味着一个操作在不同的类中可以有不同的实现方式。 A 多态性 B 多继承 C 类的可复用 D 信息隐蔽 19、时序图反映对象之间发送消息的时间顺序,它与〔D〕是同构的。 A 用例图 B 类图 C 活动图 D 协作图 20、单元测试的测试用例主要根据〔D〕的结果来设计。 A 需求分析 B 源程序 C 概要设计 D 详细设计 二、填空题 1、在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是关联关系。 2、类A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是依赖关系。 3、用例及其协作之间是实现关系。 4、接口及其实现类或构件之间是实现关系。 5、动物与老虎之间是泛化关系。 三、问答题 1、软件复用的范围不仅仅涉及源程序代码,请至少列出5种可能复用的软件元素。 可复用的软件元素包括〔选5种〕:工程方案、本钱估计、体系构造、需求模型和规格说明、设计、用户文档和技术文档、用户界面、数据构造、测试用例。 2、传统"瀑布模型"的主要缺陷是什么?试说明造成缺陷的原因。 传统"瀑布模型"的主要缺陷及其原因:在工程的早期,用户常常很难清楚地给出所有需求,瀑布模型却要求如此。由于瀑布模型的特点,早期的错误直到开发晚期才能被发现,开发的风险较大。 3、某学校需要开发一个学生成绩管理系统,教务人员可以通过该系统维护学生信息、课程信息和成绩信息,学生可以随时查询自己的成绩单,

相关文档
相关文档 最新文档