《软件工程-敏捷开发(中英文对照)教学文稿.ppt》由会员分享,可在线阅读,更多相关《软件工程-敏捷开发(中英文对照)教学文稿.ppt(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件工程-敏捷开发(中英文对照)极限编程极限编程(Extreme Programming,简称为XP)敏捷开发被认为是一种“轻量级轻量级”的方法。在轻量级方法中最负盛名的应该是“极限极限编程编程”(Extreme Programming,简称为XP)。而与轻量级方法相对应的是“重量级方法重量级方法”的存在。重量级方法强调以开发过程为中心,而不是以人为中心。Extreme Programming(XP)is a software development methodology which is intended to improve software quality and responsive
2、ness to changing customer requirements.As a type of agile software development,it advocates frequent releases in short development cycles(timeboxing),which is intended to improve productivity and introduce checkpoints where new customer requirements can be adopted.Other elements of Extreme Programmi
3、ng include:programming in pairs or doing extensive code review,unit testing of all code,avoiding programming of features until they are actually needed,a flat management structure,simplicity and clarity in code,expecting changes in the customers requirements as time passes and the problem is better
4、understood,and frequent communication with the customer and among programmers.The methodology takes its name from the idea that the beneficial elements of traditional software engineering practices are taken to extreme levels,on the theory that if a little is good,more is better.Critics have noted s
5、everal potential drawbacks 弊端弊端,including problems with unstable requirements,no documented compromises (妥协、折衷妥协、折衷)of user conflicts(争执争执),and a lack of an overall design specification or document.重量级方法呈现的是一种“防御型”的姿态。在应用“重量级方法”的软件组织中,由于软件项目经理不参与或者很少参与程序设计,无法从细节上把握项目进度,因而会对项目产生“恐惧感”,不得不要求程序员不断撰写很多“软
6、件开发文档”。轻量级方法则呈现“进攻型”的姿态,这一点从XP方法特别强调的五种价值沟通 communication,简单 simplicity,反馈 feedback,勇气 courage,尊重 respect。The values of XP:1.CommunicationBuilding software systems requires communicating system requirements to the developers of the system.In formal software development methodologies,this task is acc
7、omplished through documentation.Extreme programming techniques can be viewed as methods for rapidly building and disseminating 散播 institutional knowledge among members of a development team.The goal is to give all developers a shared view of the system which matches the view held by the users of the
8、 system.To this end,extreme programming favors simple designs,common metaphors,collaboration of users and programmers,frequent verbal communication,and feedback.The values of XP:2.SimplicityExtreme programming encourages starting with the simplest solution.Extra functionality can then be added later
9、.The difference between this approach and more conventional system development methods is the focus on designing and coding for the needs of today instead of those of tomorrow,next week,or next month.This is sometimes summed up as the you aint gonna need it(YAGNI)approach.适可而止的设计适可而止的设计 You aint gon
10、na need it or“You arent gonna need it”(acronym:YAGNI)is the principle in extreme programming that programmers should not add functionality until it is necessary.Ron Jeffries writes,Always implement things when you actually need them,never when you just foresee that you need them.The values of XP:2.S
11、implicityProponents 支持者支持者 of XP acknowledge the disadvantage that this can sometimes entail more effort tomorrow to change the system;their claim is that this is more than compensated for by the advantage of not investing in possible future requirements that might change before they become relevant
12、.Coding and designing for uncertain future requirements implies the risk of spending resources on something that might not be needed.Related to the communication value,simplicity in design and coding should improve the quality of communication.A simple design with very simple code could be easily un
13、derstood by most programmers in the team.The values of XP:3.FeedbackWithin extreme programming,feedback relates to different dimensions of the system development:Feedback from the system:by writing unit tests,or running periodic integration tests,the programmers have direct feedback from the state o
14、f the system after implementing changes.Feedback from the customer:The functional tests(aka又叫做;亦称为又叫做;亦称为(=also known as)acceptance tests)are written by the customer and the testers.They will get concrete feedback about the current state of their system.This review is planned once in every two or th
15、ree weeks so the customer can easily steer the development.Feedback from the team:When customers come up with new requirements in the planning game the team directly gives an estimation of the time that it will take to implement.The values of XP:3.FeedbackFeedback is closely related to communication
16、 and simplicity.Flaws in the system are easily communicated by writing a unit test that proves a certain piece of code will break.The direct feedback from the system tells programmers to recode this part.A customer is able to test the system periodically according to the functional requirements,know
17、n as user stories.To quote Kent Beck,Optimism is an occupational hazard of programming.Feedback is the treatment.The values of XP:4.CourageSeveral practices embody courage.One is the commandment to always design and code for today and not for tomorrow.This is an effort to avoid getting bogged down i
18、n design and requiring a lot of effort to implement anything else.Courage enables developers to feel comfortable with refactoring their code when necessary.This means reviewing the existing system and modifying it so that future changes can be implemented more easily.Another example of courage is kn
19、owing when to throw code away:courage to remove source code that is obsolete,no matter how much effort was used to create that source code.The values of XP:4.CourageAlso,courage means persistence:A programmer might be stuck on a complex problem for an entire day,then solve the problem quickly the ne
20、xt day,if only they are persistent.The values of XP:5.Respect The respect value includes respect for others as well as self-respect.Programmers should never commit changes that break compilation,that make existing unit-tests fail,or that otherwise delay the work of their peers.The values of XP:5.Res
21、pectMembers respect their own work by always striving for high quality and seeking for the best design for the solution at hand through refactoring.Adopting the four earlier values leads to respect gained from others in the team.Nobody on the team should feel unappreciated or ignored.This ensures a high level of motivation and encourages loyalty toward the team and toward the goal of the project.This value is very dependent upon the other values,and is very much oriented toward people in a team.此课件下载可自行编辑修改,仅供参考!此课件下载可自行编辑修改,仅供参考!感谢您的支持,我们努力做得更好!谢谢感谢您的支持,我们努力做得更好!谢谢