计算机与软件工程 作业五

这个作业要求在哪里 https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10584
我在这个课程的目标是 学习软件工程,提高编程能力
此作业在哪个具体方面帮我实现目标 讨论软件开发方法的思潮
作业正文 https://www.cnblogs.com/zhou1231/p/12655769.htmlf

瀑布

瀑布模型(Waterfall Model) 是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来。包括软件工程开发、企业项目开发、产品生产以及市场销售等构造瀑布模型。
瀑布模型有以下优点
1)为项目提供了按阶段划分的检 查点。
2)当前一阶段完成后,您只需要去关注后续阶段。
3)可在迭代模型中应用瀑布模型。增量迭代应用于瀑布模型。迭代1解决最大的问题。每次迭代产生一个可运行的版本,同时增加更多的功能。每次迭代必须经过质量和集成测试。
4)它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。
瀑布模型有以下缺点
1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。
3)通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
4)瀑布模型的突出缺点是不适应用户需求的变化。

大泥球

大泥球 ,是指杂乱无章、错综复杂、邋遢不堪、随意拼贴的大堆代码。这些年来,为了对付这个泥球,我们看到了多种指导方法,比如SOLID 、GRASP 和KISS ,与其他诸多年代久远的、提倡高内聚、低耦合的方法一起出现。然而,实际情形没多大变化,“大泥球”看起来仍然是设计软件架构的最常见方法。
大泥球发生的主要原因可以归结为:
1)一次性代码
2)碎片式增长
3)为了让软件不出问题
4)Copy/paste导致问题转移(有问题的代码被复制到很多地方,不断蔓延)

银弹

面向对象(Object Oriented)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。
面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。

敏捷方法

敏捷方法是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力。它们的具体名称、理念、过程、术语都不尽相同,相对于“非敏捷”,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发中人的作用。

总结

软件开发是个较复杂的过程,是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。学习了这么久,我们学了好几门语言,但光会理论知识还不行,我们要运用到实际操作中。软件开发者要树立精益求精,稳步增加价值,形成专业人员的社区,建立卓有成效的伙伴关系的价值观,要建立一个学习能力和适应能力都很好的组织。

原文地址:https://www.cnblogs.com/zhou1231/p/12655769.html