天天看點

軟體工程中的系統文獻映射研究-設計和執行過程的第二步

接着上一篇(“軟體工程中的系統文獻映射研究-簡介、設計和執行過程的第一步”),繼續講軟體工程中的系統文獻映射研究。

2. 系統文獻映射研究的執行過程

在确定了研究目标和研究問題後,往往需要設計系統文獻映射研究的執行過程。該過程一般包含文獻的試驗性檢索和篩選過程和文獻的正式檢索和篩選過程。

以下先給出文獻的正式檢索和篩選過程的流程(沒有完全遵從UML流程圖的畫法,意思表達清楚即可)。文獻的試驗性檢索和篩選過程是文獻的正式檢索和篩選過程的簡化版。

軟體工程中的系統文獻映射研究-設計和執行過程的第二步

雖然我們說文獻的試驗性檢索和篩選過程是正式檢索和篩選過程的簡化版,但其不可或缺。因為我們最初的很多設計(比如在什麼資料庫裡檢索,使用什麼檢索表達式,采用什麼篩選标準等)其實本身就是假設條件。例如,我們不确定,但相信(也許是憑經驗)在某某資料庫中檢索就可以得到我們需要的結果,是以我們将該資料庫納入資料庫檢索的範圍。為了檢驗我們的設計(移除我們所做的假設條件的不确定性),我們可以通過文獻的試驗性檢索和篩選過程實作。以下舉幾個我在做假設條件系統文獻映射研究時遇到的問題以及解決方案作為例子。

(1)在不同的資料庫中檢索文獻  

因為不同的資料庫采用不同的檢索引擎并提供不同的檢索能力,文獻的試驗性檢索和篩選過程幫助我們尋找在不同資料庫中适合的檢索方法。例如某些資料庫提供選擇研究領域以及語言的選項,通過選擇研究領域為計算機科學以及語言為英語可以提高後續步驟的效率。  

(2)檢索詞的使用  

文獻的試驗性檢索和篩選過程幫助精化檢索詞。我之前的研究遵循了以下步驟以識别最佳的檢索表達式:

(a)雖然在英語字典中識别出“assumption”的同義詞和近義詞,但是這些同義詞和近義詞在相關工作中并非都與“assumption”具有同樣的語義。例如許多文獻使用“guess”或者“hypothesis”,但是除非這些文獻顯式地指出其使用的其他術語與“assume”或者“assumption”等同,否則無法推測這些文獻中的相關術語與“assumption”含有相同的意義。

(b)為了使檢索符合軟體開發的背景,該研究最初使用了以下檢索表達式:“(software engineering OR software development OR system development) AND (…)”。然而我們發現許多符合條件的文獻在其标題或者摘要中僅僅提到例如“software”,而不是“software engineering”或者“software development”。

(c)進一步試驗了以下檢索表達式:“(assume OR assuming OR assumption)”、“system AND (assume OR assuming OR assumption)”、“program AND (assume OR assuming OR assumption)”、“(requirement OR design OR architecture OR component OR source code OR testing) AND (assume OR assuming OR assumption)”。然而采用上述表達式檢索得到的結果的數量極為龐大。例如,采用檢索表達式:“(assume OR assuming OR assumption)”在IEEE Explore資料庫中檢索2001年到2015年的文獻,其檢索結果為82650篇。

(d)為了平衡該系統文獻映射研究的價值以及需要付出的努力,我們最終選擇了以下檢索表達式:“(software) AND (assumption OR assume OR assuming)”。需要注意的是這種選擇可能會導緻遺漏相關文獻的風險。  

(3)第一輪的篩選方式  

在某些情況下,隻閱讀一篇文獻的标題無法幫助判斷該文獻是否應入選。是以我們決定在正式的檢索和篩選過程的第一輪篩選中同時閱讀文獻的标題和摘要。  

(4)入選的文獻  

文獻的試驗性檢索和篩選過程幫助精化選擇标準。例如該研究識别出兩類文獻:

(a)關于軟體開發中的假設條件的文獻;

(b)關于方法或工具的假設條件的文獻。

此外,一些文獻僅僅提到假設條件的術語,但并未展開或者未包含任何可以回答研究問題的資料。為避免博而不精的情況,我們決定隻入選那些在軟體開發中考慮假設條件的文獻,而排除那些缺少足夠資料以回答研究問題的文獻。  

(5)研究者之間達成一緻的方式  

文獻的試驗性檢索和篩選過程幫助研究者之間就多方面達成一緻。例如,為就選擇标準達成共識,我們選取了一百篇文獻作為樣本,并讨論每一篇為什麼應該入選或排除。

再給一個我們在做假設條件系統文獻映射研究時,文獻的試驗性檢索和篩選的流程作為例子。

軟體工程中的系統文獻映射研究-設計和執行過程的第二步

從上圖可以看到,一個研究者(R1)在IEEE Explore資料庫中檢索和篩選文獻,另一個研究者(R2)在Wiley InterScience和ISI Web of Science資料庫中檢索和篩選文獻。此外,還有第三位研究者評審檢索和篩選的結果。

繼續閱讀