南京工业大学计算机系2010级软件工程考点整理.docx

上传人:牧羊曲112 文档编号:5077117 上传时间:2023-06-02 格式:DOCX 页数:12 大小:338.49KB
返回 下载 相关 举报
南京工业大学计算机系2010级软件工程考点整理.docx_第1页
第1页 / 共12页
南京工业大学计算机系2010级软件工程考点整理.docx_第2页
第2页 / 共12页
南京工业大学计算机系2010级软件工程考点整理.docx_第3页
第3页 / 共12页
南京工业大学计算机系2010级软件工程考点整理.docx_第4页
第4页 / 共12页
南京工业大学计算机系2010级软件工程考点整理.docx_第5页
第5页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《南京工业大学计算机系2010级软件工程考点整理.docx》由会员分享,可在线阅读,更多相关《南京工业大学计算机系2010级软件工程考点整理.docx(12页珍藏版)》请在三一办公上搜索。

1、软件工程第1章导论1. 软件工程:目前已成为一门知道软件系统开发和维护的新兴工程科学,它运用计算机科学,工程科学, 数学,管理学和社会学等原理和方法指导软件系统的开发过程,以实现高质量,有效的软件系统。2. 软件特性:软件是设计开发的;软件不会磨损;大多数软件是根据客户的要求定制的。(ppt:复杂性, 特一致性,可变性,不可见性)3. 软件的类型:从功能角度分为系统软件和应用软件,从服务对象的角度分为通用软件和定制软件。4. *软件质量:软件质量是软件产品或服务的特性和特征的整体,它取决于软件满足给定需求的能力。软件质量特性:(重点)软件质量定义:软件产品中所能满足用户给定需求的全部特性的总体

2、能力;软件具有所期望的各种属 性组合的程度;用户主观得出的软件是否满足其综合期望的程度;软件的组合特性满足用户预期需求 的程度。软件质量通常采用质量模型来建立软件质量特性间的关系5. 软件危机主要表现在:1)软件开发无计划性;2)软件需求不充分;3)软件开发过程无规范;4)软件 产品无评测手段。6. *IEEE关于软件过程的定义为:软件过程是:1)将系统性的,规范化的,可定量的方法应用于软件的开 发,运行和维护,即将过程化应用到软件上;2)对1)中所述方法的研究。(软件工程三要素:方法, 工具和过程)。7. 目标:提高软件系统的开发效率和质量8. 软件质量特性:(重点)软件质量定义:软件产品中

3、所能满足用户给定需求的全部特性的总体能力;软件具有所期望的各种属性组 合的程度;用户主观得出的软件是否满足其综合期望的程度;软件的组合特性满足用户预期需求的程度。软件质量通常采用质量模型来建立软件质量特性间的关系软件过程:定义:软件过程是软件工作人员为了获得软件产品,在软件工具的支持下实施的一系列的软件工程活动, 软件过程活动也就是软件生命周期内的活动。通用的过程框架可适用于绝大多数的软件项目,一般包含以下框架活动:1)软件定义2)软件设计和实 现3)软件验证4)软件演化。软件过程的抽象称为过程模型,主要包括:瀑布模型,演化式开发,形式开发,基于组件的开发,螺旋模 型,增量模型等。*瀑布模型:

4、将过程活动分为需求分析,设计,编码,测试和维护几个阶段,与软件生存期相吻合,故亦 称软件生存期模型。瀑布模型的阶段划分清晰,每一阶段经过评审方可进入下一阶段,有较高的文档要求, 过程可见性好。*形式化开发:采用数学模型形式定义系统,然后将形式化模型转化为可执行系统。如军事,航天等领域的 系统可采用形式化开发。*螺旋模型将软件工程活动定义为坐标轴上四个象限的活动,分别是计划,风险分析,工程实现和评审,以 螺旋方式迭代。螺旋模型式对瀑布模型的一种改进,螺旋迭代方式可以克服瀑布模型缺乏柔性的缺点。重 要的区别是风险分析活动,风险分析活动降低了阶段活动的风险。I. 软件工程方法:定义:通常把在软件生命

