《软件工程》期末考试试题及参考答案-多套合集

《软件工程》期末考试试题及参考答案-多套合集
《软件工程》期末考试试题及参考答案-多套合集

《软件工程》考试试题及参考答案-多套合集

一、单向选择题(四选一、每小题3分,共18分)

1、软件的发展经历了(D)个发展阶段。0102

A.一

B.二

C.三

D.四

2、需求分析的任务不包括(B)。0401

A.问题分析

B.系统设计

C.需求描述

D.需求评审。

3、一个软件的宽度是指其控制的(C)。0801

A.模块数

B.层数

C.跨度

D.厚度

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

A.判定表和判定树

B.盒图

C.流程图

D.关系图

5、以下不属于逻辑覆盖的是(D)。1402

A.语句覆盖

B.判定覆盖

C.条件覆盖

D.基本路径

6、为适应软件运行环境的变化而修改软件的活动称为(B)。1501

A.纠错性维护

B.适应性维护

C.改善性维护

D.预防性维护

二、填空题(每空2分,共18分)

1.软件可靠性是指在给定的时间间隔内,程序成功运行的(概率)。0101

2.高级语言:独立于机器,面向过程或面向(对象)0101

3.软件项目管理的范围主要集中于3个P上,即:People人员、Problem问题和(过

程)。0201

4.人机界面的风格第一代界面是命令和(询问)方式。1202

5.由于维护或在维护过程中其他一些不期望的行为引入的错误称为维护的(副作用)。

1504

6.在公式V(G)= E –N + 2中:E为程序图G中边的总数;N 为程序图中结点

的总数。V(G)又称为图G的环形(复杂度)0204。

7.任何一个基于计算机系统都可以用输入-处理-输出(IPO)图来描述,它将该系统

转换成一个信息变换模型。0303

8.为提高可交互性一般对所有可能造成损害的用户操作动作,应坚持要求用户(确

认),例如,提问“你确实要删除…?”。1204

9.文档是一种数据媒体和其上所记录的(数据)。0101

三、判断题(每小题2分,共24分,错误打X、正确打√)

1.用户对软件需求的描述不精确,往往是产生软件危机的原因之一。(√)0102

2.目前,软件项目的进度安排的两种比较常用的方法是程序评估与审查技术(PERT)和

关键路径法(CPM)。(√)0206

3.一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作,建立良好的人际

关系,善于听取别人的意见。(√)0206

4.目前的绝大多数软件都不适合于快速原型技术。(X)0402

5.面向数据的设计方法适用场合是具有明显的层次信息结构的应用如:企事业的信息管理

系统;系统软件(如操作系统)等。(√)10001

6.缺乏处理大型软件项目的经验。是产生软件危机的唯一原因。(X)0102

7.通常紧致性好的语言一致性就好。(X)1301

8.测试计划、测试用例、出错统计和有关的分析报告一般不用长期保存。(X)1401

9.数据输入的一般准则中包括保证信息显示方式与数据输入方式的协调一致;允许用户定

做输入格式等内容。(√)1204

10.软件也会磨损和老化。(X)0101

11.完善性维护是提高或完善软件的性能。(√)0101

12.McCabe建议模块规模应满足:V(G)≤20。(X)0204

四、简答题(每小题4分,共20分)

1、程序设计语言的三种类型和特点是什么?0101

1)机器语言、汇编语言:依赖于机器,面向机器

2)高级语言:独立于机器,面向过程或面向对象

3)面向问题语言:独立于机器,非过程式语言(4GL)(2分)

2、软件危机

是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。0101

3、软件项目的质量管理——制定软件质量保证计划,按照质量评价体系控制软件质量要素,对阶段性的软件产品进行评审,对最终软件产品进行确认,确保软件质量。0201

4、好的编程风格应遵循哪四条规则?1304

1)节简化

2)模块化

3)简单化

4)文档化

5、软件测试中按照错误的性质和范围进行分类可分为:“功能错误”及其它哪些错误?1401

1)系统错误

2)加工错误(算法错误)

3)数据错误

4)代码错误

五、综合题(每小题10分,共20分)

1、选择语言时要考虑的因素有:项目的应用领域、项目中算法、计算的复杂性和其余哪些内容?1301

答:

1)项目中数据结构的复杂性

2)用户的性能需求

3)软件运行的环境

4)软件开发人员开发水平

5)可用的编译器和交叉编译器

2、已知一个软件项目的记录,开发人员M=3人,其代码行数=12.1KLOC,工作量E=24PM,成本S=168000美元,错误数N=29,文档页数Pd=365页。试计算开发该软件项目的生产率P、平均成本C、代码出错率EQR和文档率D。0201

解:1.软件开发的生产率P为:

P = L / E = 12.1×103LOC / 24PM = 504 LOC/PM

2.开发每行代码的平均成本C为:

C = S / L = 168000美元/ 12100LOC=13.9美元/LOC

3.代码出错率EQR为:

EQR = N / L = 29个/12.1KLOC=2.4个/KLOC

4.软件的文档率D为:

D = Pd / L = 365页/ 12.1KLOC = 30页/ KLOC

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

一、单向选择题(四选一、每小题3分,共18分)

1、对在数据流图中每一个命令的图形元素均给以定义是(B)0501

A、条目定义

B、数据字典

C、数据定义

D、数据说明

2、软件的可行性研究中不包括(D)0302

A、法律可行性

B、技术可行性

C、经济可行性

D、政治可行性

3、根据用户在软件使用过程中提出的建设性意见而进行的维护活动称为(C)。1501

A.纠错性维护

B.适应性维护

C.改善性维护

D.预防性维护

4、人机界面的风格大致经过了(B)代的演变。1202

5、以下不属于白盒测试技术的是(D)1402

逻辑覆盖

基本路径测试

循环覆盖测试

等价类划分

6、为改正软件系统中潜藏的错误而进行的维护活动称为(A)。1501

纠错性维护

适应性维护

改善性维护

预防性维护

二、填空题(每空2分,共18分)

1.文档(document)—一种数据媒体和其上所记录的(数据)。0101

2.机器语言、汇编语言:依赖于机器,面向(机器)0101

3.软件有效性(efficiency),指软件系统的时间和(空间)效率。0103

4.软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。0103

5.软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。0103

6.为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。0402

7.一个软件的深度是指其控制的(层数)。0801

8.以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终

可运行的代码的过程叫(编码)过程。1301

9.软件维护是软件生命周期的(最后)一个阶段。1501

三、判断题(每小题2分,共24分,错误打X、正确打√)

1.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之

一。(√)0102

2.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。(X)

0206

3.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第

一手资料,并从中提取出有价值的需求。(√)0402

4.快速原型技术适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一

些复杂的算法等场合。(√)0402

5.流程图也称为程序(框图)是最常用的一种表示法。(√)0802

6.面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择和重复三

种基本形式表示数据等步骤。(√)1001

7.理想的人机界面应针对具有典型个性的特定的一类用户设计。(√)1201

8.数据输入的一般准则中包括尽量(增加)用户输入的动作。(X)1204

9.用穷举测试是较现实的测试方法。(X)1401

