




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 PAGE I PAGE 27摘 要辦公自動(dòng)化,英文Office Automation,簡(jiǎn)稱OA,是辦公信息處理的自動(dòng)化,它利用先進(jìn)的技術(shù),使人的各種辦公業(yè)務(wù)活動(dòng)逐步由各種設(shè)備、各種人機(jī)信息系統(tǒng)來協(xié)助完成,達(dá)到充分利用信息,提高工作效率和工作質(zhì)量,提高生產(chǎn)率的目的。該OA管理系統(tǒng)基于B/S模式,以EclipsePHP Studio2008作為開發(fā)環(huán)境,運(yùn)用PHP語言進(jìn)行研發(fā);并以Microsoft SQL Server 2000作為后臺(tái)數(shù)據(jù)庫進(jìn)行創(chuàng)建和維護(hù)??傮w上,該系統(tǒng)實(shí)現(xiàn)了登錄模塊,撰寫公文,審批及閱讀公文,發(fā)布及查看公告,查看系統(tǒng)日志等功能??梢哉f,它是一個(gè)功能較全的自動(dòng)化辦公管理系統(tǒng)。
2、關(guān)鍵字 : OA管理系統(tǒng);數(shù)據(jù)庫;PHP;自動(dòng)化辦公 PAGE IIABSTRACTOffice automation,English Office Automation, abbreviated as OA, the automation of information processing that work , it utilizes advanced technology, makes various official working operational activities of peoples help to finish by various apparatus , vario
3、us man-machine information systems progressively , reach and fully utilize information, improve working efficiency and work quality , the purpose to boost Productivity . OA management system is based on the B / S model to EclipsePHP Studio2008 as a development environment, the use of PHP development
4、 language; and Microsoft SQL Server 2000 database as a background to create and maintain. In general, the system achieved a login module, written document, approved and read the document, publish and view the notice, view the system log functions. It can be said that it is a more full-function offic
5、e automation management system. KEY WORDS : OA Management System;Database;PHP;Office automation PAGE III目 錄 HYPERLINK l _Toc230349984 1.引 言1 HYPERLINK l _Toc230349985 2.項(xiàng)目背景2 HYPERLINK l _Toc230349986 2.1 管理系統(tǒng)的研究2 HYPERLINK l _Toc230349987 2.2 管理系統(tǒng)的發(fā)展趨勢(shì)2 HYPERLINK l _Toc230349988 3需求分析3 HYPERLINK l
6、_Toc230349989 3.1 理解需求3 HYPERLINK l _Toc230349990 3.2 功能需求3 HYPERLINK l _Toc230349991 4.系統(tǒng)的功能設(shè)計(jì)4 HYPERLINK l _Toc230349992 4.1 功能設(shè)計(jì)概述44.2 OA管理系統(tǒng)的基本功能模塊4 HYPERLINK l _Toc230350011 5.系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)5 HYPERLINK l _Toc230350012 5.1 E-R圖5 HYPERLINK l _Toc230350013 5.2數(shù)據(jù)庫的設(shè)計(jì)5 HYPERLINK l _Toc230350017 6.界面設(shè)計(jì)與部分代
7、碼7 HYPERLINK l _Toc230350018 6.1界面設(shè)計(jì)8 HYPERLINK l _Toc230350019 6.2 部分代碼8 HYPERLINK l _Toc230350020 7.系統(tǒng)測(cè)試報(bào)告13 HYPERLINK l _Toc230350021 7.1 測(cè)試方案13 HYPERLINK l _Toc230350022 7.2 測(cè)試目的13 HYPERLINK l _Toc230350025 8.結(jié)論14 HYPERLINK l _Toc230350026 參考文獻(xiàn)15 HYPERLINK l _Toc230350025 致 謝16 PAGE 131.引 言隨著信息技
8、術(shù)的發(fā)展和計(jì)算機(jī)普及率和國(guó)內(nèi)信息技術(shù)應(yīng)用水平的提高,在辦公過程中,以傳統(tǒng)的紙質(zhì)為媒介的工作方式和審批模式已經(jīng)難以滿足現(xiàn)代大規(guī)模集成的工業(yè)化生產(chǎn)的新需求,實(shí)現(xiàn)這種以計(jì)算機(jī)為媒介的無紙化辦公自動(dòng)化已經(jīng)是提高企業(yè)單位辦公效率、規(guī)范化管理的必然趨勢(shì)。隨著企業(yè)的發(fā)展和擴(kuò)大,其企業(yè)的各種事務(wù)信息和業(yè)務(wù)數(shù)據(jù)將會(huì)不斷以幾何級(jí)的方式擴(kuò)大。但是,以傳統(tǒng)紙質(zhì)為媒體的辦公方式將這樣各種各樣的資料及信息記錄的紙上,這樣當(dāng)面對(duì)巨量的信息資料時(shí)不但使得處理資料信息時(shí)容易導(dǎo)致各種錯(cuò)誤的發(fā)生,而且使得企業(yè)內(nèi)部門內(nèi)上下級(jí)之間的信息發(fā)送與反饋造成不便,也使得各個(gè)部門的數(shù)據(jù)信息流通變得非常困難。所以在圖書館的存書量和業(yè)務(wù)量龐大,僅僅
9、靠傳統(tǒng)的記賬式管理是不可行的,傳統(tǒng)的管理方法既浪費(fèi)人力物力財(cái)力,又容易導(dǎo)致各種錯(cuò)誤的發(fā)生。所以如何高效、方便、快捷、安全地處理各種辦公事務(wù)以及傳遞和記錄各種信息和資料。從而更大程度地提高工作人員的工作效率,成為一個(gè)突出的問題擺在現(xiàn)代化公司管理層的前面。因此,運(yùn)用科學(xué)技術(shù)的成果,使企業(yè)公司的辦公管理方式進(jìn)入以計(jì)算機(jī)網(wǎng)絡(luò)為媒介,以信息管理軟件為基礎(chǔ)實(shí)現(xiàn)聯(lián)網(wǎng)協(xié)同化的辦公管理環(huán)境,成為我們急需完成的首要任務(wù)。因而基于網(wǎng)絡(luò)的自動(dòng)化辦公系統(tǒng)也因此應(yīng)運(yùn)而生。OA管理系統(tǒng)的產(chǎn)生,最大程度地提高員工辦公的效率,實(shí)現(xiàn)了企業(yè)單位辦公管理系統(tǒng)的智能化、系統(tǒng)化、信息化,這不僅解決了傳統(tǒng)管理方式所帶來的問題和滿足了企業(yè)的
10、需求,同時(shí)也為企業(yè)在今后的擴(kuò)展提供了有力的后備力量。在企業(yè)的長(zhǎng)遠(yuǎn)發(fā)展中有著舉足輕重的作用。本課題的基本內(nèi)容是利用WEB及數(shù)據(jù)庫技術(shù)創(chuàng)建一個(gè)辦公自動(dòng)化系統(tǒng),提高辦公效率和質(zhì)量、輔助辦公決策、實(shí)現(xiàn)無紙化辦公。其中以PHP作為開發(fā)環(huán)境和以MSSQL作為數(shù)據(jù)庫基礎(chǔ)進(jìn)行研發(fā)。預(yù)期研發(fā)出具有自己特色的自動(dòng)化管理系統(tǒng)。高效完成包括信息采集、信息加工、信息傳輸、信息保存等任務(wù)。基于Web的辦公室自動(dòng)化(OA)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) (學(xué)生姓名) (就讀專業(yè)) (層次) (年級(jí)) (學(xué)號(hào))2.項(xiàng)目背景2.1 管理系統(tǒng)的研究辦公自動(dòng)化于20世紀(jì)50年代提出, 在80年代至90年代得到了飛速的發(fā)展。辦公自動(dòng)化是以先進(jìn)的科
11、學(xué)技術(shù)、信息技術(shù)、系統(tǒng)科學(xué)和行為科學(xué)為支柱的一門綜合性技術(shù)。目前國(guó)內(nèi)的OA系統(tǒng)在處于第二代OA系統(tǒng)階段,從90年代中期開始的以網(wǎng)絡(luò)技術(shù)和協(xié)同工作技術(shù)為主要特征,實(shí)現(xiàn)了工作流程自動(dòng)化,即將收發(fā)文從傳統(tǒng)的手工方式轉(zhuǎn)向工作流自動(dòng)化方式。第二代辦公自動(dòng)化系統(tǒng),實(shí)現(xiàn)了不同職能部門間的工作流程自動(dòng)化。不同部門及其工作人員工作間的協(xié)作大大加強(qiáng),從而使政府/企業(yè)辦公的效率得到較大的提高。而且,以Internet為基礎(chǔ),辦公自動(dòng)化系統(tǒng)實(shí)現(xiàn)了移動(dòng)辦公,資源的利用不再受通訊技術(shù)的限制,從而實(shí)現(xiàn)政府/企業(yè)內(nèi)部的電子化和網(wǎng)絡(luò)化辦公。其中也存在一些問題如:1、開發(fā)手段單一,平臺(tái)依賴性嚴(yán)重;2、為用戶考慮得少,軟件的柔性構(gòu)
12、造功能較差;3、辦公系統(tǒng)概念弱化,辦公資源無法統(tǒng)一管理,辦公信息孤島化。而在一些發(fā)達(dá)國(guó)家里,圖書館管理系統(tǒng)的研究和發(fā)展比較早、比較好,所以他們的OA系統(tǒng)能體現(xiàn)出高智能、高便捷的優(yōu)點(diǎn)。國(guó)外許多大公司投入了大量人力、物力,在語音、數(shù)字、文字圖象、網(wǎng)絡(luò)技術(shù)、人機(jī)工程等方面進(jìn)行了深入細(xì)致的研究,并推出了影象處理設(shè)備、文字處理機(jī)、辦公室助理機(jī)、袖珍組織機(jī)、筆記本計(jì)算機(jī)等現(xiàn)代辦公設(shè)備。 2.2 管理系統(tǒng)的發(fā)展趨勢(shì)目前,由于計(jì)算機(jī)網(wǎng)絡(luò)和信息技術(shù)的飛速發(fā)展,管理系統(tǒng)也因此得到了迅速的發(fā)展和改變,它逐步實(shí)現(xiàn)了多方位的聯(lián)機(jī)辦公,辦公文檔的快速傳送及處理。而更重要的是,管理系統(tǒng)逐漸地向多元化發(fā)展,比較先進(jìn)的自動(dòng)化辦
13、公管理系統(tǒng)能夠利用網(wǎng)絡(luò)對(duì)語音、數(shù)字、文字圖象、文檔等等信息進(jìn)行各種處理及傳遞。此外,隨著 網(wǎng)絡(luò)技術(shù)的應(yīng)用的發(fā)展,一個(gè)完善的系統(tǒng)還應(yīng)提供無縫接入影象處理設(shè)備、文字處理機(jī)、辦公室助理機(jī)、袖珍組織機(jī)、筆記本計(jì)算機(jī)等現(xiàn)代辦公設(shè)備。總之,OA管理系統(tǒng)正朝著智能化、現(xiàn)代化、綜合化等方向不斷地發(fā)展。3需求分析需求分析階段是OA管理系統(tǒng)開發(fā)最重要的階段。因?yàn)橹挥谐浞至私庥脩艉拖到y(tǒng)本身的需求后,才能夠設(shè)計(jì)出比較完善的系統(tǒng)。在此,我將需求分析分為兩個(gè)部分。一是理解需求。二是功能需求。3.1 理解需求基于對(duì)OA管理系統(tǒng)的本身的理解,得到的需求規(guī)格說明以下:(1)系統(tǒng)為所有用戶建立登錄資料信息,所有的用戶在進(jìn)入系統(tǒng)前
14、都需要身份驗(yàn)證。用戶證號(hào)和密碼輸入正確才能進(jìn)入系統(tǒng)。(2)系統(tǒng)為不同的用戶分配不同的訪問權(quán)限。(3)在系統(tǒng)中,管理用戶對(duì)系統(tǒng)的配置進(jìn)行設(shè)置。(4)系統(tǒng)中,管理用戶可以對(duì)用戶的某些信息進(jìn)行修改,增加,刪除。(5)系統(tǒng)中,管理用戶可以查看系統(tǒng)的運(yùn)行日志。(6)系統(tǒng)需有較好的安全性和可擴(kuò)展性,并提供簡(jiǎn)潔方便的圖形用戶界面。(7)用戶根據(jù)自己的權(quán)限,可以訪問擁有權(quán)限的文件及資源。并可以進(jìn)行系統(tǒng)的操作。3.2 功能需求一個(gè)圖書館管理系統(tǒng)至少包括以下的功能:(1)登錄模塊主要功能是提供用戶登錄進(jìn)入系統(tǒng)。并對(duì)用戶的登錄信息進(jìn)行識(shí)別,包括用戶的用戶類型與權(quán)限。(2)撰寫公文主要是實(shí)現(xiàn)對(duì)辦公過程中的公文提交,以
15、及公文的流通傳送保存等。比如工作總結(jié)的上交上級(jí)管理人員、工作任務(wù)的下發(fā)等公文傳送。(3)審批及閱讀公文主要實(shí)現(xiàn)公文的處理。例如公文在上交后,上級(jí)對(duì)公文的進(jìn)行審批及發(fā)回審批結(jié)果等公文處理任務(wù)。(5)發(fā)布及查看公告主要實(shí)現(xiàn)用戶在許可權(quán)限的情況下向系統(tǒng)發(fā)布和查看公開的公告信息。使得每一個(gè)權(quán)限達(dá)到查看要求的成員都可以看得到。(6)查看系統(tǒng)日志為了保證系統(tǒng)的良好動(dòng)作。該模塊主要是提供給系統(tǒng)管理人員查看系統(tǒng)的操作日志,方便其了解系統(tǒng)的運(yùn)行狀態(tài)。4.系統(tǒng)的功能設(shè)計(jì)4.1 功能設(shè)計(jì)概述OA自動(dòng)化辦公管理系統(tǒng)的主要目的是有效提高辦公效率和質(zhì)量、輔助辦公決策、實(shí)現(xiàn)無紙化辦公。為了解決問題,滿足用戶的需求,該系統(tǒng)項(xiàng)
16、目將從實(shí)際、方便的角度出發(fā),分別設(shè)置面向三種類型的用戶,包括普通用戶、部門主管、管理用戶。其中,(1)普通用戶:這部門用戶為部門中的普遍員工。(2)部門主管:主要是指各個(gè)部門的負(fù)責(zé)人,他們主要是負(fù)責(zé)管理部門的事務(wù),管理員工,處理員工提交的各種文檔。(3)管理用戶:該用戶擁有完全地使用OA管理系統(tǒng)的權(quán)力,并對(duì)用戶及部門的基本信息、用戶登錄管理、系統(tǒng)的顯示設(shè)置等等進(jìn)行維護(hù)。所以,基于以上三種不同類型的用戶,該系統(tǒng)給予分配不同的權(quán)限,系統(tǒng)會(huì)根據(jù)用戶的不同權(quán)限進(jìn)行判斷是否可以訪問的某頁面,并且提供不同的系統(tǒng)菜單。它們都是基于在同一個(gè)數(shù)據(jù)庫上所進(jìn)行的操作,所以它們之間也相互聯(lián)系,相互影響。4.2 OA管
17、理系統(tǒng)的基本功能模塊OA管理系統(tǒng)包括如下的功能(如圖4.2所示),其中每個(gè)功能模塊都由若干相關(guān)聯(lián)的子功能模塊組成。圖4.2 OA管理系統(tǒng)的基本功能模塊用戶日志OA管理系統(tǒng)辦公文檔文件管理快捷消息工作便箋討論組聯(lián)系人登錄管理我的辦公后臺(tái)管理前臺(tái)系統(tǒng)管理人員 HYPERLINK /oa/admin/adminaddworker.php t right 添加用戶發(fā)布通知上傳共享系統(tǒng)參數(shù)用戶信息管理部門系統(tǒng)日志發(fā)送的文檔通知全體共享文件部門共享文件我的私人文件增加修改刪除全體日志5.1 E-R圖 E-R圖,即實(shí)體-聯(lián)系圖,它描述現(xiàn)實(shí)世界的概念模型,提供了表示實(shí)體集、屬性和聯(lián)系的方法。而OA管理系統(tǒng)中的
18、概念模型也比較多。以下列出了本系統(tǒng)中的主要E-R模型如圖5.1至圖5.4所示。Worker_class_idworker_nameworkerwork_textlogin_idlogin_namelogin_passLogin_last_timeworker_job處理發(fā)送1n1n圖5.1 用戶發(fā)送及處理辦公文檔的E-R圖worker_emailhandphonehomephonehome_addother_connjuriworker所屬訪問class_list所屬worker_filemm1mnmn圖5.2 用戶與部門與共享文件之間的E-R圖worker發(fā)送quickmegmeg_idme
19、g_titlemeg_tomeg_fromn11圖5.3 用戶發(fā)送快捷消息的E-R圖meg_textmeg_timemeg_is_newmeg_read_timemeg_recallworker處理notbook1n圖5.4 用戶與工作便箋之間的E-R圖5.2數(shù)據(jù)庫的設(shè)計(jì)本系統(tǒng)所用到的數(shù)據(jù)庫是用Microsoft SQL Server2000中的“企業(yè)管理器”直接建立數(shù)據(jù)庫和數(shù)據(jù)表的,當(dāng)然也可能用“查詢分析器”來實(shí)現(xiàn)。6.界面設(shè)計(jì)與部分代碼本系統(tǒng)是以EclipsePHP Studio 2008加PHP的smarty插件作為開發(fā)環(huán)境,運(yùn)用PHP語言進(jìn)行編程設(shè)計(jì)。EclipsePHP Studio
20、 2008 是一個(gè)大型項(xiàng)目開發(fā)編譯器,給予Eclipse修改而來,并且集成了JDK,免除處了安裝配置的麻煩,一次安裝即可使用無需配置。此編譯器為PHP編譯器,輔助PHP代碼的開發(fā)和調(diào)試,集成了代碼高亮,函數(shù)跟蹤,時(shí)時(shí)糾錯(cuò)等功能。同時(shí)還增加了協(xié)作開發(fā)版本服務(wù)器功能: SVN , CVS 。 內(nèi)嵌瀏覽器可以在調(diào)試簡(jiǎn)單代碼時(shí)時(shí)時(shí)瀏覽。這也是我之所以選擇EclipsePHP Studio 2008作為本系統(tǒng)開發(fā)語言工具的原因之一。6.1界面設(shè)計(jì)在原始的PHP語言中并沒有完美的MVC三層開發(fā)的概念,所以在開發(fā)本系統(tǒng)時(shí),加入了PHP和smarty框架插件。以smartyr 提供的開發(fā)模式,將PHP的數(shù)據(jù)層
21、、模型層及視圖層進(jìn)行分離。本系統(tǒng)共設(shè)計(jì)了16個(gè)功能模塊。部分功能模塊也設(shè)計(jì)了下級(jí)功能模塊,對(duì)上級(jí)模塊進(jìn)行合理的分解。其中,前臺(tái)的功能是所有用戶正常登錄后都可以進(jìn)行訪問的,而后臺(tái)的界面中,系統(tǒng)會(huì)自動(dòng)根據(jù)用戶的權(quán)限進(jìn)行選擇用戶界面進(jìn)行顯示。6.2 部分代碼該圖書館管理系統(tǒng)是運(yùn)用PHP5.0 語言進(jìn)行開發(fā)。由于考慮到本系統(tǒng)是基于WEB運(yùn)行環(huán)境,所以在登錄時(shí),系統(tǒng)會(huì)利用SESSION將用戶信息保存有服務(wù)器上,而沒有通過COOKIE保存在客戶端。下面是系統(tǒng)的登錄代碼的。assign(title,歡迎使用OA自動(dòng)化辦公系統(tǒng));if($_POSTname)$name=$_POSTname;if($_POST
22、pass)$pass=MD5($_POSTpass);/md5摘要$name = ltrim($name);$name=rtrim($name);$sql=select * from worker where login_name=$name;$res=mssql_query($sql,$link);$row=mssql_fetch_array($res);if($pass=$rowlogin_pass)/注冊(cè)session保存各種用戶信息session_register(login_id);/保存用戶ID$_SESSIONlogin_id=$rowlogin_id;session_regis
23、ter(worker_class_id);/保存用戶所在部門ID$_SESSIONworker_class_id=$rowworker_class_id;$juri=$rowjuri;/保存用戶的權(quán)限session_register(juri);$_SESSIONjuri=$juri;/更新用戶登錄時(shí)間信息date_default_timezone_set(Asia/Shanghai);/重新設(shè)置時(shí)區(qū)$newtime=date(Y-m-d H:i:s);$sql=update worker set login_last_time=$newtime where login_name=$name;
24、mssql_query($sql,$link);$logid=$rowlogin_id;/保存用戶ID/獲得系統(tǒng)的設(shè)置$sql=select * from systemset;$res=mssql_query($sql,$link);$row=mssql_fetch_array($res);session_register(topm);$_SESSIONtopm=$rowtopm;session_register(pm);$_SESSIONpm=$rowpm;session_register(filesize);$_SESSIONfilesize=$rowfilesize;session_re
25、gister(chatm);$_SESSIONchatm=$rowchatm;session_register(chatn);$_SESSIONchatn=$rowchatn;/寫入系統(tǒng)日志$logmeg=$name.登錄成功;logbook($logid,$logmeg,$link);$tpl-assign(login,1);/登錄成功$tpl-assign(meg,歡迎 .$name. !,登錄成功.現(xiàn)在跳轉(zhuǎn)頁面.);else/寫入系統(tǒng)日志$logmeg=$name.登錄失敗;logbook(-1,$logmeg,$link);$tpl-assign(login,0);/用戶或密碼錯(cuò)誤$t
26、pl-assign(meg,用戶或密碼錯(cuò)誤.請(qǐng)重新登錄,現(xiàn)在跳轉(zhuǎn)頁面.);else/寫入系統(tǒng)日志$logmeg=$name.登錄失敗;logbook($rowlogin_id,$logmeg,$link);$tpl-assign(login,0);/用戶或密碼錯(cuò)誤$tpl-assign(meg,用戶或密碼錯(cuò)誤.請(qǐng)重新登錄,現(xiàn)在跳轉(zhuǎn)頁面.);elseif ($_GETexi=1) /注銷/寫入系統(tǒng)日志$logid=$_SESSIONlogin_id;$logmeg=ID:.$logid.進(jìn)行注銷操作;logbook($logid,$logmeg,$link);session_unregister
27、(login_id);session_unregister(worker_class_id);session_unregister(juri);session_unregister(topm);session_unregister(pm);session_unregister(filesize);session_unregister(chatm);session_unregister(chatn);$tpl-assign(login,-1);/沒有登錄$tpl-display(index.html);?因?yàn)楸鞠到y(tǒng)是利用SMARTY進(jìn)行MVC模式開發(fā)的,以上代碼是登錄頁面的數(shù)據(jù)層的代碼,而通過$
28、tpl-display(index.html);進(jìn)行指定該數(shù)據(jù)層的視圖層的地址。由于該系統(tǒng)實(shí)現(xiàn)的功能比較全面,從而其程序代碼也相應(yīng)比較多,所以不可能在此一一地介紹所有的代碼,下面只是選取文件列表功能的部分代碼以作點(diǎn)評(píng)之用。若讀者想瀏覽所有的原代碼,詳見該系統(tǒng)程序。文件列表功能部分原代碼:assign(mod,$mod);$tpl-assign(type,$type);$foor=showp($pm,$p,$url,1);$tpl-assign(foor,$foor);$tpl-assign(work_file,$work_file);$tpl-display(showworkerfile.ht
29、ml);?系統(tǒng)測(cè)試報(bào)告系統(tǒng)測(cè)試的方法和技術(shù)是多種多樣的,從是否需要執(zhí)行被測(cè)軟件的角度來看,可分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試;從測(cè)試是否針對(duì)系統(tǒng)的內(nèi)部結(jié)構(gòu)和具體實(shí)現(xiàn)算法的角度來看,可分為白盒測(cè)試和黑盒測(cè)試。7.1 測(cè)試方案本系統(tǒng)采用動(dòng)態(tài)測(cè)試方法,但是由于條件的有限,本系統(tǒng)并沒有窮舉輸入數(shù)據(jù)來進(jìn)行黑盒或白盒測(cè)試,而是采用輸入大量數(shù)據(jù)(包括合法或非法)和運(yùn)用等價(jià)類技劃分與邊界值分析而進(jìn)行測(cè)試。7.2 測(cè)試目的測(cè)試系統(tǒng)能否按設(shè)計(jì)的流程或目的運(yùn)行,同時(shí)防止一些非法性操作和不必要錯(cuò)誤的發(fā)生,以達(dá)到增強(qiáng)系統(tǒng)的可行性、有效性、廣泛性的目的。 PAGE 14結(jié) 論可以說,該系統(tǒng)是一個(gè)功能較全,運(yùn)行速度快的信息管理系統(tǒng)。
30、當(dāng)然,該系統(tǒng)在一定程度上也存在著不足性,對(duì)系統(tǒng)的功能模塊設(shè)計(jì)不夠完善、美工不夠等等。以下分別對(duì)該系統(tǒng)的優(yōu)點(diǎn)與不足之處進(jìn)行詳細(xì)的分析。(1)優(yōu)點(diǎn)該系統(tǒng)的設(shè)計(jì)界面較好,功能也較全。而且在設(shè)計(jì)開發(fā)過程中,也充分地考慮到現(xiàn)實(shí)的因素。在系統(tǒng)的運(yùn)行速度上,利用SMARTY的頁面緩存技術(shù),通過預(yù)先進(jìn)行編譯,使得對(duì)于相同內(nèi)容的頁面,系統(tǒng)自動(dòng)對(duì)編譯進(jìn)行顯示,提高系統(tǒng)的運(yùn)行速度。同時(shí)也對(duì)出現(xiàn)大量數(shù)據(jù)的頁面進(jìn)行分頁顯示處理,減少對(duì)數(shù)據(jù)的大量讀取。在系統(tǒng)安全性方面,對(duì)某些特殊頁面進(jìn)行了權(quán)限管理。不夠權(quán)限的用戶不能夠訪問。同時(shí)對(duì)也資源的非法訪問也作了一定的處理,防止用戶通過URL進(jìn)行資源的非法訪問。在用戶密碼的保存上使
31、用了MD5對(duì)密碼進(jìn)行摘要處理。所以,總體來說,該系統(tǒng)的開發(fā)性較好。(2)不足之處該系統(tǒng)也有一定的局限性和可擴(kuò)展性。如系統(tǒng)功能模塊還有不完善的地方,有些辦公的功能模塊沒有增加到系統(tǒng)中。系統(tǒng)的美工還沒有進(jìn)行比較完善的美工。使得用戶處理時(shí)感覺不太友好。系統(tǒng)在編寫過程中沒有利用到OOP技術(shù)進(jìn)行編程,使得系統(tǒng)的代碼重用性不高。 PAGE 15參考文獻(xiàn)1 信達(dá)工作室 譯.PHP開發(fā)人員手冊(cè)M.北京:人民郵電出版社.2001.62 徐鋒 陳紹繼 譯.AJAX與PHP基礎(chǔ)教程M.北京:人民郵電出版社.2007.93 王俊杰 編著.精通JavaScript動(dòng)態(tài)網(wǎng)頁編程M.北京:人民郵電出版社.2007.24 王
32、石 楊英娜 編著.精通PHPMYSQL 應(yīng)用開發(fā)M.北京:人民郵電出版社.2006.75 苗雪蘭 劉瑞新 宋歌 編著.數(shù)據(jù)庫系統(tǒng)原理及應(yīng)用教程M.北京:機(jī)械工業(yè)出版社.2007.106 飛思科技產(chǎn)品研發(fā)中心 編著. PHP & MySQL網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)M. 北京:電子工業(yè)出版社.2001.47 (加) Lee Babin 等 著;林琪, 荊濤等譯. PHP 5范例代碼查詢辭典M.北北京:人民郵電出版社.2007.28 陳軍編著. PHP+MySQL經(jīng)典案例剖析M. 北京:清華大學(xué)出版社.20089 清源計(jì)算機(jī)工作室編著. PHP動(dòng)態(tài)網(wǎng)站設(shè)計(jì)與制作M. 北京:機(jī)械工業(yè)出版社.2001.1 PAG
33、E 27致 謝在本論文的寫作過程中,我的導(dǎo)師蔣老師傾注了大量的心血,從選題到開題報(bào)告,從寫作提綱,到一遍又一遍地指出每稿中的具體問題,嚴(yán)格把關(guān),循循善誘,在此我表示衷心感謝。同時(shí)我還要感謝在我學(xué)習(xí)期間給我極大關(guān)心和支持的各位老師以及關(guān)心我的同學(xué)和朋友。寫作畢業(yè)論文是一次再系統(tǒng)學(xué)習(xí)的過程,畢業(yè)論文的完成,同樣也意味著新的學(xué)習(xí)生活的開始。附錄資料:從 XML 生成可與 Ajax 共同使用的 JSON時(shí)下,非常流行使用 JavaScript 代碼為數(shù)據(jù)驅(qū)動(dòng)的 Web 應(yīng)用程序添加互動(dòng)性。若能將數(shù)據(jù)編碼成 JavaScript Object Notation(JSON)的格式,您就可以更輕松地通過 J
34、avaScript 語言使用它。通過本文,發(fā)掘使用 XSLT V2 從 XML 數(shù)據(jù)生成 JSON 的幾種不同方法。幾年前,許多開發(fā)人員很看好 XML、XSLT、Extensible HTML (XHTML)和其他一些基于標(biāo)記的語言?,F(xiàn)在,Asynchronous JavaScript and XML(AJAX)成了新的熱點(diǎn),人們又將目光轉(zhuǎn)向了使用 JavaScript 代碼的數(shù)據(jù)驅(qū)動(dòng)的富 Internet 應(yīng)用程序。但是開發(fā)人員是否已經(jīng)消除了 XML 和這一新技術(shù)之間的鴻溝呢?當(dāng)然,您可以在 Web 客戶機(jī)中使用 XML 解析器來讀取數(shù)據(jù),但這種做法會(huì)帶來兩個(gè)問題。第一,出于安全方面的原因,
35、XML 數(shù)據(jù)只能從與此頁面相同的那個(gè)域中讀取。這雖然不是什么大的限制因素,但它的確會(huì)引起部署方面的問題,還會(huì)阻礙 DHTML 小部件的創(chuàng)建。第二,讀取和解析 XML 會(huì)非常慢。另一種做法是讓服務(wù)器執(zhí)行 XML 的解析工作,方法是設(shè)置服務(wù)器,使之向?yàn)g覽器發(fā)送以 JavaScript 代碼或時(shí)下流行的 JavaScript Object Notation(JSON)編碼的數(shù)據(jù)。本文將展示如下三種使用 XSLT V2 語言和 Saxon XSLT V2 處理器從 XML 數(shù)據(jù)生成 JSON 的技巧: 簡(jiǎn)單編碼 通過函數(shù)調(diào)用加載數(shù)據(jù) 編碼對(duì)象 JSON 簡(jiǎn)介要學(xué)習(xí)如何將數(shù)據(jù)編碼成 JSON(它只是 J
36、avaScript 的一個(gè)子集),最好的方法是從數(shù)據(jù)開始。清單 1 顯示了書籍列表的一個(gè)示例 XML 數(shù)據(jù)集。清單 1. 基本的圖形化圖書館 Code Generation in Action JackHerrington Manning PHP Hacks JackHerrington OReilly Podcasting Hacks JackHerrington OReilly 這個(gè)數(shù)據(jù)集很簡(jiǎn)單,只包含三本書,每本書都具有惟一的 ID、書名、作者姓名及出版商的名字。(沒錯(cuò),我只選擇了我自己的書作為數(shù)據(jù)集,但能怨我嗎?這些書實(shí)在是不可多得的節(jié)日和生日禮物。)清單 2 顯示了這些數(shù)據(jù)在 JSO
37、N 中的效果。清單 2. JSON 中的示例數(shù)據(jù)集 id: 1, title: Code Generation in Action, first: Jack, last: Herrington, publisher: Manning , . 方括號(hào) () 表明這是一個(gè)數(shù)組。大括號(hào) () 則表明這是一個(gè)散列表,該散列表由一組名稱和值對(duì)組成。在本例中,我創(chuàng)建了一個(gè)散列表的數(shù)組 用來存儲(chǔ)這類結(jié)構(gòu)式數(shù)據(jù)的一種常見方法。另外一點(diǎn)值得注意的是字符串是通過單引號(hào)或雙引號(hào)被編碼的。所以,如果我想用單引號(hào)編碼 OReilly,我就必須使用反斜杠對(duì)它進(jìn)行轉(zhuǎn)義:OReilly。 這讓我編寫的這個(gè) XSLT 樣式表更
38、為有趣了一些。我并未在本例中放上任何日期,但您也可以通過如下兩種方法來編碼日期。第一種方法是將日期作為字符串,該字符串必須在后面被解析。第二種方法是將日期作為一個(gè)對(duì)象,比如:publishdate: new Date( 2006, 6, 16, 17, 45, 0 )這段代碼將 publishdate 的值設(shè)置為6/16/2006 5:45:00 p.m.。簡(jiǎn)單編碼接下來我將陸續(xù)介紹 JSON 編碼的幾種技巧。第一種也是其中最簡(jiǎn)單的一種,此樣式表如 清單 3 所示。清單 3. simple.xsl 樣式表 var g_books = 1, id: ,name: ,first: ,last: ,
39、publisher: ;要理解此樣式表,不妨先來看一下 清單 4 所示的輸出。清單 4. simple.xsl 的輸出var g_books = id: 1,name: Code Generation in Action,first: Jack,last: Herrington,publisher: Manning, id: 2,name: PHP Hacks,first: Jack,last: Herrington,publisher: OReilly, id: 3,name: Podcasting Hacks,first: Jack,last: Herrington,publisher:
40、OReilly;這里,我將名為 g_books 的變量設(shè)置為一個(gè)包含三個(gè)散列表的數(shù)組,每個(gè)散列表包含關(guān)于該書的信息。再回過頭來看看 清單 3,您會(huì)發(fā)現(xiàn)第一個(gè)模板匹配 / 路徑,它也是首先應(yīng)用到輸入數(shù)據(jù)集的模板,該模板使用 for-each 循環(huán)來遍歷每本書。之后,它使用 標(biāo)記來將文本從該數(shù)據(jù)輸出到 JavaScript 輸出代碼。對(duì)于字符串,我使用名為 js:escape() 的定制函數(shù),它在模板之前定義。該函數(shù)使用一個(gè)正則表達(dá)式將一個(gè)單引號(hào)標(biāo)記更改為帶有反斜杠的單引號(hào)標(biāo)記。最后一個(gè)重要的元素是 標(biāo)記,它告知處理器要輸出的是文本而不是 XML。要檢驗(yàn)此過程是否可以正常工作,我加入了一個(gè) sim
41、ple .html 文件,該文件引用我在 simple.js 保存的 XSL 樣式表的輸出。這個(gè) HTML 文件如 清單 5 所示。清單 5. simple.html 文件Simple JS loaderdocument.write( Found +g_books.length+ books );.html 文件使用 標(biāo)記簡(jiǎn)單地加載已編碼了的 JavaScript 代碼。之后,第二個(gè) 標(biāo)記將數(shù)組的長(zhǎng)度寫出到瀏覽器頁面,如 圖 1 所示。圖 1. simple.html 的輸出好了!數(shù)據(jù)文件包含三本書,相應(yīng)的 JavaScript 文件也包含三本書。它真的可以工作!通過函數(shù)加載上述第一個(gè)示例很簡(jiǎn)
42、單,而且在大多數(shù)情況下可以發(fā)揮其作用,但它存在一些問題。第一個(gè)問題是對(duì)于數(shù)據(jù)何時(shí)被加載沒有任何提示。如果數(shù)據(jù)是像頁面那樣被靜態(tài)加載的,這不成問題。但是如果頁面動(dòng)態(tài)創(chuàng)建了一個(gè) 標(biāo)記來按需加載數(shù)據(jù),那么就很有必要知道 標(biāo)記是何時(shí)完成的。實(shí)現(xiàn)此功能的最好的方法是讓編碼了的數(shù)據(jù)調(diào)用一個(gè) JavaScript 函數(shù),而不是只設(shè)置數(shù)據(jù)。這個(gè)概念很重要,所以我將花一些時(shí)間來介紹一下為什么您必須要通過動(dòng)態(tài)生成的 標(biāo)記來加載數(shù)據(jù)。頁面加載后,從服務(wù)器獲得數(shù)據(jù)是 Web 2.0 的核心功能。一種方法是使用 AJAX 機(jī)制通過到服務(wù)器的調(diào)用來加載 XML。然而,出于安全性的原因,AJAX 機(jī)制只限于從單一域獲取數(shù)據(jù)
43、。這在大多數(shù)情況下都沒有問題,但有時(shí),您可能需要 JavaScript 代碼運(yùn)行在他人的頁面上(例如,Google Maps)。在這種情況下從服務(wù)器獲得數(shù)據(jù)的惟一方法是通過動(dòng)態(tài)加載 標(biāo)記。獲悉 標(biāo)記何時(shí)加載的最好的方法是讓 標(biāo)記返回的腳本調(diào)用函數(shù)而不是簡(jiǎn)單地加載數(shù)據(jù)。清單 6 顯示了在函數(shù)調(diào)用中編碼的數(shù)據(jù)。清單 6. Function1.jsAddBooks( id: 1,name: Code Generation in Action,first: Jack,last: Herrington,publisher: Manning, id: 2,name: PHP Hacks,first: Ja
44、ck,last: Herrington,publisher: OReilly, id: 3,name: Podcasting Hacks,first: Jack,last: Herrington,publisher: OReilly );清單 7 給出了相應(yīng)的 .html 文件。清單 7. Function1.htmlFunction 1 JS loadervar g_books = ;function AddBooks( books ) g_books = books; drawbooks( g_books );稍后將詳細(xì)介紹 drawbooks 函數(shù)。這里重要的是了解一下頁面如何定義 Ad
45、dBooks 函數(shù),該函數(shù)隨后會(huì)由 function1.js 文件中的腳本調(diào)用。該 AddBooks 函數(shù)負(fù)責(zé)處理數(shù)據(jù)。而且被調(diào)用的 AddBooks 函數(shù)會(huì)向頁面指示 標(biāo)記被正確加載,并已加載完成。要?jiǎng)?chuàng)建 function1.js 文件,我只對(duì)樣式表稍微做了一點(diǎn)修改,如 清單 8 所示。清單 8. function1.xsl 樣式表AddBooks( 1, id: ,name: ,first: ,last: ,publisher: );這里,我調(diào)用了一個(gè)函數(shù),而不是簡(jiǎn)單地設(shè)置一個(gè)變量。這就是我所做的惟一更改。回到頁面,我使用了 drawbooks 函數(shù)來構(gòu)建書的表格,這樣我就能夠確認(rèn)數(shù)據(jù)被正
46、確編碼和正確顯示。此函數(shù)是在 drawbooks.js 內(nèi)定義的,如 清單 9 所示。清單 9. Drawbooks.jsfunction drawbooks( books ) var elTable = document.createElement( table ); for( var b in books ) var elTR = elTable.insertRow( -1 ); var elTD1 = elTR.insertCell( -1 ); elTD1.appendChild( document.createTextNode( booksb.id ) ); var elTD2 =
47、elTR.insertCell( -1 ); elTD2.appendChild( document.createTextNode( ) ); var elTD3 = elTR.insertCell( -1 ); elTD3.appendChild( document.createTextNode( booksb.first ) ); var elTD4 = elTR.insertCell( -1 ); elTD4.appendChild( document.createTextNode( booksb.last ) ); var elTD5 = elTR.insert
48、Cell( -1 ); elTD5.appendChild( document.createTextNode( booksb.publisher ) ); document.body.appendChild( elTable );這個(gè)簡(jiǎn)單函數(shù)創(chuàng)建了一個(gè)表格節(jié)點(diǎn),然后循環(huán)訪問書的列表并為每本書創(chuàng)建一行,為每個(gè)數(shù)據(jù)元素分配一個(gè)單元格。此頁面上的代碼的結(jié)果如 圖 2 所示。圖 2. function1.html 的結(jié)果現(xiàn)在我就可以查看一下此頁面的輸出并確認(rèn)來自原始 .xml 文件的一切均已被正確轉(zhuǎn)換成 JavaScript 代碼,且數(shù)據(jù)被發(fā)送到 AddData 函數(shù)并被正確添加到頁面。細(xì)化函數(shù)調(diào)用技
49、術(shù)我很喜歡函數(shù)調(diào)用這一技術(shù),但我并不贊同將所有圖書數(shù)據(jù)都放入一個(gè)塊中。另一種方式是為每條記錄采用一個(gè)調(diào)用,如 清單 10 所示。清單 10. Function2.jsAddBook( id: 1,name: Code Generation in Action,first: Jack,last: Herrington,publisher: Manning );AddBook( id: 2,name: PHP Hacks,first: Jack,last: Herrington,publisher: OReilly );.對(duì) .html 頁面只需做少許修改,如 清單 11 所示。清單 11. Fu
50、nction2.html.var g_books = ;function AddBook( book ) g_books.push( book ); .這里更改了 XSLT,以使函數(shù)調(diào)用駐留在 for-each 循環(huán)體內(nèi)。清單 12 顯示了更新后的樣式表。清單 12. function2.xsl.AddBook( id: ,name: ,first: ,last: ,publisher: );.對(duì)這個(gè)給定示例來說,這種更改看起來有些隨意。但如果原始的 XML 數(shù)據(jù)集有多種數(shù)據(jù)類型,要為每種類型分配一個(gè)單獨(dú)的函數(shù)調(diào)用會(huì)使 XSL 和頁面上的 JavaScript 代碼更為簡(jiǎn)單、更易于維護(hù)。編碼對(duì)
51、象對(duì)小的頁面來講,使用 JavaScript 函數(shù)沒有問題。但對(duì)于大型項(xiàng)目,就需要使用 JavaScript 語言的一些面向?qū)ο筇匦浴J堑?,JavaScript 語言可以處理對(duì)象而且可以處理得很好。清單 13 顯示了如何創(chuàng)建帶有數(shù)據(jù)的對(duì)象。清單 13. Object1.jsg_books.push( new Book( id: 1,name: Code Generation in Action,first: Jack,last: Herrington,publisher: Manning ) );g_books.push( new Book( id: 2,name: PHP Hacks,first: Jack,last: Herrington,publisher: OReill
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆山東郯城實(shí)驗(yàn)中學(xué)初三下第一次階段考英語試題試卷含答案
- 明達(dá)職業(yè)技術(shù)學(xué)院《手機(jī)短視頻拍攝與編輯》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025屆湖南省邵陽市邵東縣第三中學(xué)高三下學(xué)期周練一(2.15)生物試題含解析
- 教育畫卷展開
- 安全生產(chǎn)開展情況
- 中小學(xué)勞動(dòng)教育在勞動(dòng)中感悟美在勞動(dòng)中長(zhǎng)技能課件
- 思維導(dǎo)圖集訓(xùn)6小時(shí)找到適合你的高效學(xué)習(xí)法第3講 思維導(dǎo)圖讓你高效復(fù)習(xí):知識(shí)結(jié)構(gòu)化
- 數(shù)字孿生行業(yè)發(fā)展分析
- 惠普電腦培訓(xùn)
- 護(hù)理質(zhì)控匯報(bào)
- 精益改善周五階段
- 2021特種設(shè)備管理與使用指導(dǎo)手冊(cè)
- 三年級(jí)下冊(cè)數(shù)學(xué)說課稿-第三單元解決問題的策略-畫線段圖 蘇教版
- 加強(qiáng)區(qū)域管理推進(jìn)學(xué)區(qū)建設(shè)
- 2022年全國(guó)交通運(yùn)輸行業(yè)城市軌道交通列車司機(jī)職業(yè)技能大賽參考題庫
- 3d3s門式鋼架 入門教程
- 儲(chǔ)能技術(shù)-氫儲(chǔ)能
- 《看看我們的地球》閱讀測(cè)試題及答案
- 地基與基礎(chǔ)分部工程驗(yàn)收?qǐng)?bào)告
- 2023年中央宣傳部直屬單位招考聘用88人模擬預(yù)測(cè)試卷【共500題含答案解析】
- 柔性電子技術(shù)與移動(dòng)醫(yī)療課件
評(píng)論
0/150
提交評(píng)論