软件工程思考题答案.docx

上传人:b****8 文档编号:12861747 上传时间:2023-06-08 格式:DOCX 页数:22 大小:30.64KB
下载 相关 举报
软件工程思考题答案.docx_第1页
第1页 / 共22页
软件工程思考题答案.docx_第2页
第2页 / 共22页
软件工程思考题答案.docx_第3页
第3页 / 共22页
软件工程思考题答案.docx_第4页
第4页 / 共22页
软件工程思考题答案.docx_第5页
第5页 / 共22页
软件工程思考题答案.docx_第6页
第6页 / 共22页
软件工程思考题答案.docx_第7页
第7页 / 共22页
软件工程思考题答案.docx_第8页
第8页 / 共22页
软件工程思考题答案.docx_第9页
第9页 / 共22页
软件工程思考题答案.docx_第10页
第10页 / 共22页
软件工程思考题答案.docx_第11页
第11页 / 共22页
软件工程思考题答案.docx_第12页
第12页 / 共22页
软件工程思考题答案.docx_第13页
第13页 / 共22页
软件工程思考题答案.docx_第14页
第14页 / 共22页
软件工程思考题答案.docx_第15页
第15页 / 共22页
软件工程思考题答案.docx_第16页
第16页 / 共22页
软件工程思考题答案.docx_第17页
第17页 / 共22页
软件工程思考题答案.docx_第18页
第18页 / 共22页
软件工程思考题答案.docx_第19页
第19页 / 共22页
软件工程思考题答案.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

软件工程思考题答案.docx

《软件工程思考题答案.docx》由会员分享,可在线阅读,更多相关《软件工程思考题答案.docx(22页珍藏版)》请在冰点文库上搜索。

软件工程思考题答案.docx

软件工程思考题答案

第一章根本概念

1.软件的特点是什么?

软件的定义:

软件=程序+数据+文档

软件的特点:

1)软件是逻辑实体;具有抽象性;软件的形态不可见;--必须通过观察、分析、思考、判断来了解其功能、性能和其它特性。

2〕软件是人脑思维的产物,其生产过程与硬件不同。

--开发过程的质量控制及软件产品保护问题。

3〕软件的开发和运行受计算机系统限制。

--软件移植问题。

4〕软件的开发技术落后,手工开发方式仍占统治地位。

--开发效率低。

2.2006年发布的国家分类标准是什么?

1〕按功能:

系统软件、支撑软件、应用软件

2〕按规模:

微型软件、小型软件、大型软件、甚大型软件、极大型软件

3〕按工作方式:

实时处理软件、分时软件、交互式软件、批处理软件

4〕按效劳对象:

工程软件、产品软件

5〕按使用频度:

使用频度低、使用频度高

6〕按失效影响:

不良影响、严重影响

3.软件危机的表现有哪些?

1)软件开发进度难以预测

2)软件开发本钱难以控制

3)用户对产品功能难以满足  

4)软件产品质量无法保证

5)软件产品难以维护

4.产生软件危机的原因?

1)用户需求不明确

2)缺乏正确的理论指导

3)软件开发规模越来越大

4)软件开发复杂度越来越高

5.什么是软件工程三要素?

软件工程的三要素:

方法、工具和过程。

6.软件工程的根本目标是什么?

1付出较低的开发本钱

2到达要求的软件功能

3取得较好的软件性能

4开发的软件易于移植

5需要较低的维护费用

6能按时完成开发工作,及时交付使用

7软件工程的根本原那么是什么?

1抽象:

采用分层次抽象,自顶向下、逐层细化的方法控制软件开发过程的复杂性。

2信息隐蔽:

将模块设计成“黑箱〞,实现的细节隐藏在模块内部,不让模块的使用者直接。

这就是信息封装,使用与实现别离的原那么。

3模块化:

如C语言程序中的函数过程,C++语言程序中的类。

模块化有助于信息隐蔽和抽象,有助于表示复杂的系统。

4局部化:

要求在一个物理模块内集中逻辑上相互关联的计算机资源,保证模块之间具有松散的耦合,模块内部具有较强的内聚。

这有助于控制解的复杂性。

5确定性:

软件开发过程中所有概念的表达应是确定的、无歧义性的、规X的。

6一致性:

整个软件系统的各个模块应使用一致的概念、符号和术语。

程序内部接口应保持一致。

软件和硬件、操作系统的接口应保持一致。

系统规格说明与系统行为应保持一致。

用于形式化规格说明的公理系统应保持一致。

