软件工程主要知识点文档.docxVIP

  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文档。上传文档
查看更多
软件危机的定义指在软件的开发和维护过程中所遇到的一系列严重问题。 软件工程为了经济地获得可靠的且能在实际机器上有效地运行的软件, 而建立和使用完善 的工程原理。 三、软件工程的基本准则 1.用分阶段的生命周期计划严格管理 2.坚持进行阶段 评审3.实行严格的产品控制 4.采用现代程序设计技术 5.结果应能清楚地审查 6. 开发小组的人员应该少而精 7.承认不断改进软件工程实践的必要性 方法学:是指软件生命周期全过程中使用的一整套技术方法的集合,也称为范型。方法、 工具和过程 软件生存周期的定义软件定义、软件开发和运行维护 二、各个阶段的基本任务 1.问题定义 2.可行性研究3.需求分析4.总体设计5.详 细设计 6.编码和单元测试 7.综合测试 8.软件维护 过程为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作 步骤。描述了 who、when、what、how,用以实现某一个特定的具体目标 瀑布模型适合于功能,性能明确,完整,无重大变化的软件开发。在开发前均可完整, 准确,一致和无二义性地定义其目标,功能和性能等的系统。 (局限性:瀑布模型 在大量消除非结构化软件,降低软件的复杂性,促进软件开发工程方面起到很大作用。 快速原型模型 已有类似原型或有原型开发工具;进行产品移植或升级。 增量模型 优点:短时间内提交部分产品,降低开发风险;留给开发人员一定的需求分析 时间;也留给用户一定的学习时间,避免较大的心里压力。 螺旋模型 主要适用于内部开发的大规模软件项目 需要有丰富的风险评估专家。 需求的定义 对用户讲是对软件产品的解释,是用户对目标软件系统在功能、行为、性能、 设计和约束等方面的期望 业务需求、用户需求和功能需求,另外还有非功能需求。 数据字典的任务是:对于数据流图中出现的所有被命名的图形元素在字典中作为一个词条 加以定义,使得每一个图形元素的名字都有一个确切的解释。 5类词条:数据流、数 据项、文件、加工、外部实体。 需求分析的过程1定义系统的边界:建立系统与其外部实体间的界限,明确接口处的 信息流。2分析需求可行性:分析每一个需求实现的可行性,确定与实现相关的开发 风险。3确定需求优先级:需求优先级有助于开发组织和版本规划。 4建立需求分析 模型:通过建立需求的多种视图,揭示出需求的不正确、不一致、遗漏和冗余等更深 的问题。5创建数据字典:确保客户和开发人员使用一致的定义和术语。 总体设计的基本任务 系统设计设计软件的结构 设计过程1.设想供选择的方案 2.选取合理的方案3.推荐最佳方案4.功能分解5.设计 软件结构6.设计数据库7.制定测试计划8.书写文档9.审查和复审 模块化就是把程序划分成独立命名且可独立访问的模块。四属性 接口;功能;状态 逻辑 作用 结构清晰可靠性高 可修改性 降低复杂度、便于分工 抽象是人类在认识复杂现象的过程中使用的最强有力的思维工具。 软件工程过程的每一步 都是对软件解法的抽象层次的一次精化。模块化的概念与抽象是紧密相关的。 模块独立 每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接 口简单 即:开发具有独立功能而且和其他模块之间没有过多的相互作用的模块,就可 以做到模块独立 耦合1无直接耦合:2数据耦合3标记耦合 4控制耦合5公共 6内容耦合 讨论1怎样从需求分析阶段的数据流图 DFD产生概要设计说明书或模块说明书? 第1步:精化DFD ;第2步:确定DFD的类型(分为变换型和事务型两类) ;第3步:分 解上层模块,设计中下层模块结构;第 4步:根据优化准则对软件结构求精。第 5步:描 述模块功能、接口及全局数据结构;第 6 步:复查,如果有错,转向第 2 步修改完善,无 错则进入详细设计。 六 详细设计 根本目标是如何实现所要求的系统,即要对目标系统进行精确描述,为编码 阶段做准备。 基本任务 1模块的算法设计 2 模块内的数据结构设计 3 模块接口设计 用户界面设计是一个迭代过程,即先创建设计模型,再用原型实现这个设计模型,并由用 户试用和评估,然后根据用户意见进行修改。 软件测试的特性:挑剔性、复杂性、不彻底性、经济性 软件测试准则( 1) 所有测试都应能追溯到用户需求( 2) 应该远在测试开始之前就制定 出测试计划。(3)把Pareto原理应用到软件测试中(4)测试应从“小规模” 开始,并逐 步进行“大规模” ( 5) 穷举测试是不可能的( 6) 为了达到最佳的测试效果,应该由独 立的第三方从事测试工作。 测试步骤 1. 模块测试(单元测试) 2. 子系统测试(集成) 3. 系统测试(集成测试) 4. 验 收测试(确认测试) 5. 平行运行 逻辑覆盖 1.语句覆盖 2.判定覆盖 3.条件覆盖 4.判定 /条件覆盖 5.条件组合覆盖

文档评论(0)

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

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

1亿VIP精品文档

相关文档