(整理)软件工程.docxVIP

  1. 1、本文档共33页,可阅读全部内容。
  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文档。上传文档
查看更多
(整理)软件工程

软件工程(重点)软件开发方法1、软件工程三个要素:方法、工具和过程。2、结构化方法(Structured Method):结构化方法学是一个以数据为中心的思想体系(借书业务流程)3、结构化方法基本要点:自顶向下、逐步求精通过把一个复杂问题的求解过程分阶段进行,而且这种分解是自顶向下,逐层分解,使得每个阶段处理的问题都控制在人们容易理解和处理的范围内分层业务流程图模块化设计、结构化编码。4、结构化方法缺点:与人类思维不完全一致的方式,导致生产出来的软件系统的可读性、可理解性、可复用性不高。5、面向对象方法:以对象为中心的方法。面向对象 = 对象 + 分类 +继承 +消息通信(1)接口(Interface): “方法声明(Method Signature)”的集合。(2)客户对象、服务对象以及消息传递对象通过发送消息互相通信。客户对象(Client Object): 发送消息并请求服务。服务对象(Server Object): 提供服务并返回结果。(重点)软件过程模型1.3.1 瀑布模型(结构化)一种基于里程碑的、阶段性的过程模型文档是每个阶段的成果体现每阶段需要评审输入输出简单易理解易操作适合项目特征:需求稳定、变化很小且开发人员能够一次性获取全部需求的项目;软件开发人员具有丰富经验,对于应用领域非常熟悉;软件项目本身的风险很低。缺点:1、不接受需求模糊、变更;2、错误发现太迟;3、开发进度缓慢;4、中间成果难利用;5、抗风险能力弱1.3.2 快速原型模型(需求变更)用户熟悉的是业务但不懂得开发的技术,而开发者熟悉具体的开发方法、工具等技术内容而不明白相关的业务流程。用户和开发者在试用或演示原型过程中加强沟通和反馈,通过反复评价和改进原型,减少双方的误解,降低缺陷引入的几率,降低由于需求不明确带来的开发风险和提高软件质量,获取到用户真正的需求。快速原型模型要求对系统进行简单和快速的分析,快速构造一个软件原型。原型侧重需求,不考虑采用的技术和工具适合项目特征:对现有或同类软件产品进行升级或功能完善;开发人员和用户交流困难,需求获取困难;开发人员对技术熟悉或把握性不大;具有支持快速开发的工具。缺点:1、易造成进度延误和超预算;2、需要快速建立原型的工具;3、易造成设计混乱1.3.3 增量模型(多版本开发)软件由构件组成,增加构件形成新版本适合的项目特征:待开发系统能够被模块化;软件产品可以分批次交付;软件开发人员对应用领域不熟悉,或一次性开发的难度很大;项目管理人员把握全局的水平很高;有多版本需求缺点:1有需求风险:模糊、新需求;2技术更新;3开发资源跟不上当前主流模型:原型进化;螺旋;统一过程;敏捷原型进化模型:迭代次数为2:快速原型迭代次数大于2:原型进化模型原型作为产品一部分,多次迭代后实现最终产品原型模型可以在一定程度上降低风险,但对有些风险也无能为力。需要专业的风险评估人员。1.3.4 螺旋模型(降低风险)螺旋模型即是一种引入了风险分析与规避机制的过程模型,是瀑布模型、快速原型方法和风险分析方法的有机结合。螺旋模型用螺旋线表示软件项目的进行情况,其中,螺旋线中的每个回路表示软件过程的一个阶段。最里面的回路与项目可行性有关,接下来的一个回路与软件需求定义有关,而再下一个回路则与软件系统设计有关,以此类推。适合项目特征:大型项目存在需求、设计及非技术等多种风险有充足的资源缺点:总会存在没被发现的风险;需要专业的风险评估技术或机构;复杂1.3.5 喷泉模型(面向对象)典型的面向对象生命周期模型迭代:向下箭头无缝:圆圈重叠,面向对象各阶段无明显边界1.3.6 统一软件开发过程(RUP)(完美、完整)RUP(Rational Unified Process)是Rational公司提出的基于UML的一种面向对象软件开发过程模型。基本思想:迭代式开发、管理需求、使用基于构件的体系结构、UML可视化建模、验证软件质量、控制软件变更可综合使用多种过程模型方法二维的生命周期模型9个核心工作流4个连续的阶段适合的项目特征:大型软件;用户需求无法明确或经常变更;较高管理水平的项目团队缺点:复杂;对团队要求高;增量模型:在每一个新的发布中逐步增加功能直到构造全部功能。迭代模型:一开始提交一个完整系统,在后续发布中补充完善各子系统功能。敏捷过程与极限编程(以人为本)敏捷的优势:精确;质量;速度;丰厚的投资回报率;高效的自我管理团队;敏捷开发更适合规模中小、需求变化频繁的系统开发,并且强调团队的作用,所以更适合集中式的开发模式。敏捷开发方法是一组轻量级开发方法的总称,包含很多具体的开发过程和方法。适合的项目特征:需求不确定,易变;有责任感和积极向上的项目团队;用户容易沟通并愿意参与;小于10人的团队软件项目主要岗位:第一章软件工程概论1、软

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档