5、周期全过程中使用的一整套技术的集合称为方法。系统,典型的软件工程方 法主要有结构化方法和面向对象的方法。结构化分析方法,主要是利用数据流图来模拟数据处理过程,是一种面向数据流的开发方法,其基本 原则是功能的分解和抽象。(SA)结构化设计的实质是将DFD转变成系统结构模型的过程,软件系统结构是指软件模块间的关系。(SD) 面向对象方法的软件工程方法是面向对象方法在软件工程领域的全面应用,涉及面向对象分析(O OA), 面向对象设计(OOD),面向对象编程(OOP),面向对象测试(OOT)和面向对象维护(OOSM)。II. CASE (计算机辅助软件工程)工具是指用于软件过程活动中支持软件开发,维

6、护,管理的不同类型的程 序。可被分为三类:工具,工作台和集成的软件开发环境,三者区别:工具往往完成软件过程活动中的 单一任务;工作台支持软件过程某个阶段的活动;集成的软件开发环境则是支持所有或核心活动的集成 工具。IV.软件工程知识体系:SWEBOK。将软件工程知识分解成10个知识域:软件需求、软件设计、软件构造、 软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具与方法、软件质量 McCal l的11个质量要素:运行特性:正确性,可靠性,有效性,完整性,可用性修改特性:可维护性,灵活性,可测试性转换特性:可移植性,可复用性,互操作性第2章 软件过程1. 软件过程:是指

7、软件生存周期所涉及的一系列相关过程,是软件从需求获取,需求分析,设计,实现, 测试,发布到维护的过程。软件过程活动通常有:需求分析和定义,系统设计,程序设计,编码,单元测试,集成测试,系统测试, 系统交付,维护等。软件过程可概括为三类:基本过程类,支持过程类和组织过程类。基本过程类包括需求获取和定义过程,设计过程,实现过程,验证过程和维护过程;支持过程类包括文档 过程,配置管理过程,质量保证过程,联合评审过程,审计过程等;组织过程类包括基础设施过程,改进 过程以及培训过程。2. 软件过程模型是对软件开发过程的抽象。*瀑布模型:当前活动接受上一项活动的工作结果,实施完成所需的工作内容,前后有因果

8、关系。(某公司 计划开发二维CAD软件)适用:在开发的早期阶段软件需求被完整确定;挑战:实际的项目开发很少是线性的过程,客户很难明确地描述软件需求;缺点:各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量;开发过程中很难响应客户的变更要求;早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果;*演化式开发模型:包含着并行的,循环的需求分析,开发和验证等活动。(北京市交通设施设计与漫游系 统)适用:生命周期较短、中小规模的系统。当然在大型系统中,视具体情况部分采用演化式开发也是可行的。 优点:在及时响应用户需求改变方面比瀑布模型更为有效,软件改变的代价较小缺点:系统

9、的结构通常不好;软件过程可见性不好;开发过程通常需要特殊的工具和技术支持;*形式化变换模型:某些安全性,可靠性要求很高的软件系统,可采用形式转化模型来开发。(空中交通控 制系统)适用:特别适合于那些对安全性、可靠性和保密性要求极高的软件系统,这些系统需要在投入运行前进行 验证;优点:由于数学方法具有严密性和准确性,形式化方法开发过程所交付的软件系统具有较少的缺陷和较高 的安全性;缺点:开发人员需要具备一定技能并经过特殊训练;形式化描述和转换是一项费时费力的工作;现实应用的系统大多数是交互性强的软件,但是这些系统难以用形式化方法进行描述;*面向复用的开发:主要建立在已有大量可利用的软件组件和组件

