开发项目之分析和设计

来源:互联网 发布:容错手机缩水软件 编辑:程序博客网 时间:2024/06/08 09:51

我们开始启动一个项目之前,不论项目大小 、参与人员把握项目能力水平的高低,都会似模似样地安排一个分析设计阶段,这说明大家都清楚,做事情之前得有个准备。究竟分析和设计各自的内涵如何,它们之间的区别是怎样,却不是每一个项目实施者都十分明白。不明白没关系,学习一下!这里有我的一些学习内容和体会!

什么是分析和设计

分析和设计可以被概括为:做正确的事(分析)和正确地做事(设计)。

“分析强调的是对问题和需求的调查研究,而不是解决方案。”例如,如果需要一个新的计算机化的图书管理系统,那么如何使用这一系统。我真希望把这段话裱出来送给我的一位哥们,恳求他每天早上起床念30遍,晚上睡觉前再念30遍。因为我和他合作的项目里面,他从没有就一次调研情况提供过只言片语,永远都是洋洋洒洒的技术方案拿出来了事,问他为什么要这样子作,他却含含糊糊说不清楚。这让我时常陷入担忧中,我按他的方案怕做了白做,因为别人不要。哥们,拜托在你的技术方案前加个缘由和分析先!

其实,他这样做也不是没有原因。他的领导注重结果甚于注重过程,如果上交的文档在解决方案这一部分不够长篇大论,铁定挨批,大部分时间是在满足自己的领导对文档的阅读和理解的习惯,劳神费力还不讨好。批到我这位哥们都摸清了套路,知道该怎么应付上面了,既然用户的实际情况并不是领导所关心的,这个阶段给的时间也有限,分析多了无疑是给自己添麻烦,那拍拍脑袋写几行解决方案的文字可是轻松多了,随手可以抄出一大摞来,多快好省表扬多

“设计强调的是满足需求的概念上的解决方案,而不是其实现。”例如,对数据库方案和软件对象的描述。最终,设计可以被实现。这里我又要另裱一幅字给一个刚由程序员提升到开发经理的哥们,不过他上个月又被调回开发岗位了。

他对做设计相当反感,我能理解他的心情,他不愿意为此耽误了他宝贵的编程时间,边做边象是他的习惯。我看他算得上是个勤奋的人,只要进入工作就不知疲倦了,我觉得他挺累的!前一段时间我“有幸”和他一起做项目,虽然我不需要和他一起编程序,但我的那个急啊,每次只有通过祷告才能使自己心里的压力得以交托。

作为项目配备的开发经理,对于系统的架构、可能采用的技术手段、会遇到的技术难点、攻关所需要的时间、需要什么样的开发人员来做帮手、有没有参考和对比的系统、能否借鉴其中的实现方案或是有更好的解决思路等等,完全心里没谱,任何时候和他沟通,他都会说正在做,至于在做什么、当前的进度如何、何时可以告一段落,不可能得到一个感觉有底气的答复,总是一而再再而三地跳票,严重地影响了项目的实施进度。花了那么多时间,最后赶工出来的东西却不伦不类,完全不符合产品规格要求。后来,他被撤换了,继续去做他擅长的编程开发。但我看他如此缺乏规划和设计的能力,对他写出来的代码质量也感到担心。后来我去看他所写的程序,证明我的担心并不多余。他的代码缺少有用的注释,晦涩难理解。类、方法的命名不遵循任何原则,随意性很大,特别是一个类被命名为BaseObject,给我的印象特别深刻,以我的理解,以BaseObject为名称的类,应该可以是任何类的基类。我特别查找了这个类被引用的各个地方,发现这仅仅只是几个实体类的基类而已,里面只有三个属性,Name,Description和Alias。更有意思的是,对大多数派生类而言,Decription和Alias属性都是多余的。

经过一些项目的经验,我已经不像过去那么偏激,不再动不动就想把人给赶走、动不动就想找新人,事实上人都是培养出来的。我这个朋友的现象,在公司并不是个别,因为人员普遍层次较低,所以在公司经历过两个项目的编码之后就可能被安排当头了,被赋予了新的职责、走入新岗位前也不进行相关培训,这其实是拔苗助长的行为。他们被赋予了权力而仍然缺乏能力,最后可能变成眼高手低的人。我本人就曾经吃过这样的亏,因为能力低过权利,技术水平达不到主持一个项目所需的要求,也不懂得协调处理项目中各样的非技术问题,再加上一些其他原因,最后从公司辞职走人。那时的心情,不只是羞愧那么简单,自信心受到了打击,长时间里我都不知道自己能干什么。

说着说着似乎偏离了分析和设计的主题,就此打住。了解什么是分析和设计,懂得区分这两者的差别,再加上从理论层面上升到实践层面所经过好多次的涅磐,在项目里举重若轻的那种阶段,应该是能够到来的吧!

 

 

原创粉丝点击