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

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

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

一、选择

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、某学校需要开发一个学生成绩管理系统,教务人员可以通过该系统维护学生信息、课程信息和成绩信息,学生可以随时查询自己的成绩单,该系统的实体关系图如下所示:

请问图中是否应该增加"教务人员"?试说明理由。

不应该增加"教务人员",因为教务人员只是该系统的一个使用者,系统不处理其属性信息。

4、下面是一段求最大值的程序,其中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; }

(1)画出该程序的控制流图,并计算其McCabe环路复杂性。

控制流图如下,McCabe环路复杂性为3。

(2)用基本路径覆盖法给出测试路径。

测试路径:Path1:①→③Path2:①→②→④→⑥→…Path3:①→②→⑤→⑥→…

(3)为各测试路径设计测试用例。

测试用例:Path1:取n=1,datalist[0] = 1,预期结果:k=0

Path2:取n=2,datalist[0] = 1,datalist[1] = 0,预期结果:k=0

Path3:取n=2,datalist[0] = 0,datalist[1] = 1,预期结果:k=1

5、下图显示了某个学校课程管理系统的部分类图,其中一个学生(student)可以知道所有注册课程的教师(instructor),一个教师也可以知道所有注册课程的学生。

现在提出一个新的需求:"一个教师也可以是某些课程的学生",那么下面设计A-C中哪一个是最好的?为什么?

设计B是最好的。学生和教员均可以从Candidate类继承而来;抽象出Role类,使Candidate类与Role类之间形成多对多的关联关系,实现了"一个人既是教师又是某门课的学生"这个需求。

设计A:设计B:

设计C:

6、所谓分层体系结构是按层组织软件的一种软件体系结构,其中每层软件建立在低一层的软件层上,下图显示了一种分层体系结构。请选择正确的答案,将其对应的序号填入图中的()。

供选择的答案:

①高效性②通用性③保密性④专用性⑤系统软件⑥中间件⑦应用软件⑧支撑软件⑨特定业务⑩子系统

一、选择

1、(A)是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。

A 软件过程

B 软件工具C质量保证D 软件工程

2、(D )是以追求更高的效益和效率为目标的持续性活动。

A 质量策划

B 质量控制 C质量保证D质量改进

3、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。除第1级外,每一级都包含了实现这一级目标的若干关键过程域,每一个关键过程域又包含若干(A)。

A关键实践B 软件过程性能C 软件过程能力 D软件过程

4、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,(C)是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。

A 业务需求

B 功能要求

C 非功能需求

D 用户需求

5、(A)意味着一个操作在不同的类中可以有不同的实现方式。

A 多态性

B 多继承

C 类的复用

D 封装

6、在面向对象的系统中,系统责任的良好分配原则是(B)。

A在类之间均匀分配B 集中分配在少数控制类中C根据交互图的消息进行分配 D根据个人喜好进行分配

7、软件配置项是软件配置管理的对象,即软件工程过程中产生的(C)。

A 接口B软件环境C信息项D版本

8、软件测试计划开始于需求分析阶段,完成于(B)阶段。

A需求分析B软件设计C 软件实现D 软件测试

二、问答题

1、判断下列叙述的正确性,将结果(√正确,×错误)填入()中,并改正错误的说法。

(1).(×)在软件开发的过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。

改正:在软件开发的过程中,一个错误修复和改正得越晚,为此所花费的代价就会越高。

(2).(√)在需求分析中,分析员要从用户那里解决的最重要的问题是明确软件做什么。

(3).(×)软件需求规格说明书在软件开发中具有重要的作用,是软件可行性分析的依据。

改正:软件可行性分析应在需求分析之前,因此,软件需求规格说明书不应成为软件可行性分析的依据。

(4).(√)模型是对现实的简化,建模是为了更好地理解所开发的系统。

(5).(×)UML语言支持面向对象的主要概念,并与具体的开发过程相关。

改正:UML语言支持面向对象的概念,并独立于具体的开发过程。

(6).(√)用例图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现。

(7).(×)好的测试用例应能证明软件是正确的。

改正:好的测试用例在于能发现至今未发现的错误。

(8).(√)白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。

(9).(√)当软件开发项目的进度有可能拖延时,增加开发人员并不能加快进度。

(10).(×)软件技术复审是由用户和测试人员实施的一种质量保证活动。

改正:软件技术复审是由软件开发人员实施的一种质量保证活动。

2、你认为一个好的软件开发人员应具备哪些基本素质?

答:(1)牢固掌握计算机软件的基本知识和技能;(2)善于分析和综合问题,具有严密的逻辑思维能力;(3)工作踏实细致,遵循标准和规范,具有严格的科学作风;(4)工作有耐心、有毅力、有责任心;(5)善于听取别人的意见,善于与周围人员团结协作,建立良好的人际关系;(6)具有良好的书面和口头表达能力。

3、需求工程包括哪些基本活动?每一项活动的主要任务是什么?

答:(1)需求获取(问题识别):采集、识别和提取用户的需求,对问题和需求形成文档化的描述,使各种人员达成一致的理解和认可。

(2)需求分析:分析和综合所采集的信息,建立系统的详细逻辑模型。

(3)需求规格说明:编写软件需求规格说明书,明确、完整和准确地描述已确定的需求。

(4)需求验证:评审软件需求规格说明,以保证其正确性、一致性、完备性、准确性和清晰性。

(5)需求管理:定义需求基线,在整个项目过程中跟踪需求状态及其变更情况。

4、为什么软件需要维护?简述软件维护的过程。

答:在软件开发完成交付用户使用后,为了保证软件在一个相当长的时期能够正常运行,就需要对软件进行维护。软件维护的过程:(1)确认维护要求。(2)对于改正性维护申请,评价错误的严重性。对于严重的错误,立即安排人员,分析问题原因,进行"救火"性的紧急维护;对于不严重的错误,根据任务情况和轻重缓急进行统一安排。(3)对于适应性和完善性维护申请,需要确定申请的优先级,然后安排维护工作。并不是所有的完善性维护申请都必须承担,需要考虑商业需要、现有资源、未来发展方向等进行决定。

5、根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。

"一个程序读入3个整数,它们分别代表一个三角形的3个边长。该程序判断所输入的整数是否构成一个三角形,以及该三角形是一般的、等腰的或等边的,并将结果打印出来。"

要求:设三角形的3条边分别为A 、B 、C ,并且

(2) 设计测试用例,格式如下:

用例n :输入【A ,B ,C 】覆盖等价类……(列出等价类序号),输出结果为……。

用例1:输入【3,4,5】覆盖等价类(1,2,3,4,5,6),输出结果为构成一般三角形。 用例2:三者取一输入【0,1,2】覆盖等价类(2),输出结果为不构成三角形。 输入【1,0,2】覆盖等价类(2),输出结果为不构成三角形。 输入【1,2,0】覆盖等价类(2),输出结果为不构成三角形。 用例3:三者取一输入【1,2,3】覆盖等价类(3),输出结果为不构成三角形。 输入【1,3,2】覆盖等价类(3),输出结果为不构成三角形。 输入【3,1,2】覆盖等价类(3),输出结果为不构成三角形。 用例4:三者取一输入【3,3,4】覆盖等价类(1)(4),输出结果为等腰三角形。 输入【3,4,4】覆盖等价类(1)(4),输出结果为等腰三角形。 输入【3,4,3】覆盖等价类(1)(4),输出结果为等腰三角形。 用例5:输入【3,4,5】覆盖等价类(1)(5),输出结果为不是等腰三角形。 用例6:输入【3,3,3】覆盖等价类(1)(6),输出结果为等边三角形。

用例7:三者取一输入【3,4,4】覆盖等价类(1)(4)(7),输出结果为不是等边三角形。 输入【3,4,3】覆盖等价类(1)(4)(7),输出结果为不是等边三角形。 输入【3,3,4】覆盖等价类(1)(4)(7),输出结果为不是等边三角形。

6、下图显示了配置管理中的存取和控制,请选择合适的答案,将其对应的序号填入( )中。A ① B ⑥ C ⑨ D ⑧

供选择的答案:A : ① 软件工程人员 ② 配置人员 ③ 质量保证人员B : ④ 异步控制 ⑤ 同步控制 ⑥ 存取控制 C ~D : ⑦ 管理 ⑧ 登入 ⑨ 检出 ⑩ 填写变更请求

7、UML 关系包括关联、聚合、泛化、实现、依赖等5种类型,请将合适的关系填写在下列描述的( )中。 ① 用例及其协作之间是(实现)关系。

② 在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是(关联)关系。 ③ 类A 的一个操作调用类B 的一个操作,且这两个类之间不存在其他关系,那么类A 和类B 之间是(依赖)关系。

④在MFC类库中,Window类和DialogBox类之间是(泛化)关系。

⑤森林和树木之间是(聚合)关系。

