2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  雁捷物流管理系統(tǒng)</b></p><p><b>  學(xué)院:信息管理學(xué)院</b></p><p>  專業(yè):信息管理與信息系統(tǒng)</p><p><b>  組長</b></p><p><b>  組員:</b></p&

2、gt;<p>  指導(dǎo)教師: </p><p><b>  目錄</b></p><p>  雁捷物流管理系統(tǒng)1</p><p><b>  目錄2</b></p><p>  一、系統(tǒng)規(guī)劃與需求分析3</p><p>

3、;  1. 系統(tǒng)目標(biāo)與規(guī)劃3</p><p><b>  2. 業(yè)務(wù)描述3</b></p><p><b>  3. 需求分析3</b></p><p>  二、概念模型設(shè)計與系統(tǒng)模塊劃分4</p><p>  1. 概念模型設(shè)計4</p><p>  2. 系統(tǒng)模

4、塊劃分5</p><p>  三、邏輯模型設(shè)計與系統(tǒng)模塊設(shè)計7</p><p><b>  邏輯模型設(shè)計7</b></p><p>  四、 物理模型設(shè)計與數(shù)據(jù)庫實施7</p><p><b>  1. 約束設(shè)計7</b></p><p>  2. 存儲過程設(shè)計8

5、</p><p>  3. 視圖設(shè)計10</p><p>  4. 觸發(fā)器設(shè)計11</p><p>  5. 備份和恢復(fù)設(shè)計13</p><p>  五、系統(tǒng)開發(fā)與實現(xiàn)13</p><p>  1、 系統(tǒng)實現(xiàn)方法13</p><p>  2、系統(tǒng)主要功能與界面13</p>

6、;<p>  六、測試、分析和總結(jié)34</p><p>  1. 系統(tǒng)測試與分析34</p><p>  2.遇到的問題34</p><p>  3. 總結(jié)與展望34</p><p>  七、系統(tǒng)實現(xiàn)的關(guān)鍵代碼</p><p>  1、主頁實現(xiàn)實時更新發(fā)單情況

7、 35</p><p>  2、發(fā)單的實現(xiàn) 36</p><p>  一、系統(tǒng)規(guī)劃與需求分析</p><p>  1. 系統(tǒng)目標(biāo)與規(guī)劃</p><p>  雁捷物流管理系統(tǒng)旨在利用社會零散

8、時間解決同城或異地捎帶需求,最大化的滿足客戶的需求,并運用移動互聯(lián)網(wǎng)技術(shù)搭建一個隨時隨地互動的信息管理平臺。我們的目標(biāo)是,系統(tǒng)所提供的信息能夠全面覆蓋各個城市,每個城市的大街小巷,力求建立一個發(fā)單、搶單、配送為一線的物流網(wǎng)絡(luò)。</p><p><b>  2. 業(yè)務(wù)描述</b></p><p>  當(dāng)下,快遞業(yè)務(wù)發(fā)展十分迅猛,但僅限于固定的物流公司來進行配送,雁捷快遞

9、平臺可讓“人人成為快遞員”,無論你是企業(yè)員工、學(xué)生、個體經(jīng)營者,還是自由職業(yè)者,只要你有想法,并且符合基本條件,都可以申請成為快遞員,讓每個申請者都能“順路”賺錢,而且客戶也能享受快捷、便宜的配送服務(wù)。我們作為第三方平臺提供物流信息,讓想要運送貨物的人得到數(shù)據(jù)后根據(jù)自己的運輸能力進行搶單,讓發(fā)單人可根據(jù)多方面的數(shù)據(jù)進行篩選,選擇運輸方。使發(fā)單人和搶單人可以有效的進行信息交流。</p><p><b> 

10、 需求分析</b></p><p><b>  3.1數(shù)據(jù)管理需求</b></p><p>  目前,想要發(fā)貨的人很多,可以配送貨物的人也很多,但是兩者都不知道對方的信息,或者說按傳統(tǒng)方式發(fā)單者只能選擇固定的物流公司,了解不到物流公司的服務(wù)水平、貨物的配送效率,更不能了解配送人員的情況。而快遞員只能配送公司派送下來的物件,不能選擇性的配送。如果這些信息能公

11、開,能大大提高發(fā)貨人和快遞員的工作效率,雁捷物流管理系統(tǒng)就是將信息收集起來,經(jīng)過整理后提供給需求者。我們作為第三方平臺,對這些數(shù)據(jù)進行有效管理和監(jiān)督,能增加信息交流的匹配性和安全性。</p><p><b>  3.2創(chuàng)新設(shè)計需求</b></p><p>  3.2.1.搶單介紹:按照時間累進原則搶單</p><p>  第一次搶單:首先顧客下

12、單后,第一家快遞公司搶下第一單并給出價格,之后顧客根據(jù)價格、歷史評價、交通工具類型、押金金額篩選;第二次搶單:過2分鐘之后放開第二次搶單機會,這次投放兩個競爭名額,第一家快遞公司仍在篩選名額中。第三次搶單:過3分鐘之后放開第三次搶單機會,此次放開三個競爭名額,前三家快遞公司仍在篩選名額中。剩余搶單機會:過4分鐘之后無限制搶單。</p><p>  該創(chuàng)新點是為了給客戶一個公平交易的平臺,還能增加受理訂單的效率,更

13、重要的是提高搶單的積極性。公平性體現(xiàn)在使價格透明化,搶單者可以公平競價,發(fā)單人可以根據(jù)個搶單者的報價和配送方案選擇一個最優(yōu)的解決方案,可以避免盲目選擇一個搶單人壟斷配送的情況。</p><p>  3.3.2地圖定位及路線推薦</p><p>  地圖定位可以顯示3公里以內(nèi)的訂單,搶單者可以根據(jù)自身情況選擇想要配送的訂單,一旦搶單成功后,地圖還可根據(jù)目的地和發(fā)單者的所在位置推薦多條路線。&

14、lt;/p><p>  這個創(chuàng)新點可以使系統(tǒng)操作變得友好、方便,減少直接搜索帶來的繁瑣問題,一個系統(tǒng)的開發(fā)設(shè)計要考慮到用戶操作是否流暢和人性化,這個設(shè)計可以直觀的將信息展示給用戶,避免查詢帶來的誤差和低效率。</p><p>  二、概念模型設(shè)計與系統(tǒng)模塊劃分</p><p><b>  1. 概念模型設(shè)計</b></p><p

15、>  本階段設(shè)計出7個關(guān)系:</p><p>  用戶表:用戶ID,昵稱,姓名,身份證號,密碼,手機號,郵箱,等級,注冊時間,證件照;</p><p>  評價表:序號,服務(wù)態(tài)度,到貨速度,完整性滿意度,心得;</p><p>  搶單表:搶單編號,運輸費用,保證金,交通工具,手機號,目前所在地點,搶單時間,狀態(tài);</p><p>  

16、發(fā)單表:發(fā)單編號,發(fā)件人姓名,發(fā)件人手機號,收件人姓名,收件人手機號,取貨地址,預(yù)計送達時間,保值;</p><p>  訂單明細(xì)表:訂單號,成交時間,狀態(tài),發(fā)單用戶,搶單用戶,交通工具,運輸費用;</p><p>  物流信息表:發(fā)送物流信息時間,地點,簽收照片;</p><p>  物品表:物品編號,物品名稱,物品類別,重量,體積,價值,物品照片。</p&

17、gt;<p><b>  具體語句描述:</b></p><p>  一名用戶可以發(fā)出多條評價,一條評價只針對一名用戶;</p><p>  一個訂單明細(xì)可對應(yīng)多次評價,但一條評價只能對應(yīng)一個訂單明細(xì);</p><p>  一名用戶(發(fā)單者)可以發(fā)出多個訂單,但一個訂單只能由一名用戶(發(fā)單者)發(fā)出;</p><

18、p>  一名用戶(搶單者)可以搶多個訂單,但一個訂單只能由一名用戶(搶單者)成功搶到;</p><p>  一名用戶可以配送多個物品,但一個物品只能由一名用戶配送;</p><p>  一條訂單只能發(fā)出一個物品,一個物品只能在一個發(fā)單表上顯示;</p><p>  一個訂單明細(xì)給追蹤到多次物流信息,而一個物流信息對應(yīng)一個訂單明細(xì);</p><

19、;p><b>  具體細(xì)節(jié)如圖所示:</b></p><p><b>  系統(tǒng)模塊劃分</b></p><p><b>  總體設(shè)計:</b></p><p><b>  用戶信息管理:</b></p><p><b>  物流信息管理:&

20、lt;/b></p><p><b>  評價管理:</b></p><p><b>  訂單管理:</b></p><p>  三、邏輯模型設(shè)計與系統(tǒng)模塊設(shè)計</p><p><b>  邏輯模型設(shè)計</b></p><p>  利用powerd

21、esigner將概念模型轉(zhuǎn)換成物理模型,具體表述如下:</p><p>  用戶表的主關(guān)鍵字是用戶ID;</p><p>  發(fā)單表的主關(guān)鍵字是發(fā)單編號,參照用戶表的用戶ID和物品表的物品編號;</p><p>  搶單表的主關(guān)鍵字是搶單編號,參照用戶表的用戶ID;</p><p>  評價表的主關(guān)鍵字是序號,參照用戶表的用戶ID和訂單明細(xì)表

22、的訂單號;</p><p>  物流信息表的主關(guān)鍵字是發(fā)送物流信息時間,參照用戶表的用戶ID和訂單明細(xì)表的訂單號;</p><p>  物理模型設(shè)計與數(shù)據(jù)庫實施</p><p><b>  約束設(shè)計</b></p><p>  本階段添加了一些約束,以確保數(shù)據(jù)的完整與正確:</p><p>  規(guī)

23、定手機號一定是11位數(shù)字</p><p>  規(guī)定郵箱的格式中必須有@</p><p>  規(guī)定身份證號是18位數(shù)字或18位字母與數(shù)字的組合</p><p>  規(guī)定一個用戶不能既是發(fā)單用戶又是搶單用戶,即不能自己發(fā)的單自己去搶</p><p>  實現(xiàn)可以重復(fù)創(chuàng)建數(shù)據(jù)庫和表</p><p>  用戶的注冊時間默認(rèn)值是

24、系統(tǒng)獲取的當(dāng)前時間</p><p>  規(guī)定了一下字段的取值范圍</p><p><b>  存儲過程設(shè)計</b></p><p> ?。?)存儲過程(6個):</p><p>  查詢目的地為@destination的物品及訂單信息</p><p>  查詢?nèi)∝浀刂窞锧pick_site的物品及

25、訂單信息</p><p>  查詢狀態(tài)為@state的搶單信息</p><p>  查詢某個搶單用戶搶單成功的所搶到的發(fā)單信息、物品信息</p><p>  查詢搶單用戶搶單成功的次數(shù)</p><p>  查詢最近發(fā)單用戶最近成交的記錄</p><p> ?。?)存儲過程代碼:</p><p>

