最近在看一本书,是周爱民写的《大道至简》。看了这本书后,我更进一步了解软件,软件工程,管理,沟通的意义了。
小编将自己觉得重要的地方记录下来,一起学习记忆。
1.软件工程的层次模型
2.什么是程序?
程序=算法+结构
方法是实现某功能的代码块。
为什么我们不提代码了,代码是功能具体实现了,呵呵。
2.方法是怎么出来的?
方法是懒人造成的,呵呵,懒人有方法实现去创造东西。如果一天都忙得要死,思考的空间减少了,自然创造性就降低了,不是么?
据说,以前代码都是写在一个文件中的,但是随着前辈们的不停开发与总结,发现不科学,于是出现了模块开发,以后什么模式,什么设计都出来了...呵呵,一切都是从实践中总结出来的。都是为了为懒人创作了...
3.团队缺乏的不仅仅是管理?
什么是团队?团队至少是三人以上吧,不然就成团伙了,呵呵。
做管理,最基本的就是需要承担责任了。
团队做自己的角色,明确分工责任。
4.沟通不要流于形式
这句话很有道理,如果你是开发人员,使用开发人员的说法与客户沟通,那基本无效。很少有对等的语言,开发人员不能要求客户会c,会java,会uml语言什么的。。。
沟通应该是有效的,每次沟通都应该认真准备记录。
沟通三障碍:
解决方法是不要把目标设为让对方认同
5.失败的过程也是过程
做项目=死亡游戏,这是有道理的,如下图:
由于沟通常常不对等造成的。
项目是一个过程,在整个过程不能走过场,实现才是我们最终的目的,整个项目过程也不是死模型,而是可以有效调节的。
项目不是做的,是组织的...
6.不要纠结
在做整个项目的实现中,不需要纠结,也不能用过去的经验一直看现在。每个角色要拥有自身的职责所在。
作为项目经理不能作团队的腿,应该先众后己,明确团队绩效是大于自己绩效的,项目经理如不能节约成本,是难以得到经营者的支持的。
一个团队应该有其特质,无其特质,离散也不远了。
项目经理的重要性可想而知了:
沟通,协调,监督,凝聚等是管理的基本功能。
7.从编程到工程
最狭义的工程是描述"做什么"和"做到什么"。也就是说,是对目标的描述和成果的检测。至于这个工程目标的实现,是过程与方法的事情,而最有效实现过程与方法所需的,就是工具。
编程中使用的语言即是我们的工具,我们用这个工具描述我们的软件工程。呵呵
说明:还有很多不是特别明白,学习中。。。。
《大道至简》下载地址:大道至简