軟件開(kāi)發(fā)質(zhì)量的雙保險(xiǎn)(3)——應(yīng)用設(shè)計(jì)驗(yàn)證與應(yīng)用用例(軟件開(kāi)發(fā)質(zhì)量保證措施)
編輯導(dǎo)語(yǔ):在上一篇文章中,作者介紹了關(guān)于軟件開(kāi)發(fā)設(shè)計(jì)驗(yàn)證中的檢驗(yàn)應(yīng)用設(shè)計(jì)的質(zhì)量,但是在應(yīng)用設(shè)計(jì)驗(yàn)證中,還有更多重點(diǎn)項(xiàng)目,比如工作效率、運(yùn)行流程等等方面;本文作者分享了關(guān)于應(yīng)用設(shè)計(jì)驗(yàn)證與應(yīng)用用例,我們一起來(lái)了解一下。
設(shè)計(jì)驗(yàn)證的第二層是檢驗(yàn)應(yīng)用設(shè)計(jì)的質(zhì)量。應(yīng)用設(shè)計(jì)的檢驗(yàn)是對(duì)軟件“好用”的保證,它解決了如何用信息化手段提升客戶(hù)的工作效率。
應(yīng)用設(shè)計(jì)驗(yàn)證重點(diǎn)包括:業(yè)務(wù)設(shè)計(jì)的結(jié)果在系統(tǒng)中的落地是否順利?流程的流轉(zhuǎn)是否合理?界面操作是否友好?工作效率是否有明顯提升?等等,應(yīng)用設(shè)計(jì)的成果“為客戶(hù)構(gòu)建了信息化的工作環(huán)境”。
軟件如果不好用,則業(yè)務(wù)設(shè)計(jì)得再好、領(lǐng)導(dǎo)給的壓力再大,用戶(hù)都會(huì)排斥使用系統(tǒng),可以說(shuō)系統(tǒng)的易操作性直接關(guān)系到了軟件的生命周期也不為過(guò);應(yīng)用用例是后續(xù)測(cè)試用例的重要輸入,同時(shí)也是用戶(hù)上線培訓(xùn)的教材。
一、定義
1. 應(yīng)用設(shè)計(jì)驗(yàn)證
通過(guò)編寫(xiě)一套操作步驟,用以模擬某個(gè)業(yè)務(wù)處理場(chǎng)景的實(shí)際操作過(guò)程,應(yīng)用驗(yàn)證最好采用高保真的界面原型、并且可以按照預(yù)定的流程進(jìn)行跳轉(zhuǎn)。
這套操作步驟將包括登錄、啟動(dòng)流程、打開(kāi)界面、數(shù)據(jù)輸入、通知、監(jiān)控等在內(nèi)的功能串聯(lián)在一起,用以驗(yàn)證操作過(guò)程是否滿(mǎn)足用戶(hù)的實(shí)操需求,可以說(shuō)是對(duì)業(yè)務(wù)用例的內(nèi)容在信息化環(huán)境下“操作滿(mǎn)意度”的檢查。
應(yīng)用設(shè)計(jì)驗(yàn)證的主要工作是編寫(xiě)應(yīng)用用例和驗(yàn)證結(jié)果。
2. 應(yīng)用用例
是針對(duì)應(yīng)用設(shè)計(jì)階段成果的驗(yàn)證依據(jù)。應(yīng)用用例是將應(yīng)用設(shè)計(jì)的組件(界面)、按鈕控件、菜單、監(jiān)控、通知、權(quán)限等構(gòu)成了一個(gè)虛擬的操作環(huán)境,在界面上運(yùn)行業(yè)務(wù)用例的數(shù)據(jù)。
應(yīng)用用例的運(yùn)行要符合業(yè)務(wù)用例中的業(yè)務(wù)邏輯和數(shù)據(jù)邏輯關(guān)系,因此應(yīng)用用例可以模擬系統(tǒng)完成后的實(shí)際使用場(chǎng)景,它可以讓用戶(hù)、需求工程師、技術(shù)人員(設(shè)計(jì)、開(kāi)發(fā)、測(cè)試)等所有相關(guān)方在系統(tǒng)完成開(kāi)發(fā)前,就基本上知道了系統(tǒng)完成后的運(yùn)行效果。
- 用例構(gòu)成:用例場(chǎng)景、運(yùn)行導(dǎo)圖和基礎(chǔ)數(shù)據(jù);
- 編寫(xiě)期間:是在應(yīng)用設(shè)計(jì)期間編寫(xiě)的,在應(yīng)用設(shè)計(jì)完成時(shí)進(jìn)行驗(yàn)證;
注:應(yīng)用設(shè)計(jì)與業(yè)務(wù)設(shè)計(jì)的關(guān)系。
應(yīng)用設(shè)計(jì)的成果相當(dāng)于業(yè)務(wù)設(shè)計(jì)成果加上了一個(gè)可以操作的“外殼”。用戶(hù)是通過(guò)應(yīng)用設(shè)計(jì)內(nèi)容(界面、按鈕等)去操作業(yè)務(wù)設(shè)計(jì)的內(nèi)容(數(shù)據(jù)、規(guī)則)的。
圖1 業(yè)務(wù)設(shè)計(jì)與應(yīng)用設(shè)計(jì)的關(guān)系
應(yīng)用設(shè)計(jì)要求需求工程師具有跨界的知識(shí)和能力,包括(不限于此):客戶(hù)專(zhuān)業(yè)知識(shí)、業(yè)務(wù)設(shè)計(jì)知識(shí)、技術(shù)開(kāi)發(fā)知識(shí)、UI設(shè)計(jì)、美工設(shè)計(jì)知識(shí)、系統(tǒng)上線經(jīng)驗(yàn)等。
3. 應(yīng)用用例的作用
應(yīng)用設(shè)計(jì)驗(yàn)證檢驗(yàn)了所有的系統(tǒng)功能的使用方法、使用順序、操作步驟、相應(yīng)的規(guī)則等,圖2 表示了在軟件工程框架上編寫(xiě)應(yīng)用用例的位置。
圖2 軟件工程框架上應(yīng)用用例的位置
應(yīng)用用例可以模擬“人-機(jī)-人”的工作環(huán)境,通過(guò)與用戶(hù)的共同確認(rèn)幫助進(jìn)行以下的驗(yàn)證(不限于此)。
1)支持驗(yàn)證應(yīng)用設(shè)計(jì)結(jié)果
- 模擬系統(tǒng)完成后的操作環(huán)境,感受應(yīng)用操作的效率、人機(jī)友好滿(mǎn)意度;
- 可以提前發(fā)現(xiàn)和解決隱性設(shè)計(jì)缺陷,減少開(kāi)發(fā)完成后的軟件商與用戶(hù)之間的認(rèn)知誤差;
- 統(tǒng)一系統(tǒng)干系人對(duì)設(shè)計(jì)的認(rèn)知,認(rèn)知包括對(duì)以下內(nèi)容的理解:架構(gòu)、功能、操作等;
2)支持測(cè)試用例的編制
作為后面測(cè)試用例的“操作流程”案例,與應(yīng)用設(shè)計(jì)成果(界面、控件)、業(yè)務(wù)設(shè)計(jì)成果(業(yè)務(wù)邏輯、數(shù)據(jù)邏輯)等共同組合,支持編寫(xiě)測(cè)試用例。
3)使用對(duì)象、使用場(chǎng)合
- 在軟件公司的設(shè)計(jì)相關(guān)人中間進(jìn)行討論、驗(yàn)證。
- 與用戶(hù)的相關(guān)部門(mén)、崗位進(jìn)行溝通、確認(rèn)。
- 向后續(xù)設(shè)計(jì)、驗(yàn)證提供功能、邏輯、數(shù)據(jù)、機(jī)制的支持。
- 做為客戶(hù)上線培訓(xùn)的重要資料等。
4)客戶(hù)價(jià)值
除去對(duì)功能方面設(shè)計(jì)成果的驗(yàn)證外,應(yīng)用用例還有一個(gè)重要作用就是對(duì)應(yīng)用價(jià)值的驗(yàn)證,應(yīng)用用例可以讓用戶(hù)直接感受到應(yīng)用價(jià)值的存在。
感受應(yīng)用價(jià)值的方法有很多,比如
- 按照角色:應(yīng)用用例可以按照不同的企業(yè)角色去編寫(xiě),如董事長(zhǎng)、財(cái)務(wù)總監(jiān)、項(xiàng)目經(jīng)理、庫(kù)管員等,讓各角色都清楚地知道他在系統(tǒng)中的工作內(nèi)容和要遵守的規(guī)則。
- 按照流程:應(yīng)用用例可以沿著不同的流程去編寫(xiě),如采購(gòu)流程、報(bào)銷(xiāo)流程、物流流程等,將每一條流程相關(guān)的功能全部串聯(lián)起來(lái),用以檢查流程上各角色之間的協(xié)同是否有問(wèn)題等。
二、應(yīng)用用例內(nèi)容
編寫(xiě)應(yīng)用用例是應(yīng)用設(shè)計(jì)驗(yàn)證的主要工作。一個(gè)完整的應(yīng)用用例由三個(gè)部分構(gòu)成:用例場(chǎng)景、運(yùn)行導(dǎo)圖和基礎(chǔ)數(shù)據(jù)。
應(yīng)用用例與業(yè)務(wù)用例在場(chǎng)景設(shè)計(jì)選擇上有所不同,業(yè)務(wù)用例更多的是驗(yàn)證業(yè)務(wù)本身(以某個(gè)業(yè)務(wù)線為主軸設(shè)計(jì)),而不在意該業(yè)務(wù)由那個(gè)角色來(lái)處理,但是應(yīng)用用例的“應(yīng)用”不但要有主線而且還要針對(duì)角色而設(shè)置的用例;重點(diǎn)在站在某個(gè)角色的立場(chǎng)上將“該角色關(guān)心的內(nèi)容整合成流程”加以推演,因此,在確定題目、目的和價(jià)值之前需要首先確定操作角色。
- 角色:按照部門(mén)、角色規(guī)劃(董事長(zhǎng)、成本會(huì)計(jì)、倉(cāng)庫(kù)管理員、…),或是一組角色。
- 題目:從該角色的視角出發(fā),選定題目。
- 目的:根據(jù)上述的題目,確定該角色關(guān)心什么、要什么結(jié)果。
- 價(jià)值:達(dá)到了目的后,可以給該角色帶來(lái)什么價(jià)值。
從角色出發(fā)設(shè)置用例場(chǎng)景,這就是為什么說(shuō)應(yīng)用用例可以驗(yàn)證客戶(hù)的信息化價(jià)值的原因。
1.用例場(chǎng)景
以某個(gè)工程項(xiàng)目的項(xiàng)目總監(jiān)為對(duì)象,參見(jiàn)圖3。
圖3 項(xiàng)目總監(jiān)的看板
- 角色:項(xiàng)目總監(jiān)。
- 題目:項(xiàng)目總監(jiān)的項(xiàng)目管理看板。
- 目的:項(xiàng)目總監(jiān)打開(kāi)界面就可找到他所需要的信息、完成想做的事。
- 價(jià)值:項(xiàng)目總監(jiān)可以及時(shí)地掌握公司全部項(xiàng)目的走向,快遞地做出判斷。
為了可以達(dá)到目的,場(chǎng)景設(shè)計(jì)時(shí)在一個(gè)界面上將項(xiàng)目總監(jiān)關(guān)心的信息、材料、以及總監(jiān)需要操作的功能、待辦事宜、發(fā)布的通知等全部功能集中,甚至將企業(yè)知識(shí)庫(kù)(公司規(guī)章制度、法律法規(guī)等)全部鏈接起來(lái),讓項(xiàng)目總監(jiān)不用頻繁地點(diǎn)擊菜單四處尋找就可以知道自己在信息系統(tǒng)中能夠到什么信息、處理什么工作等。
同理,也可以設(shè)計(jì)出董事長(zhǎng)、總經(jīng)理、總會(huì)計(jì)師、倉(cāng)庫(kù)管理員等各類(lèi)企業(yè)運(yùn)營(yíng)中關(guān)鍵角色的應(yīng)用用例,在系統(tǒng)上線前讓他們充分地理解和意識(shí)到系統(tǒng)上線后的變化,可以提前做好準(zhǔn)備,包括:組織、崗位的調(diào)整,相關(guān)管理規(guī)則的調(diào)整。
2. 運(yùn)行導(dǎo)圖
運(yùn)行導(dǎo)圖,是用圖形的方式,將場(chǎng)景的內(nèi)容按照操作流程的順序詳細(xì)地呈現(xiàn)出來(lái),它包含了在系統(tǒng)中操作的主要步驟、主要操作功能(節(jié)點(diǎn))、以及想要呈現(xiàn)給觀者的信息化環(huán)境下最具應(yīng)用價(jià)值的內(nèi)容。
1)運(yùn)行導(dǎo)圖的構(gòu)成
運(yùn)行導(dǎo)圖的內(nèi)容、方式可以根據(jù)應(yīng)用設(shè)計(jì)師向用戶(hù)、技術(shù)設(shè)計(jì)師展示的內(nèi)容而定,但是有以下幾個(gè)必須要有的核心內(nèi)容:
- 操作導(dǎo)圖:給出應(yīng)用用例的主線。
- 操作界面:給出操作流程圖上每個(gè)節(jié)點(diǎn)的組件原型界面截圖。
- 數(shù)據(jù)導(dǎo)圖:給出每個(gè)節(jié)點(diǎn)上需要的外部數(shù)據(jù)源,比如:基礎(chǔ)數(shù)據(jù)(字典)等。
- 管控導(dǎo)圖:給出具有管控功能的系統(tǒng)機(jī)制,說(shuō)明如何進(jìn)行管控。
系統(tǒng)運(yùn)行時(shí)的操作流程不是業(yè)務(wù)設(shè)計(jì)中的業(yè)務(wù)流程,可以看做是在系統(tǒng)上運(yùn)行的“業(yè)務(wù)流程”;比如,在業(yè)務(wù)用例中,業(yè)務(wù)流程是將業(yè)務(wù)功能用邏輯串聯(lián)起來(lái),但是在應(yīng)用用例中,實(shí)現(xiàn)同樣流程可以采用“事找人”的主動(dòng)推送流轉(zhuǎn)方式。
2)運(yùn)行導(dǎo)圖的設(shè)計(jì)
【操作導(dǎo)圖】:
下圖是用來(lái)描繪“成本管理”模塊的操作流程示意圖,參見(jiàn)圖4。
圖4 操作導(dǎo)圖
- 目的:應(yīng)用用例的主要導(dǎo)圖,可以讓用戶(hù)完整地、準(zhǔn)確地知道系統(tǒng)上線后的工作環(huán)境。是系統(tǒng)完成前用戶(hù)就了解系統(tǒng)帶來(lái)信息化價(jià)值的主要途徑。
- 特點(diǎn):雖然不是真實(shí)系統(tǒng),但是用戶(hù)的感受與完成后的真實(shí)系統(tǒng)是一樣的、否則用戶(hù)不能提前指出系統(tǒng)是否存在問(wèn)題、或是雙方之間是否有理解上的誤差。
- 內(nèi)容:需要詳細(xì)到具體點(diǎn)擊的是哪一個(gè)按鈕、哪一條有鏈接的數(shù)據(jù)等,雖然界面是原型但是由于有控件(字段、按鈕)、鏈接、提示框等系統(tǒng)的要素,用戶(hù)完全可以體會(huì)到系統(tǒng)完成后的環(huán)境。
【數(shù)據(jù)導(dǎo)圖】:
當(dāng)推演的場(chǎng)景非常復(fù)雜,僅僅依靠操作導(dǎo)圖、界面截圖等內(nèi)容不足以說(shuō)明業(yè)務(wù)邏輯、數(shù)據(jù)來(lái)源等隱性的設(shè)計(jì)成果時(shí),可以采用數(shù)據(jù)導(dǎo)圖作為輔助,揭示運(yùn)行導(dǎo)圖(節(jié)點(diǎn))背后的支持的數(shù)據(jù)等內(nèi)容,如圖5所示:
圖5 數(shù)據(jù)導(dǎo)圖
- ①繪制簡(jiǎn)單的運(yùn)行導(dǎo)圖(只要有節(jié)點(diǎn)名稱(chēng),不需要看清楚界面的內(nèi)容)。
- ③在節(jié)點(diǎn)下方標(biāo)示出該節(jié)點(diǎn)必需的基礎(chǔ)數(shù)據(jù)、管理規(guī)則庫(kù)的名稱(chēng)等(在該節(jié)點(diǎn)首次輸入)。
- ③在節(jié)點(diǎn)數(shù)據(jù)源下面給出數(shù)據(jù)之間的邏輯關(guān)系、以及內(nèi)部的復(fù)雜處理算式規(guī)則等。
3. 基礎(chǔ)數(shù)據(jù)
這里講的基礎(chǔ)數(shù)據(jù)是個(gè)廣義的概念,它包括了所有系統(tǒng)運(yùn)行前需要準(zhǔn)備的數(shù)據(jù)。
1)基礎(chǔ)數(shù)據(jù)設(shè)置
這是重要的企業(yè)信息化管理內(nèi)容,它包括了如何編制所有的系統(tǒng)運(yùn)行所需的用字典形式進(jìn)行管理的數(shù)據(jù),對(duì)象有:材料字典、設(shè)備字典、產(chǎn)品字典、組織字典等。
2)管理規(guī)則設(shè)置
管理規(guī)則也是一套“數(shù)據(jù)”,這些規(guī)則需要由客戶(hù)的相關(guān)部門(mén)根據(jù)自己部門(mén)所管的業(yè)務(wù)功能,預(yù)先制定出可以支持信息系統(tǒng)用的標(biāo)準(zhǔn)和對(duì)應(yīng)的規(guī)則,然后在系統(tǒng)運(yùn)行前設(shè)定到系統(tǒng)中,比如時(shí)限用的規(guī)則表。
3)分歧條件設(shè)置
通過(guò)運(yùn)行導(dǎo)圖的推演,與用戶(hù)具體的確認(rèn)有關(guān)聯(lián)流程的基本設(shè)定條件,如
- 業(yè)務(wù)流程:流程的分歧、流轉(zhuǎn)所依據(jù)的業(yè)務(wù)標(biāo)準(zhǔn)、對(duì)應(yīng)的管理規(guī)則等。
- 審批流程:審批條件、通過(guò)、拒絕等的標(biāo)準(zhǔn)、對(duì)應(yīng)的管理規(guī)則等。
4)系統(tǒng)權(quán)限設(shè)置
為每個(gè)系統(tǒng)用戶(hù)設(shè)定權(quán)限,體現(xiàn)了“信息化環(huán)境”管理的方式,這個(gè)方式可以協(xié)助組織管理部門(mén)進(jìn)行精確地管理,它也是信息化環(huán)境下的組織管理的重要內(nèi)容和手段。
三、應(yīng)用設(shè)計(jì)驗(yàn)證過(guò)程
驗(yàn)證過(guò)程在編寫(xiě)應(yīng)用場(chǎng)景、繪制操作導(dǎo)圖、數(shù)據(jù)導(dǎo)圖的時(shí)候就開(kāi)始了:
- 系統(tǒng)運(yùn)行前必須準(zhǔn)備好的基礎(chǔ)數(shù)據(jù)(輸入)。
- 按照應(yīng)用場(chǎng)景進(jìn)行流程啟動(dòng)、結(jié)束、通知。
- 對(duì)流程上的每個(gè)功能界面的進(jìn)行操作。
- 檢驗(yàn)每一步操作的合理性、易用性,等。
按照這樣的方法推演下來(lái),基本上就可以確認(rèn)應(yīng)用設(shè)計(jì)的結(jié)果是否正確了。
注1:應(yīng)用設(shè)計(jì)驗(yàn)證與業(yè)務(wù)設(shè)計(jì)驗(yàn)證的區(qū)別。
業(yè)務(wù)設(shè)計(jì)驗(yàn)證只關(guān)心與數(shù)據(jù)相關(guān)的內(nèi)容,如:對(duì)合同編制功能的業(yè)務(wù)驗(yàn)證,重點(diǎn)在與合同相關(guān)的業(yè)務(wù)邏輯、數(shù)據(jù)邏輯、數(shù)據(jù)來(lái)源、管控規(guī)則等是否正確;但是對(duì)操作合同編制界面的輸入效率、如何查詢(xún)合同相關(guān)信息、合同完成后如何鎖定數(shù)據(jù)的等內(nèi)容不涉及。
注2:應(yīng)用用例與操作手冊(cè)的區(qū)別。
操作手冊(cè)一般是按照界面操作的每個(gè)字段、按鈕進(jìn)行說(shuō)明的,非常細(xì),是對(duì)完成的軟件操作知道;應(yīng)用用例是對(duì)操作是否合理的檢查、驗(yàn)證,當(dāng)然有了應(yīng)用用例后編寫(xiě)操作手冊(cè)會(huì)容易。
四、總結(jié)
相對(duì)于建筑業(yè)、制造業(yè)、影視業(yè)等都要進(jìn)行設(shè)計(jì)階段和制作階段兩次的檢驗(yàn)來(lái)說(shuō),軟件行業(yè)基本上只有制作完成后的一次檢驗(yàn)。
軟件行業(yè)為了保證產(chǎn)品質(zhì)量也應(yīng)該加上雙保險(xiǎn):設(shè)計(jì)驗(yàn)證和軟件測(cè)試。目前對(duì)設(shè)計(jì)階段成果的驗(yàn)證還不普及,研究也不夠深入。
從前面的探討可以看出來(lái),如果沒(méi)有進(jìn)行設(shè)計(jì)驗(yàn)證,僅僅依靠軟件測(cè)試,待發(fā)現(xiàn)了設(shè)計(jì)問(wèn)題時(shí)就一定要進(jìn)行返工了,這樣做是不能保證軟件產(chǎn)品的最終質(zhì)量的。
軟件行業(yè)的發(fā)展還很年輕,經(jīng)驗(yàn)還不足,因此應(yīng)該借鑒其它行業(yè)的好方法好經(jīng)驗(yàn),快速提升軟件行業(yè)的產(chǎn)品質(zhì)量,提升客戶(hù)對(duì)軟件產(chǎn)品的滿(mǎn)意度。
作者:李鴻君;著有《大話軟件工程—需求分析與軟件設(shè)計(jì)》一書(shū)。
本文由 @李鴻君 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自 Unsplash,基于 CC0 協(xié)議