軟件工程的本質
1級標題 控制 質量
2級標題 本錢 擴大 高內聚低耦合 效力
控制:
本錢:企業要求的是以最快的速度完成可正常運行的軟件
需要多少人力做
多長時間能做好
-----控制好本錢利潤更多
擴大:
用戶要求修改本來的某個功能,怪用戶之前怎樣不計劃好
用戶今添個功能
用戶明刪個功能
把項目分成幾個模塊,把人力劃分完成對應的1個模塊,然后這個人邊吸煙邊說那個人沒做完我這不知道怎樣做,那個人說我還在等他呢,也去抽根煙
這幾個人做完了要把幾個模塊合在1起串行檢測,出了個錯你怪我,我怪你
----面向對象來做,改哪里找到相應的那點代碼改了,不像面向進程1樣牽1發而動全身,劃分了模塊
----面向對象來做,這幾個模塊幾個人商量好接口,自己做自己的去吧,等甚么呢
----面向對象來做,誰錯了來查各自模塊,看看你傳給我的數據對不對,是否是我做的模塊有問題
---問題局部化
(我不是推重面向對象,繼續往下看)
質量:
高內聚低耦合:
內聚要高:弄好內部團結。你要這個功能是吧,我這個模塊里面實現這個功能的代碼條理清晰、結構好,緊密聯合在1起
耦合要低:和外部聯系。你要用我這個模塊是吧,你傳1個東西就好了,我給你弄定,不用你這個那個的,要不你就糅合在1起
效力:
面向對象好,由于結構好,好拓展,好保護,運行的慢是慢了,能慢多少,CPU用的完嗎,至于省那點嗎,又不是科研或那種多1點點就會崩的
面向對象不好,小程序沒必要的,弄的東西多,運行還變慢了
面向進程好,1個小程序,編出來的速度很快,不用去分析需求、建模的,還運行的快
面向進程不好,我要是1個大的項目怎樣辦,企業里上萬乃至數10萬的代碼怎樣保護,改了這帶出了那的BUG
不管面向對象還是面向進程,都只是對代碼的1種組織情勢,就像鏈表和數組1樣的,怎樣適用怎樣來