10、的集成框架基础上,可以有效提高开发 效率和质量。(开发学生系统)需求调整系统验证开发和集成组件分析可复用系统设计需求分析图2.5面向复用的开发模式面向复用的软件开发模型中的重要因素:1)基于组件的软件体系结构2)基于组件的开发过程;优点:充分体现软件复用的思想;实现快速交付软件;缺点:商业组件的修改受到限制,影响系统的演化*增量开发模型:主要内容是将系统的需求定义、设计和实现分解成若干增量依次开发和交付,以减少开发 过程中的返工,也可以让用户通过体验先期交付的系统更准确、详细地给出需求。*螺旋模型:它将瀑布模型和快速原型模型结合起来,其过程活动不是按顺序进行而是以螺旋式展开,强调 了其他模型所

11、忽视的风险分析,特别适合于大型复杂的系统。优点:关注软件的重用;关注早期错误的消除;将质量目标放在首位;适合大型软件项目;缺点:1需要风险评估的经验2螺旋模型强调风险分析,但要求许多客户接受和相信这种分析,并做出相关反应是不容易的,毕竟影响 软件的因素复杂。另外风险分析得需要一定的代价,如果软件预算不充裕,较难实行;因此,这种模型往 往适应于内部的大规模软件开发。3如果执行风险分析将大大影响项目的利润,那么进行风险分析毫无意义,因此,螺旋模型只适合于大规 模软件项目。4软件开发人员应该擅长寻找可能的风险,准确地分析风险,否则将会带来更大的风险。3. * Rational 统一过程:RUP是基于

12、UML的一种现代软件开发过程模型。是一种混合过程模型,融合了一些通用过程元素。强调开发和维护模型,UML的使用使其具有语义丰富的软件系统表达。反映了许多人和公司的集体经验。Rational统一过程模型:.:i -11初始2:国化BC置希宝正智迎jni-iwiF迭 代 #2迭 ft 的1代 #n+ii迭ftRational统一过程中的软件生命周期在时间上被分解为四个连续的阶段,分别是:初始阶段,细化阶段, 构造阶段和交付阶段。4. 敏捷开发过程:敏捷开发是由业界专家针对企业现状提出的,让软件开发团队具有快速工作、响应变化 能力的价值观和原则。第3章面向对象系统建模:1. 面向对象模型:面向对象模

13、型更接近于问题域;反复细化高层模型直到可以实现的程度;将模型组织成 对象的集合。2. 面向对象基本概念:对象-是系统中描述客观事物的一个实体,它是构成系统的一个基本单位,由一组属性和对这组属性进 行操作的一组服务组成。类-是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内 部包括属性和服务两个主要部分。关联:关联是对象属性之间的静态关系,他们通过对象的属性来表现对象之间的依赖关系。关联存在多重性,用于描述一个关联的实例中有多少个相互连接的对象。聚合和组合:聚合是一种特殊形式的关联。聚合表示类之间整体和部分的关系。组合表示的也是类之间的整体和部分的关系,但组合

14、关系中的整体和部分具有同样的生存期,组合是一种 特殊形式的聚合。多态性:是指在父类中定义的属性或服务被子类继承后,可以具有不同的数据类型或表现出不同的行为 封装-是把对象的属性和服务结合成一个独立的系统单位,并尽可能隐藏对象的内部细节。继承-是指子类可以自动拥有父类的全部属性和服务。3. *UML的构成有三类主要元素:基本构造块,语义规则,公共机制。结构事袖、行为零物、公蛆审物、注糠事物关手依赖关系、美映美系/基本构迫点j 八:迁化关系,实现关基用例国、图 ,类阕、时挚维、组件街、分布圈顺序前、协作国、状意图.活劫宙|语5命名2.可虱性、完整性、可执行性说明、移饰v会共机制:通用划I. 扩朕机

