張青青
(咸陽職業(yè)技術(shù)學院,陜西咸陽,712000)
在PDA上進行軟件設計與開發(fā)可以通過以下兩種方案實施。
在方案一中管理層PDA的客戶端程序必須和業(yè)務人員PDA的客戶端程序分開去單獨的設計和開發(fā)。至于為什么要分開呢,我們得從性能的角度來分析:
優(yōu)點很明顯,PDA不用專門去花費精力處理用戶不同角色切換的部分,也不需要把用戶的功能實時加載,這樣就可以很大程度上提高PDA系統(tǒng)性能的效率,進而就避免了系統(tǒng)資源不必要的開銷。
但是弊端也很明顯,因為管理層和業(yè)務人員是分開設計開發(fā)的,所以角色之間不能互相切換,只能是在各自的專業(yè)PDA上面使用程序提供的各種功能(比如管理層專用的PDA只能供管理層使用)。
在方案二中剛好與方案一相反,把管理層和業(yè)務人員的PDA不加以區(qū)分設計與開發(fā),而是讓用戶之間直接切換。至于為什么不分開設計,也從系統(tǒng)功能的拓展性角度進行說明:
優(yōu)點就是管理層與業(yè)務人員的身份可以互相切換,系統(tǒng)的可持續(xù)性發(fā)展比較好,以后升級也很方便,對于以后的維護和繼續(xù)開發(fā)非常有利。
缺點則是身份驗證過于頻繁,在用戶進去之后,操作的每一步都需要身份的證明,這無形中就增加了系統(tǒng)資源的開銷,一定程度上會影響到系統(tǒng)的運行速度,降低系統(tǒng)效率。
對方案一和方案二的性能角度分析,針對于PDA客戶端的軟件設計和開發(fā),我們決定用第二種方案進行研究和實施,具體原因進行更加詳細的分析如下:
系統(tǒng)能否以后繼續(xù)升級,是不是可擴展是軟件設計人員需要考慮的一個重要指標,這個性能將很大程度決定了軟件的多次使用率,及以后軟件需要升級的難易程度,即升級的代價是否過大。
如果我們使用了第一種方案開發(fā)軟件,那就意味著軟件開發(fā)人員需要同時開發(fā)兩套應用程序,根據(jù)管理層的不同需求和業(yè)務人員的不同功能需求單獨開發(fā)。那么在升級擴展的時候,也就是需要同時對兩個程序一起升級,這樣就浪費了人力物力去對兩個很相似的程序分開升級,升級的代價就會比較大,不利于后期軟件的長期發(fā)展。
反之第二套方案就只需軟件開發(fā)人員將管理層和業(yè)務人員的需求合并開發(fā)一個功能齊全的應用程序,對軟件開發(fā)人員來說,前期會費時費力,但是只要軟件開發(fā)完善,之后的軟件升級將會大大提高效率,軟件的后期發(fā)展才會更好。
軟件設計的一個大原則就是要遵循,所有的重要數(shù)據(jù)都應該存在數(shù)據(jù)庫中集中管理,便于以后的操作。但是第一種方案剛好違背了這個原則,只是把用戶名與密碼等一些信息存儲與數(shù)據(jù)庫中,將重要的數(shù)據(jù)信息,比如用戶識別的數(shù)據(jù)信息與PDA的客戶端相關(guān)聯(lián)。所以就造成了在日后的系統(tǒng)升級維護時,難度大大增加,或者說浪費大量時間精力效果甚微,因為后臺的數(shù)據(jù)庫中沒有存儲用戶的級別信息和設備的核心信息。這樣的軟件擴展性能就很差。如圖1所示。
圖1 方案一
第二種方案就修正了第一種方案的不足,在第二種方案中,不但將基本的用戶名和密碼的信息存儲于數(shù)據(jù)庫,還將最重要的用戶識別與設備驗證的信息也一并存儲于數(shù)據(jù)庫中,這樣做的目的就是希望應用軟件的一些重要的信息依賴與數(shù)據(jù)庫,保持了數(shù)據(jù)的完整性,對于數(shù)據(jù)庫的維護和整個系統(tǒng)的后期升級和擴展打下了良好的基礎,使得后期的工作變得相對容易,便于軟件的長期使用。如圖2所示。
圖2 方案二
第一種方案中,由于根據(jù)管理層和業(yè)務人員不同需求開發(fā)出了兩套應用程序,所以在管理層的PDA中單獨安裝的管理層專用的客戶端軟件,與業(yè)務人員專業(yè)的客戶端軟件是不能相互切換使用的,只能是管理層與管理層之間,業(yè)務人員與業(yè)務人員之間進行切換,不夠靈活,使用感比較差。
圖3 方案二中用戶身份驗證流程與用戶功能示意圖
反之第二種方案,因為管理層的PDA和業(yè)務人員的PDA同時共享同一套客戶端軟件,唯一的區(qū)別就在于軟件系統(tǒng)會根據(jù)登陸者輸入的用戶名等信息來判斷后臺需要啟動哪些功能為用戶提供服務。所以方案二的PDA不但同用戶可以互相通用,不同用戶之間的PDA也可以通過程序的控制實現(xiàn)通用。如圖3所示。
方案二中的兩個用戶端是合并開發(fā)的,那么安全性怎么保障呢的。
在方案二中,當用戶打開客戶端,輸入了用戶名與密碼,點擊提交以后,該用戶的登錄信息和設備信息會及時傳輸?shù)椒掌鞫恕7掌鲿R上啟動服務應用程序?qū)斎氲男畔⑦M行判斷,用戶信息判斷通過之后,接著對設備信息進行判斷。如果當前的兩項信息都符合PDA的用戶身份,就會登錄成功。反之如果不是有效的PDA用戶,系統(tǒng)就會提示登錄失敗。登錄成功的用戶,系統(tǒng)會將用戶的 傳輸?shù)娇蛻舳?,控制程序就會加載 相應的功能模塊給不同權(quán)限的用戶。在該PDA中,管理層的模塊功能如圖4所示。
圖4 管理層PDA功能示意圖
在方案二中傳輸安全的保障有以下選擇可供使用:
(1)傳輸?shù)陌踩酝ㄟ^使用windows確保。選擇windows域或者windows的目標林將該應用軟件的手持終端和服務中心進行部署。由于個人數(shù)據(jù)也是消息中的重要組成。所以手持終端必須和服務中心來把關(guān),補充互相身份驗證的安全這一部分。這么做的目的是為了保持消息完整性與保密性。然后消息的簽名信息還必須被消息的接收方記錄。所以還必須要有已發(fā)生特定事物的證明。
(2)傳輸?shù)陌踩酝ㄟ^user name和https確保。手持終端依據(jù)保存在數(shù)據(jù)庫中的用戶名和密碼對登錄者的身份進行驗證。服務中心用可靠的ssl證書放置在https地址里面。Internet中的消息傳輸機制使得PDA的手持終端與服務中心必須進行身份驗證的補充這一部分,同時還要兼顧消息的完整性與保密性
(3)傳輸?shù)陌踩酝ㄟ^證書確保。手持終端具有可保證消息安全傳輸?shù)淖C書,服務中心同樣也具有。因為手持終端通過互聯(lián)網(wǎng)Internet和服務中心進行消息的傳遞。這就意味著對應用程序提出要求,即應用程序需要補充對消息完整性、保密性和相互身份驗證的部分。
本文通過對兩種方案的優(yōu)缺點分析,從提高軟件開發(fā)效率,減少系統(tǒng)資源開銷的角度對兩種方案進行對比,最終確定第二種方案作為開發(fā)軟件的最終方案,然后詳細從系統(tǒng)的設計角度、數(shù)據(jù)庫系統(tǒng)的角度、用戶體驗的角度描述了選用第二種方案的優(yōu)勢。然后通過從身份驗證和傳輸方案兩個方面進一步論證了第二種方案的可行性。