吳昶成,談華宇,邱小平(湖北師范學(xué)院,黃石 435000)
科研管理系統(tǒng)中動(dòng)態(tài)表單技術(shù)的應(yīng)用與實(shí)現(xiàn)
吳昶成,談華宇,邱小平
(湖北師范學(xué)院,黃石435000)
眾所周知,在信息管理系統(tǒng)中,用戶經(jīng)常需要通過固定格式的表單來收集填寫各種的信息資料,如科研成果信息、教師個(gè)人信息等。但隨著科研管理工作的深入,用戶對(duì)表單的需求也不斷變化,格式單一固定的表單已無法滿足用戶的需求。因此,本文設(shè)計(jì)了基于JSON數(shù)據(jù)格式和Bootstrap前端框架來實(shí)現(xiàn)動(dòng)態(tài)表單的三層架構(gòu)系統(tǒng),同時(shí)系統(tǒng)完成了數(shù)據(jù)和表單分離、用戶常用信息自動(dòng)填寫、收集的數(shù)據(jù)信息以xls或doc格式導(dǎo)出等功能的實(shí)現(xiàn),該系統(tǒng)有效地解決程序修改困難,可擴(kuò)展性差,復(fù)用性不好等問題。
(1)系統(tǒng)架構(gòu)設(shè)計(jì)
本系統(tǒng)以Visual Studio 2013為開發(fā)平臺(tái),結(jié)合Microsoft SQL Server 2008后臺(tái)數(shù)據(jù)庫,采用表示層(Presentation Layer)、業(yè)務(wù)邏輯層 (Business Logic Layer)、數(shù)據(jù)訪問層(Data Access Layer)來搭建系統(tǒng)架構(gòu),如圖1所示。
采用三層架構(gòu)使得層與層之間相互獨(dú)立,可維護(hù)性、可擴(kuò)展性提高,結(jié)構(gòu)更加清晰,耦合性低,有利于開發(fā)任務(wù)的同步進(jìn)行,適應(yīng)需求變化。系統(tǒng)在表單設(shè)計(jì)中過程每新建一個(gè)表單則會(huì)自動(dòng)在數(shù)據(jù)庫中新建對(duì)應(yīng)的用于存儲(chǔ)用戶填寫表單信息的關(guān)系表。其中表現(xiàn)層(Presentation Layer)展示UI界面,主要接受用戶請(qǐng)求、返回請(qǐng)求結(jié)果的展現(xiàn)和給用戶提供交互消息提示。業(yè)務(wù)邏輯層(Business Tier)主要向數(shù)據(jù)層發(fā)送請(qǐng)求,返回給表示層數(shù)據(jù)層返回的數(shù)據(jù),有時(shí)將數(shù)據(jù)層返回的數(shù)據(jù)進(jìn)行處理,例如用戶登錄、權(quán)限分配。數(shù)據(jù)訪問層(Data Tier)主要接收來自業(yè)務(wù)邏輯層的請(qǐng)求,對(duì)數(shù)據(jù)庫進(jìn)行相應(yīng)的增刪改查,并返回給業(yè)務(wù)邏輯層數(shù)據(jù)。
用戶如果要進(jìn)入系統(tǒng),首先要輸入用戶名和密碼進(jìn)行登錄,由業(yè)務(wù)邏輯層判斷該用戶名是否存在,若存在則判斷密碼是否正確,若正確則成功登錄本系統(tǒng),并將該用戶的個(gè)人信息存入Session[“User”]中。按退出按鈕即可注銷系統(tǒng),注銷成功后Session[“User”]清空,返回到登錄界面。
系統(tǒng)登錄成功后,根據(jù)當(dāng)前用戶的角色來判斷對(duì)應(yīng)的系統(tǒng)操作權(quán)限。如果是普通科研人員且在表單提交的截止時(shí)間之前,即可按照表單中的要求填寫信息,通過系統(tǒng)信息驗(yàn)證后,保存提交。如果是管理員除了可以填寫表單外,同時(shí)還可以管理表單,包括表單設(shè)計(jì)、表單保存、表單發(fā)布和刪除等操作。
圖1 系統(tǒng)架構(gòu)設(shè)計(jì)圖
(2)系統(tǒng)流程設(shè)計(jì)
圖2 系統(tǒng)流程設(shè)計(jì)圖
(3)系統(tǒng)角色權(quán)限設(shè)計(jì)
用戶的權(quán)限分為以下幾項(xiàng):①設(shè)計(jì)動(dòng)態(tài)表單;②表單的管理(再編輯、刪除等);③表單的發(fā)布(讓指定的人和部門去填寫);④填寫表單。
顯然為了防止系統(tǒng)被惡意破壞,讓普通用戶獲取表單的管理權(quán)限以及表單的發(fā)布權(quán)限并不合理,所以目前只有兩個(gè)角色:管理員:可以設(shè)計(jì)表單,發(fā)布表單(可選擇相應(yīng)的填寫人),也填寫表單??蒲腥藛T:普通用戶,只可以填寫已發(fā)布的表單。
(4)數(shù)據(jù)庫設(shè)計(jì)
User用戶表、ID主鍵、UserName用戶名、RealName真實(shí)姓名、Gender性別、Birthday生日、CardID身份證號(hào)、Birthplace籍貫、Nationality民族、SectionId部門表外鍵、XueLi學(xué)歷、ZhiWu職務(wù)、JiBie級(jí)別、DangZheng黨政、WorkBeginDate工作開始時(shí)間、Tellphone電話、E-mail郵箱、Password密碼、Status狀態(tài)、Credit操作積分、QQ、Major專業(yè)方向、Introduction介紹、PhotoPath圖片地址、RoleID權(quán)限ID。用戶表如此詳細(xì)是因?yàn)楫?dāng)動(dòng)態(tài)表單中有用戶已有信息時(shí),可以不用用戶填寫直接寫入表單中。
Role權(quán)限表、ID主鍵、RoleName權(quán)限名、CreateUserID創(chuàng)建用戶ID、CreateDate創(chuàng)建時(shí)間。目前只有兩種角色,學(xué)生和管理員。
Section部門表、ID主鍵、ParentID父節(jié)點(diǎn)、Section-Name部門名稱。
2.1表單管理
管理員擁有表單管理權(quán)限,可以將設(shè)計(jì)好的表單進(jìn)行再編輯或者刪除。選擇編輯則進(jìn)入設(shè)計(jì)表單頁面(以當(dāng)初保存的表單形式返回),刪除則將該表單徹底刪除掉。
圖3 動(dòng)態(tài)表單提交界面
所有用戶都可以進(jìn)行待填表單的填寫提交,選擇可以填寫的表單進(jìn)行填寫。如果是用戶信息(User表中)已有的部分,例如姓名、年齡、性別等可以不用用戶填寫,系統(tǒng)會(huì)自動(dòng)判斷表單中的待填寫內(nèi)容,如果有則將空白內(nèi)容替換為用戶信息。在表單設(shè)計(jì)中還添加了數(shù)據(jù)驗(yàn)證,例如輸入的電話號(hào)碼或者郵件之類的,會(huì)進(jìn)行JavaScript語句判斷輸入的格式是否正確或輸入內(nèi)容是否正確(數(shù)字還是中文)。
本文主要闡述了動(dòng)態(tài)表單設(shè)計(jì)系統(tǒng)的設(shè)計(jì)思路和實(shí)現(xiàn),基本的用戶設(shè)計(jì)表單和用戶填寫收集數(shù)據(jù)功能,以及登錄用戶的權(quán)限判斷。該系統(tǒng)能夠解決科研人員對(duì)科研信息管理系統(tǒng)中表單格式頻繁變化而不斷重新設(shè)計(jì)的問題,并且可以收集用戶提交的信息。下一步的研究方向是重點(diǎn)提高用戶界面的易用性,以及對(duì)用戶填寫的信息進(jìn)行服務(wù)器端驗(yàn)證,如防止SQL注入攻擊等工作。
[1]劉友生,陳一平,胡浪.基于數(shù)據(jù)表的動(dòng)態(tài)表單處理技術(shù)[J].計(jì)算機(jī)工程與應(yīng)用,2005,40(34):199~201
[2]向宏,馬智驄,胡海波.基于虛擬表的動(dòng)態(tài)表單設(shè)計(jì)與實(shí)現(xiàn)[J].重慶工學(xué)院學(xué)報(bào):自然科學(xué)版,2009,23(2):104~108
[3]張佳強(qiáng),王士同.信息管理系統(tǒng)動(dòng)態(tài)表單技術(shù)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2010,27(8):29~32
Management System;Dynamic Form;Three-Layer Architecture
Application and Implementation of Dynamic Form Technology in Scientific Management System
WU Chang-cheng,TAN Hua-yu,QIU Xiao-ping
(Hubei Normal University,Huangshi 435000)
1007-1423(2015)10-0078-03
10.3969/j.issn.1007-1423.2015.10.022
談華宇(1992-),男,湖北孝昌人,本科,研究方向?yàn)榍岸碎_發(fā)
吳昶成(1993-),男,江西南昌人,本科,研究方向?yàn)楹笈_(tái)開發(fā)
邱小平(1996-),男,武漢新洲人,本科,研究方向?yàn)楹笈_(tái)開發(fā)
2015-02-26
2015-03-31
指導(dǎo)老師:李光敏
針對(duì)用戶不斷變化的業(yè)務(wù)需求,固定格式的表單錄入系統(tǒng)已無法滿足需求的現(xiàn)狀,提出基于JSON的動(dòng)態(tài)表單技術(shù)在科研管理中的實(shí)現(xiàn)思路,設(shè)計(jì)并實(shí)現(xiàn)動(dòng)態(tài)表單的結(jié)構(gòu)存儲(chǔ)、數(shù)據(jù)收集和數(shù)據(jù)導(dǎo)出的功能。并詳細(xì)闡述系統(tǒng)的三層架構(gòu)、用戶角色設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)等方面的實(shí)現(xiàn)細(xì)節(jié)和方法。
管理系統(tǒng);動(dòng)態(tài)表單;三層架構(gòu)
湖北師范學(xué)院2014年本科生科研立項(xiàng)項(xiàng)目(No.2013ZD50)
According to the change of user service for form,designs dynamic form designer oriented Web,realizes function that dynamic form designing and user filling.The part of three-layer architecture,role design,describes database design and other aspects of system in details,the system provides user with function that dynamic form designs simply and collecting information.