8、下图显示了某个学校课程管理系统的部分类图,其中一个学生(student)可以知道所有注册课程的教师(instructor),一个教师也可以知道

所有注册课程的学生。

现在提出一个新的需求:"一个教师也可以是某些课程的学生",那么下面设计A~C中哪一个是最好的?为什么?

设计C最好。学生和教员均可以从Candidate类继承而来;抽象出Role类,使Candidate类与Role类之间形成多对多的关联关系,实现了"

一个人既是教师又是某门课的学生"这个需求。

设计A:

设计B:

设计C:

一、选择

1、在软件生存周期的瀑布模型中一般包括计划、(C)、设计、编码、测试、维护等阶段。

A 可行性分析

B 需求采集

C 需求分析

D 问题定义

2、ISO9000是由ISO/TC176制定的关于(B)和质量保证的国际标准。

A 质量控制

B 质量管理

C 质量策划

D 质量改进

3. 软件工程的基本要素包括方法、工具和(A)。

A过程B 软件系统C 硬件环境D 人员

4. 软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。

A 固有的

B 人为的

C 可消除的

D 不可降低的

5. 软件需求分析阶段的测试手段一般采用(C)。

A总结B 阶段性报告C 需求分析评审D 不测试

6. (C)是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。

A多态性 B继承 C 封装D 消息

7. 协作图反映收发消息的对象的结构组织,它与(D)是同构的。

A用例图B类图C 活动图D 时序图

8. 软件测试是为了(B)而执行程序的过程。

A纠正错误B发现错误C 避免错误D 证明正确

9. 面向对象分析是对系统进行(A)的一种方法。

A需求建模B 程序设计C 设计评审D 测试验收

10. 在结构化分析方法中,(C)表达系统内部数据运动的图形化技术。

A 数据字典

B 实体关系图

C 数据流图

D 状态转换图

11、在项目计划发生延迟的情况下,增加更多的程序员一定会加快进度。错

12、软件错误可能出现在开发过程的早期,越早修改越好。对

13、不完善的系统定义往往是导致软件项目失败的主要原因。对

14、一个成功的项目唯一提交的就是运行程序。错

15、只有质量差的软件产品才需要维护。错

16、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。错

17、一个好的测试用例在于能发现至今未发现的错误。对

18、面向对象的分析是面向计算机系统建立软件系统的对象模型。错

19、软件工作的考虑范围主要是程序设计和实现。错

20、等价类划分方法将所有可能的输入数据划分成若干部分,然后从每一部分中选取少数有代表性的数据作为测试用例。对

二、问答题

1、(共10分)下图显示了McCall质量模型,请选择正确的答案,并将其对应的序号填入图中的括号( 3596)。

供选择的答案:①高效性②通用性③可测试性④专用性⑤可复用性⑥可使用性⑦应用软件⑧支撑软件⑨正确性⑩硬件环境2、(共10分)UML关系包括关联、聚合、泛化、实现、依赖等5种类型,请将合适的关系填写在下列描述的()中。

1. 在学校中,一个导师可以指导多个研究生,一个研究生可以由多个导师指导,那么导师和研究生之间是(关联)关系。

2. 交通工具与卡车之间是(泛化)关系。

3. 公司与部门之间是(聚合)关系。

4. 图形与矩形之间是(泛化)关系。

5. 参数类及其实例类之间是(实现)关系。

3、(共20分)回答下列问题:

1. 软件工程的基本目标是什么?

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

(1)合理预算开发成本,付出较低的开发费用;

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

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

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

2. 原型化方法主要用于解决什么问题?试说明这种方法的主要优缺点。

建立原型的主要原因是为了解决在产品开发的早期阶段需求不确定的问题,用户、经理和其他非技术项目风险承担者发现在确定和开发产品时,原型可以使他们的想象更具体化。原型在软件开发过程中可以起到以下主要作用:

(1)明确并完善需求原型作为一种需求工具,它初步实现所理解的系统的一部分。用户对原型的评价可以指出需求中的许多问题,在你开发真正产品之前,可以最低的费用来解决这些问题。

(2)探索设计选择方案原型作为一种设计工具,用它可以探索不同的用户界面技术,使系统达到最佳的可用性,并且可以评价可能的技术方案。

(3)发展为最终的产品原型作为一种构造工具,是产品最初子集的完整功能实现,通过一系列小规模的开发循环,你可以完成整个产品的开发。

3. 在下列用例图中,哪些是系统角色?

Bank network、Manager、Clerk

4、(共20分)下面是一段插入排序的程序,将R[k+1]插入到R[1…k]的适当位置。

R[0] = R[k+1];

j = k;

while (R[j] > R[0]){

R[j+1] = R[j];

j--;}

R[j+1] = R[0];

用路径覆盖方法为它设计足够的测试用例(while循环次数为0、1、2次)。

画出该程序的流程图:测试用例设计

单项选择题

1. 哪个活动可在可行性分析阶段进行?(D)

A.编码

B.测试

C.设计

D.制订市场营销计划

2. 在数据流程图中,有名字及方向的成分是(C)。

A.控制流

B.信息流

C.数据流

D.信号流

3. 以下各图中不是UML使用的图是(A)。

A.数据流程图

B.用例图

C.类图

D.顺序图

4. 下图中,类的关系是(A)。

A.依赖

B.关联

C.聚集

D.泛化

5. 甘特图是一种(D)。

A.UML模型

B.过程模型

C.系统构架的抽象模型

D.进度计划的表达方式

6. 下面不属于软件配置管理任务的是(D)。

A.变更控制

B.配置审核

C.状态报告

D.用例分析

7. 数据耦合、公共耦合、印记耦合、控制耦合的耦合性从低到高的顺序是(B)

A.数据、公共、印记、控制

B.数据、印记、控制、公共

C.控制、数据、印记、公共

D.控制、数据、公共、印记

8. 软件需求分析的主要任务是准确地定义出要开发的软件系统是(C)

A.如何做

B.怎么做

C.做什么

D.对谁做

9. 可行性分析研究的目的是(B)

A.争取项目

B.项目值得开发否

C.开发项目

D.规划项目

10. 具有风险分析的软件生存周期模型是(C)

A.瀑布模型

B.喷泉模型

C.螺旋模型

D.增量模型

11. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)

A.软件工程

B.软件周期

C.软件危机

D.软件产生

12. 程序的三种基本控制结构的共同特点是(C)

A.只能用来描述简单程序 B.不能嵌套使用C.单入口,单出口D.仅用于自动控制系统

13. 数据字典是用来定义_________中的各个成份的具体含义的。(D)

A.流程图B.功能结构图C.系统结构图D.数据流图

14. 为了使软件具有清晰结构和良好的风格,下面关于程序设计风格的叙述不可取的有(C)

A. 尽量不要进行浮点数的相等比较

B. 应当有适量的注释

C. 尽可能对代码优化

D. 使用有意义的标识符

15. 使用白盒技术设计测试用例的方法包括(B)

A.边界值分析

B.循环测试

C.等价类划分

D.回归测试

16. 下列模块内聚中,内聚性最强的是(A)。

A.功能内聚

B.偶然内聚

C.过程内聚

D.顺序内聚

17. 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是(C)

A.条件覆盖法

B.等价分类法

C.边界值分析法

D.错误推测法

18. 下列哪一种程序设计语言不是面向对象的(D)。

A.C++

B.JA V A

C.C#

D.C

19. 下列测试方法不属于集成测试的是(D)。

A.自顶向下

B.自底向上

C.三明治测试

D.自中间向两极测试

20. 关于用例的概念,下列说法不正确的是(C)。

A.用例是一个连贯的功能性单元

B.用例是通过Actor确认的

C.可以借助状态转换图来描述用例

D.用例是一个类,而不是事件

21. 源程序文档化要求在每个模块之前加序言性注释。该注释内容不应有(B)

A.模块的功能

B.语句的功能

C.模块的接口

D.开发历史

22. DFD中的每个加工至少需要(D )

A. 一个输入流

B. 一个输出流

C. 一个输入或输出流

D. 一个输入流和一个输出流

23. 为了提高模块的独立性,模块之间最好是( D)

A. 控制耦合

B. 公共耦合

C. 内容耦合

D. 数据耦合

24. 测试的关键问题是(D )

A. 如何组织对软件的评审

B. 如何验证程序的正确性

C. 如何采用综合策略

D. 如何选择测试用例

25. 软件维护困难的主要原因是(C )

A. 费用低

B. 人员少

C. 开发方法的缺陷

D. 得不到用户支持

26. 源程序文档化要求在每个模块之前加序言性注释。该注释内容不应有(D)

A. 模块的功能

B. 语句的功能

C. 模块的接口

D. 开发历史

27. 结构化程序设计采用的三种基本控制结构是(C)

A. 顺序、分支、选择

B. 选择、循环、重复

