为什么需要软件设计过程:一个形象隐喻——房屋建设

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wei00d6ra/article/details/39122705

一个好的、健壮的、利于拓展和后期维护的软件系统,是一个需要经过:需求分析、概要设计、详细设计测试 等设计过程阶段,就好比建设一所房子

首先你要确定这是准备建设什么类型的房子,用来干什么————在软件开发中这个称为问题定义、需求分析阶段,这里是需求分析师需要做的任务。

然后你需要和一个行家探讨此类房屋建设的条条框框如:地基、建筑材料、结构等,并画出设计蓝图————软件开发过程总体设计阶段,此阶段你需要考虑建设费用、风险、周期等一些影响因素,此阶段很重要,涉及到软件产品开发的成功与失败;这里是产品架构师要做的事情。

得到批准后,你拿着设计蓝图,雇一个承包人负责房屋的建设事情,建设房屋时承包人会把建设任务再分摊给二级包工头,以此类推。————这里是项目经理要做的事情。如果项目过大你可能需要多名项目经理分摊若干模块。

好了,接下来就是看着房屋像搭积木一样,一点一点的组装起来。打好地基、建立钢架结构、砌好边墙,通好水电煤气。————软件开发过程详细设计阶段;项目经理将根据手下工程师的能力将任务合理的指定给软件工程师(类似泥瓦匠、水电工、粉刷匠、木匠等)来进行具体的开发工作。

在这个房屋过程中,电工做完后要进行通电测试、漏电检查等工作,水工需要进行漏水检查等————这个类似软件工程师在开发中要进行测试的工作。有的开发者很不重视这个阶段,开发完成及交付,等出现问题了,被项目经理骂了,才反悔,重新检查,殊不知时间在这里浪费了。

这样房屋的建设工作大部分都完成了,当然这样的房屋你也不能居住,你还需要进行粉刷墙面、装潢、美化等————这里是软件开发的优化过程。执行速度优化、界面优化等。

在整个房屋假设过程中,还有各种监察人员来检查工地、地基、框架、布线等一些需要检查的地方,————相当于开发过程中的各种审核、评审、检查等。此阶段很重要,这是为了监控开发过程的进度、质量等。有时也可能安排具有资质的第三方机构来进行检查。

经过以上的过程,一个具体的事物(房屋或者软件产品)就完成了,当由客户检查无误后签收,开发过程结束。但是花费的巨大事项才刚刚开始,那就是产品的维护阶段。对于有资质的系统集成软件公司此阶段的花费远远大于开发,这就是国内的一些此类公司把成熟的软件产品独立出去成立一个子公司负责这个产品的维护,因为这样就可以雇佣一些非常廉价的程序员而不用担负平等的工资待遇。很多客户觉得这些资质公司的集成软件产品的费用很高,而通过其他渠道花费更低廉的价钱得到产品,殊不知,开发的产品功能是大致一样的,但是后期出现的各种问题会让你们烦不胜烦,为了解决这个问题你将会花费更多的代价!在建筑行业维护费用很低,甚至没有,这可能也是监管不到位所造成的。这是题外话。不过也证实软件产品的维护费用远远大于开发费用。

软件开发最怕的就是外行指挥内行,打个具体的例子:重庆XX科技有限公司,成立于2013年1月,公司开发部门有andriod部、java部、.net部、php部。是一个致力于互联网应用技术集成服务和计算机软硬件产品的高科技IT公司,创立之初,那是各种的商业运作、融资。把其他行业的运作模式复制到软件公司上来,我在这不讨论商业模式的问题,我在此关注这个公司内部软件开发问题。

是这样的:公司领导(点子多,但是不懂互联网与软件开发,我不指明是谁)有个Idea,就将这个Idea指给项目经理,安排项目经理进行开发,项目是不进行市场调研的!!!对一些小一些的项目,尽然连设计文档都没有!!!开发组(当时以指定用什么语言开发)的完全凭想象做!!当项目经理将产品展示给领导,领导会满意么?领导不满意会怎么办?大小来重做?你猜错了,极品的领导,尽然将开发任务交给另一个开发部,用令一个语言开发同一产品!!!!最终公司的命运各位同事也能猜出来,公司最后连员工工资都负担不起了。拖欠一批员工工资,到法院起诉胜诉了也他们领不到工资,然后接着拖欠第二批员工工资......我不知道这样的公司存在的意义何在,相关部门也不进行处理。重庆以前还有一个什么西部硅谷计划,我不讨论政策的问题,只想说:如果任这些流氓公司伤了这些IT人才,你凭什么留住他们?没了人,你还能有什么?这家公司我不知道现在是否还存在,这不是我能决定的。我只想说:一个致力于软件行业、特别是互联网软件行业的公司如果连软件的开发过程都不执行,而只是有任务,就发给手下做这种模式,那么你必须死!


猜你喜欢

转载自blog.csdn.net/wei00d6ra/article/details/39122705