26、  --查詢目的地為@destination的物品及訂單信息</p><p>  create procedure p1</p><p>  @destination nvarchar(60)='%'</p><p><b>  as</b></p><p>  select 物品名稱,物品類別,重量,體

27、積,價值,預(yù)計送達時間,狀態(tài),取貨地址</p><p>  from 貨物.物品 join 訂單.發(fā)單 </p><p>  on 物品.物品編號=發(fā)單.物品編號</p><p>  where 目的地 like @destination</p><p>  execute p1 @destination='%北京%'<

28、/p><p>  --查詢?nèi)∝浀刂窞锧pick_site的物品及訂單信息</p><p>  create procedure p2</p><p>  @pick_site nvarchar(60)='%'</p><p><b>  as</b></p><p>  select

29、物品名稱,物品類別,重量,體積,價值,預(yù)計送達時間,狀態(tài),取貨地址</p><p>  from 貨物.物品 join 訂單.發(fā)單 </p><p>  on 物品.物品編號=發(fā)單.物品編號</p><p>  where 目的地 like @pick_site</p><p>  execute p2 @pick_site='%北京

30、%'</p><p>  --查詢狀態(tài)為@state的搶單信息</p><p>  create procedure p3</p><p>  @state varchar(10),@user char(20)</p><p><b>  as</b></p><p>  select 運

31、輸費用,保證金,交通工具,手機號 ,目前所在地點,搶單時間,狀態(tài)</p><p>  from 訂單.搶單</p><p>  where 狀態(tài)=@state and 用戶ID=@user</p><p>  execute p3 @state='',@user=''</p><p>  --查詢某個搶單用戶搶

32、單成功的所搶到的發(fā)單信息、物品信息</p><p>  create procedure p4</p><p>  @state varchar(10),@user char(20)</p><p><b>  as</b></p><p>  select 訂單明細(xì).運輸費用,保證金,訂單明細(xì).交通工具,手機號 ,目前

33、所在地點,搶單時間,搶單.狀態(tài),</p><p>  成交時間,訂單號,物品名稱,物品類別,重量,體積,價值,預(yù)計送達時間,取貨地址,</p><p>  收件人姓名,收件人手機號,目的地</p><p>  from 訂單.搶單 join 資料.訂單明細(xì)</p><p>  on 搶單.用戶ID=訂單明細(xì).搶單用戶</p>

34、<p>  join 訂單.發(fā)單 on 發(fā)單.用戶ID=訂單明細(xì).發(fā)單用戶</p><p>  join 貨物.物品 on 發(fā)單.物品編號=物品.物品編號</p><p>  where 搶單.狀態(tài)=@state and 搶單.用戶ID=@user</p><p>  execute p4 @state='搶單成功',@user='

35、'</p><p>  --查詢搶單用戶搶單成功的次數(shù)</p><p>  create procedure p5</p><p>  @id char(20)</p><p><b>  as</b></p><p>  declare @count int</p><

36、;p>  select @count=COUNT(搶單用戶)</p><p>  from 資料.訂單明細(xì) where 搶單用戶=@id</p><p>  return @count</p><p>  declare @count int</p><p>  @count=execute p5 @id=''</

37、p><p>  --查詢最近發(fā)單用戶最近成交的記錄</p><p>  create procedure p6</p><p>  @data1 datetime,@data2 datetime,@user char(20)</p><p><b>  as</b></p><p>  selec

38、t 訂單號,成交時間,交通工具,運輸費用,物品名稱,物品類別</p><p>  from 資料.訂單明細(xì) join 訂單.發(fā)單</p><p>  on 發(fā)單.用戶ID=訂單明細(xì).發(fā)單用戶</p><p>  join 貨物.物品 </p><p>  on 發(fā)單.物品編號=物品.物品編號</p><p>  whe

39、re 成交時間<@data1 and 成交時間>@data2 and 訂單明細(xì).發(fā)單用戶=@user</p><p>  execute p6 @data1='',@data2='',@user=''</p><p><b>  視圖設(shè)計</b></p><p> ?。?)視圖(4個)

40、:</p><p>  將發(fā)單表和物品表連接建立一個視圖,在每一個供搶單者都能查詢的發(fā)單信息</p><p>  B.將發(fā)單表和物品表連接建立一個視圖,待發(fā)單搶單雙方達成交易,供搶單成功者可以查詢到的更詳細(xì)的信息</p><p>  C.將用戶表和評價表連接建立一個視圖,發(fā)單者可以從中看到搶他所發(fā)的人的以往的評價,以便決定是否由此人搶到他的單子。</p&

41、gt;<p>  D.將訂單明細(xì)表和物流信息表連接起來建立一個視圖</p><p><b>  代碼:</b></p><p>  --將發(fā)單表和物品表連接建立一個視圖,在每一個供搶單者都能查詢的 發(fā)單信息</p><p>  create view v1</p><p><b>  as<

42、;/b></p><p>  select 物品名稱,物品類別,重量,體積,價值,物品照片,取貨地址,目的地,預(yù)計送達時間,狀態(tài)</p><p>  from 貨物.物品</p><p>  join 訂單.發(fā)單 on 物品.物品編號=發(fā)單.物品編號</p><p>  --將發(fā)單表和物品表連接建立一個視圖,待發(fā)單搶單雙方達成交易,供搶