C. 顺序、选择、循环

D. 输入、变换、输出

28. 通信内聚、过程内聚、顺序内聚和时间内聚的内聚性从高到低顺序是(D)

A.通信、过程、顺序、时间

B.通信、时间、顺序、过程

C.顺序、通信、时间、过程

D.顺序、通信、过程、时间

29. 使用程序设计的控制结构导出测试用例的测试方法是(B)

A、黑盒测试

B、白盒测试

C、边界测试

D、系统测试

30. 软件工程学的目的应该是最终解决软件生产的(B)问题。

A.提高软件的开发效率

B.使软件生产工程化

C.消除软件的生产危机

D.加强软件的质量保证

31. 软件过程模型有多种,下列选项中,(C)不是软件过程模型。

A.螺旋模型

B.增量模型

C.行为模型

D.瀑布模型

32. 准确地解决“软件系统必须做什么”是(C)阶段的任务。

A.可行性研究

B.详细设计

C.需求分析

D.编码

33 下列哪个是RAD模型的优点(B)。

A.适用于可变需求

B.开发速度快

C.适用于高风险项目

D.可用于超大规模软件项目开发

34. 瀑布模型是一种什么模型?(B)

A.风险驱动模型B.线性开发模型C.增量模型D.迭代模型

35. 下列哪个不属于软件的基础特征量?(D)

A. 软件规模

B.开发成本

C.开发期限

D.软件完整性

36. 软件需求分析应确定的是用户对软件的(A)。

A. 功能需求和非功能需求

B. 性能需求

C. 非功能需求

D. 功能需求

37. 在软件开发中,(A)是指对将要开发的系统的开发成本进行估算,然后与可能取得的效益进行比较和权衡。

A.成本—效益分析

B.可行性分析

C.结构化分析

D.软件需求分析

38. 瀑布模型的关键不足在于(D)。

A. 过于简单

B. 各个阶段需要进行评审

C. 过于灵活

D. 不能适应需求的动态变更

39. 下面说法正确的是(C )。

A. 经过测试没有发现错误说明程序正确

B. 测试的目标是为了证明程序没有错误

C. 成功的测试是发现了迄今尚未发现的错误的测试

D. 成功的测试是没有发现错误的测试

40. 软件部件的内部实现与外部可访问性的分离,是指软件的(C)。

A、继承性

B、共享性

C、封装性

D、抽象性

41. 下面哪个不属于良好的人机界面设计原则?(B)

A. 系统的全部界面格式和风格一致

B. 为不同的用户和功能提供一致的界面服务

C. 力求用户输入量最少

D. 具有帮助功能

42. 当模块中包含复杂的条件组合,只有(A)能够清晰地表达出各种动作之间的对应关系。

A判定表和判定树B盒图C流程图D关系图

43. 下面哪个不是基于抽象的软件设计原则?(C ) A .里氏替换原则 B. 开-闭原则 C. 远离实现原则 D. 依赖倒转原则

44. 假设目标系统如下图的层次结构,对其按宽度优先顺序进行集成测试,正确的顺序是(B )。

a

l

k

j g

i f h e d

c

b

m

A. abehcfidgilmk

B. abcdefghijklm

C. abehcdfigjklm

D. lmhijkefgbcda 45. 下列哪个阶段不是软件生存期三个阶段中的内容(C)。 A . 定义阶段B . 开发阶段C . 编码阶段D . 维护阶段 46. 模块的内聚性最高的是(D )

A.逻辑内聚

B.时间内聚

C.偶然内聚

D.功能内聚

47 采用甘特图表示软件项目进度安排,下列说法中正确的是(D)

A.能够反映多个任务之间的复杂关系

B.能够直观表示任务之间相互依赖制约关系

C.能够表示哪些任务是关键任务

D.能够表示子任务之间的并行和串行关系 48. DFD 中的每个加工至少需要(D)

A. 一个输入流

B. 一个输出流

C. 一个输入或输出流

D. 一个输入流和一个输出流 49. 下列关于功能性注释不正确的说法是( B)

A. 功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态

B. 注释用来说明程序段,需要在每一行都要加注释

C. 可使用空行或缩进,以便很容易区分注释和程序

D. 修改程序也应修改注释

50. 需求规格说明书的作用不包括(C )

A .软件验收的依据

B .用户与开发人员对软件要做什么的共同理解

C .软件可行性研究的依据

D .软件设计的依据

51. 为了克服软件危机,人们提出了用( D)的原理来设计软件,这就是软件工程诞生的基础。 A. 数学 B. 软件学 C. 运筹学 D. 工程学 52. 以下哪一项不是软件危机的表现形式(C )。

A. 开发的软件不满足用户需要

B. 开发的软件可维护性差

C. 开发的软件价格便宜

D. 开发的软件可靠性差

53. 结构化设计是一种面向( A)的设计方法。 A . 数据流B. 模块 C. 数据结构D. 程序 54. 与确认测试阶段有关的文档是( A)。

A. 需求规格说明书

B. 概要设计说明书

C. 详细设计说明书

D. 源程序 55 软件开发的需求活动,其主要任务是(D )。

A. 给出软件解决方案

B. 给出系统模块结构

C. 定义模块算法

D. 定义需求并建立系统模型 56. 一个项目是否开发,从经济上来说是否可行,归根结底是取决于( A)。 A. 成本估算B. 项目计划C. 工程管理D. 工程网络图

57. 在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有(B )。 A. 隐藏复杂性B. 信息隐蔽 C. 经常类的复用D. 类的开发

58. 面向对象的主要特征除对象惟一性、封装、继承外,还有(A )。 A. 多态性B. 完整性 C. 可移植性D. 兼容性 59、软件是一种(C )

A 、程序

B 、数据

C 、逻辑产品

D 、物理产品

60、软件部件的内部实现与外部可访问性的分离,是指软件的(C )。 A 、继承性B 、共享性 C 、封装性D 、抽象性

61、单元测试是发现编码错误,集成测试是发现模块的接口错误,确认测试是为了发现功能错误,那么系统测试是为了发现(C )的错误。

A、接口错误

B、编码错误

C、性能、质量不合要求

D、功能错误

二、填空题

1由客户和用户在软件开发团队的管理下执行的测试称作B测试。

2“软件生命周期”理论将软件过程划分到软件开发的三个时期中,分别是软件定义时期、软件开发时期和___________。

3设银行年利率为i,假设n年后能收入F元,则当前的价值为_____________。

4数据流程图是一个分层的概念模型,分为三个层次,分别是总体图、实施图、细节图。

5数据字典定义了4种元素,分别是数据元素、数据字典、处理和数据文件或者数据库。

6时序图、协作图、状态图这些都属于UML中的行为建模图。

7一个软件项目中,对LOC进行估计,保守值为1000,最有可能值为800,乐观值为600,则可估计出期望值为800。

8数据流程图又称实施图,用来表示系统中的计算节点的拓扑结构和通信路径与节点上运行的软构件等。

9当A模块调用B模块时,若两个模块之间传递的是数值型参数,则这两个模块的耦合方式是数据耦合。10数据流图中的箭头表示数据流。

11软件设计活动一般分为总体设计和详细设计,前者的目的是确定目标系统的总体结构,后者是在此基础上进一步精化。

12RUP模型将软件开发过程分为4个大的阶段,分别是先启、精化、构建和产品化。

13由客户和用户在他们的工作现场进行的测试称作__________。

14软件设计活动一般分为总体设计和详细设计两个阶段。

15传统的结构化软件工程方法中,人们通过面向对象分析提高模块的抽象程度。

16依据模块的编码导出测试用例,这种测试称作测试用例。

17程序的三种基本控制结构包括顺序结构、选择结构和循环结构。

18在单元测试时,需要为被测模块设计驱动模块与桩模块。

19需求分析应交付的主要文档是需求规格说明。

20设计出软件的初步结构以后,应该进一步分解或合并模块,力求降低耦合提高内聚。

21划分模块时尽量做到高低内聚耦合,保持模块的独立性。

22类的实例化是用类创建对象的过程。

23若年利率为i,现存入P元,n年后可得钱数为F=P×i×n+P。

24在面向对象方法中,对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。

25类中操作的实现过程叫方法。

26在处理过程定义中,对于复杂的条件组合问题,用自然语言不能直观清楚地表述,因此常常使用判定表、判定树方法。

27软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、测试、运行与维护阶段。

28一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加,然后求平均值,则该模块的内聚性是顺序内聚。

29从结构化程序设计到面向对象,是程序设计方法的又一次飞跃。

30软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、测试、运行与维护阶段。

31数据流图的基本符号包括外部实体、数据处理、数据存储和数据流。

三.简答题

1.什么是软件工程?

答:是指用工程、科学和数学的原则与方法开发、维护计算机软件的有关技术和管理方法。

2.功能内聚和顺序内聚各有什么特点?哪一个的内聚程度更高?

