当前位置:文档之家› 软件工程期末考试综合整理

软件工程期末考试综合整理

软件工程期末考试综合整理
软件工程期末考试综合整理

考试试题及参考答案

一、单向选择题(四选一、每小题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

风险标识

风险估算

风险评价

风险驾驭

监控

1、什么是软件?

软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、各种相关的文档和数据的集合。

a)程序:能以预期的性能执行预期功能的一段指令;

b)数据:便于程序操纵信息的数据结构;

c)文档:与程序开发、维护和使用有关的图文材料。例如:用户手册

软件=程序+数据结构+文档

2、软件的特点

1)软件是逻辑产品,不是具体的物理实体,所以它具有抽象性。

2)软件的生产与硬件不同,在它的开发过程中没有明显的制造过程。

3)软件运行和使用期间没有硬件那样的机械磨损和老化问题。

4)软件的开发和运行常受到计算机系统的限制,对计算机系统有着不同程度的依赖性。

5)软件的开发资金尚未摆脱手工开发方式。决定了软件的进度、成本各不相同。

6)软件本身是复杂的。

1)实际问题的复杂性

2)程序逻辑结构的复杂性

7)软件的开发和维护成本高,成本昂贵。

8)相当多的软件工作涉及到社会因素。

3、软件的分类

a系统软件指能与计算机硬件紧密配合在一起,使计算机系统各个部件、相关的软件和数据协调、高效的工作的软件。包括:操作系统,设备驱动程序,通信处理软件,编译软件,数据库管理系统等

b应用软件是在特定领域内开发,为特定目的服务的软件。包括:

商业数据处理软件,工程和科学计算软件,计算机辅助设计/制造软件,系统仿

真软件,办公自动化软件,电子商务软件,计算机辅助教学软件c支撑软件是协助用户开发软件的工具性软件。包括:

文本编辑程序, 文件格式化程序, 磁盘向磁带做数据传输程序, 程序库系统, 支

持需求分析、设计、实现、测试和支持管理的软件

d可复用软件通常是由计算机厂商提供的系统软件的一部分。典型的例如:

各种标准函数库, 可复用类库, 可复用应用程序库

4、软件危机?

a定义:开发软件所需的高成本同产品的低质量之间有着尖锐的矛盾,这种现象就是“软件危机”,也即是无法开发符合预算和进度要求的高可靠性和可用性软件。

b软件危机包括两方面的问题:一是如何开发软件,怎样才能满足软件日益增长的需要;

二是如何维护数量不断膨胀的软件产品。

c具体体现

(1)软件开发成本及进度难以预测

(2)用户对已完成的软件系统不满足

(3)软件产品质量无法保证

(4)软件产品难以维护

(5)软件通常缺少适当的文档资料

(6)软件成本逐年提高

(7)软件开发生产率提高的速度,远远跟不上计算机应用技术的迅速普及。

d原因概述:硬件生产率大幅提高,软件生产规模增大、复杂度增大,软件生产率很低,硬、软件供需失衡,矛盾引发“软件危机”

e解决危机的途径:

(1)为了解决软件危机就要从技术和组织管理两个方面去研究,不断总结经验教训,

提高软件产品的生产效率,降低软件开发和维护的成本。

(2)开发软件选用最好的开发工具是至关重要的,工具选用的好,它可以“放大”人

的智力,大大加快软件开发速度,提高软件质量。

(3)为了解决软件危机,人们开始探索用工程化的方法进行软件开发,软件开发工程

化的概念和方法应运而生,由此诞生了一门新兴学科——软件工程学。

5、软件生存期由软件分析、软件开发和运行维护三个时期组成。每个时期又划分为若干个

阶段(问题定义,可行性研究,需求分析,总体设计,详细设计,编码,测试,运行与维护)

可行性研究:

技术可行性,使用现有的技术能实现这个系统吗?

经济可行性,这个系统的经济效益能超过它的开发成本吗?

法律可行性,这个系统是否合法?

操作可行性,系统的操作方式在这个用户组织内行的通吗?

6、维护的分类,按工作量从大到小排列,依次为:

(1)完善性维护:指在使用软件系统的过程中为满足用户提出的新功能和性能要求而

进行的维护活动。它约占总维护活动的50%。

(2)纠错性维护诊断和改正在使用过程中发现的软件错误。这部分维护工作约

占全部维护活动的25%。

(3)适应性维护由于计算机技术的飞速发展,外部设备和其他系统元素经常改进

和变化,为适应变化的环境而修改软件的活动称之为适应性维护。它占总维护活动

的18%~21%。

(4)预防性维护为进一步改进软件的可维护性、可靠性而进行的维护活动,约占4%。

7、软件的过程(开发)模型:

瀑布模型:

?瀑布模型即软件生命周期模型,是软件工程的典型模型。软件生命周期的各个阶段

如同瀑布流水般逐级下落,形成自上而下,相互衔接的固定次序。

?瀑布模型采用结构化方法开发,包括结构化分析、结构化程序设计和结构化测试方

法。

?瀑布模型是一次开发就将一个包含全部功能的产品交付用户使用。

?优点:

(1)奠定了软件工程方法的基础;

(2)流水依赖,便于分工协作;

(3)推迟物理实现,易于修改文档,有复审质量保证;

?不足:

与用户见面晚,成功率低,一般为25%

?思想:

从制作时间上按工序把问题简化,将功能实现与制作分开便于分工协作。

?适用范围:

适用于系统要求明确的系统

8、(1)ERD:entity relation diagram实体关系图,描述与系统有关的各类主体(即实

体,或者是数据对象)之间的关系,用于数据建模

(2)DFD:data flow diagram数据流图,描述数据在系统中如何被传送或者变化,及描述如何对数据流进行变换的功能,用于功能建模

(3)STD:state transition diagram状态迁移图,描述系统对外部事件如何响应和动作,用于行为建模

(4)DD:data dictionary数据词典是核心,以词条方式详细定义在数据流图中出现的所有被命名的图形元素。

练习:画银行取款过程的数据流图

外部实体:

储户,日历系统或时钟系统

加工:

检验用户信息的系统,登陆系统,付款系统

数据潭:

用户存折和用户帐卡

数据流传输描述:

检验系统检验储户的取款单、存折和帐卡,若检验出了问题则将问题反馈给储户;若是检验通过,则将用户的取款信息传入登陆系统让储户登陆,同时通知日历系统记下登陆时间;登陆完成后将付款信息传给付款系统,同时修改用户的存折和帐卡资料(即记录扣款信息和扣款时间);付款系统付现款给储户

9、基本加工逻辑说明

如果能写出每一个基本加工的全部详细逻辑功能,再自底向上综合,就能完成全部逻辑加工。