15、制基本构造块成分图见课本UML关系:关联,泛化,依赖和实现。关联是一种结构关系,它描述了一组对象之间的连接聚合(Aggregation)是一种特殊形式的关联,它表示类之间的整体与部分的关系。(比如:汽车和轮胎之间 的关系)组合(Composition)是一种特殊形式的聚集,组合关系中的整体与部分具有同样的生存期。(比如:你和 你的心脏之间的关系)泛化是一种特殊/一般的关系。依赖是一种使用关系,它说明一个事物规格说明的变化可能影响到使用它的另一个事物。实现是类元之间的语义关系,其中的一个类元指定了由另一个类元保证执行的契约。UML图1用例图是从系统参与者的角度所理解的系统功能以及参与者与用例间的

16、交互。用于定义阶段的需求建模。 用例图表示了用例、参与者及其它们之间的关系。2类图用于描述系统的静态结构类图表示系统中的类、类与类之间的关系以及类的属性和操作3包图用于较大系统组成块的建模,如子系统构成包的模型元素称为包的内容。包的内容可以是一个类图 也可以是另一个包图。包与包之间不能共用一个相同的模型元素4组件图描述软件组件及组件之间的依赖关系,显示代码的静态结构。5部署图也称实施图,用于建模处理器、硬件设备和软件组件在运行时的架构,它可以用来描述系统中计 算结点的拓扑结构、通信路径与结点上运行的软组件等。(重点6-9)6状态图是由状态机扩展而来的,用来描述对象所经过的对外部事件做出相应的状

17、态序列。 状态图针对单个对象建立模型。侧重于描述某个对象在其生命周期中的动态行为,包括对象在各个不同的 状态间的跳转以及触发这些跳转的外部事件,即从状态到状态的控制流。状态图中定义的状态有:初态:用实心圆表示(必须有一个)终态:用一对同心圆(内圆为实心圆)表示(可以有多个,也可没有)中间状态:用圆角矩形表示;7顺序图顺序图描述了一组交互对象间的交互方式,它表示完成某项行为的对象和这些对象之间传递消息的时间顺例题银行系统的交易验证8协作图用于描述相互协作的对象间的交互关系和链接关系。9活动图用于对系统工作流程建模,即对系统的业务过程建模,也可以对具体的操作建模,以描述计算过程的细节。例如:算法流

18、程、软件过程活动UML图*用例图:需求荻取,测试依据功能*类 禽:类以及类之间的相互美蒙结构, 对球图:对象以及时案立间的相互关系组件图:构件及其相互依赖关系*分布图:构件在各节点上的部署时序图:强调时间顺序的交互图行为协作囹:强调对象协作的交互图状态囹:类所经历的各种状态活动图:对工作流程建模第4章需求工程1.IEEE给出了如下关于软件需求的定义: 用户解决问题或达到目标所需的条件或能力; 系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或能力; 一种反映或所描述的条件或能力的说明。对定义的理解:软件需求的概念涵盖了用户角度(系统的外部行为)和开发人员角度(系统的内部特性

19、) 两个方面,其中的关键在于需求一定要文档化。根据需求文档服务的对象将需求分成两类:用户需求和系统需求;从系统应解决的问题和达到的目标来 分,可分为功能性需求,非功能性需求和业务需求。用户需求:是从用户角度描述的系统功能需求和非功能需求,通常只涉及系统的外部行为,而不涉及系统 的内部特性。原则:应该易于用户的理解。一般不采用技术性很强的语言,而是采用自然语言和直观图形相结 合的方式进行描述。问题:自然语言表达容易含糊和不准确。系统需求:是更加详细地描述系统应该做什么,通常包括许多不同的分析模型,诸如对象模型、数据模型、 状态模型等。(了解)功能需求:描述系统应该提供的功能或服务,通常涉及用户或

