软件工程基础重点.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程基础重点软件工程基础重点

软件工程概述 软件危机具体表现:1、经常性的延期,无法按时提交产品;2、无法满足用户的期望;3、很难适应环境的变化;4、产品提交后出现的问题很多;5、在项目涉及到的人群之间的沟通不畅;总结起来,其表现的征兆有:1、难管理的 2、超预算的 3、延期的或推迟提交的 4、质量很差。其原因可以用一句话来概括,就是复杂性。一直以来,软件的发展就落后计算机硬件的发展,软件的发展无法跟上硬件的快速发展以及人们日益增多的需求。因此上,迫切的需要的软件进行认真的研究,研究软件的本质、软件的度量、软件的开发方法和技术。 软件产品的质量时,是从三个方面来衡量: (1) 产品的质量。软件产品本身的质量,例如产品的性能、功能、可靠、安全等角度; (2) 过程质量。指的是开发软件产品的过程是否有质量。例如开发团队的质量、人际沟通的效率、规程的规范性等等。CMM就是衡量???程的质量。 (3) 产品在商业环境中的质量。更多的是其使用过程中用户的评价,投资回报等等。 首先来看产品本身的质量: 1、用户的观点:人机界面友好的程度,易用性和是否是以用户为中心的设计、产品的正确性等 2、开发者的观点:采用的技术是否成熟可靠?性能、可维护性、文档是否齐全、是否可测试等等 3、和产品质量标准相关的外部质量因素: 这里列出了一些软件产品质量衡量的指标: 正确性:可追踪、完整、一致; 可靠性:精确、容错 有效性:有效执行和存储 完整性:访问控制和访问审计 可用性:操作性、训练等 可维护性:简单、简明、可描述和模块化 可测试性:简单、模块化、对工具的支持 可扩展性:扩展性、通用、模块化 可重用性:简单、模块化、软件独立和机器独立 互操作性:模块化、公共数据、公共通信 过程的质量:软件产品的生产过程和其它工业界的产品的生产过程也是类似的。生产过程被分为了很多个活动,一系列的活动组成了整个生产过程。生产过程中的活动均可能影响到最终的产品质量。例如生产电视和手机等,都是严格的流水线,一旦某个环节或活动出问题,都会导致最终产品的失败,可能存在的问题是: 1、在何时何地可能找到特别的一类故障? 2、如何在开发的早期找到故障?最好是在产品出厂前。 3、如何建立一种容错机制,使得在故障变成失败之前使其发生的可能最小化?例如工业界的质量管理制度,质量员的存在等; 4、有没有一种活动可以在保障质量方面使得开发过程更加有效?质量保障活动。 主要的模型有: 1、能力成熟度模型(CMM)实际上也是一种过程指导方针; 2、软件过程改进和能力测定模型; 3、ISO9001模型 4、统一过程模型,Rational是一个公司名称,UP模型最早是该公司提出的,所以最早称之为RUP,现在讨论时更多的称之为UP模型。 商业环境中的质量:主要是投资回报率。也就是投入资金、人力去开发一个软件产品,计算其回报。计算公式如下。 通过调查,一般情况下,投资回报率的计算包括以下内容: 培训、时间进度、风险、质量、生产力、过程、用户、成本、买卖成本等。 软件工程是建立和使用一套合理的工程原则,以便获得经济的软件,这种软件是可靠的,可以在实际机器上高效的运行。 软件工程是涉及软件产品的系统化生产和维护的技术性和管理性规则,软件产品应该在成本估计的范围内,准时的被开发和修改。 软件工程是:(1)将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件。(2)在(1)中所述方法的研究。 IEEE给出的一个更全面的定义。 总结后我们可以说:软件工程是涉及到软件产品所有方面的工程化规则;软件工程师应该采用系统化和有组织的方法,使用合适的工具和技术来解决具体的问题,并考虑到开发的限制和可用的资源。 第二章 软件过程模型 1.过程的定义及特征? 通常过程都包含一组工具和技术,任何一个过程都包含下列特征:过程规定了所有主要的过程活动;过程在一组限制的情况下使用资源;过程可以被分为子过程,子过程按照一定的方法组织在一起;每个过程都有入口和出口标准;活动是按照一定顺序组织在一起的;每个过程都由一组指导原则来描述过程的目标;对每个活动、资源或产品,都有约束或控制。 软件开发过程中的不同阶段,一般包含需求分析、系统设计、程序设计、编码、单元测试、集成测试、系统测试、系统提交和维护。 2.为什么要对软件过程建模?或者说对软件过程建模有什么好处? (1) 软件过程模型可以使项目相关人员对项目中涉及到的活动、资源和限制达成共识;(2) 软件过程建模可以帮助项目组发现过程或核心部分中的矛盾或冗余之处;当这些问题被发现和纠正之后,过程才能更有效的集中注意力创建最终的产品。(3) 模型可以反映开发的目标; (4) 每个过程都是可被剪裁的,以适应具体的应用开发情况。模型可以帮助项目组理解剪裁将发生何处;(5) 每个模

文档评论(0)

ganqludp + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档