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