高等軟體工程課程總結

2022-07-07 07:51:12 字數 2695 閱讀 9064

前序

時間過得真快,轉眼間高軟課程就結束了,這也是最後一篇部落格了,那麼該寫點什麼呢?這門高等軟工課程固然是門硬課,講的內容和授予的建模思想無疑是非常有價值的,但是可能由於自己的原因和其他一些因素吧,我捫心自問整個學期下來感覺肚子裡還是有點空蕩蕩的。無論怎樣,課程已經結束了,自己也應該對課程做乙個總結了。

認識與收穫

對團隊協作模式的認識:自從專案團隊建立那天,我們就確定了gitlab協作模式,在後續的體驗當中,感覺這個協作模式確實是非常高效的。之前和本科同學開發專案的時候確實沒有接觸過gitlab,那時候傳輸檔案和共享**基本都是通過聊天工具打壓縮包傳輸,真的感覺那時候沒有與時俱進,有點out了。不過經過乙個學期的團隊協作,我對該協同工作模式也有了一定的認識,並且在後續其他的工作當中,我也會優先選擇gitlab來方便快捷的管理團隊協作,提高工作效率。

對軟體需求的認識:回顧這門課程,在需求階段花費的時間已經超過了我的預期。原本在第一節課之前,我認為需求分析作為軟體生命週期的最開始的階段,要消耗的時間和精力都不會有後邊幾個階段的時間長,因為後邊的設計、編碼、測試等階段都是要消耗一定的時間和精力才能做好的。此外,再加上疫情原因,課時縮減,需求分析卻還是占用了半個學期的時間,可見需求的重要性並不亞於後邊的設計和編碼。現在的我認識到了,需求如果不整明白,設計和編碼就沒有依據和憑證,無從下手。即便是下了手,也會不停地修改,不僅不利於提高專案的進度,反而有可能延長專案期限。回過頭來看我們的專案——程式知識的提取,我們的專案一開始需求一直不明確,我們花費了大量時間去解決知識到底是什麼

這個問題確實沒有錯,這個問題不解決,我們的需求就不知道是什麼,後續的設計建模工作就很難完成。

對軟體設計的認識:由於在此階段要涉及到軟體的體系結構設計、模組設計、資料庫設計甚至是資料結構和演算法的設計,因此該階段注定是比較繁瑣的,它涉及到軟體細節上的東西太多。但是話又說回來,這個階段不能沒有,也不能三心二意的去完成。為何這麼說呢?本次的高軟課程就是乙個活生生的例子,本來由於疫情原因課時就非常緊張,又由於假期放掉了幾節課,直接導致後期編碼的時間所剩無幾。記得老師課上說過,如果沒有前期認認真真的需求和設計階段,沒有對軟體建模的這一過程,那麼這麼短的時間編碼確實不容易完成。但是如果前期工作做得好,模型設計合理,模組、介面、資料結構等定義準確,那麼在編碼的時候只要邏輯清晰就會很順利地完成。

對建模的認識:之前聽說這個詞的時候就感覺非常的空洞,聽完這個詞腦子裡一片空白,搜尋不到對應的知識內容。經過一學期高軟課程的薰陶,我終於意識到建模的實際意義,說白了它就是對現實世界存在的或者不存在的事務通過模型表達出來,使得各方代表都可以get到這個模型所要表達的含義,從而不出現二義性。此外,建模思維的培養方面,也就是對事務的抽象能力這一塊,經過課堂上老師給的小案例講解和小組專案的實踐,自己多多少少有些建模的感覺,但是水平並沒有到位,此後還需要多多看一些建模方面的書籍,特別是一些容易被理解的、和實踐緊密結合的案例,以此來提高自己的抽象思維能力。

回顧當初的展望

1、獲得以抽象思維去認識軟體系統的超能力。整個學期下來,自己對抽象思維有了進一步的理解。對於乙個專案來講,首先應該抓住它的核心價值,把專案存在的本質抽象成具體的模型以後,才能真正get到專案的實際意義,切莫本末倒置,否則永遠也抓不住專案的根本。