答:顺序内聚指一个模块中各个处理元素都密切相关同一功能且必须顺序执行,前一功能的输出就是下一功能元素的输入。功能内聚是最高程度的内聚;

3.RUP模型的优点有哪些?

答:各个图之间的关系去看UML相关的书籍。目的很明显是用图形代替描述性的语言更加直观,容易参照和业务沟通。

4.对系统进行抽象设计有哪些优点?

5.传统的构架建模方法有哪些?传统的详细设计建模方法有哪些?面向对象的设计建模方法又有哪些?

(每种要求至少说出2种)

6.数据字典与数据流程图和状态变迁图相比较有什么特点?它的基本元素有哪些?

答:数据流程图反映了系统的静态特征,状态变迁图反映了系统的动态特征。而它们都不能反映系统的具体细节。

数据字典能够进一步描述模型的细节。以数据字典为中心的建模方法能够相对完整精确地描述一个系统。数据字典的主要元素有:数据元素、数据流、处理和数据文件或者数据库。

7.详细设计的任务是什么?具体包括哪些?

答:详细设计的任务是在软件构架的基础上,进一步确定如何实现目标系统,具体包括系统的模块逻辑的详细设计、系统数据结构的设计、系统数据库结构的设计、系统人-机接口的设计。

8.什么是白盒测试?白盒测试主要有哪几种测试技术?

答:白盒测试又称玻璃盒测试。使用白盒方法导出测试用例是依据模块的编码,即模块的内部逻辑,对测试者是可见的,故称白盒测试。白盒测试主要有基本途径测试、条件测试和循环测试等。

9.软件开发有哪些特性?

10 增量模型有哪些优点?

11 瀑布模型的主要缺陷是什么?

答:按照瀑布模型来开发软件,只有当分析员能够做出准确的需求分析时,才能够得到预期的正确结果。

12 类之间的关系有哪些?

13 什么是黑盒测试法?什么是白盒测试法?

答:黑盒测试是把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程又称功能测试;也就是说,在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当的接受输入数据产生正确的输出信息,并且保持外部信息的完整性。

白盒测试可以把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程又称结构测试;按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作。14软件实施活动就是编码吗?为什么?

15作为软件工程中的重要环节,软件配置管理的任务有哪些?

四.设计题

1分析如下DFD图,指出其中有哪些错误?

(1)父图的处理1没有输入流(2)子图的数据流B应为C(3)子图的数据流F多余

2假设一个数据库产品规范要求该产品能够处理从1到1000中间的任何数量的记录。请首先为其划分等价类,并利用等价类划分和边界值分析技术为其设计测试用例,并说明每个测试用例属于某等价类成员还是属于边界值或是邻接边界值。

等价类1:少于1个记录

等价类2:1到1000个记录

等价类3:多于1000个记录

测试用例1:0个记录等价类1成员且邻接边界值

测试用例2:1个记录边界值

测试用例3:2个记录邻接边界值

测试用例4:100个记录等价类2的成员

测试用例5:999个记录邻接边界值

测试用例6:1000个记录边界值

测试用例7:1001个记录等价类3成员且邻接边界值

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

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

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

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

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

( 5 )生成工资表—根据计算总额部分和计算税金部分传递来的有关职工工资的详细信息生成工资表。试根据要求画出该问题的数据流程图。

4一个考试录取统计分数子系统有如下功能:

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

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

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

5阅读如下程序,说出该程序属于哪种耦合方式,为什么?并说明可以采用何种方式降藕。

