《軟件工程導論》課程學習心得


      未接觸軟件工程之前一直都很好奇這門課教授的是什么內容。學了一個學期的軟件工程課, 終於知道了個軟件工程的大概。學的時候總覺得很抽象,理解起來好像不難,但總是摸不着頭腦一種很茫然的感覺。

       曾經以為程序就是軟件,軟件就是程序。學習這門課程第一個收獲是,知道了二者的不同之處。我想也是程序的不斷復雜化導致了軟件危機的發生,使得人們不得不探索新的解決方法。經過陳老師的講解,理解了軟件工程,就是一套用於軟件的團隊開發,以提高軟件質量和程序員工作效率為目的的規范。其核心就是, 對於軟件開發的5個重要組成部分:需求分析,設計,編碼,調試,維護,如何組織這5個部分的工作,以及如何完成每一個工作。 吾生也有涯,而知也無涯,學習永無止境。起初,對軟件工程處於一知半解的狀態, 分工比較混亂。在划分模塊后明確了各自分工,漸漸形成良性循環。

       在學習過程中,知道了團隊合作十分重要,爭議固然存在,但通過討論、協商,群策群力, 在不斷磨合中能夠達成一致與默契。團隊成員中能力各有高下, 互相尊重, 各取所長, 不宜妄自菲薄。組長多加協調,組員積極配合,才能合作愉快。

       學習能力體現在能盡快接受新的知識,順應變化,學為所用。上《軟件工程導論》這門課,我的收獲大概如下:

       我們為什么需要軟件工程呢?上面已經給出了一些原因。專業點講,軟件工程最終是為了實現“軟件制造業”的社會化,工業化大生產,提高其勞動生產效率。只有如此,軟件業才能實現社會化,工業化大生產,才能“做大做強”。沒有管理的設計是失敗和混亂的設計,沒有設計指導的編程是無序的忙碌的。根據開發的軟件的規模,應該適當程度的運用軟件工程化的思想,需要靈活,畢竟我們開發的軟件大多數是中小型的,大型的並不多見(我是這么認為的)。但只要涉及人員間的交流和溝通,或多或少都要需要軟件工程才能更有效率,工作成果更穩定。

       其實開發軟件,就像是解決一個邏輯問題。想想自己平時是怎樣寫程序的。首先是要有一個想法, 即我寫的這個程序是要干什么的;然后就是對要實現的核心功能大概構思一種或多種實現方法,並從中選出一種自認為是較好的;接下來就是將涉及的各種主要或次要功能分成各個模塊;最后就是分模塊來編碼和修改BUG。在我看來,除了第一步外,其余的步驟應該是一個循環的過程。在編碼的過程中, 你總是需要不斷地回過頭來修改原先的模塊設計,甚至最初選定的實現算法。

       具體到每一步的工作要怎樣完成,是非常靈活的,只要把握住大體的方向就行。在進行分析,設計,編碼,調試,維護這幾部分的工作的時候,最核心的就是文檔的編寫。

       1. 可行性分析就是關於當前項目能不能干的分析結果。

       2. 項目描述這是在決定立項以后,對當前項目的一份扼要說明。

       3. 需求分析就是對客戶要求的功能的定義。

       4. 軟件設計這就是對程序的每一個模塊的詳細設計的說明文檔。

       5. 開發日志我一直都認為這是文檔中最有趣的部分。 開發日志相當於編碼階段的文檔, 它的形式可以很隨意, 主要是記錄一些在寫程序時突然萌發的靈感, 或對代碼的一些微小的 修改,或對程序結構的一些微小變動等,還要對上述這些修改變動作些說明。

       6. 測試分析 用於指出程序存在或潛在的缺陷和錯誤,以及程序性能的數字描述。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM