版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1 / 47J2MEJ2ME 課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)報(bào)告J2MEJ2ME 圖書(shū)館無(wú)線輔助管理系統(tǒng)圖書(shū)館無(wú)線輔助管理系統(tǒng)專(zhuān)專(zhuān) 業(yè):業(yè):班班 級(jí):級(jí):組組 號(hào):號(hào):指導(dǎo)教師:指導(dǎo)教師:二二 0000 九年九年 月月 日日2 / 47J2MEJ2ME 圖書(shū)館無(wú)線輔助管理系統(tǒng)圖書(shū)館無(wú)線輔助管理系統(tǒng)摘摘 要要隨著 3G 時(shí)代的到來(lái),3G 無(wú)線網(wǎng)絡(luò)規(guī)模逐漸擴(kuò)大,移動(dòng)電子通訊設(shè)備將不僅僅只是打和發(fā)短信的工具,屆時(shí)將會(huì)有更多的更豐富的移動(dòng)應(yīng)用程序應(yīng)用在移動(dòng)電子通訊設(shè)備的終端上,而移動(dòng)商務(wù)以與移動(dòng)辦公作為 3G 無(wú)線網(wǎng)絡(luò)傳輸應(yīng)用的重要分支,將會(huì)廣泛地流行起來(lái)。本系統(tǒng)為圖書(shū)館文獻(xiàn)查詢輔助系統(tǒng)(手機(jī)客戶端) ,使用
2、C/S 結(jié)構(gòu),實(shí)現(xiàn)了無(wú)線網(wǎng)絡(luò)傳輸 協(xié)議、UDP 傳輸協(xié)議、以與套接字傳輸協(xié)議。本文完整地描述了在 Eclipse 平臺(tái)應(yīng)用 J2ME 技術(shù),利用 TOMCAT 服務(wù)器,使用 ORACLE 數(shù)據(jù)庫(kù),開(kāi)發(fā)本手機(jī)軟件的過(guò)程。其中主要涉與的技術(shù)有Java Servlet 技術(shù)、Java Socket 技術(shù)等。第一章介紹了系統(tǒng)背景,使用的開(kāi)發(fā)平臺(tái)與主要技術(shù),對(duì)論文中術(shù)語(yǔ)的約定;第二章介紹了系統(tǒng)需求與系統(tǒng)的設(shè)計(jì)方案;第三章介紹了系統(tǒng)具體實(shí)現(xiàn),并描述一些關(guān)鍵性技術(shù)和核心模塊的設(shè)計(jì);第四章介紹了對(duì)本系統(tǒng)進(jìn)行的測(cè)試與測(cè)試結(jié)果。關(guān)鍵詞:關(guān)鍵詞:J2ME;無(wú)線網(wǎng)絡(luò)傳輸;GCF; ;移動(dòng)圖書(shū)館3 / 47目目 錄錄
3、論文總頁(yè)數(shù):42頁(yè)1 引言 11.1 系統(tǒng)背景 11.2 開(kāi)發(fā)平臺(tái) 11.2.1Eclipse11.2.2Eclipse Me21.2.3Proguard21.2.4Tomcat31.2.5Oracle 10g31.2.6 Rational Rose31.3 主要技術(shù) 41.3.1J2ME 技術(shù) 41.3.2GCF 框架 51.3.3RSM51.3.4MVC51.3.5Javabean 技術(shù) 61.3.6Java Servlet 技術(shù) 61.3.7Java socket 技術(shù) 71.4 術(shù)語(yǔ)與縮寫(xiě)解釋 72 需求分析與項(xiàng)目方案82.1 目標(biāo) 82.2 假定和約束 82.3 需求規(guī)定 82.3.
4、1 對(duì)新能的規(guī)定 82.3.2 對(duì)性能的規(guī)定 82.3.3 輸入輸出要求 92.4 數(shù)據(jù)結(jié)構(gòu)與表的定義 92.5 運(yùn)行環(huán)境規(guī)定 132.5.1 設(shè)備 132.5.2 支持軟件 133 項(xiàng)目設(shè)計(jì)與開(kāi)發(fā)143.1 整體框架 143.1.1 系統(tǒng)總體結(jié)構(gòu)圖 143.1.2 系統(tǒng)總體流程圖 153.2 程序核心功能 153.2.1 讀者信息查詢(借閱查詢)153.2.2 讀者信息查詢(密碼修改)183.2.3 書(shū)刊檢索 203.2.4 公告查詢(查詢新書(shū)發(fā)布)233.2.5 書(shū)籍信息修改(查詢書(shū)籍增訂信息)243.2.6 書(shū)籍信息修改(新書(shū)發(fā)布)273.2.7 書(shū)籍信息修改(舊書(shū)刪除)293.2.8
5、管理員信息查詢(密碼修改)313.2.9 書(shū)籍討論區(qū) 323.2.10 幫助 343.3 兼容性 353.4 打包與混淆 354 / 473.5 特殊問(wèn)題與解決方法 363.5.1 書(shū)籍討論區(qū)同名用戶的處理 363.5.2MiDlet 與 Servlet 的通訊 374 結(jié)果測(cè)試與性能分析374.1 測(cè)試思路 374.2 測(cè)試結(jié)果 38結(jié)束語(yǔ)39參考文獻(xiàn)40致41聲明421 / 471 1引言引言3G,是指第三代移動(dòng)通訊技術(shù)。隨著 3G 的到來(lái),移動(dòng)終端不僅僅是打,發(fā)短信的工具,屆時(shí)會(huì)有更多豐富的移動(dòng)應(yīng)用程序出現(xiàn)。國(guó)家工信部 3G 牌照已經(jīng)正式發(fā)放,標(biāo)志著中國(guó) 3G 元年的到來(lái),現(xiàn)已經(jīng)有多家
6、3G 網(wǎng)絡(luò)牌照運(yùn)營(yíng)商進(jìn)行發(fā)放 3G 牌照,3G 網(wǎng)絡(luò)已經(jīng)正式覆蓋全國(guó)多個(gè)省會(huì)城市,將有多家移動(dòng)網(wǎng)絡(luò)門(mén)戶運(yùn)營(yíng)商提供低費(fèi)用高傳輸速度的無(wú)線網(wǎng)絡(luò)服務(wù)。移動(dòng)商務(wù),移動(dòng)辦公作為無(wú)線網(wǎng)絡(luò)傳輸應(yīng)用的重要分支,將會(huì)廣泛流行。無(wú)線網(wǎng)絡(luò)傳輸程序包括 協(xié)議下的 Web 頁(yè)面數(shù)據(jù)傳輸,基于 UDP 傳輸協(xié)議的數(shù)據(jù)包傳輸,基于套接字連接的數(shù)據(jù)傳輸。在這三種無(wú)線網(wǎng)絡(luò)傳輸基礎(chǔ)上設(shè)計(jì)實(shí)現(xiàn)的手機(jī)程序,將在 3G 廣泛盛行起來(lái)的同時(shí),發(fā)揮出重大作用,提高人們的生活水平和生活質(zhì)量。1.11.1 系統(tǒng)背景系統(tǒng)背景本程序的設(shè)計(jì)實(shí)現(xiàn)了 協(xié)議,UDP 傳輸協(xié)議,套接字傳輸協(xié)議。本作品采用移動(dòng)無(wú)線網(wǎng)絡(luò)傳輸?shù)膱D書(shū)館輔助系統(tǒng)(手機(jī)客戶端)的形式
7、整體實(shí)現(xiàn)了上述協(xié)議,并且具有使用價(jià)值,因?yàn)楝F(xiàn)在移動(dòng)通訊使用的圍已經(jīng)愈來(lái)愈廣泛,移動(dòng)手機(jī)的用戶界面也越來(lái)越友好,移動(dòng)通訊的網(wǎng)絡(luò)傳輸質(zhì)量也越來(lái)越優(yōu)越,所以使用手機(jī)客戶端的形式將用戶從繁瑣的計(jì)算機(jī)使用中解脫出來(lái),使得用戶能在隨時(shí)隨地登入到圖書(shū)館系統(tǒng),進(jìn)行自己期望的操作;而且同時(shí)也使得管理員對(duì)圖書(shū)館的管理越來(lái)越靈活,提高了管理員的能動(dòng)性,加快了對(duì)書(shū)籍的整合和管理的效率。本作品主要采用 J2ME 技術(shù)進(jìn)行設(shè)計(jì)和實(shí)現(xiàn),因?yàn)?UDP 協(xié)議的實(shí)現(xiàn)與套接字傳輸協(xié)議的實(shí)現(xiàn)基本一致,所以在設(shè)計(jì)程序時(shí),考慮到時(shí)間以與程序模塊的因素,將其縮減。1.21.2 開(kāi)發(fā)平臺(tái)開(kāi)發(fā)平臺(tái)本作品的開(kāi)發(fā)平臺(tái)為 Eclipse3.2 +
8、EclipseME1.2.1 + JDK1.6 + Wireless Toolkit 2.5 + Proguard3.6,模擬測(cè)試平臺(tái)為 WTK 模擬器,真機(jī)測(cè)試平臺(tái)為諾基亞 5300。1.2.11.2.1 EclipseEclipseEclipse 是替代 IBM Visual Age for Java(以下簡(jiǎn)稱 IVJ)的下一代 IDE開(kāi)發(fā)環(huán)境,但它未來(lái)的目標(biāo)不僅僅是成為專(zhuān)門(mén)開(kāi)發(fā) JAVA 程序的 IDE 環(huán)境,根據(jù)Eclipse 的體系結(jié)構(gòu),通過(guò)開(kāi)發(fā)插件,它能擴(kuò)展到任何語(yǔ)言的開(kāi)發(fā),甚至能成為圖片繪制的工具。更難能可貴的是 Eclipse 是一個(gè)開(kāi)放源代碼的項(xiàng)目,任何人都可以下載 Ecli
9、pse 的源代碼,并且在此基礎(chǔ)上開(kāi)發(fā)自己的功能插件。也就是說(shuō)未來(lái)只要有人需要,就會(huì)有建立在 Eclipse 之上的 COBOL,Perl,Python等語(yǔ)言的開(kāi)發(fā)插件出現(xiàn)。同時(shí)可以通過(guò)開(kāi)發(fā)新的插件擴(kuò)展現(xiàn)有插件的功能,比2 / 47如在現(xiàn)有的 Java 開(kāi)發(fā)環(huán)境中加入 Tomcat 服務(wù)器插件??梢詿o(wú)限擴(kuò)展,而且有著統(tǒng)一的外觀,操作和系統(tǒng)資源管理,這也正是 Eclipse 的潛力所在。在本項(xiàng)目中,Eclipse 正是通過(guò)第三方插件Eclipse me 實(shí)現(xiàn)了開(kāi)發(fā) J2ME 應(yīng)用。1.2.21.2.2 EclipseEclipse MeMeEclipseME 是幫助你開(kāi)發(fā) J2ME MIDlet
10、的 Eclipse 插件。 EclipseME 幫助你輕松的把無(wú)線工具包整合到 Eclipse 開(kāi)發(fā)環(huán)境中,使你不必再擔(dān)心 J2ME 開(kāi)發(fā)有何特殊需求,而可以把所有精力集中在應(yīng)用開(kāi)發(fā)上。EclipseME 提供了下列功能以幫助開(kāi)發(fā)者輕松的創(chuàng)建 Midlets:無(wú)線工具包首選項(xiàng) 創(chuàng)建新的 J2ME Midlet 套件項(xiàng)目 創(chuàng)建新的 Midlet Java 應(yīng)用描述文件(JAD)編輯器 對(duì) class 文件進(jìn)行增量的/自動(dòng)的預(yù)檢驗(yàn) 支持從 Eclipse 中啟動(dòng)運(yùn)行 J2ME 模擬器 打包以與部署(包括無(wú)線下載方式)測(cè)試,可以使用 ProGuard 對(duì)輸出包進(jìn)行混淆 1.2.31.2.3 Prog
11、uardProguardProguard 是一個(gè)出色的混淆器,用以增加程序被破譯的難度,并可以減小最后生成 jar 的體積,ProGuard,除了在壓縮操作刪除的無(wú)用類(lèi)、字段和方法外,也能在字節(jié)碼級(jí)提供性能優(yōu)化,部方法有:常量表達(dá)式求值刪除不必要的字段存取刪除不必要的方法調(diào)用刪除不必要的分支刪除不必要的比較和 instanceof 驗(yàn)證刪除未使用的代碼刪除只寫(xiě)字段刪除未使用的方法參數(shù)像 push/pop 簡(jiǎn)化一樣的各種各樣的 peephole 優(yōu)化在可能的情況下為類(lèi)添加 static 和 final 修飾符在可能的情況下為方法添加 private, static 和 final 修飾符在可能的
12、情況下使 get/set 方法成為聯(lián)的當(dāng)接口只有一個(gè)實(shí)現(xiàn)類(lèi)的時(shí)候,就取代它選擇性的刪除日志代碼3 / 471.2.41.2.4 TomcatTomcatTomcat 服務(wù)器是一個(gè)免費(fèi)的開(kāi)放源代碼的 Web 應(yīng)用服務(wù)器,Tomcat 是Apache 軟件基金會(huì)(Apache Software Foundation)的 Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,由 Apache、Sun 和其他一些公司與個(gè)人共同開(kāi)發(fā)而成。由于有了Sun 的參與和支持,最新的 Servlet 和 JSP 規(guī)總是能在 Tomcat 中得到體現(xiàn),Tomcat 5 支持最新的 Servlet 2.4 和 JSP 2.0 規(guī)。因
13、為 Tomcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受 Java 愛(ài)好者的喜愛(ài)并得到了部分軟件開(kāi)發(fā)商的認(rèn)可,成為目前比較流行的 Web 應(yīng)用服務(wù)器。Tomcat 是一個(gè)小型的輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問(wèn)用戶不是很多的場(chǎng)合下被普遍使用,是開(kāi)發(fā)和調(diào)試 JSP 程序的首選。對(duì)于一個(gè)初學(xué)者來(lái)說(shuō),可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好 Apache 服務(wù)器,可利用它響應(yīng)對(duì) HTML 頁(yè)面的訪問(wèn)請(qǐng)求。實(shí)際上 Tomcat 部分是 Apache 服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)運(yùn)行 tomcat 時(shí),它實(shí)際上作為一個(gè)與 Apache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。本系統(tǒng)采用 Tomcat 服務(wù)器,因
14、為它運(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與服務(wù)等開(kāi)發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進(jìn)和完善中。手機(jī)客戶端可以通過(guò)與 Tomcat 的訪問(wèn)連接來(lái)實(shí)現(xiàn)各個(gè)模塊功能。1.2.51.2.5 OracleOracle 10g10gOracle Database 10g 提供了 4 個(gè)版本分別是 Oracle Database 10g 標(biāo)準(zhǔn)版 1、Oracle Database 10g 標(biāo)準(zhǔn)版、Oracle Database 10g 企業(yè)版和 Oracle Database 10g 個(gè)人版。提供了一系列常見(jiàn)的應(yīng)用程序開(kāi)發(fā)功能,包括與 SQL 對(duì)象相關(guān)的功能、用于編寫(xiě)存儲(chǔ)過(guò)程和觸發(fā)器的 P
15、L/SQL 語(yǔ)言和 JAVA 編程接口。企業(yè)版還提供了額外的性能、可伸縮性、可用性、和安全性,這些功能一般對(duì)應(yīng)用程序開(kāi)發(fā)人員是透明的。Oracle Database 10g 企業(yè)版主持的API,Oracle Database 10g 個(gè)人版和標(biāo)準(zhǔn)版也支持。Oracle Database 10g 產(chǎn)品全部是用同一個(gè)健壯和可靠地?cái)?shù)據(jù)庫(kù)引擎體系結(jié)構(gòu)構(gòu)建的。在許多不同的平臺(tái)上,Oracle Database 10g 標(biāo)準(zhǔn)版和 Oracle Database 10g 個(gè)人版都和Oracle Database 10g 企業(yè)版完全兼容,因此用戶的數(shù)據(jù)庫(kù)應(yīng)用程序可以從筆記本電腦簡(jiǎn)單地?cái)U(kuò)展到臺(tái)式電腦,然后再擴(kuò)展
16、到整個(gè)企業(yè)網(wǎng)絡(luò),而不需要重新設(shè)計(jì)。1.2.61.2.6 RationalRational RoseRoseRational Rose 是一個(gè)完全的,具有能滿足所有建模環(huán)境需求能力和靈活性的一套解決方案。Rose 允許開(kāi)發(fā)人員,項(xiàng)目經(jīng)理,系統(tǒng)工程師和分析人員在軟件開(kāi)發(fā)周期在將需求和系統(tǒng)的體系架構(gòu)轉(zhuǎn)換成代碼,消除浪費(fèi)的消耗,對(duì)需4 / 47求和系統(tǒng)的體系架構(gòu)進(jìn)行可視化,理解和精練。通過(guò)在軟件開(kāi)發(fā)周期使用同一種建模工具可以確保更快更好的創(chuàng)建滿足客戶需求的可擴(kuò)展的、靈活的并且可靠的應(yīng)用系統(tǒng)。 Rose 是美國(guó)的 Rational 公司的面向?qū)ο蠼9ぞ撸眠@個(gè)工具,可以建立用 UML 描述的軟件系統(tǒng)
17、的模型,而且可以自動(dòng)生成和維護(hù) C+、Java、VB和 Oracle 等語(yǔ)言和系統(tǒng)的代碼。Rational Rose 包括了統(tǒng)模語(yǔ)言(UML) ,OOSE,以與 OMT。本系統(tǒng)采用 Rose 進(jìn)行 UML 用例建模。1.31.3 主要技術(shù)主要技術(shù)本作品分為服務(wù)器端和手機(jī)客戶端兩個(gè)部分,采用 C/S 結(jié)構(gòu)設(shè)計(jì)系統(tǒng),采用 GCF 框架中定義的網(wǎng)絡(luò)連接類(lèi)和方法,制定雙方都能理解的協(xié)議來(lái)交換數(shù)據(jù),前后臺(tái)通過(guò) servlet 進(jìn)行數(shù)據(jù)傳輸與頁(yè)面顯示,整個(gè)系統(tǒng)采用 MVC 模式進(jìn)行模塊劃分,實(shí)現(xiàn)界面和模型數(shù)據(jù)的分離,結(jié)構(gòu)清晰,便于維護(hù)。1.3.11.3.1 J2MEJ2ME 技術(shù)技術(shù)Java 技術(shù)是一系列
18、產(chǎn)品的集合,目前主要包括 Java2 平臺(tái)標(biāo)準(zhǔn)版(Java 2 platform Standard Edition, J2SE) 、Java2 平臺(tái)企業(yè)版(Java 2 platform Enterprise Edition, J2EE) 、Java2 平臺(tái)微型版(Java 2 platform Micro Edition, J2ME)和 Java 卡平臺(tái)。J2ME 為運(yùn)行在嵌入式消費(fèi)類(lèi)電子產(chǎn)品的設(shè)備,如移動(dòng)、PDA、游戲終端之上的應(yīng)用程序提供了一個(gè)健壯的、靈活的環(huán)境。與 J2SE、J2EE 和 Java Card一樣,J2ME 同樣包含一個(gè)小型的虛擬機(jī)和一系列的 Java API。J2ME
19、還提供了靈活的圖形用戶界面、健壯的安全模型、廣泛的聯(lián)網(wǎng)協(xié)議支持。目前 J2ME 平臺(tái)已經(jīng)部署到上億個(gè)的設(shè)備上,前景非??春?。J2ME 平臺(tái)由多種配置(Configuration) 、簡(jiǎn)表(Profile)和可選包(OptionalPackage)組成。平臺(tái)的實(shí)現(xiàn)者和應(yīng)用程序的開(kāi)發(fā)者可以從中選擇并組合出一個(gè)完整的 Java 運(yùn)行環(huán)境來(lái)滿足特定圍的設(shè)備需求。每種組合都應(yīng)該使這一系列設(shè)備的存、處理器和 I/O 能力達(dá)到最優(yōu)化。本系統(tǒng)選擇的配置是 CLDC,選擇的簡(jiǎn)表是 MIPD v2.0.主要原因:CLDC 使用 KVM 虛擬機(jī),面向處理能力較小的移動(dòng)設(shè)備。在類(lèi)的集合方面,只保留了一些基本的必要類(lèi),
20、可我們能夠通過(guò)簡(jiǎn)表進(jìn)行補(bǔ)充。MIPD 是目前 J2ME 平臺(tái)上發(fā)展最成熟、應(yīng)用最廣泛的簡(jiǎn)表,專(zhuān)門(mén)針對(duì)移動(dòng)或者 PDA,MIPD v1.0 版本的功能包括應(yīng)用程序下載、網(wǎng)絡(luò)連接和傳輸、數(shù)據(jù)庫(kù)存儲(chǔ)、計(jì)時(shí)器和用戶界面;MIPD v2.0 版本擴(kuò)展功能包括應(yīng)用下載的計(jì)費(fèi)、網(wǎng)絡(luò)安全傳輸、數(shù)字簽名、域的安全模式、注冊(cè)和音頻處理。目前大多數(shù)移動(dòng)手機(jī)都支持 MIPD v2.0 的簡(jiǎn)表。5 / 471.3.21.3.2 GCFGCF 框架框架GCF(通用連接框架 Generic Connection Framework)是基于 CLDC 與其對(duì)應(yīng)簡(jiǎn)表,提供了各種連接的基礎(chǔ) API,包括基于數(shù)據(jù)包和基于數(shù)據(jù)流的輸
21、入/輸出方法。它按照層次的形式組織各種連接接口,使用 URL 表示不同的連接。通用連接框架定義了 7 種接口:Connection 接口、CintentConnection 接口、DatagramConnection 接口、InputConnection 接口,OutputConnection 接口,StreamConnection 接口和 StreamConnectionNotifier 接口。Connection 接口是所有接口的基類(lèi),它產(chǎn)生了用于數(shù)據(jù)包連接的 DatagramConnection 連接接口、用于數(shù)據(jù)流連接的 InputConnection 接口、OutputConnect
22、ion 接口和StreamConnectionNotifier 接口。其中 StreamConnection 接口繼承自數(shù)據(jù)流連接的輸入/輸出接口,并派生了用于數(shù)據(jù)容解析的 CintentConnection 接口。GCF 是一個(gè)容易擴(kuò)展的框架結(jié)構(gòu),用戶可以根據(jù)自身的需要在現(xiàn)有的類(lèi)和接口上建立自己的類(lèi)或者實(shí)現(xiàn)自己的接口。1.3.31.3.3 RSMRSMRMS(記錄管理系統(tǒng) Record Management System)類(lèi)似于普通計(jì)算機(jī)的文件管理系統(tǒng)。在手持電子設(shè)備中,用以統(tǒng)一的機(jī)制管理持續(xù)性存儲(chǔ)資源。記錄管理系統(tǒng)具有數(shù)據(jù)庫(kù)管理系統(tǒng)的特征,即記錄管理系統(tǒng)組織數(shù)據(jù)是按照行列的方式進(jìn)行組織的,
23、每條信息在記錄管理系統(tǒng)中都表現(xiàn)為一條記錄,類(lèi)似于數(shù)據(jù)庫(kù)一行,每一條記錄可以包含多個(gè)數(shù)據(jù),類(lèi)似于數(shù)據(jù)庫(kù)某一行中的多列。我們可以通過(guò)添加記錄的方式將數(shù)據(jù)持久地保存在記錄管理系統(tǒng)中;通過(guò)刪除記錄的方式刪除信息;同時(shí)記錄管理系統(tǒng)還允許為你們對(duì)記錄進(jìn)行排序和查找。記錄管理系統(tǒng)允許以下操作:創(chuàng)建記錄存儲(chǔ)器;在已建立的記錄存儲(chǔ)器中添加記錄;在已建立的記錄存儲(chǔ)器中刪除已經(jīng)存在的記錄;在已建立的記錄存儲(chǔ)器中讀取已經(jīng)存在的記錄;在已建立的記錄存儲(chǔ)器中建立枚舉器;在已建立的記錄存儲(chǔ)器中建立比較器;在已建立的記錄存儲(chǔ)器中建立篩選去。1.3.41.3.4 MVCMVCMVC 是一種設(shè)計(jì)模式,強(qiáng)制把應(yīng)用程序的輸入、處理和
24、輸出分開(kāi)。MVC 把應(yīng)用程序分為三個(gè)核心模塊:模型、視圖和控制器,他們分別負(fù)擔(dān)不同的任務(wù)。盡管構(gòu)造 MVC 應(yīng)用程序需要一些額外的操作,但是給我們帶來(lái)的好處是毋庸置疑的。6 / 47首先,多個(gè)視圖能共享一個(gè)模型。在 MVC 設(shè)計(jì)模式中,模型響應(yīng)用戶請(qǐng)求并返回響應(yīng)數(shù)據(jù),視圖負(fù)責(zé)格式化數(shù)據(jù)并把它們呈現(xiàn)給用戶,業(yè)務(wù)邏輯和表示層分離,同一個(gè)模型可以被不同的視圖重同,所以大大提高了代碼的可重用性。其次,模型是自包含的,與控制器和視圖保持相對(duì)獨(dú)立,所以可以方便地改變應(yīng)用程序的數(shù)據(jù)層和業(yè)務(wù)規(guī)則。由于 MVC 的三個(gè)模塊相互獨(dú)立,改變其中一個(gè)不會(huì)影響到其他兩個(gè),因此依據(jù)這種設(shè)計(jì)思想能構(gòu)造良好的松耦合的構(gòu)件。此
25、外,控制器提高了應(yīng)用程序的靈活性和可配置性。控制器可以用來(lái)連接不同的模型和視圖去完成用戶的需求,也可以為構(gòu)造應(yīng)用程序提供強(qiáng)有力的手段。給定一些可重用的模型和視圖,控制器可以根據(jù)用戶的需求選擇適當(dāng)?shù)哪P瓦M(jìn)行處理,然后選擇適當(dāng)?shù)囊晥D將處理結(jié)果顯示給用戶。1.3.51.3.5 JavabeanJavabean 技術(shù)技術(shù)JavaBeans 是一個(gè)類(lèi),它有無(wú)參的構(gòu)造函數(shù),并且遵從 JavaBeans 的命名約定。bean 的屬性可以通過(guò)獲取(getter)方法和設(shè)置方法(setter)來(lái)訪問(wèn),這兩個(gè)方法統(tǒng)稱為 bena 的存取方法,每一個(gè)單詞的首字母都要大寫(xiě)。除了簡(jiǎn)單的屬性外,bean 還可以有多值屬性
26、,多值屬性是由一個(gè)任意類(lèi)型的數(shù)組組成。在規(guī)中這稱為索引的屬性。JavaBeans 技術(shù)能實(shí)現(xiàn)封裝數(shù)據(jù),實(shí)現(xiàn)對(duì)代碼的重用。JavaBeans 技術(shù),涉與到組件構(gòu)件技術(shù),是 Java 的核心基礎(chǔ)部分。很多軟件設(shè)計(jì)模式都是通過(guò)JavaBeans 實(shí)現(xiàn)的。JavaBeans 具有以下特性:透性指一個(gè)類(lèi)的信息,都可以被另一個(gè)類(lèi)獲知。JavaBeans 遵循某種命名規(guī)則,這樣外部類(lèi)就可以知道這個(gè) Bean 類(lèi)。支持自定義屬性的方法用來(lái)對(duì) JavaBeans 進(jìn)行自定義支持事件支持屬性支持永久性1.3.61.3.6 JavaJava ServletServlet 技術(shù)技術(shù)Servlet 是與平臺(tái)無(wú)關(guān)的服務(wù)器
27、端組件,可以運(yùn)行在 Servlet 容器中。Servlet 容器負(fù)責(zé) Servlet 和客戶的通信以與調(diào)用 Servlet 的方法。Servlet 和客戶的通信采用“請(qǐng)求/響應(yīng)”的模式。Servlet 的框架是有兩個(gè) JAVA 包組成的javax.servlet 和java.servlet. 。在 javax.servelt 包中定義了所有的 Servlet 類(lèi)都必須實(shí)現(xiàn)或擴(kuò)展的通訊接口和類(lèi)。在 javax.servlet. .包中定義了采用 協(xié)議7 / 47通信的 HtttpServlet 類(lèi)。Servlet 的技術(shù)特點(diǎn)有以下幾個(gè)方面:Java servlet 技術(shù)具有 JAVA 技術(shù)的所有
28、優(yōu)點(diǎn)。Java servlet 技術(shù)要比傳統(tǒng)的 CGI 技術(shù)效率更高。傳統(tǒng)的 GCI 技術(shù)對(duì)于每個(gè) 請(qǐng)求都要產(chǎn)生一個(gè)新進(jìn)程。Servlet 技術(shù)對(duì)于每一個(gè)請(qǐng)求產(chǎn)生 Java 線程來(lái)響應(yīng)。Java servlet 技術(shù)要比傳統(tǒng)的 CGI 技術(shù)更強(qiáng)大。Java servlet 能方便的處理 HTML 表單數(shù)據(jù),能夠讀取和設(shè)置 頭信息,并且能夠處理Cookies,跟蹤 Session 等其他功能。Java servlet 是模塊化的。每一個(gè) Servlet 可以執(zhí)行一個(gè)特定的任務(wù),并且可以講他們并在一起工作。Java servlet 之間能共享數(shù)據(jù)。Java servlet 技術(shù)要比傳統(tǒng) CGI 技
29、術(shù)更安全。1.3.71.3.7 JavaJava socketsocket 技術(shù)技術(shù)Socket 通常也稱作套接字,用于描述 IP 地址和端口,是一個(gè)通信鏈的句柄。應(yīng)用程序通常通過(guò)套接字向網(wǎng)絡(luò)發(fā)出請(qǐng)求或者應(yīng)答網(wǎng)絡(luò)請(qǐng)求。Socket是網(wǎng)絡(luò)應(yīng)用程序的核心,在服務(wù)器端或客戶端網(wǎng)絡(luò)應(yīng)用程序中,皆為不可缺少的要素。它主要包括 ServerSocket 和 Socket。ServerSocket 用于服務(wù)器端,Socket 是建立網(wǎng)絡(luò)連接時(shí)使用的。在連接成功時(shí),應(yīng)用程序兩端都會(huì)產(chǎn)生一個(gè) Socket 實(shí)例,操作這個(gè)實(shí)例,完成所需的會(huì)話。對(duì)于一個(gè)網(wǎng)絡(luò)連接來(lái)說(shuō), 套接字是平等的,并沒(méi)有差別,不因?yàn)樵诜?wù)器端或
30、在客戶端而產(chǎn)生不同級(jí)別。不管是 Socket 還是 ServerSocket 它們的工作都是通過(guò) SocketImpl 類(lèi)與其子類(lèi)完成的。1.41.4 術(shù)語(yǔ)與縮寫(xiě)解釋術(shù)語(yǔ)與縮寫(xiě)解釋KVM:全稱 Kilobyte Virtual Machine,J2ME 虛擬機(jī);IDE:全稱 Integrated Development Environment,集成開(kāi)發(fā)環(huán)境;WTK: 全稱 Wireless Toolkit,是 Sun 公司發(fā)布的 J2ME 應(yīng)用開(kāi)發(fā)套件;MIDlet:一個(gè) MIDP 應(yīng)用程序稱作 MIDletMIDP 小應(yīng)用程序,這個(gè)概念與 J2SE 中的 applet 十分類(lèi)似;APIApp
31、lication Programming Interface 應(yīng)用程序編程接口;MIDPMobile Information Device Profile 移動(dòng)信息設(shè)備簡(jiǎn)表;CLDCConnected Limited Device Configuration 有限無(wú)線設(shè)備配置;UIUser Interface 用戶界面;Hypertext Transfer Protocol 超文本傳輸協(xié)議;8 / 47UDPUser Datagram Protocol 用戶數(shù)據(jù)報(bào)協(xié)議;Socket套接字,用于描述 IP 地址和端口,是一個(gè)通信鏈的句柄。2 2需求分析與項(xiàng)目方案需求分析與項(xiàng)目方案2.12.1 目
32、標(biāo)目標(biāo)基于無(wú)線網(wǎng)絡(luò)傳輸?shù)膱D書(shū)館輔助系統(tǒng)(手機(jī)客戶端)使用 C/S 結(jié)構(gòu),實(shí)現(xiàn)無(wú)線網(wǎng)絡(luò)傳輸下的 協(xié)議和套接字協(xié)議進(jìn)行數(shù)據(jù)傳輸。系統(tǒng)分為服務(wù)器端和手機(jī)客戶端兩個(gè)部分,其中服務(wù)器端提供模擬學(xué)校網(wǎng)上圖書(shū)館功能,提供數(shù)據(jù)存儲(chǔ)的服務(wù)器終端。手機(jī)客戶端包括讀者登入和管理員登入兩個(gè)模塊,讀者用戶可以進(jìn)行借閱書(shū)籍基本信息查看,書(shū)刊續(xù)借,密碼修改,書(shū)刊信息查詢,書(shū)刊增訂;管理員用戶可以進(jìn)行書(shū)籍信息修改,個(gè)人信息查詢。還設(shè)置書(shū)籍討論區(qū)公共模塊,管理員用戶和讀者用戶可以進(jìn)行書(shū)籍的交互討論。2.22.2 假定和約束假定和約束本系統(tǒng)軟件是在模擬器上模擬實(shí)現(xiàn)輔助圖書(shū)館的管理的客戶端軟件,因?yàn)槭褂谜呤窃撔W(xué)生或者老師,所以學(xué)
33、校已經(jīng)分配給每個(gè)用戶以用戶名和密碼,所以沒(méi)有設(shè)置用戶注冊(cè)模塊;此外,本系統(tǒng)主要實(shí)現(xiàn)手機(jī)客戶端與后臺(tái)服務(wù)器之間的數(shù)據(jù)傳輸,提供了模擬的服務(wù)接口,所以服務(wù)器端數(shù)據(jù)庫(kù)設(shè)計(jì)為個(gè)人理想狀態(tài)下設(shè)計(jì),忽略了繁瑣的數(shù)據(jù)訪問(wèn)機(jī)制;最后由于是手機(jī)客戶端難免受到手機(jī)軟硬件的限制,將重點(diǎn)放在實(shí)現(xiàn)系統(tǒng)功能以與界面設(shè)計(jì)方面,降低了物理層的無(wú)線承載能力的要求。2.32.3 需求規(guī)定需求規(guī)定2.3.12.3.1 對(duì)新能的規(guī)定對(duì)新能的規(guī)定對(duì)精度的規(guī)定:用戶應(yīng)按照界面提示輸入數(shù)據(jù),后臺(tái)代碼提供了對(duì)數(shù)據(jù)精度出錯(cuò)提供了一定得處理功能。時(shí)間性要求:對(duì)于一般的頁(yè)面操作,延時(shí)可忽略不計(jì)。但如果涉與網(wǎng)絡(luò)數(shù)據(jù)請(qǐng)求、傳輸,或者用戶進(jìn)行的操作相當(dāng)
34、耗費(fèi) CPU 的時(shí)候,延時(shí)會(huì)很明顯。如果某項(xiàng)操作耗費(fèi)時(shí)間已經(jīng)超過(guò) 1 分鐘還沒(méi)結(jié)束,用戶應(yīng)自行決定放棄此操作或退出本軟件。靈活性要求:系統(tǒng)采用視圖、模型、控制器分離設(shè)計(jì),增加了系統(tǒng)訪問(wèn)的靈活性和可理解性,更方便了系統(tǒng)后天的維護(hù),通過(guò)增加系統(tǒng)的通訊協(xié)議可快速對(duì)系統(tǒng)進(jìn)行功能增加。2.3.22.3.2 對(duì)性能的規(guī)定對(duì)性能的規(guī)定本系統(tǒng)具體功能需求如表 1-1 所示:9 / 47表 1-1 功能需求表序號(hào)模塊名稱功能名稱簡(jiǎn)要描述書(shū)刊檢索用戶輸入期望查詢的書(shū)籍名稱,若有館藏書(shū)籍,將返回書(shū)籍列表,選擇書(shū)籍目錄,可以查詢相應(yīng)書(shū)籍的基本信息;若沒(méi)有館藏書(shū)籍,用戶可以選擇“書(shū)刊增訂” ,輸入書(shū)籍名稱,就可以將期望
35、增訂的書(shū)籍提交給管理員,管理員就可以根據(jù)需求增加書(shū)籍。讀者信息查詢用戶可以查詢個(gè)人基本信息;可以查詢個(gè)人借閱書(shū)籍列表,若所借書(shū)籍還在借閱期,可以點(diǎn)擊“續(xù)借” ,向圖書(shū)館續(xù)借該書(shū)籍,若所借書(shū)籍即將到期,用戶還可以選擇該書(shū)籍,然后添加到期鬧鈴提示密碼修改用戶可以通過(guò)手機(jī)客戶端修改圖書(shū)館登入密碼書(shū)籍討論區(qū)用戶登入到書(shū)籍討論區(qū)后,就可以和在線的讀者對(duì)書(shū)籍進(jìn)行討論,發(fā)表個(gè)人意見(jiàn),還可以和個(gè)別讀者單獨(dú)交流心得,或者向在線的管理人員提出意見(jiàn)或建議。新書(shū)發(fā)布讀者可以通過(guò)輸入查詢?nèi)掌?,進(jìn)行查詢?cè)撎靾D書(shū)館所新增加的書(shū)籍,查詢自己新增訂書(shū)籍是否上架幫助提示讀者用戶使用該手機(jī)客戶端的注意事項(xiàng)與幫助1讀者模塊退出讀者用
36、戶安全退出該系統(tǒng)書(shū)籍信息修改管理員可以查詢讀者的書(shū)刊增訂信息,可以在新書(shū)發(fā)布選項(xiàng)中將新書(shū)名稱通過(guò)本系統(tǒng)發(fā)布出來(lái);也可以通過(guò)舊書(shū)刪除選項(xiàng)將過(guò)期或者下架書(shū)籍從圖書(shū)館數(shù)據(jù)庫(kù)中刪除。密碼修改管理員可以通過(guò)手機(jī)客戶端修改圖書(shū)館登入密碼書(shū)籍討論區(qū)管理員登入到書(shū)籍討論區(qū)后,就可以接受在線讀者的質(zhì)詢,回答問(wèn)題,或者突發(fā)事件的發(fā)布幫助提示管理員用戶使用該手機(jī)客戶端的注意事項(xiàng)與幫助2管理員模塊退出管理員用戶安全退出該系統(tǒng)2.3.32.3.3 輸入輸出要求輸入輸出要求阿拉伯?dāng)?shù)字均為十進(jìn)制無(wú)正負(fù);索引號(hào)更具規(guī)定的 ISBN 編號(hào)設(shè)置;日期格式為:yy-mm-dd2.42.4 數(shù)據(jù)結(jié)構(gòu)與表的定義數(shù)據(jù)結(jié)構(gòu)與表的定義數(shù)據(jù)庫(kù)
37、表格定義了系統(tǒng)服務(wù)器端所用到的基本數(shù)據(jù)表,詳細(xì)描述了數(shù)據(jù)表中的字段、類(lèi)型、約束條件、說(shuō)明等信息,如下表所示:表 1-2 表 book 的結(jié)構(gòu)字段名數(shù)據(jù)類(lèi)型(精度圍)長(zhǎng)度空/非空缺省約束條件說(shuō) 明indexidVarchar220非空主鍵書(shū)籍的 ISBN 索引號(hào)booknameVarchar220書(shū)籍名稱authorVarchar220作者publisherVarchar220出版商pudateVarchar220出版日期stateVarchar220inlib書(shū)籍狀態(tài),是否借閱(inlib/borrow)10 / 47returndateVarchar220歸還日期表 1-3 表 libuse
38、r 的結(jié)構(gòu)字段名數(shù)據(jù)類(lèi)型(精度圍)長(zhǎng)度空/非空缺省約束條件說(shuō) 明LibuidVarchar220非空主鍵讀者 IDpwdVarchar220外鍵讀者密碼表 1-4 表 borrowsituation 的結(jié)構(gòu)字段名數(shù)據(jù)類(lèi)型(精度圍)長(zhǎng)度空/非空缺省約束條件說(shuō) 明indexidVarchar220非空主鍵書(shū)籍的 ISBN 索引號(hào)libuidVarchar220非空主鍵用戶 IDreturndateVarchar220歸還日期returnstateVarchar220空續(xù)借狀態(tài),是否可以續(xù)借(ag/null)表 1-5 表 manuser 的結(jié)構(gòu)字段名數(shù)據(jù)類(lèi)型(精度圍)長(zhǎng)度空/非空缺省約束條件說(shuō) 明
39、libuidVarchar220非空主鍵管理員 IDpwdVarchar220外鍵管理員密碼表 1-6 表 needbook 的結(jié)構(gòu)字段名數(shù)據(jù)類(lèi)型(精度圍)長(zhǎng)度空/非空缺省約束條件說(shuō) 明BooknameVarchar220非空主鍵預(yù)定書(shū)籍名稱AuthorVarchar220預(yù)定書(shū)籍作者PublisherVarchar220預(yù)定書(shū)籍表 1-7 表 newbook 的結(jié)構(gòu)字段名數(shù)據(jù)類(lèi)型(精度圍)長(zhǎng)度空/非空缺省約束條件說(shuō) 明BooknameVarchar220非空主鍵新增書(shū)籍名稱AuthorVarchar220新增書(shū)籍作者PublisherVarchar220新增書(shū)籍NewdateDate新增書(shū)籍
40、日期網(wǎng)絡(luò)通訊協(xié)議是客戶端和服務(wù)器端交互數(shù)據(jù)的基礎(chǔ),主要由動(dòng)作和數(shù)據(jù)組成,動(dòng)作定義如下表所示:表 1-8 表網(wǎng)絡(luò)通訊請(qǐng)求動(dòng)作請(qǐng)求動(dòng)作動(dòng)作名稱描述CHANGE_PWD讀者用戶修改密碼請(qǐng)求SEARCH_BOOK讀者用戶查詢書(shū)籍請(qǐng)求LOGIN讀者用戶登入請(qǐng)求11 / 47MAN_LOGIN管理員用戶登入請(qǐng)求表 1-8 表網(wǎng)絡(luò)通訊請(qǐng)求動(dòng)作(續(xù))NEEDBOOK讀者用戶預(yù)訂書(shū)籍請(qǐng)求SHOW_MAN_NOTICEBOOK管理員用戶查詢預(yù)訂書(shū)籍請(qǐng)求MAN_DELL_NEEDBOOK管理員用戶刪除預(yù)訂書(shū)籍信息請(qǐng)求CHANGE_MANPWD管理員用戶修改密碼請(qǐng)求DELBOOK管理員用戶刪除書(shū)籍基本信息請(qǐng)求NEWB
41、OOK讀者用戶查詢新增書(shū)籍信息請(qǐng)求GOON_BORROWBOOK讀者續(xù)借書(shū)籍請(qǐng)求ADDBOOK管理員用戶添加書(shū)籍請(qǐng)求表 1-9 表網(wǎng)絡(luò)通訊響應(yīng)動(dòng)作響應(yīng)動(dòng)作動(dòng)作名稱描述CHANGEPWD_NO_USER讀者用戶修改密碼時(shí),提交用戶名不存在CHANGEPWD_ERROR_PWD讀者用戶修改密碼時(shí),提交原始密碼錯(cuò)誤CHANGEPWD_SUCCESS讀者用戶修改密碼成功CHANGEPWD_FAIL讀者用戶修改密碼失敗LOGIN_ERROR_PWD讀者用戶登入時(shí),密碼錯(cuò)誤LOGIN_NO_USER讀者用戶登入時(shí),提交用戶名不存在LOGIN_SUCCESS_NO_BOOK讀者用戶登入時(shí),登入成功但沒(méi)有借閱
42、書(shū)籍信息LOGIN_SUCCESS_HAS_BOOK讀者用戶登入時(shí),登入成功并有借閱書(shū)籍信息SEARCH_FAIL讀者用戶查詢書(shū)籍信息失敗SEARCH_NO_BOOK讀者用戶查詢書(shū)籍時(shí),沒(méi)有滿足條件的書(shū)籍信息SEARCH_HAS_BOOK讀者用戶查詢書(shū)籍時(shí),查詢到滿足條件的書(shū)籍MAN_LOGIN_SUCCESS管理員用戶登入成功信息MAN_LOGIN_ERROR_PWD管理員登入時(shí),密碼錯(cuò)誤MAN_LOGIN_NO_USER管理員登入時(shí),提交用戶名不存在MAN_SUCCESS_UPDATE_BOOK管理員更新書(shū)籍信息時(shí),成功MAN_ERROR_UPDATE_BOOK管理員更新書(shū)籍信息時(shí),失敗S
43、UCCESS_NEED_BOOK讀者用戶提交預(yù)定書(shū)籍信息時(shí),成功ERROR_NEED_BOOK讀者用戶提交預(yù)定書(shū)籍信息時(shí),失敗MAN_HAS_NEEDBOOK管理員用戶查詢預(yù)訂書(shū)籍信息時(shí),有預(yù)定書(shū)籍信息MAN_NO_NEEDBOOK管理員用戶查詢預(yù)訂書(shū)籍信息時(shí),無(wú)預(yù)定書(shū)籍信息MAN_SUCCESS_DELLNEEDBOOK管理員刪除預(yù)定書(shū)籍信息時(shí),成功MAN_ERROR_DELLNEEDBOOK管理員刪除預(yù)定書(shū)籍信息時(shí),失敗MAN_CHANGEPWD_SUCCESS管理員修改密碼時(shí),成功MAN_CHANGEPWD_FAIL管理員修改密碼時(shí),失敗MAN_CHANGEPWD_ERROR_PWD管理
44、員修改密碼時(shí),提交的原始密碼錯(cuò)誤MAN_CHANGEPWD_NO_USER管理員修改密碼時(shí),提交的用戶名不存在MAN_SUCCESS_DELLBOOK管理員刪除舊書(shū)信息時(shí),成功MAN_ERROR_DELLBOOK管理員刪除舊書(shū)信息時(shí),失敗MAN_ERROR_STATEBOOK管理員刪除舊書(shū)信息時(shí),書(shū)本借出,不能刪除MAN_NO_HASBOOK管理員刪除舊書(shū)信息時(shí),沒(méi)有該書(shū)籍信息GOON_SUCCESS_BORROWBOOK讀者續(xù)借書(shū)籍時(shí),成功GOON_ERROR_BORROWBOOK讀者續(xù)借書(shū)籍時(shí),失敗ERRPR_STATE_BORROWBOOK讀者續(xù)借書(shū)籍時(shí),該書(shū)已經(jīng)續(xù)借過(guò),不能續(xù)借HAS_
45、NEWBOOK讀者查詢新增書(shū)籍時(shí),有新該日增書(shū)籍信息NO_NEWBOOK讀者查詢新增書(shū)籍時(shí),沒(méi)有該日新增書(shū)籍GOON_SUCCESS_BORROWBOOK讀者續(xù)借書(shū)籍時(shí),成功GOON_ERROR_BORROWBOOK讀者續(xù)借書(shū)籍時(shí),失敗ERRPR_STATE_BORROWBOOK讀者續(xù)借書(shū)籍時(shí),該書(shū)已經(jīng)續(xù)借過(guò),不能續(xù)借HAS_NEWBOOK讀者查詢新增書(shū)籍時(shí),有新該日增書(shū)籍信息NO_NEWBOOK讀者查詢新增書(shū)籍時(shí),沒(méi)有該日新增書(shū)籍12 / 47界面控制器部定義的協(xié)議實(shí)現(xiàn)了界面中的跳轉(zhuǎn)以與和網(wǎng)絡(luò)連接控制器之間的請(qǐng)求。請(qǐng)求協(xié)議定義如下表所示:表 1-10 表頁(yè)面顯示請(qǐng)求頁(yè)面顯示請(qǐng)求動(dòng)作名稱描述S
46、HOW_LOGIN請(qǐng)求顯示讀者登入頁(yè)面SHOW_CHANGE_PWD請(qǐng)求顯示讀者修改密碼頁(yè)面SHOW_SEARCH_BOOK請(qǐng)求顯示讀者查詢書(shū)籍信息頁(yè)面SHOW_NEWBOOK請(qǐng)求顯示查詢新增書(shū)籍頁(yè)面SHOW_TALKPAGE請(qǐng)求顯示書(shū)籍討論區(qū)歡迎界面SHOW_USERWEL請(qǐng)求顯示讀者歡迎界面SHOW_MANAGERWEL請(qǐng)求顯示管理員歡迎界面SHOW_MAN_LOGIN請(qǐng)求顯示管理員登入界面SHOW_CHANGE_MANPWD請(qǐng)求顯示管理員密碼修改界面SHOW_MANTALK請(qǐng)求顯示管理員登入書(shū)籍討論區(qū)歡迎界面SHOW_MAN_HELP請(qǐng)求顯示管理員幫助界面SHOW_MAN_ADDBOOK
47、請(qǐng)求顯示管理員新增書(shū)籍界面SHOW_MAN_DELBOOK請(qǐng)求顯示管理員刪除舊書(shū)界面SHOW_MAN_NOTICEBOOK請(qǐng)求顯示查詢預(yù)訂書(shū)籍界面SHOW_HELP請(qǐng)求顯示讀者幫助界面表 1-11 表頁(yè)面導(dǎo)航請(qǐng)求頁(yè)面導(dǎo)航請(qǐng)求動(dòng)作名稱描述HELP_BACKTO_MAINMENU請(qǐng)求從讀者幫助界面返回讀者歡迎界面EXIT請(qǐng)求退出系統(tǒng)LOGIN_BACKTO_MAINNENU請(qǐng)求從讀者登入界面返回讀者歡迎界面LOGIN請(qǐng)求網(wǎng)絡(luò)控制器建立讀者登入連接CHANGE_PWD請(qǐng)求網(wǎng)絡(luò)控制器建立讀者密碼修改連接SEARCH_BOOK請(qǐng)求網(wǎng)絡(luò)控制器建立讀者書(shū)籍查詢連接CHANGE_PWD_BACKTO_MAIN
48、MENU請(qǐng)求從讀者密碼修改界面返回讀者歡迎界面SEARCH_BOOK_BACKTO_MAINMENU請(qǐng)求從讀者書(shū)籍查詢界面返回讀者歡迎界面LOGIN_SUCCESS_NO_BOOK接受網(wǎng)絡(luò)控制器返回讀者登入成功沒(méi)有借閱書(shū)籍導(dǎo)航界面LOGIN_SUCCESS_HAS_BOOK接受網(wǎng)絡(luò)控制器返回讀者登入成功有借閱書(shū)籍信息導(dǎo)航界面SHOW_USER_BOOK接受網(wǎng)絡(luò)控制器請(qǐng)求顯示讀者借閱書(shū)籍信息界面SHOW_EACH_BOOK接受網(wǎng)絡(luò)控制器請(qǐng)求顯示讀者所查詢書(shū)籍基本信息界面TALKPAGE_BACKTO_MAINMENU請(qǐng)求從讀者書(shū)籍討論區(qū)返回讀者歡迎界面TALKPAGE請(qǐng)求網(wǎng)絡(luò)控制器建立讀者書(shū)籍討
49、論區(qū)連接,顯示討論區(qū)歡迎界面CHAT_BACKTO_TALKPAGE請(qǐng)求從聊天界面返回讀者書(shū)籍討論區(qū)歡迎界面SEND_NESSAGE請(qǐng)求網(wǎng)絡(luò)控制器發(fā)送讀者聊天信息界面CHOOSE_PRIVATENAME設(shè)置私聊對(duì)象CHOOSE_BACKTO_CHATPAGE請(qǐng)求從私聊界面返回聊天界面SHOW_PRIVATETALK請(qǐng)求顯示私聊對(duì)象界面MAN_LOGIN請(qǐng)求網(wǎng)絡(luò)控制器建立管理員登入連接MANLOGIN_BACKTO_MAINNENU請(qǐng)求從管理員登入界面返回管理員歡迎界面MAN_LOGIN_SUCCESS接受網(wǎng)絡(luò)控制器返回管理員登入成功信息,顯示提示界面ADDBOOK_BACKTO_UPDATEM
50、ENU請(qǐng)求從管理員添加書(shū)籍界面返回書(shū)籍信息修改界面ADDBOOK請(qǐng)求網(wǎng)絡(luò)控制器建立添加書(shū)籍基本信息連接NEEDBOOK_BACKTO_MAINNENU請(qǐng)求從添加預(yù)訂書(shū)籍信息界面返回讀者歡迎界面13 / 47表 1-11 表頁(yè)面導(dǎo)航請(qǐng)求(續(xù))NEEDBOOK請(qǐng)求網(wǎng)絡(luò)控制器建立查詢預(yù)訂書(shū)籍基本信息連接MANNEED_BACKTO_UPDATEMENU請(qǐng)求從查詢預(yù)訂書(shū)籍界面返回書(shū)籍信息修改界面SHOW_MAN_NEEDBOOK接受網(wǎng)絡(luò)控制器請(qǐng)求顯示管理員查詢預(yù)訂書(shū)籍基本信息界面MAN_DELL_NEEDBOOK請(qǐng)求網(wǎng)絡(luò)控制器建立刪除預(yù)訂書(shū)籍基本信息TALKPAGE_BACKTO_MANMAINMEN
51、U請(qǐng)求從書(shū)籍討論區(qū)歡迎界面返回管理員歡迎界面MAN_TALKPAGE請(qǐng)求網(wǎng)絡(luò)控制器建立書(shū)籍討論區(qū)連接,并顯示書(shū)籍討論區(qū)歡迎界面CHAT_BACKTO_MANTALKPAGE請(qǐng)求從聊天界面返回管理員書(shū)籍討論區(qū)歡迎界面CHANGE_PWD_BACKTO_MANMAINMENU請(qǐng)求從密碼修改界面返回管理員歡迎界面CHANGE_MANPWD請(qǐng)求網(wǎng)絡(luò)連接控制器建立管理員修改密碼連接DELBOOK_BACKTO_UPDATEMENU請(qǐng)求從刪除書(shū)籍信息界面返回書(shū)籍信息修改界面DELBOOK請(qǐng)求網(wǎng)絡(luò)控制器建立刪除書(shū)籍基本信息GOON_BORROWBOOK請(qǐng)求網(wǎng)絡(luò)控制器建立讀者續(xù)借書(shū)籍連接NEW_BACKTO_
52、MAINMENU請(qǐng)求從讀者查詢新增書(shū)籍界面返回讀者歡迎界面NEWBOOK請(qǐng)求網(wǎng)絡(luò)控制器建立查詢新增書(shū)籍基本信息連接SHOW_NEWBOOK_DETAIL接受網(wǎng)絡(luò)控制器請(qǐng)求顯示讀者查詢新增書(shū)籍基本信息界面在書(shū)籍討論區(qū)模塊中,客戶端和服務(wù)器端連接是采用如下表通訊協(xié)議格式進(jìn)行信息傳遞和解析;表 1-12 表書(shū)籍討論區(qū)協(xié)議動(dòng)作格式登入聊天室:(C-S) 和 接收登入信息:(S-C)UserName登出聊天室:(C-S) 和 接收登出信息:(S-C)UserName標(biāo)準(zhǔn)聊天信息:(C-S & S-C)Public/PrivateSenderNameReceiverName/AllContent出錯(cuò)信息:
53、(S-C)1/2/3用戶列表信息:(S-C 用戶登陸時(shí)自服務(wù)器收到)User1User2UserN2.52.5 運(yùn)行環(huán)境規(guī)定運(yùn)行環(huán)境規(guī)定2.5.12.5.1 設(shè)備設(shè)備本軟件目標(biāo)運(yùn)行平臺(tái)為所有支持 CLDC1.1、MIDP2.0,屏幕分辨率不小于200200 的手機(jī)設(shè)備(包括 Palm ,Blackberry 或者其他 PDA),并要求在各型號(hào)手機(jī)上均有良好的兼容性。存堆棧1M Byte。2.5.22.5.2 支持軟件支持軟件開(kāi)發(fā)包:windows xp sp2 下的 WTK。開(kāi)發(fā)工具:Eclipse 3.2+ Eclipse me 1.2.1。14 / 473 3項(xiàng)目設(shè)計(jì)與開(kāi)發(fā)項(xiàng)目設(shè)計(jì)與開(kāi)發(fā)3
54、.13.1 整體框架整體框架3.1.13.1.1 系統(tǒng)總體結(jié)構(gòu)圖系統(tǒng)總體結(jié)構(gòu)圖讀者登入書(shū)刊檢索讀者信息查詢公告查詢討論區(qū)幫助退出書(shū)刊信息查詢書(shū)刊增訂密碼修改新書(shū)發(fā)布書(shū)籍討論鬧鈴提示書(shū)刊續(xù)借書(shū)刊借閱圖 1-1 讀者客戶端系統(tǒng)結(jié)構(gòu)圖管理員登入管理員信息查詢書(shū)籍信息修改討論區(qū)幫助退出舊書(shū)刪除密碼修改新書(shū)發(fā)布增訂信息書(shū)籍討論圖 1-2 管理員客戶端系統(tǒng)結(jié)構(gòu)圖15 / 473.1.23.1.2 系統(tǒng)總體流程圖系統(tǒng)總體流程圖手機(jī)客戶端用戶初始化本軟件后,選擇用戶登入類(lèi)型,轉(zhuǎn)入響應(yīng)該用戶歡迎界面,用戶用圖書(shū)館分配的初始密碼登入成功后。進(jìn)入菜單界面,選擇響應(yīng)操作,客戶端收到用戶發(fā)來(lái)的界面請(qǐng)求,向服務(wù)器端發(fā)送用
55、戶請(qǐng)求操作的命令,得到服務(wù)器端發(fā)送回來(lái)的數(shù)據(jù)后,在客戶端顯示頁(yè)面或者提示,用戶則進(jìn)行后續(xù)操作,如果操作結(jié)束,用戶可以選擇退出。具體執(zhí)行過(guò)程如圖 1-3 所示:開(kāi)始?xì)g迎界面用戶類(lèi)型選擇讀者用戶界面管理員用戶界面相應(yīng)操作登入退出相應(yīng)操作登入操作完成操作完成結(jié)束是否操作完成是否操作完成登入信息提示登入信息提示繼續(xù)操作操作相應(yīng)提示操作相應(yīng)提示繼續(xù)操作重新登入重新登入選擇新操作選擇新操作圖 1-3 系統(tǒng)總體流程圖3.23.2 程序核心功能程序核心功能3.2.13.2.1 讀者信息查詢(借閱查詢)讀者信息查詢(借閱查詢)1.模塊描述:用戶使用該系統(tǒng)時(shí),選擇讀者用戶身份初始化后,在歡迎菜單中選中“讀者信息”
56、選項(xiàng),將來(lái)到讀者信息查詢界面,在讀者登入后,系統(tǒng)將提示進(jìn)行網(wǎng)絡(luò)連接,將提示用戶借閱幾本書(shū)籍,建立連接后,服務(wù)器端將返回該讀者用戶借閱書(shū)籍的列表信息,用戶選中書(shū)籍后點(diǎn)擊“設(shè)置” ,系統(tǒng)將顯示該本書(shū)籍的具體信息,用戶可以在界面中給該本書(shū)籍設(shè)置鬧鐘提示時(shí)間,或者點(diǎn)擊“menu” ,對(duì)該本書(shū)籍進(jìn)行客戶端續(xù)借,系統(tǒng)將提示續(xù)借結(jié)果信息。對(duì)應(yīng)需16 / 47求如表 1-13、1-14、1-15、1-16 對(duì)應(yīng)類(lèi)如表 1-17 顯示:表 1-13 表用戶登入 IPO 表功能名稱用戶登入功能編號(hào) 1優(yōu)先級(jí)1功能描述讀者,管理員用戶登入界面輸入項(xiàng)用戶名,密碼處理描述根據(jù)用戶名和密碼登入到讀者歡迎界面或管理員歡迎界
57、面輸出項(xiàng)歡迎界面表 1-14 表書(shū)刊借閱 IPO 表功能名稱書(shū)刊借閱功能編號(hào) 2優(yōu)先級(jí)2功能描述根據(jù)登入的用戶顯示該用戶所借書(shū)籍,以與借出情況輸入項(xiàng)登入用戶的用戶名和編號(hào)處理描述根據(jù)登入時(shí)的用戶名和密碼顯示讀者所借書(shū)籍輸出項(xiàng)所借書(shū)籍的基本信息表 1-15 表書(shū)續(xù)借閱 IPO 表功能名稱書(shū)刊續(xù)借功能編號(hào) 3優(yōu)先級(jí)1功能描述將即將到期的書(shū)籍進(jìn)行網(wǎng)上續(xù)借輸入項(xiàng)期望續(xù)借書(shū)籍編號(hào)處理描述通過(guò)書(shū)籍編號(hào)修改數(shù)據(jù)庫(kù)書(shū)本基本信息輸出項(xiàng)續(xù)借成功信息表 1-16 表書(shū)續(xù)借閱 IPO 表功能名稱鬧鈴提示功能編號(hào) 4優(yōu)先級(jí)2功能描述對(duì)即將到期的書(shū)籍設(shè)置鬧鈴提示功能輸入項(xiàng)所借書(shū)籍應(yīng)還日期處理描述根據(jù)標(biāo)識(shí)所需還書(shū)日期提示響
58、鈴輸出項(xiàng)17 / 47表 1-17 類(lèi)表類(lèi)名注釋Uicontroler界面控制類(lèi)MaiMenuUI讀者歡迎界面(主菜單顯示類(lèi)) Handler網(wǎng)絡(luò)連接控制類(lèi)ActionServlet服務(wù)器端控制類(lèi)BookDBBean書(shū)本控制類(lèi)BorrowBean借閱書(shū)籍實(shí)體類(lèi)BorrowModel借閱書(shū)籍信息顯示模式類(lèi)LoginSuccessUI讀者用戶登入成功顯示借閱書(shū)籍界面BorrowDetailUI借閱書(shū)籍顯示界面LoginUI讀者用戶登入界面UserBean用戶實(shí)體類(lèi)UserDBBean用戶控制類(lèi)NoBookUI沒(méi)有借閱書(shū)籍提示界面AlarmModel鬧鈴設(shè)置模式類(lèi)2.程序設(shè)計(jì)思想:界面控制類(lèi)接到了主
59、菜單傳遞的頁(yè)面調(diào)用請(qǐng)求(SHOW_LOGIN) ,就調(diào)用顯示讀者用戶登入界面,當(dāng)接收到用戶輸入用戶名和密碼后,就請(qǐng)求界面控制類(lèi)發(fā)送網(wǎng)絡(luò)連接請(qǐng)求(LOGIN) ,當(dāng)網(wǎng)絡(luò)連接控制類(lèi)和服務(wù)器端控制類(lèi)建立連接后,將請(qǐng)求發(fā)送給服務(wù)器端,服務(wù)器端控制類(lèi)調(diào)用用戶實(shí)體類(lèi)初始化一個(gè)用戶對(duì)象,再調(diào)用用戶控制類(lèi)訪問(wèn)數(shù)據(jù)庫(kù)核對(duì)用戶密碼,如果登入錯(cuò)誤,就返回錯(cuò)誤信息(LOGIN_ERROR_PWD/ LOGIN_NO_USER) ;如果密碼正確,就調(diào)用書(shū)本控制類(lèi)訪問(wèn)數(shù)據(jù)庫(kù),如果沒(méi)有查詢用戶借閱書(shū)籍信息,就返回響應(yīng)信息(LOGIN_SUCCESS_NO_BOOK) ,顯示沒(méi)有借閱書(shū)籍信息界面;如果查詢?cè)撚脩艚钑?shū)籍信息后,
60、返回響應(yīng)信息(LOGIN_SUCCESS_HAS_BOOK) ,將查詢到的每本借閱書(shū)籍的實(shí)體類(lèi)封裝成書(shū)本信息列表傳回網(wǎng)絡(luò)連接控制類(lèi),然后以借閱書(shū)籍信息顯示模式類(lèi)中定義的實(shí)現(xiàn)模式顯示該查詢結(jié)果列表和具體書(shū)籍信息;用戶在借閱書(shū)籍顯示界面上,設(shè)定好鬧鈴提示時(shí)間后,系統(tǒng)將通過(guò)鬧鈴設(shè)置模式類(lèi),將設(shè)置的時(shí)間保存在手機(jī)的持久化存儲(chǔ)中;用戶如果續(xù)借該選中的借閱書(shū)籍,顯示頁(yè)面將此書(shū)籍名稱和請(qǐng)求(GOON_BORROWBOOK) 發(fā)送給界面控制類(lèi),當(dāng)網(wǎng)絡(luò)連接控制類(lèi)和服務(wù)器端控制類(lèi)建立連接后,服務(wù)器端控制類(lèi)調(diào)用書(shū)籍控制類(lèi)查詢書(shū)籍續(xù)借情況,如果能續(xù)借,就更新數(shù)據(jù)庫(kù)字段,并且返回提示信息(GOON_SUCCESS_BO
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 手機(jī)銷(xiāo)戶協(xié)議書(shū)
- 稅務(wù)代扣稅協(xié)議書(shū)
- 苗木電子合同范本
- 榮譽(yù)加身協(xié)議書(shū)
- 蛇苗購(gòu)買(mǎi)協(xié)議書(shū)
- 視頻合同協(xié)議書(shū)
- 設(shè)備進(jìn)場(chǎng)協(xié)議書(shū)
- 設(shè)計(jì)包工協(xié)議書(shū)
- 評(píng)標(biāo)保密協(xié)議書(shū)
- 試用機(jī)器協(xié)議書(shū)
- 塔吊施工方案(專(zhuān)項(xiàng)方案)
- 空壓機(jī)入井及使用安全技術(shù)措施
- 對(duì)昆明機(jī)場(chǎng)地區(qū)天氣氣候特征的一些綜述分析
- YS/T 277-2009氧化亞鎳
- YS/T 1109-2016有機(jī)硅用硅粉
- 教師的信仰與價(jià)值(合師院講座)
- GB/T 10609.2-2009技術(shù)制圖明細(xì)欄
- 汽車(chē)制造工程的核心技術(shù)及四大工藝流程開(kāi)發(fā)體系-
- 上海地理高二等級(jí)考 第7講 巖石和地貌1
- 安徽省合肥市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名明細(xì)及行政區(qū)劃代碼
- 視神經(jīng)膠質(zhì)瘤-影像科
評(píng)論
0/150
提交評(píng)論