public class Test{

public int calSum(Worker w) //Worker为类名{

int wLevel=w.getLevel();

int wSalary=w.getSalary();

//计算工人奖金收入等}.......}

这段程序存在印记耦合,因为该程序将类声明为了方法的参数类型。可采用接口或者简单参数类型的方法降藕。

6首先说出什么是基本途径测试,然后为以下程序流程图设计基本途径测试的测试用例,并标明路径。

基本途径测试是指覆盖基本途径集合的试验用例将使程序中的每条语句至少执行一次。

测试用例如下:x=3,y=0,z=3(覆盖x>2,y=0,x=3,z>1,通过路径abcde);

x=1,y=1,z=1(覆盖x≤1,y≠0,x≠2,z≤1,通过路径ace)。

7某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习,高中文化程度当电工;年龄在20岁至35岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员;年龄在35岁以上者,中学文化程度当材料员,大学文化程度当技术员。请根据以上材料分别采用伪码和判定树两种方式描述之。

伪码表示:

IF 年龄<20 THEN

IF 文化程度=初中THEN

脱产学习

ELSE

工作为电工

ENDIF

ELSE

IF 年龄≤35 THEN

IF 文化程度=大学THEN

工作为技术员

ELSE

IF 性别=男性THEN

工作为钳工

ELSE

工作为车工

ENDIF

ENDIF

ENDIF

ELSE

IF 文化程度=大学THEN

工作为技术员

ELSE

工作为材料员

ENDIF

ENDIF

判定树表示:

8阅读下列说明,回答问题。

说明:某图书管理系统的主要功能如下:

1.图书管理系统的资源目录中记录着所有可供读者借阅的资源,每项资源都有一个唯一的索引号。系统需登记每项资源的名称、出版时间和资源状态(可借阅或已借出)。

2.资源分两类:图书和唱片。对于图书,系统还需登记作者和页数;对于唱片,还需登记演唱者和介质类型(CD或磁带)。

3.读者信息保存在该系统的读者信息数据库中,记录的信息包括:读者的识别码和姓名。系统为每个读者创建了一个借书记录文件,用来保存读者所借资源的相关信息。

建立如下类图,回答问题。

(1)请从名词表中挑选名词为a、b、c三个类替换类名。

a 资源目录

b 图书

c 唱片

(2)资源条目和b、c三个类都有各自的属性,请分别写出它们的属性名。

资源条目属性:索引号、名称、出版时间、资源状态

图书属性:作者、页数

唱片属性:演唱者、介质类型

(3)识别关系多重度,完成(1)(2)(3)(4)。

(1)1 (2)0··n或0··* (3) 0··n或0··* (4)1

9比较下列两段语句,从编码风格的角度分析其优、劣。

程序段一:

/ position_x is the position x of object; position_y is the position y of object; /

if a>b then

a=b

else

if position_x>position_y then

b=position_y

else

a=position_x

end if

end if

程序段二:

if a>b

then

if x>y

then

b=y

else

a=x

end if

else

a=b

end if

程序段一比程序段二好(1)开头给出了序言性注视(2)使用了缩进使程序结构更清晰(3)变量名定义更清楚

10某个用户输入设定有如下规则:只能输入‘#’或三位数字;假定设计的程序可接受所有符合规定的密码,请使用等价类划分法为其设计测试用例,并给出预期结果是有效还是无效。

划分等价类

有效等价类测试用例1:# 有效

测试用例2:123 有效

无效等价类测试用例3:A12 无效

测试用例4:12 无效

测试用例5:1234 无效

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

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

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

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

该系统的总体图如下图所示,请画出该系统的零级图。

五.综合题

1. 假设你需要划出一个小组专门开发一个组件,该组件的乐观尺寸Sopt为7000LOC,最有可能尺寸Sm为9000LOC,保守尺寸Spress为14000LOC;这种组件的平均生产率为500LOC/月,平均开发成本为每月6000元。请根据以上给出的条件计算该组件的开发成本以及该小组的工作量,要求给出计算步骤。

首先计算该组件的LOC估计值

EV=(Sopt+4Sm+Spress)/6=(7000+4*9000+14000)/6=9500行

该组件的每行近似成本为6000/500=12元

组件的开发成本为12*9500=114000元

则所需工作量为9500/500=16人-月

2. 假设你是一个公司的项目经理,将要接手一个软件项目,开发一个电子商务网站,你的团队有60人左右,且拥有丰富的架站经验,对于该项目所要使用的J2EE平台十分熟悉,并且在以往的开发过程中积累了大量可复用的构件。不过客户要求的时间非常急,只有3个月。试根据材料回答如下问题:

(1)作为项目经理,你将采用何种过程模型进行开发?为什么?

采用RAD模型开发。原因:团队人力资源充足,技术经验丰富,又有类似的开发经历并拥有可复用构件,在客户要求开发速度的情况下RAD模型是非常好的选择。

(2)假设项目实际进行时的进度情况与计划情况不一致,有可能造成无法按期完工的情况,作为项目经理,你该如何应对?

答:A项目持续时间压缩法,如赶工或并行实施;B资源分配平衡技术,如把稀缺的资源先分配给关键路径上的任务;C时差法,如将紧缺资源从时差较长的任务调整到关键任务上;D时间-成本平衡法,通过增加最低相关成本来缩短工期。

3. 假设您刚刚升任一家软件公司的项目经理,将率领一个40人的团队,用https://www.wendangku.net/doc/0a3009551.html,开发一个在线购物系统。该系统应用前景良好。不过您所在的公司之前一直使用J2EE平台开发,对微软的.NET不够熟悉,好在客户要求的时间不是很紧,有12个月的时间可用于开发。请根据以上材料回答如下问题:

(1)您打算采用何种软件过程模型来组织开发?为什么?

RUP模型或增量模型、螺旋模型等。原因:项目规模较大,需要多人协作开发;需求不清楚,缺乏相关领域的经验;技术基础薄弱,缺乏准备;使用此类演进模型,可以再开发过程中与用户很好地交互,减少开发风险。可在早期迭代中构造原型产品,尽快熟悉业务需求;在后面的迭代中,完善构架,逐步开发出符合用户需求的产品。

(2)作为项目经理,请你分析该项目可能存在的风险有哪些?

刚刚当上项目经理,缺乏管理经验;项目规模大,需要足够的人力支持;缺乏领域经验,用户需求还不够清楚;技术经验缺乏等。

以图书管理系统为例

1.需求分析阶段有哪些任务要完成?文档内容有哪些

答:一、确定对系统的综合要求

1. 功能需求:这方面的需求指定系统必须提供的服务。通过需求分析应该划分出系统必须完成的所有功能。

2. 性能需求:性能需求指定系统必须满足的定时约束或容量约束,通常包括速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等方面的需求。

3. 可靠性和可用性需求:可靠性需求定量地指定系统的可靠性。可用性与可靠性密切相关,它量化了用户可以使用系统的程度。

4. 出错处理需求:这类需求说明系统对环境错误应该怎样响应。例如,如果它接收到从另一个系统发来的违反协议格式的消息,应该做什么?注意,上述这类错误并不是由该应用系统本身造成的。

5. 接口需求:接口需求描述应用系统与它的环境通信的格式。常见的接口需求有:用户接口需求;硬件接口需求;软件接口需求;通信接口需求。

6. 约束:设计约束或实现约束描述在设计或实现应用系统时应遵守的限制条件。在需求分析阶段提出这类需求,并不是要取代设计(或实现)过程,只是说明用户或环境强加给项目的限制条件。常见的约束有:精度;工具和语言约束;设计约束;应该使用的标准;应该使用的硬件平台。

7. 逆向需求:逆向需求说明软件系统不应该做什么。理论上有无限多个逆向需求,我们应该仅选取能澄清真实需求且可消除可能发生的误解的那些逆向需求。

8. 将来可能提出的要求:应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。注意:举例让学生理解:这样做的目的是,在设计过程中对系统将来可能的扩充和修改预做准备,以便一旦确实需要时能比较容易地进行这种扩充和修改。

二、分析系统的数据要求

任何一个软件系统本质上都是信息处理系统,系统必须处理的信息和系统应该产生的信息在很大程度上决定了系统的面貌,对软件设计有深远影响,因此,必须分析系统的数据要求,这是软件需求分析的一个重要任务。

分析系统的数据要求通常采用建立数据模型的方法(举例)。

三、导出系统的逻辑模型

综合上述两项分析的结果可以导出系统的详细的逻辑模型,通常用数据流图、实体-联系图、状态转换图、数据字典和主要的处理算法描述这个逻辑模型。

四、修正系统开发计划

根据在分析过程中获得的对系统的更深入更具体的了解,可以比较准确地估计系统的成本和进度,修正以前制定的开发计划。

2.类之间有哪些关系?

答:类与类之间有继承与被继承、父类与子类这样的关系

3.详细设计阶段任务有哪些?文档内容有哪些

答:详细设计包括业务对象设计、功能逻辑设计、数据库设计和界面设计等工作。详细设计是系统实现的依据,需要考虑所有的设计细节。一、可行性分析二、数据流程图三、数据库设计

四、总体结构和模块设计五、功能分配六、程序模块示意图七、维护设计

4.概要设计文档的内容有哪些

一、引言:1. 编写目的 2. 项目背景 3. 参考资料

二、需求概述:4. 目标5.运行环境 6. 功能需求7. 性能需求

三、系统概要设计:8. 系统体系结构9. 程序数据流图

四、系统数据结构设计:10. 系统数据分析11. 系统数据结构描述

软件工程试题及答案

4. 面向对象的分析方法主要是建立三类模型,即( D )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性 D) 实体、属性、操作 9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[, ],现从输入的角度考虑一组测试用例:, , , . 设计这组测试用例的方法是( c ) A.条件覆盖法 B.等价分类法C.边界值分析法 D.错误推测法 10、详细设计的基本任务是确定每个模块的( d )A.功能B.调用关系C.输入输出数据 D.算法 11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( a ) A.模块化的根据 B.逐步求精的根据 C.抽象的根据 D.信息隐藏和局部化的根据13.面向数据流的设计方法把( D )映射成软件结构。 A.数据流 B.系统结构 C.控制结构 D.信息流 14.内聚程度最低的是( A.偶然 )内聚A.偶然 B.过程 C.顺序 D.时间 15.确定测试计划是在( D )阶段制定的.A.总体设计 B.详细设计 C.编码 D.测试 16.需求分析的产品是( D ) A.数据流程图案 B.数据字典 C.判定表D.需求规格说明书 17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C ) A.数据库设计 B.数据通信 C.数据定义 D.数据维护 18.( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。 A.增量模型 B.喷泉模型 C.原型模型D.螺旋模型 (×)2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等测试。 (×)4、软件需求分析的任务是建立软件模块结构图。 (√)5、尽可能使用高级语言编写程序(×)6、以结构化分析方法建立的系统模型就是数据流图。 (×)7、进行总体设计时加强模块间的联系。(×)8、编码时尽量多用全局变量. (√)9、用CASE环境或程序自动生成工具来自动生成一部分程序.(×)10、软件测试是要发现软件中的所有错误。 1. 软件生命期各阶段的任务是什么答:软件生命期分为7个阶段:1、问题定义:要解决的问题是什么 2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性 3、需求分析:系统必须做什么 4、总体设计:系统如何实现,包括系统设计和结构设计 5、详细设计:具体实现设计的系统 6、实现:编码和测试 7、运行维护:保证软件正常运行。 2、软件重用的效益是什么?

软件工程复习试题及答案.

一、填空题(在下划线上填写正确的答案,每题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.可行性研究,应从技术可行性、经济可行性、运行可行性和法律和社会效益

软件工程试题及答案34385

软件工程期末试卷(A) 说明:本试卷为04级计算机专业(专升本)软件工程期末试卷,总计100分,时间100分钟 一、选择题:(每题1分,共20分)(将答案写在题号前的()中) ( C )1. 软件是()。 A. 处理对象和处理规则的描述 B. 程序 C. 程序及其文档 D. 计算机系统 ( B )2. 软件需求规格说明的内容不应包括()。 A. 主要功能 B. 算法的详细描述 C. 用户界面及运行环境 D. 软件的性能 ( B )3. 程序的三种基本控制结构是()。 A. 过程、子程序和分程序 B. 顺序、选择和重复 C. 递归、迭代和回溯 D. 调用、返回和转移 ( D) 4. 面向对象的分析方法主要是建立三类模型,即( )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 ( C ) 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、操作 ( A ) 6. 各种软件维护的类型中最重要的是( )。 A) 完善性维护B) 纠错性维护C) 适应性维护D) 预防性维护 ( B ) 7.软件测试的目标是()。 A. 证明软件是正确的 B. 发现错误、降低错误带来的风险 C. 排除软件中所有的错误 D. 与软件调试相同 ( D )8.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测试 D.软件维护 ( C )9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是()A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 ( D )10、详细设计的基本任务是确定每个模块的( )设计 A.功能 B.调用关系 C.输入输出数据 D.算法 ( A )11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:() A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据 ( D )12.下面几种白箱测试技术,哪种是最强的覆盖准则() A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖

软件工程试题及答案

软件工程 窗体顶端 1: 92.下面说法哪个不属于设计准则() 1.①提高模块的内聚,降低模块间的耦合 2.②降低模块接口的复杂程度 3.③模块大小要适中 4.④模块要有重用性 2:88.计算机的体系结构对程序设计语言具有() 1.①反作用 2.②促进作用 3.③抑制作用 4.④完善作用 3:79.程序图的作用是() 1.①定性度量软件的复杂程度 2.②定量度量软件的复杂程度 3.③预测软件的质量标准 4.④估计软件中的错误数量 4: 87.下面说法正确的是() 1.①模块的作用域在模块的控制域之内 2.②模块的控制域在模块的作用域之内 3.③模块的作用域和模块的控制域有时相同

