王素玲 劉旭儒
摘 要
在信息化高度發展、軟件產品廣泛應用的今天,軟件產品質量尤其是易用性和效率直接影響著社會生產效率和人們的生活品質。而且隨著人們生活節奏的不斷加快,對軟件易用性和效率的要求也越來越高。這就促使軟件制造者必須對這兩個質量特性進行不斷的改進。然而,這兩個質量特性尤其是易用性,所涉及的影響因素可謂紛繁復雜,故其改進過程復雜度高、難度大,至今尚未形成既普遍適用又具有較強可操作性的方法。這篇文章通過對軟件易用性和效率的影響因素及其改進過程共性特征的分析,提出了一個通用的改進流程框架,并給出了具體實施辦法,旨在為軟件研制企業在這兩個質量特性的改進方法上提供借鑒。
【關鍵詞】軟件產品 軟件產品質量 軟件易用性和效率 改進方法
隨著信息技術突飛猛進的發展,軟件產品的應用已經滲透到人類生產和生活的各個方面。尤其是隨著互聯網應用的廣泛普及,電子商務、電子政務、電子金融等各種信息服務以及網絡安全工具等等,所呈現給廣大用戶的是形形色色的軟件產品。因此,軟件產品質量尤其是易用性和效率這兩個質量特性,直接影響著社會生產效率和人們的生活品質,軟件產品質量的不斷改進已經成為一種社會需要。在軟件業日趨發展成熟的今天,軟件的功能性、可靠性經成為軟件產品必備的基本質量屬性,而軟件的易用性和使用效率在實際應用中卻表現出良莠不齊,存在著較大的改進空間。但這兩個質量特性的改進復雜度高、難度大,方法尚在不斷的探索中。本文欲就這個問題,首先談一談軟件易用性與效率的含義及其改進的必要性,然后嘗試著探討一下這兩個質量特性的改進方法。
1 軟件易用性與效率的含義及其改進的必要性
對于軟件產品質量,國標《GBT 16260.1-2006 軟件工程 產品質量 第I部分:質量模型》給出了全面的定義。其中,對易用性和效率定義如下:
易用性:在指定條件下使用時,軟件產品被理解、學習、使用和吸引用戶的能力。它包括易理解性、易學性、易操作性和吸引性。
效率:在規定條件下,相對于所用資源的數量,軟件產品可提供適當性能的能力。它包括時間特性和資源利用特性。
簡而言之,軟件的易用性即是指用戶使用軟件的容易程度。易用性強的軟件具有人機界面友好、流程設計合理、層次清晰、直觀明了、操作簡便且符合用戶習慣的特點,使用戶一看就會,一蹴而就,且給用戶帶來清新愉快的體驗。軟件的效率則是指在滿足功能性的前提下,盡可能少占用用戶資源,并切實能幫助用戶提高業務工作效率。這兩個質量特性的優劣是用戶能夠直接體驗到的,在實際使用中,人們自然而然地會擇優而用。例如,有兩家航空公司都建立了網上訂票系統,分別為A和B,這兩個系統所提供的航班查詢、機票預定功能完全相同,所不同的是,A系統可以不必注冊登錄而直接進行訂票操作;B系統則必須經過注冊、登錄后才能訂票。顯然,對于大多數不經常乘坐飛機的臨時客戶來說,肯定認為A比B用起來方便,從而選用A。 再例如,有兩個不同廠商開發的病毒防御工具C和D,它們對病毒的防殺能力區別不大,然而兩者相比較,D的掃描速度慢、在運行時占用太多的系統資源,甚至導致其他程序無法正常運行,簡直比病毒的困擾還讓人難以忍受。那么用戶對這兩個軟件質量的評價肯定是D不如C,即使C的病毒防殺能力稍弱于D,多數用戶尤其是電腦配置不高的用戶也寧可選擇C。
由此可見,軟件易用性與效率直接影響著人們的工作效率和生活品質,這兩個質量特性的改進是廣大用戶的需要。尤其是現代人的生活節奏快,做事力求方便快捷、立竿見影,因此對這兩個質量特性的改進要求也就越來越高。在軟件產品競爭日益經激烈的今天,任何一個軟件制造商如果無視這種改進要求,他的產品就面臨著被選擇性淘汰的危險。因此,改進勢在必行、毋庸置疑。
然而,這兩個質量特性尤其是易用性,所涉及的影響因素紛繁復雜,其改進難度之大可想而知。盡管人們在實踐中不斷地探討著如何提高軟件的易用性與效率,但結果僅限于提出一些觀點、原則或某些具體要求,至今尚未形成一套既普遍適用又具有較強可操作性的方法。本文試圖對軟件易用性和效率改進的通用方法做一個嘗試性探討,認為要保證這兩個質量特性得到持續、有效的改進,對于一個軟件研制企業來說,需在組織層面建立一套流程和機制,即構建一個改進體系。這個體系既具有宏觀層面的規劃、指導和制約功能,又具有微觀層面的可操作性。下面就對這個改進流程及實施方法做一個簡要介紹。
2 軟件易用性與效率的改進方法
如果泛泛地談論軟件易用性和效率的改進,簡直無從下手,因為軟件產品種類千差萬別,不同種類的軟件有著不同的改進需求,而同一種軟件產品也可能面臨各種不同的用戶、不同的運行環境,不同用戶對軟件的使用預期各不相同、不同的運行環境下軟件的運行效率各有差異。就軟件的易用性而言,既涉及到社會環境、人們的心理與行為習慣、用戶的特點與水平等多方面因素,又涉及到操作層面非常具體的細節問題,有些問題是事先無法預料的,只能在使用過程中不斷發現和解決;就軟件的效率而言,它是由軟件本身和運行環境共同決定的。因此,對這兩個質量特性的改進都要建立在對其影響因素進行全面、細致分析的基礎上,都應包括對可預料問題的事先解決和對不可預料問題的事后修正。于是,可以建立一個如圖1所示的改進流程。
這個流程框架對于不同類別軟件產品的易用性和效率的改進是通用的,但對不同軟件、不同質量特性的改進,各流程節點的內容及具體實施方法是不同的。下面分別對軟件易用性、軟件效率改進的內容與實施方法加以說明。
2.1 軟件易用性的改進
上面已談到,軟件易用性涉及到社會環境與用戶類型及使用預期等諸多因素,而且社會是不斷發展的,用戶自身及其對軟件的使用預期也在不斷地變化,因此,圖1中的“因素分析”就是軟件制造商針對自己研制的軟件產品所面向的用戶及其所處社會環境進行實時的全面細致的分析。這個分析應至少得出以下結果:endprint
(1) 識別出所有可能的用戶并對用戶進行分類;
(2)認識到各類用戶所處環境、心理特征、行為習慣和對軟件的使用預期,并預測可能發生的變化;
(3)根據自己和同行的經驗(包括已有的相關國標、行標等),識別并吸納已經成功的(即被多數用戶所接受了的)各種易用性解決方案。
上述分析結果是流程第二步“建制建庫”的前提和依據。“建制”即是建立適于自身的企業級軟件研制標準和規范,較之國標、行標,這種企業級標準和規范要具體、細致得多,且針對性強。比如,要細致到對用戶界面所用菜單、按鈕等的命名都做出明確規定,以避免因命名不當而引起歧義或誤解導致易用性降低。 “建庫”則是創建一個標準化元素、軟構件庫為軟件開發過程服務,例如,將可能用到的各種界面元件名稱及各種圖標作為標準化元素保存到庫中,在進行程序開發時,直接從庫中提取相關元素。這個“庫”既是對企業標準和規范的具體化,也是強制軟件開發過程執行企業標準和規范的一種技術手段,同時也使企業所積累的軟件資源得到充分的復用從而提高軟件開發效率。
需要指出的是,“因素分析”和“建制建庫”不是在某一個具體的軟件開發項目中進行的,而是在企業組織層面進行的,應該由企業的產品總體策劃部門來實施。另外,當“制”與“庫”創建之后,要根據影響因素的變化和使用過程中用戶的反饋信息而不斷地進行修正和更新,即對其進行維護,這個不斷維護的過程也就是持續改進過程。
流程的第三步“過程控制”則是針對具體開發項目而言的,這里的“過程”包括項目的需求分析過程、系統設計過程、模塊開發過程以及相應的驗證過程。僅就易用性改進而言,項目的需求分析就是對本項目所開發的具體軟件產品的易用性需求進行更深入細致的分析,給出更為明確的易用性定義和驗證標準作為設計、驗證的依據,同時還可以對企業級標準規范進行補充和修正;系統設計過程中的易用性設計,一方面要符合本項目需求,另一方面,要把功能性設計與界面設計緊密結合起來,使內在邏輯與外在操作有機地關聯,用操作的簡單、流暢原則來規范內在邏輯設計的合理性;模塊開發過程是對項目需求、設計的具體實現過程;驗證過程則是依據需求中的驗證標準,審查或測試易用性的實現程度。
“信息反饋”是指通過各種途徑,將軟件使用過程中用戶對易用性的體驗和進一步的改進意見搜集起來,進行匯總歸納、分析提煉,形成有效的改進方案,然后及時修正或更新組織的標準規范和相應的資源庫。這樣,就形成了一個保證軟件易用性持續改進的完整閉環。
2.2 軟件效率的改進
對于軟件效率的改進過程,圖1中的“因素分析”是指對影響運行效率的軟件自身因素和軟件所有可能的運行環境進行分析。自身因素包括軟件技術架構的選擇、產品體量的大小、系統內部結構與流程的合理性,以及編程所用算法、語句,變量的定義、管理等具體細節問題;運行環境包括各種不同配置的硬件環境、不同的操作系統、不同的網絡環境等等,還抱括與其他關聯業務系統之間的信息交換與數據共享關系。
“建制建庫”則是在因素分析的基礎上,對本企業可能用到的各種技術架構、各種算法等內在因素進行效率性能比較并形成文件,以供開發人員參考;同時根據已有經驗建立一個軟件產品在不同運行環境下所能達到的性能指標庫和較成熟的高效率軟件構件庫,以供開發時選用。舉一個簡單的例子,對于一個試題庫系統,要從題庫中隨機抽選若干試題形成試卷,可有多種實現方式:可以保持題庫中試題的排列順序不變,系統每產生一個隨機數而抽選一個試題;也可以完全打亂題庫中試題的排列順序,總是從第一行開始按順序選擇若干試題。對此,“建制建庫”的任務就是對這兩種實現方式在一定運行環境下所消耗的時間和所占用的內存資源等進行估算和比較,指出在何種情況下,哪個實現方法為優,同時給出該軟件在各種不同運行環境下的效率指標。
“過程控制”一方面是通過對開發過程的指導和監督來保證軟件功能的具體實現采用最優方法, 另一方面則是針對不同的運行環境和用戶需求而采用不同的系統部署策略,如對硬件配置較低的運行環境采用簡約化的部署策略,即去掉不必要的功能、減少軟件體量,優化系統結構及流程、由繁化簡。
“信息反饋”包括多方面的內容:
(1)跟進新技術,及時引進適于企業自身的新技術架構、新的算法等等。
(2) 搜集同行的成功經驗,吸納已有的高性能軟件構件。
(3)加強內部溝通交流、鼓勵自主創新,并將創新成果及時納入組織資源庫。
(4)建立用戶反饋渠道,收集、分析用戶的改進意見與需求,制定效率改進目標。
3 結論
綜上所述,在軟件產品廣泛應用的今天,軟件產品質量尤其是易用性和效率這兩個質量特性,直接影響著社會生產效率和人們的生活品質,對其進行不斷地改進,是用戶的需要,是大勢所趨,也是軟件制造者的社會責任。而這種改進過程是復雜的,其方法需要不斷地探討。本文提出的“建立在對軟件易用性和效率的影響因素進行全面細致分析基礎上的改進流程”,具有一定的通用性,希望能為軟件研制企業在這兩個質量特性的改進方法上提供些許借鑒。
參考文獻
[1]GBT 16260.1-2006 軟件工程 產品質量 第I部分:質量模型
[2]劉立忠.讓軟件產品更易用[J].科技浪潮,2008(10).
[3]黃杰等.解決軟件產品易用性問題的方法思考[J].中國新技術新產品,2013(02).
[4]付永民..面向產品易用性的設計方法[J].設計,2013(12).
[5]李勇.高性能低資源占用率的情報型BBS構建研究[J].辦公自動化,2013(10).
[6]邱燕娜.如何化解行業細化與軟件效率的矛盾[N].中國計算機報,2011.
作者簡介
王素玲(1963-),女,現為航天信息股份有限公司高級工程師。主要從事行業應用軟件研發。
劉旭儒(1953-),男,現為航天信息股份有限公司研究員,享受國務院特設津貼,科技部重點新產品及其信息化專家,長期從事軍品民品技術研究與管理工作。
作者單位
航天信息股份有限公司 北京市 100195endprint