




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