欢迎来到天天文库
浏览记录
ID:34380929
大小:486.37 KB
页数:16页
时间:2019-03-05
《软件方法与过程复习资料》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Lecture00软件开发过程是什么软件过程是从软件项目需求定义开始直至软件使用后被废弃为止,跨越整个软件生存期内的系统开发、运行和维护等全部活动及相关项的总和。软件工程三个要素:方法、过程、工具软件方法与过程?相对于技术来说,重要吗?相对于技术来说,软件方法与过程更重要。伴随着软件危机的出现和渐渐解决,软件开发方法发挥越来越重要,现在的软件开发,绝不可能再凭个人技术,而要借助一整套科学、先进的开发方法和智能、自动化并大大减轻开发人员繁琐和重复劳动的工具。这也是软件危机渐渐消除的重要原因。软件开发过程的实现最重要的是:人Lecture01Agile一个软件项
2、目失败(Asoftwareprojectfailedif……)1.发布延迟2.超过预算3.漏洞百出(残存错误)传统的软件开发方法没有能够解决软件危机1.WaterfallModel,瀑布模型2.SpiralModel,螺旋模型3.PrototypeModel,原型法4.IncrementModel,增量法Asoftwareengineer’sjob1.Makeaworkingplan,制订可行计划2.Carryouttheplan,实现这个计划3.Tryhis/herbesttoproducehigh-qualityproducts,尽力提高产品质量3key
3、aspects1.Qualityproducts,高质量产品2.Expectedcosts,合理花费3.Onagreedschedule,可行日程计划SummaryofPSP1.PSP为工程师改进工作提供了一套模板2.评估与计划→跟踪与反馈→改进质量3.尽管改进质量的方法需要时间去学习和练习,但它会给你的软件工程经历带来帮助4.确立目标→控制质量→理解过程→改进并重用过程→控制并分析结果→循序渐进改进个人能力5.认同你的工作。敏捷软件开发宣言的主要内容是什么?1.个体和交互胜过方法和工具。2.可工作的软件胜过面面俱到的文档3.与客户合作胜过合同谈判4.响应变
4、化胜过遵循计划理解敏捷软件开发的原则1/161.尽早地让客户看到可用的东西(部分或简单的系统);2.变更无时不在,即使是后期。响应需求变更使敏捷过程为客户创造竞争优势;3.更频繁地交付可工作的软件,几周到几个月都行;4.客户和开发人员的交流与合作应贯穿整个开发过程;5.人是最重要的因素,应充分激励和调动个人的斗志,并给予充分信任;6.最好的交互方式是面对面地交流以传递信息;7.衡量工作进度的标准是可工作的软件;8.敏捷过程是一个可持续的过程,应合理安排工作时间,保持开发进度;9.优秀个人技术和好的设计会增加敏捷能力;10.尽量使用简单的技术实现功能;11.最
5、好的架构、需求和设计出自自组织团队;12.不时反省团队的工作,调整工作方法,更大地发挥团队力量;Lecture02XP理解XP的价值观:内容、关系1.内容:1)沟通2)简单3)反馈4)勇气2.关系1)沟通支持勇气,因为它带来了高风险、高回报的试验的可能性。2)简单支持勇气,因为有了一个简单的系统,你可以比以前勇敢得多,你无意中将其破坏的可能性也大大减少。3)勇气支持简单,因为只要你有可能简化系统,你就会尝试。4)反馈支持勇气,因为如果你按下按钮就能够看到测试结果通过(或不通过,这时你可以将代码扔掉),那么即使对代码进行根本的改动你也会感觉安全得多。Basic
6、PrinciplesofXP(5点)基本原则1.Rapidfeedback,快速反馈:短期迭代,反馈快速检验前期工作是否满足客户需求;2.Assumesimplicity,假定简单:尽量使用简单的技术和方法来解决问题,满足现阶段需求即可;3.Incrementalchange,递增改变:使用一系列小的改变更解决问题,不是大刀阔斧;4.Embracingchange,拥抱变更:包容变更5.Qualitywork,优质产品:注重质量,不可因时间而放弃质量XP的项目过程包括哪6个阶段?1.ExplorationPhase,探索阶段:获得客户故事、熟悉开发环境、验证
7、可行性;(几周到几个月);2.PlanningPhase,计划阶段:确定故事卡片开发顺序、和客户达成性能协议、初步估计工作量、估计开发进度表(几天);3.IterationstoReleasePhase,迭代至产品发布:几次迭代、细分进度表、首次迭代建立系统整体结构、由客户决定每次迭代完成的故事、客户测试在迭代后2/16期进行、最后一次迭代时系统进入生产化阶段(每次迭代1至4周);4.ProducingPhase,生产化阶段:交付前进行测试和检查、决定是否响应变更、记录推迟的想法和建议(1至3周);5.MaintenancePhase,维护阶段:交付第一版后
8、,保证产品正常运行的同时,推出新特性、加入新人,团队
此文档下载收益归作者所有