校園C2C系統詳細設計說明_第1頁
校園C2C系統詳細設計說明_第2頁
校園C2C系統詳細設計說明_第3頁
校園C2C系統詳細設計說明_第4頁
校園C2C系統詳細設計說明_第5頁
已閱讀5頁,還剩35頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

山東農業大學

掌中校園C2c系統

詳細設計說明書

ProceduralDesignSpecification

編寫:董健興

校對:于夢

審核:

批準:

開發單位:山東農業大學一Perfect

項目負責人:董建興

目錄

—.引言4

1.1編寫目的4

1.2.項目背景4

1.3定義4

1.4.參考資料4

二.程序系統的結構6

三.WEB端程序設計說明7

派消費者web端模塊7

3.1程序描述7

3.2功能7

3.3性能8

3.4輸入項8

3.5輸出項8

3.6算法8

?驗證碼生成算法9

?HTML字符轉換算法11

?圖片轉換成byte數組,并且獲取表單元素算法II

3.7程序邏輯13

?登錄模塊14

?創建商店15

3.8接口17

3.9存儲分配17

3.10.設計規則與約束條件17

3.11測試計劃18

四.J2ME端程序設計說明18

派消費者手機端18

4.1程序描述18

4.2.功能18

4.3.性能19

4.4.輸入項20

4.5輸出項20

4.6算法20

4.7程序邏輯24

?用戶手機端登錄模塊24

?用戶手機端修改信息模塊26

?用戶手機端購買模塊27

?用戶手機端發布商品模塊29

?管理模塊30

?管理員審核模塊31

4.8接口31

4.9存儲分配31

4.10.限制條件32

4.11測試計劃32

五服務器端程序設計說明32

5.1程序描述32

5.1.1開發環境32

5.1.2應用程序模型33

持久層33

邏輯層33

表示層33

5.1.3域模型設計33

數據庫表結構的生成35

5.1.4持久層的設計35

5.1.5邏輯層設計36

5.1.5全文搜索37

全文搜索簡介37

集成Compass37

實現全文搜索37

5.1.6發送E-mail37

配置川S37

JavaMail37

5.1.7發布web月艮務38

web服務38

XFire38

5.2功能38

5.3性能38

5.4輸入項38

5.5輸出項39

5.6算法39

5.7程序邏輯39

5.8接口39

5.9存儲分配40

5.10限制條件40

5.11測試計劃40

引言

1.1編寫目的

該詳細設計說明書在概要設計的基礎上詳細說明了C2C系統的各個模塊的功

能、所要達到的性能以及運行預期效果以便開發小組各個成員明確了解該軟件各個

子系統的具體功能分工和實現。同時也為大賽評委了解系統整體設計構思提供依據。

預期讀者:指導老師,大賽評委,團隊成員,該系統用戶

1.2.項目背景

系統名稱:掌中校園C2c系統

開發者:山東農業大學Perfect團隊

面向用戶:

①需要獲取商品信息,進行購買的在校消費者;

②需要擴大校園潛在消費者的商戶;

③需要發布商品信息的校園消費者

1.3定義

C2C:customertocustomer,即商品和信息從消費者直接到消費者。

1.4.參考資料

1、《軟件需求說明書(GB8567-88)》

2、大賽題目設置:《基于WebServices的掌上應用系統》

3、參考書籍:

《JavaME使用詳解-用Eclipes進行移動開發》劉斌編著。北京:電子工業出

版社,2007.2;

《JavaME核心技術與最佳實踐》詹建飛著。北京:電子工業出版社,2007.1;

《大話設計模式》程杰著。北京:清華大學出版社,2007.12;

《WebService基礎教程》蔡月茹、柳西玲等著;北京:清華大學出版社,2005;

<WebSerices原理與研發實踐》劉家茂、柴曉路著。北京:機械工業出版社,

2007.9;

《Spring2.0核心技術開發與最佳實踐》廖雪峰著。北京:電子工業出版社,

2007.7;

《SpringinAction(第二版)中文版》沃爾斯(美)布雷登巴赫(美)著,

畢慶紅等譯。北京:人民郵電出版社,2008.10;

網上資料及教程

二.程序系統的結構

三.WEB端程序設計說明

X消費者web端模塊

3.1程序描述

3.2功能

功能類別功能名稱、標識符描述

校外商家,商家通過填寫個人信息,上傳身

份證復印件來注冊,并向系統管理員提交請