在写基本加工逻辑的说明时,要表达“做什么”而不是“怎样做”,应满足如下的要求:

●对数据流图的每一个基本加工,必须有一个加工逻辑说明

●加工逻辑说明必须描述基本加工如何把输入数据流变换为输出数据流的加

工规则

●加工逻辑说明必须描述实现加工的策略而不是实现加工的细节

●加工逻辑中说明中包含的信息应是充足、完备、有用的,没有重复的多余的

信息

10、目前用于写加工逻辑说明的工具:结构化语言,决策表,决策树

11、软件设计的目标与准则

目标:一般来说是从需求规格说明书中选择重要的质量属性作为设计目标,如性能目标、可靠性目标等。

准则:性能准则,可靠性准则,成本准则,维护准则,最终用户准则

11、软件设计的任务

?概要设计过程中需要完成的工作:

?制定规范

?软件系统结构的总体设计

?处理方式设计

?数据结构设计

?可靠性设计

?编写概要设计阶段的文档

?概要设计评审

?详细设计过程中需要完成的工作:

?确定软件各个组成部分内的算法以及各部分的内部数据组织

?选定某种过程的表达形式来描述各种算法

?进行详细设计的评审

12、模块化:将程序划分成独立命名且可独立访问的模块,不同模块通常具有不同的功能或

职责。

模块(Module):一般把用一个名字就可调用的一段程序称为模块。它具有三个基本属性:

?功能:描述该模块实现什么功能。这里所说的模块功能,应是该模块的功能加上它所调用的所有子模块的功能。

?逻辑:描述模块内部怎么做。

?状态:该模块使用时的环境和条件。

13、创建良好的设计原则1

14典型的数据流类型和系统结构:典型的数据流类型有变换流型和事务流型(1)变换流型

变换型数据处理问题的工作过程大致分为三步,即取得数据,变换数据和给出数据(2)在事务流型系统结构图中,事务中心模块按所接受的事务的类型,选择某一个事务处理模块执行。各个事务处理模块是并列的,依赖于一定的选择条件,分别完成不同的事务处理工作

变换流型数据流图:

事务流型系统结构图例:

15结构化程序设计的方法:

(1)程序流程图PDF

(2)N-S图

(3)问题分析图PAD

(4)程序设计语言PDL

(5)判定表

16、极限编程方法(Extreme Programming—XP

主要宗旨有:交流、简单、反馈和勇气

(1)交流:开发人员之间或者开发人员与客户之间从“以文档交流”变为“面对面交流”。

(2)简单:XP主张不要过分构件系统,当前面对的一定要是当前最简单的系统,不要管额外的需求,当新需求出现时再做打算。

(3)反馈:“结对编程”,“测试优先”,“现场客户”。

(4)勇气:有勇气顶住压力,有勇气拥抱变化,有勇气放弃。

17、编程语言的分类

(1)第一代——机器语言:机器语言是计算机可以识别的语言。

(2)第二代——汇编语言:汇编语言是在使用助记符来编写程序。

(3)第三代——高级语言:面向过程的,面向对象的

(4)第四代语言(4GL):语言的抽象层次又提高了,不需要写出具体的算法过程。

分三类:

a、查询语言,如SQL

b、程序生成器

c、其他4GL,如判定支持语言

18、软件测试的定义(验证程序的错误性)

(1)在规定的条件下运行系统或构件的过程:此过程中观察和记录结果,并对系统

或某些构件的某些方面给出评价;

(2)分析软件项目的过程:检测现有状况和所需状况之间的不同(bug),并评估软件项目的特性。

19、单元测试内容:模块接口的测试项目,局部数据结构测试,路径测试,错误处理测试,

边界测试。

驱动模块:构造最小运行调度系统,用于模拟被测模块的上一级模块。

桩模块:模拟实现单元接口,即单元函数需调用的其他函数接口

单元测试策略:自顶向下,自底向上,孤立测试,综合测试

测试依据:详细设计说明书

集成测试的依据:需求规格说明书、概要设计及详细设计说明书。

集成策略:非增值式和增值式(自顶向下,自底向上)

集成测试计划:确定集成测试对象和测试范围;确定集成测试阶段性时间进度;确定测试角色和分工;考虑外部技术支援的力度和深度,以及相关培训安排;初步考虑测试环境和所需资源;集成测试活动风险分析和应对;定义测试完成标准;

系统测试;将已经集成好的软件系统,作为整个计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行(使用)环境下,对计算机系统进行一系列的组装测试和确认测试

系统测试过程要经历以下几个阶段:

制定系统测试计划、设计系统测试、实施系统测试、执行系统测试和评估系统测试20、黑盒测试:把测试对象看做一个黑盒子,检查程序的功能是否符合它的功能说明。测试

人员不用了解程序内部的逻辑结构和内部特性

黑盒测试用例设计方法:等价类划分,边界值分析,判定表法,因果图

白盒测试作为结构测试方法,是按照程序内部的结构测试程序,对软件的过程性细节做细致的检查,测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例。

白盒测试用例的设计方法:逻辑覆盖(以程序的内部逻辑结构为基础,分为语句覆盖、判定覆盖、判定-条件覆盖、条件组合覆盖等)基本路径测试(在程序控制流程的基础上,分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例)21、软件维护的定义:):在交付以后,修改软件系统与部件以排除故障,改进性能或其他属

性或适应变更了的环境的过程。

维护的类型:改正性维护(改正之前没发现的隐藏性的错误);适应性维护(使软件适应运行环境等变化);完善性维护(满足用户提出的新功能或性能要求);预防性维护(采用先进的软件工程方法对需要维护的软件或软件中的某一部分重新进行设计);

编制和测试(以提高软件的可维护性、可靠性等)

维护的常见问题:

1、理解别人写的程序困难,困难程度随软件配置成分减少而迅速增加;

2、要维护的软件往往没有合适的文档或资料不全;

3、绝大多数软件设计时没有考虑将来的修改;

4、软件维护不是一项吸引人的工作;

5、软件人员经常流动,维护不能依靠原开发人员;

6、追踪软件的建立过程非常困难,或根本做不到。

软件维护的策略:

改正性维护:通常不可避免,但可减少

适应性维护:不可避免,但可控制

22、提高可维护性的方法:建立明确的软件质量目标和优先级,使用提高软件质量的技术和

工具,进行明确的质量保证审查,选用可维护的程序设计语言,改进程序的文档(系统开发日志,错误记录,系统维护日志)

23、遗留系统的概念:软件运行了相当长时间,将难以修改和演化,将其称为遗留系统

软件工程期末考试题含答案

