软件工程重点归纳 [2].docVIP

  1. 1、本文档共21页,可阅读全部内容。
  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文档。上传文档
查看更多
第一章 什么是软件? 软件是一系列按照特定顺序组织的计算机数据和指令的集合,包括程序、数据和文档。 什么是软件危机? 软件危机泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。例如开发成本预估不足、进度比计划拖延、没有文档、用户不满意等等。 什么是软件工程? 软件工程主要研究软件生产的客观规律性,建立与系统化软件生产有关的概念、原则、方法、技术和工具,指导和支持软件系统的生产活动,以期达到降低软件生产成本 、改进软件产品质量、提高软件生产率水平的目标。 软件工程的目标: 软件工程的目标是在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。 软件工程方法学包含3个要素:方法、工具和过程。 软件开发方法的定义:是指产生某些结果的形式化过程 好的软件的一些主要衡量指标: 三种方式考虑质量: 产品的质量 过程的质量 商业环境背景下产品的质量 McCall 的质量模型。: 效率、正确性、可靠性、完整性、互联性、灵活性、可使用性、可维护性、可测试性、可移植性、可复用性。 第二章 什么是软件生命周期? 软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存期。当过程是在开发软件产品时,把这种软件开发过程称为软件生命周期。 主要分为哪些阶段? (1)问题定义 (2)可行性研究与计划 (3)需求分析 (4)总体设计 (5)详细设计 (6)实现 (7)集成测试 (8)确认测试 (9)使用和维护 (10)退役 需求分析的定义: 需求分析用于确定用户对待开发软件系统的需求,包括:软件的功能、软件的性能和软件的运行环境约束。 典型的软件开发过程模型的特点(优缺点)及要求: 1、★瀑布模型:(P35) 特点:一个开发阶段必须在另一个开发阶段开始之前完成,它从一种非常高层的角度描述了开发过程中进行的活动,并且提出了要求开发人员经过的事件序列。 优点:有助于帮助开发人员布置他们需要做的工作,它的简单性使得开发人员很容易向不熟悉软件开发的客户做出解释。它明确说明,为了开始下一阶段的开发,哪些中间产品是必需的。 缺点:1、最大的问题是不能反映实际的代码开发方式。 2、在系统开发之上强加了一种项目管理结构。 3、对于处理开发过程中可能出现的产品和活动变化,没有 提供相关指导。 没有把软件开发看作一个问题求解的过程。 没有说明创建最终产品过程中所需的往返活动的任何特有信息。 V模型 特点:V模型是瀑布模型的变种,它说明测试活动是如何与分析和设计相联系的。编码在顶点,分析和设计在左边,测试和维护在右边。V模型关注的是活动和正确性。 优点:使得隐藏在瀑布模型中的迭代和重做活动更加明确。 ★原型化模型(P37) 特点:原型化模型允许开发人员快速构造整个系统或系统的一 部分以理解和澄清问题。它需要对需求或设计进行反复调查以确保开发人员、用户和客户对需要什么和提交什么有一个共同理解。 优点:1、有助于开发人员评价可选的设计策略以及决定对于特 定项目哪一种策略是最好的; 2、对于验证和确认很有用。 3、减少开发中的风险和不确定性; 缺点:1、 为了使原型尽快的工作,没有考虑软件的总体质量和 长期的可维护性。 2、 为了演示,可能采用不合适的操作系统、编程语言、 效率低的算法,这些不理想的选择成了系统的组成部 分。 3、 开发过程不便于管理。 分类:探索型原型、实验型原型和演化型。 ★增量和迭代(P39) 增量开发:需求文档中指定的系统按功能划分为子系统,每次新的发布增加新功能。 迭代开发:一开始提交完整系统,提供基本功能,每次新的发布对功能进行完善。 增量和迭代:2种结合起来。 特点:系统其余部分还在开发的同时,用户已经获得了一部分功能,产品系统和开发系统并行运行。 优点:1、缩短循环周期,使系统可以一部分一部分交付; 2、开发人员能够通过观察某些功能如何执行,从而很好 对用户的反馈做出反应; 3、可以及早为那些以前从未提供的功能开拓市场; 4、经常性发布能够全面快速修复运行系统出现的问题; 5、针对不同版本,开发团队可以将重点放在不同的专业领域技术上。 极限编程的特点: 交流: 保持客户和开发者的交换看法 简单性: 选择简单设计和实现 勇气: 尽早并经常性交付功能(敢于承诺并信守诺言) 反馈: 开发过程中各种活动循环 第三章

文档评论(0)

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

分享好文档!

1亿VIP精品文档

相关文档