2、獲得對複雜專案的分析與設計的超能力。複雜專案需要考慮的東西多而雜,想要真正做出來像支付寶和大型銀行系統那種業務複雜、規模龐大的軟體,還需要一定的技術能力、建模能力和團隊協作等多種能力。顯然,對於這乙個超能力自己並不具備,但是經過高軟一學期的課程,讓自己在小組專案當中也收穫不少知識,可以說自己還要經過n多個專案實戰才能具備對複雜系統的分析與設計能力,加油加油!

3、獲得對uml建模工具的深層次理解和應用的超能力。在uml建模方面,我認為對比本科學過的知識還是有一定的深層次理解的。對於uml的幾種圖來說,它們分別對映到了實際專案的多個維度,可以讓我們從多個視角對系統進行抽象,在這一點上我認識到了uml語言的強大。在專案當中,我主要負責類圖部分,起初單純地認為將系統抽象出幾個類,然後確定類之間的關係就行了,實際做起來並沒有那麼簡單。類圖是詳細設計人員和編碼人員之間的乙個橋梁,同時它又是其他部分uml圖的基礎,需要考慮每個類中的屬性和操作,並且還要讓類之間協同工作起來,所以類圖的設計遠比想象中的複雜。

4、獲得對軟體系統安全性分析的超能力。乙個系統的安全性是保障該系統能夠長期處於正常服務狀態的最基本的要求之一了,一般乙個專案如果要實際部署那就必須考慮它的安全性。這方面我在課程專案中並沒有過多接觸,所以自己在系統安全性分析方面的知識還是比較匱乏。

5、獲得能夠寫出好的部落格的超能力(我也十分想去分享我自己)。我認為部落格寫的好不好取決於兩個因素,第一就是肚子裡面有東西,第二就是語言組織能力要強。第乙個因素就決定了你的部落格究竟是一篇水文還是一篇有深度和內涵的文章。第二個因素就決定了你是否能夠真正把屬於你自己的東西分享給你的讀者。就我個人而言,初次寫部落格確實有些不適應,以上提到的兩個因素,自己或多或少都不完全具備,距離寫出一篇好的部落格還有相當一段路程要走,這個東西不能急,還是一步乙個腳印慢慢成長吧!

總結總之,整個高軟課程下來還是收穫多多!在這裡還是要感謝老師們認真負責的態度和一次次詳細的點評,讓我們在錯誤的道路上及時改變方向,成長了不少。同時也要感謝組長的默默付出和組內其他同學的積極配合,最終順利結束了高軟這門課程。對於我自己,也有一些反思,可能由於這門課程沒有期末考試的壓力和負擔,自己也鬆懈了不少,對於課上過於抽象晦澀的理論知識,課下並沒有認真去掌握它。在專案實踐當中,由於個人能力和他人能力的懸殊,導致自己比較依賴組長,雖然也有進步,但是還是會失去一些東西。現在想明白了,如果有下乙個專案,我一定不會以盡力而為的態度去完成,這樣對自己的成長並沒有多大意義。對於未掌握的技術要去學習,遇到困難想方設法去解決而不是選擇迴避,只有這樣才能真正收穫到自己想要的東西。

軟體工程課程總結

出於課程作業的要求,以及個人有一些想要說明的感想,所以發布這篇部落格。有所冒犯和不適當的言論,敬請體諒。由於這一點的特性,課程中介紹需求獲取 介紹使用者故事 用例建模等知識的時候,我並沒有太過關注,因為這些方 和與程式設計不直接相關的知識並不能讓我感到對作業有多少的增益。雖然我也很理解,關於這些知識...

《軟體工程》課程總結

經過這次軟體工程實踐後,感覺對軟體工程這門學科有了深一層的認識。軟體工程是一門重視實際操作的科學。對於軟體產品,無非是產品定義 設計 除錯維護幾個步驟,看似簡單,可是實際操作卻複雜困難,它不比其它行業產品可預見可觸及,所以學好軟體工程能為以後從事軟體開發行業打好基礎。在軟體實踐這門課中,講到了有效利...

軟體工程課程總結

這學期的軟體工程的這門課,經過老師由淺入深的引導和講解,我從各個方面了解到了關於軟體開發的知識,對自己未來的工作與事業有了乙個新的認知,明白了如何去分析和處理問題的過程,應該說其範疇已經遠遠不止侷限於該門課程,成為了乙個綜合的乙個能夠解決問題的思想集合。在這學期的課程中,加深了對軟體工程的理解,軟體...