首页 > 代码库 > 项目之软件工程(我专业四年都未曾知道这四个字的含义,几句话便懂了)

项目之软件工程(我专业四年都未曾知道这四个字的含义,几句话便懂了)

软件工程本质

一级标题 控制 质量

二级标题  成本  扩展  高内聚低耦合 效率

控制

成本:企业要求的是以最快的速度完成可正常运行的软件

需要多少人力做

多长时间能做好

-----控制好成本利润更多

扩展:

用户要求修改原先的某个功能,怪用户之前怎么不计划好

用户今添个功能

用户明删个功能

把项目分成几个模块,把人力划分完成对应的一个模块,然后这个人边抽烟边说那个人没做完我这不知道怎么做,那个人说我还在等他呢,也去抽根烟

这几个人做完了要把几个模块合在一起串行检测,出了个错你怪我,我怪你

----面向对象来做,改哪里找到相应的那点代码改了,不像面向过程一样牵一发而动全身,划分了模块

----面向对象来做,这几个模块几个人商量好接口,自己做自己的去吧,等什么呢

----面向对象来做,谁错了来查各自模块,看看你传给我的数据对不对,是不是我做的模块有问题

(我不是推崇面向对象,继续往下看)

质量:

高内聚低耦合:

内聚要高:搞好内部团结。你要这个功能是吧,我这个模块里面实现这个功能的代码条理清晰、结构好,紧密联合在一起

耦合要低:和外部联系。你要用我这个模块是吧,你传一个东西就行了,我给你搞定,不用你这个那个的,要不你就糅合在一起

效率:

面向对象好,因为结构好,好拓展,好维护,运行的慢是慢了,能慢多少,CPU用的完吗,至于省那点吗,又不是科研或者那种多一点点就会崩的

面向对象不好,小程序没必要的,弄的东西多,运行还变慢了

面向过程好,一个小程序,编出来的速度很快,不用去分析需求、建模的,还运行的快

面向过程不好,我要是一个大的项目怎么办,企业里上万甚至数十万的代码怎么维护,改了这带出了那的BUG

不管面向对象还是面向过程,都只是对代码的一种组织形式,就像链表和数组一样的,怎么适用怎么来

项目之软件工程(我专业四年都未曾知道这四个字的含义,几句话便懂了)