天天看點

作業九 ——報告及總結

《軟體工程》課程總結

  《軟體工程》課程既強調基本概念和基本知識的了解和掌握,又側重軟體項目的分析、設計、實作和維護的基本技能。比較注意“點”和“面”的結合。我還是蠻喜歡這門課的,通過對這門課的學習讓我意識到理論學習很重要,實踐更重要,實踐是檢驗真理的唯一标準,隻有将理論與實際結合,才更能發揮我們所學的知識的作用。整一個學期下來,總的來說還是學到了很多東西的,有很多地方是值得肯定的,其實在我看來,軟體工程與其說是一門課程,不如說是一門思想。是一個如何去分析和處理問題的過程,應該說其範疇已經遠遠不止局限于該門課程,成為了一個綜合的一個能夠解決問題的思想集合。而且通過學習《軟體工程》,我還學到了很多其他的東西。比如通過學習《軟體工程》,特别是老師每次現場的講解,為我提供了一個盡早接觸工作和真實項目的機會。讓我知道如何在以最小的成本中,訓練自己的基本工程素質和能力,如何激發自己的積極性等。而且通過學習《軟體工程》,還讓我認識和培養了我的團隊協作能力,特别是對于我們這些在校的學生來說,這種學習更是能讓我在以後工作中少走很多的彎路。

  在之前的部落格中,我在粗略的看完《建構之法》這本書後提出了如下問題:

  1、如何才能從一個小小的軟體工程師成長為卓有成效的進階工程師?

  2、資料成員是什麼?

  3、構析函數是什麼?

  4、靈活流程到底是什麼?

  現在在學習完這門課程後我對前期提出的問題有如下的回答:

  1、軟體工程是很難的。這一行業在不斷變化中,是以你必須緊跟它的步伐。你必須不斷地投入時間和精力,因為你需要學習的東西總是比你能吸收的多。衆所周知,成為一名進階軟體工程師是非常難的。這需要大量的時間和精力。不同的人他們的學習速度也不盡相同。軟體工程師的每一天都在面臨挑戰:挑戰改變人們的生活。

  2、為父子次元中的非葉成員生成的子成員。資料成員包含與非葉成員直接相關的值,該值獨立于由該成員的後代計算得到的彙總值。

  3、析構函數(destructor) 與構造函數相反,當對象結束其生命周期時(例如對象所在的函數已調用完畢),系統自動執行析構函數。以C++語言為例:析構函數名也應與類名相同,隻是在函數名前面加一個位取反符~,例如~stud( ),以差別于構造函數。它不能帶任何參數,也沒有傳回值(包括void類型)。

  4、靈活開發以使用者的需求進化為核心,采用疊代、循序漸進的方法進行軟體開發。在靈活開發中,軟體項目在建構初期被切分成多個子項目,各個子項目的成果都經過測試,具備可視、可內建和可運作使用的特征。換言之,就是把一個大項目分為多個互相聯系,但也可獨立運作的小項目,并分别完成,在此過程中軟體一直處于可使用狀态。

  下面是我對這門課程的建議與意見:

  1、加強和落實動手能力的培養

    課堂上可以安排一些小的實驗,每章課後應安排作業,作業應讓學生盡可能在CASE環境下進行。

     2、對課程中關鍵性概念、設計思想方面的問題可輔以課堂讨論的形式。

     3、 如條件許可,應利用網絡技術提供一個網絡教學資源和平台,學生可以課件下載下傳、習題布置、網上答疑和學生社群等功能,充分發揮我們學生在學習過程中的主體地位。

  最後經過一學期的軟體工程的學習,深刻感到其重要性的同時也學到了不少的東西,将對我在今後的軟體開發過程中起極大的作用。