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