天天看點

個人作業收官——軟體工程實踐總結

王婷婷031402341

一、不忘初心

開學初的第一篇部落格: 軟工實踐----自我目标

1.對比現在的我和開學初部落格開篇的課程目标和期待

(1)開學初的我

  • 對項目完成後學習到的能力的預期
  • 提高代碼的品質,寫出結構清晰,邏輯規整,一般人都能讀得懂的代碼。
  • 提高自己的語言表達和交流溝通能力,扮演好自己在團隊中的角色。
  • 了解軟體開發的整體流程。
  • 對項目課程的期望
  • 其實個人感覺對項目課程的期望的話就是第三點--對項目的期望,就是希望真的可以通過團隊合作,做出一款既實用客戶體驗感也好的軟體
  • 對項目的願景規劃
  • 做出一款既實用客戶體驗感也好的軟體。

(2)現在的我

  • 對比開學初對項目完成希望學習到那三點的能力,我覺得自己可以算是很好地完成了,經過這次軟工實踐,自己的編碼能力、修複BUG能力、代碼品質、團隊中的語言表達、交流溝通都有了不錯的提升,特别是編碼品質這一方面,對比以前自己做的項目(比較小)而言,以前全部都是自己在寫,幾乎沒有什麼編碼規範,都是想怎麼寫怎麼寫,想怎麼命名怎麼命名。但是這次由于是團隊合作,編碼規範都是經過商量和讨論出來的結果,大家都隻能嚴格按照這個規範走。這次實踐中我也深刻體會到編碼規範的重要性,良好的代碼規範對整個項目的開發過程,特别是後面查BUG的時候有着至關重要的作用!
  • 課程的目标就是我課程的期待,對比開學的這個點,貌似完全跑偏了,開學初是在一個安卓組(後面由于個人原因和當時棟帥的需求),後面調換到一個PHP組,是以就沒做出一款既實用客戶體驗感也好的軟體,但是搞了個超級好用(恩,沒錯,就是這麼自戀)的系統出來!!!
  • 最後用一個表情表達對比了開學初和現在的自己吧!!
    個人作業收官——軟體工程實踐總結

2.總結這門課程的實踐給我帶來的提升

(1)學習和使用的新軟體:

  • 個人作業收官——軟體工程實踐總結
    licecap,一款螢幕錄制工具,支援導出 GIF 動畫圖檔格式,輕量級、使用簡單,錄制過程中可以随意改變錄屏範圍
  • 個人作業收官——軟體工程實踐總結
    markdown工具,最初開始寫markdown的時候基本上就是寫一點,釋出,看一下行不行,不行再改(實在笨)這個工具還是蠻好用的,可以邊寫邊看,左邊編輯右邊就能看到。
  • 個人作業收官——軟體工程實踐總結
    Typora ,還是一款markdown工具,對比Mou的話,我會更細化Typora,主要是這款加圖檔和寫表格真的是很贊( ⊙ o ⊙ )啊!
  • 個人作業收官——軟體工程實踐總結
    Sublime ,PHP編寫工具(一直都有在用,不過發現了一些之前沒注意到的超級好用的地方,是以就也蠻寫進來。)超級超級超級好用,強勢安利!!
  • 個人作業收官——軟體工程實踐總結
    , Processon,一個作圖網站,好用到爆炸,UI-原型圖、UML圖、Mind思維導圖、流程圖......,隻有你想不到,沒有他做不到(我也不知道寫着寫着怎麼就打起廣告了)
  • 個人作業收官——軟體工程實踐總結
    Axure RP8,一個還不錯的原型設計工具!

(2)學習和使用的新工具:

  • 個人作業收官——軟體工程實踐總結
    GIT、GitHub,用到現在算是發現他的好處了,剛開始用的時候真的是一把辛酸淚!
  • 個人作業收官——軟體工程實踐總結
    licecap,一款螢幕錄制工具,支援導出 GIF 動畫圖檔格式,輕量級、使用簡單,錄制過程中可以随意改變錄屏範圍,很友善!

(3)學習和掌握的新語言、新平台:

  • 個人作業收官——軟體工程實踐總結
    這個就真沒有了,這次我主要還是寫背景(PHP),是以沒有什麼新語言,亂扯的話,算是學了一個新架構ThinkPHP。
  • 個人作業收官——軟體工程實踐總結
    使用gitbub對整個項目進行管理,在github上你不僅可以看見自己的進度如何,同時也能看見隊友的進度,有助于提高團隊開發的開發進度!

(4)統計一下,我在這門軟體工程實踐中,完成了多少行的代碼:

  • 個人作業收官——軟體工程實踐總結
  • 圖檔有點誇張啦,顯示才不是那樣。。.背景部分1500+左右,前台(指派,這個我真的好難講寫了多少,靜态頁面是隊友寫的,我是在頁面基礎上進行指派以及邏代碼邏輯的),一共8個頁面,加起來差不多2000+吧。前背景加起來,非常勉強的有3500+。其實上次助教對我們組(我說的都隊)的評價中提到我們組代碼量驚人的時候,我還是很震驚的,相比于其他APP組,他們代碼量基本上是每個人随随便便就7000+來說,PHP實際上沒有那麼多代碼量。項目中大多數代碼其實是我們這次用的ThinkPHP自帶的(⊙﹏⊙),然後助教提及到的 exit什麼的也是架構自帶😳

學習和掌握的新方法;

  • 應該就是ThinkPHP架構的各種各種各種吧
  • markdown編碼、寫部落格的能力和水準也有一定程度的提高。

其他的提升:

  • 深刻了解了軟體開發的整個過程:需求分析->原型設計->編碼規範->正式編碼->黑白箱測試等
  • 在團隊中的交流溝通能力也提高許多,一起編碼,一起解決BUG的日子真的很美好!當然是在不熬夜的情況下!!
  • markdown編碼、寫部落格的能力和水準也有一定程度的提高,别看我是個做背景的,之前(換組前)還是寫過幾篇部落格的。

二、人月神話

1.進度把控

  • 千萬不要拖延症啊~
  • 重要的事情多說幾遍~ ~ ~
  • 棟哥的軟工實踐任務還是蠻重的,需要合理安排時間、規劃任務、按時完成,也隻有對進度有較好的把控,才能做出不錯的産品,通宵熬夜趕出來的大多不是什麼好作品。雖然我們組熬夜次數算得上是最少的,但是僅有的那幾次熬夜經曆已經十分痛苦,團隊的情緒變得煩躁不安、開發效率低下,對身心都有不良影響。是以那些有拖延症的童鞋們,真的真的要注意了!

2.交流溝通

  • 交流溝通很重要~
  • 恩,重要的事還是要多說講幾遍~~(我才沒有在湊字數)
  • 這次是我第一次和其他人一起合作來共同完成任務,雖然沒說前後端分離,但是和前端的溝通(我做後端的)還是十分重要的,記得Alpha版本時,學生的可選導師頁面有個小疑問,當時覺得也不怎麼重要,就按照自己的想法寫了,結果就GG了,然後就返工啦,是以啊,大家對任何小細節有任何小疑惑都要記得及時溝通交流避免不必要的麻煩。

三、建議期許

1.對于自己:

個人作業收官——軟體工程實踐總結

2.對于棟帥:

  • 建議布置寫部落格的時候,作業的截止時間可以結合普遍存在的拖延症設計的合理一點,比如說這一次最後的個人總結吧,其實靜下心來,邊聽歌邊回憶邊寫部落格時間相當享受且有意義的活動。但是這次時間點定在12.31号,要知道好多人接下來4-9号可都是有考試的啊,是以現在就變成,一邊煩躁的複習,一邊煩躁的寫部落格。。。。
  • 然後就是作業分值計算問題了,有些團隊總體得分較高,但團隊裡工作量配置設定差異大,二者的分數居然差别不大。還有些團隊,團隊分數低(估計是組長部落格沒寫好吧,個人意見哈),但團隊中可能有個人做了很多事情,分數卻不盡人意。