7完备性:

软件系统不丧失任何重要成分,可以完全实现系统所要求功能的程度。

为了保证系统的完备性,在软件开发和运行过程中需要严格的技术评审。

8可验证性:

开发大型的软件系统需要对系统自顶向下、逐层分解。

系统分解应遵循系统易于检查、测试、评审的原那么,以确保系统的正确性。

8.软件工程的根本原理是什么?

1用分阶段的生命周期严格管理;

2坚持进展阶段评审;

3实行严格的产品控制;

4采用现代程序设计技术;

5结果应能清楚地审查;

6开发小组人员应少而精;

7成认不断改良软件工程实践的必要性。

9.瀑布模型有什么特点?

1)最早出现的软件开发模型,它提供了软件开发的根本框架。

2)瀑布模型的本质是一次通过,即每个活动只执行一次,最后得到软件产品。

3)瀑布模型有利于大型软件开发过程中人员的组织及管理,有利于软件开发方法和工具的研究与使用,从而提高了大型软件工程开发的质量和效率。

4)里程碑或基线驱动,或者说文档驱动;

瀑布模型的缺陷:

1由于开发模型呈线性,所以当开发成果尚未经过测试时,用户无法看到软件的效果。

这样软件与用户见面的时间间隔较长,也增加了一定的风险。

2在软件开发前期末发现的错误传到后面的开发活动中时,可能会扩散,进而可能会造成整个软件工程开发失败。

3在软件需求分析阶段,完全确定用户的所有需求是比拟困难的,甚至可以说是不太可能的。

瀑布模型即生存周期模型,其核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用构造化的分析与设计方法将逻辑实现与物理实现分开。

瀑布模型将软件生命周期划分为软件方案、需求分析和定义、软件设计、软件编码、软件测试、软件运行维护6个阶段,规定了他们自上而下、相互衔接的固定次序,如同瀑布流水逐级下落。

10.说明生命周期的划分?

一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程称为软件生存期或叫生命期。

包括方案、需求分析、软件方案、程序编码、软件测试和运行维护6各阶段。

11.列出软件生存期的几个主要模型?

瀑布模型、原型模型、螺旋模型、增量模型、构件组装模型、统一过程模型、第四代技术

12.瀑布模型软件开发方法的根本过程?

定义阶段:

方案、需求分析

开发阶段:

设计、编码、测试

维护阶段:

运行维护

13.增量模型有什么特点?

1)融合了线性顺序模型的根本成份和原型实现模型的迭代特征。

2)增量模型采用随着日程时间的进展而交织的线性序列。

每一个线性序列产生软件的一个可发布的“增量〞。

3)增量模型强调每一个增量均发布一个可操作产品。

早期的增量是最终产品的“可拆卸〞版本,但他们确实提供了给用户效劳的功能,并且提供了给用户评估的平台。

将软件产品看作一组增量构件,每次设计、实现、集成、测试和交付一块构件,直到所有构件全部实现为止。

特点:

1)任务或功能模块驱动,可以分阶段提交产品;

2)有多个任务单,这些多个任务单的集合,构成工程的一个总任务书(总用户需求报告)。

14.几种主要的软件开发方法?

1)构造化开发方法

2)面向对象的方法

15.软件工程的“五个面向〞?

1)面向流程分析2)面向数据设计3)面向对象实现

4)面向功能测试5)面向过程管理

第二章软件筹划

2.可行性分析最为敏感的方面是什么?

⑴经济可行性:

经济效益能否超过开发本钱?

⑵技术可行性:

现有技术能否实现?

技术风险的各种因素?

⑶操作可行性:

用户的承受程度如何?

⑷法律可行性:

是否合法,是否侵犯他人的利益。

6.甘特图有哪些优点和缺点?

甘特图:

是一种对各项活动进展方案调度与控制的图表。

横向表示时间,纵向列出任务。

优点:

它具有简单、醒目和便于编制等特点。

能够动态反映软件工程开发进展的情况。

缺点:

难以反映多个任务之间存在的复杂的逻辑关系。

7.什么是网络方案法的关键事件与关键路径?

关键事件:

最早完成时间与最迟完成时间相等的事件。

关键路径:

关键事件联结的各个活动所组成的路线。

第三章构造化需求分析

1.为什么说需求获取难?

1)用户需求具有动态性(不稳定性)。

2)用户需求具有模糊性(不准确性)。

3)对需求达成一致的困难性。

4)管理体制、机构设置处在变革中。