10、编码时应尽可能使用全局变量(X)1302

11、重视程序结构的设计,能使程序具有较好的层次结构(√)1301

12、程序中的注解越少越好( X )。1302

四、简答题(每小题4分,共20分)

1、计算机软件——与计算机系统操作有关的程序、规程、规则及任何与之有关的文档和数据。0101

2、需求分析的任务是什么?0103

需求分析的任务是确定待开发的软件系统“做什么”。具体任务包括确定软件系统的功能需求、性能需求和运行环境约束,编制软件需求规格说明书、软件系统的验收测试准则和初步的用户手册。

3、软件项目的成本管理——估算软件项目的成本,作为立项和签合同的依据之一,并在软件开发过程中按计划管理经费的使用。0201

4、快速原型技术的基本思想是什么?0402

在软件开发的早期,快速开发一个目标软件系统的原型,让用户对其进行评价并提出修改意见,然后开发人员根据用户的意见对原型进行改进。

5、程序设计语言有哪些特点?1301

1)一致性

2)二义性

3)紧致性

4)局部性

五、综合题(每小题10分,共20分)

1、可将软件生存周期划分为哪3个过程和哪9个阶段。0103

(1)3个过程是:软件定义过程、软件开发过程、软件使用与维护过程。

(2)9个阶段有:可行性研究、需求分析、概要设计、详细设计、实现、组装测试、验收测试、使用与维护、退役。

2、画出与图1所示的程序流程图对应的流图,并试计算其环形复杂度V(G)。0204

解:(1)流图如(图2)所示:

(2)计算其环形复杂度:V(G)=E –N +2=13 –10 +2=5

(图一)

(图二)

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

一、单向选择题(四选一、每小题3分,共18分)

1、在设计测试用例时,应当包括(C)1401

A、合理的输入条件

B、不合理的输入条件

C、合理的和不合理的输入条件

D、部分条件

2、下列各项中不属于逻辑覆盖的是(D)1402

A、语句覆盖

B、判定覆盖

C、判定——条件覆盖

D、全部覆盖

3、高级语言通常被分成三类,其中不包括(D)1301

A.通用高级语言

B.面向对象的语言

C.专用语言

D.自然语言

4、Jackson方法在需求分析阶段的主要步骤不包括(A)。1002

A.了解实体行为

B.标识实体与行为

C.生成实体结构图

D.创建软件系统模型

5、实践表明,确定发生错误的位置和内在原因所需的工作量几乎占整个调试工作量的(D)%。1404

A.30

B.50

C.70

D.90

6、为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础的软件维护称为(D)。1501

A.纠错性维护

B.适应性维护

C.改善性维护

D.预防性维护

二、填空题(每空2分,共18分)

1.软件的可互操作性,是指多个软件元素相互(通信)并协同完成任务的能力。0201

2.第三代语言也称为(高级)语言。1301

3.软件测试是软件投入运行(前),对软件需求分析、设计、实现的强有力的最终审查。

1401

4.黑盒测试主要是测试软件是否满足(功能)需求。1402

5.(调试)的目的是确定错误的位置和引起错误的原因,并加以改正。因此,又称为排错

或纠错。1404

6.软件工程由方法、工具和(过程)三部分组成,称软件工程的三要素。0101

7.软件可追踪性(traceability),是指根据软件需求对软件设计、程序进行正向追踪,或根

据程序、软件设计对软件需求进行(逆向)追踪的能力。0103

8.瀑布模型是由W. Royce于1970年提出来的。又称为软件(生存周期)模型。0104

9.程序设计语言的(可维护)性通常指这种语言编写的程序被理解,被修改及调整和改进

的难易程度。1302

三、判断题(每小题2分,共24分,错误打X、正确打√)

1.文档可用于专业人员和用户之间的通信和交流;软件开发过程的管理;运行阶段的维

护。(√)0101

2.软件开发、设计几乎都是从头开始,成本和进度很难估计。(√)0101

3.适应性维护是改进软件未来的可维护性和可靠性。(X)0101

4.由于软件是逻辑产品,软件质量较容易直接度量。(X)0203

5.V(G)值越高的程序往往是越不复杂、越不容易出问题的程序。(X)0204

6.目前我国还没有颁布软件开发标准。(X)0206

7.按照功能,软部件可划分为系统软件和应用软件两类。(√)0301

8.如果某子功能可以用一段简洁、精确的文字描述清楚,就无需进一步分解,是创建用户

需求的数据流模型应遵循的规则。(√)0502

9.耦合度是对软件结构中模块间关联程度的一种度量。在设计软件时应追求尽可能紧密的

耦合的系统。(X)0803

10.在面向对象设计阶段则着重完成“如何做”的问题,也就是着重考虑对象的实现细节。

(√)1101

11.随着软件复杂性的不断提高,软件的维护难度越来越大。(√)1501

12.软件的可维护性差是软件维护工作量和费用激增的直接原因。(√)1505

四、简答题(每小题4分,共20分)

1、软件在使用过程中维护有哪几种?0101

1)纠错性维护

2)完善性维护

3)适应性维护

4)预防性维护

2、Coad/Yourdon面向对象的方法除了包含识别对象外还包括哪4个步骤?0702

标识对象的属性

标识对象的行为

识别对象所属的类

定义主题词

3、Jackson系统开发方法其核心思想是什么?0602

根据作用于数据的行为序列的结构(顺序、选择、重复),建立目标软件系统的模型,然后在软件设计阶段将模型转换为相应的程序结构。

4、设计人机界面,必须考虑哪四个方面。1202

系统的响应时间;

用户求助机制;

错误信息处理;

命令方式。

5、什么是测试用例?

为了进行有效的测试而设计的输入数据和预期的输出结果数据。1401

五、综合题(每小题10分,共20分)

1、SD方法能方便地将数据流图转换为软件结构,其过程分为哪五步?0901

1.确定信息流的类型;

2.划定流界;

3.将数据流图映射为程序结构;

4.提取层次控制结构;

5.通过设计复审和使用启发式策略进一步精化所得到的结构。

2、已知有一个软件项目的记录,开发人员M=6人,其代码行数=20.2KLOC,工作量E=43PM,成本S=314000美元,错误数N=64,文档页数Pd=1050页。试计算开发该软件项目的生产率P、平均成本C、代码出错率EQR和文档率D。0201

解:根据给出的已知数据,可得:

P = L / E =20.2 KLOC /43 PM = 0.47 KLOC / PM

= 470 LOC / PM

C = S / L = 314000美元/ 20.2 KLOC

= 15.54 美元/ LOC

EQR = N / L = 64个/ 20.2KLOC = 3.17 个/ KLOC

D = Pd / L = 1050 页/ 20.2 KLOC = 51.98 页/ KLOC

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

一、单向选择题(四选一、每小题3分,共18分)

1、从事物的组成部件及每个部件的属性、功能来认识事物。这种方法被称为(A)的方法。0701

A、面向对象

B、面向数据

C、面向过程

D、面向属性

2、判定表由四部分组成:左上部列出(B)。0802

A.条件组合与动作之间的对应关系

