軟件案例分析做業

軟件案例分析做業

項目 內容
課程連接 2020春季計算機學院軟件工程(羅傑、任健)
做業要求 我的博客做業
課程目標 瞭解如何創造出一個足夠好的軟件
本博客的收穫 分析比較不一樣軟件的區別,提出本身的見解

第一部分 調研,評測

我選擇的軟件是CSDN的手機APP。CIT社區CSDN (Chinese Software Developer Network) 創立於1999年,致力於爲中國軟件開發者提供知識傳播、在線學習、職業發展等全生命週期服務。當在編程時遇到問題百度時,CSDN確定會在頭幾個連接中出現。若是有空想向行業內的大佬學習時,CSDN也有很是多優秀的文章可供參考。目前相比全部相似網站,包括博客園或者簡書,CSDN擁有更高的在線活躍人數。同時配合一系列的周邊擴展型領域發展,能夠說CSDN是中國全部程序員交流學習的第一選擇。程序員

一、使用10–30分鐘這個軟件的基本功能(請上傳使用軟件的照片

二、描述使用這個產品的過程,解決了用戶的問題麼?軟件在數據量/界面/功能/準確度上各有什麼優缺點?用戶體驗方面有問題麼?

這個APP給人的直觀感覺應該是麻雀雖小,五臟俱全。彷佛設計中想把它打形成美團那樣的應用,把PC版已有功能結合本身可以想到的全部功能所有塞在20MB的小小空間內。但問題仍然是沒有任何一技之長,每一個功能都沒有作到盡善盡美。面試

從總體上而言這款應用知足了普通程序員用手機的通常要求。畢竟對於程序員而言手機是打發時間而不是工做的場所,將全部功能,包括博客、評論、問答、商城等作到沒有BUG,可以運行已是大致知足要求了,但仍沒法吸引核心用戶付費使用。首先廣告過多。當我想搜索和C語言有關的內容時,彈出頁面以下所示:算法

能夠看到下載、問答、電子書都混在一塊兒。而且沒有其餘軟件搜索引擎那樣的依照熱度或者日期排序等功能,整體上看上去很是的亂。同時置頂的都是水平很是差的文章,可見在搜索環節只是作出了功能,但沒有以用戶爲導向,而是以商業爲導向。編程

在對面試題的測試中,首先發現的是對錯題集的整理中只是簡單的給出了正確答案,而沒有給出相關的延伸資料或者內容。死記硬背的方式顯然不利於面試者的備考環節。安全

在看完面試題後使用錯題延伸功能,本覺得會有相關資料做爲參考,結果給我推薦了一推廣告網課。我選擇的是系統運維類的面試,其中對LINUX入門還能理解,但我搞不懂推薦給我JAVA和Kotlin是什麼緣由。彷佛設計的結構只是不加甄別的海量推選。架構

整體上而言CSDN APP解決了用戶在手機端瀏覽博客,進行學習交流的需求,同時也爲平臺的開發者提供了盈利的空間,爲每一個用戶創造了個性化的空間。功能已經齊全了,可是在細節上還有待打磨。APP的優勢包括很是充分完整的功能、較高的活躍用戶數以及很是海量的博客和數據。缺點在於相比其餘同類產品,例如簡書或者leetcode的手機APP而言,CSDN APP界面和排版很是的混亂,而且摻雜了過多的商業廣告元素,致使用戶的體驗感很是差。app

我對該產品的改進意見是在手機APP上簡化沒必要要搜索功能,例如在手機端的搜索中就不必加入下載文件這樣必須在PC端才須要的內容,同時手機端如此海量的網課也很是多餘,個人建議是保留幾類適合在手機端瀏覽的精品課程,刪除必須在PC端學習的課程。同時在排版上,我認爲CSDN APP能夠向stackoverflow或者leetcode app學習,在部分板塊中給出固定的格式要求,讓讀者和博客寫做者可以更加清晰地分享知識並交流。運維

整體上我對CSDN APP的評分爲c),具體量化評分以下圖所示:佈局

