软件工程 敏捷开发(中英文对照)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
The values of XP : 2. Simplicity
• Extreme programming encourages starting with the simplest solution. Extra functionality can then be added later. • 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 ain't gonna need it"
• Critics have noted several potential drawbacks 弊端, including problems with unstable requirements, no documented compromises (妥协、折衷) of user conflicts (争执) , and a lack of an overall design specification or document.
极限编程
(Extreme Programming,简称为XP) • 敏捷开发被认为是一种“轻量级”的方法。 • 在轻量级方法中最负盛名的应该是“极限 编程”(Extreme Programming,简称为 XP)。 • 而与轻量级方法相对应的是“重量级方法” 的存在。 • 重量级方法强调以开发过程为中心,而不 是以人为中心。
• 重量级方法呈现的是一种 “防御型” 的姿态。 • 在应用“重量级方法”的软件组织中,由于软件项目经理 不参与或者很少参与程序设计,无法从细节上把握项目进 度,因而会对项目产生 “恐惧感”,不得不要求程序员 不断撰写很多“软件开发文档”。 • 轻量级方法则呈现“进攻型”的姿态,这一点从XP方法 特别强调的五种价值 – 沟通 communication, – 简单 simplicity, – 反馈 feedback, – 勇气 courage,
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 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. Simplicity
• Proponents 支持者 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. • 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 understood by most programmers in the team.
(YAGNI) approach. 适可而止的设计 • "You ain't gonna need it" or “You aren′t 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."
– 尊重 respect。
The values of XP : 1. Communication
• Building software systems requires communicating system requirements to the developers of the system. In formal software development methodologies, this task is accomplished through documentation. Extreme programming techniques can be viewed as methods for
The values of XP : 3. Feedback
Within 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 of 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 three 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.
敏捷开发 Agile Development
被认为是软件工程的一个重要的发展。 它强调软件开发应当是能够对未来可能 出现的变化和不确定性作出全面反应的。
AM是敏捷建模者们坚持的价值观、敏捷建模者们相信的原 则、敏捷建模者们应用的实践组成的集合。 AM(敏捷建模) 是一种态度,而不是一个说明性的过程。 AM描述了一种建 模的风格。当它应用于敏捷的环境中时,能够提高开发的 质量和速度,同时能够避免过度简化和不切实际的期望。 AM is intended to be a collection of values, principles, and practices for Modeling software that can be applied on a software development project in a more flexible manner than traditional Modeling methods. AM is a kind of attitude, not a prescriptive process. AM describes a style of modeling, when used properly in agile environment, that results in better quality software and faster development while avoiding over-simplification and unrealistic expectations.
• Other elements of Extreme Programming 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 inLeabharlann Baiduthe customer's requirements as time passes and the problem is better 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.
• Extreme Programming (XP) is a software development methodology which is intended to improve software quality and responsiveness 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.