B.所有条件

C.所有可能的动作

D.可能的条件组合

3、面向对象的分析和设计(OOA&OOD)方法出现在20世纪(C)年代中期。0701

A.50

B.60

C.70

D.80

4、耦合度也可以分为七级:其中最松散的耦合是(A)。0801

A.非直接耦合

B.数据耦合

C.特征耦合

D.控制耦合

5、面向对象方法是将现实世界的事物以对象的方式(B )到计算机世界的方法。0101

A.对应

B.映射

C.反映

D.反射

6、盒图也称为(D)或Chapin图。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。0802

A.流程图

B.框图

C.判定表

D.N-S图

二、填空题(每空2分,共18分)

1.软件工程由方法、(工具)和过程三部分组成,称软件工程的三要素。0101

2.软件可理解性,指系统具有清晰的结构,能直接反映问题的(需求)。0103

3.在实体-关系图简称E-R图中,数据对象实体用长方形、关系用(菱形)、属性用椭圆表

示。0502

4.建立数据流模型要遵循的原则包括:每个加工至少应有一个输入数据流以反映被处理数

据的来源和一个(输出)数据流来反映加工的结果。0503

5.从工程管理的角度软件设计可分为概要设计和(详细)设计两大步骤。0801

6.通过向用户提供视觉和听觉上的反馈,保持用户与界面间的双向通信,是提高界面可(交

互)性的措施之一。1204

7.程序设计语言的可靠性是指程序设计语言本身不出错或对错误的(纠正)能力。1302

8.对发现错误较多的程序模块,应进行(重点)测试。1401

9.测试用例中,不仅要选择合理的输入数据,还要选择(不合理)的输入数据。1401

三、判断题(每小题2分,共24分,错误打X、正确打√)

1.纠错性维护是改正运行期间发现的潜伏错误。(√)0101

2.软件可移植性(portability),是指软件从一个计算机系统或(环境)移植到另一个上去

的难易程度。(√)0103

3.软件复杂性不能反映出软件的可理解性、模块化、简单性等属性。(X)0204

4.当程序内的分支数和循环数增加时,V(G)值将随之增加,即程序的复杂性增大。(√)

0204

5.一般来说,设计软件时应尽量使用数据耦合,减少控制耦合,限制外部环境耦合和公共

数据耦合,杜绝内容耦合。(√)0803

6.设计用户界面只需要计算机科学的理论和知识,而不一定需要认知心理学以及人-机工

程学、语言学等学科的知识。(X)1201

7.第四代语言(4GL)还局限在某些领域内,如数据库查询语言。(√)1301

8.不同程序设计语言在程序的效率上的差异不大。(X)1302

9.编码的依据是详细设计说明书。(√)1303

10.程序文档应该包括代码的功能、代码的完成者等内容。(√)1303

11.软件项目定义部分由制定软件项目开发计划、需求分析2个阶段组成。(√)0301

12.预防性维护是修改软件,以适应软硬件环境的变化。(X)0101

四、简答题(每小题4分,共20分)

1、软件工程的原则有抽象、信息隐藏、模块化和其他那些内容?0102

1)局部化

2)一致性

3)完全性

4)可验证性

2、常用的软件项目的估算方法主要有哪4种?0202

1)自顶向下的估算方法

2)自底向上的估算方法

3)差别估算法

4)根据经验估算公式

3、原型法模型一般适应哪些场合?0104

它适合于那些不能预先确切定义需求的软件系统的开发,更适合于那些项目组成员(包括分析员、设计员、程序员和用户)不能很好交流或通信有困难的情况。

4、简答结构化程序设计的内容。0801

是程序设计技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制构件。

5、瀑布模型一般适应哪些场合?0104

瀑布模型一般适用于功能、性能明确、完整、无重大变化的软件系统的开发。例如操作系统、编译系统、数据库管理系统等系统软件的开发。应用有一定的局限性。

五、综合题(每小题10分,共20分)

1、软件工程的目标是什么?0103

答:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。

2、软件工程必须遵循那些基本原则?0102

答:

1)抽象

2)信息隐藏(2分)

3)模块化(2分)

4)局部化

5)一致性

6)完全性

7)可验证性(2分)

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

一、单向选择题(四选一、每小题3分,共18分)

1、描述静态数据结构的概念模式是(A )。0801

A、E-R图

B、DFD

C、结构图

D、框图

2、结构化程序设计理论认为,实现良好的程序结构要应用(A )的分析方法。1301

A、自顶向下

B、自底向上

C、面向对象

D、基于组件

3、在结构化程序设计当中,不建议使用(D )。1302

A、分支语句

B、循环语句

C、子程序调用语句

D、转向语句

4、软件生产过程中,需求信息由(D )给出。0401

A、程序员

B、项目管理者

C、软件分析设计人员

D、软件用户

5、在下列的基本成分中,哪个不是数据流程图的基本成分?(D)0502

A、信息处理

B、信息存储

C、外部实体

D、系统状态

6、与设计测试数据无关的文档是(D )。1401

A、需求说明书

B、设计说明书

C、源程序

D、项目开发设计

二、填空题(每空2分,共18分)

1.软件工程由(方法)、工具和过程三部分组成,称软件工程的三要素。0103

2.基于计算机系统的软件要素中的软部件由程序、数据和(文档)组成。0301

3.数据流图就是用来刻画数据流和转换的信息系统建模技术。它用简单的图形记号分

别表示数据流、转换、(数据源)以及外部实体。0501

4.被继承的类我们称之为基类(父类),在基类的基础上新建立的类我们称之为派生

类子类。0701

5.流程图也称为程序框图是最常用的一种表示法,它有顺序、分支和(循环)三个基

本控制构件。0802

6.机器语言和汇编语言,也称为(低级)语言。1301

7.软件测试是执行程序发现并排除程序中潜伏的(错误)的过程。1401

8.动态测试有两种测试方法:黑盒测试和(白盒)测试。1401

9.软件可维护性,是指软件产品交付使用后,在实现改正潜伏的错误、改进性能等属

性、适应环境变化等方面工作的(难易)程度。0103

三、判断题(每小题2分,共24分,错误打X、正确打√)

1.开发大型软件易产生疏漏和错误,往往是产生软件危机的原因之一。(√)0102

2.据统计,软件维护人员为了分析和理解原软件系统所花费的工作量约占整个维护工作量

的60%以下。(X)0201

3.数据流图中各构成元素的名称不一定必须具有明确的含义以代表对应元素的内容或功

能。(X)0501

4.软件设计也可看作将需求规格说明逐步转换为软件源代码的过程。(√)0801

5.最高耦合度是数据耦合。(X)0803

6.人机界面(Human-Computer Interface,简称HCI)又称人- 机接口或用户界面。(√)

1201

7.在同一用户界面中,所有的菜单选择、命令输入、数据显示和其他功能应采用不同的形

式和风格。(X)1204

8.判定覆盖必然满足语句覆盖。(√)1402

9.为提高可交互性一般对大多数操作动作应允许用户恢复。同时应尽量减少用户记忆的信

息量。(√)1204

10.编程中应采用统一的标准和约定,降低程序的复杂性。(√)1303

11.软件在使用过程中维护不十分复杂。(X)0101

12.软件可重用性(reusability),是指软部件可以在多种场合使用的程度。(√)0103

四、简答题(每小题4分,共20分)

1、螺旋模型的适应场合有哪些?0104

适应场合:支持需求不明确、特别是大型软件系统的开发,并支持面向规格说明、面向过程、面向对象等多种软件开发方法,是一种具有广阔前景的模型。

2、软件生存周期0103

软件从定义开始,经过开发、使用和维护,直到最终退役的全过程称为软件生存周期。

3、软件开发风险分析实际上就是贯穿于软件工程过程中的一系列风险管理步骤,它包括哪些主要内容?0206

1)风险标识

2)风险估算

3)风险评价

4)风险驾驭和监控。

4、软件生存周期中的软件开发过程由概要设计和其它哪几个阶段组成?0103

1)详细设计

2)实现

3)组装设计

4)验收测试

5、实体—关系(Entity-Relation)图

简称E-R图,是表示数据对象及其之间关系的图形语言机制。0502

五、综合题(每小题10分,共20分)

1、需求评审标准(按照重要性的次序)包括哪些内容?。0403

1)正确性

2)无歧义性

3)完全性

4)可验证性

5)一致性。

6)可理解性。

7)可修改性。

8)可追踪性。

2、软件开发风险分析实际上就是贯穿于软件工程过程中的一系列风险管理步骤,它包括哪些内容?0206

风险标识风险估算风险评价风险驾驭监控

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

一、填空题(在下划线上填写正确的答案,每题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)软件工程适用范围? 答:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。 2)软件工程如何控制系统开发的复杂性的? 答:可理解性(understandability)。系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。 3)以你的经验,举例说明一个成熟的软件通常采用什么方法来适应现实世界的变化的?答:以猎豹游览器为例,开始软件投入市场公测,软件自带收集错误报告的程式,当遇到问题软件错误,会将相关信息反馈到接受错误信息的服务器,已方便程序员及时发现问题加以修复,修复完成后提供程序更新,循环此法提供软件运行稳定性,另外还有用户反馈的相关功能,对软件的建议也会收集到服务器,按实用性需求程序员可在原有程序上开发调整更适合用户使用的程序。 4)假设某软件公司,能为同一个用户开发两个不同层次的软件:一个层次的软件功能非常强大,在满足用户所有需求的基础上,还能提供大大超过用户需求的其他更多更强的功能;另一个层次的软件仅仅能满足用户需求,但没有提供其他额外的功能。请问如果你是项目负责人,你会选择为客户开发那个层次的软件? 答:我会选择仅仅满足用户需求的软件。因为太多的功能,相对于非专业的人员,在用户体验上可能会造成困扰,太多的功能会导致难以操作。而且功能强大的软件还会给用户费用上带来不必要的投入,软件是以人为本,方便用户工作,达到提高工作效率的目的。若然日后此用户需要更多功能的时候,我们还是可以向其软件公司提供升级功能解决用户需求。

软件工程复习提纲(20160615)

软件工程复习提纲 Chapter1 1.开发文档都有哪些?用图来表示它们之间的关系。 2.说明软件工程研究的内容。 3.软件工程的7条基本原理有何现实意义。 4.怎样理解ISO9000的文档体系?质量手册、程序文件、质量记录三者有何联系和区别? 5.怎样理解CMMI,如何用CMMI去管理软件企业? 6.是否存在这一种现象:搞系统软件的公司不需要采用CMMI和ISO9000模式?CMMI和ISO9000 模式只适用于搞应用软件的企业?如果是,为什么,如果不是,又为什么? 7.软件工程与信息系统工程有何异同? 8.怎样理解元数据? Chapter2 1.为什么要选择软件开发模型?软件开发模型与软件生存周期有什么关系? 2.简述瀑布模型、增量模型、迭代模型、原型模型的优缺点。 3.软件公司的ISO9000或CMM管理体系与软件开发模型有关吗,为什么? 4.你对“生存周期模型裁剪指南”有什么看法? 5.“图书馆信息系统”的开发选用什么开发模型合适? Chapter3 1.立项的具体表现形式是什么? 2.立项建议书的编制者为什么主要是软件公司的市场销售人员,而不是开发人员? 3.什么叫风险分析,技能风险与技术风险有何区别? 3.合同、任务书、立项建议书三者有何异同?有何关系? 4.对软件项目和产品的“功能、性能、接口”三项指标如何理解? Chapter4 1.需求分析的目的是什么,需求分析的难点在哪里? 2.需求分析的理论基础有哪几条? 3.为什么说需求分析是面向流程的? 4.解释术语:元数据、实体、中间数据。 5.用户需求报告与需求规格书有何差异? 6.需求描述有哪几种工具?你喜欢哪一种,为什么?

软件工程复习题

一、单选题 1.软件结构图的形态特征能反映程序重用率的是() a)A、深度 B、宽度C、扇入 D、扇出 2.在大型数据处理系统的功能分析和设计中,数据库的概念设计对应于系统开发的( ) a)A、需求分析 B、概要设计C、详细设计 D、程序设计 3.为了提高模块的独立性,模块内部最好是() a)A、逻辑内聚 B、时间内聚C、功能内聚 D、通信内聚 4.需求分析最终结果是产生() a)A、项目开发计划 B、需求规格说明书C、设计说明书D、可行行分析报告 5.软件是一种() a)A、程序 B、数据C、逻辑产品 D、物理产品 6.信息隐蔽概念与()概念有直接的关系 a)A、模块的独立性 B、模块类型的划分C、软件结构定义 D、软件生命周期 7.不属于序言性注释的有() a)A、模块设计者B、修改日期C、程序的整体说明D、语句功能 8.单元测试阶段主要涉及()的文档。 a)A、需求设计 B、编码和详细设计C、详细设计D、概要设计 9.在软件测试中,白盒测试方法是通过分析程序的()来设计测试用例的方法。( ) a)A、应用范围B、内部逻辑C、功能 D、输入数据 10.需求分析是系统分析师经了解用户的需求,认真仔细的调研、分析,最终建立目标系统 的逻辑模型并写出() a)A、模块说明书B、软件规格说明书C、项目开发计划 D、合同文档 11.系统因错误而发生错误时,仍然能在一定程度上完成预期的功能,则把该软件称为( ) a)A、系统软件B、容错软件C、测试软件 D、操作系统 12.产品管理包括版本管理和() a)A、质量管理 B、性能管理C、开发过程管理 D、配置管理 13.ISO9001质量管理体系认证等同于能力成熟度模型中的第几级() a)A、CMM1 B、CMM2 C、CMM3 D、CMM4 E、CMM5 14.ISO9001质量管理体系认证只做到() a)A、历史记录可查询B、错误原因可查询 15.为了克服软件危机,人们提出了用()的原理来设计软件,这就是软件工程诞生的基础。 a)A、数据B、软件学C、运筹学D、工程学 16.可行性研究的目标是() a)A、开发项目B、项目是否值得开发C、规划项目 D、维护项目 17.结构化程序设计思想的核心是要求程序只由顺序、循环和()三种结构组成A、 选择 B、单入口C、单出口D、有规则的GOTO 18.纠错是由()完成的