20、外部系统与该系统之间的交互,一般不考虑 系统的实现细节。非功能需求:从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求,例如响应 时间、数据精度、可靠性、开发过程的标准等。业务需求:组织或客户对于系统的高层次目标要求,定义了项目的远景和范围,即确定软件产品的发展方 向、功能范围、目标客户和价值来源。(既可是功能性也可以是非功能性的需求,业务需求不是 用户指定的而是从系统应用域派生出来的。2. 需求工程过程:需求工程过程活动是对需求的收集、分析、定义和验证的过程;主要包括可行性研究, 需求获取和分析,需求定义和需求验证等。*需求工程过程图:布戒技段剧分析fflf求验证图吁无性

21、矶兜报吝 -.荣貌模用.用户需求肉A可行性研究目的:降低系统开发风险。方法:从时间、资金、软硬件、技术、人员等资源角度出发,进行可行性研究,形成的可行性研究报告用 于决定是否要开展进一步的需求工程和系统开发过程。可行性研究主要集中在经济可行性、技术可行性、法律可行性和方案决策几个部分。、可行性研究报告内容:1、项目背景2、管理说明与建议3、候选方案4、系统描述5、经济可行性6、技术可行性7、法律可行性8、用户使用可行性9、其他与项目有关的问题3. *需求获取技术:用户交流,基于用例的需求获取(确定参与者,确定用例,构建用例模型,用例描述) 原型化方法。(理解)4. 需求定义:需求定义阶段的工作

22、就是以分析模型为基础,形成完整的需求定义文档即需求规格说明,为 设计提供基础,也为软件测试和确认及维护提供依据。(了解需求文档的步骤)5. 需求验证:一般通过评审的方式来实现。需求验证主要围绕正确性检验,完整性检验,一致性检验,实 现性检验和需求的可验证性展开。是确保需求规格说明准确、完整的表达必要的质量特点。只对已文档化 的需求验证,未文档化的不验证。第5章面向对象的分析1. 面向对象的分析过程是找出分析类,分析包,构建它们之间的静态关系和动态协作模型的过程。分析类:分析类代表了系统设计中的一个或几个类或若干个子系统的抽象分析类的类型:实体类:表示系统存储和管理的永久信息边界类:表示参与者与

23、系统之间的交互控制类:表示系统在运行过程中的业务控制逻辑边界类控制类实体类2. 基于UML的需求分析:确定分析类;建模分析对象间的交互;构建分析类图。确定分析类:识别边界类,识别控制类,识别实体类;(如何找出三个类)构建分析类图:确定职责,确定属性,确定关联和聚合,确定泛华,捕获特殊需求;第6章软件设计1. 软件设计原则:模块化和信息隐蔽,内聚和耦合,抽象和求精,复用;兼小成木区域用接口前开销模映总数图氏2模块L软件消花成本海个模块。模块化和信息隐蔽:将一个复杂的大系统分解成若干个相对简单的子系统称为大系统模块化,使得求解 问题的复杂性和工作量比一个大系统要小,求解更为容易。但模块的分解并非越

24、多越好,模块之间存在 着交互接口,当模块过多时,将会增加接口的代价。一个复杂的系统可以按层次分解为子系统,组件/服务类和函数,它们构成了不同层次的系统模块。内聚和耦合:内聚性是子系统内部的相关程度。当子系统中彼此相关的多个对象执行类似的任务时,则认为该子系统是高内聚的;反之,当子系统内的 多个对象彼此不相关时,则认为是低内聚的。(内聚越高越好)高内聚的方法做且仅做一件事,这会很容易理解与维护;高内聚的类表示且仅表示一种类型的对象。内聚度是描述信息隐藏和局部化概念的自然扩展,它标志一个模块内部各成分彼此结合的紧密程度; 内聚度按其高低程度可分为7级,从低至高分别为:偶然内聚,逻辑内聚,时间内聚,

25、过程内聚,通信 内聚,顺序内聚,功能内聚。【内聚度越高越好】。耦合:表示两个子系统(或类)之间的关联程度。耦合也可分为7级,从低至高为:非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合, 内容耦合。【耦合度越低越好】。抽象是对问题的简化和概括,它忽略了问题的某些细节,有助于把握问题的本质;求精(Refine)是抽 象的逆过程,是对问题自顶向下逐步分解、细化逐渐至细节的过程。抽象是对问题的简化和概括,它忽略了问题的某些细节,有助于把握问题的本质。求精(Refine )是抽象的逆过程,是对问题自顶向下逐步分解、细化逐渐至细节的过程。所谓复用就是利用某些已开发的、对建立新系统有用的软件元

26、素来生成新的软件系统。软件复用可以是 代码级复用,也可以是组件级复用;复用还可以是设计级的复用。(了解)2. 软件系统的体系结构:主要是指软件中相对独立的模块、这些模块接口之间的交互机制以及一系列组织 管理这些操作的规则。常见的体系结构设计策略:管道一过滤器结构分层体系结构仓库系统结构客户/服务器模式:胖客户机结构如账户可取余额,操纵取款流程,打印服务凭条等; 瘦客户机模型如基于Internet的Web应用系统。MVC模式(模型,视图,控制器)第9章 面向复用的设计Abstract Factory提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类Adapter将一个类的接口转换

27、成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容二不能一 起工作的类可以一起工作。Bridge将抽象部分和它的实现部分分离,是他们能够独立的变化Builder将一个复杂的对象的构建与他的表示分离,使得同样的构建过程可以创建不同的表示Composite将对象组合成树形结构以表示“部分-整体”的层次。是客户对单个对象和符合对象的使用具有 一致性Facade Facade模式定义一个高层接口,为子系统的一组接口提供一致界面,使得子系统更加容易使用第11章软件实现1.软件实现的过程中包括:代码设计,代码编码,代码检查,代码编译和单元测试等基本活动。第12章软件验证和确认1.验证和确认

28、:验证和确认工作是在整个软件生命周期中对软件的规范性评估活动,以保证软件开发各个环节的正确性; 软件验证试图证明在软件生存期的各个阶段,软件产品或中间产品是否能满足客户需求,包括逻辑协调性, 完备性和正确性;软件确认是一系列的活动和过程,其目的是保证软件产品能够符合其描述的要求。在V&V过程中,可以使用软件审查和软件测试两种系统检查和分析技术;软件审查时对系统的各种表示 形式(静态行为);软件测试是使用测试数据对软件的实现进行运行检查,查看系统的输出内容以及运行 行为是否否和要求(动态行为);2. 软件测试:目的:1)测试是一个为了寻找错误而运行程序的过程;2)一个好的测试用例是指很可能找到迄