求,管理員通過比對信息,來判斷是否允許

商戶注冊用戶通過,以獲得程序的接入權限。商家注

冊完成,并且通過管理員的審核以后,可以

摭有創建網上商店,上傳商品等功能,宣傳

注冊

自己的商店、商品,提高自己的經濟效益

學生,學生通過提交自己的真是信息,以及

上傳校園卡影像來實現注冊。注冊后學生可

學生注冊以在網上實現網上交易(網上下訂單,面對

面交易)。也可以在網上瀏覽商品,獲取自己

有用的信息

對用戶輸入的用戶名、密碼、驗證碼進行驗

用戶登錄用戶登錄證,只有登錄用戶才能使用程序的功能。

登錄后登陸信息將保存在服務器session中。

查找商品應該可以按照商品的各個屬性查找

查找商品支持查找條件的復合,為用戶提供盡可能多

的選擇

查找功能

杳找商店也應該可以按照商品的各個屬性查

查找商店找支持查找條件的復合,為用戶提供盡可能

多的選擇

用戶在瀏覽商品的時候,可以根據自己的購

買經驗對商品的實用性,性價比,質量優劣,

商品評論

信譽程度等信息作出評價,評價可以作為其

評論他消費者購買的參考

當用戶查看商店的時候,同樣可以對商店的

商店評論做出自己的評價,系統管理員管理評論,對

了評論較差的商店,作出相應的處理

功能類別功能名稱、標識符描述

用戶通過選中商品填寫訂單提交口己的購物

請求,并可隨時查看已發訂單的狀態(等待

商品購買訂單

中、商戶忽略,正在處理、處理完成)。系統

將訂單轉給商品所有者等待其進?步處理。

學生創建的商店不需要再進行審核,只要學

學生創建商店生的注冊信息審核完成以后,他就有創建商

店的權限

創建商店

商戶創建商店需要上傳經營許可證,商店的

商戶創建商店門頭照,并且需要經過管理員審核后才能對

該商店進行下一步操作

用戶建立商店之后,可以上傳商品到商店,

上傳商品上傳商品商品的信息包括商品的名稱數量等基本屬性

以及商品的圖片信息

3.3性能

3.4輸入項

Web頁面用使用了大量的表單,如果只是使用服務器端驗證必定會加大服務器的

服務器負擔。所以,程序應該采用客戶端與服務器驗證相結合的方式進行驗證。

3.5輸出項

系統錯誤要打印日志;

用戶錯誤給出合理提示,人性化設計。

3.6算法

?驗證碼生成算法

Bufferedlmagebufflmg=newBufferedlmage(width,height,

BufferedImage.TYPE_INT_RGB);

Graphics2Dg=bufflmg.createGraphics();

Randomrandom=newRandom();

g.setColor(Color.WHITE);

g.fillRect(O,0,width,height);

//設置字體

Fontfont=newFont("TimesNewRoman",Font.BOLD,20);

g.setFont(font);

//畫邊框

g.setColor(Color.GRAY);

g.drawRect(0,0,width-1,height-1);

g.setColor(Color.GRAY);

//隨機產生干擾線

for(inti=0;i<50;i++){

intx=random.nextlnt(width);

inty=random.nextlnt(height);

intxl=random.nextlnt(2);

intyl=random.nextlnt(2);

g.drawLine(x,y,x+xl,y+yl);

)

//數字字母集合

char[]numbersAndLettersStore=

(H0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHUKLMNOPQRSTUVWXYZH)

.toCharArrayO;

StringrandomCode=,n,;

intred=0,green=0,blue=0;

for(inti=0;i<4;i++){

red=random.nextlnt(255);

green=random.nextlnt(255);

blue=random.nextlnt(255);

g.setColor(newColor(red,green,blue));

Stringtem=String.valueOf(numbersAndLettersStore[random

.nextlnt(62)]);

randomCode+=tem;

g.drawString(tem,15*i+16,17);

)

//驗證碼保存到Session范圍

HttpSessionsession=req.getSession();

session.setAttribute(ncoden,randomCode.toStringO);

System.out.println(Hservlet里顯示驗證碼:H+randomCode.toString());

//禁止緩存

resp.setHeader(nPraman,"no-cache");

resp.setHeaderC^oche-Control",nno-cachen);

