
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
今天昆明IT培训小编看了一篇关于:软件开发中自然属性的介绍,小编想分享给大家,那我们先来看看什么是软件的生产制造过程呢?我们要知道需求收集,分析,设计,开发,测试,打包,发布等等;那么这些是软件的生产制造过程吗?看上去好像没有问题,这不就是将软件从无到有制造出来的过程吗?好吧,那让我们比较一下:一辆汽车的生产制造过程和一个软件的生产制造过程有什么区别。
汽车上到生产线,工人按照既定的程序不停“重复”的生产着同样规格的产品,对于汽车来说,生产线上同一批次的汽车一定是一样的;对于软件来说,如果是同样的软件,生产的过程可以被简化为“复制”和“粘贴”。而我们所理解的所谓软件的生产制造过程其实对应的是“原型车”的设计过程,因为每次经历这整个过程的软件都不再是统一批次(版本)。
从这个角度来说,软件开发其实一直处于“设计”过程,而从来不会进入和传统制造业类似的“生产”过程。传统的瀑布模式的软件项目管理思路其实就是在用管理不停重复”生产“过程的方法来管理一个不断变化的“设计”过程,注定是不适合的。
也许大家对汽车生产线还是不够熟悉,那我们来举个做菜的例子。你要做一道西红柿炒鸡蛋,正常的工序是:炒蛋,拿出,放油,放葱,放西红柿,放糖,放入炒好的蛋,放盐,出锅。没毛病,这就是一盘正常的西红柿炒蛋,按照这个工序,任何经过简单培训的人都可以很容易的快速复制这道菜。但是,假设昆明达内培训小编已经完成了放糖的步骤,这时候客人说他有糖尿病,怎么办?你只能倒掉西红柿从来,还好炒好蛋还可以用。又或者,客人点了西红柿炒蛋,上了桌客人说这个不对,我要的是黄瓜炒蛋……作为大厨的你是否会提刀见客?好吧,其实软件开发的过程远比这个复杂,推倒重来算好的,盖好了大楼再拆掉地下室这种事在软件行业也是家常便饭,用户搞不清西红柿和黄瓜算好的,至少他承认搞不清,很多用户会要求你把黄瓜做成西红柿的味道。现在你理解为什么会有程序员暴打产品经理的事情出现了吧?
这就是软件开发的自然属性,它不是一门科学,更不是一门工程;因为科学和工程都是把已经解决的问题作为经验/定理,供大家重复使用;而软件开发更像是炒菜,就算是最有经验的大厨,每次的菜也都要重做,再详细菜谱也无法保证炒出一样的味道;环境,时间,材料甚至大厨心情的都会对味道有影响。更糟糕的是,至少做菜的材料和过程是可见的,软件开发的过程是不可见的,你看到的只是设计人员写了一堆菜谱,程序员不停的把代码仍到锅里,而这些好像和最后那道菜都没啥关系。
如今IT技术行业那么热,市场需求庞大,如果想学IT技术,请关注昆明达内官网:http://km.tedu.cn