《軟體工程》課程總結

喜歡搞事的男孩紙發表於2016-06-15

      經過這一學期老師們的付出和各個小組同學們的努力,《軟體工程》課程已經要畫上一個完美的句號了。經過這個學期的洗禮,我們進一步深刻地重新認識了整個程式設計體系流程,不僅強化了程式設計基礎,而且學到了分工、合作的團隊任務體系。通過全新的團隊合作模式,我們分別承擔起不同的角色和分工,每個人都去力爭把自己需要完成的部分盡力去做好,不去拖慢團隊任務進度或是影響團隊整體的流程體系。最終我們都體驗到了共同完成團隊專案之後成功的喜悅,這是我們一個全新的程式設計經歷。

 

      對於開學當時我所提出的幾個問題,現給出簡要回答。

1、軟體開發生命週期(SDLC)在現實當中包括哪些部分?

問題定義及規劃、需求分析、軟體設計、程式編碼、軟體測試、執行維護

2、應該如何通過競爭對手的一款軟體分析他們的優勢和不足?

通過其使用使用者的使用者體驗角度考慮,比如其反饋、介面管理、使用者控制權、一致性和標準化、多型別使用者、幫助文件這些方面進行分析。

3、在現實生活中如何有效地收集使用者真實的軟體需求?

焦點小組、深入面談、卡片分類、使用者調查問卷、使用者日誌研究、人類學研究、眼動跟蹤研究、快速原型調研、A/B測試。並通過建立NABCD模型分析得出結論。

4、軟體測試員和軟體維護員一定有必要存在嗎?

存在性是有的,通過多種的功能性測試和非功能測試,可以讓我們改掉Bug、美化介面、優化使用者體驗和程式效率。

5、如何從軟體需求資訊正確地評估軟體面世的可行性?

主要還是通過使用者調查來進行評估,關鍵的就在於所選擇的使用者的體驗和反饋來進行分析。

 

      體會的部分我認為應該分為四個部階段來寫,分別是開學初、個人程式設計、結對程式設計和團隊專案。

      剛開學的時候,我認為軟體工程這門課主要就是加深對程式設計的要求所開設的一門課程,老師會在上課的過程中回顧之前的資料結構和資料庫的知識,進而通過多個作業的練習實現個人對程式設計熟練度的提高。在上了幾節課之後,我發現這門課主要是通過完成個人、組隊、團隊的專案,從小到大,先易後難的開展一種之前從未有過的合作程式設計實踐。並在這門課一開始的時候,就讓我們認識到了在未來的工作過程當中,我們每個人往往只是去負責一個大專案當中比較細節的一個小模組,我們每個人要做的就是去把自己承擔的那部分程式碼編好,並且能夠完美的融入到團隊整體框架程式碼當中,這也就是未來我們每個人都應該熟練掌握的工作體系。

      在完成個人作業的時候,我們瞭解到了效能分析工具和個人開發流程,這是結對任務和團隊專案的基礎。並且根據個人專案耗時對比記錄表可以知道,整個一個專案需要分為三個階段計劃(估計時間)、開發(需求分析、生成設計文件、設計複審、程式碼規範、具體設計、具體編碼、程式碼複審、測試)、報告(測試報告、計算工作量、事後總結)。通過這一系列的流程,使我初步的瞭解到了整個流程的每個具體步驟,讓我對一個專案的產生到完成有了初步的認識和理解。

      之後進入了結對程式設計的時候,這一步驟主要是通過結對,讓我們互相複審對方的程式碼,並通過程式碼複審,可以讓我們找出程式碼的編碼錯誤和邏輯、演算法方面的一些錯誤,並且在同伴的或之下進行修改和優化,發現這些問題之後並進行改進。在這之中,我們也瞭解到了複審的環節:概要部分、設計規範部分、程式碼規範部分、具體程式碼部分、效能、可讀性、可測試性。這些環節是我們在合作中影響對方,這是一個相互學習、相互磨合的漸進過程。通過結對程式設計的這個學習階段後,結對程式設計小組的開發質量、開發時間會比我們兩個人單獨開發有明顯的改善。這個過程我們之前並沒有實踐體驗過,因此結對程式設計讓我們初步看到了團隊專案工作流程的大趨勢。

      最重要的就時團隊專案了,團隊專案主要的流程(RUP)分為業務建模、需求、分析和設計、實現、測試、部署、配置和變更管理、專案管理、環境,總結起來大戰分為四大階段:初始階段、細化階段、構造階段、交付階段。這幾個階段當中,我主要就是負責最後交付階段的測試和反饋,即驗視程式各個階段元件的正確性和互動的正確性以及需求是否被實現,進行軟體的反饋修改和調整,在最後專案完成之前保證質量達到最初的預期要求。團隊專案讓我們每個人都受益良多,各自都能從中悟到團隊專案的靈魂,那就是每個人自己的工作是最重要的,共同的團隊專案不僅考驗了團隊,也考驗了我們每一個人的水平。

 

      最後,對於這學期的軟體工程課程,我非常感謝為我們的程式辛勤忙碌的馮老師和助教老師,沒有他們的勉勵和督促,我們或許不能每次都按時完成分配的任務。諸位老師們,你們辛苦了!在這學期的課程學習我們共同沉浸其中,共同度過了歡樂而充實的學習時光。我建議老師們進一步推廣這門課到更多的低年級計算機學科的學生當中,降低這門課的授課年級,通過更早的實踐訓練,讓更多的同學們早日領略到其中暗含的程式設計真理!

相關文章