43、單成功者可以查詢到的更詳細(xì)的信息</p><p>  create view v2</p><p><b>  as</b></p><p>  select 物品名稱,物品類別,重量,體積,價值,物品照片,</p><p>  取貨地址,目的地,預(yù)計送達時間,狀態(tài),發(fā)件人姓名,</p><p>

44、  發(fā)件人手機號,收件人姓名,收件人手機號</p><p>  from 貨物.物品 join 訂單.發(fā)單 </p><p>  on 物品.物品編號=發(fā)單.物品編號</p><p>  --將用戶表和評價表連接建立一個視圖,發(fā)單者可以從中看到搶他所發(fā)的人的以往的評價,以便決定是否由此人搶到他的單子。</p><p>  create vie

45、w v3</p><p><b>  as</b></p><p>  select 昵稱,等級,注冊時間,AVG(服務(wù)態(tài)度)以往服務(wù)態(tài)度,AVG(到貨速度)以往到貨速度,AVG(完整性滿意度)以往完整性滿意度</p><p>  from 資料.用戶 join 資料.評價 on 用戶.用戶ID=評價.搶單用戶</p><p

46、>  --將訂單明細(xì)表和物流信息表連接起來建立一個視圖</p><p>  create view v4</p><p><b>  as</b></p><p>  select 訂單號,成交時間,狀態(tài),地點,運輸費用,交通工具,發(fā)送物流信息時間,簽收照片</p><p>  from 資料.訂單明細(xì) join

47、貨物.物流信息 </p><p>  on 訂單明細(xì).訂單號=物流信息.訂單號</p><p><b>  觸發(fā)器設(shè)計</b></p><p>  (1)觸發(fā)器(3個):</p><p>  A.當(dāng)進行操作時搶單用戶的保證金的金額小于發(fā)單用戶所給出的物品的價值時,會給出提示</p><p>  

48、B.用戶搶單失敗時會給出提示</p><p>  C.只有等級時F及F以上的用戶才能搶價值在300及其以上的單子,只有等級是C及C以上的用戶才能搶價值在600及其以上的單子。</p><p><b> ?。?)代碼:</b></p><p>  --當(dāng)進行操作時搶單用戶的保證金的金額小于發(fā)單用戶所給出的物品的價值時,會給出提示</p&

49、gt;<p>  create trigger t1</p><p><b>  on 訂單.搶單</b></p><p>  for insert,delete,update</p><p><b>  as</b></p><p>  declare @deposit money,

50、@value money</p><p>  select @deposit=保證金 from inserted where 搶單編號=''</p><p>  select @value=價值 from 貨物.物品 </p><p>  where 物品編號 in </p><p>  (select 物品編號 from 訂

51、單.發(fā)單 </p><p>  where 發(fā)單編號 in</p><p>  (select 發(fā)單編號 from 訂單.搶單 where 搶單編號=''))</p><p>  if @deposit<@value</p><p><b>  begin </b></p><

52、p>  raiserror('你所剩的保證金已小于你所搶發(fā)單物品的價值!!',15,10) </p><p><b>  end</b></p><p>  --用戶搶單失敗時會給出提示</p><p>  create trigger t2</p><p><b>  on 訂單.搶單

53、 </b></p><p>  for update </p><p><b>  as</b></p><p>  declare @state varchar(10)</p><p>  select @state=狀態(tài) from updated</p><p>  if @sta

54、te='搶單失敗'</p><p><b>  begin </b></p><p>  raiserror('對不起,你已搶單失?。?!',15,10) </p><p><b>  end</b></p><p>  else if @state='搶單

55、成功'</p><p><b>  begin </b></p><p>  raiserror('恭喜你,你已搶單成功??!',15,10) </p><p><b>  end</b></p><p>  --只有等級時F及F以上的用戶才能搶價值在及其以上的單子,只有等

56、級是C及C以上的用戶才能搶價值在及其以上的單子</p><p>  create trigger t3</p><p><b>  on 資料. 用戶</b></p><p>  for update</p><p><b>  as</b></p><p>  decla

57、re @deji char(10)</p><p>  select @deji=等級 from updated</p><p>  if @state in ('A','B','C','D','E')</p><p><b>  begin </b></p

58、><p>  raiserror('恭喜你,你已能搶價值在及其以上的單子?。?#39;,15,10) </p><p><b>  end</b></p><p>  else if @state in ('A','B','C')</p><p><b> 

59、 begin </b></p><p>  raiserror('恭喜你,你已能搶價值在及其以上的單子!!',15,10) </p><p><b>  end</b></p><p><b>  備份和恢復(fù)設(shè)計</b></p><p>  備份整個數(shù)據(jù)庫到C:\du

60、mp\dumpfull.bak:(要改備份地址)</p><p>  BACKUP DATABASE 名稱 TO DISK='C:。。。。。。。。。。。'</p><p><b>  五、系統(tǒng)開發(fā)與實現(xiàn)</b></p><p><b>  1、 系統(tǒng)實現(xiàn)方法</b></p><p>

61、  數(shù)據(jù)庫建模階段使用的軟件是powerdesigner15.0,數(shù)據(jù)庫使用的軟件是SQL server 2014,建模生成的sql文件引入SQL server,加上一些列級和表級約束,然后執(zhí)行那些sql語句用以建立數(shù)據(jù)庫和表。網(wǎng)頁版編程使用的軟件是Myeclipse 2014,在Myeclipse中新建web工程,采用MVC模式在jsp中進行頁面設(shè)計,在其中多次引入js文件,出現(xiàn)了許多美觀、使用簡便的jquery控件。servlet作

62、為控制器對jsp頁面?zhèn)鱽淼闹颠M行處理,連接到數(shù)據(jù)庫并對數(shù)據(jù)庫中的數(shù)據(jù)庫進行插入、刪除、更新等操作,并進行頁面間的跳轉(zhuǎn)。在web工程中還用到了javabean。</p><p><b>  系統(tǒng)主要功能與界面</b></p><p>  基本功能:登陸,注冊,用戶信息查詢及修改,密碼修改等。創(chuàng)建用戶表,存儲用戶詳細(xì)信息。可實現(xiàn)查詢,更新,刪除,插入等基本功能。</