類別 描述 評分 (滿分 10 分, 良好 6 分, 及格 4 分,聊勝於無 1 分, 不好 -3 分)
功能 核心功能 博客瀏覽,學習交流 8
細節 有什麼爲用戶考慮的細節? 小細節並很少,主界面底部按鈕體現了細節 7
用戶體驗 當用戶完成功能時,不干擾用戶 (例如: 是否不斷彈出不相關廣告)。 大量廣告,體驗較差 8
輔助功能 一些輔助功能如皮膚等 沒法快速找到輔助功能 6
差別化功能 這個軟件獨特的功能. 它對用戶的吸引力有多大? 活躍人數較多,相較同類APP有自然優點 9
軟件的效能 佔用內存, 啓動速度, 內存泄漏狀況 佔用內存較小,但啓動較慢,容易出現卡頓狀況 7
體驗 軟件的適應性 PC端和移動端都能良好交互,適應性仍是不錯的 9
成長性 記住用戶的選擇, 適應用戶的特色,用戶越用越方便 自動推薦系統薄弱 7
用戶有控制權 系統狀態有反饋,等待時間要合適。關鍵操做有確認提示,有明確的錯誤信息。 讓用戶方便地從錯誤中恢復工做, 快捷操做鍵可調整。 退出操做爲例,並無任何提示,致使屢次誤退出 7
自選 自選評分項目 內容質量良莠不齊,差異較大 6

3. BUG報告

給出我使用CSDN APP的幾個BUG:
一、第一項應該不算BUG,但屬於重大的設計缺陷。在修改我的生日時不能直接輸入指定的日期,只能從目前日期倒回。在倒回時只能以月爲單位進行倒回,不能以年爲單位進行倒回。整體操做很是繁瑣,修改操做花費時間很是長。
學習

二、在瀏覽博客評論區的時候我發現全部博客評論區的連接都是以如下方式給出,沒有給出完整域名,同時在跳轉時也沒有知乎那樣的危險提示頁面。若是有不法分子在評論區放置一個釣魚網站很容易致使用戶中招。

第二部分 分析(參考8.6節對工做的估計,和14.1節軟件工程的質量)

一、使用此服務的全部功能,估計這個軟件/網站/服務作到這個程度大約須要多少時間(團隊人數6人左右,計算機大學畢業生,並有專業UI支持)。(必答)

我的認爲所需時間一定會在5個月以上。本APP雖然質量並不高,細節打磨也並無作到完善,可是APP功能很是繁多複雜,我的推算開發者須要解決的問題包括對於用戶我的應用需求的知足,對於博客內容的普遍整理以及分類,搜索引擎的創建,對於網課和視頻的支持,廣告的佈局,我的動態以及關注的發佈和創建以及付費用戶和非付費用戶的不一樣功能區別以及充值環節。其中不一樣的功能之間也存在着交互行爲,須要在開發完成以後進行大量DEBUG操做。同時CSDN數據量和日均用戶數很是的龐大,做爲大量編程者使用的論壇,CSDN的安全性也須要獲得郵箱的保障。而做爲計算機大學畢業生,我認爲在正式開發以前每一個人最少都須要3周時間從新學習對於大型APP開發的相關知識。所以5個月時間只是保守估計,我的認爲時間可能會更多。6我的的團隊之中若是沒有一個好的架構師,可能會由於大量的錯誤和漏洞致使軟件質量較低。

二、分析這個軟件目前的優劣(和相似軟件相比),這個產品的質量在同類產品中估計名列第幾?(必答)

通過我的的調研,同類產品主要包括簡書APP,博客園APP以及leetcode APP。簡書APP相較於CSDN而言,內容更傾向於精品化,排版佈局也更加的優秀。但CSDN優點在於只聚焦於服務計算機類博客,而簡書覆蓋面則較廣,沒法成爲碼農們的第一首選。博客園APP與CSDN一樣專一服務於程序員,可是博客園體量明顯較小,缺乏論壇等配套服務,只聚焦於博客內容,而且在細節功能上不如CSDN APP,多爲學生在應用,缺乏大牛的支持。而leetcode做爲新興的APP,優點在於對於算法領域的專一化,但和CSDN相比問題較多,包括活躍人數的極度缺失以及APP功能仍然不夠完善。整體而言,這類APP更像是做爲網站的複製而存在,而不是致力於在手機端實現PC端所不具有的更多應用,所以整體使用質量都不過高。相較於其它APP而言,CSDN有着較大的體量以及很是高的活躍人數,所以我估計CSDN APP在同類產品中可以名列第一。

三、從各方面的問題,推理出這個軟件團隊在軟件工程方面能夠提升的一個重要方面(具體建議)。

