软件工程-知识点集..docx

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

第一章:软件工程学概述软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件危机的表现形式:对软件开发成本和进度的估计常常很不准确;用户对“已完成的”软件系统不满意的现象经常发生;软件产品的质量往往靠不住;软件常常是不可维护的;软件通常没有适当的文档资料;软件成本在计算机系统总成本中所占的比例逐年上升;软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势 。软件危机的原因:与软件本身的特点有关(难于维护,逻辑复杂)与软件开发与维护的方法不正确有关软件≠程序急于求成=拔苗助长各自为阵无方法/学消除软件危机的途径:消除“软件就是程序”的错误观念软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目成功的软件开发技术和方法软件工具和软件工程支撑环境软件=程序+数据+文档软件工程:是指导计算机软件开发和维护的一门工程学科。包含有技术和管理两方面的内容。软件工程的本质特性:软件工程关注于大型程序的构造软件工程的中心课题是控制复杂性软件经常变化开发软件的效率非常重要和谐地合作是开发软件的关键软件必须有效地支持它的用户在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品软件工程方法学三要素:工具,过程, 方法。软件方法:完成软件开发的各项任务的技术方法,回答“怎么做”的问题;软件工具:为运用方法而提供的自动的或半自动的软件支撑环境;理论工具:逐步求精法、成本-效益分析法、软件度量CASE(Computer-Aided Software Engineering)计算机辅助软件工程软件过程:为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。传统方法学——强调自顶向下:传统方法学也称为生命周期方法学或结构化范型它采用结构化技术(结构化分析、结构化设计和结构化实现) 结构化范型要么面向行为(即对数据的操作),要么面向数据面向对象方法学——强调主动地多次反复迭代:把数据和行为看成同等重要,它是一种以数据为主线,把数据和对数据的操作紧密地结合起来的方法。面向对象方法=对象+类+继承+用消息通信面向对象方法学的优点:面向对象方法学的尽量模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程。面向对象方法学开发软件的过程,是一个主动地多次反复迭代的演化过程,保证了在各项开发活动之间的平滑过渡。促进了软件重用。降低了复杂性,提高了可理解性,简化了开发和维护工作。传统方法与面向对象方法比较:信息隐藏(Information hiding) 有利用维护软件使得软件开发变得容易职责驱动设计或按合同设计软件生命周期:由软件定义、软件开发和运行维护(也称为软件维护)三个时期组成,每个时期又进一步划分成若干个阶段。软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。软件过程模型:瀑布模型快速原型模型增量模型螺旋模型喷泉模型Rational统一过程敏捷过程与极限编程微软过程瀑布模型的特点:1. 阶段间具有顺序性和依赖性前一阶段的工作完成之后,才能开始后一阶段的工作; 前一阶段的输出文档就是后一阶段的输入文档。2. 推迟实现的观点对于规模较大的软件项目来说,往往编码开始得越早最终完成开发工作所需要的时间反而越长。3. 质量保证的观点每个阶段都必须完成规定的文档,是“文档驱动”的模型;每个阶段结束前都要对所完成的文档进行评审,尽早发现问题,改正错误。瀑布模型的优点:可强迫开发人员采用规范的方法;严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。瀑布模型的缺点:只能通过文档了解产品,不经过实践的需求是不切实际的。瀑布模型适用于: 需求是预知的; 软件实现方法是成熟的; 项目周期较短。快速原型模型的特点:快速原型模型不带反馈环,软件产品的开发基本上是线性顺序进行的。快速原型的本质是“快速”。应该尽可能快地建造出原型系统,以加速软件开发过程,节约成本。根据原型的不同作用,有三类原型模型:探索型原型——用于开发的需求分析阶段实验型原型——主要用于设计阶段演化型原型——用于及早向用户提交一个原型系统比较:瀑布模型试图一次就获得正确的产品快速原型频繁变化,然后废弃增量模型:把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能。增量模型优缺点:优点:能在较短的时间内,提供可完成部分工作的初步产品给用户;用户有较为充裕的时间学习和适应新产品。缺点:对开发人员技术能力要求较高,要求能从系统整体出发正确划分增量构件,并进行分别开发,最后能很好地集成这些构件。增量模型适用于:适用于需求经常改

文档评论(0)

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

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

1亿VIP精品文档

相关文档