◆李玉婷 李鶴群 / 文
基于瀑布模型的軟件質(zhì)量報告工具開發(fā)
——泛亞汽車的應(yīng)用實踐
◆李玉婷 李鶴群 / 文
本文以編制質(zhì)量周報為例,講述如何基于瀑布模型、使用VBA進(jìn)行軟件質(zhì)量報告工具的設(shè)計和開發(fā),通過此工具可以自動地定期編制PPT格式的質(zhì)量報告,并向預(yù)先設(shè)定的收件人推送。該工具達(dá)到了自動地定期編制PPT格式質(zhì)量報告和自動推送的目的,極大地提高了QA工程師的工作效率。
瀑布模型;VBA;PPT;質(zhì)量報告
泛亞汽車技術(shù)中心有限公司(簡稱泛亞)由上海汽車工業(yè)(集團(tuán))總公司與美國通用汽車各出資50%組建,是亞太地區(qū)首家合資的專業(yè)汽車技術(shù)與設(shè)計中心,主要負(fù)責(zé)上汽通用汽車所有車型以及上汽、上汽通用五菱部分車型的設(shè)計開發(fā)工作。泛亞在全面建設(shè)汽車電子研發(fā)能力的同時,致力于構(gòu)建基于CMMI的軟硬件開發(fā)過程的質(zhì)量保證體系。CMMI強(qiáng)調(diào)過程和產(chǎn)品質(zhì)量保證(即PPQA),主要職責(zé)包括:依據(jù)適用的過程說明、標(biāo)準(zhǔn)及程序,客觀評估所執(zhí)行的過程、工作產(chǎn)品及服務(wù),界定并記錄不符合的議題,向成員與管理人員提供質(zhì)量保證活動結(jié)果的反饋,確保不符合項得到處理。
泛亞工程質(zhì)量部在對軟硬件項目進(jìn)行質(zhì)量保證工作的過程中,需要定期編制并發(fā)布質(zhì)量報告給相關(guān)的領(lǐng)導(dǎo)和工程師。以軟硬件項目的質(zhì)量周報為例,采用傳統(tǒng)的人工方式編制質(zhì)量報告,費時費力且容易出錯,如:因為不符合項管理系統(tǒng)的數(shù)據(jù)具有實時性,人工采集數(shù)據(jù)很難確保每周定時采集;從系統(tǒng)中采集的數(shù)據(jù)需先通過Excel公式和圖表處理,然后再拷貝到PPT模板中,PPT模板中的日期等信息在人工修改時易遺漏等。本文對上述問題的改進(jìn),提出了一種基于瀑布模型、使用Microsoft Office VBA開發(fā)工具的方法,用以實現(xiàn)自動地定期編制PPT格式質(zhì)量報告并推送的目的。
軟件質(zhì)量報告工具的設(shè)計和實現(xiàn)是基于瀑布模型進(jìn)行的,包含了需求分析、概要設(shè)計、單元設(shè)計和測試這4個階段。
在進(jìn)行需求分析之前,需確定本工具開發(fā)、實現(xiàn)和運行的環(huán)境,因為不符合項管理系統(tǒng)導(dǎo)出的原始數(shù)據(jù)為Microsoft office支持的格式,主要的數(shù)據(jù)處理工作在Microsoft Excel中完成,最后生成的工作產(chǎn)物為Microsoft PPT,推送質(zhì)量報告用到了Microsoft Outlook,所以確定通過Microsoft Office VBA編寫程序并使用Excel VBA開發(fā)環(huán)境。
在需求分析階段,工程師收集對軟件質(zhì)量報告工具的需求并進(jìn)行了分析,形成了功能需求和非功能需求。
2.1功能需求
功能性需求定義了一個軟件系統(tǒng)或組件的功能,也是一個系統(tǒng)需要提供的功能及服務(wù)。其內(nèi)容主要包括需求描述、模塊劃分及用例圖。
2.1.1需求描述
對功能需求的描述,主要有六個方面:
——定期每周一早上8:00運行工具;
——訪問不符合項管理系統(tǒng),按照指定的項目篩選數(shù)據(jù)并下載;
——計算并匯總各項目的不符合項總數(shù)等3個指標(biāo)的數(shù)據(jù);
——針對每個項目分別從不符合項狀態(tài)、不符合項應(yīng)對和重點關(guān)注的不符合項三個方面進(jìn)行統(tǒng)計分析,并生成圖表;
——下載QA周報模板,更新模板中的日期信息,更新各項目度量數(shù)據(jù);
——自動發(fā)送郵件給指定收件人,郵件內(nèi)容可設(shè)定或修改,附件為QA周報。
2.1.2模塊劃分
針對上述需求進(jìn)行分析后,將軟件質(zhì)量報告工具拆分為三個大模塊,包括主程序、模板文件和配置文件,其中主程序繼續(xù)劃分為六個功能模塊(如表1所示)。
表1 模塊劃分
2.1.3用例圖
本工具系統(tǒng)的上層用例圖參見圖1,系統(tǒng)的主要參與者分為兩類,即普通用戶和管理員。普通用戶在運行本工具之前,可以根據(jù)需要修改配置文件中的配置信息,也可以保持默認(rèn)配置;普通用戶在確認(rèn)配置信息無誤后,可以通過“質(zhì)量報告工具界面”執(zhí)行本工具。管理員除了普通用戶的權(quán)限之外,還可以修改模板文件,維護(hù)或單步調(diào)試圖示中各子功能模塊的代碼。
圖1 用例圖
2.2非功能需求
本工具非功能性需求主要包括系統(tǒng)的實施需求、正確性、易用性、健壯性等。
對非功能需求的描述,主要有五個方面:
——實施需求:本工具在PC上運行,要求安裝正版Microsoft Office 2010或以上版本,包含Excel、PPT和Outlook;
——性能:系統(tǒng)能夠支持一個用戶正常使用,從運行工具到完成PPT報告的總時間在五分鐘內(nèi);
——正確性:系統(tǒng)生成的PPT報告數(shù)據(jù)正確,符合模板要求;
——易用性:系統(tǒng)簡單易用,通過默認(rèn)配置等措施,減少用戶操作;
——健壯性:當(dāng)用戶無意中進(jìn)行了誤操作或輸入異常信息時,系統(tǒng)應(yīng)能正常運行并給予相關(guān)提示信息。
基于以上需求分析階段確認(rèn)的需求,工程師在進(jìn)行軟件設(shè)計和實現(xiàn)時,同時考慮了代碼層面的技術(shù)方法和安全性等其它因素。
3.1概要設(shè)計和單元設(shè)計
本工具的軟件設(shè)計階段包括概要設(shè)計和單元設(shè)計,下面以“下載不符合項網(wǎng)頁原始數(shù)據(jù)”“生成PPT質(zhì)量報告”和“發(fā)送質(zhì)量報告郵件”模塊為例,將概要設(shè)計和軟件設(shè)計結(jié)合起來進(jìn)行論述。
3.1.1下載不符合項網(wǎng)頁原始數(shù)據(jù)
本模塊實現(xiàn)的功能為:訪問不符合項管理系統(tǒng),并下載不符合項原始數(shù)據(jù)。
其入口函數(shù)的設(shè)計如表2所示。
表2 函數(shù)GetSrcDataFromNCS
本模塊涉及到的關(guān)鍵處理是從不符合項系統(tǒng)下載原始數(shù)據(jù),用到的關(guān)鍵技術(shù)是URLDownloadToFile。
3.1.2生成PPT質(zhì)量報告
本模塊實現(xiàn)的功能為:根據(jù)Excel質(zhì)量報告和PPT模板生成并輸出PPT格式的質(zhì)量報告。
其入口函數(shù)的設(shè)計如表3所示。
表3 函數(shù)CreateQAReportPPT
本模塊的關(guān)鍵處理是生成PPT類型的質(zhì)量報告,用到的關(guān)鍵技術(shù)是生成PPT文件、更新圖表數(shù)據(jù)、新建幻燈片及調(diào)整插入圖表位置大小等。
3.1.3發(fā)送質(zhì)量報告郵件
本模塊實現(xiàn)的功能為:編輯郵件并發(fā)送給指定收件人。
其入口函數(shù)的設(shè)計如表4所示。
表4 函數(shù)SendMail
本模塊的關(guān)鍵處理是新建OutLook文件、編輯并發(fā)送,用到的關(guān)鍵技術(shù)是Microsoft OutLook VBA 文件編輯和發(fā)送。
3.2信息安全
本工具在運行過程中,有2處操作涉及到信息安全,考慮到公司的要求,在實施時做了不同處理(見表5)。
表5 信息安全處理
3.3其他
針對需求“定期每周一早上8:00運行工具”,在實現(xiàn)時考慮使用Windows計劃任務(wù),即新建一個計劃任務(wù),其配置如圖2所示。
軟件質(zhì)量報告工具開發(fā)完成后,工具開發(fā)工程師對每個函數(shù)都進(jìn)行了單元測試,并對每個功能模塊分別進(jìn)行了功能測試,經(jīng)正常用例和異常用例測試并通過后,在2015年2月正式發(fā)布。
圖2 任務(wù)計劃配置
工具發(fā)布后在QA組內(nèi)開始進(jìn)行試應(yīng)用,發(fā)現(xiàn)了軟件質(zhì)量報告工具的一些缺陷和問題,分別進(jìn)行了修改和優(yōu)化,并持續(xù)維護(hù)。
本文基于瀑布模型理論,論述了應(yīng)用Microsoft Office VBA的工具開發(fā)方法,用以實現(xiàn)周期性自動生成PPT格式的質(zhì)量報告的途徑。
通過數(shù)據(jù)采集方式、數(shù)據(jù)處理方式和報告編寫方式的三大轉(zhuǎn)變有效解決了手工收集數(shù)據(jù)、編制PPT質(zhì)量報告的問題。首先,數(shù)據(jù)采集方式由手工轉(zhuǎn)為工具自動執(zhí)行,能實現(xiàn)在設(shè)定的時間自動“下載不符合項網(wǎng)頁原始數(shù)據(jù)”,避免了工程師因為各種臨時工作任務(wù)或休假的因素而導(dǎo)致的任務(wù)延誤。其次,數(shù)據(jù)處理方式由工程師各自根據(jù)工作習(xí)慣執(zhí)行轉(zhuǎn)為工具固定模式自動執(zhí)行,能實現(xiàn)每次處理數(shù)據(jù)的方法和結(jié)果都保持一致,避免了不同的工程師因為熟練程度、理解差異而造成的數(shù)據(jù)異常。再次,報告編寫方式由手工轉(zhuǎn)為工具自動根據(jù)模板和輸入數(shù)據(jù)編寫,能實現(xiàn)每次編寫報告時的更新步驟一致,避免了工程師因疏忽或其它原因造成的數(shù)據(jù)更新遺漏或錯誤。
不僅如此,本工具還提供了進(jìn)階的功能“發(fā)送質(zhì)量報告郵件”。該功能可以預(yù)先配置收件人、郵件主題和郵件內(nèi)容,根據(jù)每周的實際情況對郵件主題和內(nèi)容進(jìn)行調(diào)整后自動發(fā)送給收件人,簡化了工程師的工作。
立足于本文的探索,工程質(zhì)量部推出了工具開發(fā)計劃,旨在通過辦公自動化,將工程師從繁瑣的重復(fù)工作中解放出來,將工作重點聚焦到業(yè)務(wù)能力的提升,同時提高工程師的工作效率。
(略)
(作者單位:泛亞汽車技術(shù)中心有限公司)