1. 程式人生 > >以CSDN app 為例 軟體工程 案例分析

以CSDN app 為例 軟體工程 案例分析

在很多開發人員和IT專業的學生都在移動裝置上學習、工作,在移動裝置上的APP 能滿足這類目標使用者的需求麼?

為了回答這個問題,我們以CSDN app為例,進行一次較為全面的案例分析:

一、調研與評測

經過我為期10天的使用,找到以下兩個較為嚴重的功能性bug:

1.圖片放大bug:在PC端的網頁CSDN中,對於部落格中的圖片,當滑鼠位於圖片上時,游標由箭頭變為放大鏡符號,單擊滑鼠,圖片懸浮於頁面上並且進行了放大;在CSDN app中,對部落格中的文章進行單擊,沒有任何變化,用兩指進行拉伸操作,只有滾動條發生了變化,部落格和圖片均沒有任何變化。這個功能對於圖片較小,難以看清楚的情況下還是非常的有用,我認為是個比較嚴重的bug。

 

2.連結失效bug:所寫的部落格中若含有部落格標題連結,理論上進行點選時,應該轉到相應位置處,但在CSDN app中單擊文章中標題連結,除了字型顏色變化,沒有任何反應。但在網頁的CSDN中,單擊這樣的標題會連結連到相應的部分。但對於超連結來說,點選卻是可以達到跳轉的效果的。

 

 

使用者採訪

採訪物件:西安交通大學自動化系同班同學:塗同學

使用照片:

 

1.採訪物件背景和需求

採訪物件是西安交通大學自動化系大四學生,程式設計能力較強,有比較豐富的專案經歷和競賽經歷,經常使用CSDN寫部落格,以及使用CSDN學習一些新知識新技術,解決遇到的技術問題已經使用CSDN2年多,對CSDN app有一定的瞭解。主要的需求是記錄分享自己的學習內容以及學習新的技術和知識,以及解決技術問題。

2.測評軟體功能

 

3.軟體使用者體驗優缺點

 

4.使用者使用體驗以及建議

 

 

結論:

 

二、分析

1.軟體開發週期估計

團隊一共六人,且均是計算機大學畢業生,有專業的UI支援

我主要構思了一下這個軟體的編寫過程以及所消耗的時間

市場調研:調查目前該類軟體使用的痛點,和目前相似產品的市場佔有率,提出相應的功能需求和對應的解決方案(一週時間)

設計文件:調查清楚了使用的需求,以及產生初步解決方案之後便需要寫初步的設計文件,估計專案時間,進行任務分工,制定統一的編碼風格,並且制定各個功能完成的deadline(三天時間)

詳細設計:從現在開始對於獨立的功能(主要分為搜尋,關注,論壇,我的,UI設計五個功能,五人分別負責,一人總覽全域性,編寫整體程式碼),就可以不同的人並行的進行工作了,明確了軟體的總體設計之後,就需要一步步詳細的設計每一個功能實現(四天時間)

實現設計:設計的工作已經全部完成了,現在就要開始一步步實現所期望的功能,開始編寫程式碼的工作,這個階段是並行完成的,最終時間取決於功能中最複雜的那一個(假設團隊每個人的能力是差不多的),這裡應該是搜尋的功能最為複雜(三週時間)

程式碼自測:這個階段各個功能已經全部實現,需要先進行自測,測試發現bug,需要修改設計文件,以及編寫的程式碼,測試感覺是大廈已經建成後20%的修補工作,但實際上卻要耗費開發的80%的時間,才能保證我們的軟體能夠使用(兩週時間)

程式碼他測:因為自己寫的程式碼會蜜汁自信,因此可能會遺留下一些難以注意到的bug,這個時候就交給隊友進行程式碼互審,同樣的也會發現大量的bug,這同樣需要進行設計文件的修改以及程式碼的修改,這裡測試和之前測試就包括以前學到的單元測試,迴歸測試,以及效能分析,這一步需要隊友熟悉彼此的程式碼,需要多花一點時間(三週時間)

程式碼合併:各個功能板塊目前都已經全部完成了,這一步需要合併所有功能板塊的程式碼,生成app軟體原始碼,這一步也同樣可能出現bug,所以也需要花些時間(一週時間)

完整測試:整個軟體雛形已經做出來了,需要做一些功能的全面測試,出現bug仍然需要進行修改。(兩週時間)

到此為止我覺得第一個版本就可以release了,總共花了:1+1+3+2+3+1+2 = 12周時間,但目前這個程度應該還沒有達到要求最後一個階段

使用者使用反饋測試:測試是永遠沒法完全覆蓋所有使用者可能遇到的問題的,所以軟體release之後,交給使用者去測試一段時間吧(八週時間)

綜上所述,這款軟體做到這個程度我估計需要20周的時間。

 

2.軟體目前的優劣:

優勢:

a.

劣勢:

a.

3.bug未修復原因估計:

 

4.開發團隊問題:

 

 

三、建議和規劃