总复习2011级软件工程专业

合集下载

2011年计算机等级考试二级公共基础知识_软件工程基础

2011年计算机等级考试二级公共基础知识_软件工程基础

2011年全国计算机等级考试二级公共基础知识总结:软件工程基础3.1 软件工程基本概念1、软件的相关概念计算机软件是包括程序、数据及相关文档的完整集合。

软件的特点包括:1)软件是一种逻辑实体,而不是物理实体,具有抽象性;2)软件的生产与硬件不同,它没有明显的制作过程;3)软件在运行、使用期间不存在磨损、老化问题;4)软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题;5)软件复杂性高,成本昂贵;6)软件开发涉及诸多的社会因素。

2、软件危机与软件工程软件工程源自软件危机。

所谓软件危机是泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

软件工程的主要思想是将工程化原则运用到软件开发过程,它包括3个要素:方法、工具和过程。

方法是完成软件工程项目的技术手段;工具是支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。

软件工程过程是把输入转化为输出的一组彼此相关的资源和活动。

3、软件生命周期软件生命周期:软件产品从提出、实现、使用维护到停止使用退役的过程。

软件生命周期分为软件定义、软件开发及软件运行维护三个阶段:1)软件定义阶段:包括制定计划和需求分析。

制定计划:确定总目标;可行性研究;探讨解决方案;制定开发计划。

需求分析:对待开发软件提出的需求进行分析并给出详细的定义。

2)软件开发阶段:软件设计:分为概要设计和详细设计两个部分。

软件实现:把软件设计转换成计算机可以接受的程序代码。

软件测试:在设计测试用例的基础上检验软件的各个组成部分。

3)软件运行维护阶段:软件投入运行,并在使用中不断地维护,进行必要的扩充和删改。

4、软件工程的目标和与原则(1)软件工程目标:在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。

(2)软件工程需要达到的基本目标应是:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发,及时交付使用。

02333软件工程201101真题及答案.docx

02333软件工程201101真题及答案.docx

2011年1月高等教育自学考试全国统一命题考试软件工程试题 课程代码:02333一、单项选择题(本大题共20小题,每小逊1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内.错选、多选或未选均不得分”1 .在下列软件生存周期模型中,规定了由前至后、相互衔接的固定次序的模型是( A.∙濯布模型 氏增Ift 模型 C.喷泉模鞭 D.螺旋模型4 B.数据俘储 D.源点与终点5 .软件详细i 殳计的基本任务是确定每个模块的( A.功能B.tf ∣用关系 C .算法和数据结构D.输入输出数据6 .杷模块的控制结构转变成计算机可接受的程序代码的阶段是< A.详细设计 C .锥护7 .软件概要设计结束后得到< A.初始的软件结构图 C .模块详细的尊法 8 .下列说法错误的是()A∙判定覆芾包含了语句獴靛,但它可能会使一些条件得不到测试。

B∙条件覆维的检错能力较判定覆虚强,但有时达不到判定覆盖的要求.C 判定/条件照鼓包含了判定覆盅和条件覆曲的要求,实际上不一定达到条件用之的标准. D.凡是满足条件组合段盖标准的测试用例,也满足其他所仃覆盖种类的跟盖标准. 9 .为提高集成测试的效果,进行软件集成测试工作的人员呆好是< )A.该软件的设计人员B.该软件开发组的负货人A.数据流 C 基本加工B.测试 D.编码氏优化的软件结构图 D.程序编码10 .一个成功的测试可以( A .友明程序没有错误 11 .在分层数据流图映射成软件结构的设计中,下列说法塔球的是( )A.分层的数据流图映射成软件结构图也应该是分层的. B,软件结构图的物理输入与输出部分应放在主图中.C 分层DFD 的映射方法分为两种情况:①主图是变换型,子图是,"务型:②主图是W 务型,子图是变换型.D.变换型通常用于高层数据海图的转换,事务型通常用于低层数据流图的转换. 12 .下列说法正确的是(>AHIPO 图可以描述软件总的模块层次结构一一IPO 图。

软件工程复习提纲

软件工程复习提纲

软件工程复习提纲第一篇:软件工程复习提纲《软件工程》课程要点λ每章教学课件中的“本章小结”列出了需要掌握的内容λ教学过程中的例题和习题也是课程重点一、软件工程与软件过程概述1.概念:(1)软件的概念(组成成分、作用);(2)软件危机的含义、表现、产生原因(客观、主观)(3)软件工程学科包括的内容、解决的主要问题(4)软件生命周期的含义、组成阶段及各阶段主要任务2.需理解的问题:(1)软件与程序的区别和联系?(2)开发一个软件项目包括哪些基本的步骤?每一步骤完成哪些工作?(3)主要的软件过程模型(生命周期模型)有哪些?各自有什么特点?二、结构化分析-面向数据流的分析方法1.什么是软件需求?需求分析过程(步骤)?2.需求分析模型:(1)功能模型(数据流图DFD)的含义、描述符号、画法步骤及规则(2)数据模型(E-R图)的作用(3)行为模型(状态转换图)的作用(4)数据字典的作用三、结构化设计1.软件设计的任务?结构化设计与结构化分析的区别和联系?2.软件设计遵循的基本原理及规则:(1)模块化的含义、如何划分模块(降低成本、提高独立性)?(2)抽象与逐步求精的含义、二者间关系如何?(3)信息隐藏的含义(4)如何完善软件结构(深度、宽度、扇入、扇出、作用域、控制域)? 3.模块独立性:(1)模块独立性含义?(2)模块独立性的度量标准:耦合的分类、含义及应用;内聚的分类、含义及应用。

4.概要设计(面向数据流的设计方法)(1)概要设计的任务?(2)数据流图的类型及特征(变换型、事务型)(3)变换分析设计方法的应用(步骤)(4)事务分析设计方法的应用(步骤)4.详细设计(过程设计)(1)详细设计的任务(2)结构化程序(设计)的特征(3)详细设计结果的描述工具:程序流程图、N-S图、PAD图、PDL、判定表四、软件测试1.软件测试基础(1)软件测试的含义和目的?(2)测试用例的内容(输入数据、预期输出结果)?(3)主要测试方法(黑盒测试、白盒测试)的含义?2.主要的白盒测试技术及应用-------逻辑覆盖法?基本路径测试方法? 3.主要的黑盒测试技术及应用-------等价类法? 边界值分析法?4.软件测试的过程?(1)单元测试(采用的测试方法;测试内容)(2)集成测试(采用的测试方法;测试内容;模块组装策略)(3)确认测试(采用的测试方法;测试内容;α测试与β测试?)(4)辅助模块的含义及作用(驱动模块、存根模块?)五、面向对象方法学基础 1.基本概念:(1)对象的含义及特点?(2)类的含义?类与对象的关系?(3)消息及消息传递的含义及作用?(4)继承的含义?多态性机制?2.面向对象建模技术中的三种模型及各自作用?3.对象模型及描述(类图):对象(类)的图形表示;关系(关联、聚集、继承)的图形表示; 4.事件追踪图、状态图、用例图的作用六、面向对象分析与设计过程1.面向对象分析(OOA)的任务?OOA的基本过程?2.面向对象设计(OOD)的主要任务?OOD与OOA的区别和联系?3.OOD模型的组成(四部分)及内容?七、软件维护1.软件维护的含义及类型? 2.软件维护过程?--------------- 课堂练习题目一、填空题1.软件主要包括程序、和三部分内容。

软件工程总复习(含作业回顾)

软件工程总复习(含作业回顾)

瀑布模型本质上是一种( )模型。
A.线性顺序 B.顺序迭代 C.线性迭代 D.早期产品
瀑布模型存在的问题是()。
A.用户容易参与开发 B.缺乏灵活性
C.用户与开发者易沟通 D.适用可变需求
练习题
原型化方法是用户和设计者之间执行的一 种交互构成,适用于()系统。
A.需求不确定性高的 B.需求确定的 C.管理信息 D.实时
练习题
软件可行性研究实质上是要进行一次()需求分析 、设计过程。 A、简化、压缩的 B、详细的 C、彻底的 D、 深入的 可行性研究的目的是() A、分析开发系统的必要性 B、确定系统建设的方案 C、分析系统风险 D、确定是否值得开发系统
可行性研究是在(A)之前 A、系统开发 B、测试 C、试运行 D、集成测试 可行性研究需要的时间长短取决于系统的 规模,一般来说,可行性研究的成本只是 预期总成本的(C)。 A、1% B、20% C、8% D、50%
软件需求规格说明
分析阶段的最终成果、需求分析阶段得到的最主要的文档
自然语言:容易书写、容易理解
形式化方法:无歧义、明确
开发和使用更好的软件工具。
需要组织管理措施。
1.2 软件工程
定义
指导计算机软件开发和维护的工程性学科,包括管理和技术两方面 内容。
目标:经济的开发出高质量的软件并有效维护它。 基本原理(7条)
1. 2. 3. 4. 5. 6. 7. 用分阶段的生命周期计划严格管理 坚持进行阶段评审 实行严格的产品控制 采用现代程序设计技术 结果应能清楚地审查 开发小组的人员应该少而精 承认不断改进软件工程实践的必要性
请根据以下业务描述绘制数据流图。 楼宇服务系统可以运行在小区内部宽带网 上,向楼宇服务员、住户、楼长提供以下 功能: (1)向住户提供个人信息注册功能、费用 查询、家政预约功能; (2)向楼长提供意见提交功能; (3)向楼宇服务员提供缴费管理、家政查 询、用户查询功能。

软件工程复习提纲(附答案)

软件工程复习提纲(附答案)

软件工程复习提纲(附答案)软件工程第一章软件工程介绍1、软件的特性:P3软件是设计开发的,而不是传统意义上的生产制造;软件不会磨损;大多数软件仍是根据实际的客户需求制定的。

2、计算机软件的七大分类:P5系统软件、应用软件、工程/科学软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。

3、遗留系统发生系统演化的原因:P6软件需要修改其适应性,从而可以满足新的计算环境或技术的需求软件必须根据新的业务需求进行升级软件必须扩展以具有与更多现代系统和数据库的协作能力软件架构必须进行改建以适应多样化的网络环境4、软件神话:管理者,用户,从业者P135、软件的定义:P3软件是:指令的集合,通过执行这些指令可以满足预期的特征,功能和性能需求;数据结构,它使得程序可以充分利用信息;描述程序操作和使用的文档。

第二章过程综述1、软件工程的三个要素:工具,过程,方法P8过程:软件过程将各个技术层次结合在一起,并实施合理地,及时地开发计算机软件方法:为建造软件提供技术上的解决方法。

工具:为过程和方法提供自动化或半自动化的支持。

2、通用软件过程框架:沟通,策划,建模,构建,部署P9沟通:这个框架活动包含了与客户之间大量的交流和协作,还包括需求获取以及其他相关活动策划:指为后续的软件工程工作制定计划。

建模:它包括创建模型和设计两方面。

创建模型有助于客户和开发人员更好得理解软件需求;设计可以实现它。

构建:它包括编码和测试。

部署:软件交付到用户,用户对其进行评测并给出意见3、能力成熟度模型:P22第0级:不完全级;第1级:已执行级;第2级:已管理级;第3级:已定义级;第4级:已定量管理级;第5级:优化级;第三章过程模型1、简述惯例框架包含的主要活动:P19沟通、策划、建模、构建、部署2、简述瀑布模型所包含的主要框架活动:P24沟通、策划、建模、构建、部署3、简述瀑布模型在实际运用中所面临的问题(缺点):P24实际的项目很少遵守瀑布模型提出的顺序客户通常难以清楚地描述所有的需求客户必须有耐心,因为只有在项目的后期,他们才能看到可执行的程序。

软件工程期末复习

软件工程期末复习

软件工程期末复习一、填空题1. 软件是计算机系统中与硬件互相依存的另一部分,它是涉及(程序)、(数据)及其(相关文档)完整集合。

其中,(程序)是按事先设汁的功能和性能规定执行的指令序列,(数据)是使程序可以对的操纵信息的数据结构,(相关文档)是与程序开发、维护和使用有关的图文资料.2. 软件危机是指计算机软件的(开发)和(维护)过程中所碰到的一系列严重问题。

3. 软件工程是指导计算机软件(开发)和(维护)的一门工程学科,采用工程的概念、原理、技术和方法来开发和维护软件,把通过时间考验而证明对的的管理技术和当前可以得到的最佳技术方法结合起来,以经济地开发出高质量的软件并有效地(维护)它,这就是软件工程。

4. 常见的软件开发模型有(瀑布模型)、(快速原型模型)、(增量模型)和(螺旋模型)等;5. 软件工程学方法的三要素是:(方法)、(工具)和(过程)。

6. 瀑布模型是一个(文档)驱动模型。

7. 可行性研究一般可以从(经济)可行性、(技术)可行性、法律可行性和法律可行性等方面来研究。

8. 数据流图从数据传输和(数据加工)角度,以(图形)的方式描述数据流从输入到输出的传输变换过程。

9. 数据流图的四个基本符号分别表达(数据的源点或终点)、(数据的加工)、(数据存储)和数据流;10. 实体-联系图中,数据对象之间的关系有(一对一)、(一对多)和(多对多关系)。

11. 需求分析阶段应当建立三种模,即:(数据模型)、(功能模型)和(行为模型)。

12. 一般从(一致性)、(完整性)、(现实性)和(有效性)四个方面验证软件需求的对的性。

13. HIPO 图是由一组(层次图)图加上一张(IPO)图组成。

14. 模块独立性的两个度量标准为:(耦合)和(内聚)。

15. 一般说来,模块之间的耦合限度(低),则单个模块的内聚限度(高)。

16. 经验表白,设计好的软件结构,通常顶层模块的扇出(比较高),中层模块扇出(较少),底层模块(高)扇入17. 三种基本的程序控制结果是(顺序结果)、(选择(分支)结构)和(循环结构)。

软件工程课件(2011年上半年) -打印版本有习题

软件工程理论知识适用班级:软件设计师、网络工程师主讲:邓少勋Q Q:154913686网址:E-Mail:bitpx@分值说明:软件设计师考8-12分(早上试题)网络工程师考2-4分(早上试题)比特培训中心贵州·贵阳课程:软件工程理论精解主讲:邓少勋版权所有:一.什么是软件? (1)二.软件危机以及产生软件危机的原因? (1)三.有哪些流行的软件工程方法学及其要素? (1)四.什么是软件生存周期?有哪些活动? (1)4.1软件生存周期 (1)4.2 开发活动 (1)4.2.1 问题定义—--“要解决的问题是什么?” (1)4.2.2 可行性分析和项目开发计划—--“有行得通的解决方案吗?” (1)4.2.3 需求分析和定义—--“系统必须做什么?” (1)4.2.4 概要设计—---“概括地说,应该怎样做?” (2)4.2.5 详细设计—---“具体怎么样做?” (2)4.2.6 编码—--代码实现 (2)4.2.7 测试 (2)4.2.8 运行维护 (2)4.3 各活动阶段主要文档 (2)4.3.1可行性分析和项目开发计划 (2)4.3.2需求分析中的文档 (2)4.3.3 概要设计阶段文档 (3)4.4.4 详细设计阶段 (3)4.4.5 编码 (3)4.4.5 测试 (3)4.4.6 系统测试阶段 (3)五.有哪些主要生存期模型? (3)5.1 瀑布模型(传统的软件周期模型) (3)5.2 原型模型 (3)5.2.1 快速原型模型 (3)5.2.2 演化模型 (4)5.2.3增量模型(渐增式) (4)5.2.4 原型模型小结 (4)5.3 螺旋模型 (4)5.4 喷泉模型 (5)5.5 迭代软件开发技术 (5)5.6极限编程(XP) (5)六.软件过程基础知识 (6)6.1 软件过程 (6)6.2 评估工具 (6)6.2.1 软件能力成熟度模型(Capability Maturity Model,CMM) (6)七.软件工程项目管理基本知识 (6)7.1时间管理 (6)7.1.1 Gantt图 (6)7.1.2 PERT网图与关键路径 (7)7.2成本管理 (8)7.2.1 成本估算方法 (8)7.2.2 成本估算模型 (8)7.3风险管理 (8)7.3.1 风险的定义 (8)7.3.2 风险的类型 (8)7.3.3 风险管理活动 (9)7.3.3 风险曝光度 (9)I课程:软件工程理论精解主讲:邓少勋版权所有:7.4 软件配置管理 (9)八.模块化基本知识 (10)8.1模块特性 (10)8.1.1 可分解性 (10)8.1.2 可组装性 (10)8.1.3 可理解性 (10)8.1.4 连续性 (10)8.1.5 保护性 (10)8.2 模块与模块的耦合性(7种) (10)8.2.1 内容耦合 (10)8.2.2 公共耦合 (10)8.2.3 外部耦合 (10)8.2.4 控制耦合 (10)8.2.5 标记耦合 (10)8.2.6 数据耦合 (10)8.2.7 非直接耦合(无耦合) (10)8.3 模块的内聚性 (10)8.4 模块的深度、宽度、扇出与扇入 (11)8.5 模块作用域和控制域 (11)8.6 模块化基础知识小结 (11)九.什么是软件开发方法?有哪些主要方法? (11)9.1 结构化方法学 (11)9.1.1数据流图(DFD图) (11)9.1.2 数据字典 (13)9.1.3 结构化语言 (13)9.1.4 实体-关系图(E-R图) (13)9.2 结构化设计 (13)9.2.1 概要设计 (14)9.2.2 详细设计 (15)9.3 Jackson方法 (15)9.4 面向对象分析方法(00A) (15)十.软件工具 (16)十一. 软件开发环境 (16)十二. 软件质量管理基础知识 (16)12.1 软件质量 (16)12.2 软件质量保证 (17)12.3 代码评审技术 (17)十三.成本-效益分析可用哪些指标进行度量? (17)十四.第四代语言(4GL)的主要特征? (18)十五.软件测试 (18)15.1 软件测试经过的步骤 (18)15.2 测试与软件开发各阶段的关系 (18)15.3 白盒测试 (18)15.4 黑盒测试 (19)15.4灰盒测试 (19)15.5 回归测试 (19)15.6 单元测试 (19)15.7集成测试 (19)15.8 确认测试 (20)II课程:软件工程理论精解主讲:邓少勋版权所有:15.9 系统测试 (20)十六.软件工程标准和软件文档 (20)17.1 软件维护类型 (21)17.2 软件的可维护性 (21)十九.历年真题解析 (21)2005年上半年 (21)2005年下半年 (22)2006年上半年 (23)2006年下半年 (24)2007年上半年 (25)2007年下半年 (25)2008年上半年 (26)2008年下半年 (27)2009年上半年 (28)2009年下半年 (30)2010年上半年 (30)III课程:软件工程理论精解主讲:邓少勋版权所有:一.什么是软件?1.满足用户功能需求和性能的指令或计算机程序集合;2.处理信息的数据结构;3.描述程序功能以及程序如何操作和使用所要求的文档;以上三部分的组合构成了软件二.软件危机以及产生软件危机的原因?1.软件开发生产率提高的速度,远远跟不上计算机迅速普及的趋势。

软件工程复习资料-完整版

一、选择题:1、用例图中,用来表示用例的符号为( B ) 。

2、协作图中包含的元素包括(A ) 。

A. 对象 B. 链 C. 激活 D. 消息3、在类图中,哪种关系表达整体与部分的关系( D ) 。

A .泛化 B. 实现 C. 依赖 D. 聚合4、下列各种图形符号中,用来表示组成关系的符号为 (B )。

A. B. C. D.5 、(A )工具在软件的详细设计中不能使用。

A . DFD B. N-S 图 C. 流程图 D. PDL6 、 “软件危机”是指 (C )。

A. 计算机病毒的出现B. 利用计算机进行经济犯罪活动C. 软件开发和维护中出现的一系列问题D. 人们过分迷恋计算机系统7 、 快速原型是利用原型辅助软件开发的一种新思想,它是在研究 (A )的方法和技术中产生 的。

A. 需求阶段B. 设计阶段C. 测试阶段D. 软件开发的各个阶段8、从严格意义上讲,下列 4 个选项中属于顺序图的元素是(ABCD ) 。

A.对象B. 参与者C. 消息D. 激活9、下列 UML 图形中, (ABCD )属于 UML 的动态视图。

A. 协作图B. 状态图C. 活动图D. 顺序图10、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是( D ) 。

A. 数据库设计B. 数据通信C. 数据关系描述D. 数据定义11、详细设计与概要设计衔接的图形工具是 (D )。

A. DFD 图B. 程序图C. PAD 图D. SC 图12 、UML 中,大多数建模者把节点分为(AC )A . 设备 B. 构件 C. 处理器 D. 显示器13 、(C)是一种特殊形式的状态机,用于对计算流程和工作流程建模。

A .时间图 B. 流程图 C. 活动图 D. 状态图14 、(A )描述从状态到状态的控制流程,常用来对系统的动态特征进行建模。

A. 状态图B. 序列图C. 协作图D. 活动图15、下列特点属于描述用例的特点的是( D ) 。

全版软件工程期末复习资料2(1).doc

软件工程复习资料选择题,请从四个可选项中选择正确答案。

1.软件工程学科出现的主要原因是(C。

A. 计算机的发展B. 其他工程科学的影响C. 软件危机的出现D. 程序设计方法学的影响2、(A)是职业软件工程师的必要条件。

A.自律、善于沟通、具有一定的软件技能B.编程速度快C.熟悉众多的软件环境D.语言天赋3.在E-R 模型中,包含以下基本成分(C)。

A.数据、对象、实体B.控制、联系、对象C.实体、属性、联系D.实体、数据、联系4.软件需求分析产生一个重要文档是(.B )。

A.软件维护说明书B.需求规格说明书C.可行性报告D.初步用户手册5.内聚程度较低的是(D )。

A.通信内聚B.过程内聚C.顺序内聚D.时间内聚6.概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是(D )A.把软件划分成模块B确定模块之间的调用关系C.确定各个模块的功能D.设计每个模块的伪代码7、程序流程图与数据流程图的关系(A)。

A.不确定B.数据流程图可以转换成程序流程图C.数据调用关系D.程序流程图可以转换成数据流程图8.对象实现了数据和操作的结合,使数据和操作(D)于对象的统一体中。

A.结合B.隐藏C.封装D.抽象9.类有3种类型,即(B )。

A.边界类、实体类、控制类B.实体类、控制类、界面类C.控制类、实体类、虚类D.界面类、控制类、公共类10.(D )是一般化类与特殊化类之间的一种关联形式,设计时应该适当使用这种耦合。

A.消息连接B.参数传递C.方法重写D.继承11、软件工程的研究内容具有层次化结构,最底层是质量保证层,中间层是(C),最上层是工具层。

A.过程层B.方法层C.过程层和方法层D.系统层12、可行性研究的四大要素是(D)。

A.经济、技术、法律和社会环境B.经济、技术、开发组织能力和领导者水平C.经济、技术、计算机硬件环境和网络带宽D.经济、技术、软件开发工具和人员的稳定性13、针对需求不确定的软件开发,比较好的模型是(A)。

软件工程复习要点

题型1、名词说明2、问答题3、应用题(看图题,分析题,计算题)学问点:1、什么是软件及软件特点,软件的分类软件是计算机系统中和硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合软件的特点(1)软件是一种逻辑实体。

(2)软件的开发,是人的智力的高度发挥,而不是传统意义上的硬件制造。

(3)软件维护和硬件的修理有着本质的差别。

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

(5)软件的开发至今尚未完全摆脱手工艺的开发方式,使软件的开发效率受到很大限制。

(6)软件的开发是一个困难的过程。

(7)软件的成本特殊昂扬软件的分类1.基于软件功能的划分系统软应用软件支撑软件2.基于软件工作方式的划分实时处理软件分时软件交互式软件批处理软件2、什么是软件危机,起因一方面软件特殊困难,价格昂贵,供需差日益增大,另一方面软件开发时又常常受挫,质量差,指定的进度表和完成日期很少能按时实现,研制过程很难管理,即软件的研制往往失去限制。

我们称软件开发和维护过程中所中遇到的这一系列严峻问题为软件危机。

软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。

3、什么是软件工程,它的基本目标,要素,原则(1)软件工程是指探讨软件生产的一门学科,也就是将完善的工程原理应用于经济地生产既牢靠又能在实际机器上有效运行的软件。

(2)软件工程学探讨的基本目标是:定义良好的方法学,面对支配,开发维护整个软件生存周期的方法学;确定的软件成分,记录软件生存周期每一步的软件文件资料,按步显示轨迹;可预料的结果,在生存周期中,每隔确定时间可以进行复审(3)软件工程的原则:分解;抽象和信息隐藏;一样性;确定性4、什么是软件生命周期,每个阶段的意义理解如同任何其他事物一样,软件也有一个孕育、诞生、成长、成熟、衰亡的生存过程,一般称之为计算机软件的生命周期。

1.软件定义时期(1)问题定义:这是软件生存期的第一个阶段,主要任务是弄清用户要计算机解决的问题是什么。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
发现缺陷后,你需要跟那个程序员沟通? 需要使用何种测试软件? 使用何种缺陷报告单? 有哪些关于软件的文件、说明、定义可供参考?
2014年12月9日8时32分
山东建筑大学计算机科学与技术学院软件工程专业
Testing 软件缺陷(Bug)的定义
有的书上称软件缺陷是程序运行时出现的故障。
预期结果 实际执行结果
等边三角形

不同的组织可能使用不同的测试用例模版
2014年12月9日8时32分
山东建筑大学计算机科学与技术学院软件工程专业
Testing
测试用例是什么
定义
针对被测试项的测试输入,执行条件和预期结果的集合

完全的测试是不可能的,必须挑选出具有代表性的有效
的输入组合,挑选输入组合的方法就是测试用例设计方 法

测试用例设计是软件测试的灵魂,体现着软件测试工程 师的职业价值。测试用例可以用结构化自然语言描述, 也可以用编程语言实现 。
2014年12月9日8时32分
山东建筑大学计算机科学与技术学院软件工程专业
Testing
高质量测试用例的属性
高质量测试用例的四个属性
有效性 • 是否能够发现缺陷或者至少可能发现缺陷 仿效性 • 衡量测试用例的代表程度 ,减少测试用例的数量 经济性
• 测试用例所花费的成本,包括设计、实现、调试和运行测试用例 的成本

可维护性 • 修改和维护测试用例的难易程度
2014年12月9日8时32分
山东建筑大学计算机科学与技术学院软件工程专业
Testing
软件测试生命周期
编号
5.1
阶段
活动
输出产物
测试计划 创建一个总体的测试计划,对 测试计划、风险评估表、 软件测试活动作出整体规划。 测试策略
2014年12月9日8时32分
Testing
缺陷问题报告单示例
缺陷问题报告单
张三
2014年12月9日8时32分
山东建筑大学计算机科学与技术学院软件工程专业
Testing
测试用例是什么 定义
针对被测试项的测试输入,执行条件和预期结 果的集合(是挑选出来的具有代表性的输入组 合) 挑选输入组合的方法就是测试用例设计方法 测试用例是软件测试的灵魂,体现着软件测试
从这个说明出发,我们可以将常见的软件Bug分成3种类型。
2014年12月9日8时32分
山东建筑大学计算机科学与技术学院软件工程专业
Testing

缺陷报告单
定义

缺陷问题报告单是描述缺陷细节的文档,包括缺陷的编号、被测软
件及其版本、优先级、严重程度、谁来修复缺陷等等

优良的缺陷报告应该具备准确、清晰、简洁、完整,统一的特点,还
Testing
性能测试
空间性能指标在测试时一般是给出CPU的利用率和内存
的占有率。比如CPU的利用率为10%,内存占有率为20%。
通过以上的分析,我们了解到软件的性能分为时间性能 和空间性能两种,下面我们来看一下软件性能测试的分类。 软件性能测试分为一般性能测试、稳定性测试、负载测试 和压力测试。
回归测试是针对已测试过的软件中出现的错误进行回归检查,同时 对系统新功能和特征进行测试。
回归测试过程中可从原设计文档中选择或修改原有测试方法和用例、
或设计新的测试方法与用例,补充相应的测试数据、测试资源,建 立相应的测试环境,确定相应的测试顺序。
2014年12月9日8时32分
山东建筑大学计算机科学与技术学院软件工程专业
山东建筑大学计算机科学与技术学院软件工程专业
Testing
软件测试生命周期
5.4 测试执 行与回 归测试 测试评 估 按照测试计划要求执行测试 并进行回归测试 评估测试过程,编写测试报 告 测试结果、缺陷报告、 测试执行概要、测试过 程改进计划(选项) 测试报告,包括:测试 日志、测试记录、缺陷 报告和测试总结报告。
5.2
测试分析 创建一个更加细致的测试计划, 重新修订完善的测试计划、 测试需求矩阵 提炼质量需求形成测试需求 (功能性)矩阵。 测试设计 设计完善测试用例,决定哪些 测试用例、 测试数据 用例自动化执行,哪些手工执 行。 自动化测试脚本编制。 测试规程/测试脚本、驱 动器
5.3
2014年12月9日8时32分
的可判定性等。
另外,我们在自动化测试时使用的脚本也是一种测试用例的表达形式。 测试脚本的开发需要有一定的开发基础。
2014年12月9日8时32分
山东建筑大学计算机科学与技术学院软件工程专业
Testing
4. 测试执行与回归测试
回归测试:当一个周期测试执行完成后,需将测试情况与测试目标
进行比较,确定是否需第二周期的测试,即回归测试。
需要注意
给每个缺陷问题报告单分配一个唯一的标识以有利于缺陷的后续处 理、查询和管理维护等活动。


站在为他人服务的立场上编写缺陷问题报告单
注意语句措词,不要涉及对他人的评价和自己情绪的宣泄 只报告问题不要试图解决问题 一个缺陷问题报告单里只报告一个缺陷
山东建筑大学计算机科学与技术学院软件工程专业
测试结果


山东建筑大学计算机科学与技术学院软件工程专业
2014年12月9日8时32分
Testing
安装测试
配置和安装测试
安装测试包括安装和卸载。安装是用户使用软件的第一步,也是
用户对软件的第一印象。如果一个软件安装的过程中漏洞百出的 话,会是什么后果。所以,我们要把软件的安装测试作为一个独 立的任务去完成,编写软件的安装,卸载测试用例。
Testing
4. 测试执行与回归测试
回归测试原则。
1. 文档功能和数据中所有改变的地方都应被测试。 2.受改变部分的或受要求的系统中的改变影响的所有未改变的部分都 应被测试。 3.所有其他部分应至少按样本进行测试。
2014年12月9日8时32分
山东建筑大学计算机科学与技术学院软件工程专业
Testing
什么是BUG?
200软件出现的问题符合下列情况之一就是Bug。
1 2 3 4 5
软件未达到产品说明书中规定的功能。 软件出现了说明书中指明不会出现的错误。 软件功能超出了说明书制定的范围。 软件未达到说明书中指定应达到的目标。 用户认为软件难理解或不易使用的问题。
静态测试和动态测试
测试策略
动态测试 静态测试
代码审查 代码走查
桌面检查
静态分析
所谓的静态测试(Static Testig),是指不运行被测软件 本身,仅通过人工分析或检查软 件的需求说明书、设计说明书等 文档,源程序的文法、结构、过 程和接口,以及软件界面等来验 证软件正确性的测试过程。
2014年12月9日8时32分
间性能指标。
2014年12月9日8时32分
山东建筑大学计算机科学与技术学院软件工程专业
Testing
2. 稳定性测试
稳定性测试,也叫可靠性测试(reliability testing),是指在规定环 境,规定时间内,一个系统或其功能无故障运行的可能性。 软件可靠性指标: 1. MTBF( Mean Time Between Failure )
测试实例设计与编写; 测试准备工作;
修改、增加测试程序;
2014年12月9日8时32分
山东建筑大学计算机科学与技术学院软件工程专业
Testing
相关知识介绍
测试所需的资料:
软件及测试基本情况(进度、进展情况、分工情况 等);
软件目前主要存在的问题;
作为测试员,你将负责哪部分测试?
2014年12月9日8时32分
山东建筑大学计算机科学与技术学院软件工程专业
Testing
界面测试(UI testing) UI是User Interface的缩写。界面测试 虽然没有逻辑功能测试重要,但是也不容 忽视,因为现在用户对软件的要求越来越 高,一个美观得体的界面无疑会在众多同 类软件中脱颖而出。 比如:微软的Windows操作系统界面; QQ的个性化皮肤等。
定义:是指两次相邻失效时间间隔的平均值。
2. MTTR( Mean Time To Repair) 定义:也叫平均修复时间,是从一次故障产生到故障恢复的间隔的平 均值。 下面我们通过一个简单的例子来看一下具体的计算方法。
2014年12月9日8时32分
山东建筑大学计算机科学与技术学院软件工程专业
Testing
界面测试(UI testing)
菜单的测试用例设计如下:
编号
1 2 3 4 5 6 7
测试内容
菜单的基本功能实现 快捷键和热键没有重复 字体大小统一,无错别字,无中英文混合 菜单的层次最好不要超过3层 菜单的排列顺序要合理,将常用的功能放在前面 菜单的分组合理,要将不同的功能组用分割线隔开 菜单字体一般选择5号字
根据测试计划,忠 实地记录测试执行 的过程和结果。
分析测试记录,如 果发现与预期结果 不同,确定并重现 缺陷。 检查测试设计是否 全部执行完毕,缺 陷是否全部关闭。
2014年12月9日8时32分
测试执行
测试记录 分析 完毕 测试总结
缺陷跟踪
分析测试过程和缺陷报告, 评估测试质量和测试效果, 给出是否通过测试的建议。
复习资料
2014年12月9日星期二
山东建筑大学计算机科学与技术学院软件工程专业
Testing
相关知识介绍 测试基本步骤:
测试资料的收集与整理; 测试操作;
熟悉所要测试的软件;
测试方案的制定;
软件缺陷记录及报告; 修改充实测试用例及测 试计划书; 测试自动化程序的编写;
测试计划的编写;
相关文档
最新文档