首页 > 代码库 > 项目之软件工程(我专业四年都未曾知道这四个字的含义,几句话便懂了)
项目之软件工程(我专业四年都未曾知道这四个字的含义,几句话便懂了)
软件工程的本质
一级标题 控制 质量
二级标题 成本 扩展 高内聚低耦合 效率
控制:
成本:企业要求的是以最快的速度完成可正常运行的软件
需要多少人力做
多长时间能做好
-----控制好成本利润更多
扩展:
用户要求修改原先的某个功能,怪用户之前怎么不计划好
用户今添个功能
用户明删个功能
把项目分成几个模块,把人力划分完成对应的一个模块,然后这个人边抽烟边说那个人没做完我这不知道怎么做,那个人说我还在等他呢,也去抽根烟
这几个人做完了要把几个模块合在一起串行检测,出了个错你怪我,我怪你
----面向对象来做,改哪里找到相应的那点代码改了,不像面向过程一样牵一发而动全身,划分了模块
----面向对象来做,这几个模块几个人商量好接口,自己做自己的去吧,等什么呢
----面向对象来做,谁错了来查各自模块,看看你传给我的数据对不对,是不是我做的模块有问题
(我不是推崇面向对象,继续往下看)
质量:
高内聚低耦合:
内聚要高:搞好内部团结。你要这个功能是吧,我这个模块里面实现这个功能的代码条理清晰、结构好,紧密联合在一起
耦合要低:和外部联系。你要用我这个模块是吧,你传一个东西就行了,我给你搞定,不用你这个那个的,要不你就糅合在一起
效率:
面向对象好,因为结构好,好拓展,好维护,运行的慢是慢了,能慢多少,CPU用的完吗,至于省那点吗,又不是科研或者那种多一点点就会崩的
面向对象不好,小程序没必要的,弄的东西多,运行还变慢了
面向过程好,一个小程序,编出来的速度很快,不用去分析需求、建模的,还运行的快
面向过程不好,我要是一个大的项目怎么办,企业里上万甚至数十万的代码怎么维护,改了这带出了那的BUG
不管面向对象还是面向过程,都只是对代码的一种组织形式,就像链表和数组一样的,怎么适用怎么来
项目之软件工程(我专业四年都未曾知道这四个字的含义,几句话便懂了)