作业要求 | https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10584 |
---|---|
课程目标 | 了解软件工程方法论 |
参考文献 | https://www.cnblogs.com/xinz/p/3852390.html |
作业正文 | https://www.cnblogs.com/limin123/p/12658719.html |
生产一个大型的软件需要很多人,很多团队配合。即使一个人能力非常强,能全部搞定,也不能在短时间搞定,也不能保证工作的完美。敏捷”一词指的是软件开发的哲学。在这个广泛的保护伞下,有许多更具体的方法,如极限编程、Scrum、精益开发等等。每一种更特殊的方法都有自己的想法、社区和领导者。每个社区都是一个不同的群体,但是要正确地称为敏捷,它应该遵循相同的广泛原则。每个社区也相互借鉴各自的想法和技术。许多实践者在不同的社区之间传播不同的想法--总之,这是一个复杂但充满活力的生态系统。
极限编程
XP从五个价值观开始(沟通、反馈、简单、勇气和尊重)。然后,将这些原则阐述为14项原则,并再次纳入24项实践.其理念是,实践是团队每天都能做的具体事情,而价值观则是支撑这种方法的基本知识和理解。没有实践的价值观很难应用,而且可以以许多方式应用,以至于很难知道从哪里开始。没有价值观的实践是没有目的的死记硬背的活动。价值观和实践都是必要的,但两者之间存在着很大的差距--这些原则有助于弥合这一差距。XP的许多实践都是旧的、尝试过的和经过测试的技术,但经常被许多人遗忘,包括大多数计划中的过程。除了复活这些技术之外,XP还将它们编织成一个协同的整体,其中每个技术都被其他的技术所强化,并被价值赋予了目标。
Scrum
Scrum专注于软件开发的管理方面,将开发划分为30天迭代(称为“sprint”),并通过每天的Scrum会议应用更密切的监视和控制。它不太强调工程实践,许多人将其项目管理方法与极限编程的工程实践结合起来。(XP的管理实践并没有太大的不同。)
精益开发
制造业的精益运动是由丰田的Ohno太一开创的,通常被称为丰田生产系统。精益生产是许多早期敏捷主义者的灵感--在描述这些想法如何相互作用方面,Poppendiecks是最著名的。总的来说,我对这种类比推理非常谨慎,事实上,设计和施工之间的工程分离首先让我们陷入了这种混乱之中。然而,类比可以导致好的想法,我认为精益的想法给敏捷运动带来了许多有用的想法和工具。
软件开发过程是随着开发技术的演化而随之改进的。从早期的瀑布式(Waterfall)的开发模型到;后来出现的螺旋式的迭代(Spiral);以致最近开始兴起的敏捷软件开发(Agile);他们展示出了在不同的时代软件产业对于开发过程的不同的认识,以及对于不同类型项目的理解方法。