本發(fā)明涉及一種軟件程序開發(fā)技術,具體涉及一種軟件需求信息匹配度檢查方法和系統(tǒng)。
背景技術:
軟件需求是對待開發(fā)軟件的完整、清晰、準確描述,體現(xiàn)出軟件系統(tǒng)的功能性和非功能性需求。因此,軟件需求構成了軟件開發(fā)過程中,軟件設計、編碼、測試等等一系列活動的基礎的依據(jù)。
在軟件開發(fā)中,有時候由于程序員或者其它工作人員的低級失誤,通??赡軐е绿峁┑能浖枨笈c客戶的要求不符,這就導致出現(xiàn)匹配錯誤。例如,在電視主板的解碼器領域,不同國家和地區(qū)之間對解碼制式的要求就不盡相同,如果出現(xiàn)錯誤的國家地區(qū)匹配,就將導致整個解碼器的無法正常使用。這在批量供貨的情況下?lián)p失通常是巨大的。因此,為了發(fā)現(xiàn)這些可能出現(xiàn)的需求錯誤,軟件需求檢查是軟件開發(fā)驗證過程中必須設置的活動。
目前現(xiàn)行的軟件需求檢查方法是,獲取客戶的軟件需求文檔,該需求文檔一般由條目化的軟件需求組成;檢查人員根據(jù)檢查單,逐條對軟件需求進行人工檢查,記錄檢查結果,篩選并匹配出符合客戶需求的軟件。但是,現(xiàn)行的需求檢查方法存在以下缺點:1)檢查質(zhì)量不穩(wěn)定。現(xiàn)有方法一般都由檢查人員根據(jù)檢查單所列檢查項進行人工排查。這樣工作量較大并且由于檢查人員個人習慣的不同,可能會導致遺漏掉一些問題,或者疏忽掉一些錯誤,影響檢查質(zhì)量。并且由于檢查人員思維模式固定化,很可能在復檢過程中也不能發(fā)現(xiàn)這類問題,這就導致一些錯誤最終都無法被發(fā)現(xiàn)。2)檢查速度較慢?,F(xiàn)在的需求是否符合匹配,完全都需要人工來進行把握。純?nèi)斯で闆r下對軟件需求中各個詞語的排查判斷費時費力,耗費大量的時間精力;也難以有效的提高工作速率。
技術實現(xiàn)要素:
本發(fā)明要求保護一種軟件需求信息匹配度檢查方法,包括以下步驟:
步驟1:獲取當前軟件版本的客戶需求信息;
步驟2:按照需求信息類型,將所獲取的客戶需求信息項與當前軟件版本所配置的需求信息項進行一一比對,
如果全部需求信息項比對成功,則當前軟件配置的需求信息與客戶需求信息一致。
進一步,所述客戶需求信息為包含單行數(shù)據(jù)的txt文本文件,單行數(shù)據(jù)中的各項信息之間用逗號隔開。其中,第一項信息為客戶訂單號,其后為一項或多項客戶需求信息項。
進一步,客戶訂單號為軟件版本號。
進一步,所述步驟1包括如下步驟:
步驟101:將包含當前軟件版本客戶需求信息的excel表格轉(zhuǎn)換為txt文件;
步驟102:根據(jù)當前軟件版本的客戶訂單號,從轉(zhuǎn)換得到的txt文件中篩選出包括當前軟件版本客戶訂單號的txt文本行數(shù)據(jù),刪除所述txt文件中的其他文本行數(shù)據(jù),保存為當前軟件版本的客戶需求信息的txt文件;
步驟103:定義當前軟件版本的客戶需求信息的txt文件中各客戶需求信息項的需求信息類型。
進一步,步驟101中,在linux系統(tǒng)下通過python腳本進行文件的轉(zhuǎn)換。
進一步,步驟2中,通過gcc編譯器獲取當前軟件版本配置的需求信息項。
進一步,還包括步驟3,根據(jù)步驟2的比對結果進行提示,提示內(nèi)容包括當前軟件配置的需求信息與客戶需求信息是否一致,以及所獲取的客戶需求信息項與當前軟件版本所配置的需求信息項不匹配的需求信息類型。
本發(fā)明還提供一種軟件需求信息匹配度檢查系統(tǒng),包括獲取裝置和比對裝置,其中:
獲取裝置用于獲取當前軟件版本的客戶需求信息;
比對裝置用于按照需求信息類型,將所獲取的客戶需求信息項與當前軟件版本所配置的需求信息項進行一一比對。
進一步,所述獲取裝置具體包括轉(zhuǎn)換裝置、文件生成裝置以及定義裝置,其中,
轉(zhuǎn)換裝置,用于將包含當前軟件版本客戶需求信息的excel表格轉(zhuǎn)換為txt文件;
文件生成裝置,用于根據(jù)當前軟件版本的客戶訂單號,從轉(zhuǎn)換得到的txt文件中篩選出包括當前軟件版本客戶訂單號的txt文本行數(shù)據(jù),刪除所述txt文件中的其他文本行數(shù)據(jù),保存為當前軟件版本的客戶需求信息的txt文件;
定義裝置,用于定義當前軟件版本的客戶需求信息的txt文件中各客戶需求信息項的需求信息類型。
進一步,所述檢查系統(tǒng)還包括提示裝置,用于根據(jù)比對裝置的比對結果進行提示,提示內(nèi)容包括當前軟件配置的需求信息與客戶需求信息是否一致,以及所獲取的客戶需求信息項與當前軟件版本所配置的需求信息項不匹配的需求信息類型。
本發(fā)明的技術方案是通過編譯比對的方式,將客戶需求與軟件配置進行一一比對,實現(xiàn)了對軟件需求信息的機器檢查。其相比于現(xiàn)有技術中的人工檢查,優(yōu)勢在于機器出錯率非常小,幾乎可以忽略,而人工操作出錯的概率遠遠大于機器。本發(fā)明的方法基本可以保證不出錯,大大降低風險,并且在檢查速度上機器遠遠快于人工檢查。
附圖說明
圖1是本發(fā)明的軟件需求信息匹配度檢查方法流程圖;
圖2是本發(fā)明的當前軟件版本或客戶訂單號的客戶需求信息的獲取方法流程圖;
圖3是本發(fā)明的軟件需求信息匹配度檢查系統(tǒng)的系統(tǒng)框圖。
具體實施方式
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚明白,以下結合具體實施例,并參照附圖,對本發(fā)明進一步詳細說明。但本領域技術人員知曉,本發(fā)明并不局限于附圖和以下實施例。
如圖1所示,本發(fā)明的軟件需求信息匹配度檢查方法包括以下步驟:
步驟1:獲取當前軟件版本的客戶需求信息。
通常來說,軟件會具有多個不同的版本,各個不同的軟件版本對應不同的客戶需求。因此軟件版本號或客戶訂單號通常是對客戶需求進行歸納收集的重要依據(jù)。比如某一款電視主板軟件,其可能會具有適應不同國家的版本,例如適于美國地區(qū)使用的版本001,適于歐洲地區(qū)使用的版本002,那么其軟件版本號或客戶訂單號分別為001、002。
獲取當前軟件版本或客戶訂單號的客戶需求信息的步驟,參見圖2,具體包括:
步驟101:將包含當前軟件版本客戶需求信息的excel表格轉(zhuǎn)換為txt文本文件。
目前通用的客戶需求信息存檔方式是excel表格。excel作為目前最通用的制表工具,其在數(shù)據(jù)的規(guī)范性、一致性等方面都有著較大的優(yōu)勢。以excel表格形式存儲當前軟件的所有版本的客戶需求信息,在每行的第一個單元格中存儲客戶訂單號,在該行后續(xù)單元格中存儲該客戶訂單號的所有不同類型的客戶需求信息項,包括一個客戶訂單的所有需求,其中的客戶訂單號可以是軟件版本號。
由于excel表格不太易于進行編譯,因此需要將其轉(zhuǎn)換為txt文檔。這種轉(zhuǎn)換通??梢栽趌inux系統(tǒng)下通過python腳本進行。由于存儲所有客戶需求信息的excel表格中每行的數(shù)據(jù)量是相同的,所以先獲取excel表格每行的數(shù)據(jù)量和總行數(shù),之后依次循環(huán)讀出來各行的數(shù)據(jù),每行的不同單元格中的數(shù)據(jù)用逗號隔離開。由此,多行數(shù)據(jù)就相應的讀出并轉(zhuǎn)換到txt文件,完成了excel表格到txt文件的轉(zhuǎn)換。
在本實施例中,使用了excel文件到txt文件的轉(zhuǎn)換,本領域技術人員可以理解,還可以使用其他方式進行不同文件格式的轉(zhuǎn)換。
步驟102:根據(jù)當前軟件版本的客戶訂單號,從轉(zhuǎn)換得到的txt文件中篩選出包括當前軟件版本的客戶訂單號的那行txt文本數(shù)據(jù),同時刪除txt文件中的其他文本數(shù)據(jù),并進行保存,形成當前軟件版本的客戶需求信息的txt文件。
根據(jù)當前軟件版本的客戶訂單號,可以在轉(zhuǎn)換得到的txt文件中查詢多行數(shù)據(jù)中哪一行為客戶訂單號所在的行。如上所述的,客戶訂單號是對客戶需求進行歸納收集的重要依據(jù),客戶訂單號都會在excel中體現(xiàn)并且作為一行數(shù)據(jù)的第一個單元格數(shù)據(jù)。excel表格轉(zhuǎn)換為txt文件后,客戶訂單號也相應成為txt文檔的一行的第一個數(shù)據(jù),該行還包括了一個客戶訂單的所有客戶需求信息項。查到客戶訂單號后只保存這一行數(shù)據(jù),其他行的數(shù)據(jù)全部刪掉。
步驟103:定義當前軟件版本的客戶需求信息的txt文件中各客戶需求信息項的需求信息類型。
當前軟件版本的客戶需求信息的txt文件中具有以逗號分隔的多個客戶需求信息項,分別表示某一類型的需求(如,國家或地區(qū)需求)。根據(jù)其在excel文檔中的具體需求內(nèi)容,定義各客戶需求信息項的需求信息類型,以方便后續(xù)過程中找到對應軟件中的需求信息進行比對。
這樣,最終就形成了當前軟件版本的客戶需求信息,其為在各需求信息項之間用逗號隔開的txt單行文本信息。
步驟2:按照所定義的需求信息類型,將所獲取的客戶需求信息項與當前軟件版本配置的需求信息項進行一一比對。如果任一個類型的需求信息項不同,則軟件配置的需求信息與客戶需求信息不匹配,并提示比對錯誤的需求信息項類型;只有全部需求信息項比對成功,才表明當前軟件配置的需求信息符合客戶要求。
獲得軟件版本的全部客戶需求信息后,通過gcc編譯器獲取當前軟件版本配置的需求信息與當前軟件版本的客戶需求信息——轉(zhuǎn)換得到的txt文檔中的客戶需求信息項進行一一比對。比對的結果體現(xiàn)在編譯處理上,一旦出現(xiàn)任一個類型的需求信息不匹配,則編譯報錯,表示軟件配置的需求信息與客戶需求信息不匹配,并提示比對錯誤的需求信息項的類型。比如客戶需求軟件定義的國家為韓國,而軟件中讀取出來的配置國家是美國,則編譯報錯,并提示錯誤信息為國家匹配錯誤。
對本發(fā)明的上述軟件需求信息匹配度檢查方法的具體應用說明如下。例如,當前要檢查客戶訂單號為002的軟件版本的需求信息匹配度情況,客戶訂單號也可以用軟件版本號表示。
步驟1:獲取當前軟件版本的客戶需求信息。
包含當前軟件版本的客戶需求信息的excel表格具體為:
其中類型1為國家,類型2-5可以是其他的需求信息類型,本示例中未明確。
在linux系統(tǒng)下通過python腳本,將包含當前軟件版本的客戶需求信息的excel表格轉(zhuǎn)換為txt文本文件。依次循環(huán)讀出excel表格各行的數(shù)據(jù),每行的不同單元格中的數(shù)據(jù)用逗號隔離開,如下:
客戶訂單號,類型1(國家或地區(qū)),類型2,類型3,類型4,類型5
001,a1(中國),b1,c1,d1,e1
002,a2(美國),b2,c2,d2,e2
003,a3(歐洲),b3,c3,d3,e3
至此,excel表格中的多行數(shù)據(jù)轉(zhuǎn)換到txt文件。
根據(jù)當前軟件版本的客戶訂單號002,從上述txt文件中篩選出包括當前軟件版本的客戶訂單號的那行txt文本數(shù)據(jù),并刪除txt文件中的其他文本數(shù)據(jù),并進行保存,如下:
002,a2(美國),b2,c2,d2,e2
形成當前軟件版本的客戶需求信息的txt文件。
定義txt文件中的各客戶需求信息項a2,b2,c2,d2,e2的需求信息類型,例如a2的需求信息類型為國家或地區(qū)。
步驟2:獲得軟件版本的全部客戶需求信息后,通過gcc編譯器獲取當前軟件版本配置的需求信息。按照所定義的需求信息類型,將所獲取的客戶需求信息項與當前軟件版本配置的需求信息項進行一一比對。
如果任一個類型的需求信息不匹配,則編譯報錯,表示軟件配置的需求信息與客戶需求信息不匹配,并提示比對錯誤的需求信息項的類型。比如客戶需求軟件定義的國家為美國,而軟件中讀取出來的配置國家是歐洲,則編譯報錯,并提示錯誤信息為國家或地區(qū)匹配錯誤,返回給軟件工程師修改軟件。只有在全部需求信息項匹配成功后,才表明當前軟件配置的需求信息符合客戶要求,直接發(fā)軟件給客戶。
本發(fā)明的軟件需求信息匹配度檢查方法的正確率可以達到100%,效率比人工操作顯著提高。
本發(fā)明還要求保護一種軟件需求信息匹配度檢查系統(tǒng),包括獲取裝置、比對裝置以及提示裝置,其中:
獲取裝置,用于獲取當前軟件版本的客戶需求信息;
比對裝置,按照需求信息類型,將所獲取的客戶需求信息項與當前軟件版本所配置的需求信息項進行一一比對;
提示裝置,用于根據(jù)比對裝置的比對結果進行提示,提示內(nèi)容包括當前軟件配置的需求信息與客戶需求信息是否一致,以及所獲取的客戶需求信息項與當前軟件版本所配置的需求信息項不匹配的需求信息類型。
具體的,所述獲取裝置具體包括:轉(zhuǎn)換裝置、文件生成裝置以及定義裝置,其中:
轉(zhuǎn)換裝置,用于將包含當前軟件版本客戶需求信息的excel表格轉(zhuǎn)換為txt文件;
文件生成裝置,用于根據(jù)當前軟件版本的客戶訂單號,從轉(zhuǎn)換得到的txt文件中篩選出包括當前軟件版本客戶訂單號的txt文本行數(shù)據(jù),刪除所述txt文件中的其他文本行數(shù)據(jù),保存為當前軟件版本的客戶需求信息的txt文件;以及
定義裝置,用于定義當前軟件版本的客戶需求信息的txt文件中各客戶需求信息項的需求信息類型。
以上,對本發(fā)明的實施方式進行了說明。但是,本發(fā)明不限定于上述實施方式。凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。