夏歡歡, 杜雅峰, 秦飛龍
(1.成都理工大學,四川 成都610059;2.四川省數(shù)學地質(zhì)重點實驗室,四川成都610059;3.華北水利水電學院,河南 鄭州450011)
高速發(fā)展的信息需求,使得計算機、網(wǎng)絡技術在企業(yè)的日常工作中的比重越來越大,要求也越來越高.然而如何開發(fā)以數(shù)據(jù)為中心的適合本公司需求[2]、操作便捷、易于維護的信息管理系統(tǒng),已成為公司追求的目標.Java[3]的跨平臺、面向對象、多線性程序且支持網(wǎng)絡編程等特點,使得它在系統(tǒng)開發(fā)中具有得天獨厚的優(yōu)勢.掌握基于B/S結構[4]下的管理信息系統(tǒng)[5]的開發(fā)方法,利用Java的特性,設計架構合理的Web應用程序[6],可滿足企業(yè)的辦公網(wǎng)絡化、自動化的管理需求,提高企業(yè)內(nèi)部的管理水平,進而全面提升企業(yè)的市場競爭力.
系統(tǒng)采用先進的JSP平臺技術,Bean封裝和SQL Server 2005數(shù)據(jù)庫三層網(wǎng)絡架構,具有兼容性和規(guī)范性強,全面支持網(wǎng)絡應用,數(shù)據(jù)集中管理,可擴展,易維護等優(yōu)勢.而數(shù)據(jù)庫設計采用 Power Desinger15.1,操作起來更為簡便且規(guī)范化.
JSP是專門針對網(wǎng)絡的編程語言[7],只需一次編譯,加上 Servelt,JavaBeans等技術,即可形成JSP+JavaBeans+Servelt結構.采用此方式可以將網(wǎng)站的整個邏輯結構放在Servelt中,并將動態(tài)頁面的輸出放在JSP頁面中來完成,這樣可輕松處理邏輯關系異常復雜的網(wǎng)站,提升程序員工作效率.
(1)用戶類別:本系統(tǒng)主要有兩種角色的用戶,一是一般管理員,二是部門負責人.
(2)權限管理:系統(tǒng)需要經(jīng)過有效的身份驗證才可以登錄.登錄時要匹配用戶名、密碼以及所屬部門.一般管理員僅可以進行信息添加、查看、刪除、修改、上傳等,管理員除了一般管理員的功能外還可對相關事宜進行審批.
圖1 營銷管理子系統(tǒng)用例圖
結合用例圖,并根據(jù)需求分析[8]可設計出系統(tǒng)整體架構.本系統(tǒng)的主要設計思想是界面-中間件-數(shù)據(jù)庫這樣的三層結構.首先設計用戶界面層,用戶界層負責用戶的輸入和向用戶的輸出;其次是數(shù)據(jù)庫層,數(shù)據(jù)庫層保存數(shù)據(jù);最重要的是具有紐帶關系的中間件邏輯層,它建立實際的數(shù)據(jù)庫連接,根據(jù)用戶請求生成SQL語句檢索或更新數(shù)據(jù),并把結果返回給用戶端.如圖2所示:
圖2 基于瀏覽器/服務器模式的三層結構
這樣的設計使系統(tǒng)業(yè)務邏輯和數(shù)據(jù)庫操作與用戶應用界面分開,能夠使業(yè)務邏輯程序員更專注于Java程序的開發(fā),而界面設計者專著于用戶界面的開發(fā),在一定程度上明確了系統(tǒng)開發(fā)的分工.
代碼編寫時,遵循一定的規(guī)則,更便于后期維護及修改.編碼使用UTF-8,Unicode Transformation Format(統(tǒng)一字符編碼轉換格式),支持多國語言.文件保存時,使用UTF-8編碼格式.而對于解碼:
(1)調(diào)用JSP頁面顯示亂碼:在JSP中添加<%@page language="java"import="java.util.*"page Encoding="utf-8"% >
(2)POST方式表單傳遞參數(shù)亂碼:在POST表單的提交頁面或Servelt中,并且在接受POST表單參數(shù)前添加
Request.set Character Encoding("utf-8");
(3)URI方式傳遞參數(shù)亂碼(GET方式傳遞參數(shù)亂碼)
修改 server.xml
< Connector port="8080"protocol="HTTP/1.1"
Connection Timeout="20000"
Redirect Port="8443"
URI Encoding=”UTF-8”/>
以采購管理為例,首先是進行采購訂單添加,需要將信息錄入數(shù)據(jù)庫,可以在My Eclipse的實體里面添加如下代碼:
String="insert into####(......)"+"value(......)";
String[]={......};
Query Runner=Db Helper.get Query Runner();
Try{result= .update(,);
}catch(SQL Exception e)
{e.print Stack Trace();
}String message="";
if(result==1){message="成功!";
}else{message="失敗!";
}
其中####表示數(shù)據(jù)庫名,......表示數(shù)據(jù)庫中的字段名.管理員登陸之后,即可在采購訂單上添加信息,提交之后即自動傳入數(shù)據(jù)庫,這樣的代碼編寫簡單.若調(diào)整訂單,只需在添加訂單相對應的jsp文件上用Dream weaver修改表單,并在Servelt里的數(shù)據(jù)庫中修改字段名即可,操作簡便.
圖3 后臺“采購申請單”頁面
圖4 后臺“采購申請查詢”頁面
本系統(tǒng)采用Microsoft SQL Server 2005數(shù)據(jù)庫,數(shù)據(jù)庫設計工具為Power Designer,字段類型除id用int型,時間日期用date time型外,其余全部用varchar型.同時由于Power Designer生成的sql語句創(chuàng)建表時id不是自動增長的,需要程序在SQL2005里更改id為自動增長.
表1 訂單添加數(shù)據(jù)庫表
結合某公司的具體要求,根據(jù)以上的設計分析,開發(fā)出符合該公司營銷管理信息系統(tǒng)的后臺頁面.下圖3顯示為部門負責人登陸系統(tǒng)之后的“部門采購管理”中的“采購申請”頁面,可以根據(jù)部門具體需求填寫單據(jù),提交后信息自動錄入數(shù)據(jù)庫.
“采購申請單”填寫完成并提交之后,查看“單位采購管理”的“采購訂單查詢”,將會看到各個部門傳遞過來的采購申請單及其審批進程.而部門負責人或者一般管理員由于其權限不同,登陸之后看到的內(nèi)容也不盡相同.一般管理員只可進行查看、查詢操作,而部門負責人除此之外還有審批簽字的權限.下圖4顯示為采購申請單列表.
JAVA卓越的通用性、高效性、平臺移植性和安全性,使得它受到越來越多程序員的追捧.但是由于信息管理系統(tǒng)往往為不同的部門研發(fā)設計,造成不同部門之間不能共享業(yè)務處理流程和信息,因而不能有效的協(xié)同工作,這就大大降低了計算機應用系統(tǒng)的作用.隨著技術的進步,特別是Internet的快速發(fā)展,基于B/S結構下的管理信息系統(tǒng)的開發(fā)方法越來越普遍,利用Java的特性,設計結構合理的Web應用程序,開發(fā)出操作簡單,易于維護的管理系統(tǒng)是現(xiàn)今企業(yè)的迫切要求.因此,研究與開發(fā)基于JAVA的網(wǎng)絡管理信息系統(tǒng)將有十分長遠的發(fā)展前景.
[1]曹哲,高斌,軟件工程[M].北京:中國水利水電出版社,2008,10:58 -69.
[2]劉煒,董建全,面向軟件工程實踐的學生項目管理平臺設計[J].2011,33(A1):150 -154.
[3]姚曉春,鄭文清,JAVA編程技術教程[M].清華大學出版社,1999,2:258 -323.
[4]蘇貴斌,王利江.基于Java架構的計算機輔助教務管理系統(tǒng)的模式設計[J].內(nèi)蒙古師范大學學報(自然科學漢文版),2003,12(4):52 -53.
[5]趙玉蘭,基于JAVA的人事信息管理系統(tǒng)[J].2006(12):153-154.
[6]金松河,錢慎一,程立輝.基于Java的數(shù)據(jù)庫連接池技術的設計與實現(xiàn)[J].河南科技2005,3:23-24.
[7]錢楓,基于 JAVA的網(wǎng)絡管理信息系統(tǒng)的設計[J].2007(25):71-72.
[8]萬常選,廖國瓊,吳京慧,數(shù)據(jù)庫系統(tǒng)原理與設計[M].北京:清華大學出版社,2003,(S1):181-196.