對軟體工程的幾點思考

2021-08-22 20:23:29 字數 535 閱讀 5357

軟體專案跟其它工程專案相比,在於它的需求要比其它工程專案要複雜的多。還有更讓人頭疼的是軟體是不可見的,使得使用者往往難以提出完整的需求,所以原型是最好的一種獲取需求的方法。如果軟體的需求永不變更,那麼軟體專案都是可以成功的,而且很容易成功。

當現實中需求永遠是變更的,那麼人是最好的應對變更的方法,所以敏捷軟體工程非常強調人的作用,意義便在於此。

如果軟體工程中有不需要創造性的部分的話,那麼這些部分通常是可以自動化完成的。但是不幸的是,這些部分實在太少,而且我們現在已經在自動化處理這些部分了。

需求的複雜性和軟體本身的複雜性直接決定了軟體專案不可能像其它工程專案一樣做出詳細的設計。

如果設計詳細到每個方法已有完整的偽**,或者類似的東西時,那麼編碼是可以自動化的;如果設計沒有詳細到那種程度,那麼編碼也可以看作是設計的一部分,而這部分是不可以自動完成的,它需要創造性的活動。

編碼是一種大腦活動,如果你要用一種標準來衡量這種活動的效率的話,那麼人總是可以很容易地找到一種方法來使得「效率」達到最高,而這種方法通常不是最好的,甚至是最差的。

記於2008/11/20 四

個人對軟體工程師幾點建議

1 分享第一條經驗 學歷代表過去 能力代表現在 學習力代表未來。2 一定要確定自己的發展方向,並為此目的制定可行的計畫。3 軟體開發團隊中,技術不是萬能的,但沒有技術是萬萬不能的!4 詳細制定自己軟體開發專業知識學習計畫,並注意及時修正和調整 軟體開發技術變化實在太快 5 書籍是人類進步的階梯,對軟...

軟體工程學習思考

構建之法 現代軟體工程 相比於學習新知識,我覺得教材是在教我們怎麼去合理地管理專案 這對我們以後實際的工作有很大的幫助。課程需要動手的專案很多,開發方式多元,作業量也相對的大。即使是一周的個人小專案,也有類似 將實現的功能移植到乙個網頁程式上 的要求,這對我們進行知識的綜合應用有很大的幫助。第一周專...

軟體工程學習思考

構建之法 現代軟體工程 相比於學習新知識,我覺得教材是在教我們怎麼去合理地管理專案 這對我們以後實際的工作有很大的幫助。課程需要動手的專案很多,開發方式多元,作業量也相對的大。即使是一周的個人小專案,也有類似 將實現的功能移植到乙個網頁程式上 的要求,這對我們進行知識的綜合應用有很大的幫助。第一周專...