zoukankan      html  css  js  c++  java
  • 人月神话--没有银弹软件工程中的根本和次要问题(No Silver Bullet Essence and Accident in Software Engineering)

    人月神话--没有银弹-软件工程中的根本和次要问题(No Silver Bullet - Essence and Accident in Software Engineering)

     

    所有软件活动包括根本任务——打造由抽象软件实体构成的复杂概念结构,次要任务——使用编程语言表达这些抽象实体,在空间和时间限制内将它们映射成机器语言。

    现在是关注软件任务中的必要活动的时候了,也就是那些和构造异常复杂的抽象概念结构有关的部分。

    我将它们分成根本的——软件特性中固有的困难,次要的——出现在目前生产上的,但并非那些与生俱来的困难。
    一个相互牵制关联的概念结构,是软件实体必不可少的部分,它包括:数据集合、数据条目之间的关系、算法、功能调用等等。这些要素本身是抽象的,体现在相同的概念构架中,可以存在不同的表现形式。尽管如此,它仍然是内容丰富和高度精确的。
     我认为软件开发中困难的部分是规格化、设计和测试这些概念上的结构,而不是对概念进行表达和对实现逼真程度进行验证。当然,我们还是会犯一些语法错误,但是和绝大多数系统中的概念错误相比,它们是微不足道的。
     如果这是事实,那么软件开发总是非常困难的。天生就没有银弹。
     让我们来考虑现代软件系统中这些无法规避的内在特性:复杂度、一致性、可变性和不可见性。

  • 相关阅读:
    LeetCode 70
    LeetCode 81
    LeetCode 33
    LeetCode 78
    LeetCode 50
    LeetCode 34
    关于机器学习的学习笔记
    图的 DFS 与 BFS 复杂度分析
    Sqlalchemy的学习使用和常见问题
    mysql的使用和远程连接
  • 原文地址:https://www.cnblogs.com/jcode/p/1994073.html
Copyright © 2011-2022 走看看