M1m2分析報告


個人博客鏈接:

 http://www.cnblogs.com/kjzxzzh/p/4074386.html

http://www.cnblogs.com/kjzxzzh/p/4027699.html

 

雖然這學期我對軟工這門課一直抱怨很多,覺得很辛苦而且效果不大。但到現在,做完整個工程后慢慢回想,才意識到其實在這門課中學到了很多,也能理解老師的各種要求。非常感謝老師在這一學期的監督指導。

我的主要工作:

個人作業(單詞搜索程序):

這次的程序相對而言我比較滿意(就成績而言),但是其實代碼中存在很多問題。比如:沒有用好面向對象的技術,導致程序既不像面向過程,也不像面向對象。代碼可能自己讀起來比較輕松,但是交給另一個人可能就是天書了。
第二個不足的地方是剛開始對自己的信心不足,只想完成最簡單的任務(一個單詞搜索),慢慢寫完后發現自己還是有很多余力來完成高級任務。在這一修改過程中,我發現需求改變對程序來說意味着多么大的災難,尤其是對一個“泥球”程序。最終導致自己的程序冗余度極高,執行效率很低。

結對編程作業:

這次編程可以說是我最開心的編程經歷之一,我和隊友張迎春比較熟,他也是一個很好相處、很能包容我的錯誤的人。在這次作業中,我感受到了結對編程的魅力:我能從交流中更加快速的發現自己的錯誤,能在對方的監督下使自己的程序風格編的更好,能夠在交流中擴展自己的思維等等。這次編程可能是我本學期最滿意的一次作業。

M1/M2階段:

完成程序歡迎界面
這個工作對我來說最大的難點在於我是第一次接觸android開發。從零開始學起,在組長幫助下完成了android安裝調試和基本的語法結構。這段代碼的難度其實不是很大,但由於經驗的不足還是花了很長時間。
完成程序主界面設計和實現:
這個部分主要任務是設計ui、獲得用戶的輸入、完成在不同頁面之間的通信。這段程序的難度也不是很大,能比較輕松的完成。
設計推薦菜單:
主要任務是使用PageView、網絡異步加載圖片、連接API獲取信息。這部分工作中,前兩個在網上都有很多資料,也能比較好的完成。但是連接API文檔出現了很多問題。個人根絕這個API不是很好,他的接口說明也不是很清楚,所以程序經常崩潰,花費了大量時間。
在這個過程中,我明白了什么才是一個好的API:有完整的接口說明文檔,這樣使用起來才能避免錯誤。
進一步,什么才是一個好的程序塊:有完整的接口說明文檔,程序塊之間獨立性較強。只有這樣的代碼段在一個工程中在能算作是好的代碼,當程序進行集合的時候,不會因為調用而產生錯誤。也不會因為兩個人對程序理解的偏差導致程序作廢。

M1/M2階段問題和反思:

 

1.交流問題。

 

可以說我們組的成績非常差,我也認真思考了這個問題。我覺得最大的不足在於我們組交流過少。我們團隊的組成比交復雜,包含了6、7班的不同成員,大家的熟知程度很低,所以交流起來不是很方便。更大的錯誤是我們沒有意識到這個問題,我們在m1階段也沒有認真的讓隊員之間增加默契,只是單純的分配任務、個人完成任務。缺少必要的交流使我們產生了很多問題:
沒有完整詳盡的文檔,組合大家的代碼變得非常困難。
ui是每個人單獨設計完成,這樣導致我們的程序在初始階段感覺風格變化很大,像是碎片而不是一個完整的程序。最后經過組長和大家的努力才彌補這個錯誤。
缺少白盒測試,由於測試人員和程序員之間缺少交流,導致白盒測試這一方面存在缺陷,測試可能不是很完整。

2.文檔問題。

最初分配任務的時候沒有設計文檔,導致大家的程序差別很大。這樣的后果是:
自己的程序只能由自己維護,別人根本不懂自己的程序。
功能擴充變的非常復雜。
程序組合很困難。

3.時間分配問題

這個問題是我(和我們團隊)在m2階段最大的問題,在這一階段,很多大作業都要提交,大家都或多或少的忽略了軟工作業,最后導致我們在軟工作業提交前時間很緊張。

4.任務分配

這個問題主要也是“抱大腿”的問題。據我了解,至少在我們這門課中所有的團隊都存在這一問題。在這次作業中,隊長丁辛的任務量非常大,有的人卻基本感覺不到這門課的存在。但就我個人而言,我還是很努力的完成了我所有的任務。

之后計划:

我覺得理解和學習軟工這門課最好的辦法就是實踐,當完成一個項目后,可以嘗試和不同的人、差別更大的人組成一個團隊來完成項目開發。在寒假我也准備和我高中同學來組隊,做一些感興趣的程序。他們都來自於不同的大學,也希望我們能在這個過程中學到更多。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM