




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、复习课酷爱YC第一章1、什么是软件危机,什么是软件工程软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和 难题。它包括两方面:(1如何开发软件,以满足对软件日益增长的需求;(2如何维护数 量不断膨胀的已有软件。软件工程:采用工程的概念、原理、技术和方法来开发与维护软件 ,把经过时间 考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来 ,以经济地 开发出高质量的软件,并有效地维护它。2、完整的软件配置由哪些内容组成软件配置主要包括程序,文档和数据等成分。3、软件生命周期分为哪3个时期和8个阶段,每个阶段的任务(工作分别是什么 重要性如何厂问题定义软件定义可行性研究需
2、求分析总体设计详细设计软件生命周期软件开发编码与单元测试综合测试运行维护一持续满足用户需求概括地说,软件生命周期由软件定义、软件开发和运行维护3个时期组成1、软件定义(系统分析。软件定义时期的任务是:确定软件开发工程必须完成的总目标;确定工程的可行性 ;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并且制定工程进度表。这个时期的工作通常又称为系统分析,由系统分析员负责完成。软件定义时期通常进一步划分成3 个阶段,即问题定义、可行性研究和需求分析。(1 问题定义,确定系统要解决的问题是什么。成果:关于问题性质、工程目标和工程规模的报告。(2 可行性研究,确
3、定问题是否有可用的、能行得通的解(包括:技术、经济、操作、社会等方面的可行性。这个阶段的任务不是具体解决问题,而是研究问题的范围 ,探索这个问题是否值得去解,是否有可行的解决办法。成果:可行性研究报告。(3 需求分析,确定软件系统的必须实现的功能、必须达到的性能、必须满足的运行环境要求。系统分析员在需求分析阶段必须和用户密切配合,充分交流信息,以得出经过用户确认的系统逻辑模型。通常用数据流图、数据字典和简要的算法表示系统的逻辑模型。在需求分析阶段确定的系统逻辑模型是以后设计和实现目标系统的基础,因此必须准确完整地体现用户的要求。成果:软件需求规格说明书(SRS,内容包括:系统的逻辑模型;系统(
4、子系统的名称、功能描述、接口、基本数据结构、性能、设计需求、开发标准、验收原则等。2、软件开发。开发时期具体设计和实现在前一个时期定义的软件,它通常由下述4个阶段组成 :总体设计,详细设计,编码和单元测试,综合测试。其中前两个阶段又称为系统设计 ,后两个阶段又称为系统实现。(1 总体设计(概要设计,回答“怎样实现目标系统”。建立系统的总体结构,划分子系统;确定系统由哪些模块组成,各子系统间、各模块间的关系(包括定义各子系统接口界面和各功能模块的接口,设计全局数据库或数据结构,规定设计约束,制定组装测试计划。成果:概要设计说明书、数据库或数据结构说明书、系统的组装(集成测试计划等文档。(2 详细
5、设计任务就是把解法具体化,也就是回答: “应该怎样具体地实现这个系统呢?”, 设计每个程序模块的内部细节,包括数据结构、算法以及各程序模块间的接口信息,并设计模块的单元测试计划。成果:详细设计规格说明和单元测试计划等详细设计文档。以上(1、 (2 又合称为软件设计。(3 编码和单元测试这个阶段的关键任务是写出正确的容易理解、容易维护的程序模块。根据详细设计规格说明,选用某种程序设计语言把详细设计的结果转化为机器可运行的源程序模块;运行和调试每一个程序模块;每编写出一个程序模块的源程序,调试通过后,即对该模块进行单元测试。成果:按一定规则存在盘上的通过了单元测试的各功能模块的集合;详细的单元测试
6、报告等文档。(4 综合测试通过各种类型的测试(及相应的调试使软件达到预定的要求。最基本的测试是集成测试和验收测试。成果: 满足概要设计要求、可运行软件系统和源程序清单;组装测试报告等文档。 验收测试报告、项目开发总结报告,向用户提交的源程序清单、最终用户手册、操作手册等文档资料;由专家、用户负责人、软件开发和管理人员组成软件评审小组对软件验收测试报告、测试结果和软件进行评审 ,最终验收软件产品。以上(3、(4 又合称为软件实现。三种不同的软件测试:单元测试、集成测试、验收测试。3、软件运行与维护软件技术人员通过各种维护活动使软件系统持久满足用户需要。通常有4类维护活动:改正性维护,也就是诊断和
7、改正在使用过程中发现的软件 错误;适应性维护,即修改软件以适应环境的变化;完善性维护,即根据用户的要求改 进或扩充软件使它更完善;预防性维护,即修改软件为将来的维护活动预先做准备。成果:更新后的软件产品:准确记录维护活动的文档。4、几种传统软件工程生命周期模型:瀑布模型:基本思想、主要优点传统的瀑布模型基本思想:瀑布模型严格按照软件生存周期各个阶段来进行开发,上一阶段的输 出即是下一阶段的输入,并强调每一阶段的严格性。它规定了各阶段的任务和应提 交的成果及文档,每一阶段的任务完成后,都必须对其阶段性产品(主要是文档进行评 审,通过后才能开始下一阶段的工作。因此,它是一种以文档作为驱动的模型。优
8、点:可强迫开发人员采用规范的方法;严格地规定了每个阶段必须提交的文档 要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。快速原型模型:基本思想基本思想:软件开发人员根据用户提出的软件基本需求快速开发一个原型,以便 向用户展示软件系统应有的一部分或全部功能和性能,同时使用户熟悉系统。在征 求用户对原型的初步意见后,进一步使需求全面化、精确化,并据此改进、完善原 型。如此迭代,直到软件开发人员和用户都通过原型确认软件系统的需求并达成一 致的理解为止。软件需求确定后,便可进行设计,编码、测试等以后的各个开发步 骤。增量模型:基本思想、主要优点I需求分析I基本思想:把一个软件产品划分为一系列
9、的增量构件来设计、编码、集成和测 试,并逐个添加到软件产品中去,逐步向用户提交产品。每个构件能够完成特定的功 能优点:(1软件的实现和维护阶段没有明显的分界线;(2用户在很短时间内就可以使用产品的部分功能(3用户适应新产品的时间较充裕(4构件的分解要易于测试、规模适中(5软件的体系结构是开放的,易于扩充和维护螺旋模型:引入的原因,与瀑布模型、快速原型模型的联系基本思想:软件风险是任何软件开发项目中都普遍存在的实际问题 ,项目越大,软 件越复杂,承担该项目所冒的风险也越大。软件风险可能在不同程度上损害软件开 发过程和软件产品质量。构建原型是一种能使某些类型的风险降至最低的方法。螺 旋模型的基本思
10、想是,使用原型及其他方法来尽量降低风险。联系:简化的螺旋模型是在快速原型模型的基础上扩展而成的,把它看作在每个 阶段之前都增加了风险分析过程的快速原型模型。完整的螺旋模型,将瀑布模型与原型模型结合起来,并且加入前两种模型均忽略 了的风险分析安而药T常制:宵聃于天空啊例黜唱学人只附用乱 管崖,的科于翎闭我方范 和工整潮片,枇江耀法方,弊我旺耳目M点即虽相巴车.嘉曝皇的块点*11#岁上1嘎 基不机便怕r苦州出Wt火之)俎句的近蚪苴法需 “力模住禅闻行H3)看中按悭鼠嘴;修地崎凰断豹的雷欣.而读典晒.(4、cme*怪q必/轲0日开中的后哧离户才悌看时,aetx.r网的中匕墨新幽使用题 (1 )闻户的
11、吟E耳澧装至面.且在开阳的没有跖少安优.(2)并营人耻用nffi应闻辕UM 乂 3 )第户图注电球携非R由底X4)开盛工作 期周门裾与的e/用UL甑返货货磨军F优点(I)可前律愿比HR好硼&武S宜.Ufi庚913哪址,<1)静0千开节与麻II舸同他;N J开打前用值fHfclgE目时用户.缶悦法小原空瑛皇的副土 I 1U 上户与同出者充原空好干同一 ? |君与 古生而计出k生 以小斗i -F率月产双人情史曲*i.信叱WI*鼻口的燃冏外州I附脩开用的物呦附限制解梢快理的厚刺H靠I目I ? ) 用打给精即可11;;.帝邛梅听情fOr料的开着用I f 3 |酒行产品得也计福勺,魄 ;:
12、Tk 亲特中.用王善自前丁作辅 片母一后号才H,内身才,修,码缶匕(1)率用空,律药比总是人诗修配力区.制鼾哈不用酣人人人力直莪:12 夔M . (司皿人EQFf ” ;" J可骷速mt好天口.时串户代用健门附附FE.阳像7千口口 1 1J鼻 开力怫西距命尊景手*曰匹,烟 立件5凭日缶FF液工II洋#鳍冷(!)郢3;£31户子;户出产I斗理州日祠,内认人仙九.勺梅组KJ任淮国知勒;. , R|i.加京臬1g比川村窃由气幡耳 4而!!:/坪.挈M卿M*才*就目.事播取雨肝用范fll f1唐柘回铲层升单虞跖田季开苒.期中总莽修硼 12 ) 时定显E产情求的产品.用R1把用电空X
13、 3】时制iH型)里址ttG城而旦巴 自血生雄朝:& 懵空色爬”中涉台的.酶吃点11畸tH9性可在任面目晒巾命时跖安萱42)小岫验 出量推通我曳泉嫩幽蜂计空驾值/容骷r( 5)容 F腐如与的的修的升直帛注下 *口千诅用正腐斤烟次所咽口的可12tl ,(4)情雷叫值看下!”*辜分圾口的帝恒 .出面性或小生钙g?+f5T大用不kM码靓点.(1)通国理具甚微驾车*O4¥牯鲤的U号0901电 K 咽收烟配日R电串,2"此忸昌川时4.3. 加星展步I上JH步的值 代洪酢需姐瓜河友感奉,回:!用交时外HSF收力朗履出我回 «K. T空向昌+ 飞工魄日段告 W.什么是:
14、经济可行性、技术可行性、运行与操作可行性、法律可行性(1 经济可行性:这个系统的经济效益能超过它的开发成本吗?估算项目的开发成本和系统投入使用后可能带来的利润,进行成本/效益分析,从经济角度判断系统开发是否“合算 ”。(2 技术可行性:使用现有的技术能实现这个系统吗?根据客户提出的系统功能、性能要求,从开发者的技术实力、以往工作基础、问题的复杂性等出发,判断系统开发在时间、费用及其他各项约束条件限制下成功的可能性。(3 运行、操作可行性:系统的操作方式在这个用户组织内行得通吗?主要研究系统的运行方式在用户单位是否可以被有效地实施,是否与原有其他系统相矛盾;系统的操作规程在用户单位内是否可行,它
15、包括人事、科技政策、管理方法等等。(4 法律可行性:系统的开发使用,在当国当地当时合法吗?利用软件工程的方法设计开发软件系统的过程需求分析的基本任务1. 确定需求-确定对系统的综合要求(1 功能需求(2性能需求(3可靠性和可用性需求(4出错处理需求(5 接口需求(6 约束 (7 逆向需求 (8 将来可能提出的要求2. 建立数据模型-利用图形工具描述系统数据结构并将数据结构规范化,建立数据模型3. 导出系统的逻辑模型-通常用数据流图、实体-联系图、状态转换图、数据字典和主要的处理算法描述整个逻辑模型4. 编写需求规格说明书5. 修正系统开发计划本阶段结束形成的基本文档软件需求规格说明书结构化分析
16、应建立哪三大模型,分别用什么工具描述数据模型数据流图功能模型实体-联系图(E-R 图行为模型状态图数据流图、E-R图、状态转换图的构成数据流图-系统逻辑功能的描述工具4种成分:源点和终点,处理,数据存储,数据流E-R图:实体(即数据对象-矩形框,关系-菱形框,属性-椭圆形或圆角矩形状 态转换图:状态,事件,状态转换数据字奥:数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素选 行定义的集合。它的作用正是在软件分析和设计的过程中给人提供关于数据的描述信息. 数据流国和数据字典共同构成系统可行性研究阶段的逻辑模型。数据字典的实现(1)用Case工具中的数据字典处理程序对数据字典进行生
17、威口舞盛,(2)通过手工制作卡片来制作数据字典.每张卡片上保存描述一个数据的信息,主要应该 包含下述这样一些信息:名字、别名、描述、定义、位置.第五章1、总体设计过程包含哪两个工作阶段,各完成什么任务第一阶段:系统设计阶段,确定系统的物理实现方案(1设想(完善供选择的方案(2选取合理的方案(3推荐最佳方案第二阶段:结构设计阶段,确定软件的结构(1功能分解从实现的角度细化逻辑模型(2设计软件结构(3设计数据库(4制定测试计划(5书写文档(6审查和复审2、软件工程的中心课题是控制软件的复杂度;在总体设计阶段,软件复杂度主 要体现为模块独立性(和全局数据结构复杂度;描述模块独立性的两个指标分别是耦
18、合和内聚3、耦合的含义,1-8级耦合的具体含义,耦合级别的排列耦合(Coupling:是对软件结构内不同模块之间相互关联程度的强弱的度量。它决于各个模块之间接口的复杂程度、进入或访问一个模块的点以及哪些信息通 过接口传递。耦合度可以分为若干级别:无直接耦合强(低耦合)数据耦合特征耦合(中耦合)控制耦合伊卜部耦合(较强耦合以共耦合(1非直接耦合-两个模块没有直接关系(如模块1和模块2,每一个都能独立地 工作而不需要另一个模块的存在。非直接耦合两个模块间的独立性最强低耦合性(无直接耦合(低耦合),数据耦合、特征耦合(中耦合)控制耦合卜部耦合非直接耦合(2数据耦合-两个模块彼此间通过参数交换信息,而
19、且交换的信息仅仅是简单的 数据信息。这属于松散耦合。(3标记耦合-两个模块通过传递数据结构参数加以联系(不是简单数据,而是记 录、数组等,则称这两个模块间存在标记偶合。开发票单价数量金额计算电费计嵬水费计算水费计算水电费数据耦合特征耦合(标记耦合(4特征耦合-属于标记耦合,把整个数据结构作为参数传递,而被调用的模块只需要使用其中一部分数据元素。P39开发票单价数量金额住户情况计算电费控制耦合公共环境耦合(5控制耦合-一个模块通过传送开关、标志、名字等控制信息,明显地控制选择 另一模块的某部分功能。控制耦合增加了理解和编程的复杂性,调用模块必须知道被调模块的内部逻辑, 增加了相互依赖。去除模块间
20、控制耦合的方法:a.将被调用模块内的判定上移到调用模块中进行b.被调用模块分解成若干单一功能模块(6外部耦合-一组模块都访问同一全局简单变量,而且不是通过参数传递该全局 变量的信息。(7公共环境耦合-两个或多个模块通过一个公共数据环境相互作用。公共环境 可以是全程变量、共享的通信区、内存的公共覆盖区、任何存储介质上的文件、物理设备等等。公共环境耦合的复杂程度随耦合的模块个数而变化,当耦合的模块个 数增加时复杂程度显著增加。公共环境偶合必不可少,但耦合模块的数目应尽量少。(8内容耦合一P41Entry!Entry2不正孝梏人另一模块多人口模块一模块直相 访问另一康 块的内部信 息(程序代 玲或数
21、据J内容耦合4、内聚的含义,1-7级内聚的具体含义,内聚级别的排列内聚(Cohesion标志同一个模块内各个元素彼此结合的紧密程度 ,它是信息隐藏和局部化概念的自然扩展。高内聚:模块内部完成单一的处理;低内聚:模块内部各部分关联不紧密,完成分 散的多个处理任务;设计时应该力争做到高内聚。内聚度也可以分为若干级别低内 聚性,伟白匕甬偶然内聚。分 逻辑内聚1分 时间内聚3分 过程内聚5分 通信内聚7分 顺序内聚9分(1偶然内聚-当模块内各部分之间没有联系,或者即使有联系,这种联也很松散, 则称这种模块为偶然内聚模块,它的内聚程度最低(2逻辑内聚-把几种相关功能或逻辑上相似的功能组合在一个模块内,每
22、次调用 由传给模块的参数确定执行哪种功能。低 偶然内聚0分 弱(功能分散)逻辑内聚1分I模内时间内聚3分 块聚过程内聚5分 ”偶然类聚逻辑类聚(3时间内聚-一个模块包含若干必须在同一段时间内执行的任务例如系统初始化模块、系统结束模块、紧急故障处理模块等均是时间性聚合模 块。(4过程内聚-一个模块内的处理元素是相关的且仅有控制联系,各处理元素必 须以特定次序执行。(5通信内聚-模块中所有元素都使用同一个输入数据和(或产生同一个输出数 据。加工记录新文件 > 改件一 修文一(6顺序内聚-一个模块内的处理元素既包含数据联系也包含控制联系,而且这些 处理必须顺序执行(通常一个处理元素的输出数据作
23、为下一个处理元素的输入数 据。* 1 2 3 - 3 4(7功能内聚-一个模块中各个部分都是完成某单一功能必不可少的组成部分,或 者说该模块中所有部分都是为了完成同一项具体功能而协同工作,紧密联系,不可分 割的,则称该模块为功能内聚模块。功能内聚是最高程度的内聚。信息内聚一这种模块完成多个筒单功能,包个功能都在同一数据结梅上撰作,科圆功能 有一个唯一的入口点.这个模块将根据不同的要求,躇定该执行哪一个功能由于这个 横块的所有功能都是基于同一个数据结肉因此,它是一个信息内聚日猴块,L;总内聚信息内聚模块可以看成是多个功能内霰横块的组管.并且达到信息的BS蔽.即杷某个蜘E结构, 资源戢设备隐蔽在块
24、内,不为别的模块所知晓.5、如何将数据流图转换为初始的软件结构图/层次图通过变换分析的方法第1步复查基本系统模型第2步复查并精化数据流图。第3步确定数据流图具有变换特性还是事务特性。第4步确定输入流和输出流的边界,从而孤立出变换中心。第5步完成第一级分解”。第6步完成第二级分解”。第7步使用设计度量和启发式规则对第一次分割得到的软件结构进一步精化6、关于模块设计的启发规则启发式规则(模块化设计的经验宽度1 .改进软件结构提高模块独立性2 .模块规模应该适中3 .深度、宽度、扇出和扇入都应适当4 .模块的作用域应该在控制域之内5 .力争降低模块接口的复杂程度6 .设计单入口单出口的模块7 .模块
25、功能应该可以预测第六章8 、详细设计的目的(主要任务目的:为软件系统的H图/SC图中的每一个模块确定采用的算法(处理流程和模 块内数据结构,选定某种表达工具给出精确的描述。任务:用一定的工具精确描述目标系统,从而方便在编码阶段可以把这种描述直接翻译成用某种程序设计语言书写的程序。(1 确定每一模块的算法(处理流程(2 确定每一模块使用的局部数据结构(3 确定本模块的接口和用户界面(4 为每一模块设计一组测试用例(单元测试计划2、结构化程序设计1、什么是结构化程序设计(1 如果一个程序的代码块仅仅是通过顺序、选择和循环这3 种基本控制结构进行连接,并且每个代码块是单入口、单出口的,则称这个程序是
26、结构化的。(2结构化程序设计是尽可能少用 GO TO语句的程序设计方法。最好仅在检测 出错误时才使用GO TO语句,而且应该总是使用前向GO TO语句。(3如果允许使用LEAVE(或BREAK结构,则不仅方便而且会使效率提高很多。LEAVE或BREAK结构实质上是受限制的GO TO语句,用于转移到循环结构 外面的语句。(4如果只允许使用顺序、IF-THEN-ELSE型分支和DO-WHILE型循 环这3种基本控制结构,则称为经典的结构程序设计;如果除了上述3种基本控制结 构之外,还允许使用DO-CASE型多分支结构和DO-UNTIL型循环结构,则称为扩展 的结构程序设计;如果再加上允许使用LEA
27、VE(或BREAK结构,则称为修正的结构 化程序设计。2、结构化程序设计中基本的控制流程顺序型选择型多情况选择型(CASE 型)先判定型循环(DO-WHILE)后判定型循环(D0-IMIL)3、详细设计的描述-程序流程图、盒图、PAD图:什么是,基本符号和含义,画1、程序流程图-又称为程序框图,广泛描述过程设计的方法。基本符号(国家标准顺序型 选择型可表示的控制结构见前图(结构化程序设计中基本的控制流程2、盒图(N-S图出于要有一种不允许违背结构程序设计精神的图形工具的考虑,Nassi和Shneiderman提出了盒图,又称为N-S图。基本符号和表示的结构第一个任务第二个任务第三个任务FX条件
28、/ELSE 部分THEN 部分(b)CASE条件/值值2* , 值kCASE 1 部分CASE 2 部分*CASE n 部分1c)循环条件DO-WHIM- 部分U)DO-UNTJL部分循*下条件|(e)举例第一个任务第二个任务第三个任务循环条件3、PAD 图条件/TELSE 部分THEN 部分(b)DO-UN 11L部分CASE条件/值1E2» '« 0CASE 1部分CASE 2 部分t « 1CASE w部分(c)PAD是问题分析图(problem analysis diagram用二维树形结构的图来表示程序 的控制流,将这种图翻译成程序代码比较容易(
29、a顺序(先执行P1后执行P2;(b选择(IF C THEN P1 ELSE P2;(cCASE 型多分支;(dWHILE 型循环(WHILE C DO P;(eUNTIL 型循环(REPEA PUNTIL C;(f语句标号;(gg定义ij|WHILE C PP2| (d)(a) UNTIL C P 丁 PlJ P2(b) _使用PAD图提供的定义功能来逐步求精的例子4、在详细设计阶段,软件复杂度主要体现为程序的复杂程度,可用程序模块的环 形复杂度(McCabe方法来度量,或用Halstead方法来度量5、环形复杂度(McCabe方法来度量计算工具:流图-退化了的程序流程图McCabe方法根据程
30、序控制流的复杂程度定量度量程序的复杂程度,这样度量出 的结果称为程序的环形复杂度。为了突出表示程序的控制流,人们通常使用流图(也称为程序图。所谓流图实质 上是退化了的”程序流程图,它仅仅描绘程序的控制流程,完全不表现对数据的具体 操作以及分支或循环的具体条件。计算方法:3种方法(1 流图中的区域数等于环形复杂度区域:由边和结点围成的面积称为区域。当计算区域数时应该包括图外部未被围起来的那个区域。即流图的封闭区域数加1。(2流图的环形复杂度V(G=E-N+2,其中,E是流图中边的条数,N是结点数。(3流图的环形复杂度V(G=P+1,其中,P是流图中判定结点的数目。6、Halstead方法来度量-
31、计算方法Halstead方法是另一个著名的方法,它根据程序中运算符和操作数的总数来度量 程序的复杂程度。计算复杂度的方法:在图形界面(或Web界面环境下,尤其是在交互系统的中j 个模块的页面数以及每个页面上的项目数,也是模块复杂程度度量的依据。第七章1、编码风格涉及的一系列内容源程序实际上也是一种供人阅读的文档,有一个文档的风格问题。应该使程序具有良好的风格。源程序代码的逻辑简明清晰、易读易懂是好程序的一个重要标 准。 源程序文档化(程序内部的文档 数据说明 语句构造 输入输出设计 程序的效率2、单元测试、集成测试、确认/验收测试,测试计划(包括用例在什么时候书写 形成单元测试:-模块测试模块
32、测试的目的是保证每个模块作为一个单元能正确运行,所以模块测试通常又称为单元测试。在这个测试步骤中所发现的往往是详细设计和编码的错误。集成测试 :子系统测试局部(模块子系统子系统测试是按软件结构把经过单元测试的若干模块放在一起形成一个子系统来测试。模块相互间的协调和通信是这个测试过程中的主要问题,因此,这个步骤着重测试模块间的接口。系统测试 全局(子系统完整系统系统测试是,按软件结构,把经过测试的若干子系统装配成一个完整的系统来测试。在这个过程中不仅应该发现设计和编码的错误,还应该验证系统确实能提供需求说明书中指定的功能,而且系统的动态特性也符合预定要求。在这个测试步骤中发现的往往是软件设计中的
33、错误,也可能发现需求说明中的错误。不论是子系统测试还是系统测试,都兼有检测和组装两重含义,通常合称为集成测试。验收测试-用户参与验收测试把软件系统作为单一的实体进行测试,测试内容与系统测试基本类似但是它是在用户积极参与下进行的,而且可能主要使用实际数据(系统将来要处理的信息进行测试。验收测试的目的是验证系统确实能够满足用户的需要,在这个测试步骤中发现的往往是系统需求说明书中的错误。验收测试也称为确认测试。3、软件测试与调试的目的软件测试的目的就是在软彳投入生产性运行之前,尽可能多地发现软件中的错 误。测试横跨两个阶段:(1编写出每个模块之后就对它做必要的测试(称为单元测试。(2在上一阶段结束之
34、后,对软件系统还应该进行各种综合测试通常由专门的测 试人员承担这项工作。上 软件测试的直接目的是要衡量软件产品是否符合预期;U软件测试的根本目的是确保软件满足用户需求;调试就是通过测试发现软件的错误之后改正错误并进行再诊断。调试是测试阶 段最困难的工作。调试是在测试发现错误之后排除错误的过程。调试的任务是进一 步诊断和改正程序中潜在的错误。4、软件错误主要包括什么软件错误指软件产品中存在的导致期望的运行结果和实际运行结果间出现差异 的一系歹I问题,这些问题包括故障、失效、缺陷。1 .软件故障是指软件运行过程中出现的一种不希望或不可接受的内部状态。2 .软件失效是指软件运行时产生的一种不可接受的
35、外部行为结果。3 .软件缺陷是存在于软件之中的那些不希望或不可接受的偏差。5、测试用例由什么组成IEEE对于测试用例给出的定义是:测试用例是一组测试输入、执行条件和预期 结果,目的是要满足一个特定的目标,例如执行一条特定的程序路径或检验是否符合 一个特定的需求。测试用例可表示成:测试用例=输入+输出+测试环境其中,输入是指测试数据和操作步骤;输出是指系统的预期执行结果;测试环境是 指进行软件测试所必须的工作平台和前提条件。6、软件测试的方法C 人工测试方法(静态测试方法I 计算机辅助静软件测试的J态分析方法策略和方法f白盒测试方法 I动态测试方法(1静态测试-什么是静态测试-对软件(文档进行分
36、析、检查和审阅,不实际运行被测试的软件。静态测试名可找出3070%的逻辑设计错误,主要工作是对需求规格说明书、软 件设计说明书、源程序做检查和审阅(主要是阅读文档 包括:(1通过结构分析、流图分析、代码审查,指出软件缺陷 (2是否符合标准和规范;(2动态测试-什么是白盒测试-什么是黑盒测试-什么是动态测试-通过运行软件来检验软件的运行结果和动态行为的正确性。动态测试的两个基本要素:被测试程序、测试用例。动态测试有两种典型的方法:黑盒测试和白盒测试。 (1黑盒测试被测对象输入条件1* * «输入条件制定义 :已经知道了产品应该具有的功能,可以针对产品的每个(或主要功能点设计一组用例(包括输入数据和预期输出数据,通过测试来检验是否每个功能都能正常使用;黑盒测试主要在以下方面进行:(1 a /洲t:(2菜单/帮助测试:(3发行测试:(4回归测试黑盒测试的优势:a.黑盒测试方法对测试人员的技术要求相对较低;b.不需要了解程序实现的细节,测试团队与开发团队可以并行完成各自的任务。黑盒测试的局限性:测试结果的覆盖度不容易度量,测试的潜在风险较高。(2 白盒测试知道产
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025公司职工安全培训考试试题典型题
- 2025公司管理人员安全培训考试试题【基础题】
- 2025简化版租房合同协议
- 2025年个体工商户转手合同
- 2025合同风险管理常见法律挑战与应对策略
- 2025供应商合作协议合同
- 2025年电磁学计量标准器具项目建议书
- 2025常用的农产品购销合同范本
- 2025超市员工劳动合同模板
- 2025合作合同个体工商户合资经营协议书
- 2025购销合同(电子产品)范文
- 基于全生命周期的绿色建筑成本影响因素研究
- 2025年普法知识竞赛题库及答案(共80题)
- 心力衰竭护理查房 课件
- 【课时练基础作业】人教版四年级数学下册第四单元《期中计算能力测试》(含答案)
- 树木修剪合同协议
- 2025年兰州市九年级诊断考试(一诊)物理试卷
- 【初中地理】西亚课件-2024-2025学年人教版(2024)七年级地理下册
- 2024年4月27日福建省事业单位《综合基础知识》真题及答案
- 农民工工资专用账户管理制度
- 药物治疗管理MTM
评论
0/150
提交评论