计算与软件工程 作业五
计算与软件工程作业五
讨论软件开发方法的思潮
作业要求 | https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10584 |
---|---|
参考文献 | https://www.cnblogs.com/xinz/p/3852390.html http://www.adambourg.com/2015/11/10/scrum-is-the-new-waterfall/ https://www.cnblogs.com/chiuschen/archive/2013/06/26/3156142.html |
此作业在哪个具体方面帮我实现目标 | 了解软件工程方法论 深刻理解敏捷流程 |
作业正文 | 划小开发周期以及提升反馈效率。 |
软件开发
软件开发(Software development),一种用于计算机领域的根据用户要求建造出软件系统或者系统中软件部分的产品开发的过程。它是一项包括需求获取、开发规划、需求分析和设计、编程实现、软件测试、版本控制的系统工程。
软件开发包括研究、修改、复用、重新设计(再工程)、维护等活动。软件一般是通过某种或数种程序设计语言、在特定的计算机平台上实现的。通常采用软件开发工具进行开发。
敏捷方法
敏捷是指快速移动,在今天构建工作软件,并在不断变化的需求中交付。并确保UI返回正确的格式化和设计数据,并包含正确的数据。测试性能和安全性。需要编写测试降低风险,即使重构或重新设计,也可以确保系统不会崩溃。
敏捷方法的核心在于尽早交付和经常交付,可以划小开发周期以及提升反馈效率。所以敏捷方法中最为成熟的是极限编程(XP)他的特点在于尽快反馈,尽快制定总体计划,自动测试,提倡口头交流。而敏捷方法中的特征驱动开发(FDD)是一种迭代开发,每一步都强调质量,他的核心过程是开发整体模型,构建功能列表,计划功能开发,按照功能设计,最后按照构建。
亚当·布赫认为Scrum是新的瀑布,是反敏捷的。它称自己为敏捷方法或方法,Scrum永远不会是敏捷的。敏捷的过程是优先考虑人员和交互的过程和工具。他按照优先顺序对用户需求进行排序、开发,每个条目成为用户故事。其他的敏捷方法有开源,远程办公。
瀑布模型
开发就如同瀑布,从一个阶段流向下一阶段。其思想认为软件开发是一个阶段化的精确过程,每一个步骤都划分得很明确,阶段之间有明显的界线。经典的瀑布模型除了需求分析,每一个阶段,都可以有一个反馈指回上一阶段,作为修正机制。但缺陷总是无处不在,瀑布模型有了一个变体:瀑布V模型。
总之,不可轻易论断敏捷开发实践比瀑布模式之流更合适,因为当我们引入一个新的想法,我们往往要充分考虑他所带来的影响。而实际的软件项目是复杂的,没有规律可循,这会导致另一个问题 – 为了证明某种技术、实践和方法论是实际有效而收集相关数据是极度困难的,几乎不可能在脱离收集环境的情况下归纳出这些数据。
无论是敏捷方法还是瀑布模型,建立一个学习能力和适应能力都很好的组织都是非常重要的。一个软件的开发需要团队所有的人共同的来负责,每个人各司其职,在团队中找准自己的位置,共同努力,这样一个好的软件才会应运而生。