曾經以為程序就是軟件,軟件就是程序。學習這門課程第一個收獲是,知道了二者的不同之處。我想也是程序的不斷復雜化導致了軟件危機的發生,使得人們不得不探索新的解決方法。經過陳老師的講解,理解了軟件工程,就是一套用於軟件的團隊開發,以提高軟件質量和程序員工作效率為目的的規范。其核心就是, 對於軟件開發的5個重要組成部分:需求分析,設計,編碼,調試,維護,如何組織這5個部分的工作,以及如何完成每一個工作。 吾生也有涯,而知也無涯,學習永無止境。起初,對軟件工程處於一知半解的狀態, 分工比較混亂。在划分模塊后明確了各自分工,漸漸形成良性循環。軟件工程最終是為了實現“軟件制造業”的社會化,工業化大生產,提高其勞動生產效率。只有如此,軟件業才能實現社會化,工業化大生產,才能“做大做強”。沒有管理的設計是失敗和混亂的設計,沒有設計指導的編程是無序的忙碌的。根據開發的軟件的規模,應該適當程度的運用軟件工程化的思想,需要靈活,畢竟我們開發的軟件大多數是中小型的,大型的並不多見(我是這么認為的)。但只要涉及人員間的交流和溝通,或多或少都要需要軟件工程才能更有效率,工作成果更穩定。其實開發軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法, 即我寫的這個程序是要干什么的;然后就是對要實現的核心功能大概構思一種或多種實現方法,並從中選出一種自認為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和修改BUG。在我看來,除了第一步外,其余的步驟應該是一個循環的過程。在編碼的過程中, 你總是需要不斷地回過頭來修改原先的模塊設計,甚至最初選定的實現算法。 1. 可行性分析 2. 項目描述3. 需求分析 4. 軟件設計 5. 開發日志 6. 測試分析