3.對于後來人:

  • 選擇棟帥的軟工實踐,一定要三思三思再三思。因為一旦選擇軟工實踐,就意味将來可能一大段時間内,在你舍友們在看電視劇、看電影、打遊戲、逛街等時間你必須待在電腦前編碼,甚至夜深時分,當其他人早已入睡,而你還在編碼(我所在的團隊由于組長對項目的進度等都比較上心,是以我們熬夜的頻率的力度應該是所有組最少的吧。但還是又一次噩夢般的加班,貌似是晚上8點多開始一直到淩晨6點半,恩,沒錯就是6點半!!)
  • 我沒什麼技術,我能選軟工實踐嗎?能,當然能,但你必須清楚知道,這意味着你之後需要付出更大的時間和精力投入(當然那些渾水摸魚的我就不說了)
  • 我有點拖延症、行動力低下,我能選軟工實踐嗎?隻能告訴你不能,或許你聽我張棟的介紹後覺得滿腔的熱血,感都快抵擋不住洪荒之力了,但你最好還是别選,這類人進去之後基本也就是買買宵夜打打雜,何必累人累計呢。
  • 團隊的選擇很重要,特别是組長更是如此,我覺得我們團隊今天成績絕大部分功勞是我們的PM。PM不一定要是技術大牛,甚至可以一點都不會,但要有很強的責任心、能夠調動起組員參與活動的積極性、對整個項目要有很清晰的把控....(省略1000+),反正就是組長很重要啦,認真選!
  • 上面那一點不是說組員就不重要哈,組員是項目編碼的勞動力啊,是以剛開始組隊的時候最好對隊友有所了解,比如PHP組,肯定要有至少2類人,一類會前端、一類會PHP,會的帶動不會的,要是整個組沒半個人會的話,那事情就搞大了!

四、團隊分析

團隊成員 : 陳燊、許玲玲、胡心穎、王婷婷、陳齊民、黃偉炜、鄭揚濤
團隊合照 :
團隊特色 :都是大佬的團隊啊:西二大佬、ACM大佬,抱不完的大腿!
《建構之法》的團隊發展的階段:萌芽階段、磨合階段、規範階段、創造階段。
  • 萌芽階段:剛開始的時候是在另一個組(TAC),後面調換到這個組的,是以基本沒有什麼萌芽階段。
  • 磨合階段:以前寫代碼基本上都是一個人在做,沒有什麼磨合不磨合的,但是進了一個團隊之後就不一樣了,你的很多習慣(包括編碼等等的各種)可能和其他人大不相同,需要多多傾聽他人的意見、建議、想法等,慢慢地就變得更有默契。
  • 規範階段:經過幾周的磨合與适應,大家的一些習慣(編碼規範等)都漸漸變得統一、規範,十分懷念那段在活動室中一起寫代碼、調BUG的日子。
  • 創造階段:經曆alpha版本、bate版本,我們的分工越來越明确、合作效率越來越高效,大家也越來越活潑,一起變嗎就變成很愉快且享受的事情。

     

      

五、代碼品質

參考論文文獻

  • [1] Stamelos I, Angelis L, Oikonomou A, et al. Code quality analysis in open source software development[J]. Information Systems Journal, 2002, 12(1): 43-60.
個人作業收官——軟體工程實踐總結
個人作業收官——軟體工程實踐總結

評價代碼品質的名額有很多,我覺得最最重要的就是可讀性、可用性!

  • 可用性這點還是很符合條件的!
  • 可讀性的話,這點也還可以,上面兩幅圖是這次軟工實踐中的代碼,在智能提示上面吃了許多虧之後,寫消息提示就變得規範多了,加了許多注釋,生怕下次又不記得在寫什麼了!

六、軟工證明

1.研發出符合使用者需求的系統

  • 畢設導師互選系統,幾乎沒有哪個需求是尚未完成的,給一些同學使用後,得到的回報情況也都是 UI美觀簡潔、功能齊全等大寫的👍👍
  • 畢設選導-使用者調研報告
  • 畢設選導-産品宣傳方案
  • 畢設選導-Github項目位址

2.有計劃、有安排的項目開發

  • 經過多次的需求分析讨論、原型界面修改、項目維護等過程,且組長任務安排合理,組員也都能保質保量的完成,(基本)沒有熬夜、沒有延遲托付!!
  • Alpha 版本 - 10天沖刺
    個人作業收官——軟體工程實踐總結
  • Bate 版本 - 7天沖刺
    個人作業收官——軟體工程實踐總結
  • Issues 記錄
    個人作業收官——軟體工程實踐總結

3.軟體可維護、可繼續發展

  • 1.畢設選導-Github項目位址項目提供使用者指南,詳細說明各個角色使用者使用系統的方法
  • 2.畢設選導-産品宣傳方案特色的産品宣傳方案
  • 3.畢設宣導-接口文檔詳細說明各個接口相關資訊

七、關于自己

一個 活潑可愛、善解人意、(王)婷婷 玉立、表情包很多 的PHP小公舉!

個人作業收官——軟體工程實踐總結