63、p><p><b>  網(wǎng)頁版:</b></p><p><b>  A.首頁:</b></p><p>  進入網(wǎng)頁首先進入到首頁,此頁面左側(cè)可根據(jù)物品類別、取貨地址、送貨地址、取貨時間等條件搜索滿足條件的發(fā)單,也可在搜索框內(nèi)進行關(guān)鍵字搜索。在此頁面中間有最近最新的一些發(fā)單情況,以表格的形式展示出來,表格中包括發(fā)單時間、取貨

64、地址、送貨地址、物品類別等關(guān)于發(fā)單概況,每行后面都有一個詳細(xì),點擊即可查看相對應(yīng)的發(fā)單詳情;刷新頁面即可刷新發(fā)單信息。在此頁面右部有“我要發(fā)單”、“我要搶單”兩個鏈接,點擊即可進行發(fā)單、搶單。</p><p>  未登錄時:有登錄和注冊兩個鏈接</p><p>  登錄后進入到首頁:原本的登錄、注冊鏈接變?yōu)楫?dāng)前登錄用戶的用戶名和一個退出鏈接。</p><p><

65、;b>  B.注冊頁面:</b></p><p>  注冊頁面昵稱、密碼不能為空;兩次輸入的密碼需一致;電子郵箱和手機號必須是為注冊的,在數(shù)據(jù)庫中郵箱和手機號定義了唯一約束。</p><p>  用戶名或密碼為空時:</p><p>  兩次輸入的密碼不相同時:</p><p><b>  C.登錄頁面:</

66、b></p><p>  注冊成功后轉(zhuǎn)到登錄頁面,即可根據(jù)注冊的的信息登錄,用戶名處填用戶ID、手機號、郵箱均可。登錄成功后跳轉(zhuǎn)到首頁。</p><p><b>  D.個人信息頁面:</b></p><p>  登錄成功后,可查看當(dāng)前用戶的個人信息,如果一開始沒有登錄就要進入到此頁面,則會先跳到登錄頁面,然后才能進入到此頁面。點擊頁面下

67、面的修改按鈕可對個人信息進行修改。</p><p>  E.修改個人信息頁面:</p><p>  能夠上傳圖片將其存入數(shù)據(jù)庫:</p><p>  修改成功再次轉(zhuǎn)到個人信息頁面查看修改后的個人信息:</p><p><b>  F.修改密碼頁面:</b></p><p>  修改密碼頁面要求新密

68、碼與原來的舊密碼不能一樣,新密碼與確認(rèn)的新密碼要求是相同的。</p><p>  新密碼與確認(rèn)新密碼輸入的不一致:</p><p>  原密碼與新密碼相同:</p><p>  發(fā)單功能:包括語音發(fā)單(借助移動應(yīng)用實現(xiàn)),手動發(fā)單。創(chuàng)建發(fā)單表和物品表,使用戶可以通過多種方式進行發(fā)單。發(fā)單分為3步,分為3個頁面,一步即一個頁面,具體步驟見下。</p>&

69、lt;p>  第一步填寫物品信息:</p><p>  第二步:填寫取貨信息:取貨時間一欄聚焦可出現(xiàn)下拉的日期控件;取貨地點一欄有省、市、地區(qū)三級聯(lián)動js控件可選擇地區(qū),其后跟著的輸入框用于輸入詳細(xì)地址。</p><p><b>  下拉日歷:</b></p><p>  省、市、地區(qū)三級聯(lián)動下拉選擇:</p><p&

70、gt;  第三步:填寫收貨信息:</p><p>  點擊提交后,在首頁中可看到剛剛發(fā)單成功的發(fā)單信息:</p><p>  然后點擊詳細(xì)可查看到剛剛發(fā)單的詳細(xì)情況,點擊頁面下方的“我要搶單”這一鏈接可以進行搶單:</p><p>  搶單功能:創(chuàng)建搶單表,存儲搶單信息,可通過存儲過程實現(xiàn)快速調(diào)用關(guān)系,目的是為了保證查詢的有效性和及時性,該功能使搶單者積極的參與發(fā)單

71、。</p><p>  搶單操作方式是:搶單者在點擊“我要搶單”后進入到此頁面填寫搶單信息。填寫完后點擊“提交”系統(tǒng)會提醒你是第幾個搶單的,前面有幾個待處理的搶單。搶單的時候要物品價值超過一定的數(shù)額就只有等級高的的才能搶。只有等級時F及F以上的用戶才能搶價值在300元及其以上的單子,只有等級是C及C以上的用戶才能搶價值在600及其以上的單子。如果你的等級不夠去搶價值高的發(fā)單是會搶單失敗,系統(tǒng)會給出提醒。搶單信息提

