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