计算与软件工程作业五

扶醉桌前 提交于 2020-04-08 11:53:46

|作业要求|作业要求链接| |--|--| |我在这个课程的目标|学习软件工程的基本操作,能够自行完成作业,并能将软件工程与其他课程联系起来 |此作业在哪个具体方面帮我实现目标|看完相关的博文链接后,认真的思考文章中的内容,总结软件开发的经验等等| |参考文献|(https://www.cnblogs.com/xinz/p/3852390.html) ##软件开发过程

软件开发过程是随着开发技术的演化而随之改进的。从早期的瀑布式的开发模型到后来出现的螺旋式的迭代开发,以致最近开始兴起的敏捷软件开发,它们展示出了在不同时代的软件产业对于开发过程的不同的认识,以及对于不同类型项目的理解方法。 图片名称 ###瀑布模型 软件将要经历一个定义、开发、运行维护,直至被淘汰这样的全过程,这个全过程称为软件的生命周期。 为了使软件生命周期中的各项任务能够有序地按照规程进行,需要一定的工作模型对各项任务给予规程约束,这样的工作模型被称为软件过程模型。瀑布模型中的“瀑布”是对这个模型的形象表达,即山顶倾泻下来的水,自顶向下、逐层细化。 1.它的核心思想是将各项功能的实现与设计分开,规定了各阶段的一个自上而下的顺序,相邻的两个阶段有紧密的联系,就好比我们平时写的操作步骤,从第一个步骤开始,每个步骤都依赖于上一个步骤的结果,作为本阶段的一个输入,有很强烈的先后顺序。 2.瀑布模型对软件的每项功能在需求分析、设计时就给出了实现的具体方案,所以用瀑布模型,整个软件的设计框架很清晰,每一步也很明确,软件工作者也很清楚自己的分工。 3.任何阶段如果发生错误,立即回到前面发生错误得阶段,进行修正工作. 4.每一阶段完成后,皆会有严谨的文件产生. 5.使用者即用户只有在调查,需求分析及测试三个阶段参与. 瀑布模型的优缺点: 优点: 1) 为项目提供了按阶段划分的检查点 2) 当前一阶段完成后,只需要去关注后续阶段 3) 可在迭代模型中应用瀑布模型 缺点: 1) 在项目各个阶段之间极少有反馈 2) 只有在项目生命周期的后期才能看到结果 3) 通过过多的强制完成日期和里程碑来跟踪各个项目阶段 ###大泥球 所谓大泥球,是指杂乱无章、错综复杂、邋遢不堪、随意拼贴的大堆代码。我们现在惯用的敏捷性开发的很多方面会直接导致泥球,包括:缺少前期设计、应对需求变化过晚、应对架构变化过晚、碎片式增长。尤其是在需求导向愈发重要的今天,很多软件在发布的同时就已经过时了,大泥球也会随之产生。同时随着修改BUG,新BUG可能也会随之产生。 为什么一个系统会变成大泥球?有时,大型、丑陋的系统会从 一次性代码 中出现。废弃代码是一种快速而肮脏的代码,它只打算使用一次,然后被丢弃。然而,这样的代码通常会有自己的生命,尽管它的结构很随意,文档也很差或根本不存在。当出现相关的问题时,最快的解决方法可能是方便地修改这个工作代码,而不是从头设计一个合适的通用程序。随着时间的推移,一个简单的一次性程序会产生一个大泥球。 大泥球可能被认为是一种反模式,因为我们的意图是展示在破坏建筑的力量面前的被动是如何导致泥潭的。然而,其不可否认的受欢迎程度导致了一个必然的结论,即它本身就是一种模式。对于在软件开发环境中生成工作系统的问题,它无疑是一个普遍的、反复出现的解决方案。当一个人面对上述各种力量时,这似乎是阻力最小的道路。只有理解它的吸引力的逻辑,我们才能引导或抵消导致一个大泥球的力量。 ###总结 1、通过了解这些软件工程方法论的文章,了解到软件开发是个很复杂的过程,其间,任意一个小小的细节都会影响整个软件开发的质量,而想要提高软件开发,就必须多注意细节. 2、在进行软件开发的时候,需要真正的落实敏捷开发的理念。 3、要做好自己的事情,才能为团队贡献自己的力量.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!