一、选择题 1.瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和_。 ( C ), A .详细计划 B .可行性分析 C .运行阶段 D.测试与排 错 2.在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试年勺系统测试阶段的目标( A ) A .需求分析阶段 B .详细设计阶段 C.概要设计阶段 D .可行性研究阶段, 3.软件工程的出现主要是由于(C ) , A.程序设计方法学的影响 B.其它工程科学的影响 C.软件危机的出现 D.计算机的发展, 4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实旅的主要保证是(C) A.硬件环境 B.软件开发的环境 C.软件开发工具和软件开发的环境 D.开发人员的素质 5.软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B) A.相互排斥B相互补充C独立使用 D.交替使用 是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C) A.基于瀑布模型的结构化方法 B.基于需求动态定义的原型化方法 C.基于对象的面向对象的方法 D.基于数据的数据流开发方法 7.在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B) A.结构化方法B原型化方法C面向对象的方法 D.控制流方法 8.结构化分析方法是一个预先严格定义需求的方法,它在实施时强调的是分析对象的(B) A.控制流 B.数据流 C.程序流 D.指令流 9.软件开发的结构化生命周期方法将软件生命周期划分成(A) A.计划阶段.开发阶段.运行阶段 B.计划阶段.编程阶段.测试阶段 C.总体设计.详细设计.编程调试 D.需求分析.功能定义.系统设计 10.软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C) A.分析阶段 B.设计阶段 C.编码阶段 D.测试阶段

软件工程期末考试重点

软件工程期末考试重点 《软件工程》期末复习重点 第一章软件工程 1. 什么是软件工程。 A.把系统化的、规范的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程化应用于软件中;b.研究a中提到的途径。2. 软件工程的三要素:方法、工具和过程。 第二章软件过程 1. 软件生命周期分为哪几个阶段?每个阶段的基本任务是什么? a.软件定义:确定软件开发工程必须完成的总目标问题定义:要解决的问题是什么 可行性研究:上阶段所确定的问题是否有可行的解决办法?需求分析:目标系统必须做什么 b.软件开发:具体设计和实现在前一个时期定义的软件。概要设计:怎样宏观地解决问题 详细设计:应如何具体地实现这个系统 编码和单元测试:写出正确的、易理解、易维护的程序综合测试:通过各类型测试使达到预定要求。 c.运行维护:修正错误,使软件持久地满足用户需要。改正性维护:诊断和改正使用中的错误适应性维护:修改

以适应环境变化 完善性维护:根据用户的要求改进和扩充以完善预防性维护:修改以为将来的维护作准备 2. 常用的过程模型有哪些?各自的特点及不足。如:瀑布模型的不足是不能适应需求的动 态变更。 A.瀑布模型 特点: 可强迫开发人员采用规范化的方法。严格地规定了每个阶段必须提交的文档。要求每个阶段交出的所有产品都必须是经过验证的。 缺点:太理想化,于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。如果需求规格与用户需求之间有差异,就会发生这种情况。只适用于项目开始时需求已确定的情况。 B.快速原型模型 特点:快速 软件产品开发基本上是线性顺序进行。降低了规格说明文档变化的可能性。减少了后续阶段错误的可能性。 c.增量模型 1 优点: 人员分配灵活,刚开始不用投入大量人力资源。

软件工程期末试题(含答案)解析

填空题(每空 1 分,共25 分) 1.软件生存周期一般可以划分为,问题定义、可行性研究、需求分析、设计、编码、测试 和运行和维护。 2.基于软件的功能划分,软件可以划分成___系统软件_、支撑软件、应用软件__三种。 3.可行性研究,应从经济可行性、技术可行性、运行可行性、法律可行性和开放方案 可行性等方面研究。 4.系统流程图是描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式 描绘系统里面的每个部件 5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、加工、数据流和数据 存储文件。 6.结构化分析方法是面向_数据流_进行需求分析的方法。结构化分析方法使用_数据 流图DFD_与_ 数据字典_来描述。 7.继承性是自动地共享类、子类和对象中的方法和数据的机制。 8.软件详细设计工具可分为 3 类,即_图示工具_、_设计语言_和_表格工具_。 9.为了在软件开发过程中保证软件的质量,主要采取下述措施:_审查__、复查和管理复审、___ 测试_。 10.大型软件测试包括单元测试、集成测试、确认测试和系统测试四个步骤。单项选 择题(每小题2分,共20 分) 1.软件设计中划分模块的一个准则是( C )。 A、低内聚低耦合 B.低内聚高耦合 C.高内聚低耦合 D. 高内聚高耦合 2.Jackson 设计方法是由英国的M. Jackson 提出的,它是一种面向( C )的软件设计方法。 A 、对象 B.数据流 C.数据结构 D.控制结构 3.试判断下列叙述中,哪个(些)是正确的( C )。 a、软件系统中所有的信息流都可以认为是事务流 b、软件系统中所有的信息流都可以认为是变换流 c、事务分析和变换分析的设计步骤是基本相似的 A、a B 、b C 、c D 、 b 和 c 4.( A )是用户和设计交换最频繁的方法。 A 、原型化方法B、瀑布模型方法 C. 螺旋模型方法D、构件组装模型 5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主 要保证是( C )。 A 、硬件环境 B 、软件开发的环境 C. 软件开发工具和软件开发的环境D 、开发人员的素质 6.20 世纪50 年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言 ( D )。 A、PASCAL B、VISUAL BASIC C. C++ D、汇编语言 7.软件测试的目的是?( D ) A 、证明软件的正确性 B. 找出软件系统中存在的所有错误 C.证明软件系统中存在错 误 D. 尽可能多的发现软件系统中的错误 8.使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。A、程序的内 部逻辑 B 、程序的复杂程度 C、该软件的编辑人员 D、程序的功能 9.软件维护工作的最主要部分是( C )。

软件工程课程设计心得总结