4.④模块的作用域和模块的控制域都是一种层次结构5:94.等价类划分属于() 1.①白盒测试 2.②黑盒测试 3.③穷尽测试 4.④系统测试 6:90.软件维护组织包括() 1.①系统维护人员和系统管理人员 2.②系统程序员和硬件维护人员 3.③系统程序员和操作员 4.④打字员和软件工程师 7: 86.可行性研究阶段使用的图形工具是() 1.①DFD图 2.②N-S图 3.③PAD图 4.④Warnier图 8: 85.好的软件结构它的外观形状一般呈() 1.①线性 2.②扇形 3.③椭圆形 4.④层次型

9: 93.变换型结构的数据流呈() 1.①线性形状 2.②辐射状 3.③椭圆形 4.④阶梯形 10:78.结构化程序设计就是要() 1.①保留GOTO语句 2.②取消前转GOTO语句 3.③限制GOTO语句的使用 4.④取消后转GOTO语句 11: 89.若要保证开发出来的软件局部优化,而且能尽早发现设计上的错误,应采用() 1.①自顶向下的开发方法 2.②自底向上的开发方法 3.③渐增式的开发方法 4.④非渐增式的开发方法 12: 软件工程的七条基本原理中有一条是“坚持进行阶段评审”,要这么做的理由有(1 )。 ①大部分错误是在编码之前造成的 ②在软件开发过程中插入阶段评审是为了张弛有度、提高开发效率 ③错误发现得越晚,所付出的修正代价越高 ④为了便于控制开发进度 1.供选择的答案: 1.A. ①② 2.B. ①③

软件工程考试题带答案

一、选择题 1.软件开发瀑布模型中的软件定义时期各个阶段依次是:(B) A) 可行性研究,问题定义,需求分析。 B) 问题定义,可行性研究,需求分析。 C) 可行性研究,需求分析,问题定义。 D) 以上顺序都不对。 2.可行性研究主要从以下几个方面进行研究:(A) A)技术可行性,经济可行性,操作可行性。 B)技术可行性,经济可行性,系统可行性。 C)经济可行性,系统可行性,操作可行性。 D)经济可行性,系统可行性,时间可行性。 3 耦合是对软件不同模块之间互连程度的度量。各种耦合按从强到弱排列如下:(C) A) 内容耦合,控制耦合,数据耦合,公共环境耦合。 B) 内容耦合,控制耦合,公共环境耦合,数据耦合。 C) 内容耦合,公共环境耦合,控制耦合,数据耦合。 D) 控制耦合,内容耦合,数据耦合,公共环境耦合。4.在详细设计阶段所使用到的设计工具是:(A) A) 程序流程图,PAD图,N-S图,HIPO图,判定表,判 定树. B) 数据流程图,Yourdon 图,程序流程图,PAD图, N-S图,HIPO图。 C) 判定表,判定树,PDL,程序流程图,PAD图,N-S 图。 D) 判定表,判定树,数据流程图,系统流程图,程序流程 图,层次图。 5 按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A) A)模块的作用域应在模块的控制域之内。 B)模块的控制域应在模块的作用域之内。

C)模块的控制域与模块的作用域互相独立。 D)以上说法都不对。 6在软件生命周期中,能准确确定软件系统的体系结构的功能阶段是(C) A.概要设计 B.详细设计 C.需求分析 D.可行性分析 7下面不是软件工程的3个要素的是(C) A过程 B.方法 C.环境 D.工具 8.下面不属于软件的组成的是(B) A程序 B.记录 C.文档 D.数据 9在瀑布模型中,将软件分为若干个时期,软件项目的可行性研究一般归属于(C) A.维护时期 B.运行时期 C.定义时期 D.开发时期 10.在瀑布模型中,下面(C)是其突出的缺点。 A.不适应平台的变动 B.不适应算法的变动 C.不适应用户需求的变动 D.不适应程序语言的变动 11下面不属于软件的特点的是(D)。 A软件是一种软件产品 B软件产品不会用坏,不存在磨损、消耗问题 C软件产品的生产主要是研制 D软件产品非常便宜 12 软件开发工具是协助开发人员进行软件开发活动所使用的软件或环境。下面不是软件开发工具的是(A)。 A.维护工具 B.编码工具 C.测试工具 D.需求分析工具 13.下列叙述中不属于软件生命周期模型的是(D)。 A.原型模型 B.瀑布模型 C.螺旋模型 D.快速组装模型 14.软件设计中,用抽象和分解的目的是(B)。 A.提高易读性 B.降低复杂性 C.增加内聚性 D.降低耦合性 15软件生命周期中所花费用最多的阶段是(D)。 A.详细设计 B.软件编码 C.概要设计 D.软件测试和维护 16.开发软件时对提高开发人员工作效率至关重要的是(B)。

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

中南大学现代远程教育课程考试复习题及参考答案 软件工程 一、选择题: 1.下面哪些UML图描述系统行为() A.用例图 B.类图 C.对象图 2.属于概要设计活动的是() A.软件结构设计 B.数据结构设计 C.算法设计 3.属行为型设计模式的是() A.组合模式 B.工厂方法模式 C.观察者模式 4.下列说法正确的是() A.UML是软件开发方法 B.UML是系统描述语言 C.UML是软件开发过程 5. 根据程序流程图划分的模块通常是() A. 信息内聚的模块 B. 过程内聚的模块 C.逻辑内聚的模块 6.如果某程序中的比较个数是m,则其McCabe环形复杂度为() A.m-1 B.m C.m+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.软件项目管理人员 15. IDEF0图反映不出() A.系统做什么 B.系统功能由谁做 C.系统如何做 16. 原型模型是一种什么开发过程模型() A.自顶向上 B. 由外至内 C.增量式 17. 系统流程图描述() A.物理系统 B.逻辑系统 C.软件体系结构 18.需求规格说明书的内容不应该包括() A.软件确认准则 B.软件的性能描述 C.算法过程的详细描述 19.适合需求模糊或需求不确定系统开发的软件开发模型有() A. 瀑布模型 B. RAD模型 C.原型模型 20.UML图中描述系统结构的有() A. 组件图 B. 顺序图 C.状态图 21.面向对象方法是一种什么软件开发方法() A.层次化 B.迭代增量式 C.逐步求精 22.不可以用来衡量软件可维护性的有() A.可靠性 B.可用性 C.可行性 23. 系统分析员在需求分析最后负责编写()

软件工程试题(附答案)

软件工程试题(附答案)

《软件工程》作业 班级2000(春)计算机本科姓名罗国南学号001000490 成绩____________ 一、判断题 可行性研究的最根本的任务是对以后的行动方针提出建议。√ PDL语言是详细设计的重要工具,可方便地实现程序的自动生成。√ 模块的控制域应该在作用域之内。 面向对象方法把对象作为数据及可以施加在这些数据上的操作所构成的统一体。√ 软件是一种逻辑实体,而不是具体的物理实体。√ 软件测试时经常要输入无效的,不合理的数据进行测试。√ 高级程序设计语言从应用的角度看,可以分为基础语言、结构化语言和专用语言三大类。√

软件维护的前提是不能失去原有软件的基本功能。√ Gantt图可以明确地表示出各子任务之间的依赖与制约关系。× 与其它开发的方法相比较,结构化方法的主要优点之一是对用户需求的变更响应迅速。× 适应性维护的目的是为了适应计算机软、硬件环境的变化。√ 系统流程图可以描述系统的逻辑模型,它的基本思想是用图形符号以黑盒子形式描绘系统里 的每个部件。× 工程网络图可以描绘各子任务作业的工作时间和可以机动(延长)时间。√ 在面向对象方法中,对象是进行处理的主体。√ 调试是在测试出错误之后,找到错误的位置并改正的过程。√

不允许使用GOTO语句是结构程序的特征。× 面向对象技术的最大优点是减少了软件的开发时间。× 用盒图和PAD图设计出来的算法必定是结构化的。√ 逻辑输入数据流是离物理输入端最远,且沿同一输入路径输入的数据流。√ 可行性研究的结果有可能将软件开发项目否定。√ 在面向对象方法学中,使用“对象”不仅需要知道它向外界提供的接口形式,而且必须知道它的内部实现算法。× 传统的流程框图不能用来进行结构化程序设计。× 一个模块执行时,必须引用另一个模块的某些数据,则这个模块的独立性不强。√ 成功的测试是没有发现错误的测试。×

《软件工程》试题及参考答案(第6套)

第一部分选择题 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1、()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。 A 软件过程 B 软件工具 C 质量保证 D 软件工程 2、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,()是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。 A 业务需求 B 功能要求 C 非功能需求 D 用户需求 3、软件测试计划开始于需求分析阶段,完成于()阶段。 A 需求分析 B 软件设计 C 软件实现 D 软件测试 4.下面关于面向对象方法中消息的叙述,不正确的是( )。 A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息 B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C. 应用程序之间可以相互发送消息 D.发送与接收消息的通信机制与传统的子程序调用机制不同 5.美国卡内基—梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是( )。 A.工作无序,项目进行过程中经常放弃当初的计划 B.建立了项目级的管理制度 C.建立了企业级的管理制度 D.软件过程中活动的生产率和质量是可度量的 6.在McCall软件质量度量模型中,()属于面向软件产品修改。 A.可靠性B.可重用性C.适应性 D.可移植性 7.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测 试 D.软件维护 8.需求分析阶段的任务是确定() A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能