29、今为止 尚未被发现的错误用例;3)一个成功的测试是揭示了迄今为止尚未被发现的错误的测试。通常的软件测试过程活动分为:单元测试,集成测试,系统测试和确认测试;*单元测试:要对被测模块的接口,局部数据结构,重要的执行路径,异常处理和边界等五个方面进行测试。 *集成测试(也称组装测试或综合测试):是按设计要求把通过单元测试的各个模块组装在一起之后进行测 试,以便发现与接口有关的各种错误;其可分为渐增式测试和非渐增式测试。*非渐增式测试方法:是先分别测试每个模块,再把所有模块按设计要求集成在一起,组合成所要的程序再 进行测试。但一次集成所有模块不利于错误定位;*渐增式测试时逐步将待测试模块同已测试好的

30、模块集成起来进行测试。当使用渐增方式把模块集成到软件 系统时,有自顶向下和自底向上两种组合方法;入:自顶向下方法:可采用深度优先和宽度优先两种策略。B:自底向上结合:是软件从结构最底层层的模块开始向上组装模块,进行集成测试,当测试到较高模块时, 所需的下层模块均已测试完毕,因而不再需要桩模块。一般分为四个步骤:1)把底层模块组合成一个特 定软件系统;2)为每个模块设定一个驱动软件,作为测试的控制程序,以协调测试用例的输入和输出;3) 对模块族进行测试;4)按系统结构逐层向上,用实际模块替换驱动程序,将模块族集成起来组装成新的 模块族再进行测试;*系统测试:恢复测试,安全性测试,压力测试,性能测

