《大道至簡》第六章讀後感

  從編程到工程,首先我以爲首先應該理解什麼是工程。爲何要將軟件設計編寫提高到「工程」的高度呢?與咱們平常見到的土木工程做對比,若是咱們從工程的角度來理解「軟件工程」的話,咱們對這個專業會有更深層次的理解。算法

  咱們來看一個軟件的生命週期,軟件工程強調使用生存週期方法學、結構分析和結構設計技術以及新興的面向對象分析和設計技術。生存週期學(SDLC--系統開發生命週期)是指從軟件開發項目的提出到軟件產品完成使命而報廢的整個時期;分爲八個階段:編程

  一、問題定義:問題是什麼?    完成規模和目標的報告。工具

  二、可行性研究:有可行性麼?是否值得去作?  完成系統的實際模型,數據流圖,成本/效益分析。單元測試

  三、需求分析:系統必須作什麼?   系統邏輯模型,數據流圖,數據字典,算法描述,需求說明書。測試

  四、整體設計:如何解決此問題?   可行的解法,系統流程圖、成本/效益分析,推薦的系統結構,層次圖         /結構圖。編碼

  五、詳細設計:如何實現此係統?   編碼的規格說明。設計

  六、編碼和單元測試:正確的程序模塊。  程序清單,單元測試方案和結果。對象

  七、綜合測試:符合要求的軟件。   綜合測試方案和結果,完整一致的系統配置。生命週期

  八、軟件維護:持久的知足用戶。   完整準確的維護記錄,需求的軟件。資源

  工程是什麼?《大道至簡》中給了咱們答案:程序+方法+過程。最狹義的工程,是描述「作什麼」和「作到什麼」。也就是說,是對目標的描述和成果的檢測。至於這個工程目標的實現,是「過程」和「方法」的事;而有效快速的實現「過程」和「方法」所需的,就是「工具」。

  工具的產生仍舊是出於「 (軟件)實現」的須要。不可能從軟件開發實踐中產生出輪子和指南針,由於那不是軟件開發的本質需求」能夠推進的。 軟件工程的體系中, 「實現」做爲軟件開發的本質需求和基本動因,如同上帝之手在推進這幾十年來的軟件工程理論體系的造成。工程理論實際上是包含組織學的。組織,包括人力資源、項目資金以及多個項目間的協調等,是由向項目經理負責的。他須要爲項目的各個階段創建計劃,並逐漸地細化計劃內容;須要確立項目或產品階段目標,成果的準確描述,定位,以及整個項目的質量目標及其評覈辦法;須要對團隊中的不一樣角色培訓,指導,並協調他們的工做;還須要爲每個人準備他所須要的資源等等。總之,組織者的工做都是非技術性的。而Boss並非組織者而是經營者。

      語言對於程序設計師而言只是一種工具。

相關文章
相關標籤/搜索