软件工程课程设计个人总结 学期就快要结束了,到了最后一周居然还有软件工程课程设计,还要考试真的有点忙啊,不管怎样还是好好干吧,把对工程的理论研究、学习成果用于实践也是一种检验学习成果和提升工程能力的有效手段嘛。 工作内容安排 软件工程课程设计的第一天拿到题目,听取老师对于课程设计的要求、要完成的工作、预期要达到的效果和注意事项。然后分组、讨论和确定选题。这真正的课程设计才算开始了,经过组长,组员的反复研究、论证后一致决定选择:实习题目4:开发一个基于Web的BBS系统,包含一般BBS所具有的功能,如用户注册、用户信息管理、发贴功能、贴子管理、主题词查询、用户信息修改和查询等。 这个题目对于现代化的网络交流来说发展的成熟而且符合当代互联网大众的网络需求,符合现代网络对信息分享讨论的爱好,我们一致预测在今后很长的一段时间内也将会是非常流行的一种交流介质。 确定选题后我们开始软件开发的第一步,需求分析,详细设计等内容,分块分工完成模块,我分到的主要部分就是分析论坛里面的帖子内容,用户的爱好,然后解决用户的索引需求,把用户的索引需求智能的、友好的呈现给用户,把这部分的代码编写,测试,把用户界面做好就是我接下来几天的工作内容。 俗话说:磨刀不误砍柴工,要想把我的这部分内容做好,做得完美,我的好好的分析一下,对全组对整个系统的需求分析的基础上又认真分析了本部分的内容和本部分要实现的功能,对本部分实现的主要思想理清,认真设计界面,还有对队员们的模块能有效的结合起来,让他们的模块也能有效的供我使用,做好我的接口也方便其他模块与此的衔接。 问题与解决 在本次课程设计中遇到了好多前所未有的问题,第一次接触HTML网页开发,第一次邂逅JSP web应用程序开发,第一次有了原来开发应用程序是需要数据库的,对于这些都是第一次接触,需要了解HTML的基本语法,需要学习JSP web 应用程序web app的开发方法,需要实践配置数据库TOMCAT、SQL sever,居然有这么多的东西需要从头来,对于这些方面我就像一张崭新的白纸,怎么能在短短的四五天时间内将这张白纸绘成一幅栩栩如生的画卷呢,这是我们面对的亟待解决的问题。 为了解决这一系列的问题,我们没有找借口,我们没有懒惰,我们更没有放弃,而是迎难而上,到图书馆“大采购”求资料,找到想要的,真想把图书馆搬到课程设计实验室。接下来就是根据我们的需求分析,概要设计,详细设计等内容分模块编写网页源代码,修复bug,测试代码,连接数据库这样我们的全新的基于web的BBS论坛就成功上线了。

软件工程期末考试题3

试卷一 中南大学考试试卷 2006--2006 学年学期时间110分钟 专业年级:总分100分,占总评成绩 100% 注:此页不作答题纸,请将答案写在答题纸上 填空题(本题20分,每小题2分) 1. 瀑布模型是以文档为驱动、适合于()软件项目的开发。 2. 需求分析的基本任务是()。 3. 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是()。 4. 根据程序流程图划分的模块通常是()内聚的模块。 5. 软件的分类,按其功能可分为:系统软件、()和应用软件。 6. UML的定义包括UML语义和()两个部分。 7. 客观世界中的若干类,通常有两种主要的结构关系:即分类结构和( )。 8. IDEF1X图用来描述系统的()模型,主要有实体、联系和()三种成分,其中实体可分为独立实体和(),且一个实体只能在图中出现一次。 二、简答题(本题30分,每小题5分) 1. 什么是软件工程?软件工程和计算机科学有何区别?

2. 面向对象方法和结构化方法有何区别与联系? 3. 什么是模块的作用域和模块的控制域?为何要求模块的控制域必须在作用域内? 4. 什么是设计模式?试举例说明组合设计模式的应用。 5.什么是依赖倒置原则?它和开闭原则有何联系? 6. 软件生存期过程和软件生存期模型有何联系?瀑布模型有何特点? 三、绘图题(本题34分) 1. 某单位拟开发一个计算机房产管理系统,要求系统具有分房、调房、退房和查询统计等功能。房产科将用户申请表输入系统后,系统首先检查申请表的合法性,对不合法的申请表,系统拒绝接收;对合法的申请表根据类型分别进行处理。 (1) 如果是分房申请,则根据申请者的情况(年龄、工龄、职称、职务、家庭人口等)计算其分数,当分数高于阀值分数时,按分数高低将申请单插到分房队列的适当位置。在进行分房时,从空房文件中读出空房信息,如房号、面积、等级、单位面积房租等,把好房优先分给排在分房队列前面的符合该等级房条件的申请者;从空房文件中删掉这个房号的信息,并从分房队列中删掉该申请单,再把此房号的信息和住户信息一起写到住房文件中,输出住房分配单给住户,同时计算房租,并将算出的房租写到房租文件中。 (2) 如果是退房申请,则从住房文件和房租文件中删除有关信息,再把此房号的信息写到空房文件中。

软件工程期末复习知识点整理

复习整理 、绪论 1. 软件的定义 软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据,以及有关描述程序操作和使用的文档。(软件=程序+文档) 2.软件工程的定义 是指导计算机软件开发和维护的一门工程学科;采用工程化的原理与方法对软件进行计划、开发和维护;把证明正 确的管理技术和最好技术综合运用到软件开发中;研究经济地开发岀高质量的软件方法和技术;研究有效维护软件 的方法和技术。 3.软件危机的概念,及出现的原因 软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。 产生原因: ⑴软件规模越来越大,结构越来越复杂 ⑵软件开发管理困难而复杂。 ⑶软件开发费用不断增加。 ⑷软件开发技术落后。 ⑸生产方式落后,仍采用手工方式。 ⑹开发工具落后,生产率提高缓慢。 4.三种编程范型的特点 (1)过程式编程范型:把程序理解为一组被动的数据和一组能动的过程所构成;程序=数据结构 +算法;着眼于程序的过程和基本控制结构,粒度最小 (2)面向对象编程范型:数据及其操作被封装在对象中;程序=对象+消息;着眼于程序中的对 象,粒度比较大 (3)基于构件技术的编程范型:构件是通用的、可复用的对象类;程序=构件+架构;眼于适合 整个领域的类对象,粒度最大 二、软件生存周期与软件过程 1、软件生存周期的定义,把生存周期划分为若干阶段的目的是什么,有哪几个主要活动 定义:一个软件从开始立项起,到废弃不用止,统称为软件的生存周期 目的:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段, 给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得较易控制和管理。 主要活动:需求分析、软件分析、软件设计、编码、软件测试、运行维护( P19) 2、软件生命周期划分为哪几个阶段 软件生命周期分为三个时期八个阶段: 软件定义:问题定义、可行性研究; 软件开发:需求分析、概要设计、详细设计、编码、测试; 软件运行:软件维护

软件工程导论-期末题库(完整版)