我認爲該應用能夠在準確性和易用性兩個方面提升。

  • 準確性:在搜索中刪除全部和下載相關的內容(對手機端沒有太多意義),同時改善推薦系統。例如在推薦課程時可以經過最近的搜索記錄推薦幾門精選的課程,而不是固定的羅列幾百門對用戶毫無用處的課程。
  • 易用性:適當減小廣告,使頁面更加整潔,方便用戶直接獲取有用信息。同時增長改善用戶體驗的功能,例如退出應用時的提示,以及跳轉時的安全警告,更好地服務用戶。

四、你在第一部分發現的bug,爲什麼軟件團隊不能在發佈前修復?他們是不知道,仍是有意不修復?你以爲是什麼緣由?

我認爲我發現缺陷沒被修復的最主要緣由是軟件團隊對於細節處理的缺失致使缺陷產生。例如生日設定以及網頁連接的羅列,我認爲開發團隊的想法是隻須要快速實現這類功能就萬事大吉,將主要精力投入在博客以及付費板塊的開發中。與其花費更多時間打磨程序,不如開發更多花哨的功能吸引更多用戶。

第三部分 建議和規劃(參考《構建之法》第8章功能的定位和優先級;第9章項目經理)

  • 首先,市場有多大?潛在的用戶有多少?

據不可靠的數據統計,我國的程序員人數大約爲200萬人左右,可是與計算機相關聯的,包括各種理工科學生以及行業從業人數保守估計3700萬人左右。而2011年註冊人數官方宣佈爲600萬人,目前保守估計爲1000萬人左右。因而可知市場和潛在的用戶數量依然是很是龐大的。

  • 目前市場上有什麼樣的產品了,它們的優點劣勢在哪裏?和它直接競爭的產品在那裏?

內容請參照第二部分第二點的回答

  • 做爲新的項目經理,這個產品的核心用戶羣是什麼樣的人,典型用戶長什麼樣?學歷,年齡,專業,愛好,收入,表面需求,潛在需求都是什麼?

屬性 學生 IT從業者
學歷 本科、專科及以上 大學、專科或社會機構畢業人士
年齡 20-25 23-40
專業 計算機類 JAVA、PYTHON具體開發類
愛好 學習 提高技術實現跳槽和加薪
收入 我無 7000k+
表面需求 初步走入IT社會,學習他人經驗 解決工做中遇到的問題,尋求志同道合的朋友
潛在需求 DEBUG,找到BUG緣由 獲取更優秀開發者的工做經驗,把握行業方向
  • 若是你有錢能夠招聘6我的,有4個月的時間,你做爲項目經理,應該如何配置角色(開發,測試,美工等等)?描述你的團隊在16週期間每週都要作什麼,才能在第16周如期發佈軟件的改進版本,並取得預想中的成績。

    配置:1位PM,2位美工,2位程序開發人員以及1位測試人員。

    第1-2周:進行項目需求分析。由6人共同參與。因爲PC端已經實現了大量的功能,所以需求分析的關鍵在於哪些功能能夠被移植到移動端,哪些功能須要刪除。

    第3-4周:進行UI設計。由PM和2位美工參與。第一個關鍵點,將內容從PC端移植到移動端後排版的分佈。第二個關鍵點是對於軟件提供的功能如何將它們合理地分佈在程序中。最後一個關鍵點是如何合理地植入廣告內容。

    第5-10周:開始APP開發階段。由PM和2位程序開發人員參與。整體上分爲2個階段。第一個階段在於整個程序的整體架構,包括邏輯分塊,接口定義,評估各部分實現所需的人手和複雜度。第二個階段開始正式的編程。在寫代碼的同時也要對需求部分以及規劃部分作出及時反饋,報告沒法實現的部分,從新調整需求或者從新規劃。

    第11-14周:測試階段。由PM,2位程序開發人員和測試人員參與。做爲功能繁多的程序,測試環節很是重要,所要花費時間也較多。主要進行DEMO測試和壓力測試。DEMO測試包括對於新增長模塊功能,以及老的模塊功能可用性測試。壓力測試經過人爲增長大量數據訪問,看看APP的博客訪問等功能會不會由於新增功能的緣由出現崩潰。

    第15-16周:試運行階段。由1位美工,1位開發人員,1位測試人員以及PM參與。將APP版本小規模發佈,讓部分核心用戶搶先體驗產品。在進一步彙報BUG的同時結合用戶反饋對一些細節部分從新調整,並從新測試。

相關文章
相關標籤/搜索