• 【先验知识归纳】没有银弹——伴随软件工程的长期问题


    本文参考:没有银弹

    '没有银弹'的含义:

    没有任何一种单纯的技术或管理上的进步,能够独立地承诺在十年内大幅度地提高生产率、可靠性和简洁性。

    软件工程中的根本问题和次要问题

    根本任务-设计:打造构成抽象软件实体的复杂概念结构
    次要任务-实现:使用编程语言表达这些抽象实体,在空间和时间限制内将它们映射成机器语言

    没有银弹更多的是指设计上的困难(也就是架构师的工作)

    根本问题为什么那么困难?

    • 抽象与复杂性:‘抽象方法’的存在使复杂度成为了软件的根本属性。做好抽象后,我们很难再使用某一个模型或方法来进一步降低软件的复杂度。
    • 对维护的需求:软件需要紧跟需求,持续不断地维护和变更

    解决这些问题的一些尝试

    • 少开发,多复用:从业务层面来看,就是多购买/复用现成的优秀软件,而不是自己去从头开发。因为软件的复制成本远低于开发成本。
    • 快速原型,增量开发,敏捷开发
    • 重视设计:培养卓越的设计人员可以大大降低软件的开发成本。
  • 相关阅读:
    设置cookie,读取cookie案例
    npm常用命令及版本号浅析
    nrm安装与使用
    ES6解构赋值
    nodemon 基本配置与使用
    nodejs开发辅助工具nodemon
    Node自动重启工具 nodemon
    深入浅出Object.defineProperty()
    js原生缓慢返回顶部函数封装
    The linux command 之权限
  • 原文地址:https://www.cnblogs.com/lokvahkoor/p/10500748.html
Copyright © 2020-2023  润新知