计算与软件工程 作业五

计算与软件工程

作业要求 https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10584
课程目标 在学习过程中加强实践能力的培养与软件工程思想的思考
该次作业在程序效能方面实现我的目标 挑选几篇关于软件工程方法论的文章,仔细阅读(包括相关的讨论),根据你的软件工程经验分享你的看法
参考文献 https://www.cnblogs.com/xinz/p/3852390.html https://www.cnblogs.com/xinz/p/3852390.html https://blog.csdn.net/pan_tian/article/details/17392883?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task https://www.ituring.com.cn/article/9363
本次作业 https://www.cnblogs.com/Rachelee/p/12617747.html

作业

迄今为止,我们了解了不少软件工程的方法论。请从下表挑选几篇关于软件工程方法论的文章,仔细阅读(包括相关的讨论),根据你的软件工程经验分享你的看法。
https://www.cnblogs.com/xinz/p/3852390.html

方法论
(1)演化模型:考虑到项目开发的初始阶段人们对软件的需求认识常常不够清晰,因而使得开发项目难以一次成功,出现返工再开发在所难免。因此,可以先做试验开发,探索可行性,弄清软件需求;然后在此基础上获得较为满意的软件产品。通常把第一次得到的试验性产品称为“原型”。
(2)螺旋模型:对于复杂的大型软件,开发一个原型往往达不到要求。螺旋模型将瀑布模型与演化模型结合起来,并且加入两种模型均忽略了的风险分析。螺旋模型沿着“戴明循环法”的循环螺线旋转,沿螺线自内向外每旋转一圈便开发出更为完善的一个新的软件版本。
(3)喷泉模型:喷泉模型对软件复用和生存周期中多项开发活动的集成提供了支持,主要支持面向对象的开发方法。系统某个部分常常重复工作多次,相关功能在每次迭代中随之加入演进的系统。在开发活动,即分析、设计和编码之间不存在明显的边界。
(4)智能模型:基于知识的软件开发模型,它综合了上述若干模型,并把专家系统结合在一起。该模型应用基于规则的系统,采用归约和推理机制,帮助软件人员完成开发工作,并使维护在系统规格说明一级进行。
(5)演化模型,螺旋模型、喷泉模型、智能模型的进步之处在于都考虑了人们认识表达过程的反复特性,借鉴了系统论的系统方法,较好地支持了项目的评估和演进,并针对应用的特点组织了软件生存期的各个环节。

总结
方法论的特点不可忽略,可以帮助程序员整理语言数据;引发思考,有效解决凌乱问题;充实计划;防止遗漏、疏忽;使有关人员了解,促使有关人员的协助;确实表达过程。软件工程方法体系是由发现现实问题到抽象化问题再到建立模型最后到结局问题,抽象原则给出软件工程问题求解全过程的最基本原则,体系规范原则是规范整体解题思路及解决方案的验证,局部规范是规范解决模块、组件等局部问题的原则。我认为方法论是作为软件工程的一个结果,在软件工程中可以根据特定的环境制定不同的方法论。我们学软件工程的意义在于把它拿到实践中去,每一套成功的理论都有其存在的理由,单纯的下个结论并不能说明什么。也许正是每个人多在实践中体会它,试想,如果软件工程刚刚开始就是一个方法论的话,所有的工程只需要按照这个方法去做就可以成功了,可是实际情况不是这样。每个公司都有自己的方法论,每个行业都有自己的方法论,而软件工程是凌驾在方法论之上的。它是众多方法的抽象,包含着成功的和失败的抽象。当你百分之百地依赖于某一方法论时,你就只会用一种方法去看世界了。 譬如李松峰老师写的一篇文章《有人负责,才有质量:写给在集市中迷失的一代 》。"所谓质量,只有在某人对它负责时才有意义,而这个“某人”只能是一个人"。 努力迅速无错的制造轮子, 你就可以对所有部分的质量负责。 去掉无所谓的依赖。 保持简洁。 当你想要一个特性时,自己写一个, 而不是去找一个现成的将就。就可以避免臃肿的系统了。总之,为了规范软件开发过程,理论都有局限性,灵活的运用思想才能更完美。

posted @ 2020-04-07 10:17  LL-L  阅读(136)  评论(0编辑  收藏  举报