软件工程练习题目及答案

1.某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱 产学习,高中文化程度当电工;年龄在20岁至40岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员;年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。请用PDL语言、判定表和判定树分别描述上述问题。 答:PDL语言描述: If(年龄<20){ If(文化程度=”初中”){ 脱产学习; } Else if (文化程度=”高中”){ 当电工; } } Else if (年龄<40){ If(文化程度=”初中” ||文化程度=”高中”){ If(性别=”男”){ 当钳工; } Else { 当车工; } }

Else{ 当技术员; } } Else{ If(文化程度=”初中” ||文化程度=”高中”){当材料员; } Else { 当技术员; } } 判定表

判定树 ---20<=<40----???? ?? ???????????? ?? ??????? 初中文化程度脱产学习 年龄<20高中文化程度电工女性车工中学文化程度年龄男性钳工大学文化程度技术员中学文化程度材料员年龄>=40大学文化程度技术员 2. 某考务管理系统有如下要求: (1)对考生送来的报名表进行检查; (2)对合格的报名表编好准考证号码后将准考证送给考生,并将汇总后的考生 名单送给阅卷站; (3)对阅卷站送来的成绩表进行检查,并根据考试中心指定的合格标准审定合 格者; (4)填写考生通知单(内容包含考试成绩及合格∕不合格标志),送给考生; (5)按地区、年龄、文化程度、职业、考试级别等进行成绩分类统计及试题难 度分析,产生统计分析表。 画出该系统的分层数据流图。

软件工程试题及答案

综合练习一答案 一.选择题: 1.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。 A.50年代末 B.60年代初C.60年代末 D.70年代初 A.运筹学B.工程学 C.软件学 D.软件学 E.数字 2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。 A.软件投机B.软件危机C.软件工程D.软件产生 3.产生软件危机的原因有如下几点,除了______。 A、软件开发过程未经审查 B、软件开发不分阶段,开发人员没有明确的分工 C、所开发的软件,除了程序清单外,没有其他文档 D、采用工程设计的方法开发软件,不符合软件本身的特点 4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。 A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件 C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用 5.请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。 A.维护 B.测试 C.详细设计 D.概要设计 E.编码 F.需求分析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.分解和抽象 B.分解和综合C.归纳与推导D.试探与回溯12.结构化系统分析主要是通过____进行分析的。 A.算法分解B.控制结构分解 C.数据结构分解D.处理功能分解13.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的____。 总貌B.细节C.抽象D.软件的作者 13.变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于____。 A.变换型 B 事务型 14.需求分析说明书不能作为______。

软件工程复习题及答案

软件工程复习题(一) 一、选择题 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、不确定的

软件工程试题与答案 ()

《软件工程》试卷及答案A卷 专业年级姓名得分 一、名词解释(每个2分,共10分) 1.软件危机 2.纯收入 3.模块 4.原型 5.BROOKS定律 二、填空题(每题2分,共20分) 1.____是计算机程序及其说明程序的各种文档。_____是有关计算机程序功能、设计、编制、使用的文字或图形资料。 2.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不止的整个时期。通常,软件生存周期包括问题定义、____、____、总体设计、详细设计、____、____、软件维护活动,可以将这些活动以适当方式分配到不同阶段去完成。 3.软件详细设计阶段采用的工具有______。 4.____的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。 5.模块的耦合性分为四种类型:____、____、____、____。 6.内聚性有七种类型,最强的是____,最弱的是____。 7.结构图的深度指结构图______,结构图宽度指________。 8.集成测试采用的具体方法有--____、______ 9.对于变换型的数据流图,按照软件设计思想,要将一个大型复杂的软件进行分解,要确定数据流图的 ____、逻辑输入、逻辑输出。 10.软件编码阶段要善于积累编程的经验,使得编出的程序____,易于____,从而提高软件质量。 三、选择题(每题2分,共20分) 1.系统定义明确之后,应对系统的可行性进行研究。可行性研究应包括()。 A.软件环境可行性、技术可行性、经济可行性、社会可行性 B.经济可行性、技术可行性、操作可行性 C.经济可行性、社会可行性、系统可行性 D.经济可行性、实用性、社会可行性 2.通过()可以完成数据流图的细化。 A.结构分解 B、功能分解 C、数据分解 D、系统分解 3.模块(),则说明模块的独立性越强。 A.耦合越强 B、扇入数越高 C、耦合越弱 D、扇入数越低 4.模块()定义为受该模块内一个判断影响的所有模块集合。 A.控制域 B、作用域 C、宽度 D、接口 5.面向数据结构的设计方法(Jackson方法)是进行()的形式化的方法。 A.系统设计 B、详细设计 C、软件设计 D、编码

软件工程习题(附(附答案))

第一章概述 1.软件产品具有哪些特性? 答:软件是一种逻辑案件,而不是具体的物理实体,具有抽象性 软件是通过人的智力活动,将知识和技能转化成为信息的一种产品,是在研制,开发中被创造出来的 a.软件产品是一种逻辑产品. b.软件产品的生产主是研制,软件产品的成本主要体现在软件的... c.开发的软件可维护性差. d. 开发的软件可靠性差 ⑴是一种逻辑产品,与物质产品有很大的区别. ⑵软件产品的生产主要是研制,成本主要在开发和研制,开发完成后,通过复制就产生了大量软件产品. ⑶软件产品不会用坏,不存在磨损,消耗. ⑷生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是"定做"的 ⑸开发软件的费用不断增加,致使生产成本相当昂贵. (6)其质量往往靠不住,缺乏可见性 2.简述什么是软件工程? 答: 软件工程软件工程是开发、运行、维护和修复软件的系统方法,其中“软件” 的定义为计算机程序、方法、规则、相关的文档资料以及计算机上运行时所必须 的数据;软件工程是一门科学,其目的是生产无故障的、软件,且交付及时,不 超过预算,并满足用户要求; 3.软件生命周期可分为哪三个时期?GB 8567中规定可分为哪几个阶段? 答:定义时期:问题的定义(客户需求)、可行性研究(为什么做); 开发时期:需求分析(做什么)、总体设计(怎么做—抽象)、详细设计(怎么实现—具体)、编码(程序设计语实现)测试.。 运行时期:软件维护。 4.依下列叙述确定软件生命周期模型。 M公司的软件产品以开发实验型的新软件为主。用瀑布模型进行软件开发已 经有近十年了,并取得了一些成功。若你作为一名管理员刚加入M公司,你认 为快速原型法对公司的软件开发更加优越,请向公司副总裁写一份报告简要阐 明你的理由。 答:瀑布模型的缺点在于只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果。另外瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要,它已不适宜开发实验型的软件。根据快速原型法的特点,原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求,因此,在开发过程的后续阶段不会因为发现了规格说明文档的错误而进行较大的返工。开发人员通过建立原型系统已经学到了许多东西,因此,在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。说明它特别适合于开发探索型、实验型的软件。 5.依下列叙述确定软件生命周期模型。 假设要求你开发一个软件,该软件的功能是

软件工程试题库集及答案

综合练习一答案 选择题: 1.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。 A.50年代末B.60年代初C.60年代末D.70年代初 A.运筹学B.工程学C.软件学D.软件学E.数字2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。 A.软件投机B.软件危机C.软件工程D.软件产生 3.产生软件危机的原因有如下几点,除了______。 A、软件开发过程未经审查 B、软件开发不分阶段,开发人员没有明确的分工 C、所开发的软件,除了程序清单外,没有其他文档 D、采用工程设计的方法开发软件,不符合软件本身的特点 4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。 A.引入新技术提高空间利用率B.用较少的投资获得高质量的软件 C.缩短研制周期扩大软件功能D.硬软件结合使系统面向应用5.请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。 A.维护B.测试C.详细设计D.概要设计E.编码F.需求分析6.瀑布模型把软件生存周期划分为软件定义、软件开发和____三个阶段,而每一阶段又可细分为若干个更小的阶段。 A.详细设计B.可行性分析C.运行及维护D.测试与排错7.划分软件生存周期的阶段时所应遵循的基本原则是_____。 A、各阶段的任务尽可能相关性 B、各阶段的任务尽可能相对独立 C、各阶段的任务在时间上连续 D、各阶段的任务在时间上相对独立 8.一个软件项目是否进行开发的结论是在______文档中作出的。 A、软件开发计划 B、可行性报告 C、需求分析说明书 D、测试报告 9.分析员是____。 A.用户中系统的直接使用者B.用户和软件人员的中间人 C.软件的编程人员D。用户和软件人员的领导