1.填空题 1.一般来说,可以从__一致性__、_完整性___、_现实性____和_有效性___四个方面验证软件需求的正确性。 2.IPO图是_输入、处理和输出图_的简称,它是美国IBM公司发展完善起来的一种图形工具。 3.系统流程图是描述__物理模型__的传统工具,用图形符号表达了系统中各种元素之间的_____信息流动_____情况。 4.数据流图中的箭头表示数据流,椭圆或圆形表示数据处理,矩形表示数据的源点/终点。 5.软件测试的步骤按顺序分别是:___单元测试_____、子系统测试、系统测试(子系统和系统测试通常称为集成测试)、__确认测试__和_____系统测试(集成测试) ____ 6.软件生命周期一般可分为_问题定义_、可行性研究、_需求分析_、设计编码、_测试_、运行与维护阶段。 7.可行性研究主要集中在以下四个方面_经济可行性_、__技术可行性____、__法律可行性___和抉择。 8.在结构化设计中,HIPO图应用在总体设计阶段,由IPO图和_层次图_两部分组成。 9.复杂问题的对象模型通常由下述五个层次组成:主题层、___类与对象_层、__结构___层、_属性_层和__服务_层。 10.实施精化设计的目标是基于模块的“高内聚低耦合”的原则,提高模块的_独立性。 11.软件生命周期一般可分为___问题定义_、可行性研究、__需求分析__、概要设计__、详细设计、编码、__软件测试_、运行与维护阶段。 12.面向对象的数据存储管理模式分为__文件__、_关系数据库__和__面向对象数据库___三种。 13.单元测试一般以_白盒_测试为主,__黑盒__测试为辅。

软件工程学习心得作业

软件工程作业

软件工程心得体会 通过这半学期我对软件工程的学习,老师在课堂上从软件工程的基础到用户的需求分析,最后到黑盒白盒测试通过自身做过的一些案例,生动形象的讲解了软件工程这门本身枯燥乏味的课程,这不仅增强了学生学习的积极性,也通过让我们自己去做一些需求分析,我们从中学到了许多知识。 老师不仅仅在课堂上对我们悉心的知道,在课外还让我们多看一些有关软件工程方面最前沿的理论,通过这段时间我读了《软件工程——实践者的研究方法》、《件工程案例》这两本书,通过自己的读书学习,我有以下心得体会。 众所周知软件对于一个公司,一个企业乃至一个国家都是十分重要的,因此一个软件的维护也十分重要,下面我就讲一些关于软件维护的知识。 维护阶段是软件生存期中时间最长的一个阶段,也是花费的精力和费用最多的一个阶段。由于操作系统软件和基础软件版本升级或应用管理系统软件的不断开发、完善,需要对软件进行维护。但当运行环境改变或者系统功能、性能需求发生变化,使原软件不能通过维护的手段满足用户需求时,则需要进行软件更新。 1.软件维护的类型: 软件的开发过程对软件的维护有较大的影响。若不采用软件工程的方法开发软件,则软件只有程序而无文档,维护工作非常困难,这是一种非结构化的维护。若采用软件工程的方法开发软件,则各阶段都有相应的文档,容易进行维护工这是一种结构化的维护。非结构化维护活动只能从阅读、理解和分析源程序开始,这样做难以弄清系统功能、软件结构、数据结构等问题,常常造成误解。同时由于没有测试文档,也不可能进行回归测试很难保证程序的正确性。这种软件维护

方法仅在软件工程时代之前采用。在进行结构化维护活动时,需从评价需求说明开始,弄清楚软件功能、性能上的改变;对设计说明文档进行评价,并进行修改和复查;根据设计的修改,进行程序的变动;根据测试文档中的测试用例进行回归测试;最后,把修改后的软件再次交付使用。这对于减少精力、减少花费和提高软件维护效率有很大的作用。 2.软件维护的困难: 软件维护的困难主要是由于软件需求分析和开发方法的缺陷造成的。软件生存周期中的开发阶段没有严格而科学的管理和规划,就会引起软件运行时的维护困难。这种困难表现在如下几个方面。 (1)读懂别人的程序是困难的。 (2)文档的不一致性。这种不一致性表现在各种文档之间的不一致以及文档与程序之的不一致。 (3)软件开发和软件维护在人员和时间上存在差异。 (4)软件维护不是一项吸引人的工作。 3. 软件维护的费用: 软件维护的费用在总费用中的比重是不断增加的,它在1970 年占35%~40%,1980 年上升到40%~60%,1990 年上升到70%~80%。软件维护费用不断上升,这只是软件维护有形的代价,另外还有无形的代价,即要占用更多的资源。由于大量软件的维护活动要使用较多的硬件、软件和软件人员等资源,这样一来,投入新的软件开发的资源就因不足而受到影响。由于维护时的改动,在软件中引入了潜在的故障,从而降低了软件的质量。 4.软件维护的分类

软件工程(清华钱乐秋版)期末复习重点

1、什么是软件工程 在《计算机科学技术百科全书》中软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。 2、软件生存周期分哪几个阶段分别简述各个阶段的任务。 答:软件生存周期有计算机系统工程、需求分析、设计、编码、测试、运行和维护6个阶段。 A 计算机系统工程的任务是确定待开发软件的总体要求和范围,以及该软件与其他计算机 系统元素之间的关系,进行成本估算,做出进度安排,并进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中做出选择。 B 需求分析主要解决待开发软件要“做什么”的问题,确定软件的功能、性能、数据、界面 等要求,生成软件需求规约。 C 软件设计只要解决待开发软件“怎么做”的问题。软件设计通常可分为系统设计和详细设 计。系统设计的任务是设计软件系统的体系结构,包括软件系统的组成成分、各成分的功能和接口、成分间的连接和通信,同时设计全局数据结构。详细设计的任务是设计各个组成成分的实现细节,包括局部数据结构和算法等。 D 编码阶段的任务是用某种程序设计语言,将设计的结果转换为可执行的程序代码。 E测试阶段的任务是发现并纠正软件中的错误和缺陷。测试主要包括单元测试、集成测试、确认测试和系统测试。 F软件完成各种测试后就可交付使用,在软件运行期间,需对投入运行的软件进行维护,即可发现了软件中潜藏的错误或需要增加新的功能或使软件适应外界环境的变化等情况出现时,对软件进行修改。 3、简述各类软件过程模型的特点。 答:典型的软件过程模型有:瀑布模型、演化模型(增量模型、原型模型、螺旋模型)、喷泉模型、基于构件的开发模型和形式方法模型等。 A瀑布模型中,上一阶段的活动完成并经过评审后才能开始下一阶段的活动,其特征是: 接受上一阶段活动的结果作为本阶段活动的输入; 依据上一阶段活动的结果实施本阶段应完成的活动; 对本阶段的活动进行评审; 将本阶段活动的结果作为输出。 B 增量模型将软件的开发过程分成若干个日程时间交错的线性序列,每个线性序列产生软 件的一个可发布的增量版本,后一个版本是对前一个版本的修改和补充,重复增量发布的过程,直至产生最终的完善产品。 C 原型方法从软件工程师与客户的交流开始,其目的是定义软件的总体目标,标识需求。 然后快速制定原型开发的计划,确定原型的目标和范围,采用快速设计的方式对其建模,并构建模型。被开发的原型应交付给客户使用,并收集客户的反馈意见,这些反馈意见可在下

期末软件工程资料整理