72、交后,搶單者所要做的就是等待,稍后等發(fā)單者確定選中了哪個搶單者送后,系統(tǒng)會提醒搶單者搶單成功或失敗了。</p><p>  (4)查詢功能:包含查詢物流信息等基本功能,還有地圖定位功能,其可用手機GPS實現(xiàn),查詢到附近的發(fā)單信息,還可以按照條件進行篩選,找到滿意的訂單和配送路線。</p><p><b>  A.物流信息頁面:</b></p><p

73、>  發(fā)單者可以查看物流信息,物流信息以時光軸的形式展示出來。頁面設(shè)計富有特色,簡潔,明了,醒目。而且美觀大方。</p><p>  (4)其他功能:系統(tǒng)中增加了許多比較人性化的功能,比如配送服務(wù)評價,常用地址添加等。</p><p><b>  A.評價頁面:</b></p><p>  搶單成功者將貨物送達后,發(fā)單者可對搶單者的服務(wù)給

74、出評價。根據(jù)評價換算成積分,積分累計得越多搶單用戶等級升級得越快。為避免用戶刷積分的現(xiàn)象,發(fā)單者發(fā)的單不允許發(fā)單者自己去搶自己發(fā)的單。</p><p>  評價等級是以星級為依據(jù)</p><p><b>  B.常用地址頁面:</b></p><p>  填寫發(fā)單信息的取貨和送貨地址時如果要填寫的信息已經(jīng)保存到了再了常用地址中可直接點擊常用地址

75、添加,可以使操作更加簡便。</p><p>  C.添加常用地址頁面:</p><p>  在此頁面中添加常用聯(lián)系人</p><p>  添加成功后跳轉(zhuǎn)到常用地址頁面,可以看到添加成功后的常用地址列表</p><p>  以下是app版界面:</p><p>  App只完成了一些頁面,功能也只實現(xiàn)了一部分,還有許多地

76、方需要完善。</p><p>  調(diào)試過程中經(jīng)常遇到許多問題。</p><p>  登錄頁面:如同大部分app登錄頁面一樣簡潔大方</p><p>  第一次登錄的介紹頁面:</p><p>  首頁:和網(wǎng)頁版的一樣有最新的發(fā)單情況,能夠篩選和搜索滿足條件的發(fā)單,還能根據(jù)定位到的用戶的當(dāng)前位置為用戶推薦在用戶附近的發(fā)單</p>

77、<p>  發(fā)單頁面:點擊頁面下部的發(fā)單按鈕,進入到發(fā)單頁面可進行文字發(fā)單和語音發(fā)單,還可查詢用戶已發(fā)過的各種狀態(tài)的發(fā)單。</p><p>  文字發(fā)單頁面:與網(wǎng)頁版內(nèi)容相同,但并未分為3步,所有發(fā)單信息都在一個頁面中填寫</p><p>  我的搶單頁面:在此頁面中可查詢用戶各種狀態(tài)的搶單。</p><p>  我要搶單頁面:用戶在此頁面進行搶單<

78、/p><p>  設(shè)置頁面:在此頁面對個人信息、我的支出、我的收入等進行設(shè)置,還可以設(shè)置有新的發(fā)單時,是否接受發(fā)單,并設(shè)置滿足什么條件的發(fā)單才被用戶所接收</p><p>  我們整個項目分為了網(wǎng)頁版和app版,有許多功能在網(wǎng)頁版中無法實現(xiàn),只能在app中實現(xiàn),如:定位、導(dǎo)航等功能。</p><p>  六、測試、分析和總結(jié)</p><p>  

79、1. 系統(tǒng)測試與分析</p><p>  我直接在Myeclipse自帶的瀏覽器中調(diào)試運行程序,我的頁面設(shè)計十分的簡單,以淺藍、淺灰為主色,簡單的色調(diào)給人以舒適的感覺。沒有使用漂亮的背景圖片,背景圖片不好確定大小,在界面大小不同的瀏覽器中效果不同,圖片小了會不太好看,使界面顯得很亂,所以我沒有使用背景圖片頁面顯得簡約大方,像百度的設(shè)計十分的簡單,卻深受大家的喜愛。每個頁面都有著相同的模式,顯得整齊一致。在功能方面

80、還是比較齊全,我們本著用戶友好型的原則,從用戶的角度出發(fā)設(shè)計整個項目,務(wù)必使用戶使用起來方便、快捷,讓用戶感覺到使用我們的產(chǎn)品是一種享受。</p><p>  當(dāng)然我們的系統(tǒng)還有許多不足之處,許多功能還有加強、完善,代碼不夠簡潔,應(yīng)該更加注意到使用性。</p><p><b>  2.遇到的問題</b></p><p>  在web工程編程、調(diào)

81、試過程遇到了許多的問題。運行時多次遇到以前沒見過的錯誤,一開始總讓我措手不及,束手無策我就上網(wǎng)查找 ,發(fā)現(xiàn)網(wǎng)上也有許多遇到相同錯誤在網(wǎng)上尋求答案的人,網(wǎng)上也給出了一些解決方案,但大多都無法解決我的問題,然后我又向人請教,翻書查資料,好不容易才能解決,但也有一部分問題是我至今也未解決的。比如圖片的上傳,圖片的處理。圖片在數(shù)據(jù)庫中的以image這一數(shù)據(jù)類型存儲的,而我不知道在java中相對應(yīng)的數(shù)據(jù)類型應(yīng)該是什么,然后我試著在Java中以In