软件工程复习题及答案

一、画出实际的瀑布模型p16 三、画出增量模型p18 五、可行性研究的工作过程及内容p36 答:1).复查系统规模和目标; 2).研究目前正在使用的系统; 3).导出新系统的高层逻辑模型; 4).进一步定义问题; 5).导出和评价供选择的解法; 6).推荐行动方针;7).草拟开发计划;8.书写文档提交审查。 六、可行性研究的目的是什么?要如何进行?p35 答:目的:用最小的代价在尽可能短的时间内确定问题是否能够解决。 首先,需要进一步分析和澄清问题定义。之后,分析员应该导出系统的逻辑模型。从系统逻辑模型出发,探索若干可供选择的主要解决方法(即系统实现方案)。对每种解法都应该仔细研究它的可行性,一般来说,至少应该从下述三方面研究每种解法的可行性:(1)技术可行性;(2)经济可行性;(3)操作可行性。必要时还应该从法律、社会效益等更广泛的方面研究每种解法的可行性。 二、画出快速原型模型p17 四、画出简化的螺旋模型p20 软件工程考试复习题

七、需求分析的任务是什么?进行需求分析时要重点考虑哪些方面的问题?p56 答:1、确定对系统的综合要求:1).功能需求——指定系统必须提供的服务。通过需求分析应该划分出系统必须完成的所有功能。2).性能需求——性能需求指定系统必须满足的定时约束或容量约束,如速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等。3).可靠性和可用性需求——可靠性是指确保各应用及其相关的所有交易的完整性和一致性的能力;可用性是指一个系统应确保一项服务或者资源永远都可以被访问到。4).出错处理需求——说明系统对环境错误应该怎样响应。5).接口需求——描述应用系统与它的环境通信格式。6).约束——在设计或实现应用系统时应遵守的限制条件。常见的约束有:精度;工具和语言约束;设计约束;应该使用的标准;应该使用的硬件平台。7).逆向需求——说明软件系统不应该做什么。8).将来可能提出的要求——应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。 2、分析系统的数据要求。 3、导出系统的逻辑模型。 4、修正系统开发计划。 八、典型的总体设计过程包括哪些步骤?p92 答:典型的总体设计过程包括九个步骤: 1)、设想供选择的方案;2)、选取合理的方案;3)、推荐最佳方案;4)、功能分解;5)、设计软件结构;6)、设计数据库;7)、制定测试计划;8)、书写文档;9)审查和复查。 九、总体设计的主要任务是什么?总体设计的主要过程有哪些?p91 答:主要任务: 总体设计又称为概要设计或初步设计。通过这个阶段的工作将划分出组成系统的物理元素—程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后仔细设计。总体设计的另一项重要的任务是设计软件的结构,也就是要确定系统中每个程序是由哪个模块组成,以及这些模块相互间的关系。 主要过程: ①寻找实现目标系统的各种不同的方案。②从这些供选择的方案中选取若干个合理的方案,为每个合理的方案都准备一份系统流程图,列出组成系统的所有物理元素。③进行成本/效益分析,并且制定实现这个方案的进度计划。从中选出一个最佳方案。④进一步为这个最佳方案设计软件结构。⑤进行必要的数据库设计,确定测试要求并且制定测试计划。 十、何谓耦合?有哪些类型?软件设计应该取哪种类型?p97 答:耦合是对一个软件结构内不同模块之间互连程度的度量。 类型:数据藕合、控制藕合、公共环境藕合、内容耦合 设计原则:尽量使用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不用内容耦合。 十一、何谓内聚?有哪些类型?软件设计应该取哪种类型?p98 答:内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。 低内聚有如下几类:偶然内聚、逻辑内聚、时间内聚。中内聚主要有两类:过程内聚、通信内聚。高内聚也有两类:顺序内聚、功能内聚。 设计时应该力求做到高内聚,通常中等程度的内聚也是可以采用的,而且效果和高内聚相差不多;但是,低内聚很坏,不要使用。

软件工程考试试题(含答案)

一、填空题(每空1分,共25分) 1.软件生存周期一般可以划分为,问题定义、____________、____________、设计、 编码、测试和____________。 2.基于软件的功能划分,软件可以划分成__________、__________、__________三种。 3.可行性研究,应从、技术可行性、运行可行性、和开 放方案可行性等方面研究。 4.系统流程图是描绘的传统工具。它的基本思想是用图形符号以 描绘系统里面的每个部件。 5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、、 和。 6.结构化分析方法是面向________________进行需求分析的方法。结构化分析方法使 用________________与________________来描述。 7.是自动地共享类、子类和对象中的方法和数据的机制。 8.软件详细设计工具可分为3类,即________________、________________和 ________________。 9.为了在软件开发过程中保证软件的质量,主要采取下述措施:________________、 复查和管理复审、________________。 10.大型软件测试包括、、确认测试和 四个步骤。 1、可行性研究需求分析运行与维护 2、系统软件支撑软件应用软件 3、经济可行性法律可行性 4、物理系统黑盒子形式 5、加工数据流数据存储文件 6、数据流数据流图DFD 数据字典DD 7、继承性 8、图示工具、设计语言表格工具 9、审查测试 10、单元测试集成测试系统测试 二、单项选择题(每小题2分,共20分) 1 2 3 4 5 C C C A C 6 7 8 9 10 D D A C B 1.软件设计中划分模块的一个准则是()。 A、低内聚低耦合 B、低内聚高耦合 C、高内聚低耦合 D、高内聚高耦合 2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向()的软件 设计方法。

软件工程试题及答案

软件工程 一、选择题 1、软件需求规格说明的内容不包括(B) A、主要功能 B、算法的详细描述 C、用户界面及运行环境 D、软件的性能 2、面向对象的分析方法主要是建立三类模型,即(D) A、系统模型、ER模型、应用模型 B、对象模型、动态模型、应用模型 C、ER模型、对象模型、功能模型 D、对象模型、动态模型、功能模型 3、在ER模型中,包括以下基本成分(C) A、数据、对象、实体 B、控制、联系、对象 C、实体、联系、属性 D、实体、属性、操作 4、各种软件维护的类型中最重要的是(A) A、完善性维护 B、纠错性维护 C、适应性维护 D、预防性维护 5、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-2.0,2.0],现从输入的角度考虑一组测试用列-2.001,-2,20,2.001,设计这组测试用列的方法是(C) A、条件覆盖法 B、等价分类法 C、边界值分析法 D、错误推测法 6、下列白盒测试法,哪种是最强的覆盖准则(D) A、语句覆盖 B、条件覆盖 C、判定覆盖 D、条件组合覆盖 7、确定测试计划是在(A)阶段制定的。 A、总体设计 B、详细设计 C、编码 D、测试 8、数据字典是软件需求分析阶段最重要的工具之一,其最基本的功能是(C) A、数据库设计 B、数据通信 C、数据定义 D、数据维护 9、软件开发当中,抽取和整理用户需求并建立问题域精确模型的过程(D) A、生成期 B、软件意向 C、结构化程序设计 D、面向对象分析 10、以下不属于IT企业当中过程管理和过程改进模型的是(D) A、ISO9001 B、CMMI C、软件企业文化 D、UML 11、适合互联网上编程并可供不同平台运行的面向对象程序设计的语言是(java) 12、软件结构图中,模块之间用直线连接,则表示他们之间存在(A )。 A、调用关系 B、组成关系 C、链接关系 D、顺序执行关系 13、生命周期方法设计软件的过程中,画用例图属于(A)阶段的工作。 A、需求分析 B、概要设计 C、详细设计 D、软件维护 14、PDL属于(B)语言。 A、高级程序设计语言 B、伪码 C、中级程序设计语言 D、低级程序设计语言 15、成功的测试是(发现至今尚未发现的错误) 16、软件开发的瀑布模型典型的刻画了软件生成周期的阶段划分,与其想适应的软件开发方法是(即瀑布模型采用什么样的软件开发方法?)(B)。 A、构建化方法 B、结构化方法 C、面向对象方法 D、快速原型方法 17、软件结构图的形态特征能反应程序重用率的是(C) A、深度 B、宽度 C、扇入 D、扇出 18、维护过程的本质是(D)的过程。 A、修改程序 B、修改文档 C、修改位置 D、压缩的修改软件定义和开发 19、软件危机的表现: 答:由于软件特点和长期以来一直没有发明一种高校的开发方法,导致软件生产效率非常低,交付期一拖再拖,最终交付的软件产品在质量上很难保障。这种现象早在20世纪60年代被定义为“软件危机”。它的具体表现如下:

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

一、选择 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、某学校需要开发一个学生成绩管理系统,教务人员可以通过该系统维护学生信息、课程信息和成绩信息,学生可以随时查询自己的成绩单,该系统

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