2008-7-28
程序开发之我见
至所以叫程序,是因为程序只是一些代码,而软件包括太多的商业成份。
在个人英雄年代,程序等同于软件,而现在这个英雄年代相去甚远的时期,个人开发出来的未经商
业化的只能叫程序,程序开发可以分为个人爱好型和企业利润型,这是我的理解,请不要与市场上的专
业术语对号入座,我向来追求是自己的理解,大家能够懂就好,没必要符合商业标准或国际标准,因为
我不是专业人士,只是民工。
企业利润型的软件开发是由一家公司投资并主管操作,一般是目的性很强,为了某个厂家,或某种
需要而特别进行开发的,一般要经过一些固定的流程才能正式动工,这就涉及到系统分析里的很多专业
知识了,很多的术语我是不记得了,不过我是这样理解的,先是搜集有用信息,然后把信息分类数据化
,数据化就是把具体的信息用数据来表示,数据化后就是进行模块划分设计,意思是说把得来的信息分
成哪些部分才能通俗易懂,便于操控,如果在这个流程中所有功能通过,那么接下来的事就是预算了,
公司嘛,讲究的就是效益,亏本的买卖它是不做的,所以这一个环节在企业利润型开发中是不可或缺的
,如果预算通过,接下来的就是系统分析师或设计师分派任务给程序员,一般由设计师带一个组,或者
由高级程序员带一组程序员进行编码工作,所有的工作由组长统筹,最后完成了,交由测试组调试,找
出bug,就是错误,再修改代码,如此反复,最后搞定,产品出来了,程序也就开发完毕,至于后面的销
售就是商业方面的了,我不大关心这方面的事,不过我知道这个方面很重要,可以说业务是一家公司的
命脉,除非这家公司没有业务之忧。
就这样一个流程下来,分工明确,程序员(包括高级、初级)只参与了编码工作,他们就像公司里
的一个翻译工具,负责与电脑进行通话,通话的内容就是要电脑如何处理得来的信息,所有的工作都有
固定的模式。在大公司里,程序员拿着可观的薪水,坐在电脑前做机器语言翻译,局限于代码之间,把
编程语言用得纯熟,却不知道软件是如何工作的。因为模块设计是由组长负责的,从上往下,一步一步
地扩展,像一棵倒型树,然后每个程序员分到一根树枝或一片树叶,只要你懂语言就可以把这根树枝搞
定,这样环境下的程序员是很压抑很不自由的,不过很轻松,没什么压力。
个人也可以采取自上而下的方式来设计程序,不过如果是一个很大的程序,就得考验程序员的耐力
了,因为一个人所能顾及的终究是有限的。小的程序倒是可以,先分析这个程序要实现什么功能,然后
再划分几个模块,再实现每个模块的功能,最后就是调试了,最后搞定,不过这个规模一般难以很大。