5)软件书籍没有将需求分析讲清楚。

2.需求分析的重点是哪些?

通过对业务流程和数据流程的分析,在以下四个方面与客户要达成完全一致目标。

1业务模型、

2功能模型、

3性能模型、

4接口模型。

3.需求分析的9大任务是什么?

1画出系统的组织构造图、列出各部门的岗位角色(机构模型)。

2画出系统业务操作流程图。

3画出系统的数据流图,掌握业务规那么,获得初步数据模型。

4列出系统的功能点,即功能模型。

5列出系统的性能点,即性能模型。

6列出系统的接口,即接口模型。

7确定系统的运行环境,即环境模型。

8确定系统的界面约定,即界面模型。

9对开发工期、费用、开发进度、系统风险等分析与评估。

4.简述需求分析的过程?

需求分析阶段的工作有以下四个方面:

1)问题识别

2)分析与综合

3)编制需求分析阶段文档

4)需求分析评审

5.获取需求的常用方法有哪些?

1访谈/个别:

正式的和非正式的访谈

2问卷调查/书面调查:

发电子、问卷调查即把需要调查的内容制成表格交给用户填写。

该方法对需要调查大量人员的意见时,十分有效。

3情景分析/和电视会议:

对目标系统解决某个具体问题的方法和结果,给出可能的情景描述,以获知用户的具体需求。

4实地考察/收集资料:

开调查会参加业务实践

5构造原型

6.需求分析的原那么是什么?

1解决逻辑问题:

需求分析是对问题的识别和说明,要答复“做什么〞,而不是“怎么做〞。

2以运行环境为根底:

需求分析工作应以具体的运行环境为根底,实事求是。

3用户参与的原那么:

需求分析工作是系统分析人员同用户不断交互的过程。

4构造高质量的需求规格说明:

需求规格说明是需求分析工作重要的完成标志。

7.需求分析的根本要求是什么?

1理解问题的数据域和功能域

2自顶向下、逐层分解

3给出系统的逻辑视图和物理视图

8.常见的需求分析方法有哪些?

1面向数据流的分析方法

2面向功能的分析方法

3面向数据的Jackson方法

4面向对象的分析方法

9.需求分析方法有哪些共性?

1.支持数据域的分析机制

2.功能表示方法

3.接口的定义

4.问题的分解及抽象化

5.逻辑视图和物理视图

6.系统抽象模型

第四章构造化软件设计

思考题4.1

1.软件设计的具体任务包括哪些内容?

(1)制定规X

(2)构造设计

(3)处理方式设计

(4)数据构造及数据库设计

(5)可靠性设计〔质量设计〕

(6)编写软件设计文档

(7)设计审查和复审

(8)详细设计

2.什么是数据的保护性设计?

1)防卫性设计:

在软件设计中就插入自动检错,报错和纠错的功能

2)一致性设计:

在并发处理过程中使用封锁和解除封锁机制保持数据不被破坏

3)冗余性设计

3.软件设计的目标是什么?

软件设计的最终目标:

取得最正确方案

1节省开发费用、

2降低资源消耗、

3缩短开发时间、

4能够赢得较高的生产效率、

5较高的可靠性、

6可维护性的方案。

4.模块具有哪些根本属性?

“模块〞,又称“组件〞。

一般有四个根本属性

1)功能:

描述该模块做什么?

2)逻辑:

描述模块内部怎么做?

3)状态:

模块使用时的环境和条件。

4)接口:

指模块的输入与输出。

5.什么是耦合?

什么是内聚?

如何增强模块的独立性?

模块独立性由模块间的耦合与内聚度量。

1)耦合:

各模块之间的互相连接的严密程度。

模块之间的连接越严密,联系越多,耦合性就越高,而其独立性就越弱。

2)内聚:

模块内各功能元素彼此结合的严密程度。

一个模块内部各个元素之间的联系越严密,那么它的内聚性就越高,相对地,它与其它模块之间的耦合性就会减低,而模块独立性就越强。

3)增强模块独立性的方法是尽量做到高内聚、低耦合。

6.模块化的特征有哪些?

1)抽象:

用层次的方式构造和分析复杂系统。

2)逐步求精:

帮助开发人员把精力集中在与当前开发阶段最相关的那些问题上。

3)信息隐蔽:

如果一个模块内包含的信息(过程和数据)不允许外部的模块的话,其它模块不能对其。

4)局部化:

把一些关系密切的软件元素物理地放得彼此靠近。

7.影响耦合度的因素有哪些?

1连接方式的类型。

2接口的复杂性。

3传送的信息流类型。

4耦合的时间。

8.降低耦合度的方法有哪些?

1对需要了解的内容,隐含的改为明显的,便于理解;

2连接的方式尽量标准化,防止直接引用;

3减少公共区,将公共区划分为假设干个逻辑子区;

4输入输出应局限在少量模块,不要分散在全系统;

9.软件构造设计优化的准那么是什么?

1)划分模块时,尽量做到高内聚、低耦合,保持模块相对独立性。

模块划分的准那么:

“将相关的各局部放在一起,无关的东西不要放在一起。

2)模块的大小要适中。

3)模块的接口要简单、清晰、含义明确。

便于理解,易于实现、易于测试和维护。

4)一个模块的作用X围应在其控制X围之内。

且判定所在的模块,应与受其影响的模块在层次上尽量靠近。

5)软件构造的深度、宽度、扇入、扇出应适当。

6)力求设计单入口和单出口的模块。

防止“病态连接〞,以防止内容耦合。

7)设计功能可预测模块的划分,应防止功能过分局限。

4.2思考题

1.构造化设计的优点是什么?

1减少设计复杂性。

将大化小,使复杂问题简单化。

2构造独立。

将程序划分成多个相对独立的模块。

3模块功能单一化,可使软件设计获得最大的益处。

4便于软件的修改。

5易于开发和维护。

6加强了代码的可重用性。

2.正交软件体系构造的优点是什么?

1层次构造清晰,便于理解。

2可移植性强,重用粒度大。

3易修改,可维护性强。

3.三层C/S构造的组成

1)表示层:

用户接口局部,担负着用户与应用间的对话功能。

2)功能层:

相当于应用的本体,将具体的业务处理逻辑程序。

3)数据层:

数据库管理系统,负责管理对数据库数据的读/写。

4.三层构造设计的优点是什么?

1允许合理地划分三层构造的功能,使之在逻辑上保持相对独立性。

2允许更灵活有效地选用相应的平台和硬件系统,使之在处理负荷能力上与处理特性上分别适应于构造清晰的三层;并且这些平台和各个组成局部可以具有良好的可升级性和开放性。

3三层C/S构造中,应用的各层可以并行开发,各层也可以选择各自最适合的开发语言。

4允许充分利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而利用数据库工具或黑客手段去非法地数据层。

5.B/S体系构造的缺乏之处?

1缺乏对动态页面的支持能力,数据库处理能力差。

2系统扩展能力差,平安性难以控制。

3响应速度远低于C/S体系构造。

4数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理〔OLTP〕应用。

6.C/S、B/S混合构造的特点是什么?

1)B/S与C/S混合构造是一种典型的异构系统。

2)C/S与B/S混合构造的优点:

外部用户不直接数据库效劳器,能保证企业数据库的相对平安。

企业内部用户的交互性较强,数据查询和修改的响应速度较快。

3)C/S与B/S混合构造的缺点:

企业外部用户修改和维护数据时,速度较慢,较烦琐,数据的动态交互性不强。

7.列出几种主要的菜单类型?

1固定菜单

2活动菜单

3“弹出式〞菜单

4“下拉式〞菜单

8.活动菜单的优点是什么?

1)不占用显示工作空间,

2)可以根据用户当前所处的操作状态和要求动态出现。

3)需要注意的是不能滥用弹出菜单。

4.3思考题

1.DBMS有哪些根本功能?

1)建立数据库的构造;

2)管理用户的数据库;

3)提供在数据库上的各种操作;

4)提供数据库对外的各种接口;

2.DB、DBMS有何不同?

在人们的交流中,习惯上常常将数据库和DBMS混为一谈,不加区别。

所以要根据不同场合、不同习惯、以及上下文来分析,所讲的“数据库〞三个字,到底是指数据库,还是指DBMS。

3.DBMS提供的三种语言是什么?

⑴DDL〔数据库定义语言〕:

如:

CREATE,ALTER,DROP;

⑵DML〔数据库操作语言〕:

如:

SELECT,UPDATE,INSERT,DELETE;

⑶DCL〔数据库控制语言〕:

如:

LOCK、UNLOCK;

4.四个表指的是什么?

1)根本表:

存放原始数据的表。

2)代码表:

存放信息代码数据的表。

3)中间表:

存放统计数据的表。

4)临时表:

存放临时数据的表。

5.根本表的性质有哪些?

为什么?

1原子性。

根本表中的字段是不可再分解的。

2原始性。

根本表中的记录是原始数据〔根底数据〕的记录。

3演绎性。

由根本表与代码表中的数据,可以派生出所有的输出数据。

4稳定性。

根本表的构造是相对稳定的,表中的记录是需要长期保存的。

6.怎样正确认识“数据冗余〞?

1)主键与外键在多表中的重复出现,不属于数据冗余,这个概念必须清楚,事实上有许多人还不清楚。

2)非键字段的重复出现,才是数据冗余,而且是一种低级冗余,即重复性的冗余。

3)高级冗余不是字段的重复出现,而是字段的派生出现。

第五章构造化软件实现

1.代码设计的主要原那么是什么?

1)使用语言中的顺序、选择、重复等有限的根本控制构造表示程序逻辑。

2)选用的控制构造只准许有一个入口和一个出口。

3)程序语句组成容易识别的块,每块只有一个入口和一个出口。

4)复杂构造应该用根本控制构造进展组合嵌套来实现。

2.编程规X包括哪些内容?

3.良好的代码设计风格包括哪些内容?

4.代码语句设计应遵从哪些原那么?

1)在一行内只写一条语句:

采取适当的移行格式,使程序的逻辑和功能变得更加明确。

在一行内写多个语句会使程序可读性变差。

2)程序编写清晰性第一:

不要刻意追求技巧性,使程序编写得过于紧凑。

3)程序要能直截了当地说明程序员的用意:

程序编写要简单,清楚,直截了当地说明程序员的用意。

4)清晰第一,效率第二:

不要为了追求效率而丧失了清晰性。

事实上,程序效率的提高主要应通过选择高效的算法来实现。

5)先保证程序正确,再要求提高速度。

6)防止使用临时变量而使可读性下降。

7)让编译程序做简单的优化。

8)尽可能使用库函数和构件。

9)防止不必要的转移:

尽量不用GOTO语句。

10)尽量采用三种根本的控制构造编写程序。

11)防止使用空的ELSE语句和IF…THENIF…的语句。

这种构造容易使读者产生误解。

可能产生二义性问题。

12)防止采用过于复杂的条件测试。

13)尽量减少使用“否认〞条件的条件语句。

14)尽量用通俗易懂的伪码来描述程序的流程:

然后再翻译成必须使用的语言。

15)数据构造要有利于程序的简化。

16)要模块化:

使模块功能尽可能单一化,模块间的耦合能够清晰可见。

17)利用信息隐蔽:

确保每一个模块的独立性。

18)从数据出发构造程序。

19)修补不好的程序,要重新编写:

也不要一味地追求代码的复用,要重新组织。

20)大的程序要分块编写和测试:

然后再集成。

21)对递归定义的数据构造尽量使用递归过程。

5.I/O代码设计的原那么是什么?

1输入数据要检验:

识别错误的输入,以保证每个数据的有效性;

2检查输入项的各种重要组合的合理性:

必要时报告输入状态信息;

3输入的步骤和操作尽可能简单:

并保持简单的输入格式;

4应允许使用自由格式输入数据;

5应允许缺省值;

6批数据输入时,使用输入完毕标志:

而不要由用户指定输入数据数目;

7交互式输入时,屏幕上使用提示符明确提示输入的请求:

指明可使用选择项的种类和取值X围。

同时,在数据输入的过程中和输入完毕时,也要在屏幕上给出状态信息;

8程序设计语言对I/O格式有严格要求时,应保持输入格式与输入语句要求的一致性;

9输出加注解,并设计输出报表格式。

6.软件效率应该以什么为准?

软件需求

7.程序的效率与哪些因素有关?

程序的效率是指程序的执行速度及程序所需占用的内存的存储空间。

讨论程序效率的准那么:

1)效率性能要求,应在需求分析阶段给出。

软件效率以需求为准,不应以人力所及为准。

好的设计可以提高效率。

2)程序的效率与程序的简单性相关。

3)一般说来,任何对效率无重要改善,且对程序的简单性、可读性和正确性不利的程序设计方法都是不可取的。

8.详细设计向代码设计转换过程的指导原那么是什么?

1〕尽可能简化有关的算术表达式和逻辑表达式;

2〕检查算法中的嵌套的循环,尽可能将某些语句或表达式移到循环外面;

3〕尽量防止使用多维数组;

4〕尽量防止使用指针和复杂的表;

5〕采用“快速〞的算术运算;

