软件工程导论复习整理〔最新〕.docVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程导论复习整理〔最新〕

第一章 .软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题。 软件与硬件的区别:软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。 软件:程序、数据及相关文档的完整集合。 软件工程是指导计算机软件开发和维护的一门工程学科,采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到最好的技术方法结合起来,以经济地开发出高质量的软件并有校地维护它。 软件工程方法学三要素:方法、工具和过程。 传统方法学也称为生命周期方法学或结构化范型。它采用结构化技术来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。 面向对象方法学把数据和行为看成同等重要的,它是一种以数据为主线,把数据和对数据的操作紧密地结合起来的方法。 软件生命周期划分为三个时期:1软件定义(问题定义、可行性研究、 需求分析),2软件开发(总体设计、详细设计、编码和单元测试、综合测试),3运行维护(软件维护)。 4类软件维护活动:改正性维护,也就是诊断和改正在使用过程中发现的软件错误;适应性维护,即修改软件以适应环境的变化;完善性维护,即根据用户的要求改进或扩充软件使它更完善;预防性维护,即修改软件,为将来的维护活动预先做准备。 “瀑布模型”的缺点:它是由文档驱动的,仅仅通过写在纸上的静态的规格说明,很难全面正确地认识动态的软件产品;瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的产品不能真正的满足用户的需要。 快速原型模型的优点:原型系统已经通过与用户交互而得到验证,据此产生的规格说明文档正确地描述了用户需求;开发人员通过建立原型系统已经学到了很多东西,因此,在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯错误的可能性。 第二章 1.可行性研究的三个方面:技术可行性:使用现有的技术能实现这个系统 经济可行性:这个系统的经济效益能超过它的开发成本 操作可行性:系统的操作方式在这个用户组织内行得通 2.数据流图的4个基本符号及画法P41 数据字典:是关于数据的信息的集合,也就是对数据流图中的所有元素的定义的集合设计和确定模块,使得一个模块内包含的特定信息,对于不需要这些信息的模块来说,是不访问的。内聚和耦合。耦合衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚衡量一个模块内部各个元素彼此结合的紧密程度 6.层次图,结构图P102 第六章 结构程序设计定义:如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每一个代码块只有一个入口和一个出口,则称这个程序是结构化的。 P124 过程设计的工具:程序流程图、盒图、PAD图、判定表、判定树、过程设计语言。 画出伪码程序的程序流程图和盒图 P141 第七章 软件测试在软件生命周期中横跨两个阶段:单元测试:模块的编写者和测试者是同一个人,编码和单元测试属于软件生命周期的同一个阶段;综合测试:由专门的测试人员承担这项工作。 为什么软件测试不能由程序的编写人员来做? (1)测试是为了发现程序中的错误而执行程序的过程。 (2)正确认识测试的目标是十分重要的,测试目标决定了测试力案的设计。如果为了表明程序是正确的而进行测试,就会设计一些不易暴露错误的测试方案;相反,如果测试是为了发现程序中的错误,就会力求设计出最能暴露错误的测试方案。 (3)由于测试的目标是暴露程序中的错误,从心理学角度看,由程序的编写者自己进行测试是不恰当的。 测试方法:(1)黑盒测试?:把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程?;对程序接口进行测试,检查程序功能是否能按规格说明书的规定正常使用;?程序是否能适当地接受输入数据并产生正确的输出信息;?程序运行过程中能否保持外部信息的完整性? (2)?白盒测试?:把程序堪称装在一个透明的白盒子里,测试者完全知道程序的结构处理算法?;按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按?预定要求正确工作。 测试步骤:模块测试,子系统测试,系统测试,验收测试,平行运行。P151 集成测试是测试和组装软件的系统化技术,即是在把模块按照设计要求组装起来的同时进行测试,由模块组装成程序时两种方法:非渐增式测试方法和渐增式测试方法。 P162 逻辑覆盖标准:语句覆盖,判定覆盖,条件覆盖,判定条件覆盖,条件组合覆盖,(还有点覆盖,边覆盖,路径覆盖)。 设计测试用例:P162 第八章 软件维护:在软件已经交付使用之后,为了改正错误或者满足新的需要而修改软件的过程。 维护工作量的一个模型: M = P + K × exp(c-d)其中: M是维护用的总工作量,P是生产性工作量,K是经验常数,c是复杂程度d是维护人员对软件的熟悉程度。ex

文档评论(0)

shaoye348 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档