軟工我的總結

1、回望開學初對於軟件工程課程的想象,回望博客開篇時對於這門課和這學期的指望

  • 對比開學初的想象指望:通過了這學期的軟工實踐,我對一個軟件的開發過程有了一些比較清楚的瞭解,算是基本實現了開學初所想的瞭解軟件開發過程的打算。當時我以爲結果怎樣並不重要,事實也確實沒想象中的那麼美好,做爲第一次編寫的軟件,咱們的做品還有不少的不足與問題,並無達到作一個實用、有情懷的軟件的目標。不過在這個過程當中也算是入門了安卓開發。
  • 軟工實踐帶來的提高:從《構建之法》中瞭解到軟件開發中要考慮的不少方面和規劃;在結對編程中領略告終對帶來的好處;團隊開發中對和他人合做、代碼的編寫規範、以及共同解決問題有了新的瞭解,並提高了一點代碼水平,多弄懂了一些零散的知識。
  • 學會使用的新工具:主要學會了使用Android Studio 和 Git 以及GitHub的使用,Git結合GitHub使用,功能不少,有不少的命令行,到如今我也仍是隻會用一點簡單的功能,還有不少的東西要慢慢掌握,Android Studio確實是一個很強大的IDE,有不少的功能還沒用到過,就是比較佔內存,gradle很耗CPU。以前的結對編程中用到了原型設計工具Mockplus,上手仍是很快很方便的。還有就是寫博客的markdown工具。
  • 學習的新語言、平臺:Java和安卓,不過基礎不是很牢固,還要花一些時間進一步學習。
  • 完成的代碼量:此次我負責的主要是功能模塊的部分,寫的代碼並很少(我也有些偷懶),沒有統計具體的代碼量,大概幾百到一千行左右吧,還有各類小修改。總的來講,能力上仍是有不少不足,在不少時候都作不到本身想要的,在學習的過程當中也只是不斷地進行嘗試、各類修改,還有待提高。
  • 學習和掌握的新方法:主要是結合教程和別人的博客來進行學習,並結合本身的編碼實踐。

2、項目實踐中的經驗總結+實例/例證結合的分析

  • 總結:如今我只能算是個初學者,並無太多的經驗,只能先談談在學習過程當中遇到的問題和一點感想吧。在項目開發前先把基礎的知識補好會省下以後的不少時間,另外最好多進行嘗試,在嘗試中能夠加深理解並熟練掌握,只是看博客教程而不實踐的話最後仍是不會。雖然有些工具在剛開始用的時候會讓人感到很麻煩、不習慣,好比git,在使用的時候總以爲各類繁瑣的概念、命令很不方便,但熟悉以後會發現它對於項目的管理和團隊的開發是頗有幫助的。團隊合做不是我的開發,要注意總體的進展,和隊友及時討論交流,這樣才能更好地進行開發。
  • 分析:咱們軟工主要階段在alpha版的衝刺,中間也有不少的問題,首先是分工方面,咱們主要分爲兩部分,兩我的寫功能部分,五我的寫界面部分,每一個人都有分配一些負責的部分。不過在協同方面作得不夠好了,界面部分不一樣人寫的風格都有些不一樣,致使一些地方爲了要協調一致花了一整晚修改,邊改邊吐槽,另外代碼命名規範也很差,一些命名亂七八糟的,也被隊友吐槽,修改起來挺麻煩的。此外熬了幾夜並無提升多少效率,開會時效率也不高。總之,軟工是一羣人的事,在分工協同方面有不少的事要作好,不然只會多不少麻煩和浪費時間,最好訂好各類規範並嚴格執行,不要熬夜趕工。

3、對下一屆實踐的建議,對於後來人的期許

  • 建議:軟件工程的重點仍是在於實踐,建議想對軟件工程多點了解和參與團隊開發的同窗能夠選擇這門課試試。雖然棟哥的要求會比較多、也比較嚴格,不過只要認真參與,不抱着混一混的想法,仍是會有不少收穫的。
  • 期許:咱們這一屆的要求是作一款有情懷的軟件,不過真正作到的並很少,剛開始的時候每一個人都暢想了不少,等到實踐時才發現不少事情並無想象中的那麼輕鬆,作一款真正有用且有情懷的軟件仍是挺不容易的。其中有不少因素,我的的代碼水平、團隊的水平、組長的管理水平、團隊的積極性、凝聚力、軟件設想的合理性...所以,對於後來者,我只想說,在大家的能力還撐得起野心的時候盡力把想作的作好吧!我的認爲軟工實踐的過程比結果重要,但結果仍是很讓人在乎的,因此,仍是應該認真對待。

4、團隊分析

  • 《構建之法》中講到的團隊的發展有「萌芽」、「磨合」、「規範」、「創造」四個階段。咱們的團隊經歷過了「萌芽「和「磨合「階段,如今應該處於「規範「階段,我的認爲沒有達到「創造」階段。從剛開始的各類不懂到如今比較清晰的安排分工,咱們多少達到了必定程度的規範,不過仍是欠缺必定的凝聚力,在技術能力上也仍是有須要提升的地方。總之,仍是有不少進步空間的。


5、閱讀軟件工程中關於代碼質量的的經典論文,從下列文獻中選擇一篇或若干篇,結合本身的實際作一個閱讀筆記(例如,本身寫的代碼質量如何,是否是一個大泥球,如何衡量本身代碼的質量)?

  • 大概地看了一下給的第一篇論文,主要講了開源軟件開發模式與傳統軟件開發之間的一些對比,論文有點長,並無細看。鑑於我的代碼水平並不高,沒有達到必定的高度,另外也因爲英語水平過低了,可能要過一陣子才能領會其中的一些思想吧。。。


6、怎樣證實學會了軟件工程?

1)研發出符合用戶需求的軟件
必須公開發布,有實際的用戶,必定的用戶量和持續使用量 (3 天后能保持10 - 100個用戶);而不是: 作沒有用戶使用的軟件
2)經過一系列工具,流程,團隊合做,可以在預計的時間內發佈 「足夠好」 的軟件
有項目規劃/需求/設計/實現/發佈/維護,有定時的進度發佈 ; 而不是: 經過臨時熬夜,胡亂拼湊,大牛一人代勞,延遲交付等方式糊弄
3)而且經過數據展示軟件是能夠維護和繼續發展的。
而不是 找不到源代碼,代碼無文檔,代碼不能編譯,沒有task/bug 等項目發展的資料git

  • (1) 咱們的軟件有公開發布,可是因爲還存在一些bug,並且還有一些功能上的欠缺和設計得不夠好的地方,因此暫時還不能作到有用戶使用和維持必定的用戶量,這其中也有個人責任,軟件的註冊部分存在會崩潰的bug,如今還不知道怎麼解決。只能說暫時還作不到。
  • (2) 在一段較短的時間內經過一系列工具、流程、團隊合做開發出「足夠好」的軟件,我相信這對於咱們來講仍是可以達到的,雖然如今技術還不夠好,不過經歷了此次的軟工實踐,對於各自分工要作的事仍是有了比較清楚的認識,再進行開發應該會更熟練,剩下的就是技術和團隊合做上的提升了。另外咱們組並無大牛,代碼分工也比較平均,基本上也有按時交付,大致上來講仍是有規範的。
  • (3) 代碼在GitHub上都有,每次的commit都有對應的說明,一些問題也有對應的issue,就是文檔可能沒有寫好。至於代碼的可維護性,這我也不太清楚,不過在一些功能模塊仍是有對應的註釋的,若是有人要繼續改進咱們的軟件,根據註釋理解代碼內容應該不會有太大的問題,問題可能就是一些命名不夠規範。咱們的代碼有用到Bmob的數據庫sdk,各類操做在官方文檔上都有詳細說明。

7、相處一學期不易,課堂和課程上,咱們將就此別過。惋惜學生匆匆,時光匆匆,認識和了解的同窗卻不多。另外我年紀漸長,記憶日衰,會遺憾有時候我連個性或名字都沒有記住。寫一段話,介紹下你本身吧。

  • 自我介紹就免了,我的不太喜歡這樣,並無什麼特別想說的,就這樣告一段落吧。
相關文章
相關標籤/搜索