软件工程整理重点资料.docVIP

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

第一章 绪论 什么是软件(掌握) 软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需的数据,以及有关描述程序操作和使用的文档(美国软件工程教材作者R. S. Pressman) 软件=程序(包括数据)+文档 程序是为了解决某个特定问题而用程序设计语言描述的适合计算机处理的语句序列。 数据是使程序能正常操纵信息的数据结构。 文档是与程序开发,维护和使用有关的图文材料。 什么是软件危机,软件危机产生的原因(了解) 软件危机:庞大的软件费用,加上软件质量的下降,对计算机应用的继续扩大构成了巨大的威胁。 软件危机产生的原因: 客观:软件本身特点 ----逻辑部件 ----规模庞大、复杂度高 主观:不正确的开发方法 ----忽视需求分析 ----个人化方式:软件开发=程序编写 ----轻视软件维护 什么是软件工程(掌握) 把软件当作一种工业产品,“采用工程化的原理与方法对软件进行计划、开发和维护”。 软件开发方法 为软件开发提供了 “如何做” 的技术 个性化方法-〉结构化方法-〉面向对象方法-〉软件复用 软件工具 为软件开发提供了自动的或半自动的软件支撑环境 单个工具-〉工具箱、集成工具-〉环境 软件工程管理 目的:为了按进度及预算完成软件计划 内容:成本估算、进度安排、人员组织、质量保证等 第2章 软件生存周期与软件过程 软件生存周期的划分,每个活动的任务是什么(掌握) 软件生存周期(Software Life Cycle):一个软件从问题提出立项开始,直到软件产品最终退役(废弃不用)为止。 软件生存周期分为三个时期:计划、开发和维护 软件生存周期的主要活动:需求分析、软件分析、软件设计、编码(测试)、软件测试(交付测试)、运行维护(使用维护)。 每个活动的任务: 需求分析(需要系统分析员与用户之间的良好配合) 明确需要解决的问题(从用户的视角)。 建立需求模型:描述软件的功能需求、性能需求、环境约束、外部接口等,需通过用户审查和认可。 软件分析(对软件系统逻辑模型的描述,也是下一步进行软件设计的依据) 在需求模型基础上从开发人员的视角对软件进行分析。 建立与需求模型一致的分析模型:描述软件的逻辑模型。 软件设计 将分析模型转变为设计模型。软件设计分为总体设计和详细设计两个阶段。 总体设计:确定软件的总体结构和全局性设计原则。 详细设计:确定各部件的数据结构和操作。 建立软件设计模型:考虑实现技术和平台。 需要编写相应的设计文档。 编码 用程序设计语言和可复用的软件构件包,将设计文档翻译成源程序。 建立软件实现模型:包含现有软件构件包。 单元测试通常与编码同时进行。 软件测试(提高软件质量的重要手段) 发现程序中的错误、提高软件质量 单元测试、集成测试、确认测试(包括阿尔法测试和贝塔测试)、系统测试 编码测试报告:包括测试计划、测试用例、测试结果等内容。 (通过确认测试(针对功能需求)和系统测试(针对性能等非功能需求)后,软件即可交付使用) 运行维护:主要任务是做好软件维护,使软件在整个生存周期内都能满足用户的需求,并延长其使用寿命;每次的维护都应遵循规定的程序,填写或更改相应的文档。 以上就是软件典型生存周期的活动内容。比较大型的软件在开始开发前,还需要进行一次可行性研究。 软件过程模型的种类,以及这些模型适用于什么开发什么类型的软件(P30页 表2.1)(掌握) 软件生存周期中的阶段和软件过程中的活动是基本一致的。 传统的过程模型: 瀑布模型 特点:线性模型,每一阶段必须完成规定的文档,适用于结构化的开发 适用场合:需求明确的中、小型软件开发 快速原型模型 特点:用户介入早,通过迭代完善用户需求,应用快速开发工具,适用于结构化的开发 适用场合:需求模糊的小型软件开发 软件演化模型: 增量模型 特点:每次迭代完成一个增量,可用于OO开发 使用场合:容易分块的大型软件开发 螺旋模式 特点:典型的迭代模型,重视风险分析,可用于OO开发 构建集成模型 特点:软件开发与构件开发平行进行,主要适用于OO开发 适用场合:领域工程、行业的中型软件开发 形式化方法模型: 转换模型 特点:形式化的需求规格说明书,自动的程序变换系统 使用场合:理想化模型,尚无成熟工具支持 净室模型 特点:形式化的增量开发模型,在洁净状态下实现软件制作 使用场合:开发团队熟悉形式化方法,中小型软件开发 瀑布模型的特点以及优缺点(掌握) 特点 阶段的顺序性和依赖性 推迟实现的观点 质量保证的观点 存在问题 不适合需求模糊的系统 开发初始阶段很难彻底弄清软件需求 优点: 1、推迟实现的观点。所谓的推迟实现,是把待开发软件的逻辑设计与物理实现清楚的区别开来,即在需求分析和软件设计阶段只考虑系统的逻辑模型,等到编码阶段再来完成程序清单。 2、保证质量的观

文档评论(0)

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

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

1亿VIP精品文档

相关文档