培養軟件工程思想
軟件工程是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟件的學科。而工程化的最主要的特點是系統化、規范化、可量化并且嚴格控制流程得完成開發或生產任務,在此嚴格的條件下優質、高效的進行生產活動。
工程化思想的這種優秀品質,決定了她在生產活動中不可替代的地位。比如各大品牌的手機(如Nokia、Apple)都嚴格的控制其生產流程,所以品牌手機比山寨機質量要好很多,售后維護也比山寨機做到系統、規范。
在軟件開發過程中,我們也運用工程化思想指導開發。軟件工程是前人總結的心得經驗,前車之鑒 后事之師啊。就像武林之中的泛泛之輩意外的得到一本***武功秘籍,武林*** 指日可待 豈不快哉!遙想當年,諸葛孔明不就是憑借著對《孫子兵法》以及其他兵書的透徹理解,靈活運用成就千古奇談的嗎?
軟件工程提供了很多模型,其中非常經典的瀑布模型,她是一種理想化模型,為了保障軟件開發的正確性,每一階段任務完成后,都必須對它的階段性產品進行評審,確認之后再轉入下一階段的工作。評審過程發現錯誤和疏漏后,應該及時反饋到前面的有關階段修正錯誤或彌補疏漏,然后再重復前面的工作,直至某一階段通過評審后再進入下一階段。
瀑布模型有許多優點,如可強迫開發人員采用規范的方法;嚴格規定了每個階段必須提交的文檔;要求每個階段交出的所有產品都必須經過質量保證小組的仔細驗證等。
但瀑布模型也存在缺點,其主要表現在:
①在軟件開發的初始階段指明軟件系統的全部需求是困難的,有時甚至是不現實的。而瀑布模型在需求分析階段要求客戶和系統分析員必須做到這一點才能開展后續階段的工作。
②確定需求后,用戶和軟件項目負責人要等相當長的時間才能得到一份軟件的最初版本。如果用戶對這個軟件提出比較大的修改意見,那么整個軟件項目將會蒙受巨大的人力、財力和時間方面的損失。所以說她是理想化的模型,但她的清晰明朗,規范緊湊 為其他模型提供了參考。故將其作為教材典范。
記得有一次面試,面試題目就是:如果讓你開發一個圖書館管理系統,請你簡單描述一下你會怎么去實現以及你的想法。想必大家在求學時期就做過圖書管理系統,大概都了解怎么做,也不用工程化思想就能做到,但用語言又不知道該怎么描述。如果你用軟件工程思想將步驟用你自己的話簡單敘述一遍,相信你的面試分一定不會低。
作為程序員,雖然不用做軟件工程類的工作,也應該培養軟件工程思想。正所謂不想當將軍士兵不是好士兵。在工作中面對自己的代碼,多以軟件工程化思想推敲考究一下,看是否能夠將代碼寫的更漂亮、更優秀。
閑的時候可以設想一下如果自己是軟件架構師或者項目經理,該如何設計整個軟件開發周期,預測在開發過程中可能遇到的問題及相應的解決方案。只有時刻準備著那個職位,才會有機會獲得那個職位,機會是留給有準備的人的,不是嗎?


2011-10-10 10:10:14
2011-09-08 10:26:49
2014-08-20 10:24:11
2010-08-10 13:29:58




