`
yangfengby
  • 浏览: 1407 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
最近访客 更多访客>>
社区版块
存档分类
最新评论

软件开发沉思录<一>

阅读更多

《软件开发沉思录》


1. 最后一英里

1.1 理解问题

      从商业的角度来说,之所以要开发一套新的软件,是因为它能够创造更多业务价值。但是如果下列情况之一发生的话,开发新软件反而会得不偿失:

  • 新的软件无法负载业务模式所需的用户量或交易量;
  • 新的软件破坏了遗留数据库中的数据;
  • 新的软件出现无法预期的错误,或者导致遗留系统变得不可靠;
  • 新的软件把敏感数据暴露给了不可信的用户;
  • 新的软件使恶意用户能够进行未授权的操作。     

      新软件给现有业务带来的风险很可能超过它能够提供的价值,所以很自然地,公司越大,在引入新软件时就必须越发小心。这也就导致了旧系统和过时的技术堆积在产品环境中,而不是被替换掉。而与这些堆积的遗留系统集成这一难题又会增加引入新软件的成本与风险。于是这就成了一个恶性循环。

      这个恶性循环使得企业越来越难以改变业务模式,因为做出改变的成本与风险越来越高。没有技术包袱的新公司或许可以在一段时期内将老迈的对手甩在身后,但最终它们自己也会走上同样的衰老之路。

 

2. 语言的盛景

 

2.1 编程泛型

 

      一般而言,编程泛型包括命令式、过程式、函数式、面向对象式、声明式以及逻辑式。

 

类别 定义 实例
命令式 修改内存状态的语句序列 Fortran,汇编
过程式 通过过程(即一组语句)组织程序 C,Pascal,Cobol
面向对象式 通过对象组织程序 Smalltalk,Java,Ruby
函数式 通过无状态函数组织程序 Lisp,Scheme,Haskell
逻辑式 通过公理和推演规则表述期望结果的特征 Prolog,OPS5
声明式 描述解决方法而不是如何实现解决方法 XSLT,SQL,Prolog
分享到:
评论

相关推荐

    软件开发沉思录 ThoughtWorks文集

    本书对当前软件开发中存在的问题进行了广泛的探讨。包括公司创始人 roy singham在内的许多 thoughtworks员工参与到了这本文集的编写工作中,他们针对如何在软件开发生命周期中提高效率提出了多种可行性建议,内容...

    软件开发沉思录:ThoughtWorks文集

    本书对当前软件开发中存在的问题进行了广泛的探讨。包括公司创始人 Roy Singham在内的许多 ThoughtWorks员工参与到了这本文集的编写工作中,他们针对如何在软件开发生命周期中提高效率提出了多种可行性建议,内容...

    软件沉思启示录

    首先,从《软件开发沉思录_IT168文库.pdf》中,我们可以深入探讨以下几个关键知识点: 1. **敏捷开发**:ThoughtWorks是敏捷开发的倡导者,书中可能会介绍敏捷方法如Scrum和Kanban的实践,强调迭代和适应变化的重要...

    《软件管理沉思录》读书笔记1

    《软件管理沉思录》是一本深入探讨软件工程领域管理问题的著作,由业界权威人士撰写。本书的核心内容包括项目管理、团队建设、个人管理以及软件质量保证等多个方面,旨在帮助读者提升软件开发项目的成功率。 在项目...

    MF1832132任贵杰软件管理沉思录读后感1

    《软件管理沉思录》是一本深入探讨软件开发与管理的书籍,对于提升软件质量以及团队协作有着独到的见解。书中的核心观点强调了软件质量管理的重要性,提出了确保高质量软件的八个步骤,以及构建高效团队的关键要素。...

    软件管理沉思录——读后感

    传统的软件测试方法已经无法完全满足现代软件开发的需求。 - **面对的挑战:** - 当前的软件质量面临着诸多挑战,尤其是在缺陷管理方面。缺陷不仅限于那些能够引发系统崩溃的严重错误,还包括任何不符合预期功能的...

    《软件管理沉思录》读书笔记_MF1632020_管登荣1

    《软件管理沉思录》是一本深入探讨软件工程领域管理问题的著作,由行业权威人士撰写。该书的核心内容围绕项目管理、团队建设和个人职责展开,旨在提升软件开发团队的效率和产品质量。 在项目管理方面,作者强调了...

    c++沉思录.pdf c++学习的必备数据,

    C++的设计理念是提供高效、灵活且强大的编程能力,适用于各种不同的应用场景,如系统软件开发、游戏引擎开发、嵌入式系统开发等领域。 ### 《C++沉思录》内容概览 #### 1. C++基础概念 - **数据类型**:C++提供了...

    Nginx沉思录.docx

    【Nginx沉思录】 本文是对Nginx Web服务器的深入探讨,作者在阅读...作者的沉思录不仅是对Nginx技术的剖析,也是对软件工程领域的一次深入反思,提醒我们在编程时不仅要追求功能实现,更要注重代码的可读性和维护性。

    PHP沉思录之三.pdf

    【标题】:“PHP沉思录之三.pdf”可能是一本探讨PHP编程深入理解与实践的书籍或文档,属于IT技术领域,特别是Web开发方向。PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,尤其在服务器端编程中占有...

    设计模式沉思pdf

    总之,《设计模式沉思录》是一本对软件开发人员极具价值的资源,无论你是初学者还是经验丰富的开发者,都能从中受益匪浅。通过深入研读这本书,你将能够更好地应对软件设计的挑战,提升自己的编程技艺,并为团队合作...

    论设计模式在软件开发中的应用

    设计模式是软件开发中一个非常重要的概念,它提供了一种提炼子系统或软件系统中的组件的纲要设计。设计模式描述普遍存在的在相互通讯的组件中重复出现的结构,这种结构解决在一定的背景中的具有一般性的设计问题。 ...

    《人月神话》读书笔记_MF1632020_管登荣1

    综上所述,《人月神话》是一本深度探讨软件项目管理的书籍,它提供的见解对于任何参与软件开发的人都具有深远的指导意义。通过理解并应用书中的原则,可以更有效地管理复杂项目,避免常见的陷阱,提高项目的成功率。

    对C++的特点,类和继承,STL与泛型编程,库的设计等沉思录

    ### C++的特点 C++是一种静态类型的、编译式的、通用的、大小写敏感的、不仅...对于想要深入了解这些主题的读者来说,《对C++的特点,类和继承,STL与泛型编程,库的设计等沉思录》无疑是一本非常有价值的参考书籍。

    C++沉思/C++编程思想

    通过学习这两本书,读者不仅可以熟练掌握C++语言,还能培养出良好的编程思维,提高软件开发的效率和质量。 总的来说,无论是对C++初学者还是经验丰富的开发者,这两本书都提供了宝贵的洞察和指导。通过深入阅读并...

    软件需求确认书.docx

    第一条 完成项目需求调研后,避免项目后期出现超出合同范围的需求,项目初期需同用户就所调研的软件需求进行确认。 第二条 需求确认书由项目经理/第一负责人同用户代表签订,一式两份,签订 后交由部门经理统一保管...

    c++沉思,非常经典呀

    《C++沉思录》是一本深受欢迎的C++编程指南,它以其深入浅出的讲解方式和对C++核心概念的透彻分析而著称。这本书旨在帮助读者理解C++语言的内在机制,提升编程技能,从而更好地利用C++进行软件开发。以下是基于这个...

Global site tag (gtag.js) - Google Analytics