31、试;*确认测试()又称有效性测试,合格测试或验收测试):是软件交付前的最后测试;确认测试分为:a测 试是由用户在开发环境下进行的测试,也可以是开发机构内部的人员在模拟实际操作环境下进行的测试; P测试是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试(与a测试不同的是月测试开 发者一般不在现场);3. 软件测试从测试是否针对系统的内部结构和具体实现算法的角度来看,可分为白盒测试和黑盒测试用例 设计方法;A:白盒测试:已知软件内部结构和算法,就可以测试其内部是否符合设计要求,这种测试方法称为白盒 测试,是对软件的过程性细节进行检验;白盒测试又称为结构测试或逻辑驱动测试,是将测试对象比作

32、一个打开的盒子,它允许测试人员利用 程序内部的罗杰结构和相关信息来设计或选择测试用例,对软件的逻辑路径进行测试,可以再不同点 检查程序的状态,以确定实际状态与预期状态是否一致;三种白盒测试技术:基本路径测试,逻辑覆盖测试和循环测试;B:黑盒测试:注重测试软件的功能需求,所有又称为功能测试。它不涉及软件的内部逻辑结构,以程序 的功能作为测试的依据对程序进行测试。测试者要研究软件需求规格说明和设计的有关功能,性能, 输入/输出之间的关系,只根据程序接口来设计测试用例,并将测试的结果与期望的结果进行分析; 根据黑盒测试法的基本思想,软件测试人员应把程序看成一个黑盒,完全不考虑程序的内部结构和处 理过

33、程,以程序的外部功能为依据,检查程序是否能完成所规定的功能,证实软件功能的可操作性, 程序是否可以很好的接收输入数据,产生正确的输出结果。另一方面还要证实它是否做了不该做的事 情,证实模块外部信息的完整性,即模块运行过程要保持外部信息的完整性。a. 等价类划分:把所有可能的输入数据划分成若干个等价类(子类,子集),每个类中的任何一个元素, 在测试中的作用等价于这一类中的其他元素;等价类划分时根据输入条件,可把输入数据划分为有效 等价类(合法输入类)和无效等价类(非法输入类)等;b. 边界值分析;c. 错误猜测法;第13章软件演化1.软件的本质特性:(了解);软件维护:为了修改软件缺陷或增加新的

34、功能而对软件进行的变更,软件变更往往发生在局部,不会 改变整个系统的总体结构;(软件维护的类型:软件维护活动可以分为三种典型的类别:改正维护性, 适应维护性,完善维护性); 软件再工程:为了避免软件的退化而对软件的一部分重新进行设计,编码和测试,以提高软件的可维 护性和可靠性等,为了以后进一步的软件维护打下良好的基础; 第14章 软件计划管理2.软件项目的特点:1)软件产品的不可见性;2)项目的高度不确定性;3)软件过程的多变化性;4)软 件人员的高流动性;总而言之,复杂和变化给软件项目的管理带来了相当大的难度,降低复杂性 和控制变化成为软件项目管理面临的关键问题;软件项目管理活动:软件项目的生命周期宝库项目启动,项目规划,项目实施和项目收尾四个阶段, 其中项目启动阶段确定项目的目标和范围,项目规划阶段建立项目的基准计划,项目实施阶段则按照 计划执行和控制项目,项目收尾时交付产品以及总结经验教训。a.项目启动具体活动内容包括:确定项目范围,组建项目团队和建立项目环境;b.项目规划主要包括:确定项目活动,预算项目成本和制定进度计划等活动 c项目实施具体活动包括:监控项目执行,管理项目风险和控制项目变更;d项目收尾主要活动包括:客户验收项目,安装培训软件,总结项目经理;3. 成本估算:COCOMO81 模型固定电话机状态机模型圈5披叫状态转移圈电话机的状态图2 CD播放模式工作状态图

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号