软件工程作业3

软件工程第六章作业 9、某公司为本科以上学历的人重新分配工作,分配原则如下:如果年龄不满18岁,学历是本科,男性要求报考研究生,女性则担任行政工作;如果年龄满18岁不满50岁,学历本科,不分男女,任中层领导职务,学历是硕士,不分男女,任课题组组长;如果年龄满50岁,学历本科,男性任科研人员,女性则担任资料员,学历是硕士,不分男女,任课题组组长。要求:画出分析过程,得出判定表,并进行化简。 条件分析表: 条件名称取值符号取值数性别男M M1=2 女 F 年龄不满18岁T M2=3 满18岁小于50岁Y 超过50岁O 文化程度硕士S M3=2 本科 B 判定表: 1 2 3 4 5 6 7 8 9 10 11 12 性别M M M M M M F F F F F F 文化程度S S S B B B S S S B B B 年龄O Y T O Y T O Y T O Y T 组长√√√√√√ 领导√√ 科研√ 行政√资料员√ 考研√ 简化表: 1,2,3,7,8,9 4 5,11 6 10 12 性别------ M ----- M F F 文化程度S B B B B B 年龄------ O Y T O T 组长√ 领导√ 科研√ 行政√ 资料员√ 考研√

10、研究下面的伪码程序,画出对应的程序流程图。 开始 Input X,N Dim A(N),F(N) I=1 Input F(i) I>N I++ K=0 否是 A(K)=0;J=1 A(K)=A(K)+F(J)*F(J+K)/(N-K+1) J++ K>N-K 否 Print K*X,A(K) K++ K

软件工程师考试大纲

一、考试说明 1.考试要求: (1) 掌握数据表示、算术和逻辑运算; (2) 掌握相关的应用数学、离散数学的基础知识; (3) 掌握计算机体系结构以及各主要部件的性能和基本工作原理; (4) 掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识; (5) 熟练掌握常用数据结构和常用算法; (6) 熟悉数据库、网络和多媒体的基础知识; (7) 掌握C程序设计语言,以及C++、Java、Visual、Basic、Visual C++中的一种程序设计语言; (8) 熟悉软件工程、软件过程改进和软件开发项目管理的基础知识; (9) 熟悉掌握软件设计的方法和技术; (10) 掌握常用信息技术标准、安全性,以及有关法律、法规的基本知识; (11) 了解信息化、计算机应用的基础知识; (12) 正确阅读和理解计算机领域的英文资料。 2.通过本考试的合格人员能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计,编写程序设计规格说明书等相应的文档,组织和指导程序员编写、调试程序,并对软件进行优化和集成测试,开发出符合系统总体设计要求的高质量软件;具有工程的实际工作能力和业务水平。 3.本考试设置的科目包括: (1) 计算机与软件工程知识,考试时间为150分钟,笔试; (2) 软件设计,考试时间为150分钟,笔试。

二、考试范围 考试科目 1.计算机科学基础 1.1 数制及其转换 二进制、十进制和十六进制等常用制数制及其相互转换 1.2 数据的表示 数的表示(原码、反码、补码、移码表示,整数和实数的机内表示,精度和溢出)非数值表示(字符和汉字表示、声音表示、图像表示) 校验方法和校验码(奇偶校验码、海明校验码、循环冗余校验码) 1.3 算术运算和逻辑运算 计算机中的二进制数运算方法 逻辑代数的基本运算和逻辑表达式的化简 1.4 数学基础知识 命题逻辑、谓词逻辑、形式逻辑的基础知识 常用数值计算(误差、矩阵和行列式、近似求解方程、插值、数值积分) 排列组合、概率论应用、应用统计(数据的统计分析) 运算基本方法(预测与决策、线性规划、网络图、模拟) 1.5 常用数据结构 数组(静态数组、动态数组)、线性表、链表(单向链表、双向链表、循环链表)、队列、栈、树(二叉树、查找树、平衡树、线索树、线索树、堆)、图等的定义、存储和操作 Hash(存储地址计算,冲突处理)

最新版2016软件工程基础离线作业满分答案

浙江大学远程教育学院 《软件工程基础》课程作业 ————————————————————————————— 第一章概述 1.什么是软件危机,它有哪些典型表现? 答:所谓“软件危机”就是,在计算机软件的开发和维护过程中所遇到的一系列严重的问题,概括起来归纳为:如何开发软件,以满足日益增长、日趋复杂的需要;如何维护数量不断膨胀的已有软件。 软件危机的典型表现主要有: 1. 开发成本和进度不能准确估计 2. 开发出来的软件不能满足用户的要求 3. 软件的可维护性差 4. 软件质量不可靠 5. 软件成本在系统中的比重逐年上升 6. 软件开发生产率的提高速度不够 2.简述产生软件危机的原因和解决的思路。 答:软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。 解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。

3.什么是软件工程?它有哪些本质特性? 答:软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法进行软件开发和维护的学科。 其实质就是用工程的概念、原理、技术和方法,结合有效的管理方法和先进的开发技术,开发与维护软件,以解决软件危机。 4.软件工程是如何用来消除软件危机的? 答:软件工程是从技术和管理两个方面来研究如何更好地开发和维护计算机软件,从源头上消除软件危机。 5.假设你是某软件开发企业的CEO,当你把教材P.4的图1.1给手下的软件工程师们看,同时告诉他们应及早发现并改正错误的重要性时,有人不以为然,认为要求在错误进入软件前就发现并清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么又如何能够在设计阶段就发现并清除呢?”那你应该如何说服? 答:首先要对错误造成工作的延误或一些问题表示歉意。错误是难免,关键是要虚心接受,在以后工作中要更加认真,避免错误机率降到最低。在编码过程中要,首先要在头脑清醒,要保持工作前有足够的睡眠。这样错误机会也会降小。在编程结束后,首先要验证,是否能正常运行或工作。再以后的工作更要虚心,认真,保证这种机会降到最低。

软件工程复习题及答案

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

软件工程作业第一章

1-1什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题。 典型表现:软件总是超出预算、落后于进度表,而且产品质量不可靠、维护困难等。 危机原因: 1、软件受其自身特点的影响,生产过程不象硬件那样规范,受人的因素和外界影响很大,在软件生产的各阶段都会引入不同程度的错误,造成不能预期完成任务,致使成本上升,甚至导致软件失败。 2、主客观不相适应。 ●客观上:软件规模增大、功能要求越来越复杂,需求不断变化等; ●主观上:传统的个体化开发观念和方法的影响,无开发过程指导,无开发过程管理;由于主客观矛盾,必然产生软件质量差、开发超期、超预算、维护困难等现象。 1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机? ?基本思想:是强调在软件开发过程中应用工程化原则,解决软件的整体质量较低、最后期限和费用没有保证等问题。 ?软件工程定义:是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它. ?软件工程的根本在于提高软件的质量与生产率,最终实现软件的工业化生产。 本质特性:P6 消除软件危机:软件工程基本原理7条。 1-6 什么是软件过程?它与软件工程方法学有何关系? ?软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。 ?过程定义了运用方法的顺序、应该交付的文档资料、为保证软件质量和协调变化所需要采取的管理措施,以及标志软件开发各个阶段任务完成的里程碑。 关系:是软件工程方法学包含3个要素(方法、工具和过程)之一。 1-7 什么是软件生命周期模型?试比较瀑布模型、(快速)原型模型、增量模型和螺旋模型、喷泉模型的优缺点,说明每种模型的适用范围。 生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。 瀑布模型:它将软件生命周期划分为需求分析、软件设计、程序编写、软件测试和运行维护等基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。优点:文档驱动。 强迫开发人员采用规范的方法;严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。遵守瀑布模型的文档约束,将使软件维护变得比较容易一些。 缺点:系统可能不满足需求,用户仅仅通过写在纸上的静态的规格说明,很难全面正确地认识动态的软件产品 适用范围:软件需求明确。 原型模型:在初步调查了解的基础上,提供快速的软件建造工具,开发出一个功能并不十分完善的可实际运行的系统,即原型。需求分析入手快速、表达直观、容易交流。重点解决瀑

长安大学2018年《软件工程》研究生考试大纲_长安大学考研网

长安大学2018年《软件工程》研究生考试大纲 一、考试总体要求 软件工程是研究软件开发和软件管理的一门实践性和工程性并重的学科。我校软件工程专业本科期间开设有:《软件工程导论》,《软件需求分析》,《软件详细设计》,《软件设计与体系结构》,《软件项目管理》,《软件质量保证与测试》等多门与《软件工程》直接高度相关的课程。因此,要求考生熟练掌握本课程中软件的分析、设计、程序开发、测试、软件项目管理、软件维护等方面的基本概念、基本原理和一些典型的技术方法。并利用这些概念、原理和方法解决软件开发中的实际问题。 二、考试的内容及比例 (一)概述(<5%) 1.软件的概念、特征 2.软件危机的原因与表现 3.软件工程的概念及组成 (二)软件过程(5-10%) 1.软件过程的定义 2.几种典型的软件过程模型:瀑布模型、原型模型、增量模型、螺旋模型、迭代模型、面向对象模型 (三)软件项目管理(5-10%) 1.软件项目人员组织与管理模式 2.项目沟通管理 3.软件项目规划与管理 4.软件项目进度管理 (四)软件需求分析(10-20%) 1.需求的类型 2.需求工程过程 3.获取需求的方法 4.需求描述的方法与工具(包括结构化的与面向对象的) (五)软件设计(30-40%) 1.软件设计的概念及其重要性 2.软件设计(包括结构化的与面向对象的)方法、步骤、过程、工具 3.设计的检查、审查与验证 (六)软件实现(<5%) (七)软件测试(10-15%) 1.软件测试的概念 2.测试策略:单元测试、集成测试、系统测试、验收测试、面向对象的测试技术 3.几种黑盒测试与白盒测试技术:等价类划分法,边界值分析法,路径覆盖 (八)软件演化(<5%)

软件工程在线作业及答案

1.第1题 在软件可行性研究中,可以从不同的角度对软件进行研究,其中是从软件的成本/效益分析的是()。 A.经济可性性 B.技术可行性 C.操作可行性 D.法律可行性 您的答案:A 题目分数:2.5 此题得分:2.5 2.第2题 为了提高模块的独立性,模块内部最好是()。 A.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚 您的答案:C 题目分数:2.5 此题得分:2.5 3.第3题 Jackson方法是一种面向()的方法。 A.对象 B.数据结构 C.数据流 D.控制流 您的答案:B 题目分数:2.5 此题得分:2.5 4.第4题 需求分析阶段研究的对象是软件项目的()。 A.用户需求 B.合理要求 C.模糊要求 D.工程要求 您的答案:A 题目分数:2.5 此题得分:2.5

5.第5题 面向数据结构的设计方法(Jackson方法)是进行()的形式化的方法。 A.系统设计 B.详细设计 C.软件设计 D.编码 您的答案:B 题目分数:2.5 此题得分:2.5 6.第6题 程序控制的三种基本结构中,()结构可提供多条路径选择。 A.反序 B.顺序 C.循环 D.分支 您的答案:D 题目分数:2.5 此题得分:2.5 7.第7题 下列属于黑盒测试的是()。 A.基本路径测试 B.条件测试 C.循环测试 D.等价划分 您的答案:D 题目分数:2.5 此题得分:2.5 8.第8题 软件设计一般分为总体设计和详细设计,它们之间的关系是()。 A.全局和局部 B.抽象和具体 C.总体和层次 D.功能和结构 您的答案:A 题目分数:2.5 此题得分:2.5

9.第9题 好的软件结构应该是()。 A.高耦合,高内聚 B.低耦合,高内聚 C.高耦合,低内聚 D.低耦合,低内聚 您的答案:B 题目分数:2.5 此题得分:2.5 10.第15题 面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以有父类,下层可以有子类,这种层次结构系统的一个重要性质是(),一个类获得其父类的全部描述(数据和操作)。 A.传递性 B.继承性 C.复用性 D.并行性 您的答案:B 题目分数:2.5 此题得分:2.5 11.第16题 软件项目管理是()一切活动的管理。 A.需求分析 B.软件设计过程 C.模块控制 D.软件生命周期 您的答案:D 题目分数:2.5 此题得分:2.5 12.第17题 一个模块把开关量作为参数传递给另一模型,这两个模块之间的耦合是()。 A.外部耦合 B.数据耦合 C.控制耦合 D.内容耦合 您的答案:C

软件工程学自考考纲

“软件工程学”(成高学士学位专业课)考试大纲软件工程学是成人高等教育软件工程专业学士学位考试计划中的一门专业课程,该课程重点要求学生学习与软件开发和维护有关的四个方面的主要内容——过程与模型、方法与技术、工具与环境、标准与规范等。本课程的主要任务是使应考者掌握软件工程的基本概念、基本原理、实用的开发方法和技术;了解软件工程各领域的发展动向;如何用工程化的方法开发软件项目,以及在开发过程中应遵循的流程、准则、标准和规范等。本考试大纲主要由课程要求、考核要点、参考教材和样卷四部分组成。 一、课程要求 通过软件工程学课程的学习,要求学生切实掌握软件工程的基本思想、基本概念、基本方法,能够应用相应的图形表示工具进行小型项目的开发,特别是实用方法与技术的应用。具体要求如下: 1.从总体上了解软件工程的产生、软件生产发展史、软件生存周期、各种方法和生存周期模型、软件工程面临的问题。 2.系统掌握软件开发最基本的内容:可行性研究和软件计划、需求分析、概要设计、详细设计、编码、测试、维护,系统掌握这些阶段的目标、任务、特点、步骤和文档。 3.掌握增量模型的基本内容、基本思想、运行机制、开发过程和步骤。 4.掌握结构化方法的基本思想,开发过程和步骤,应遵循的原则和准则,能够应用相应的图形表示工具开发小型软件项目。 5.初步掌握面向对象方法的基本思想、基本概念、基本模型,面向对象分析、面向对象设计、面向对象实现的任务、内容和步骤,能够应用相应的图形工具。 6.了解Jackson方法的基本思想、开发过程和步骤、能够应用相应的图形表示工具。 7.了解软件工程的质量保证中的各种基本概念和方法,了解软件工程管理中的思想和方法,了解软件开发环境与工具。 二、考核要点 (一)第1章绪论 本章总体要求是:从总体上了解软件工程的基本概念和内容、软件工程过程和生存期的基本概念和内容、软件开发的各种方法和生存周期模型等。本章考核要求如下:(1)软件工程的产生 ①软件的特点,要求达到识记层次。 ②软件生产的发展,要求达到识记层次。 ③软件危机的产生、表现、原因,要求达到领会层次。 ④软件工程的定义、性质、目标、内容、面临的问题,要求达到领会层次。

