计算与软件工程 作业五

作业五

作业要求 https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10584
课程目标 代码规范复审和两人合作结对编程
实现目标 代码运行,寻找bug
参考文献 https://blog.csdn.net/weixin_43936464/article/details/84779924

瀑布模型

瀑布模型是最早出现的软件开发模型,在软件工程中占有重要的地位,它提供了软件开发的基本框架。瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。

瀑布模型的优点:
(1)为项目提供了按阶段划分的检查点。
(2)当前一阶段完成后,您只需要去关注后续阶段。
(3)可在迭代模型中应用瀑布模型。
(4)它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。
瀑布模型的缺点:
(1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
(2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。
(3)通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
(4)瀑布模型的突出缺点是不适应用户需求的变化。

银弹

在民间传说中最恐怖的是“人狼”,而银弹就是消灭人狼的武器。如今一些软件就如同人狼,看似简单,实际上开发起来远远超出了预期的时间和成本,而现如今还没有一个“银弹”可以是软件成本下降。

敏捷

敏捷软件开发方法体系主要包括:SCRUM、XP(极限编程)、CRYSTAL(水晶编程)、PPD(特性驱动开发)等。
敏捷开发的优点是轻量级、简单、可快速交付、最大的特点是高度透明、检验和适应,注重开发团队之间以及开发团队与客户的及时沟通,主张响应需求变化,但是不够系统。

大泥球

大泥球,是指杂乱无章、错综复杂、邋遢不堪、随意拼贴的大堆代码。我们现在惯用的敏捷性开发的很多方面会直接导致泥球,包括:缺少前期设计、应对需求变化过晚、应对架构变化过晚、碎片式增长。尤其是在需求导向愈发重要的今天,很多软件在发布的同时就已经过时了,大泥球也会随之产生。同时随着修改BUG,新BUG可能也会随之产生。

总结

软件开发是个较复杂的过程,是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。软件开发者要树立精益求精,稳步增加价值,形成专业人员的社区,建立卓有成效的伙伴关系的价值观,要建立一个学习能力和适应能力都很好的组织。在学习软件开发的过程中,一定要亲自动手操作,不能纸上谈兵,没有亲身实践的过程永远无法真正的做到灵活运用知识.

原文地址:https://www.cnblogs.com/wangyan1067/p/12658596.html