结对作业 微软学术搜索分析
殷鵬程 10061130
姚銘 10061204
選題:微軟學(xué)術(shù)搜索
第一部分——關(guān)于微軟學(xué)術(shù)搜索網(wǎng)站的Functional Bugs
1.?Academic Map?鼠標(biāo)滾輪縮放失效問題
Symptom:正常使用Academic Map的縮放功能時,縮放操作可以同時通過拖動頁面右上角滑塊與滾動鼠標(biāo)滾輪實現(xiàn)(后者符合大多數(shù)用戶習(xí)慣),但在Academic Map上點擊一個學(xué)術(shù)機(jī)構(gòu)之后,系統(tǒng)提示加載,拖動滑塊依舊可以執(zhí)行地圖縮放,而此時鼠標(biāo)滾輪失效。
2.?Academic Map?載入學(xué)術(shù)機(jī)構(gòu)后用戶當(dāng)前縮放失效問題
Symptom:當(dāng)點擊一個學(xué)術(shù)機(jī)構(gòu)時,地圖返回一個固定的縮放比例,用戶當(dāng)前縮放比例失效,這不利于用戶查看地理位置臨近的學(xué)術(shù)機(jī)構(gòu)的相關(guān)信息(用戶需再次執(zhí)行縮放操作),比如北航與北科。
3.?Academic Map?雙擊學(xué)術(shù)機(jī)構(gòu)后無法返回地圖模式問題
Symptom:正常情況下,單擊學(xué)術(shù)機(jī)構(gòu),程序載入正確的機(jī)構(gòu)相關(guān)信息,此時地圖做陰影化處理,用戶可通過單擊任意非連接區(qū)域回到地圖模式。而雙擊某一學(xué)術(shù)機(jī)構(gòu)(特別是多次雙擊)時,程序載入機(jī)構(gòu)相關(guān)信息后,此時單擊任意區(qū)域都無法回到地圖模式,同時,此時地圖未作陰影化處理。程序核心功能無法繼續(xù)使用。
本Bug在Chrome 23及IE 8下均出現(xiàn):
Probable cause:在多次雙擊某一節(jié)點的情況下,程序可能會多次異步載入學(xué)術(shù)機(jī)構(gòu)信息,由于未能夠正確的處理鼠標(biāo)雙擊節(jié)點的事件,程序?qū)Α爱?dāng)有信息后臺載入時鼠標(biāo)雙擊節(jié)點”的情況處理有問題,或未作處理。
4. 搜索部分中文關(guān)鍵詞出現(xiàn)不相關(guān)結(jié)果
?Symptom:嘗試搜索“數(shù)據(jù)挖掘”,得到如下所示結(jié)果,初步判斷兩篇文章與“數(shù)據(jù)挖掘”此中文關(guān)鍵詞不相關(guān)(雖然正文內(nèi)容可能為數(shù)據(jù)挖掘),在兩篇論文的題目、摘要中都未出現(xiàn)“數(shù)據(jù)挖掘”,且由于原文鏈接失效,無法驗證正文中是否出現(xiàn)相關(guān)詞匯。
注:搜索結(jié)果中未給出“數(shù)據(jù)挖掘”在正文中出現(xiàn)的位置信息。
5. 強(qiáng)制停止搜索操作時UI仍顯示‘載入’狀態(tài)問題
?Symptom:在首頁執(zhí)行搜索操作后,強(qiáng)制停止新頁面的載入,此時最右側(cè)‘載入’圖案仍舊顯示
?
?補(bǔ)充:一個可能的功能性bug:鍵入某個keywords,無法自動導(dǎo)航至關(guān)鍵詞頁面,如information retrieval,而鍵入social network則可以,雖然用戶的query string同關(guān)鍵詞是完全match的。希望能夠修復(fù)這個bug(我發(fā)現(xiàn)當(dāng)keyword與某個期刊或會議的關(guān)鍵詞重疊后,系統(tǒng)會自動給出提示,讓用戶選擇進(jìn)入哪個頁面,那么為何keyword不會與其發(fā)生重疊時自動進(jìn)入keyword頁面,而不是讓用戶選擇是否由結(jié)果頁面跳轉(zhuǎn)到keyword頁面?應(yīng)該統(tǒng)計當(dāng)用戶搜索某個keyword時的意向頁面來決定哪個優(yōu)先展示)(來自采訪后的用戶反饋)
?
?
6. 非功能性:UI問題
Subdomains下的下劃線過長問題,如圖所示,subdomains下發(fā)的下劃線右端過長,影響了頁面的整體視覺效果
7. 非功能性:數(shù)據(jù)問題 ‘color image processing?與 colour image processing’被作為不同關(guān)鍵詞處理
這是我本人在日常使用微軟學(xué)術(shù)搜索時發(fā)現(xiàn)的一個Bug,關(guān)鍵詞庫中很多包含color或colour的關(guān)鍵詞被視為不同的關(guān)鍵詞處理,如‘color image processing?與?colour image processing’,兩者的關(guān)鍵詞id分別為6646與6502,除此之外,還有很多類似情況。
?
第二部分——關(guān)于微軟學(xué)術(shù)搜索網(wǎng)站項目開發(fā)的不足
我作為微軟學(xué)術(shù)搜索長時間來的用戶,雖然使用頻率不高,但學(xué)術(shù)搜索確實幫我解決了很多問題。在閱讀了鄒老師關(guān)于微軟學(xué)術(shù)搜索項目的歷程介紹之后,我綜合分析得到以下幾點問題:
1. 前臺代碼規(guī)范問題
根據(jù)鄒欣老師教程,結(jié)合本人日常開發(fā)的總結(jié),我認(rèn)為微軟學(xué)術(shù)搜索在前臺開發(fā)上存在如下幾個問題:
1.1 JQuery代碼與前臺代碼混用問題
查看首頁(http://academic.research.microsoft.com/)的源代碼,我們可以在<head></head>標(biāo)簽內(nèi)發(fā)現(xiàn)對JQuery的引用。
JQuery是一個十分流行的Javascript框架,那么,既然使用了JQuery,根據(jù)使用JQuery的習(xí)慣與業(yè)界普遍贊同的編碼規(guī)范,頁面內(nèi)所有對DOM元素的操作都應(yīng)該通過JQuery實現(xiàn),而不應(yīng)該再使用丑陋的getElementById方法(否則就失去了使用JQuery的意義~)。但是,我們卻赫然發(fā)現(xiàn)了下面的代碼:
如上圖所示,頁面中同時使用了JS原生的getElementById()方法,以及JQuery的$(selector)方法,雖然兩者的功能是一致的,但考慮到后期的可維護(hù)性已經(jīng)對編碼規(guī)范的遵守,應(yīng)該統(tǒng)一使用JQuery風(fēng)格的DOM操作方式。
1.2 HTML頁面標(biāo)簽內(nèi)嵌CSS樣式的問題
下圖截取的代碼為網(wǎng)頁底部欄目的html代碼。
可以看到,這個div引用了footer class,而讓人費解的是,div標(biāo)簽中卻仍舊有內(nèi)聯(lián)的CSS樣式屬性(style="height: 30px;"),對于前端開發(fā)而言,這是一種很不好的習(xí)慣,因為對同一個標(biāo)簽的控制分散到了不同的地方,很不利于代碼的維護(hù),即使在學(xué)霸的UI中,我們的前臺DEV也不會做這樣的事情。
從標(biāo)簽風(fēng)格來看,這個div應(yīng)該不是asp.net自動生成的,那么前臺開發(fā)人員在書寫其css樣式時,應(yīng)該將其所有樣式放到footer class里。
1.3 HTML標(biāo)簽內(nèi)嵌JavaScript函數(shù)問題
從下圖可以看出,頁面的標(biāo)簽元素中內(nèi)聯(lián)了很多javascript函數(shù),而根據(jù)一般的js編碼規(guī)范,js函數(shù)應(yīng)該單獨放到<script></script>標(biāo)簽內(nèi),html的事件(如onClick)應(yīng)該直接飲用js函數(shù)名,而非直接在onClick事件中定義。
這樣做,會有以下幾個問題:
1. 不同的事件,其處理函數(shù)可能相近,內(nèi)聯(lián)定義會造成代碼冗余
2. Html代碼與js代碼高度耦合,當(dāng)代碼量達(dá)到一定量級后,可維護(hù)性會很差
在學(xué)霸UI中,所有的js代碼均位于Header標(biāo)簽內(nèi)的<script></script>標(biāo)簽中,方便了引用與維護(hù)。
從以上幾點可以看出,beta版本的微軟學(xué)術(shù)搜索在前臺代碼的代碼質(zhì)量控制上可能有所疏忽,希望能夠引起重視。
2. 關(guān)于開發(fā)技術(shù)手段的問題:對與合理使用asp.net服務(wù)器控件的探討
僅從微軟學(xué)術(shù)搜索的首頁來看,可以發(fā)現(xiàn),頁面大量使用了asp.net技術(shù),具體表現(xiàn)在幾乎所有的div的id都由ct100打頭。
使用asp.net的服務(wù)器控件可以簡化UI的開發(fā)流程,但是,從我個人的觀點,不恰當(dāng)?shù)氖褂梅炊鴷硪韵聨讉€問題:
3. ?關(guān)于項目開發(fā)流程的問題
鄒老師的博客上有這樣一句話:
由于項目的絕大部分模塊都進(jìn)行了大規(guī)模的工程性重構(gòu),重寫。有些問題太難, 研究員們逐步撤出了項目。
根據(jù)博文,可以發(fā)現(xiàn),在M1階段,研究員與工程師共同參與,我雖然不清楚他們是否共同參與編碼,但從上文可以看出,M1階段可能沒有采取比較好的架構(gòu),或者比較好的設(shè)計模式,導(dǎo)致項目在迭代過程中需要進(jìn)行大規(guī)模的工程性重構(gòu),但代碼重構(gòu)對于一個項目來說,是很可怕的(我曾經(jīng)看到過一篇博文,講的是代碼重構(gòu)(重寫)標(biāo)志著項目的失敗,具體鏈接無從找尋)。
因此,我猜測,M1階段的研究員與工程師可能共同參與了編碼,但很可能由于研究員的編碼風(fēng)格可能不是面向工程的,導(dǎo)致M1階段的代碼存在架構(gòu)上的問題,否則為何要大規(guī)模重構(gòu)?之前不是根據(jù)MS Agile,進(jìn)行了2周的計劃了么?懇請鄒老師解答~
?
第三部分——使用Academic Search進(jìn)行學(xué)習(xí)領(lǐng)域的選擇:記黃同學(xué)使用Academic Search 的心得
編者按:
最近我的哥們黃同學(xué)需要進(jìn)行CS專業(yè)領(lǐng)域的選擇,面對CS領(lǐng)域下形形色色的Subdomain,該選擇什么方向為好?在某日跟我提到此事后,我便推薦他使用微軟學(xué)術(shù)搜索。以下是黃同學(xué)使用微軟學(xué)術(shù)搜索完成專業(yè)領(lǐng)域選擇的過程記錄。
?
用戶背景:
黃同學(xué),我航高工大三本科生,計算機(jī)科學(xué)與技術(shù)專業(yè)。
使用Academic Search的目的:發(fā)掘CS下的熱門領(lǐng)域,進(jìn)行專業(yè)選擇
感興趣方向:Social Network,Machine Translation,Peer to Peer,Information Retrieval
?
用戶使用過程:
1. 學(xué)習(xí)階段與功能選擇
由于黃同學(xué)之前沒有使用過Academic Search,筆者首先向其大致介紹了AS的主要功能,并建議他通過兩個途徑進(jìn)行熱門領(lǐng)域的比較:
1 查看相應(yīng)Keywords(見上)的論文發(fā)表與引用數(shù)目圖
2 使用AS的Domain Trend功能,橫向比較CS下各個subdomain的論文發(fā)表情況。
?
黃同學(xué)希望通過衡量某個領(lǐng)域的熱度(主要還是看論文發(fā)表數(shù)目),并結(jié)合自我的個人興趣,來確定今后的研究方向。因此,以上兩種手段是比較有效的。
?
2. 具體使用階段
2.1 Domain Trend功能
在大致熟悉了AS的主要功能后,黃同學(xué)便開始了具體工作J,首先使用Domain Trend, 但打開Domain Trend的主界面后,小黃在左側(cè)的subdomain中找了又找,只找到了Information Retrieval……
“咋沒有其他的關(guān)鍵詞呢?!”
我向他解釋:AS中的Domain Trend只列出了AS中定義的subdomain的論文數(shù)目信息,其他的關(guān)鍵詞不在subdomain范圍之內(nèi)。它們可能屬于某個subdomain。
那么,該如何找到上述關(guān)鍵詞所在的subdomain呢,我跟小黃犯了愁,Social Network屬于啥?Network & communication還是World Wide Web?Academic Search貌似沒有給出Domain與Keywords的對應(yīng)關(guān)系哎…..
2.2 直接搜索Keywords得到相應(yīng)圖表
比起第一種方法,這招來的更實在~
但是,我們在檢索各個關(guān)鍵詞結(jié)果后發(fā)現(xiàn),對于上述所有KeyWords,2011年與2012年的論文publication數(shù)目都少于2010年,導(dǎo)致我們無法根據(jù)圖表判斷上述領(lǐng)域在11年與12年是否熱門(見下圖)。
其中,12年的數(shù)據(jù)只有兩位數(shù),但為什么11年的也相對較少?估計是AS對近兩年的數(shù)據(jù)收錄不全。
但讓小黃沒有想到的是,keywords頁面還給出了領(lǐng)域大牛們對keyword的定義,方便了用戶對領(lǐng)域進(jìn)行初步的認(rèn)識與了解。
?
經(jīng)過一番搜索之后,小黃認(rèn)為Academic Search提供的近兩年的論文發(fā)表數(shù)目不太準(zhǔn)確,不能很好的反映某一領(lǐng)域的發(fā)展趨勢,只能夠通過橫向比較各個領(lǐng)域間的論文發(fā)表數(shù)目來判斷熱門領(lǐng)域。最后,小黃選定了Machine Translation(興趣是第一位的J)。
最后,根據(jù)小黃同學(xué)的反饋,我們一起總結(jié)了AS的各個方面的優(yōu)缺點~
?
| 項目 | 優(yōu)點 | 缺點 |
| 數(shù)據(jù)量 | 橫向來看,CS各個subdomain的論文收錄頗全,足夠支撐日常論文檢索需求 | 對近兩年,特別是2012年的論文收入很少 |
| 界面 | 界面設(shè)計很人性化,特別是各項Visualization功能,將數(shù)據(jù)可視化,特別有利于向黃同學(xué)這類需要進(jìn)行領(lǐng)域分析與研究的用戶 | “怎么沒有中文界面?!”(用戶語),Google學(xué)術(shù)至少還有個中文版,PS:本人常用國產(chǎn)萬方(wangfangdata.com.cn) |
| 功能 | 對比Google學(xué)術(shù)搜索與國內(nèi)的萬方(wanfangdata.com)、中國知網(wǎng)等,微軟學(xué)術(shù)搜索的功能明顯更多,而且數(shù)據(jù)的可視化程度更高 | 部分功能在細(xì)節(jié)上仍需要完善,比如Domain Trend無法添加Custom Domain(比如比較用戶指定個N個關(guān)鍵詞) |
| 準(zhǔn)確度 | 對大部分KeyWords的搜索比較精準(zhǔn) | 搜索結(jié)果排名上存在一些問題 對于部分keyword,如social network,題名social and biological networks的文章竟然排在第一頁第三位,遠(yuǎn)高于題名包含social network的文章 搜索information retrieval,無法自動進(jìn)入關(guān)鍵詞頁面(雖然關(guān)鍵詞同用戶鍵入文本一致) |
?
用戶對產(chǎn)品的改進(jìn)意見:
?第四部分——移動設(shè)備上的微軟學(xué)術(shù)搜索
市場情況
目前學(xué)術(shù)搜索產(chǎn)品基本都是以網(wǎng)頁為載體,除了微軟,規(guī)模最大的學(xué)術(shù)搜索是谷歌學(xué)術(shù)搜索,其余的還有CNKI和Heliloid等搜索產(chǎn)品。但針對移動的客戶端尚未成熟,微軟學(xué)術(shù)搜索推出的WP7客戶端,其余的沒發(fā)現(xiàn)。
?
功能
關(guān)于要設(shè)計什么樣的功能以及為什么用戶會用該產(chǎn)品,我們使用NABC模型來分析的學(xué)術(shù)搜索的功能需求及改進(jìn)方法以及這樣做的優(yōu)點。
1)????? N (Need 需求)
現(xiàn)在的學(xué)術(shù)搜索產(chǎn)品功能大都僅限于學(xué)術(shù)論文資源的搜索,加以學(xué)科領(lǐng)域分類。而對于文獻(xiàn)之間的關(guān)系,學(xué)者之間的關(guān)系,還有研究機(jī)構(gòu)之間的信息比較很少有體現(xiàn)。微軟學(xué)術(shù)搜索的幾個模塊功能實現(xiàn)了上述關(guān)系的深入分析,為學(xué)者提供了對學(xué)術(shù)資源的分析與整理。除此之外,我們還應(yīng)該為用戶提供個性化的信息定制,給用戶感興趣的領(lǐng)域等信息給予更新。針對在移動設(shè)備上使用的用戶,我們應(yīng)考慮到移動設(shè)備的使用特點,設(shè)計適合移動設(shè)備特點的功能。
2) A (Approach 做法)
考慮到為用戶提供在移動設(shè)備上快捷簡便的使用體驗,設(shè)計以下功能:
3) B (Benefit? 好處)
實現(xiàn)了上述功能,使得該學(xué)術(shù)搜索客戶端不再是用戶單方面向程序發(fā)出請求并獲得結(jié)果的平臺,而是用戶與學(xué)術(shù)資源互動的平臺。客戶端可以根據(jù)客戶的喜好,有針對性的提供給用戶最需要的資源,節(jié)約了用戶搜索相關(guān)信息的時間,方便了使用過程。另一方面,我們針對移動平臺,特別是手機(jī),考慮到屏幕大小有限,提供簡潔和常規(guī)兩種閱讀模式是有必要的。
4) C (Competitors 競爭)
目前對于學(xué)生機(jī)研究人員,在網(wǎng)絡(luò)上搜索大量的學(xué)術(shù)資源是必要而又比較繁瑣的工作。一個易操作,功能強(qiáng)大的學(xué)術(shù)搜索平臺是有很大市場價值的。而目前的相關(guān)產(chǎn)品功能大都僅限于論文資源的搜索,加以學(xué)科領(lǐng)域分類,很少對資源的相互關(guān)系加以梳理,針對用戶的個性化信息支持更是幾乎沒有。所以經(jīng)過分析,完成這個學(xué)術(shù)搜索移動客戶端的市場價值巨大,而且目前階段市場競爭還不是特別強(qiáng)烈,但面對其他相關(guān)學(xué)術(shù)搜索產(chǎn)品的不斷升級,競爭壓力在后期應(yīng)該會有所上升。
?
角色配置
項目初期階段,測試量較少,設(shè)置開發(fā)人員2名,美工2名,測試人員1名;
項目中后期,設(shè)置開發(fā)人員2名,測試人員2名,美工1名。
?
12周計劃
項目采用迭代式開發(fā)過程。每周都必須召開例會分析項目的進(jìn)度與當(dāng)前難點,并且分析怎樣做確保進(jìn)度的正常進(jìn)行,每個小階段結(jié)束后進(jìn)行一定的總結(jié)。而其中重要的一點,項目文檔是貫穿整個12周必須要做的事情,完整的文檔是保證項目順利進(jìn)行的前提。
| 第1-2周 | 進(jìn)行需求分析,并向公眾征求功能需要,綜合各方面的需求,最終確定項目的整體定位,細(xì)化并確定所有功能需求,形成需求報告。 |
| 第3周 | 軟件的架構(gòu)設(shè)計,據(jù)需求分析所得結(jié)果完成軟件架構(gòu)的詳細(xì)設(shè)計,為正式開發(fā)做準(zhǔn)備。 |
| 第4-7周 | 第一輪開發(fā),根據(jù)之前的詳細(xì)設(shè)計進(jìn)行項目開發(fā)。 |
| 第8周 | 測試版發(fā)布,收集軟件的bug和其他不足之處,制定改進(jìn)計劃。 |
| 第9-10周 | 第二輪開發(fā),主要是完善之前的測試版本,并修改bug |
| 第11周 | 項目穩(wěn)定階段,進(jìn)一步完善項目,做項目的收尾工作。 |
| 第12周 | 結(jié)束項目的開發(fā),制作說明文檔,幫助文檔等,完成發(fā)布。 |
?
轉(zhuǎn)載于:https://www.cnblogs.com/yao9208/archive/2012/12/28/2837499.html
總結(jié)
以上是生活随笔為你收集整理的结对作业 微软学术搜索分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 收藏 世界上最神奇的数字
- 下一篇: 炒股巴士股票入门基础知识|破发来自牛市的