软件工程作业答案

新版形考作业答案第一次!! 09软件工程作业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.IEEE 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×(1+i*n) B、P×(i+1)*n C、p×(1+i)n D、p×(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、一个输入流或一个输出流

软件工程复习题答案

软件工程复习题答案 Final approval draft on November 22, 2020

一、选择题 1.软件工程研究的主要内容有(ABCD) 2.A. 软件开发方法、技术 B. 软件开发工具及环境 3.C. 软件管理技术 D. 软件规范(国际规范) 4.目前典型的软件开发模型有(ABCD): 5.A. 瀑布模型 B. 增量模型 C.螺旋模型 D.喷泉模型 6.包含风险分析的软件工程模型是(C): 7.A. 瀑布模型 B. 增量模型 C.螺旋模型 D.喷泉模型 8.软件危机的主要表现是(BD) 9.A. 软件成本太高 B. 软件产品的质量低劣 10. C. 软件开发人员明显不足 D. 软件生产率低下 11.以下属于非功能需求的有(ABC) 12. A. 机构需求 B. 产品需求 C. 外部需求 D. 领域需求 13.需求分析的作用是(ABCD) 14. A. 定义软件的范围及必须满足的约束 15. B. 确定软件的功能和性能及与其他系统成分的接口 16. C. 建立数据模型、功能模型和行为模型 17. D. 最终提供需求规格说明,并用于作为评估软件质量的依据 18.需求工程的基本活动包括(ABCD) 19. A. 获取需求 B. 需求分析与建模 C. 确认需求 D. 进化需求 20.需求获取之所以困难,其主要原因有(ABCD) 21. A. 缺乏领域知识 B. 存在默认的知识 22. C. 存在多个知识源 D. 客户可能的偏见 23.常用的需求分析方法有(BCD) 24. A. 功能分析方法 B. 结构化分析方法 25. C. 信息建模法 D. 面向对象的分析方法 26.数据词典中可包含的条目有(ABCD) 27. A. 数据流 B. 数据项 C. 文件 D. 加工 28.属于分布式的软件体系结构有(B) 29. A. 仓库模型 B. 客户/服务器模型 C. 分布式对象结构 D. 中间件30.对于以下给出的几种类型的耦合,按照耦合性由高到低排列的是(A) 31.(1)内容耦合(2)公共耦合(3)控制耦合(4)复合耦合(5)数据耦合 32. A. 1 2 3 4 5 B. 1 3 4 2 5 C. 1 2 5 3 4 D. 5 4 3 2 1 33.对于块内部联系的类型,内聚性由弱到强的是(A) 34.(1)偶然型(2)逻辑型(3)瞬时型(4)通信型(5)顺序型(6)功能型 35. A. 1 2 3 4 5 6 B. 1 2 4 5 3 6 C. 3 2 4 1 5 6 D. 6 5 4 3 2 1 36.(C)是指相同的操作(或函数、过程)作用于不同的对象上并获得不同的结果 37. A. 继承性 B. 封装性 C. 多态性 D. 动态绑定 38.以下UML的几种图中,属于动态模型的有(ACD)

软件工程第1章作业

软件工程第1章作业 一、填空题(每小题1分,共15分) 1、软件与物质产品有很大的区别,软件是一种_____逻辑_______产品。 2、软件工程是一门综合性交叉学科,计算机科学着重于理论和原理,软件工程着重于建造一个软件系统____________________。 3、最基本、应用广泛、以文档为驱动、适用于开发功能明确的软件项目生存期模型是_瀑布模型。 4、一个软件从定义、开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把这个漫长的时期称为_生存周期。 5、软件工程是指导计算机软件开发和维护的一门工程学科。 6、软件工程包括___软件开发技术_________和____管理________两方面的内容,是技术与管理紧密结合所形成的工程学科。 7、通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称为_范型____________。 8、螺旋模型将瀑布模型和快速原型模型结合起来,加入了两种模型均忽略了的__风险分析_________,弥补了这两种模型的不足。 9、____瀑布_____模型不能适应需求可变的软件开发,只有到开发结束时才能见到整个软件系统。 10、将软件生存周期各个活动规定为依线性顺序联接的若干阶段的模型是__瀑布________模型。 11、喷泉模型是一种以用户需求为动力,以__对象________为驱动的模型。 12、一个软件项目的开发中,要采用一种生存周期模型,要按照某种_开发方法__________,使用相应的工具来进行。 13、软件工程的出现主要是由于_ ____软件危机__________的出现而产生的。 14、软件工程知识体系指南SWEBOK将软件工程知识体系划分为___10____个知识域。 15、Rational统一过程RUP是_用例_______驱动的、以体系结构为核心的、迭代的增量的过程,其迭代过程分为初始、细化、___构建________、移交4个阶段。 二、选择题(每小题2分,共30分) 1、作坊式小团体合作生产方式的时代属于( C )时代。 A.程序设计 B.软件生产自动化 C.程序系统 D.软件工程 2、软件工程与计算机科学性质不同,软件工程着重于( C )。 A.理论研究 B.原理探讨 C.建造软件系统 D.原理的理论 3、个体手工劳动生产方式的时代是( A )时代。 A.程序设计 B.软件生产自动化 C.程序系统 D.软件工程 4、软件是一种( B )产品。 A、有形B、逻辑C、物质D、消耗 5、与计算机科学的理论研究不同,软件工程是一门( C )学科。 A、理论性B、工程性C、原理性D、心理性 6、软件工程学科出现的主要原因是( C )。 A、计算机的发展B、其他工程学科的影响

中南大学2016年944《软件工程》考试大纲

中南大学2016年全国硕士研究生入学考试 《软件工程》考试大纲 本考试大纲由软件学院教授委员会于2012年7月7日通过。 I.考试性质 《软件工程》考试是为高等院校和科研院所招收硕士研究生而设置的具有选拔性质的全国统一入学考试科目,其目的是科学、公平、有效地测试学生掌握大学本科阶段软件工程课程的基本概念、原理、方法与技术,以及分析和解决问题的能力,评价的标准是高等学校本科毕业生能达到的及格以上水平,以保证被录取者具有基本的软件工程专业素质,并有利于各高等院校和科研院所在专业上择优选拔。 II.考查目标 掌握:软件工程的产生、软件工程学的研究对象与原则、软件开发方法、软件工程的生存周期模型以及软件工程发展的新方向;软件需求分析的任务和要求、可行性研究的任务以及系统建模方法;软件开发阶段的任务、过程、方法和技术。 理解:软件质量的概念、分析技术;软件维护阶段的活动、提高软件可维护性的策略;软件工程的相关管理技术。 Ⅲ.考试形式和试卷结构 1、试卷满分及考试时间 本试卷满分为150 分,考试时间为180 分钟 2、答题方式 答题方式为闭卷,笔试。 3、试卷内容结构 软件工程与软件过程约 10 %

软件分析与设计约 55 % 软件验证与维护约 20 % 软件项目管理约 15 % Ⅳ.考查内容 一、软件工程与软件过程 1 软件工程的产生 2 软件工程的研究对象与基本原理 3 软件开发方法 4 软件工程工具和环境 5 软件生存期过程 6 软件工程常用生存周期模型 二、需求分析 1 需求分析的目标 2 可行性分析 3 需求收集 4 需求规格说明 5 数据流建模 6 实体-关系建模 7 系统行为建模 8 IDEF0功能建模 9 IDEF1x数据建模 10 用例建模 11 面向对象建模 12 统一建模语言UML 三、软件设计 1 软件设计的任务和过程 2 软件设计基本原则 3 面向数据流图的设计方法 4 面向对象的设计方法

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

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

(完整版)《软件工程》作业及答案

t h e i 《软件工程》作业及答案 1-1 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?答: 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。软件危机典型表现:对软件开发成本和进度的估计常常很不准确。用户对“已完成的”软件系统不满意的现象经常发生。软件产品的质量往往靠不住。软件常常是不可维护的。软件通常没有适当的文档资料。软件成本在计算机系统总成本中所占的比例逐年上升。软件开发生产 率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。软件不同于硬件,它是计算机系 统中的逻辑部件而不是物理部件。管理和控制软件开发过程相当困难。 软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上 升。目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念, 在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。1-2 假设你是一家软件公司的总工程师,当你把图1.1给手下的软件 工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能 在设计阶段清除它呢?”你怎么反驳他? 1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机? 答: 软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。 软件工程本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是由具有一种文化背景的人替具 有另一种文化背景的人创造产品。 消除软件危机的途径:为了消除软件危机,首先应该对计算机软件有一个正确的认识。必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。应该推广使用在实践中总结出来的开发软件的成功 的技术和方法,并且研究探索更好更有效的技术和方法,尽快消除在 计算机系统早期发展阶段形成的一些错误概念和做法。应该开发和使用更好的软件工具。为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。1-6 什么是软件过程?它与软件工程方法学有何关系? 答: 软件过程是为了获得高质量软件所需要完成的一系列任务的框架, 它规定了完成各项任务的工作步骤。软件工程方法学包含软件过程。1-7 什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增 量模型和螺旋模型的优缺点,说明每种模型的适用范围。 答: 生命周期模型简洁地描述软件过程,规定了把生命周期划分成哪些阶段及各个阶段执行顺序。 瀑布模型历史悠久、广为人知,它的优势在于它是规范的、文档驱动的方法;这种模型的问题是,最终开发出的软件产品可能并不是用户 真正需要的。 快速原型模型正是为了克服瀑布模型的缺点而提出来的。它通过快速构建起一个可在计算机上运行的原型系统,让用户试用原型并收集用 户反馈意见的办法,获取用户的真实需求。 增量模型具有可在软件开发的早期阶段使投资获得明显回报和较易维护的优点,但是,要求软件具有开放的结构是使用这种模型时固有的困难。 风险驱动的螺旋模型适用于内部开发的大型软件项目,但是,只有在开发人员具有风 险分析和排除风险的经验及专门知识时,使用这种模型才会获得成功。 快速原型模型:适合小型软件; 螺旋模型:适合内部开发的大规模软件项目。2-1 在软件开发的早期阶段为什么要进行可行性研究?应该从哪些方面 研究目标系统的可行性? 答: 可行性研究的目的,就是用最小的代价在尽可能短的时间内确定 问题是否能够解决。至少应该从下述三方面研究每种解法的可行性:(1)技术可行性;(2)经济可行性;(3)操作可行性。 2-5 北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。请用2.5.2小节讲述的定义数据的方法,定义上述的电话号码。答: 电话号码=[校内电话|本市电话|外地电话] 非零数字字符=[1|2|3|4|5|6|7|8|9] 校内电话=非零数字字符+3{数字}3本市电话=0+非零数字字符+7{数字}7外地电话=0+区码+非零数字字符+7{数字}73-1 为什么要进行需求分析?通常对软件系统有哪些需求?答: 为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。确定对系统的综合要求:1、功能需求;2、性能需求;3、可靠性和可用性需求;4、出错处理需求;5、接口需求;6、约束;7、逆向需求;8、将来可以提出的要求,分析系统的数据要求。3-2 怎样与用户有效地沟通以获取用户的真实需求? 答: 与用户沟通获取需求的方法:访谈;面向数据流自顶向下求精;简易的应用规格说明技术;快速建立软件原型 4-2 在什么情况下应该使用形式化说明技术?使用形式化说明技术时应 遵守哪些准则? 答: 在开发大型软件系统的过程中应该使用形式化说明技术。应用形式化方法的准则:(1)应该选用适当的表示方法。(2)应该形 式化,但不要过分形式化。 (3)应该估算成本。(4)应该有形式化方法顾问随时提供咨询。 (5)不应该放弃传统的开发方法。(6)应该建立详尽的文档。(7)不应该放弃质量标准。(8)不应该盲目依赖形式化方法。(9)应该测试、测试再测试。(10)应该重用 7-8 对一个包含10000条机器指令的程序进行一个月集成测试后,总 共改正了15个错误,此时MTTF=10h;经过两个月测试后,总共改正了 25个错误(第二个月改正了10个错误),MTTF=15h 。要求:(1) 根据上述数据确定MTTF 与测试时间之间的函数关系,画出 MTTF 与测试时间τ的关系曲线。在画这条曲线时做了什么假设?(2) 为做到MTTF=100h ,必须进行多长时间的集成测试?当集成测试结束时总共改正了多少个错误,还有多少个错误潜伏在程序中? 答: (1)所做假设:1)单位长度里的错误数近似为常数;2)失效率正比于软件中剩余的错误数,而平均无故障时间与剩余的错误数成反比. 3)发现的每一个错误都立即正确地改正了.(2)由Shooman 公式:MTTF=I T /(K*(E T -E C (T))) 其中,I T =104,MTTF 1=10,n 1=15,MTTF 2=15,n 2=25。得:MTTF 1=I T /(K*(E T -E C (T 1)))10=10000/(K*(E T -15))MTTF 2=I T /(K*(E T -E C (T 2)))15=10000/(K*(E T -25)) (1)解得程序中固有的错误总数E T =45,此外K=100/3。(2)设MTTF=100,有 100=10000/((100/3)*(45-x))

相关文档
最新文档