2007-07-01
你在做什么?
愚公移山只是一种精神追求,而做工程最求的则是完成工程。在忙忙碌碌的日常开发中,不要忘了自己的位置,时刻提醒自己,“你在做什么?”
EHM模型分析了软件工程中各个环节的由来,价值及其内在关系。可以很清楚的知道自己在工程的位置。
软件工程层状模型
实现 程序=算法+数据结构
方法(面向过程/OOP/MDA)
团队 过程(RUP/XP)
工程(需求管理、过程管理、配置管理、文档化)
经营 组织(管理、计划)
实现,是软件开发的本质需求。
方法是长期编程实践的结果,是对既有行为的归纳总结。经验来源于回顾、理解与分析。
过程解决的是工程中角色间的关系问题。过程中的问题,就是角色、沟通和环节的问题。真正的“无间”,应当是沟通的结果。
工程,是对目标的描述和成果的检测。软件规模的不断增大是工程出现的原因。
关键句
程序=数据结构+算法+方法
积极工作和勤于思考都要占时间。
停下来,思考才是进步的本质。
语言的差别主要体现在应用范围上。
是懒人造早就了方法。
不存在真正意义的面向对象。因为面向对象的事件还是顺序的,而且这个世界不是面向对象的。世界是关系网络图,面向对象只是树。所以面向对象只能用在整体分析层上。关系还是要有数据结构,实现还是离不开算法。
如何启动一个项目
做管理起码要承担责任。
首先要确定组织机构。
然后在做管理制度。制度要体现人性化、公平性。
接下来,是划分角色。
明确分工是管理职责。实现的欲望是程序员出身管理者的通病。只在洞口外看看就可以,不要自己也进入蚂蚁洞。
进行有效的沟通。
工程不是做的,是组织的。项目经理的工作,就是要去组织这个工程中的各个角色,使得分工明确,步调一致,共同完成这个项目。