82、putStream這一數(shù)據(jù)類型定義,然而在獲取從jsp頁面?zhèn)鬟^來的圖片時,總是顯示找不到圖片,我不知道該怎么解決這一問題。</p><p><b>  3. 總結(jié)與展望</b></p><p>  此次比賽,讓我們了解了系統(tǒng)開發(fā)的全過程,要經(jīng)歷5個階段:系統(tǒng)規(guī)劃階段、系統(tǒng)分析階段、系統(tǒng)設(shè)計階段、系統(tǒng)實施階段和系統(tǒng)維護和評價階段。</p><p>

83、;  系統(tǒng)規(guī)劃階段的任務(wù)主要是,確定要做什么方面的系統(tǒng),根據(jù)需要提出一個新系統(tǒng)的總體方案,并對這些方案進行可行性分析。系統(tǒng)分析階段的任務(wù)是根據(jù)系統(tǒng)開發(fā)計劃所確定的范圍,對目標(biāo)系統(tǒng)進行深入調(diào)查,與其類似系統(tǒng)進行比較,找出目標(biāo)系統(tǒng)的局限性,并進行修改和創(chuàng)新。而且,這個階段要設(shè)計出邏輯模型。系統(tǒng)設(shè)計階段回答了目標(biāo)系統(tǒng)“怎么做”的問題,具體設(shè)計實現(xiàn)邏輯模型的技術(shù)方案,也就是物理模型。系統(tǒng)實施階段就是將問題用java語言實現(xiàn)功能,之后對系統(tǒng)進行調(diào)

84、試和維護。</p><p>  經(jīng)歷以上階段后,發(fā)現(xiàn)許多方面需要多思考幾個方案,實現(xiàn)功能時可以再考慮代碼的簡潔性和規(guī)范性。希望我們的系統(tǒng)更加完善,功能更加全面,使用起來更加人性化。在滿足客戶的需求上,提供更加有創(chuàng)新、實用的功能。</p><p>  七、系統(tǒng)實現(xiàn)關(guān)鍵的代碼</p><p>  1、主頁實現(xiàn)實時更新發(fā)單情況:在jsp頁面嵌入java 代碼實現(xiàn)</

85、p><p><b>  <%!</b></p><p>  ResultSet rs=null;</p><p>  String sql;</p><p>  String code;</p><p>  int pagesize=10;</p><p>  int r

86、owcount=0;</p><p>  int pagecount=1;</p><p><b>  %></b></p><p><b>  <body></b></p><p>  <table style="color:black;" width=

87、"600" height="" border="1" align="center" cellpadding="0" cellspacing="0"bordercolor=black bordercolordark="#333333" bordercolorlight="#FFFFFF&qu

88、ot;></p><p><b>  <tr></b></p><p>  <td height="38" align="center" colspan="6" bgcolor=#0000FF><font style="font-size:1.5em; color

89、:black">動 態(tài) 信 息</font></td></p><p><b>  </tr></b></p><p><b>  <tr></b></p><p>  <td width=12% height="29" align=

90、"center">發(fā)布日期</td></p><p>  <td width=24% height="29" align="center">取貨地點</td></p><p>  <td width=24% height="29" align="cent

91、er">送貨地點</td></p><p>  <td width=23% height="29" align="center">物品名稱</td></p><p>  <td width=12% height="29" align="center"&g

92、t;操作</td></p><p><b>  </tr></b></p><p><b>  <%</b></p><p>  sql="select * from 訂單.發(fā)單 join 貨物.物品 on 發(fā)單.物品編號=物品.物品編號 ";</p>&l

93、t;p><b>  try</b></p><p><b>  {</b></p><p>  rs=connection.executeQuery(sql);</p><p>  if(!rs.next())</p><p><b>  {</b></p>

94、<p><b>  %></b></p><p><b>  <%</b></p><p><b>  }else</b></p><p><b>  {</b></p><p>  rs.last();</p>&l

95、t;p>  rowcount=rs.getRow();</p><p>  int showpage=1;</p><p>  pagecount=((rowcount%pagesize)==0?(rowcount/pagesize):(rowcount/pagesize)+1);</p><p>  String topage=request.getPara

96、meter("topage");</p><p>  if(topage!=null)</p><p><b>  {</b></p><p>  showpage=Integer.parseInt(topage);</p><p>  if(showpage>pagecount){</p

97、><p>  showpage=pagecount;</p><p>  }else if(showpage<=0){</p><p>  showpage=1;</p><p><b>  }</b></p><p><b>  }</b></p><

98、p>  rs.absolute((showpage-1)*pagesize+1);</p><p>  for(int i=1;i<=pagesize;i++)</p><p><b>  {</b></p><p>  code=rs.getString("發(fā)單編號");</p><p>

99、;<b>  %></b></p><p><b>  <tr></b></p><p>  <td width=12% height="40" align="center"><%=rs.getString("發(fā)單時間")%></td>

100、;</p><p>  <td width=24% height="40" align="center"><%=rs.getString("取貨地址")%></td></p><p>  <td width=24% height="40" align="cen

101、ter"><%=rs.getString("目的地")%></td></p><p>  <td width=23% height="40" align="center"><%=rs.getString("物品名稱")%></td></p>&l

102、t;p>  <td width=12% height="40" align="center"></p><p>  <a href="<%=request.getContextPath()%>/publish_show.jsp?id=<%=code%>">詳細(xì)</a></td>

103、 </p><p><b>  </tr></b></p><p><b>  <%</b></p><p>  if(!rs.next())</p><p><b>  break;</b></p><p><b>  }

104、</b></p><p><b>  %></b></p><p><b>  <tr></b></p><p>  <td height="30" colspan="9" align="right"></p>

105、<p>  <table width="786" align="center" cellpadding="0" cellspacing="0"></p><p><b>  <tr></b></p><p>  <td width="7

106、86" height="30" colspan="9" align="right"></p><p>  共<%=pagecount%>頁&nbsp;&nbsp;</p><p>  <a href="Main.jsp?topage=<%=1%>"&

107、gt;第一頁</a>&nbsp;&nbsp;</p><p>  <a href="Main.jsp?topage=<%=showpage-1%>">上一頁</a>&nbsp;&nbsp;</p><p>  <a href="Main.jsp?topage=<%=sh

108、owpage+1%>">下一頁</a>&nbsp;&nbsp;</p><p>  <a href="Main.jsp?topage=<%=pagecount%>">最后一頁</a></p><p><b>  </td></b></p>

109、<p><b>  </tr></b></p><p><b>  </table></b></p><p><b>  </td></b></p><p><b>  </tr></b></p><

110、p><b>  <%</b></p><p><b>  }</b></p><p>  }catch(Exception e)</p><p>  {e.printStackTrace();}</p><p><b>  %></b></p>

