軟體工程與軟體技術

來源:互聯網
上載者:User
看了編程高手梁肇新的關於軟體工程的箴言,難免有幾點感觸.作為軟體工程專業的學生,現在受著軟體工程這門課的困擾,當我讀到梁的那些話,覺得分外貼心.是不是因為編程高手說出的話更能切中要害呢?而不是像我們老師那樣照本宣科,或則說些管理上的經驗,聽聽則已,不聽也罷。

梁肇新說“所有軟體工程的設計方法總是一開始想把所有的問題想清楚或者解決,所以就會有什麼概要設計,詳細設計,似乎可以把所有問題都解決,剩下的只是像工廠做零件一樣,找一群軟體工人去按部就班地寫代碼就行了,但是這種方法在通用軟體工程中是不能用的”。

“我們把軟體開發分為設計規劃階段,功能設計階段,測試階段,所有的產品都可以劃分為這三個階段。事實上如果最核心的部分實現了,那麼依賴於此核心,再實現增強一點的功能就是第二階段,第二階段完成後,就可以進行第三階段。”

“按照傳統軟體工程的方法,即一開始就把所有問題都找到,但是,通常你是不可能預測到程式中會遇到的問題的。退一步說,即使你把所有的框框條條都設計好,也可能當突然遇到問題的時候,一時找不到正確的解決方案,而後你又試圖去解決它,這樣就可能需要花很長的時間去解決這個問題。當你發現這個問題很難解決或不能解決的時候,整個工程就會流產。按照傳統軟體工程方法去解決問題是不可行的,因為它假設所有的問題都能被解決或被完成,而實際上這是不可能的“。

現在看看我們軟體工程這麼課.現在個人感覺軟體工程這麼課上的毫無意義,沒有意義的原因是老師講的內容對我們提高沒有作用,沒有作用的原因不是老師講的內容是不對的或者陳舊的,原因在於他教給我的東西不是我們需要的.也許很多牛人要說我們的浮躁了:軟體工程是一種思想,你們現在學的是這種開發軟體的思想,有了這種思想在腦海裡對你以後有莫大的協助,不要以為做出一個控制項是技術,不要以為用Spring,用Ruby,用AJAX就是技術。很不幸的是, 我們擔憂的正是梁肇新所說的“因為某個問題的出現,而使整個工程流產”,當我們面對一個全新的工程的時候,我們沒有信心去解決的不是需求,也不是詳細設計,我們所擔憂的是某個未曾涉及過的技術,或者遇到某個沒有深入學習過的專題。譬如我們現在做的項目,遇到的問題不是老師上課講得那些理論能夠解決的:在C/S結構中,多線程應該是怎麼處理的。一般的多線程應用當然是會的,但是當把多線程和稍微複雜一點的客戶和伺服器,和MVC的Swing,和Socket結合在一起時,我覺得難以入手。現在我們不僅需要一個理論引路者,還需要一個技術指引者,而缺失的技術指引者造成了我們對這麼課的失望。

個人認為軟體工程的定位,它是更偏向於技術而不是管理的,或者說軟體工程的管理是基於技術的.以為軟體工程是更偏向於管理的想法,把軟體工程理想化了。傳統的工程有產品的大量複製,並且複製的周期長,一般不會有新技術的加入,軟體工程沒有複製,軟體工程有的只是開發,正在努力追求製造——事實上達到這個目標也很遙遠,而且軟體工程不斷地有新技術的加入.軟體技術在軟體工程中的作用如同硬體製造技術(無論輪胎還是發動機)在提高汽車效能時的作用!

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.