zoukankan      html  css  js  c++  java
  • 《人月神话》读后感(三)

    《人月神话》这本书已经读完了,下面给我留下很深印象的就是“银弹”人狼的引例了.

    "没有银弹-软件工程中的根本和次要问题" 软件活动的根本任务:打造由抽象软件实体构成的复杂概念结构;次要任务:使用编程语言表达这些抽象实体,在空间和时间限制内将它们映射成机器语言。人狼,这种民间传说中存在的怪物,会在月圆之夜由我们熟悉的人类面孔变成可怕的狼脸。我们熟悉的软件项目也有着人狼的特性,看似简单明了的外表,但是却可能随时变成一个进度落后、超出预算、存在大量缺陷的怪物。在民间传说中对付人狼唯一可靠的武器就是银弹。所以银弹在软件项目中就是比喻这种使得软件成本像计算机硬件成本一样迅速降低的尚方宝剑。但是,近十年来,我们仍未发现银弹的踪迹。没有任何技术或者管理上的进展。但是我们可以从Ada 和其他高级编程语言,面向对象编程,层次化类,人工智能,专家系统等方面发现银弹的踪迹。

    软件开发中困难的部分是规格说明、设计和测试这些概念上的结构,而不是对概念进行表达和对现实逼真程度进行验证。

    我们现代的软件工程中通过高级语言、分时系统、面向对象程序设计、使用开源库、敏捷开发等新的理论实践不断在克服软件开发中的次要困难,同时也减轻了一些根本困难。但始终不能消除软件复杂度这样的根本性困难。因为随着软件工具能力不断的提升,软件开发中需要面对的复杂度其实也是在不断提升的。所以,我们在软件生产效率上的提升需要的是逐步的进步,而不是期待一个一蹴而就的突破。研究人员和实践人员的不断探索或许永远无法一劳永逸地解决所有问题,但是从中积累地经验却能够有效地指导我们更好地应对大型软件系统的实现与管理。
    这本书到这就告一段落了,他更多的是影响我们的思维,思维的优化对我们以后的学习工作是十分重要的,每一个章节之间看似没有联系,其实这些章节讲的就是从一个项目的出现到项目完美的结束,我们所需要的注意到的事情,还有就是如何去解决工程中出现的问题,以及团队作业时分工的重要性,以及每个部分的不可或缺性。读了这本书自我觉得可以减少很多以后编程中出现的问题。
  • 相关阅读:
    H5前端上传文件的几个解决方案
    MyEclipse和Eclipse各个版本的汉化破解(包括7.59.0和Eclips的ehelios、indigo各版本)
    学习C#中的事件和委托
    JS学习笔记(一)JS处理JSON数据
    图解Eclipse开发C++、C语言的配置过程使用CDT和MinGw
    ASP.NET使用C#实现的最简单的验证码方法
    微信公众号支付|微信H5支付|微信扫码支付|小程序支付|APP微信支付解决方案总结
    PHP开发笔记(二)PHP的json_encode和json_decode问题
    C博客作业00——我的第一篇博客
    extern "c"
  • 原文地址:https://www.cnblogs.com/zzmds/p/12247793.html
Copyright © 2011-2022 走看看