郭俊利
(陜西工業(yè)職業(yè)技術(shù)學(xué)院 汽車工程學(xué)院, 咸陽 712000)
當(dāng)前保險(xiǎn)公司的汽車保險(xiǎn)考核存在評估標(biāo)準(zhǔn)不準(zhǔn)確、過程不規(guī)范等現(xiàn)象,對于車險(xiǎn)費(fèi)率的厘定存在精確度不高的問題,投保人車險(xiǎn)保費(fèi)公平合理的原則沒有充分體現(xiàn)出來,基于此,應(yīng)該對現(xiàn)有的汽車保險(xiǎn)考核評估系統(tǒng)進(jìn)行改進(jìn)。本研究結(jié)合公司當(dāng)前實(shí)施的有效的績效考核評估管理流程和管理制度,在充分的需求調(diào)查和可行性研究基礎(chǔ)之上,重新設(shè)計(jì)汽車保險(xiǎn)考核評估系統(tǒng)。J2EE平臺(tái)由應(yīng)用程序接口、通信協(xié)議和一套完整的服務(wù)構(gòu)成。該平臺(tái)有許多優(yōu)點(diǎn),如結(jié)構(gòu)簡單、重用性好、安全性較高、開發(fā)效率高等。因此,本研究基于J2EE平臺(tái)和多層軟件開發(fā)架構(gòu)思想對汽車保險(xiǎn)考核評估系統(tǒng)進(jìn)行設(shè)計(jì)。
J2EE(Java 2 platform enterprise edition)是一個(gè)分層體系結(jié)構(gòu),通常分成顯示層、控制層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層四個(gè)層次[1-2],它是為支持Java語言服務(wù)器端部署而提供的一種安全的、可移植的、多用戶的企業(yè)級(jí)平臺(tái)。Servlet是Java程序,可以在Web服務(wù)器上部署,從客戶端瀏覽器接收請求之后產(chǎn)生動(dòng)態(tài)應(yīng)答再發(fā)送到客戶端瀏覽器。其中,顯示層的作用是實(shí)現(xiàn)和用戶之間的交互,控制層對用戶的請求進(jìn)行響應(yīng),業(yè)務(wù)邏輯層對平臺(tái)中的各種業(yè)務(wù)邏輯和計(jì)算進(jìn)行處理;數(shù)據(jù)訪問層負(fù)責(zé)存儲(chǔ)平臺(tái)中的有用數(shù)據(jù),并對數(shù)據(jù)進(jìn)行管理。分層設(shè)計(jì)使平臺(tái)的結(jié)構(gòu)十分清晰,便于對平臺(tái)進(jìn)行維護(hù),同時(shí),代碼生成工具還可以根據(jù)每層的特點(diǎn)生成特定的代碼,使平臺(tái)的實(shí)現(xiàn)更加簡單。
Struts是當(dāng)前JavaWeb開發(fā)應(yīng)用較多、比較成熟的一種框架,本研究在J2EE平臺(tái)下設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于Struts框架的汽車保險(xiǎn)考核評估系統(tǒng),使用這種開發(fā)技術(shù)可以提高軟件代碼的復(fù)用質(zhì)量和開發(fā)效率。
根據(jù)J2EE定義的服務(wù)和規(guī)范,本研究將汽車保險(xiǎn)考核評估系統(tǒng)分成三層,分別為客戶層、中間層和數(shù)據(jù)層,中間層分成Web層和業(yè)務(wù)層,各個(gè)層次分別實(shí)現(xiàn)了系統(tǒng)的展示、查詢、處理和數(shù)據(jù)存儲(chǔ)等功能,通過權(quán)限驗(yàn)證確保系統(tǒng)的信息安全,采用基于角色授權(quán)方式實(shí)現(xiàn)系統(tǒng)訪問安全控制?;贘2EE平臺(tái)的汽車保險(xiǎn)考核評估系統(tǒng)框架,如圖1所示。
1) 客戶層:前端客戶層以JRE、JVM作為客戶層Java運(yùn)行環(huán)境,用插件等方式在瀏覽器中運(yùn)行;用戶通過瀏覽器實(shí)現(xiàn)和中間層中的業(yè)務(wù)邏輯之間的交互訪問。系統(tǒng)用戶包括汽車保險(xiǎn)企業(yè)的員工和領(lǐng)導(dǎo)。
2) 中間層:中間層包括Web層和業(yè)務(wù)層,實(shí)現(xiàn)系統(tǒng)業(yè)務(wù)邏輯的計(jì)算、代碼轉(zhuǎn)換、日志文件信息輸出、系統(tǒng)的事物控制等功能。Web層以JSP作為基本展示工具,提供給前端站點(diǎn)調(diào)用,生成的動(dòng)態(tài)Web頁面實(shí)現(xiàn)系統(tǒng)業(yè)務(wù)數(shù)據(jù)的查詢和發(fā)布;以Struts框架作為系統(tǒng)邏輯處理,用XML實(shí)現(xiàn)業(yè)務(wù)邏輯配置以此來對訪問內(nèi)容進(jìn)行控制;業(yè)務(wù)層以JavaBean等作為業(yè)務(wù)模型,完成汽車保險(xiǎn)考核評估系統(tǒng)的相關(guān)的實(shí)際業(yè)務(wù)封裝。
圖1 基于J2EE平臺(tái)的汽車保險(xiǎn)考核評估系統(tǒng)框架
3) 數(shù)據(jù)層:數(shù)據(jù)層存儲(chǔ)系統(tǒng)產(chǎn)生的動(dòng)態(tài)和靜態(tài)數(shù)據(jù),讀取共享內(nèi)存空間寫入數(shù)據(jù)庫。 數(shù)據(jù)層采用MySQL6.0作為數(shù)據(jù)庫服務(wù)器,處理過程如下:Web瀏覽器向Web服務(wù)器提出服務(wù)請求,核心控制器ActionServlet(位于Web容器中)在Web服務(wù)器接收請求之后查詢Struts配置文件,根據(jù)配置文件選擇合適的Action類對客戶端請求進(jìn)行處理,驗(yàn)證用戶提交的相關(guān)信息,做出應(yīng)答或配置適宜的模型類處理數(shù)據(jù),獲得處理結(jié)果之后選擇相應(yīng)的視圖文件在客戶端顯示。
綜上,在以上各項(xiàng)技術(shù)的支持下進(jìn)行汽車保險(xiǎn)考核評估系統(tǒng)的設(shè)計(jì)和開發(fā)。
設(shè)計(jì)該系統(tǒng)時(shí),以保險(xiǎn)企業(yè)的基本職能劃分為基礎(chǔ),確定系統(tǒng)的功能模型,兼顧現(xiàn)行的組織結(jié)構(gòu),采用面向業(yè)務(wù)流的思想,采用面向?qū)ο蠓治?OOA)的原則,識(shí)別出類與對象、連接與結(jié)構(gòu)、服務(wù)與屬性,然后根據(jù)面向?qū)ο蠓治鲞^程的主要活動(dòng)步驟獲得汽車保險(xiǎn)考核評估系統(tǒng)的總體功能結(jié)構(gòu)圖,包括用戶登錄及管理、日常事物處理、承保統(tǒng)計(jì)、綜合評估管理、綜合查詢分析、報(bào)表統(tǒng)計(jì)、系統(tǒng)維護(hù)等七個(gè)功能模塊,如圖2所示。
圖2 汽車保險(xiǎn)考核評估系統(tǒng)功能模塊
(1) 用戶登錄及管理
該模塊是系統(tǒng)的基礎(chǔ)管理模塊,根據(jù)用戶管理中定義的人員代碼和使用權(quán)限等信息實(shí)現(xiàn)用戶的管理,用戶注冊之后,輸入用戶名和密碼,系統(tǒng)提取用戶定義信息,對用戶的合法性進(jìn)行判定,如果用戶不存在或被禁用,用戶則不能訪問該系統(tǒng),如果用戶合法,則獲得系統(tǒng)的相應(yīng)使用權(quán)限,進(jìn)入該系統(tǒng)查詢相關(guān)信息。系統(tǒng)用戶為汽車保險(xiǎn)公司的普通工作人員、領(lǐng)導(dǎo)和系統(tǒng)的維護(hù)人員。系統(tǒng)管理員可以實(shí)現(xiàn)用戶信息查詢、添加、刪除等功能。
(2) 承保統(tǒng)計(jì)
該模塊主要針對汽車保險(xiǎn)承保業(yè)務(wù)管理人員和承保業(yè)務(wù)分析人員使用,可以對承保數(shù)據(jù)進(jìn)行分析,該模塊的主要功能為汽車清單處理和汽車保險(xiǎn)計(jì)費(fèi)處理。
汽車清單處理流程:系統(tǒng)中輸入保單號(hào)碼之后,提取保單主信息,保單信息驗(yàn)證正確之后,系統(tǒng)顯示相關(guān)的保單主信息,對汽車清單全局變量初始化,輸入汽車信息,系統(tǒng)校驗(yàn)汽車信息,如果汽車信息正確,則系統(tǒng)將輸入的信息加工成汽車清單并保存相關(guān)信息,為保險(xiǎn)計(jì)費(fèi)提供支持。
汽車保險(xiǎn)計(jì)費(fèi)處理流程:系統(tǒng)中輸入保單號(hào)碼之后,提取保單主信息,保單信息驗(yàn)證正確之后,系統(tǒng)顯示相關(guān)的保單主信息,根據(jù)保單信息進(jìn)行汽車保險(xiǎn)各個(gè)險(xiǎn)種保費(fèi)計(jì)算,確認(rèn)計(jì)費(fèi)信息之后,更新系統(tǒng)存儲(chǔ)的保單主信息、汽車清單信息、附加險(xiǎn)中的保費(fèi)信息,退出錄入,結(jié)束。
(3) 業(yè)務(wù)考核評估指標(biāo)管理
業(yè)務(wù)考核評估指標(biāo)功能模塊主要是分析汽車保險(xiǎn)考核評估規(guī)則,確定評估過程中的關(guān)鍵績效指標(biāo),分解各種類型的汽車保險(xiǎn)品種的業(yè)務(wù)規(guī)則,形成指標(biāo)庫的配置管理。不同類型的投保人需要構(gòu)建不同的保險(xiǎn)套包,在本模塊中構(gòu)建的考核評估指標(biāo)管理庫分成三級(jí):考核評估指標(biāo)一級(jí)分類、考核評估指標(biāo)二級(jí)分類、考核評估指標(biāo)。通過定制考核評估模塊(套包),將考核評估指標(biāo)分類動(dòng)態(tài)配置給考核模板,同時(shí)可將考核指標(biāo)派給待評估投保人,實(shí)現(xiàn)對投保人的考核評估[3]。
(4) 綜合評估管理
該模塊是本系統(tǒng)的核心功能模塊,其模塊的主要功能有兩方面,一是車險(xiǎn)考核獎(jiǎng)懲管理。首先根據(jù)不同的汽車保險(xiǎn)類型的保險(xiǎn)產(chǎn)品設(shè)置不同考核指標(biāo)套包,在保險(xiǎn)產(chǎn)品的發(fā)售起止時(shí)間段內(nèi)對保險(xiǎn)購買人進(jìn)行評估管理。先確定購買的保險(xiǎn)產(chǎn)品類別再進(jìn)入評估考核管理,為了確保評估的準(zhǔn)確性,可進(jìn)行考核指標(biāo)多次打分,根據(jù)設(shè)置的計(jì)算公式進(jìn)行自動(dòng)評估,生成評估分析報(bào)告,供考核人對投保人進(jìn)行獎(jiǎng)懲分析。二是,實(shí)現(xiàn)被考核人員的信息和評估結(jié)果的管理。該系統(tǒng)的評估方式主要有兩種:自我評估和保險(xiǎn)公司管理人員對汽車保險(xiǎn)投保人的評估。根據(jù)評估結(jié)果厘定車險(xiǎn)費(fèi)用。
(5) 綜合查詢分析
該模塊實(shí)現(xiàn)系統(tǒng)的綜合查詢功能,提供評估成績查詢、評估次數(shù)查詢、年度成長分析,通過此模塊為汽車保險(xiǎn)公司的業(yè)務(wù)更新提供分析依據(jù),及時(shí)推出市場、投保人預(yù)期的汽車保險(xiǎn)產(chǎn)品,規(guī)避汽車投保過程中可能出現(xiàn)的損失風(fēng)險(xiǎn),提高汽車保險(xiǎn)投保人的滿意度。
(6) 報(bào)表統(tǒng)計(jì)
該模塊主要對系統(tǒng)的報(bào)表進(jìn)行管理,根據(jù)系統(tǒng)的功能和業(yè)務(wù)需求,提供的報(bào)表包括汽車保險(xiǎn)投保人評估表、汽車保險(xiǎn)產(chǎn)品考核指標(biāo)表、角色指標(biāo)統(tǒng)計(jì)報(bào)表、考核指標(biāo)數(shù)量統(tǒng)計(jì)表、評估次數(shù)統(tǒng)計(jì)報(bào)表,只有系統(tǒng)管理員才能使用此功能。
(7) 系統(tǒng)維護(hù)
管理員使用該模塊對系統(tǒng)進(jìn)行維護(hù),包括系統(tǒng)的更新、考核項(xiàng)目的配置、用戶管理權(quán)限的分配等相關(guān)配置。
本系統(tǒng)所有用戶使用同一入口登錄,用戶的級(jí)別不同其權(quán)限也不同相同,登錄之后會(huì)自動(dòng)跳轉(zhuǎn)至相應(yīng)界面,普通用戶不能對自己的級(jí)別進(jìn)行修改,如果用戶沒有注冊,登錄時(shí)會(huì)自動(dòng)跳轉(zhuǎn)到用戶注冊界面。系統(tǒng)的登錄界面如圖3所示。
圖3 系統(tǒng)登錄界面
登錄時(shí)的驗(yàn)證碼是隨機(jī)的,生成驗(yàn)證碼的代碼的功能是用于生成帶噪聲點(diǎn)的驗(yàn)證碼圖片,產(chǎn)生的驗(yàn)證碼由字符0-9,A-Z中隨機(jī)產(chǎn)生,產(chǎn)生的驗(yàn)證碼保存在用戶的Session對象中,通過驗(yàn)證碼驗(yàn)證用戶的登錄操作是不是暴力破解程序的非法操作。
用戶登錄該系統(tǒng)之后,點(diǎn)擊綜合評估模塊,便可顯示相應(yīng)的界面實(shí)現(xiàn)汽車保險(xiǎn)工作人員的評估和汽車保險(xiǎn)投保人的評估,其部分實(shí)現(xiàn)代碼如下所示。
private String DBConnection(String name,String table)
{
if(name == null || table = null)
return null;
String str = null;
Connection conn = null;
ResultSet rs = null;
Statement stmt = null;
System.out.println("database connect success");
}
catch (Exception e)
{
System.out.print("there is something wrong here");
}
return str;
}
while (rs.nextO)
{
s.append("
");
}
}
catch (SQLException ex)
{
ex.printStackTrace();
}
return s.toStringQ;
(1) 數(shù)據(jù)庫表
系統(tǒng)采用MySQL6.0作為數(shù)據(jù)庫平臺(tái),建立了如下數(shù)據(jù)表:(1) 用戶表:用于用戶登錄及管理,包括用戶編號(hào)、用戶名、密碼、級(jí)別、Email。(2) 客戶信息表,主要用于存儲(chǔ)客戶的基本信息。(3) 汽車信息表,主要記錄客戶的汽車相關(guān)信息。(4) 客戶審核表,主要記錄客戶申請會(huì)員的相關(guān)審核信息。(5) 考核規(guī)則指標(biāo)庫表:汽車保險(xiǎn)獎(jiǎng)懲的考核規(guī)則。(6) 保險(xiǎn)繳費(fèi)表:存儲(chǔ)車險(xiǎn)投保人在保險(xiǎn)公司投保的歷史記錄。(7) 險(xiǎn)種信息定義表:字段包括:險(xiǎn)種編碼、考核模型包(外鍵)、險(xiǎn)種名稱、險(xiǎn)種款式名稱、險(xiǎn)種款式代碼、險(xiǎn)類、產(chǎn)品分類、車險(xiǎn)=1、銷售類型、險(xiǎn)別、承包期限分類、業(yè)務(wù)屬性、總公司/地方性險(xiǎn)種、賠付率計(jì)算方法、基本保額、開辦屬性、退保處理類型。(8) 保險(xiǎn)費(fèi)率表:字段包括:保險(xiǎn)費(fèi)率編碼、最小分界點(diǎn)、最大分界點(diǎn)、設(shè)置時(shí)間、范圍_01、范圍_02、范圍_03。
(2) 數(shù)據(jù)庫添加記錄模塊設(shè)計(jì)
在本系統(tǒng)中采用多線程技術(shù),如果共享內(nèi)存空間中出現(xiàn)新的數(shù)據(jù),則打開一個(gè)數(shù)據(jù)庫添加記錄線程,對此次記錄添加進(jìn)行單獨(dú)處理。本模塊采用Java語言進(jìn)行開發(fā),重新設(shè)計(jì)互斥體類,調(diào)用C++編寫的動(dòng)態(tài)鏈接庫,開發(fā)數(shù)據(jù)庫添加記錄多線程類,繼承于Java提供的Thread類。應(yīng)用Struts框架支持?jǐn)?shù)據(jù)庫讀寫,簡化了模塊的開發(fā),使該模塊可移植和復(fù)用。
J2EE平臺(tái)有許多優(yōu)點(diǎn),如結(jié)構(gòu)簡單、重用性好、安全性較高、開發(fā)效率高等,對汽車保險(xiǎn)考核評估提供了便利。