1.软件工程的基本原理? 答:基本原理包括3要素:方法,工具,过程;其中,方法是完成软件开发任务的技术方法回答怎样做的问题;工具是为运用方法提供自动半自动的软件工程支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务的框架,他是完成各任务的工作步骤。 2.RUP中有9个工作流,前6个为过程工作流,后3个为核心支持工作流程。 3.问答:P.32第2题 4.简述结构化范型和面向对象范型的要点,分析优缺点。 5.电话号码有几类:校内电话号码由4位数字组成,第1位不是0;校外电话分本市电话和外地电话,拨校外电话需先拨0,本市电话则再接着拨8位数字(第1位不是0),外地电话则拨3位区码再拨8位电话号码(第1位不是0)。 答案: 电话号码=[校内电话号码|校外电话号码] 校内电话号码=非零数字+3位数字 校外电话号码=[本市号码|外地号码] 本市号码=数字零+8位数字 外地号码=数字零+3位数字+8位数字 非零数字=[1|2|3|4|5|6|7|8|9] 数字零=0 3位数字=3{数字}3 8位数字=非零数字+7位数字 7位数字=7{数字}7 数字=[0|1|2|3|4|5|6|7|8|9] 6.名词解释:第一范式,第二范式,第三范式 答:第一范式:每个属性都必须是原子值,仅仅是一个简单的值而不能含内部结构。 第二范式:满足第一范式条件,且每个关键字属性都由整个关键字决定。 第三范式:符合第二范式条件,每个关键字属性都仅由关键字决定,且一个费关键字属性不能仅仅是对另一个非关键字属性的进一步描述。 7.储蓄系统:储户填写的存款单或取款单由业务员输入系统,是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。 试用数据流图描绘下述系统的功能,并用实体-联系图描绘系统中的数据对象。 答案: 系统的数据流图如下图所示:

山东大学-软件工程复习重点整理

第一章 1.1软件工程(SE)的定义、向、作用: SE:在将有关软件开发与应用的概念科学体系化的基础上,研究如有计划、有效率、经济的开发和利用能在就算机上正确运行的软件的理论和技术的工程法学,一些开发和维护软件的法、过程、原则。是一个系统工程,既有对技术问题的分析与综合,也有对开发过程和参与者的管理。 SE的向:面向对象模式,结构化模式,基于过程的模式等 SE的作用:付出较低的开发成本,达到要求的软件功能,取得较好的软件性能,开发的软件易于移植,需要较低的维护费用,能按时完成开发工作,及时交付使用。 1.2开发模式:软件开发的全部过程,活动和任务的结构框架,它能直观的表达的表达软件开发全过程,明确要完成的主要活动,任务和开发策略。 1.3说明错误、故障和失效的含义及联系(并举例): 错误:是在软件生产过程中人为产生的错误(需求说明中的错误,代码中的错误) 故障:是在功能实现过程中产生的问题;是错误导致的结果,是在软件中一个错误的表现(一个错误可能产生多个缺陷,静态存在的) 失效:是相对于系统指定行为的偏离,系统违背了它应有的行为(动态存在的) 联系:当一个开发者编写程序时,会在代码中出现错误。当这个程序被编译或集成到一个系统中时,系统就存在故障。当你运行这个系统时,可能会导致失效,即人们产生错误,故障是错误的结果(部观角:从开发者的角度看待问题),当故障执行时出现失效(外部视角:从用户角度看到的问题)。并不是所有的错误会导致故障,并非每个缺陷都对应相应的失败。1.4软件质量应从哪几个面衡量,论述之: (1产品的质量)(2过程的质量)(3商业环境背景下的质量) (1)产品的质量:用户从失败的数目和类型等外部特征进行评价,如果软件具有足够的功能并且易于学习和使用,用户就断定软件是高质量的;开发者从缺陷的数目和类型等部特征来作为产品质量的依据。 (2)过程的质量:有很多过程都会影响到最终的产品质量,只要有活动出了差错,产品的质量就会受到影响;开发和维护过程的质量与产品的质量是同等重要的。 (3)商业环境背景下的软件质量:将技术价值和商业价值统一起来。 1.5软件系统的系统组成(系统的要素有哪些):对象(实体)+ 活动+ 关系+ 系统边界活动:活动是发生在系统中的某些事情,通常描述为由某个触发器引发的事件,活动通过改变属性把一个事物变成另一个事物。 对象:活动中涉及的元素称为对象。 关系:是指活动与对象之间的关系。 系统边界:即系统包含的功能与系统不包含的功能之间的界限。 1.6现代软件工程大致包含几个阶段及各个阶段的文档: (1)需求分析:主要包括问题定义、可行性分析、需求分析《需求规格说明书》

软件工程期末考试复习资料1

版权声明:本文版权归05112114、05112125 所 有,未经许可,任何任何媒体均不得改变其形 式,进行转载或摘录,违者必究! 软件工程期末考试复习资料一 (仅参考) 拟订人:超越吉他手、朱古力、哖_少オ輕狂第一章:软件工程的产生和发展有关复习资料 一、软件工程的定义: 1、软件危机的产生:软件危机的出现是由于软件的规模越来越大,复杂度不断增加,软件需求量增大。 2、软件危机主要表现:两个方面:①软件产品质量低劣,甚至开发过程就夭折 ②软件生产率低,不能满足需要 3、软件工程的三要素:①方法:完成软件开发各项任务的技术方法 ②工具:研究支撑软件开发方法的工具 ③过程:为开发高质量软件所规定的各项任务的工作步骤 4、软件工程研究的标准及目标: 标准:分为4个层次,国际标准、行业标准、企业规划、项目规划 目标:以较少的投资获取高质量的软件。有易于维护、低的开发成本、高性能、缩短开发期 5、软件工程研究的主要内容:以下两个方面:①软件开发方法、技术;软件开发工具及环境 ②软件管理技术、软件规范(国际规范) 7、软件工程学的目的:①以较少的投资获取高质量的软件 ②运用科学的方法和工程化的规范管理来指导软件开发 ③克服软件危机 8、软件工程的基本原则:如下4条基本原则 ①必须认识软件需求的变动性,采取适当措施来保证结果产品能忠实地满足用户需求 ②稳妥的设计方法大大地方便了软件开发,以达到软件工程的目标 ③软件工程项目的质量与经济开销直接取决于对它所提供的支撑的质量与效用 ④有效的软件工程只有在对软件过程进行有效管理的情况下才能实现 9、软件工程过程及特性:是指在软件工具的支持下,所进行的一系列软件工程活动 包括4类基本过程:1)软件规格说明书2)软件开发3)软件确认4)软件演进 特性:可理解性、可见性、可靠性、可支持性、可维护性、可接受性、开发效率和健壮性等。 二、软件与软件生存周期 1、软件的概念和特点 1)概念:软件是程序以及开发使用维护程序所需的所有文档 2)软件的构成:由应用程序、系统程序、面向用户的文档及面向开发者的文档4部分构成即:软件=程序+文档 3)特点:①软件是一种逻辑实体,不是具体的物理实体