111、<p><b>  </table></b></p><p>  2、發(fā)單的實現(xiàn):第一步填寫物品信息后點下一步便將這些信息存到了數(shù)據(jù)庫中的物品表中,并將物品編號通過會話傳值。</p><p>  public void doPost(HttpServletRequest request, HttpServletResponse response)

112、</p><p>  throws ServletException, IOException {</p><p>  int r1=(int)(Math.random()*(10));</p><p>  long now = System.currentTimeMillis();</p><p>  String id ="w&

113、quot;+String.valueOf(now)+String.valueOf(r1);</p><p>  String name=new String(request.getParameter("name").getBytes("iso-8859-1"),"utf-8");</p><p>  String category

114、=new String(request.getParameter("category").getBytes("iso-8859-1"),"utf-8");</p><p>  BigDecimal weight=new BigDecimal(request.getParameter("weigh"));</p><

115、p>  BigDecimal voluem=new BigDecimal(request.getParameter("voluem"));</p><p>  String value=request.getParameter("value");</p><p>  String filename=new String(request.getP

116、arameter("image").getBytes("iso-8859-1"),"utf-8");</p><p>  HttpSession session = request.getSession();</p><p>  session.setAttribute("id", id);</p>

117、<p>  Goods g=new Goods();</p><p>  g.setGoodsId(id);</p><p>  g.setGoodsname(name);</p><p>  g.setCategory(category);</p><p>  g.setWeight(weight);</p>&

118、lt;p>  g.setVoluem(voluem);</p><p>  g.setValue(value);</p><p><b>  g.add();</b></p><p>  RequestDispatcher rd = request.getRequestDispatcher(".

119、./publish2.jsp");</p><p>  rd.forward(request,response);</p><p><b>  }</b></p><p>  第二步填寫完取貨系信息點擊下一步后將傳遞到servlet中的值通過會話傳值。</p><p>  public void doPost(

120、HttpServletRequest request, HttpServletResponse response)</p><p>  throws ServletException, IOException {</p><p>  String fname=new String(request.getParameter("fname").getBytes("

121、iso-8859-1"),"utf-8");</p><p>  String fphone=new String(request.getParameter("fphone").getBytes("iso-8859-1"),"utf-8");</p><p>  String ftime=new St

122、ring(request.getParameter("day").getBytes("iso-8859-1"),"utf-8");</p><p>  String area=new String(request.getParameter("area").getBytes("iso-8859-1"),"u

123、tf-8");</p><p>  String xiangxi=new String(request.getParameter("xiangxi").getBytes("iso-8859-1"),"utf-8");</p><p>  String address=area+xiangxi;</p>

124、<p>  System.out.print(address);</p><p>  HttpSession session=request.getSession();</p><p>  session.setAttribute("fname", fname);</p><p>  session.setAttribute("

125、;fphone", fphone);</p><p>  session.setAttribute("ftime", ftime);</p><p>  session.setAttribute("address", address);</p><p>  RequestDispatcher rd = reques

126、t.getRequestDispatcher("../publish3.jsp");</p><p>  rd.forward(request,response);</p><p><b>  }</b></p><p>  第三步填寫完送貨信息提交后,獲取會話傳過來的物品編號和取貨信息,和表單傳來的值,將這些值插入到數(shù)據(jù)庫

127、中大發(fā)單表中:</p><p>  public void doPost(HttpServletRequest request, HttpServletResponse response)</p><p>  throws ServletException, IOException {</p><p>  String sname=new String(reques

128、t.getParameter("fname").getBytes("iso-8859-1"),"utf-8");</p><p>  String sphone=new String(request.getParameter("fphone").getBytes("iso-8859-1"),"utf-8&

129、quot;);</p><p>  String stime=new String(request.getParameter("day").getBytes("iso-8859-1"),"utf-8");</p><p>  String area=new String(request.getParameter("are

130、a").getBytes("iso-8859-1"),"utf-8");</p><p>  String xiangxi=new String(request.getParameter("xiangxi").getBytes("iso-8859-1"),"utf-8");</p><

131、p>  String location=area+xiangxi;</p><p>  String baozhi=request.getParameter("baozhi");</p><p>  HttpSession session=request.getSession();</p><p>  String fname=(S

132、tring)session.getAttribute("fname");</p><p>  String fphone=(String)session.getAttribute("fphone");</p><p>  String ftime=(String)session.getAttribute("ftime");<

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論