基于hadoop的檔案共享系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于hadoop的檔案共享系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于hadoop的檔案共享系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于hadoop的檔案共享系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于hadoop的檔案共享系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

鄭州工業(yè)應(yīng)用技術(shù)學(xué)院課程設(shè)計(jì)說明書題目:基于Hadoop檔案共享系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)姓名:000000院(系):信息工程學(xué)院專業(yè)班級(jí):19級(jí)計(jì)科專升本3班學(xué)號(hào):2019010981指導(dǎo)教師:陳雪榮成績(jī):時(shí)間:2019年9月23日至2019年12月27日鄭州工業(yè)應(yīng)用技術(shù)學(xué)院課程設(shè)計(jì)任務(wù)書題目基于JAVA檔案共享系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)專業(yè)、班級(jí)19級(jí)計(jì)科專升本3班學(xué)號(hào)2019010981姓名0000主要內(nèi)容:本系統(tǒng)的使用對(duì)象是針對(duì)高校級(jí)的檔案管理部門和一般用戶,各部門的檔案管理員通過登錄對(duì)本部門的檔案信息進(jìn)行管理,一般用戶則可以瀏覽各個(gè)部門的檔案信息并進(jìn)行檢索。該系統(tǒng)主要為高校辦公所用,高校對(duì)學(xué)生信息或是各個(gè)部門的檔案信息都要有明確詳盡的記錄,尤其是當(dāng)院校部門或?qū)W生擴(kuò)增時(shí),對(duì)信息的存儲(chǔ)及檢索更是顯得尤為重要,高校檔案共享系統(tǒng)實(shí)現(xiàn)了檔案信息的網(wǎng)絡(luò)化管理,可以及時(shí)的對(duì)消息進(jìn)行處理本系統(tǒng)的設(shè)計(jì)本著實(shí)用的原則,包含了幾個(gè)比較常用的基礎(chǔ)功能,其中有檔案信息管理、檔案借閱管理、類別管理、附件管理、用戶信息管理五大部分。基本要求:基本實(shí)現(xiàn)系統(tǒng)的實(shí)java技術(shù)。書寫系統(tǒng)上述文檔和撰寫課程設(shè)計(jì)報(bào)告。主要參考資料:邱少明.Java面向?qū)ο蟪绦蛟O(shè)計(jì)[M].北京:清華大學(xué)出版社北京交通大學(xué)出版社,2009孫衛(wèi)琴,李洪成.Tomcat與JavaWeb開發(fā)技術(shù)詳解[M].北京:電子工業(yè)出版社,2004(美)DavidFlanagan.JavaScript權(quán)威指南[M].北京:機(jī)械工業(yè)出版社,2009張紅梅,王磊.在JSP中訪問數(shù)據(jù)庫(kù)的方法[J].農(nóng)業(yè)圖書情報(bào)學(xué)刊,2006,18(12):142-144