《软件工程》期末考试题及答案++精华版!!

《软件工程》期末考试样题 一、填空题 1.软件开发模型有(瀑布模型)(螺旋模型)第四代技术模型(原型模型)构件组装模型、混合模型。 2.可行性研究一般可以从(经济)可行性、(技术) 可行性、运行可行性、法律可行性和开发可行性等方面来研究。 3.现在向银行存款,年利率为i,若希望在n 年后从银行得到F元,现在应该存入的钱数为 (F/(1+i)n)。 4.数据流图的基本符号包括(数据输入的源 点和数据输出的汇点)、(加工)、(数据流)、(数据存储文件)。 5.Jackson图除了可以表达程序结构外,还可以 表达(数据结构),它首先要分析(数据结构),并用适当的工具来描述。 6.详细设计的工具有图形工具)、表格工具和(语言工具)。 7.IPO图由(输入)、处理和(输出)三个框组 成。这个图的特点是能够直观的显示三者之间的关系。 8.面向对象技术是一整套关于如何看待(软件系统)和(现实世界)的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学。面向对象方法是一种运用(对象)、(类)、(继承)、(封装)、聚集、消息传送、多态性等概念来构造系统的软件开发方法。 二、单项选择题 1.下列( A )属于系统软件。 A.WINDOWS 2000 B.Word C.Flash D.3D MAX 2.下列哪个图是N-S图的构件( C )。 A. B.

3.对于螺旋模型,下列( D 卡尔坐标表达的活动。 A. 制定计划 B. 实施工程 C. 风险分析 D. 程序编码 三、多项选择题 1.软件危机可以表现为(ABXD A.产品不符合用户的需要 B.软件产品的质量差 C.软件的可维护性差 D.软件的价格昂贵 2.Jackson图中一般可能包括(A.表头 B.表体 C.表名 D.字段名 AD )。、内容耦合是最高程度的耦合 、应该尽量使用内容耦合 、高级语言一般设计成允许内容耦合的形式、如果一个模块有多个入口,可能发生内容.下列属于不标准的书写格式( BCD )。、书写时适当使用空格分隔 、一行写入多条语句 、嵌套结构不使用分层缩进的写法 、程序中不加注释 ,错误的) 软件生存周期是从软件开始开发到开发结束 () 系统流程图是一个典型的描述逻辑系统的传() 数据流图和数据字典共同构成系统的逻辑 A

软件工程期末复习知识点整理

复习整理 一、绪论 1.软件的定义 软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据,以及有关描述程序操作和使用的文档。(软件=程序+文档) 2.软件工程的定义 ●是指导计算机软件开发和维护的一门工程学科; ●采用工程化的原理及方法对软件进行计划、开发和维护; ●把证明正确的管理技术和最好技术综合运用到软件开发中; ●研究经济地开发出高质量的软件方法和技术; ●研究有效维护软件的方法和技术。 3.软件危机的概念,及出现的原因 软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。 产生原因: ⑴软件规模越来越大,结构越来越复杂 ⑵软件开发管理困难而复杂。 ⑶软件开发费用不断增加。 ⑷软件开发技术落后。 ⑸生产方式落后,仍采用手工方式。

⑹开发工具落后,生产率提高缓慢。 4.三种编程范型的特点 (1) 过程式编程范型:把程序理解为一组被动的数据和一组能 动的过程所构成;程序=数据结构+算法;着眼于程序的过程和基本控制结构,粒度最小 (2) 面向对象编程范型:数据及其操作被封装在对象中;程序 =对象+消息;着眼于程序中的对象,粒度比较大 (3) 基于构件技术的编程范型:构件是通用的、可复用的对象 类;程序=构件+架构;眼于适合整个领域的类对象,粒度最大 二、软件生存周期及软件过程 1、软件生存周期的定义,把生存周期划分为若干阶段的目的是什么, 有哪几个主要活动 ●定义:一个软件从开始立项起,到废弃不用止,统称为软件的 生存周期 ●目的:软件生存周期划分为计划、开发和运行3个时期;把整 个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的 任务,就能够化简每一步的工作内容,使因为软件规模而增长 而大大增加了软件复杂性变得较易控制和管理。 ●主要活动:需求分析、软件分析、软件设计、编码、软件测试、 运行维护(P19) 2、软件生命周期划分为哪几个阶段

最新软件工程期末考试题

41.软件是一种产品。 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.需求分析中,开发人员要从用户那里解决最重要的问题是。 A.要让软件做什么√B.要给软件提供哪些信息 C.要求软件工作效率怎样D.要让该软件具有何种结构 8.分层DFD是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的。 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.可行性研究主要从方面进行研究。 A.技术可行性,经济可行性,操作可行性B.经济可行性,系统可行性,时间可行性 C.经济可行性,系统可行性,操作可行性D.技术可行性,经济可行性,社会可行性√ 14.可行性分析研究的目的是。 A.项目值得开发与否√B.开发项目C.争取项目D.规划项目 15.需求分析中开发人员要从用户那里了解。 A.输入的信息B.用户使用界面C.软件做什么√D.软件的规模 16.需求分析阶段研究的对象是。 A.软硬件要求B.系统要求C.分析员要求D.用户需求√ 17.系统流程图用于可行性分析中的的描述。 A.目标系统B.当前逻辑模型C.当前运行系统√D.新系统 18.数据字典是用来定义中的各个成分的具体含义的。

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

(4分) 变换型结构的数据流呈() A. 线性形状 B. 辐射状 C. 椭圆形 D. 阶梯形 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..2. (4分) 可行性研究阶段使用的图形工具是() A. DFD图 B. N-S图 C. PAD图 D. Warnier图 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..3. (4分) 软件的开发模式有() A. 面向过程模式、面向对象模式、混合模式 B. 变换模式、渐增模式、瀑布模式 C. 自顶向下模式、自底向上模式、关系模式 D. 分步模式、渐增模式、非渐增模式 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 B .解析..4. (4分) 模块的初始化工作和模块处理意外故障均属于() A. 时间内聚 B. 顺序内聚 C. 功能内聚 D. 逻辑内聚 得分: 0 知识点: 软件工程作业题,软件工程展开解析 .答案 A .解析..5. (4分) HIPO的含义是()

A. 层次、输入、处理、输出 B. 高速、信息、程序、目标 C. 顶层的IPO图 D. 关于输入、处理、输出的层次 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..6. (4分) 数据字典和数据流图共同构成系统的() A. 物理模型 B. 结构模型 C. 设计说明书 D. 逻辑模型 得分: 0 知识点: 软件工程作业题,软件工程展开解析 .答案D .解析..7. (4分) 好的软件结构它的外观形状一般呈() A. 线性 B. 扇形 C. 椭圆形 D. 层次型 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 C .解析..8. (4分) CMU/SEI推出的()将软件组织的过程能力分为五个成熟度级别,每一个级别定义了一组过程能力目标,并描述了要达到这些目标应该具备的实践活动。 A. CMM B. PSP C. ISO-9000 D. RUP 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..9. (4分) 若要保证开发出来的软件局部优化,而且能尽早发现设计上的错误,应采用()

软件工程期末复习资料非常全

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.下面说法正确的是 A.大多数软件系统是不容易修改的,除非它们在设计时考虑了变化 B.由于软件是产品,因此可以应用其他工程制品所用的技术进行生产 C.一般来说,软件只有在其行为与开发者的目标一致的情况下才能成功 D.购买大多数计算机系统所需的硬件比软件更昂贵 8.Ariane 5火箭发射失败的事例告诉我们 A.(2)软件后备系统可以通过复制生成 B.(3)软件重用必须重新进行系统论证和系统测试 C. 选项(1)和(3) D.(1)系统环境的变化可能影响软件采集数据的精度、范围和对系统的控制 9.软件危机的主要原因是 A.软件本身的特点及开发方法。 B.软件工具落后。 C.软件生产能力不足。 D.对软件的认识不够。 10.下面的描述正确的是 A.软件质量是在开发过程中逐渐构建起来的。

软件工程复习考点小结

《软件工程》考点小结 1、软件工程的定义及软件工程的研究内容? 软件工程研究的内容包括软件开发方法、软件开发模型、软件支持过程和软件管理过程。 软件工程是研究软件开发和软件管理的一门工程学科。2、软件工程五个面向实施理论? “五个面向理论”是指“面向流程分析、面向数据设计、面向对象实现、面向功能测试、面向过程管理”,它是在综合“四种开发方法”各自的优点之后提出的软件工程实施理论,是对前者的继承与发展。 3、什么是“软件生命周期模型”,常用的软件生命周期模型有哪些?软件生命周期由哪5个阶段构成? 软件生命周期模型是指在整个软件生命周期中,软件开发过程应遵循的开发路线图。或者说,软件生命周期模型是软件开发全部过程、活动和任务的结构框架。 瀑布模型、增量模型、迭代模型、原型模型、XP等模型分析、设计、编码、测试、维护 4、简述瀑布模型与迭代模型之间的关系? 在宏观上,迭代模型是动态模型,瀑布模型是静态模型。在微观上,迭代模型与瀑布模型都是动态模型。在迭代和瀑布模型中,你中有我、我中有你。 瀑布模型与迭代模型之间的关系,反映了人们对客观事物的认识论:要认识与掌握某一客观事物,必须经历由宏观到微观的多次反复的过程。只有从宏观上反复迭代几次,才能看清全貌,掌握事物的宏观发展规律。只有从微观上反复迭代几次,才能吃透每个细节,掌握事物的微观发展规律。 5、何谓软件的“功能模型”? 功能模型是描述系统能做什么,即对系统的功能、性能、接口和界面进行定义。 6、“容错技术”的定义? 容错就是当由于种种原因在系统中出现了数据、文件损坏或丢失时,系统能够自动将这些损坏或丢失的文件和数据恢复到发生事故以前的状态,使系统能够连续正常运行的一种技术。 7、何谓软件的“快速原型法”? 快速原型法就是在系统开发之初,尽快给用户构造一个新系统的模型(原型),反复演示原型并征求用户意见,开发人员根据用户意见不断修改完善原型,直到基本满足用户的要求再进而实现系统,这种软件开发方法就是快速原型法。 8、.业界存在哪三种需求分析方法?你认为哪一种方案更好? 业界存在三种需求分析方法:面向功能分析、面向对象分析、面向数据分析。 以上这三种方法,各自适用于不同的目标系统。目前时尚的方法是面向对象,包括面向主体和面向方法。总的来说,对于系统软件和应用软件来说,面向功能需求分析的方法简单明了,而面向对象的需求分析方法则复杂抽象。对于以关系数据库为平台的信息系统软件来说,面向数据需求分析方法的特点是抓住了本质。但是,这三种分析方法都离不开面向流程分析这根总线:功能、对象、数据都是在流程中产生的,又都是为流程服务的。 9、需求分析的目的是什么,输入及输出是?需求分析的难点在哪里? 软件需求分析,其目的是用于说明软件产品或软件项目需要满足的条件和限制。在软件工程项目中首先要获取用户的需求,通过对软件需要的提取、分析、文档化及验证,为进一步的设计和实现提供依据。 输入是软件《合同》或软件《立项建议书》,以及对用户现场的调研、分析和确认,输出是《用户需求报告》/《需求分析规格说明书》 需求分析的难点是:在系统的功能、性能和接口方面,开发者与客户达成完全一致的需求,让客户最终签字确认,并保证在项目验收前,需求相对稳定不变。万一需求有一点变化,双方必须履行“需求变更管理程序”,而变更管理程序在签订合同时已经做了规定。要知道,合同是具有法律效力的。 10、试说出黑盒测试和白盒测试的区别和联系。? 黑盒测试又称功能测试。在这里,盒子指的是被测试的软件,“黑盒”就是只知道被测试软件的外部情况,主要是界面和接口,被测试软件的内部逻辑结构和数据结构,对测试人员来说是不可见的,主要关注被测试软件的功能实现。 白盒测试就是对程序执行路径的测试,又叫做玻璃盒测试(Glass Box Testing)、透明盒测试(Clear B ox Testing)、结构化测试(Structured Testing)、开放盒测试(Open B ox Testing)、基于代码的测试(C ode-Based Testing)等。 黑盒测试和白盒测试的联系是:一般宏观上用黑盒测试,微观上用白盒测试,系统集成人员用黑盒测试方法对系统进行测试,构件开发人员用白盒测试方法对构件进行测试,这是常用的测试方法。 11、为什么说需求分析是面向流程的? 系统的功能、性能、接口、界面都是在流程中动态实时的反映出来。在所有的流程(物流、人流、资金流、信息流、单据流、报表流、数据流)中,数据流最重要,也最具有代表性。因为在计算机网络系统内,一切流程都表现为数据流,或者说是数据流在不同方向的投影。而流程是动态的、实时的。所以说,需求分析是面向流程的。 12、简述实用软件测试的流程?

相关主题
文本预览
相关文档 最新文档