目錄
- 一、個人提升
- 二、寫下屬于自己的人月神話
- 三、對下一屆、后來人、自己的建議
- 四、我的團隊——Clover
- 五、關于代碼質量
- 六、學過軟件工程?
- 七、自我介紹
- 八、個性發揮
一、個人提升
1. 開學初的目標
希望通過團隊合作領會團隊合作的內在精神,希望在分工完成項目的過程中鍛煉自己的專業實踐能力,能在團隊中發揮作用。學習完成一個軟件項目的流程,細節。
實現了嗎??
- 實現了,Clover的分工從模糊到明晰,開發一個APP涉及方方面面,文檔、美工、編碼,每個人興趣不一樣,都有用武之地,Clover已經逐漸有了凝聚力,有了一個共同目標:開發PMD。從需求分析、確定選題、編碼規范、系統結構設計、github項目管理、兩個階段沖刺及審核、用戶體驗報告、宣傳文案,整個流程走了一遍,仔細想想,編碼只占20%是有道理的,創造一個有生命的軟件需要需要技術科學,也需要管理科學。之前學了java基礎,現在入門安卓,編碼實踐有一定的提升入門,后續繼續努力,從入門到精通,拒絕從入門到停滯。
項目可以用于解決實際問題,滿足一定數量的用戶需求。
實現了嗎??
- 基本實現,PMD在復習的時候自己用著還是挺不錯的,很多用戶反饋說其實在開學初那個階段可能更有用,期末大家還是會好好專心學習的。
2.學習和使用的新軟件
- Xmind思維導圖
- 墨刀原型設計
3.學習和使用的新工具
- github,學會用github管理項目,進行編碼協作,發布issue、建立milestone、版本管理,現在在合作其他實踐項目時也會想到用github協作。
4.學習和掌握的新語言、新平臺
- 安卓
- Android Stdio
5.統計一下,你在這門軟件工程實踐中,完成了多少行的代碼
github顯示2755++/924--,核心不多。
6.學習和掌握的新方法
- NABCD需求分析方法
- JUnit單元測試
7.其他提升
- 實踐過程中,在老師的時間安排,加上自己的時間安排,有序地完成任務,增強了合理安排時間按時完成任務的意識;編碼命名規范意識增強,現在寫代碼都會注意命名問題,努力提高自己代碼的可讀性,李先僧一直強調命名規范問題,嗯,我會好好注意的,認真看他的編碼規范;寫了挺多博客作業,文檔能力有了提升,會注意排版,內容組織,把自己做的事用文字表達出來,用文字記錄。
二.寫下屬于自己的人月神話
1.需求分析與選題確立
選題確立是經過小組討論決定的,每個人提出自己的想法,大家一起分析討論可行性,最后確定做實踐管理軟件。寫需求規格說明書的時候,按照國標寫,里面有很多要求,整份需求分析報告20多頁,我們的項目算比較小的,最后做出來的軟件界面和書里不一樣,已經顛覆,app核心思想沒變,功能實現基本符合需求書所寫的,有一些點還沒實現。需求分析很重要,應該要找真實有需求的用戶。我們小組打算繼續開發PMD,在繼續開發前應該再仔細做下需求調研分析,尋找PMD最真實的用戶,分析開發可持續性,再決定具體怎么做,減小風險。
2.編碼規范、系統結構設計
看李先僧的mvp代碼框架,模模糊糊懂了系統結構這東西了,大腦里有了系統結構這一概念,前端后臺分工獨立開發確實提高效率,代碼結構好,可維護性增強。alpha階段沒有看李先僧的編碼規范,那時候確實沒有團隊編碼規范的概念,有了經驗教訓,現在編碼規范意識增強了很多,在自己寫代碼的時候也會注意命名規范。
3.沖刺階段
在沖刺階段,由于自己的缺少安卓編碼經驗,做的只是簡單的界面編碼,測試,編碼經驗關鍵在于平時的積累,之后要加強自己的編碼實踐。由于有java基礎,所以入門安卓較快,遇到問題問李先僧,問度娘,學習過程中了解了怎樣使用庫,使用別人造好的車輪,也學習別人的代碼,試著自己寫了自定義view,希望自己能保持這種學習敲代碼的精神,學精一門語言。
4.用戶體驗報告
做真實用戶體驗的時候,發現我們離滿足用戶需求還有一定距離,前期需求分析要做得全面,在開發過程中,要階段性和用戶交流。
5.宣傳推廣文案
宣傳要找到宣傳點,自己的app要有殺手功能吸引用戶,這些問題在需求分析、軟件設計時就要考慮好。
三、對下一屆、后來人、自己的建議
對下一屆:選題的時候可以要確定核心功能,功能點在精不在多,要確保2個沖刺能夠完成,尤其是殺手功能,這樣子才能較為完整地走過軟件構建過程。
對后來人:大一大二課余時間還是比較多的,自己多做一些編碼實踐,至少學好一門語言,除了學書上的語法知識,自己要認認真真完成幾個小項目,有助于深入理解編程語言,在大三綜合實踐較多的時候就不用花很多時間在語言學習上,把時間花在提升專業能力上。推薦“做中學”的軟件工程教學模式。整理了博客鏈接,博客作業量蠻大的,所以要積累寫博客(寫文檔)經驗,提高表達能力,提高效率。
對自己:多學習,多實踐
感謝棟哥,助教,隊友~。很充實的一學期,當時選這門課是希望可以得到更多的鍛煉,目標達成。
四.我的團隊——Clover
- 隊友說這張圖P得很像全家福,是挺溫馨的,笑容很可愛,很溫暖。和這張圖一樣團隊相處十分和睦。我們成員來自3個宿舍,除了和舍友,和其他人都是不熟悉的,第一次選題會議大家都很靦腆,見面、站立式會議的時候也是靦腆的。最欣喜的是beta的那次會議,大家很自然地聊天,應該是在共同完成一個目標過程中增進了彼此的了解,所以大家可以敞開心扉了~李先僧說得沒錯,Clover缺少激情和活力。Clover成員的分工已經明晰了,大家相互配合,各盡所能。還沒吵過架,起過強烈爭執,所以覺得我們沒有經過磨合階段,又有點處在規范階段的樣子。軟工的另一個大收獲是認識了這個團隊的人~
五.關于代碼質量
- 評價代碼的指標有:完整性,可移植性,可重用性,可讀性、正確性、可測試性等,指標很多,這幾個指標應該是自己首先要努力達標的。可讀性是首要,自己的代碼命名一開始不符合編碼規范(很不想去看編碼規范,作死),可讀性不高,閱讀編碼規范,逐漸改進中;正確性和可測試性基本達標了;可重用性很重要,積累自己的代碼庫,但是這點達標率為0,要做到這點還需多學習、多實踐。
六、學過軟件工程
1. 研發出符合用戶需求的軟件
PMD符合一部分人的需求,還需要改進
2.通過一系列工具,流程,團隊合作,能夠在預計的時間內發布 “足夠好” 的軟件
有項目規劃/需求/設計/實現/發布/維護,有定時的進度發布 ; 而不是: 通過臨時熬夜,胡亂拼湊,大牛一人代勞,延遲交付等方式糊弄
- PMD有完整的需求規格說明書,編碼規范文檔;
- 用github進行項目管理:里程碑設定、issue發布、版本管理;
- PMD編碼是團隊成員通過github協作完成;
- 沖刺階段任務燃盡圖顯示,個人進度匯報;
- 在alpha、beta階段驗收都能正常演示;
- PMD完成后交付用戶并收集用戶反饋,進行是否繼續開發及如何完善的分析。
3.并且通過數據展現軟件是可以維護和繼續發展的。
github鏈接
- github上有PMD相關文檔、源碼,可以繼續開發、維護。
七、自我介紹
姓名:林錦
自我介紹:對許多事物抱有好奇心,喜歡大自然,隨性不隨意。希望自己不忘初心。
八、個性發揮
- 想放一張圖,不知道放什么圖,后來選了這張自己拍的這張圖片。原因是自己挺喜歡這張圖,清新,有自然的味道。貼近自己總結時的心情:平和、滿意。上完軟工課后似乎增進了和代碼的感情。