【軟工】提問回顧與我的總結

本篇博客是對軟件工程這門課一學期的總結。
問題博客:【軟工】第一次閱讀做業html

1、回答問題

問題一:結對編程適合於全部項目嗎?

其實如今回想起來,這應該是一個不太好的問題。經過老師的講解,以及本身結對做業的經從來看,結對編程比較適合那種代碼量不算多,可是對於邏輯、代碼規範等方面要求比較高的項目。由於兩我的同時編程在必定程度上會下降工做效率,因此比較適合那種一我的搞不定的狀況。好比說團隊項目這種分工比較瑣碎的項目,結對編程的效果可能就不太好。因此,結對編程並非適合全部項目。前端

問題二:代碼規範

可是提出的問題是對於在頭文件裏定義全局變量是不是很業餘的行爲。在經歷告終對編程和團隊做業以後我認爲,其實全局變量在一個項目裏面是能夠不存在的,能夠經過多種方式來替換全局變量。同時,在咱們的項目中,應該儘量的避免使用全局變量,尤爲是在一些和線程有關的項目中,由於不能保證其值的可靠性。因此,我認爲,在頭文件裏定義全局變量是一種不太好的習慣。git

問題三:goto語句的使用

關於「goto」無用論有不少說法,反對goto語句使用的主要緣由在於使用以後便沒法控制程序的運行邏輯(由於容許程序指令按任何順序執行),這樣無非會形成不少新的問題,因此如今個人答案是應該避免對goto語句的使用。github

問題四:團隊開發的模式

原問題:如上引用,團隊開發的模式有如此之多,並且不一樣的模式適合不一樣的項目。既然有這麼多模式存在,也就是說咱們在開始一個項目以前,都須要根據咱們的項目首先選擇適合本身的模式嗎?仍是說團隊開發模式只是一個抽象概念,用於後續的總結而不須要在開發前選擇。編程

在經歷了團隊做業後,我以爲團隊開發的模式實際上是次要的。在一個團隊內部,採用何種開發模式不重要,只要每一個人各司其職,合理的分工,項目的進展天然會很快。後端

問題五:項目經理的做用是否是被誇大了?

項目經理在整個項目的開發過程當中毫無疑問是其核心樞紐。在咱們的團隊項目中,PM須要作的事不少,包括咱們項目須要實現的功能,項目規格文檔的撰寫,項目的發佈說明,以及每次會議的總結,因此,結論是,其做用並無被誇大,而是PM真的很重要。機器學習

問題六:創新和構思

提出這個問題的原因是每屆軟工課作的那麼多項目,其效果都蠻不錯的,可是爲啥最終發佈的或者說被人所知道的項目很少呢?在經歷了這學期的軟工以後,我得出的結論是:時間不太充足。大三每每是你們比較忙的時候,保研考研或者出國的同窗都開始準備了,因此可能不會有太多的時間來準備軟工課程,因此對於後期的發佈就不可能話費太多的時間,天然不爲人知。學習

問題七:是選擇冒險仍是從衆呢

現現在機器學習毫無疑問是計算機比較火熱的一個方向,我當時比較迷惑的是如何選擇本身的方向,可是現在我已經找到了本身的興趣點,因此說這個問題已經不重要了。測試

2、新的問題

軟件工程這門課的不少考覈我以爲有點過於形式化了。好比說每日一次會議,期末考覈不重點考察項目的代碼質量以及實現方式是否科學而是考覈用戶數量等用戶層面的東西,這對於一個才一兩個月的學生項目來講感受意義不是很大。固然這門課確實不太好考覈,因此這個問題仍是有待商榷吧。網站

3、學到的知識點

需求階段

在現在的軟件開發中,用戶需求永遠是第一須要考慮的事情。若是一個軟件開發出來沒人使用那麼即是「很差」的項目。在這一階段,咱們小組在作過一些調研以後,學會了一些如何分析某個項目是否爲當前用戶所需的方法。這些方法支撐咱們完成了咱們的網站。

設計階段

在咱們的網站開發過程當中,個人工做是後端開發,具體即是根據前端返回的數據生成對應的代碼。這個工做從難度上來說是不算大的,可是若是要符合軟件工程的一些規範,天然須要下很大功夫。在alpha階段,因爲設計的不合理,致使後來的gamma階段幾乎重構了全部代碼,因此我也懂得了設計的重要性。

實現階段

在設計好了以後,實現實際上是最簡單的事情。這裏就只須要考慮如何優雅的實現而不須要考慮其餘的好比可擴展性什麼的。在這個階段,個人主要收穫即是對github的熟悉程度又加深了一些。

測試階段

我不是負責測試的,在這一階段收穫的主要是debug的一些方法吧。

發佈階段

咱們的項目因爲後期測試的緣故,發佈時間比較趕。因此收穫即是時間的合理安排吧,不要臨時抱佛腳之類的。

維護階段

在作好一個網站以後,主要工做即是維護了。雖然咱們的開發工做結束了,可是咱們小組還在繼續完善咱們的網站,畢竟是一個學期的成果,總仍是但願她變得更好的。

4、理解和心得

這學期的軟工我經歷告終對編程和團隊編程。

結對編程階段,這感受應該是這門課最耗時的階段了。一開始咱們兩我的彼此的配合不太好,咱們各自擅長的地方不太同樣,因此走了不少彎路,致使後來的測試作得也很少,因此錯了不少不應錯的測試點。可是後來,隨着時間的推移,結對編程的做用逐漸凸顯出來,因爲咱們兩我的平時是利用teamviewer來聯繫的,因此一我的在寫代碼的時候另外一我的在看,這樣的開發模式一開始我不太理解,可是慢慢的,忽然以爲仍是頗有用的。也算是學會了一個新的開發模式。

在團隊開發階段,最大的收穫即是懂得了設計的重要性,一個好的設計或許比實現更爲重要,這也讓我想起了大二在計組開發的時候高小鵬老師說過要認真設計,不要忙着寫代碼。同時,我也收穫了關於github的使用規範。在小組成員的提醒下以及本身開發所需,不得不對github有所瞭解,這促使了我去學習有關知識。

最後則是關於這門課程,總的感覺是老師助教都很是負責,課程的整體設計也是能夠的,雖然感受考覈啊這些方法能夠改改。這段經歷應該會很難忘吧。

相關文章
相關標籤/搜索