6〕不要混淆数据类型,防止在表达式中出现类型混杂;

7〕尽量采用整数算术表达式和布尔表达式;

8〕选用等效的高效率算法;

9.影响存储器效率的因素是什么?

1〕存储效率与OS的分页功能直接有关。

2〕采用构造化程序设计。

3〕提高存储器效率的关键是程序的简单性。

10.提高I/O设备效率的指导原那么有哪些?

1)I/O的请求应当最小化;

2)对于所有的I/O操作,安排适当的缓冲区,以减少频繁的信息交换。

3)对辅助存储(例如磁盘),选择尽可能简单的,可承受的存取方法;

4)对辅助存储的I/O,应当成块传送;

5)对终端或打印机的I/O,应考虑设备特性,尽可能改善I/O的质量和速度;

6)任何不易理解的,对改善输入/输出效果关系不大的措施都是不可取的;

7)任何不易理解的所谓“超高效〞的I/O毫无价值;

11.提示信息分哪几类?

1〕引导性提示信息:

该类提示信息一般在需要用户干预时出现,要求用户决定下一步的操作。

如在退出时提示“修改的数据尚未存盘,存盘否?

〞。

使用MessageBox进展提示。

2)错误性提示信息:

该类提示信息一般在软件运行出错时出现,告诉用户软件遇到了问题。

如“系统运行出现故障,请与系统管理员联系!

〞。

3)状态性提示信息:

该类提示信息一般在软件处于“忙〞状态下提示,告诉用户软件正在进展什么操作,让用户耐心等待。

如“正在进展数据传输,请稍待…〞。

4)位置性提示信息:

该类提示信息一般根据鼠标的位置进展提示,告诉用户鼠标正指向什么功能。

如“报表打印〞。

12.软件实现过程由哪些文档的组成?

1?

源程序清单?

2?

用户使用手册?

3?

用户安装手册?

4?

系统管理员手册?

13.软件实现过程包括哪些管理文档?

1?

用户指南评审报告?

2?

模块源程序行统计表〔行/模块名〕?

3?

源程序工作量统计表〔行/人天〕?

5.2思考题

1.软件测试的原那么?

1软件测试应当尽早和不断地进展。

2程序员应防止检查自己的程序。

3设计测试即应包括合理的、还应包括不合理的输入条件。

4经历说明,测试后程序中残存的错误数目与该程序中已发现的错误数目成正比。

5妥善保存测试方案,测试用例,出错统计和最终分析报告,为维护提供方便。

2.软件测试的最初定义?

1)软件测试是测试中的特例,它的测试对象是人类的智力产品--软件

2)最初定义:

“软件测试是为了发现错误而执行程序的过程。

3.软件测试的经典定义?

测试是程序的执行过程,目的在于发现错误;

一个好的测试在于能发现至今未发现的错误;

一个成功的测试是发现了至今未发现的错误的测试。

4.测试的目的?

1)以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。

2)能够证明软件的功能和性能与需求说明相符合。

3)测试结果数据为可靠性分析提供了依据。

4)测试不能说明软件中不存在错误,它只能说明软件中存在错误。

5.黑盒测试的优点?

1对于较大的代码单元来说,黑盒测试比白盒测试效率要高;

2测试人员不需要了解实现的细节,包括特定的编程语言;

3从用户的角度进展测试,容易被理解和承受;

4有助于暴露任何规格不一致或有歧义的问题;

6.黑盒测试的缺点?

1要测试每个可能的输入流几乎是不可能的;

2会有很多程序路径没有被测试到;

3不能直接针对特定程序段测试,因此可能隐藏更多的问题。

7.白盒测试的优点?

1迫使测试人员去仔细思考软件的实现;

2可以检测代码中的每条分支和路径;

3提醒隐藏在代码中的错误;

4对代码的测试比拟彻底。

8.白盒测试的缺点?

1本钱昂贵;

2忽略了从用户角度考虑的测试问题;

9.测试报告包括哪些内容?

1)测试任务描述

2)测试环境说明

3)功能测试描述

4)性能测试描述

5)确认性测试描述

6)测试总结

思考题5.3

1.软件维护分类有哪些?

⑴纠错性维护;

⑵适应性维护;

⑶完善性维护;

⑷预防性维护;

2.影响软件维护的因素有哪些?

⑴软件配置是否完整是影响维护工作量的重要因素;

⑵修改别人的程序增加了维护的难度;

⑶文档不全的软件,增加了修改后测试

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2