zoukankan      html  css  js  c++  java
  • 计算与软件工程作业五

    作业要求 https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10584
    课程目标 讨论软件开发方法
    此作业在哪个具体方面帮我实现目标 阅读有关软件工程方法论的文章
    作业正文 https://www.cnblogs.com/li-lingling/p/12652104.html

    瀑布模型
    瀑布模型的其核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。瀑布模型将软件生命周期划分为软件计划、需求分析和定义、软件设计、软件实现、软件测试、软件运行和维护这6个阶段,规定了它们自上而下、相互衔接的固定次序,如同瀑布流水逐级下落。瀑布 模型有利于大型软件开发过程中人员的组织及管理,有利于软件开发方法和工具的研究与使用,从而提高了大型软件项目开发的质量和效率。而对于我们这种较小规模的软件开发项目,瀑布模型并无裨益。

    大泥球模型
    大泥球就是指一个结构混乱不堪,代码逻辑混乱的系统,这种系统经常需要不停地维护。大泥球系统中信息的交互是混乱的,距离很远的组件也可能有信息交互,这就造成系统的复杂度增大。系统中的代码似乎没有考虑过二次使用,使用一次后就丢弃,从观察者的角度看这种做法的确很不明智,然而,这种现象是经常发生的,甚至我自身也有这种情况 。这种dirty code会侵蚀(erode)原有的健康的系统架构,导致我们继续用dirty code去修复前面的dirty code产生的bug,形成一个恶性循环,最终一个大泥球就产生了。

    大教堂模型
    在大教堂模型中,每一个版本的源代码都是可以被用到的,但是在不同版本间的已经开发好的代码被限制在一个专有的软件开发团队中。

    集市模型
    在集市模型中,代码的开发是通过互联网以大众的视角来开发的

    总结
    现代软件工程方法论大致可以分为重方法论和敏捷方法论两大阵营,在很多书籍中将它们之间的区别总结为"文档量"的重与轻,实际上有些以偏盖全。如果从对开发工作的影响角度看,它们之间更重要的区别在于:重方法论更加强调前期设计,为未来设计;而敏捷方法论则更加强调只为现在设计,未来再重构它。而就是这个最为本质的区别才是根据项目实际特点进行正确选择的基础。
    在软件技术的发展道路中,方法论起着决定性的作用。软件技术人员有必要站在哲学的高度、从方法论的角度,重新审视软件开发过程中各个环节,深刻体会软件工程和方法论的联系,从而改进和发展的现有的软件工程技术,消化吸收先进的思想、方法和技术,提高软件的质量和生产率,以适应现实世界对软件产业新的要求。软件工程应运而生。为了更好地发展和改进软件工程技术,我们有必要从方法论的各个角度分析软件工程的方法、工具和过程,从而有的放矢地改进软件工程中各个过程的思想、方法、模式和规则。

  • 相关阅读:
    Linux 下的类似Windows下Everything的搜索工具
    windows和linux环境下制作U盘启动盘
    程序调试手段之gdb, vxworks shell
    LeetCode 1021. Remove Outermost Parentheses (删除最外层的括号)
    LeetCode 1047. Remove All Adjacent Duplicates In String (删除字符串中的所有相邻重复项)
    LeetCode 844. Backspace String Compare (比较含退格的字符串)
    LeetCode 860. Lemonade Change (柠檬水找零)
    LeetCode 1221. Split a String in Balanced Strings (分割平衡字符串)
    LeetCode 1046. Last Stone Weight (最后一块石头的重量 )
    LeetCode 746. Min Cost Climbing Stairs (使用最小花费爬楼梯)
  • 原文地址:https://www.cnblogs.com/li-lingling/p/12652104.html
Copyright © 2011-2022 走看看