大道至简阅读随笔

   本篇文章是我在读完这本书时,根据自己的感悟写的一些感想,也算是我对这本书的总结吧。

       开篇以愚公移山举例,论证编程的精义。愚公移山,这个寓言故事很多人都听过。愚公比作项目组织者、团队经理、编程人员、技术分析师等。我了解到愚公的项目。在《愚公移山》的工程项目中,我们认识到了编程的根本:顺序、分支和循环。无论是什么样的工程,即使是“愚公移山”这样庞大的工程,当有了项目需求,再确定整个项目的工作流程,其中包含必须的顺序、分支和循环结构,都是可以通过简单的编程来实现的。而顺序、分支和循环结构便是编程的精义所在。项目目标是平山。他也制定了详细的计划。愚公的项目甚至可以用代码表示出来。

       ‘程序=算法+结构’这是编程的本质。作者阐述了工程的含义。没有实现工程,其实这些语言,算法,数据结构也不能完成什么项目。

       的确,方法都是懒人创造的,如果人不偷懒,也没有今天这么多的工具供我们使用。愚公那样坚持不懈,但是造就不了方法,唯一的结果就是耗时长。作者的思考:程序 = 算法 + 结构 + 方法。作者想到面向对象和面向过程的方法。与“面向对象”是否出现完全无关的一个东西,却因为“过程”和“单元”的出现而出现了。这就是“工程(engineering)”。

       团队的概念。三个人为一个团队。‘首先一个人算不得团队,那是个体。两个人则互相支撑,古文中“从”字是二人互立,就是这个意思。然而二人互立并不算团队,因为没有监督。三个人便可以构成团队,这样便有了团队的一些基本特性:主从、监督和责任。’引用作者的话。以后做项目大多都是团队一起,既然是团队就要有管理人员。如果团队有失误,管理人员要先担起责任。做项目 = 死亡游戏 ? 如果项目失败,大部分责任在管理人员也就是项目经理。项目经理虽不用像李离伏剑那样,但至少也要有递交辞呈的勇气。项目经理也不是什么好做的。一个团队的组织机构尤为重要,有时甚至可以决定项目的成功与否。

       与客户的沟通。没有沟通我们将无法确知要做什么。项目的需求阶段尤其需要与客户沟通。然而大多程序员不善于沟通,了解客户的需求。在公司聘请其他的业务公司人员来调查时,也没有太大效果。这时,就需要我们自己做沟通,设计沟通方案。作者给出的方案非常合理。分析用户的每一个表格,以构建基础数据库;分析每一条数据的含义以确定它的上下限,以及数据间的相关性;从工作文档中去了解客户的组织机构及其相互关系,同时确定了每一类使用该系统的角色;从报表中去了解客户关注的数据信息,以及被他们所忽略掉的数据信息。之后整理。从作者给出的方案,我领悟颇多,以后对工作有很大帮助。

       接下来就是关于过程的讨论。前有瀑布模型将软件开发的过程分成需求、分析、设计、开发和测试等 5 个主要阶段。后有v型模型,将测试改到每一个阶段。项目建设的过程复杂又简单,复杂在每一项分管许多小的模块;简单在流程的固定。

     ‘组织’工程,是一个项目经理需要做的。工程的概念涉及很深,需要很多构思,要经历长时间的思考,才出现一个雏型。从经营到管理,是一个巨大的工程,需要更加的深入。

     如今,互联网盛行的时代,各大公司开始发展自己的软件工程。虽然如此,但软件工程并没有成熟。回顾整个软件工程的体系,体系完整,但是复杂难懂。各种概念术语让人费解,但又让人着迷,想要去了解它,掌握它。

    如今的我对软件工程思想的了解并不深,只能领悟到这样。如果真正了解到深层的思想,我这些字数也不能描述一个软件工程的轮廓,我还需学习。

    写的有些仓促,如有错误请提出。

原文地址:https://www.cnblogs.com/aishanyishi/p/7260379.html