resp.setDateHeader(nExpires'\0);

resp.setContentType(nimage/jpegn);

//將圖像輸出到

ServletOutputStreamsos=resp.getOutputStream();

ImageIO.write(bufflmg,njpegn,sos);

sos.close();

?HTML字符轉換算法

publicstaticStringHTMLChange(Stringsource){

StringchangeStr=,n,;

changeStr=source.replaceAll(n&',,n&");

changeStr=changeStr.replaceAll(nn,n n);

changeStr=changeStr.replaceAll("v”J<”);

changeStr=changeStr.replaceAll(H>°">H);

changeStr=changeStr.replaceAH(,,\r\n,,,,,<br>");

returnchangeStr;

)

publicstaticStringlextAreaChange(Stringsource){

StringchangeStr=,n,;

changeStr=source.replaceAll(',<br>,,,',\nn);

returnchangeStr;

?圖片轉換成byte數組,并且獲取表單元素算法

while(it.hasNext())

Fileitemfl=(Fileltem)it.next();〃類型轉換

if(fi.isFormField())

{〃判斷該Fileitem對象是否是一個普通表單類型

try(

Stringname=fi.getFieldName();〃得到普通表單類型的表單名

Stringcontent=fi.getString("UTF-8");〃用指定編碼得到普通表單

的值

System.out.println("formField,Name:"+name+''的值為:"+content);

if(name!=null&&content!=null)

map.put(name,content);

}catch(UnsupportedEncodingExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

else

(

try(

StringpathStr=fi.getName。;//得到文件表單的值,就是用戶本地

的文件路徑

〃如果文件表單為空,則不處理

if(pathStr.trim().equals(',n))

(

continue;

picByte=fi.get();〃fi.write(pathDest);〃寫文件

catch(Exceptione)

e.printStackTrace();

returnnull;

finally{〃立即刪除保存表單字段內容的臨時文件

fi.delete();

formlnfo.setPicBytre(picByte);

formlnfo.setMap(map);

returnformInfo;

3.7程序邏輯

?登錄模塊

?創建商店

開始

3.8接口

3.9存儲分配

3.10.設計規則與約束條件

方法命名規則

符合java命名規則

Package(包)的命名:采用完整的英文描述符,應該都是由小寫字母組成。

Interface(接口)、Class(類)的命名:采用完整的英文描述符說明接口封裝,所有

單詞的第一個字母大寫。通常由多個單詞合成一個類名,要求每個單詞的首字母也

要大寫。

方法的命名:方法名的第一個單詞應該是動詞,大小寫可混用,但首字母應小

寫。在每個方法名內,大寫字母將詞分隔并限制使用下劃線。參數的名字必須和變

量的命名規范一致。使用有意義的參數命名,如果可能的話,使用和要賦值的字段

--樣的名字(這里方法命名和MyEclipse自動生成getter和setter一致):

setCounter(intsize){

this.size=size;

避免長型名稱(小于15個字符比較合適),巧妙節儉地使用縮寫,將標準首

字母縮寫詞的第一個字母大寫。

使用大小寫混合增強名稱的可讀性。

屬性(變量)的第一個字母要小寫

避免名稱過于相似或僅在大小寫方面有區別

包結構

Com.cc2c.bean放javaBean

Com.cc2c.filter放置servlet

Com.cc2c.menu放置用于生成菜單的servlet

Com.cc2c.servlet主要的servlet

Com.cc2c.admin.servlet后臺管理的servlet

Com.cc2c.serviceWebServie客戶端

Com.cc2c.dao數據庫操作類

Com.cc2c.monitor監視器類放置在這里

3.11測試計劃

四.J2ME端程序設計說明

派消費者手機端

4.1程序描述

本程序為掌上設備(手機)開發是客戶端的主要部分。提供掌上應用的所有功

能,可供多個用戶同時使用。由于掌上設備的局限性,此部分不包含用戶開店注冊

功能。

4.2.功能

具體功能列表如下:

功能類別功能名稱、標識符描述

對用戶輸入的用戶名、密碼進行驗證,驗證

用戶登錄用戶登錄通過后,該用戶可以使用系統中分配到的權

限進行操作,否則拒絕使用。

功能類別功能名稱、標識符描述

用戶更新個人信息,包括資料圖片、地址信

個人資料維護

息、登錄密碼、聯系方式等

維護基本資料用戶修改,刪除,新增所開店鋪的商品數據,

店鋪信息更新系統根據用戶的操作,對商品資料進行更新

或顯示。

用戶通過輸入查詢的關鍵字進行模糊查詢。

模糊查詢系統內部將執行相應的查詢操作并顯示結

果。

瀏覽查看

用戶通過輸入內容或選擇動態得到的選項

高級查詢(包括商品分類,價格區間的獲得)等進行

精確的查詢。

購物車用戶可將瀏覽到的商品其放入購物車暫存。

用戶通過選中商品填寫訂單提交自己的購物

商品購買請求,并可隨時查看已發訂單的狀態(等待

訂單

中、正在處理、處理完成)。系統將訂單轉給

商品所有者等待其進一步處理。

評論設定限制,只有買過此店鋪商品的人才

對店鋪評論有評論的權限。評論一旦產生只有管理員有

權限刪除。

評論

用戶可以針對某件商品進行評論或提問。評

對商品評論

論一旦產生只有管理員有權限刪除。

對校內新聞評論用戶可針對某條校內新聞發表自己的評論。

一般權限的用戶即可發布廣告性質的供求信

信息發布跳蚤市場

息,無需審核即可發布成功。

擁有系統維護權限的用戶可以增加新用戶,

維護用戶資料并可以對用戶的資料進行修改、刪除以及查

詢。

擁有權限管理的用戶可以設定其他用戶對軟

處理舉報及意見建議

件的訪問權限。

系統維護

用戶重新設定自己的密碼

修改密碼

擁有系統維護權限的用戶可以批準店鋪,并

維護店鋪資料

可以對用戶的資料進行修改、刪除以及查詢。

維護校內信息刪除不合法或過時的信息

4.3.性能

1、正確性。業務邏輯錯誤不允許出現。

2、響應速度。WebService的調用及客戶端的響應速度要在用戶的忍耐范圍之

內。

3、易用性。無需專門的學習即可使用

4、清晰性。業務流程明確。

5、可擴展性。能根據變更的需求,在現有系統基礎之上改變擴充功能。

6、靈活性。服務器端可運行在大多數主流的操作平臺之上。手機客戶端滿足

定型號的手機的使用。

4.4.輸入項

基本數據類型的輸入:輸入項由用戶的操作和選擇實現,不同的輸入項對輸入

要求不同。如密碼輸入時必須安全顯示;Email輸入時必須符合Email基本格式;

電話號碼輸入時必須全為數字,長度不超過11個字符等。傳輸格式XML。

圖片數據類型:用戶提交個人信息時上傳的圖片資料,大小應控制在2M內。傳

輸格式XML。

4.5輸出項

錯誤輸出:對有用戶操作引起的錯誤應通過提示框給出明確的提示。系統內部

錯誤拋出異常,應盡量顯示錯誤原因。

基本數據類型輸出:Customitem或Form上顯示。

圖片數據類型的輸出:Canvas、Form或Customitem上顯示

4.6算法

①圖片放大縮小處理算法:

publicstaticImageZoomlmage(Imagesrc,intdesW,intdesH){

Imagedeslmg=null;

intsrcW=src.getWidth();//原始圖像寬

intsrcH=src.getHeight();//原始圖像高

int[]srcBuf=newint[srcW*srcH];//原始圖片像素信息緩存

src.getRGB(srcBuf,0,srcW,0,0,srcW,srcH);

//計算插值表

int[]tabY=newint[desH];

int[]tabX=newint[desW];

intsb=0;

intdb=0;

inttems=0;

inttemd=0;

intdistance=srcH>desH?srcH:desH;

for(inti=0;i<=distance;i++){/*垂直方向

tabY[db]=sb;

tems+=srcH;

temd+=desH;

if(tems>distance){

tems-=distance;

sb++;

)

if(temd>distance){

temd-=distance;

db++;

)

)

sb=0;

db=0;

tems=0;

temd=0;

distance=srcW>desW?srcW:desW;

for(inti=0;i<=distance;i++){/*水平方向*/

tabX[db]=(short)sb;

terns+=srcW;

temd+=desW;

if(terns>distance){

terns-=distance;

sb++;

)

if(temd>distance){

temd-=distance;

db++;

)

)

//生成放大縮小后圖形像素亞

int[]desBuf=newint[desW*desH];

intdx=0;

intdy=0;

intsy=0;

intoldy=-1;

for(inti=0;i<desH;i++){

if(oldy==tabY[i]){

System.arraycopy(desBufzdy-desW,desBufzdy,desW);

}else{

dx=0;

for(intj=0;j<desW;j++){

desBuf[dy+dx]=srcBuf[sy+tabX[j]];

dx++;

)

sy+=(tabY[i]-oldy)*srcW;

)

oldy=tabY[i];

dy+=desW;

)

//生成圖片

deslmg=Image.createRGBImage(desBuffdesW,d一sH,false);

returndesImg;

}

②低級界面自動換行算法:

//設置低級界面的文木自動換行

publicstaticVectorgetSubsection(Stringstr,intCharacterNumber){

Vectorvector=newVector();

int;

while(!str.equals("")){

if(str.length()>CharacterNumber){

vector.addElement(str.substring(0,CharacterNumber));

str=str.substring(CharacterNumber);

)

else{

vector.addElement(str);

str=*'n;

)

)

returnvector;

4.7程序邏輯

?用戶手機端登錄模塊

?用戶手機端修改信息模塊

?用戶手機端購買模塊

?用戶手機端發布商品模塊

?管理模塊

在管理員端的管理工作主要是對于被舉報的,不合法的店鋪、用戶進行刪除,

所以主要介紹一下刪除功能的實現

?管理員審核模塊

4.8接口

參見《掌上校園C2c概要設計說明》提供的接口。

4.9存儲分配

J2ME客戶端和Web客戶端共用一個數據庫。

4.10.限制條件

1、圖片大小應控制,并對圖片分辨率進行限制。

2、輸入數據限定為基本數據類型,故開店注冊不宜在此實現。

3、由于掌上設備的局限性對系統運行占用的內存和存儲空間有一定要求。

4、在手機端為避免信息讀取不全,手機硬件不夠等客觀因素造成管理員管理失當,

所以只有簡單的刪除管理和審核管理,讓手機端的管理權限有局限性。

4.11測試計劃

1、本部分測試時輸入的數據應為基本數據類型,輸出的數據在手機屏幕顯示。

2、測試應當用真機作為測試設備,檢測系統運行內存占用情況和運行速度,盡量貼

近實際。

3、輸入的數據要能代表一般性又不乏特殊性。

4、J2ME客戶端實現的方法都要用數據進行測試。

5、鏈接WebService時用本地PC機作為服務器。

五服務器端程序設計說明

5.1程序描述

5.1.1開發環境

本程序是服務器端邏輯層以及控制層開發,部署在服務器上,構建系統框架提供通

用接口發布web服務。程序使用spring2.0+hibernate3.2+JDK5.0+MySql5配置開發環境,

使用ant作為項目的構建工具,XDolet自動生成配置文件。

5.1.2應用程序模型

采用三層應用程序模型,數據庫、SpringloC容器部署持久層邏輯層以及表示層,一

方面集成XFire開發web服務,另一方面使用瀏覽器顯示管理員的基本操作。

持久層

持久層負責實現所有數據的訪問功能,他將上層傳入的數據寫入到持久化的存儲系

統中,并根據上層的要求讀取或者修改現有的數據。數據庫映射采用對象-關系映射

(0/RMapping)的方案,采用hibernate構建ORM系統。

邏輯層

邏輯層負責完成應用程序的邏輯功能,包括調用持久層完成實體對象的存取、安全

檢查、事務控制等。抽象出邏輯層的好處是講應用程序的邏輯功能產品那個表示層中

剝離,這樣就能服用邏輯層的功能。這樣增加一個新的應用程序接口比如web服務不

會影響到表示層。此外,邏輯層也可以看作是對持久層的一個門面模式,簡化表示層

對這些邏輯功能的調用。

表示層

表示層是與用戶打交道的UI界面。在此我們開發出web服務與其他已存在的用戶系

統相結合,同時我們開發出管理員管理界面,采用spring的MVC模式,采用C/S結構

瀏覽器訪問相應的站點。

5.1.3域模型設計

傳統的應用程序是先設計完成數據庫的表結構然后根據表的結構設計應用程序中持

有數據的對象,這種設計方式本質中仍是以關系數據庫為基礎,不符合面向對象的設

計方式如圖.1.

在本系統中我們從域模型入手,首先設計域對象的模型,并確定其關聯模式,然后

通過Hibernate提供的DDL工具,自動地將域模型映射為數據庫的表結構,這種方式

符合面向對象的設計方式,而且更容易建立UML模型,如圖5.1.2。

JavaBean

數據庫表結構,hbm配置文件

圖5.5.11圖5.1.2

根據本系統的功能,我們設計一下幾個實體。

1.Student

Student實體代表一個用戶,因為用戶名唯一所以直接作為主鍵,private屬性用來表

示用戶的權限,其他屬性是用戶的基本個人信息,一是用來管理員驗證信息,二是用

來填寫訂單時默認的屬性,避免用戶重復輸入。

2.Businessman

Businessman實體戶,用戶名直接作為主鍵,其余屬性為基本信息,用于管理員的審

核以及用戶的瀏覽。

3.Category

Category實體代表這分類,由于商品的分類是一種樹形結構,并非關系數據庫的二

維結構,因此需要以?種合適的方式保存這種樹形結構。

根據參考一系列的資料我們設計根據整型ID本身的關系表示層次關系,這種方式類

似IP地址的掩碼,例如電腦配件的ID是0x0B00,鼠標和鍵盤的分類ID分別為OxOBOl

和0X0B02,用戶查詢電腦配件時使用掩碼就可以一次查詢到所有的電腦配件。

SelectgformGoodsasgwherebitand(Category,OxOBOO)=OxOBOO

注:bitand為hibernate自定義函數,進行&運算。

4.Basket

Basket為購物車,主鍵采用UUID主鍵生成策略,包含Goods和Student以及商品數

量和加入時間屬性。

5.Order和orderitem

6.Order實體用于保存用戶的一個訂單,一個Order對象還包括若干個Orderitem

對象,表示訂單的每一項書籍和數量。

7.Shop

Shop實體表示一個商店,商店的ID采用主鍵自動生成,其屬性除了店主(host)商

品(list<Goods)外還包括一些商店的基本屬性,比如地址、簡述等,由于商店不僅僅

是businessman所擁有的,還包括一些學生開得虛擬店鋪,為了不破壞實體的完整性,

倉促之間設計的實體關系已經不符合3NF標準,在以后的優化中會盡快改正。

8.Comment、Commentshop、CommentMarket

這些實體用于表示一條用戶的餓評論,分別為對商品、商店和市場信息的評論。

9.Campusnews>Inform>suggestion

分別表示校內新聞,檢舉信息和意見建議

10.Admin

管理員,主鍵為用戶名。

集體ER關系見圖

數據庫表結構的生成

完成域對象模型設計后,我們就可以利用工具完成域對象模型到數據庫關系模型的

自動轉化,從而獲得數據庫表結構的DDL腳本。應用Hibernate提供的HibernateTools

工具完成轉化,hibernatetools以Ant擴展任務形式來實現DDL的自動生成,編輯

hibemate.cfg.xml配置文件,然后在Ant中建立任務make-schema,講自動生成的

schema.sql放在/sql下,應用專用的數據庫工具欲行這個DDL腳本就可以生成表結構

的創建了。

5.1.4持久層的設計

持久層中DAO模式為標準模式,再次我們不采用spring提供的現成的DAO體系,

而是設計一個類型安全的泛型DAO,通過泛型DAO,能夠講公共代碼以泛型的方式

放入泛型超類中,進一步減少代碼量。

注:本設計方式參考《Spring2.0核心技術與最佳實踐》

分頁的實現

設計Page對象,初始化每頁顯示的記錄數和顯示的頁數,然后利用hql語言查詢出

所需要的結果。

一般hql查詢首先利用selectcount查詢結果總數賦予totalCount,對于

DetachedCriteria的記錄總數查詢采用專門的方法獲得,具體參照代碼。

5.1.5邏輯層設計

邏輯層是需要實現應用程序的邏輯,一般的操作簡單調用邏輯層。根據系統設計應

該判斷權限,鑒于能力時間限制亟待進一步開發。邏輯層設計為外觀模式(Faqade)

1.StudentService學生操作

2.BusinessService商人操作

3.Adminservice管理員操作

4.Publicservice公共的錯做

5.Mailservice郵件操作

6.SearchSercice全文搜索操作

7.FileupSercice上傳操作

5.1.5全文搜索

全文搜索簡介

全文搜索是根據關鍵字搜索的一種查詢方式,能夠快速的定位包含該關鍵字的相關

記錄,原理是分詞+索引。在Java領域,開源全文搜索引擎Lucene是純Java編寫的

全文搜索引擎,可以嵌套任何Java編寫的程序中。

集成Compass

由于Lucene提供的API的都比較底層,需要手動編寫大量的代碼和實現

引和搜索兩大部分的功能,并且操作的數據是Lucene提供的Document和

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論