读《大道至简》第七章·第八章感想

         第七章 现实中的软件工程     

   第八章 是思考还是思想

    软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。

    在现代社会中,软件应用于多个方面。典型的软件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,也提高了工作效率和生活效率 。

    业界现在一般通过互相制衡,各自有各自的算盘,借助对手来削弱对手的实力或者补充其实力。每个高地位,将承受相同的风险与压力。机会也包含。大多数人只是一枚计算胜负的算子。大公司间相互制衡,形成了如今的软件业界的格局,他们精打细算,为的不只是软件实现,他们的最终目的是在整个软件工程体系中的全面胜出。

    软件工程=过程+方法+工具。工程成功的真正关键,并不在于你把你的团队“组织”得多好。即使在团队中他们都表现得有条不紊,你一样会面临失败。一种人本化、共有的团队特性与气质,一种契约型的团队组织结构和领导风格,一些以“解决问题”为中心的思想方法,极限实质上是使团队遵循这些“行为准则”的一些“形式化方法”。当然,极限在对一些工程要素的权衡上,也给出了建议和实践成果

    语言是沟通的工具,它们的使用目标是沟通,而不是别的什么用途。在工程中,使用一门语言的前提是:能够被大多是人理解。学习任何一种新的编程方法,你需要做的仅仅是回到工程最核心的环节:程序算法+结构+方法。抛开实现的技术细节不论,在工程中,“以什么驱动开发”其实是一个过程的问题。而你应该明白,过程的选择(或制定)取决于你的工程需要,以及它在相关应用领域的适用性、过程工具的充备性和这个过程理论的完善程度,而不是大公司的鼓吹。

    如果原定的目标(的整体)本身就过大,那么无论如何平衡这三者之间的关系,其结果仍旧保障不了质量。大多数人就盲目地使用着技巧和方法,而一旦出了问题,则归咎于这些技巧和方法的不好,而真正的问题在于,这些人并不知道这些技巧、技术和方法的原理,因而不知道变通,也不知道回避错误。

    最后,软件开发并不是一成不变的死板的工程,有的细枝末节的问题是可以忽略的,灵活的忽略一些不重要的问题,不会影响软件的质量,相反,还会加快开发的速度,为自己赢得更好的机会。

原文地址:https://www.cnblogs.com/fan-xiaofan/p/4964847.html