• 《人月神话》读书笔记3


    未雨绸缪

    当我们在实现某个软件的具体功能的时候,往往会出现多种多样的思路,但是对于哪一个思路能够真正的行得通就需要进行大量的不懈的开发性实验。虽然说开发性实验会造成精力的消耗,并且有可能会通过大量的测试从而将目前的方案进行否决,但是进行大量的实验是值得的。进行方案的实验,会加强开发人员的精力和信心,给用户该软件值得信赖的印象,若非如此,当正式开发的时候可能会遭遇返工危机甚至会造成拆补的混乱。正如书中所说,这世界上唯一不变的就是变化本身,唯有具备未雨绸缪的能力,才能对开发过程中未知的变化做出相应的策略改变,适应变化,而不是被变化给筛选下去。除此之外,还需要提高代码的质量和可读性,对测试过程完善,即对运营维护进行变化。

    前人的指挥告诉我们,缺陷永远存在,我们需要通过质量管理放缓系统混乱度的提高。

    干将莫邪

    软件的开发离不开工具,从软件的需求分析到系统的分析设计,再到程序的编码,构建,测试,发布和维护。都是工具给予我们的便利。我们需要善于利用工具来提高我们的工作效率和质量。

    整体部分

    面向对象编程的“封装”思想和结构化编程的“精简”思想对于整个软件开发过程的各个维度同样适应。编码时各个信息隐藏的模块需要完成各自的任务,再通过接口互相配合。整体的顺利运行离不开各个组成部分的优化。当系统出现问题,需要找到问题的发生点,这时就需要将问题在不同的模块和粒度上分解测试,最终找到问题的症结。

    没有银弹

    软件活动根本任务是打造构成抽象软件实体的复杂概念结构。在软件实现的过程我们会常常遇见一个类似与看起来很简单但是严重影响了软件质量和进度的问题。人们希望找到完美解决问题的方法。然而经过多年探索,却发现,该问题无解。于是催生了软件工程的学科对软件过程中的每个细分进行方法论的指导。在解决这个问题的过程中,人们也做了很多努力,提出了高级编程语言、面向对象编程、人工智能、专家系统、图形化系统、程序验证、工作站等方式,这些对于软件工程的发展都产生了重要的影响。

    人月是一个神话,现如今软件工程却是真实地在解决软件过程中的问题,提高软件产品的质量。研究人员和实践人员的不断探索或许永远无法一劳永逸地解决所有问题,但是从中积累地经验却能够有效地指导我们更好地应对大型软件系统的实现与管理。

  • 相关阅读:
    CodeForces 452C Magic Trick (排列组合)
    zoj 3209 Treasure Map(精确覆盖)
    POJ 1459 Power Network(网络流 最大流 多起点,多汇点)
    POJ 1273 Drainage Ditches(网络流 最大流)
    HDU Tickets(简单的dp递推)
    ZOJ 3080 ChiBi(spfa)
    URAL 1036(dp+高精度)
    最佳的 清楚浮动 clearfix
    响应式开发
    javascript 性能优化
  • 原文地址:https://www.cnblogs.com/cxy0210/p/12294204.html
Copyright © 2020-2023  润新知