完成期限:9月23日—12月27日指導(dǎo)教師簽名:課程負(fù)責(zé)人簽名:背景與意義項(xiàng)目背景檔案是國(guó)家機(jī)關(guān)、團(tuán)體及企事業(yè)單位在從事各種社會(huì)活動(dòng)、生產(chǎn)活動(dòng)過程中,形成的具有一定價(jià)值的材料或?qū)嵨铩n案管理是一項(xiàng)重要工作,這種管理工作繁雜,任務(wù)量大,而且各檔案館或檔案室的工作重點(diǎn)不同,對(duì)外提供服務(wù)也不同。大量的手工操作致使人員編制多,而且效率不高。一套規(guī)劃嚴(yán)謹(jǐn)、科學(xué)、規(guī)范的軟件系統(tǒng)能提高檔案管理工作效率、提高檔案查找的準(zhǔn)確率,加快檢索速度,實(shí)現(xiàn)高校檔案管理的電子化已經(jīng)迫在眉睫。為了更好的管理高校檔案及各種紀(jì)錄變動(dòng),減少手工操作的復(fù)雜性及勞動(dòng)強(qiáng)度,以及方便高校檔案的管理和查詢,基于高校級(jí)的檔案信息共享系統(tǒng)就解決了上述這些問題。它能夠有效地組織、管理和利用這些檔案,構(gòu)造一個(gè)高校信息共享的環(huán)境,實(shí)現(xiàn)檔案內(nèi)容的快速瀏覽及檔案的網(wǎng)絡(luò)管理,提高了工作效率,很好的解決了文件歸檔過程中信息化管理問題。研究意義高校級(jí)的檔案共享既能完整地保存了辦公自動(dòng)化過程中形成的著錄信息,又有利于減輕檔案工作人員的勞動(dòng),同時(shí)較紙質(zhì)檔案提供的信息更加全面、詳細(xì)、準(zhǔn)確。它可以實(shí)現(xiàn)信息的共享,即組織機(jī)構(gòu)內(nèi)部的人員可跨越時(shí)間、地點(diǎn)協(xié)同辦公。系統(tǒng)中對(duì)工作流的支持,更是有助于檔案管理人員及時(shí)看到所更新的消息,并對(duì)其做出處理,提高高校檔案管理工作的效率。需求分析需求說明本系統(tǒng)的使用對(duì)象是針對(duì)高校級(jí)的檔案管理部門和一般用戶,各部門的檔案管理員通過登錄對(duì)本部門的檔案信息進(jìn)行管理,一般用戶則可以瀏覽各個(gè)部門的檔案信息并進(jìn)行檢索。該系統(tǒng)主要為高校辦公所用,高校對(duì)學(xué)生信息或是各個(gè)部門的檔案信息都要有明確詳盡的記錄,尤其是當(dāng)院校部門或?qū)W生擴(kuò)增時(shí),對(duì)信息的存儲(chǔ)及檢索更是顯得尤為重要,因而利用Hadoop的分布式系統(tǒng)使在存儲(chǔ)和處理海量數(shù)據(jù)的過程中響應(yīng)迅速,具備良好的伸縮性和可靠性,分布式數(shù)據(jù)庫(kù)作為海量數(shù)據(jù)分析平臺(tái)有著優(yōu)良的表現(xiàn)。高校檔案共享系統(tǒng)實(shí)現(xiàn)了檔案信息的網(wǎng)絡(luò)化管理,可以及時(shí)的對(duì)消息進(jìn)行處理,如:用戶注冊(cè)完畢,對(duì)應(yīng)部門的檔案管理員會(huì)對(duì)該用戶的注冊(cè)信息進(jìn)行審核,同時(shí)將處理結(jié)果反饋給用戶等,更加方便快捷的管理未處理的消息。作為高校級(jí)的辦公系統(tǒng),同時(shí)也需要對(duì)檔案借閱的管理。其中包括對(duì)檔案借閱信息的添加,編輯,瀏覽和刪除,當(dāng)然對(duì)于添加、編輯和刪除是需要權(quán)限的。只有各個(gè)部門的檔案管理員才能對(duì)本部門的檔案借閱信息進(jìn)行編輯和刪除,同時(shí)也對(duì)用戶的借閱請(qǐng)求進(jìn)行審核,若審核通過,則用戶可以進(jìn)行借閱。在用戶瀏覽檔案內(nèi)容時(shí),很多時(shí)候會(huì)需要查看檔案的具體詳細(xì)規(guī)定或內(nèi)容文件。比如說用戶在查看學(xué)生檔案時(shí),需要用到學(xué)校統(tǒng)一的檔案填寫表,為了更好的體現(xiàn)高校文化,更規(guī)范學(xué)生的這些申請(qǐng),學(xué)生最好可以從系統(tǒng)上下載該模板文件,然后學(xué)生可以使用統(tǒng)一的文件進(jìn)行內(nèi)容的填寫。那么各個(gè)部門的檔案管理員就需要在系統(tǒng)上首先上傳該模版文件,然后學(xué)生再去進(jìn)行下載。由于上傳的文件沒有了系統(tǒng)管理員的審核,但這些文件又確實(shí)需要有人進(jìn)行管理,那就把文件的管理交給個(gè)人,即學(xué)生管理自己所上傳的文件,這樣也分擔(dān)了系統(tǒng)管理員的工作壓力。如果出現(xiàn)上傳文件不合適的情況,檔案管理員可以通知其上傳的作者刪除該文件。功能分析功能劃分本系統(tǒng)的設(shè)計(jì)本著實(shí)用的原則,包含了幾個(gè)比較常用的基礎(chǔ)功能,其中有檔案信息管理、檔案借閱管理、類別管理、附件管理、用戶信息管理五大部分。功能描述檔案信息管理:本功能為系統(tǒng)的核心模塊,主要包含有檔案的創(chuàng)建日期、創(chuàng)建人、檔案內(nèi)容、檔案類別、保管期限、年度、狀態(tài)等信息,其中年度為檔案創(chuàng)建的年份,狀態(tài)包含借出、在庫(kù)、審核中三種,保管期限包含長(zhǎng)期、短期、永久,檔案類別包含文書檔案、科技檔案、會(huì)計(jì)檔案、人事檔案、聲像檔案、實(shí)物檔案、工程檔案、學(xué)生檔案。檔案信息交由檔案管理員來管理,每個(gè)部門管理本部門下的檔案內(nèi)容,為了減輕檔案管理員的操作量,用戶可以上傳自己的檔案信息,審核通過后用戶方可瀏覽到這些檔案內(nèi)容。檔案管理員可對(duì)本部門的檔案信息進(jìn)行增加、編輯、刪除的操作。檔案借閱管理:用戶進(jìn)入此模塊根據(jù)需要對(duì)部門下的檔案進(jìn)行借閱,主要記錄了借閱的檔案名稱、借用人員、借用日期及歸還日期的內(nèi)容,同時(shí)部門檔案管理員會(huì)收到某個(gè)用戶借閱檔案的消息提示,“0”表示對(duì)這些消息尚未處理,“1”表示處理過的消息。另外檔案管理員可以對(duì)本部門的檔案借閱記錄進(jìn)行管理。類別管理:本系統(tǒng)檔案對(duì)應(yīng)于八種類型,包含了文書檔案、科技檔案、會(huì)計(jì)檔案、人事檔案、聲像檔案、實(shí)物檔案、工程檔案、學(xué)生檔案,每個(gè)檔案類型對(duì)應(yīng)所屬一個(gè)部門,它是由系統(tǒng)管理員進(jìn)行操作管理,以系統(tǒng)管理員身份登錄后只能查看本部門下的檔案信息,不能對(duì)其進(jìn)行額外的操作,檔案管理員則擁有編輯檔案的權(quán)限。附件管理:在對(duì)檔案內(nèi)容進(jìn)行查閱時(shí),有時(shí)需要對(duì)檔案的詳細(xì)信息進(jìn)一步了解,這時(shí)就需要用到其它文檔對(duì)其進(jìn)行具體的說明,檔案管理員根據(jù)需要可以上傳本部門的檔案附件,同時(shí)也可對(duì)本部門的檔案附件進(jìn)行刪除。用戶信息管理:一般用戶登錄系統(tǒng)后可以查看自己的詳細(xì)信息,也可對(duì)其進(jìn)行編輯并保存。系統(tǒng)管理員則可對(duì)所有的用戶信息管理。當(dāng)用戶注冊(cè)完畢后,用戶所填寫的所屬部門對(duì)應(yīng)的檔案管理員會(huì)收到注冊(cè)的消息提示,只有當(dāng)檔案管理員審核通過后,用戶的注冊(cè)才能正式生效,進(jìn)而行使注冊(cè)用戶所擁有的權(quán)限。用例分析本系統(tǒng)的使用人員主要為系統(tǒng)管理員、檔案管理員和一般用戶,以下就三類人員分別進(jìn)行用例介紹??尚行苑治黾夹g(shù)可行性本“基于java的高校檔案共享系統(tǒng)”是為高校的檔案管理工作開發(fā)的,鑒于本人在校期間已經(jīng)對(duì)javaweb經(jīng)典框架SSH有一定的學(xué)習(xí),而且對(duì)數(shù)據(jù)庫(kù)mysql也有學(xué)習(xí)和練習(xí),并且曾使用Struts2+Mysql在課程設(shè)計(jì)和課余的練習(xí)時(shí)間做過大量的練習(xí);而且通過這幾個(gè)月畢業(yè)實(shí)習(xí)中的學(xué)習(xí)和實(shí)踐,對(duì)檔案共享系統(tǒng)又有了新的認(rèn)識(shí)和提高。開發(fā)過程中SSH框架的使用很大程度上增加了編程中的靈活性和重用性,首先struts2使MVC的各層清晰的分開,使Model層、View層和Controller控制器各司其職;Hibernate把之前對(duì)數(shù)據(jù)庫(kù)表數(shù)據(jù)的操作都抽象為現(xiàn)在的面向?qū)ο蟮木幊?,極大的簡(jiǎn)化了代碼的編寫,不再過多的考慮表結(jié)構(gòu)和表字段的類型;Spring則提供了一種管理對(duì)象的方法,把中間層對(duì)象有效的通過配置文件的方式組織起來,間接的管理各個(gè)對(duì)象的生命周期。另外在校時(shí)跟隨導(dǎo)師搭建本系統(tǒng)開發(fā)所需的java環(huán)境,在網(wǎng)上大量的搜集了資料,解決了環(huán)境搭建時(shí)遇到的各種問題,但由于在校外工作,無法利用學(xué)校搭建好的開發(fā)環(huán)境來進(jìn)行本系統(tǒng)的開發(fā),因而采用了SSH技術(shù)保證了本系統(tǒng)的順利完成。經(jīng)濟(jì)可行性成本方面:由于本畢業(yè)設(shè)計(jì)屬于軟件工程(本科)教學(xué)的最后一個(gè)環(huán)節(jié),人力消耗免費(fèi),指導(dǎo)老師義務(wù)指導(dǎo),所以開發(fā)本系統(tǒng)的成本是非常低的。效益方面:一個(gè)合理的高校檔案共享系統(tǒng)可大大節(jié)省人力,以前需要多人干的工作,使用本系統(tǒng)只需一個(gè)人或幾個(gè)人簡(jiǎn)單的幾步操作就能完成,且工作量和勞動(dòng)強(qiáng)度大大降低,所以開發(fā)本系統(tǒng)可以為高校的檔案管理工作帶來不錯(cuò)的經(jīng)濟(jì)效益。操作可行性本系統(tǒng)使用的對(duì)象是檔案辦公人員,由于本系統(tǒng)界面設(shè)計(jì)的友好、清晰,操作過程簡(jiǎn)單,用戶只需懂得簡(jiǎn)單的計(jì)算機(jī)操作知識(shí),就能自由應(yīng)用本系統(tǒng)。所以,綜合以上幾個(gè)方面的分析來看,開發(fā)本系統(tǒng)是完全可行的。數(shù)據(jù)庫(kù)的安全性數(shù)據(jù)庫(kù)的安全性是指保護(hù)數(shù)據(jù)庫(kù),防止用戶非法使用數(shù)據(jù)庫(kù)造成數(shù)據(jù)泄露、更改以及破壞。用戶連接Mysql服務(wù)器的賬戶和密碼,是進(jìn)入數(shù)據(jù)庫(kù)服務(wù)器的第一張通行證。因此,設(shè)置數(shù)據(jù)庫(kù)密碼時(shí)采用數(shù)字加字母的組成形式。每個(gè)接受的參數(shù)都要經(jīng)過嚴(yán)格的數(shù)據(jù)格式過濾,才用于對(duì)數(shù)據(jù)庫(kù)的查詢。為了降低危險(xiǎn)等級(jí),參數(shù)大多采用數(shù)字,這樣就不會(huì)產(chǎn)生對(duì)數(shù)據(jù)庫(kù)有害的字符。系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)和一般要求參照各模塊的功能與具體的特點(diǎn),設(shè)計(jì)的整個(gè)高校檔案共享系統(tǒng)應(yīng)達(dá)到以下目的:(1)穩(wěn)定性。整個(gè)系統(tǒng)應(yīng)能穩(wěn)定運(yùn)行,硬件配置的局部改變不會(huì)影響整體的正常運(yùn)行,其它系統(tǒng)的差錯(cuò)不會(huì)導(dǎo)致該系統(tǒng)無法正確運(yùn)作。(2)準(zhǔn)確性。系統(tǒng)各用戶操作產(chǎn)生的數(shù)據(jù)要與數(shù)據(jù)庫(kù)原定產(chǎn)生變化的實(shí)際狀態(tài)應(yīng)嚴(yán)格保持一致,杜絕錯(cuò)誤記錄、數(shù)據(jù)錯(cuò)位等情況的出現(xiàn)。(3)開放性。系統(tǒng)服務(wù)器模塊工作于Windows平臺(tái)之上,在硬件保證兼容的基礎(chǔ)上,系統(tǒng)應(yīng)保證在所有Windows環(huán)境下的處理能力。(4)安全性。所有數(shù)據(jù)定時(shí)備份。(5)可擴(kuò)展性。如果需增加新的業(yè)務(wù)品種,再次開發(fā)不需更改原有系統(tǒng)的源代碼,原有系統(tǒng)對(duì)擴(kuò)展的部分一般不具有依賴性。(6)可維護(hù)性。界面風(fēng)格或其它可能的參數(shù)化改變(如增加新功能等)不需要重新編寫源代碼。(7)獨(dú)立性。每一個(gè)功能模塊盡量獨(dú)立,減少與其它模塊之間的耦合性。(8)易使用性。本系統(tǒng)的界面與操作人員的交互性好,操作簡(jiǎn)單。(9)先進(jìn)性。在保證穩(wěn)定的前提下,盡量使用國(guó)際上流行的技術(shù)與概念,使系統(tǒng)在國(guó)內(nèi)處于先進(jìn)水平。流程圖E-R圖數(shù)據(jù)庫(kù)實(shí)體我們大家都很熟悉了,即是數(shù)據(jù)庫(kù)管理系統(tǒng)中的各種用于數(shù)據(jù)管理方便而設(shè)定的各種數(shù)據(jù)管理對(duì)象,這些對(duì)象中所存儲(chǔ)的數(shù)據(jù)也是數(shù)據(jù)庫(kù)實(shí)體。因?yàn)樗鼈円彩谴_切存在著的實(shí)體。下面所描述的也就是數(shù)據(jù)庫(kù)中所存儲(chǔ)的數(shù)據(jù)實(shí)體。實(shí)體:用矩形表示,矩形框內(nèi)寫明實(shí)體名。屬性:用橢圓形或圓角矩形表示,并用無向邊將其與相應(yīng)的實(shí)體連接起來。檔案表、檔案類型、部門的實(shí)體屬性圖如下圖3-1、3-2、3-3所示。圖STYLEREF1\s3–SEQ圖\*ARABIC\s11檔案實(shí)體圖STYLEREF1\s3–SEQ圖\*ARABIC\s12檔案類型實(shí)體圖STYLEREF1\s3–SEQ圖\*ARABIC\s13部門實(shí)體圖STYLEREF1\s3–SEQ圖\*ARABIC\s14借閱實(shí)體功能模塊圖高校檔案共享系統(tǒng)為處理日常高校的檔案辦公事務(wù)所用,包括基本的人員管理、日程管理、文檔管理、消息傳遞和公告管理等。本系統(tǒng)主要功能如下圖3-5所示。圖STYLEREF1\s3–SEQ圖\*ARABIC\s15功能模塊圖系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)的需求分析根據(jù)高校檔案共享系統(tǒng)的用戶需求,對(duì)應(yīng)數(shù)據(jù)表的設(shè)計(jì)及功能如下:用戶權(quán)限表(roles):存放各個(gè)用戶的權(quán)限信息。用戶信息表(user):存放用戶的基本信息。日志表(logs):存放所有操作的日志信息。檔案類型表(category):存放檔案的類型信息。檔案部門表(department):存放檔案的部門信息。檔案借閱表(borrow):存放用戶的借閱信息。檔案表(dangan):存放所有的檔案信息。檔案柜表(dangangui):存放各類檔案的信息。附件表(fujian):存放各類檔案上傳的附件信息。圖片表(image):存放一些檔案集錦的圖片信息。數(shù)據(jù)庫(kù)的表設(shè)計(jì)根據(jù)本高校檔案共享系統(tǒng)的數(shù)據(jù)流程分析,建立數(shù)據(jù)庫(kù)dangan,并在其下創(chuàng)建如下幾個(gè)數(shù)據(jù)庫(kù)表。用戶權(quán)限表、用戶信息表、日志表、檔案類型表、檔案部門表、檔案借閱表、檔案表、檔案柜表、附件表、圖片表,分別如下表3-1、3-2、3-3、3-4、3-5、3-6、2-7、3-8、3-9、3-10所示。表STYLEREF1\s3–SEQ表\*ARABIC\s11用戶權(quán)限表字段名字段類型字段長(zhǎng)度是否為主鍵是否為空備注idint10是否自增字段namevarchar200否是權(quán)限名稱authorityvarchar30否是操作權(quán)限表STYLEREF1\s3–SEQ表\*ARABIC\s12用戶信息表字段名字段類型字段長(zhǎng)度是否為主鍵是否為空備注idInt10是否自增字段usernamevarchar50否否用戶名稱passwordvarchar50否否用戶密碼roleIdInt10否否角色權(quán)限編號(hào)departmentIdInt10否否部門(外鍵)memovarchar50否是注冊(cè)是否通過表STYLEREF1\s3–SEQ表\*ARABIC\s13日志表字段名字段類型字段長(zhǎng)度是否為主鍵是否為空備注idInt10是否自增字段typeVarchar20否否動(dòng)作類型timedatetime0否否操作時(shí)間uidInt10否否操作用戶infoidInt10否否操作信息表STYLEREF1\s3–4檔案類型表字段名字段類型字段長(zhǎng)度是否為主鍵是否為空備注idInt10是否自增字段typenamevarchar50否否類型名稱createpersonvarchar50否否建檔人員createtimedatetime0否否創(chuàng)建時(shí)間departidInt10否否部門編號(hào)(外鍵)memovarchar100否是表STYLEREF1\s3–5檔案部門表字段名字段類型字段長(zhǎng)度是否為主鍵是否為空備注idInt10是否自增字段deptnamevarchar50否否部門名稱表STYLEREF1\s3–6檔案借閱表字段名字段類型字段長(zhǎng)度是否為主鍵是否為空備注idInt10是否自增字段namevarchar30否否檔案名稱borrowpersonvarchar否否借用人員borrowtimedatetime10否否借用日期returntimedatetime11否是歸還日期memovarchar100否是信息是否處理表STYLEREF1\s3–7檔案表字段名字段類型字段長(zhǎng)度是否為主鍵是否為空備注idInt10是否自增字段namevarchar30否否檔案名稱filenamevarchar60否是文件編號(hào)內(nèi)容keywordvarchar100否否主題詞timedatetime0否否創(chuàng)建日期createpersonvarchar30否否創(chuàng)建人contentvarchar300否是檔案內(nèi)容statevarchar30否否檔案狀態(tài)yearvarchar20否否年度limittimevarchar30否否保管期限catyidInt10否否檔案分類編號(hào)danganguiidInt10否否案柜編號(hào)表STYLEREF1\s3–8檔案柜表字段名字段類型字段長(zhǎng)度是否為主鍵是否為空備注idInt10是否自增字段filenameVarchar50否否柜名稱memoVarchar50否否表STYLEREF1\s3–9附件表字段名字段類型字段長(zhǎng)度是否為主鍵是否為空備注idInt10是否自增字段urlVarchar100否否附件路徑danganidInt10否否檔案編號(hào)表STYLEREF1\s3–10圖片表字段名字段類型字段長(zhǎng)度是否為主鍵是否為空備注idInt10是否自增字段titleVarchar100否否標(biāo)題contentVarchar500否是內(nèi)容imgurlVarchar100否否圖片路徑memoVarchar10否是本系統(tǒng)的設(shè)計(jì)目標(biāo)高校檔案共享系統(tǒng)代替了原來的手工操作,從而快速、準(zhǔn)確地對(duì)各類檔案信息進(jìn)行管理和維護(hù)。具體有四個(gè)目標(biāo):(1)支持學(xué)校完成并實(shí)現(xiàn)規(guī)范化的圖書管理;(2)支持高效率的完成檔案管理日常工作的運(yùn)行,其中有檔案入庫(kù),用戶信息建立、用戶查詢檔案等方面的維護(hù)更新工作;(3)使學(xué)校的教職工和學(xué)生等廣大讀者更方便快捷的進(jìn)行檔案查詢、借閱和相關(guān)檔案文件下載。(4)校園檔案管理工作的計(jì)算機(jī)化,各種檔案信息可以通過計(jì)算機(jī)快速,準(zhǔn)確地增加、修改、刪除、查詢。使管理人員對(duì)所有用戶信息和檔案信息的基本概況一目了然,便于管理。編碼與實(shí)現(xiàn)系統(tǒng)登錄首頁(yè)本系統(tǒng)是為高校檔案管理所用,后臺(tái)管理員要使用本系統(tǒng)首先需要登錄,所以本系統(tǒng)的后臺(tái)首頁(yè)設(shè)定有登錄頁(yè)面,顯示如下圖4-1所示。圖STYLEREF1\s4–SEQ圖\*ARABIC\s11后臺(tái)系統(tǒng)登錄頁(yè)面登錄時(shí)需進(jìn)行信息校驗(yàn),本系統(tǒng)采用了異步校驗(yàn),其實(shí)現(xiàn)的代碼如下。//檢驗(yàn)用戶名 publicStringtestUname(){ try{ inputStream=userService.getUserByName(username)?newByteArrayInputStream( "<imgsrc='/Dangan/admin/images/dui.gif'>".getBytes("UTF-8")) :newByteArrayInputStream("<fontcolor='green'>*用戶名錯(cuò)誤!*</font>".getBytes("UTF-8")); }catch(UnsupportedEncodingExceptione){ e.printStackTrace(); } returnSUCCESS; } //檢驗(yàn)密碼 publicStringtestPasswd(){ try{ if(userService.getUserByNameandPwd(username,password)==null){ inputStream=newByteArrayInputStream( "<fontcolor='green'>*密碼錯(cuò)誤!*</font>" .getBytes("UTF-8")); }else{ inputStream=newByteArrayInputStream( "<imgsrc='/Dangan/admin/images/dui.gif'>" .getBytes("UTF-8")); } }catch(UnsupportedEncodingExceptione){ e.printStackTrace(); } returnSUCCESS; } //檢驗(yàn)登錄 publicStringlogin(){ Useruser=userService.findUser(username,password,role); if(user==null||(user.getDepartment().getId()!=id)){ try{ inputStream=newByteArrayInputStream("登錄信息不正確".getBytes("UTF-8")); }catch(UnsupportedEncodingExceptione){ e.printStackTrace(); } }else{ Map<String,Object>session=ActionContext.getContext().getSession(); session.put("user",user); try{ inputStream=newByteArrayInputStream("success".getBytes("UTF-8")); }catch(UnsupportedEncodingExceptione){ e.printStackTrace(); } } returnSUCCESS; }系統(tǒng)管理員登錄系統(tǒng)后的首頁(yè)系統(tǒng)管理員負(fù)責(zé)對(duì)用戶信息進(jìn)行管理,并可以查看各部門的檔案信息及進(jìn)行日常的數(shù)據(jù)庫(kù)維護(hù)操作,其操作菜單如下圖4-2所示。圖STYLEREF1\s4–SEQ圖\*ARABIC\s12系統(tǒng)管理員操作菜單用戶權(quán)限管理頁(yè)面系統(tǒng)管理員可以對(duì)不同角色的權(quán)限信息進(jìn)行管理,可以增加、修改及刪除相應(yīng)的角色,其實(shí)現(xiàn)如下圖4-3所示圖STYLEREF1\s4–SEQ圖\*ARABIC\s13用戶權(quán)限管理檔案管理頁(yè)面系統(tǒng)管理員登錄系統(tǒng)后對(duì)檔案進(jìn)行管理,主要包括部門信息、檔案類別、檔案柜的管理,其中部門信息管理頁(yè)面如圖4-4所示。圖STYLEREF1\s4–SEQ圖\*ARABIC\s14部門信息管理頁(yè)面系統(tǒng)管理員對(duì)各個(gè)部門信息進(jìn)行管理,并可以查看各部門的檔案信息,充分了解各部門的檔案存儲(chǔ)情況。數(shù)據(jù)備份數(shù)據(jù)庫(kù)何時(shí)被破壞以及會(huì)遭到什么樣的破壞是不可預(yù)測(cè)的,所以備份是一項(xiàng)重要的數(shù)據(jù)管理工作,必須確定備份到何處,由誰(shuí)來做備份,備份哪些內(nèi)容。通常由于硬件故障,軟件錯(cuò)誤(停電、操作系統(tǒng)不穩(wěn)定等原因)使內(nèi)存中的數(shù)據(jù)或日志內(nèi)容突然損壞,或管理人員操作失誤刪除了重要數(shù)據(jù)文件,以至于丟失重要的數(shù)據(jù),就需要設(shè)計(jì)一個(gè)完整的數(shù)據(jù)庫(kù)備份與恢復(fù)方案。為了保證數(shù)據(jù)存儲(chǔ)的安全性,對(duì)大量的檔案數(shù)據(jù)進(jìn)行備份顯得尤為重要,本系統(tǒng)數(shù)據(jù)庫(kù)維護(hù)頁(yè)面如圖4-5所示。圖STYLEREF1\s4–SEQ圖\*ARABIC\s15數(shù)據(jù)庫(kù)備份頁(yè)面數(shù)據(jù)備份與導(dǎo)入的實(shí)現(xiàn)代碼如下。/*************************備份**********************/publicvoidbackup(StringtableName){ InputStreaminputStream=this.getClass().getClassLoader().getResourceAsStream("perties");Propertiespros=newProperties();try{pros.load(inputStream);}catch(IOExceptione1){e1.printStackTrace();}finally{try{inputStream.close();}catch(IOExceptione){e.printStackTrace();}}//這里是讀取的屬性文件,也可以直接使用Stringusername=pros.getProperty("dataSource.username"); //用戶名Stringpassword=pros.getProperty("dataSource.password"); //密碼Stringmysqlpaths=pros.getProperty("mysqlpath"); //mysqldump.exe文件路徑Stringaddress=pros.getProperty("address"); //數(shù)據(jù)庫(kù)地址StringdatabaseName=pros.getProperty("databaseName"); //要備份的數(shù)據(jù)庫(kù)名Stringsqlpath=pros.getProperty("sql"); //備份出來的sql數(shù)據(jù)地址,放到D盤下Stringsql=tableName+"_backup.sql";Filebackupath=newFile(sqlpath);if(!backupath.exists()){ //如果有備份過的文件覆蓋掉backupath.mkdir();}StringBuffersb=newStringBuffer();sb.append(mysqlpaths);sb.append("mysqldump");sb.append("--opt");sb.append("-h");sb.append(address);sb.append("");sb.append("--user=");sb.append(username);sb.append("");sb.append("--password=");sb.append(password);sb.append("");sb.append("--lock-all-tables=true");sb.append("--result-file=");sb.append(sqlpath);sb.append(sql);sb.append("");sb.append("--default-character-set=utf8");//注意你的mysql數(shù)據(jù)庫(kù)設(shè)置的字符集,要與這設(shè)置的一致否則,漢字會(huì)亂碼。//sb.append("--default-character-set=gb2312");sb.append(databaseName);sb.append("");sb.append(tableName);//System.out.println(sb);Runtimecmd=Runtime.getRuntime();try{Processp=cmd.exec(sb.toString());}catch(IOExceptione){e.printStackTrace();}}檔案管理員登錄后系統(tǒng)頁(yè)面檔案管理員對(duì)應(yīng)于各個(gè)部門,本部門的檔案管理員只能管理本部門的檔案及相關(guān)消息處理,其中主要包含有檔案信息管理、借閱管理、檔案統(tǒng)計(jì)、報(bào)表打印、消息處理等功能實(shí)現(xiàn),其操作頁(yè)面如圖4-6所示。圖STYLEREF1\s4–SEQ圖\*ARABIC\s16檔案管理員操作菜單檔案信息當(dāng)檔案管理員單擊過檔案信息鏈接后即可看到本部門的所有檔案信息,可根據(jù)實(shí)際情況完成對(duì)這些檔案的信息處理,其實(shí)現(xiàn)頁(yè)面如圖4-7所示。圖STYLEREF1\s4–SEQ圖\*ARABIC\s17檔案信息瀏覽頁(yè)面后臺(tái)從數(shù)據(jù)庫(kù)中讀出來所有的檔案信息,然后進(jìn)行顯示,其主要實(shí)現(xiàn)代碼如下。//總記錄數(shù) publicintgetCount(){ log.debug("queryDangancount"); intcount=0; Sessionsession=null; try{ session=getHibernateTemplate().getSessionFactory().openSession(); Stringhql="selectcount(*)fromDanganDangan"; count=((Long)session.createQuery(hql).uniqueResult()).intValue(); }catch(RuntimeExceptionre){ log.error("queryDangancountfailed",re); throwre; } returncount; } //獲取所有檔案 @SuppressWarnings("unchecked") publicList<Dangan>findAll(){ log.debug("findingallDanganinstances"); try{ StringqueryString="fromDangan"; returngetHibernateTemplate().find(queryString); }catch(RuntimeExceptionre){ log.error("findallfailed",re); throwre; } } //分頁(yè)查詢所有檔案信息 @SuppressWarnings("unchecked") publicList<Dangan>getDangansByCondition(Pagepage){ List<Dangan>list=null; Criteriacriteria=this.getSession().createCriteria(Dangan.class); criteria.setFirstResult(page.getBeginIndex()); criteria.setMaxResults(page.getEveryPage()); list=criteria.list(); returnlist; }href="http://localhost:8080/Dangan/dangan!modifyDangan.action?id=${dangan.id}">查看詳細(xì)</A></TD><TDclass=gridViewItem> <Aid=ctl00_ContentPlaceHolder2_GridView1_ctl02_LinkButton1 href="http://localhost:8080/Dangan/dangan!delDangan.action?id=${dangan.id}"若檔案信息在此基礎(chǔ)上填寫的不夠完整,檔案管理員還可以上傳一些附件到對(duì)應(yīng)的檔案下,使得檔案信息更加完整,其頁(yè)面如圖4-8所示。圖STYLEREF1\s4–SEQ圖\*ARABIC\s18附件管理頁(yè)面若本條檔案信息下沒有相應(yīng)附件,則檔案管理員可以上傳一些附件;若有相應(yīng)的附件則會(huì)顯示所有的附件信息,檔案管理員根據(jù)需要去下載或刪除相應(yīng)的文件信息,然后完成附件的一些上傳操作,其上傳類型僅限為Word、Excel和pdf格式,其代碼實(shí)現(xiàn)如下。<!--檔案管理action--> <actionname="dangan"class="dan"> <result>/admin/danganManage/danganList.jsp</result> <resultname="query">/admin/danganManage/danganList.jsp</result> <resultname="fujianlist">/admin/danganManage/fujianList.jsp</result> <resultname="list"type="redirect">dangan.action</result> <resultname="input"type="redirect">dangan!queryFujian.action?id=${dangan.id}</result> <interceptor-refname="fileUpload"> <paramname="allowedTypes">application/msword,application/pdf,application/excel,application/vnd.ms-excel</param> <paramname="maximumSize">1024000</param> <paramname="allowedExtensions">.doc,.xls</param> </interceptor-ref> <interceptor-refname="defaultStack"></interceptor-ref> </action>附件上傳的前臺(tái)頁(yè)面實(shí)現(xiàn)如下。<s:formaction="dangan!upload"method="post"enctype="multipart/form-data"theme="simple"><inputtype="hidden"name="id"value="${dangan.id}"/><tablewidth="560"align="center"border="1"bordercolor="green"cellpadding="0"cellspacing="0"> <tr> <td> 文件上傳: </td> <tdid="more"> <s:filename="file"></s:file> <inputtype="button"value="AddMore..."onclick="addMore()"> </td> </tr> <tr> <tdcolspan="2"align="center"> <s:submitvalue="submit"/> </td> </tr></table></s:form>點(diǎn)擊“下載”連接,出現(xiàn)如下對(duì)話框,如下圖4-9所示。圖STYLEREF1\s4–SEQ圖\*ARABIC\s19下載文件頁(yè)面至此整個(gè)檔案信息的處理流程結(jié)束。系統(tǒng)測(cè)試與運(yùn)行測(cè)試基本要求易用性測(cè)試1.命令、提示、信息是否具有協(xié)調(diào)的含義;2.用戶是否總是可以知道自己所處的位置;3.導(dǎo)航是否方便;4.操作是否方便;5.輸入域上必填的域是否有特別的提示。單元測(cè)試為了確保在開發(fā)中實(shí)現(xiàn)了所有的需求,同時(shí)也為了使項(xiàng)目代碼滿足各種編碼規(guī)范,在正式測(cè)試之前對(duì)代碼進(jìn)行了人工排查,對(duì)系統(tǒng)進(jìn)行了靜態(tài)單元測(cè)試——代碼審查。程序中有齊全的各種注釋:各種方法都有功能描述,方法中的功能模塊具有功能的相關(guān)描述;參數(shù)和返回值也有相關(guān)的文字描述;除局部變量外都進(jìn)行了變量的含義注釋。方法,變量等都使用了統(tǒng)一的命名規(guī)范。本系統(tǒng)的開發(fā)完全遵照J(rèn)SP相關(guān)語(yǔ)言的編碼規(guī)范,如代碼按行進(jìn)行書寫,一行只有一個(gè)語(yǔ)句等等。這些規(guī)范都可以提高代碼的可讀性和系統(tǒng)的可維護(hù)性。通過代碼審查可以發(fā)現(xiàn)一些顯而易見的邏輯錯(cuò)誤和功能缺失,這些先期的處理可以為后面的測(cè)試節(jié)省時(shí)間和測(cè)試代價(jià)。用例測(cè)試測(cè)試用例設(shè)計(jì)表5-1登錄模塊的測(cè)試用例設(shè)計(jì)用例編號(hào)測(cè)試項(xiàng)輸入描述輸入數(shù)據(jù)預(yù)期結(jié)果實(shí)際結(jié)果結(jié)果比較分析1登錄輸入正確的用戶號(hào)和密碼輸入值用戶號(hào):000001密碼:admin進(jìn)入系統(tǒng)與預(yù)期結(jié)果相同2輸入錯(cuò)誤的用戶號(hào),密碼錯(cuò)誤,用戶號(hào):088080密碼:123456出現(xiàn)提示:用戶號(hào)或密碼錯(cuò)誤用戶號(hào)或密碼錯(cuò)誤提示不夠準(zhǔn)確,沒有對(duì)用戶號(hào)錯(cuò)誤進(jìn)行判斷3不輸入用戶號(hào),只輸入正確的密碼用戶號(hào):空密碼:admin出現(xiàn)提示:用戶號(hào)不能為空與預(yù)期結(jié)果相同4輸入正確的用戶號(hào),不輸入密碼用戶號(hào):000001密碼:空出現(xiàn)提示:密碼不能為空與預(yù)期結(jié)果相同5取消輸入用戶號(hào),密碼用戶號(hào):000001密碼:admin將文本框清空與預(yù)期結(jié)果相同表5-2密碼修改模塊的測(cè)試用例設(shè)計(jì)修改當(dāng)前登錄用戶的密碼,當(dāng)前登錄用戶號(hào)為:kong,密碼為:555用例編號(hào)測(cè)試項(xiàng)輸入描述輸入數(shù)據(jù)預(yù)期結(jié)果實(shí)際結(jié)果結(jié)果比較分析1修改輸入正確的舊密碼,新密碼為空舊密碼:000新密碼:空確認(rèn)密碼:空提示:新密碼不能為空與預(yù)期結(jié)果相同2輸入正確的舊密碼,新密碼為不為空,確認(rèn)密碼和新密碼相同舊密碼:000新密碼:123456確認(rèn)密碼:123456提示:修改成功與預(yù)期結(jié)果相同3輸入正確的舊密碼,新密碼為不為空,確認(rèn)密碼和新密碼不相同舊密碼:123456新密碼:123確認(rèn)密碼:123456提示:兩次密碼不一致,修改失敗與預(yù)期結(jié)果相同4不輸入舊密碼,只輸入新密碼和確認(rèn)密碼舊密碼:空新密碼:123確認(rèn)密碼:123提示:舊密碼錯(cuò)誤,修改

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論