




已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
校內實訓項目報告課 題:寵物商店管理系統設計學 院: _ _ _ _學生姓名: _ _ _ _指導教師: _ _ _ _ 一、需求分析1.1項目開發(fā)背景PetStore 是SUN公司推出的一個寵物店系統,是J2EE應用和學習的一個好例子。針對不同的側重點,具有不同的版本。該系統不同的版本是優(yōu)秀程序員智慧的結晶。從功能層面來說,這個系統具有:寵物分類展示、下訂單、添加到購物車、瀏覽產品細節(jié)等一系列網上商城所具備的基本功能。1.2 功能介紹1.2.1 整體介紹Petstore提供網上商城系統所必需的功能:用戶身份認證、商品信息列表、選購商品、下訂單等,圍繞這些功能,系統的設計分為以下四個部分: l 寵物分類展現和寵物查找模塊(catalog部分),供用戶瀏覽、查找并選購寵物。l 購物車管理(cart部分),供用戶查看購物車的情況,并作出是否購買的選擇。l 賬戶管理模塊(account部分),為用戶提供注冊和賬戶登錄功能。l 訂單管理(order部分),供用戶管理自己的賬單。1.2.2 詳細說明 寵物商店用戶通過賬戶管理模塊登錄或者注冊新用戶,只有擁有經過注冊的用戶名和正確的密碼才能更改系統內部代碼、頁面形式、系統數據庫以及管理客戶賬戶等;寵物分類展現部分是系統與客戶的交流界面,用戶在此功能界面上可以瀏覽整個寵物店的所有產品情況,包括:寵物生活習性、寵物產地、庫存情況、售價等等。用戶在此處還可以點擊單一寵物的鏈接進入更進一步的說明;購物車模塊是系統與用戶賬戶交流的平臺,用戶是否購買某產品將直接反映在這個界面和相關的數據庫上。訂單管理是賬戶管理的配合模塊,是對客戶的賬戶的直接管理和反應。1.3 系統開發(fā)平臺l Jdk 即Java開發(fā)數據包;l Web服務器tomcat;l Mysql數據庫,用于網站系統文件表格的建立、更改、維護等;l MyEclipse,用于編寫、調試系統代碼、生成發(fā)布。二、系統設計2.1寵物管理系統功能設計目標:(1) 實用性強:我們努力使系統符合實際操作流程的習慣,并盡量減少用戶的輸入,易學易用的友好的用戶界面,滿足各層次的用戶使用的需求;(2) 先進的程序結構:使用當代前衛(wèi)的軟件編程,能延長其生命周期,易于維護與管理;(3) 安全可靠性高:后臺維護功能齊全,根據平臺在各個階段不同的使用情況,管理人員可以設置相應的操作權限,增加系統注冊,分配各個欄目的管理權限,實現系統的維護,保證系統的安全、可靠;(4) 使用模塊化設計的方法:使系統具有良好的可擴充性,以適應其不同階段的發(fā)展需要,便于后來者分析、維護;(5) 操作簡單,維護方便:每個子系統都具有相對獨立的系統維護功能對可變化的項目可自行維護;(6) 查詢功能強大:可以對寵物的基本情況、用戶基本情況,寵物主人信息,用戶留言等按各種方式查詢,可形成各種表單,同時還可對其進行匯總,使管理人員能及時準確地掌握用戶和其寵物的基本情況。2.2 寵物管理系統的總體設計:本寵物商店管理系統是基于B/S架構下的多層結構應用系統。B/S(Browser/Server)結構即瀏覽器和服務器結構。它是隨著Internet技術的興起,對C/S結構的一種變化或者改進的結構。在這種結構下,用戶工作界面是通過WWW瀏覽器來實現,極少部分事務邏輯在前端(Browser)實現,但是主要事務邏輯在服務器端(Server)實現,形成所謂三層3-tier結構。這樣就大大簡化了客戶端電腦載荷,減輕了系統維護與升級的成本和工作量,降低了用戶的總體成本。2.3 系統詳細功能設計以及總體結構圖:通過詳細調查現實世界要處理的對象,充分了解系統的工作概況,明確用戶的各種需求,然后在此基礎上確定新系統的功能。新系統必須充分考慮今后可能的擴充和改變。系統總體結構圖: 寵物管理平臺主人信息管理寵物信息管理論壇寵物監(jiān)護人信息寵物類目管理主人填寫主人登陸寵物信息管理用戶注冊用戶修改監(jiān)護人資料填寫寵物資料填寫文檔管理系統實現的功能:l 寵物類別管理 寵物類別查詢 寵物類別修改 寵物類別刪除 新增寵物類別l 寵物信息管理 寵物大小類別,是否有傷人危險 寵物是否注冊疫苗,何時,何地 寵物有監(jiān)管人或流浪或被社區(qū)收容 寵物的其他信息以及備注 寵物查詢 寵物修改 寵物刪除 新增寵物l 寵物監(jiān)管人管理 寵物監(jiān)管人性別年齡 寵物監(jiān)管人與寵物關系 寵物監(jiān)管人工作及工作住址 寵物監(jiān)管人聯系方式等 寵物監(jiān)管人查詢 寵物監(jiān)管人添加 寵物監(jiān)管人信息修改 寵物監(jiān)管人刪除l 用戶評論管理 評論內容管理 用戶評論查詢l 用戶登錄管理 用戶注冊 用戶登錄 用戶密碼修改l 相關文檔管理 文檔信息查看 文檔信息添加 文檔信息刪除l 個人信息管理 管理員密碼更改 退出系統2.4 數據庫結構設計:本系統分為4大模塊,用戶管理模塊,寵物管理模塊,文檔管理模塊以及留言板管理模塊,其中寵物管理模塊又分為寵物信息管理,寵物類別,寵物監(jiān)管人信息管理。注冊用戶以及管理員分別對數據管理擁有自己的權限。圖4-2:整體框架E-R圖用戶名密碼管理員管理寵物管理系統管理登錄注冊用戶修改密碼寵物信息監(jiān)管人信息寵物類型文檔信息留言信息用戶信息增加留言添加管理員增加寵物以及監(jiān)管人信息注冊用戶查看文檔系統ER圖2.5系統的用例圖2.5.1 總體用例分析總體用例圖如圖,用戶管理、寵物,寵物類別及寵物監(jiān)管人管理、留言板管理、文檔管理四個模塊構成了本寵物管理系統。User是指系統用戶,包括普通注冊用戶和管理員兩種,普通注冊用戶只可以查看各種信息,以及添加與自己有關的信息,管理員才可以添加,查看,刪除,修改各種信息。2.5.2 用戶管理用例分析用戶管理用例圖如圖,用戶管理模塊主要包括:用戶登陸、用戶注冊、用戶信息修改、用戶刪除、用戶信息查詢五個功能組成。2.5.3寵物,寵物類別及寵物監(jiān)管人管理信息管理用例圖如圖,寵物,寵物類別,寵物監(jiān)管人信息管理模塊主要包括:寵物信息管理,寵物類別管理,寵物監(jiān)管人信息管理三個功能模塊組成。2.5.4留言板管理留言板管理用例圖如圖,留言板管理模塊主要包括:留言板列表,留言板內容兩個個內容組成。2.5.5文檔管理 文檔管理用例圖文檔管理模塊主要包括:文章列表、文章內容兩個內容組成。2.6 系統出錯處理設計:(1)用戶輸入賬號跟密碼錯誤,需要在登錄框提示“信息錯誤,請重新填寫!”。(2) 用戶注冊賬戶時用了跟別人一樣的賬戶名,需要在注冊頁面提示“用戶名已存在!”。(3)用戶在提交注冊信息時,有姓名賬號密碼等未填寫時,需要彈出提示框:“未填寫的內容不能為空!”。(4)用戶在添加寵物有的時候,如果有未填寫或為選擇的狀況,需要在該頁面彈出提示框“未填寫的內容不能為空!”。三、寵物管理系統的實現3.1 寵物管理系統數據庫的實現Hibernate可以通過一個XML的mapping文件把一個POJO(Plain old java object)和數據庫中的表對應起來,在這個XML文件(一般命名為*.hbm.xml)中,配置好Object和數據庫中表的映射關系,然后把這個mapping加入到hibernate.cfg.xml中,這樣Hibernate在啟動時就可以加載這些mapping,并可以根據配置文件對對象實現自動的加載,并且可以對這些Object自動的維護。Session工廠的配置信息:applicationContext-bean.xml以上代碼是applicationContext-bean.xml文件中Session工廠的配置信息寵物信息數據庫表:如表所示,這是寵物信息的表,id是系統自動生成,其余的分別為寵物姓名,寵物類型,簡介,添加該寵物的用戶id,圖片,年齡是否疫苗,疫苗時間,疫苗地點,是否領養(yǎng),是否傷人等寵物信息。接下來會對它如何連接到工程以及如何實現該功能做詳細介紹。其中圖片在petaction中默認由本地,上傳到服務器上的upload文件夾中,以便游客瀏覽以及管理員管理,id為系統自動+1生成,userid與user列表中的userid一致,typename與t_type列表中的typename一致,需要t_type預添加。3.3 寵物管理系統功能說明根據對寵物管理系統業(yè)務流程的分析,用戶登錄后要能自己添加自己的寵物信息,包括寵物的姓名,年齡,寵物的id,上傳圖片,是否疫苗,疫苗事件,疫苗地點,是否領養(yǎng)以及是否傷人等信息。用戶登錄后可以瀏覽別的用戶的寵物信息,而管理員可以對用戶前臺添加的信息進行修改與刪除。3.4主要的寵物信息管理的實現3.4.1 DAO層的實現數據訪問層,又稱DAO層,在該層主要完成對象-關系映射的建立,通過這個映射,再通過訪問業(yè)務對象即可實現對數據庫的訪問,使得開發(fā)中不必再用SQL語句編寫復雜的數據庫訪問程序,這樣就簡化了對數據庫的訪問,提高了開發(fā)效率。同時通過對象-關系映射的配置,可以建立業(yè)務對象之間的復雜關系,如一對多、多對一、一對一、多對多等關系。這樣就不再需要在數據庫中建立表之間的復雜聯系,使得業(yè)務對象之間的關系和數據庫相分離,簡化了數據庫的建立和維護。在這一層中主要使用Hibernate框架來實現。Tpet以及Tpet.hbm.xml為hibernate自動生成文件,用于連接數據庫。3.4.2 Service層的實現Service為業(yè)務邏輯層,主要業(yè)務邏輯包括這些類分別實現了相應的接口,這些類在工作的過程中還需要依賴相應的DAO對象和JavaBean對象。實際操作時,在Action中通過Service對DAO接口進行調用,使整個系統有良好的層次。比如這邊Petservices調用TPet,而PetserviceImpl繼承Petservices,進行查詢、添加、修改和刪除操作。Petservices代碼:import com.oa.models.TPet;import com.oa.utils.PageInfo;public interface PetServices /查詢public PageInfo queryPet(int currentpage, int pageunit,HttpServletRequest request, String url, String cond);/添加public Boolean addPet(TPet pet);/修改public Boolean updatePet(TPet pet);/ID查詢public TPet getPet(Integer id);/刪除public TPet delPet(Integer id);PetserviceImpl主要代碼:public class PetServicesImpl extends AbstractServices implements PetServices /查詢public PageInfo queryPet(int currentpage, int pageunit,HttpServletRequest request, String url, String cond) int rowCount = this.getPetsCount(cond);List list = this.getPets(currentpage,pageunit, cond);PageInfo PageInfo = new PageInfo(currentpage, pageunit, rowCount, url,list);return PageInfo;/獲得public List getPets(int currentpage, int pageunit,String cond) try String hql = from TPet a where 1=1 + cond;return this.query(hql, currentpage, pageunit); catch (Exception e) e.printStackTrace();return null;/添加public Boolean addPet(TPet pet) save(pet);return true;以上為查詢以及添加的代碼,其余刪除修改略。3.4.3 Action層的實現Action用于處理視圖層與業(yè)務層之間的銜接,當頁面產生一個動作請求時候,通過Struts配置文件找到對應的Action中的接口,經過Action處理后返回結果并從Struts的配置文件中找到對應的跳轉頁面。查詢代碼:public String queryPet() throws Exceptionif (getSessionAttribute(querypageunit) = null) setSessionAttribute(querypageunit,this.pageunit);StringBuffer cond = new StringBuffer();if(null!=searchname&!=searchname.trim()cond.append( and a.petname like %+searchname.trim()+% );int curpage = Integer.parseInt(this.getCurrentpage(ServletActionContext.getRequest();int pageunit = Integer.parseInt(this.getPageunit(ServletActionContext.getRequest(), querypageunit);String url = pet_queryPet?a=a;PageInfo pageInfo = this.petServices.queryPet(curpage,pageunit, ServletActionContext.getRequest(), url, cond.toString();setRequestAttribute(pageinfo, pageInfo);setRequestAttribute(searchname, this.searchname);return queryPet;預添加以及添加代碼:public String preaddPet() throws ExceptionList list = typeServices.queryType();setRequestAttribute(list,list);return preaddPet;public String addPet() throws ExceptionTUser user = (TUser) getSessionAttribute(user);TPet pet = new TPet();pet.setAge(age);pet.setIsbiter(isbiter);pet.setIsuser(isuser);pet.setPetname(petname);pet.setRemark(remark);pet.setTypename(typename);pet.setUserid(user.getUsername();pet.setVacadrr(vacadrr);pet.setVaccin(vaccin);pet.setVaccin(vaccin);pet.setVacdate(vacdate);/ 將圖片上傳到工程下的upload文件夾中String targetDirectory = ServletActionContext.getRequest().getRealPath(/upload);String targetFileName = generateFileName(pictureFileName);File target = new File(targetDirectory, targetFileName);FileUtils.copyFile(picture, target);pet.setPicture(targetFileName);petServices.addPet(pet);return addPet;預添加將后臺管理員添加的寵物類型添加到寵物信息,添加功能中有圖片上傳。查看代碼:public String viewPet() throws ExceptionTPet pet = petServices.getPet(id);setRequestAttribute(pet,pet);return viewPet;其余修改刪除代碼等省略。struts中寵物管理功能的實現: /files/pet/list.jsp pet_queryPet pet_queryPet pet_queryPet /files/pet/add.jsp /files/pet/update.jsp /files/pet/view.jsp 3.4.4 靜態(tài)Jps頁面的實現表現層其余靜態(tài)頁面運用css模塊統一風格,其中pet功能頁面代碼均在files/pet/文件夾中,添加寵物信息為add.jsp,查看寵物信息為view.jsp,查看寵物列表為list.jsp,修改寵物信息為update.jsp,由struts控制跳轉,代碼略。結合Struts 的表現層標簽, JSP 可完成全部的表現層功能一一數據收集、數據表示和客戶端數據校驗四、實現效果主界面,要求具有分類展現功能,網站產品再次一覽無余。要求:據右側邊條將所有產品的簡錄的鏈接展示在此處,能從此處進product界面。界面中間部分是圖形界面要求生動且說明性強,充分展示產品的風格。此外還要有登錄和注冊、幫助功能、返回功能等。界面運行情況如下:系統主界面客戶瀏覽網站時通過點擊左邊的邊跳導航,可以進入品種列表界面。通過點擊登錄按鈕,可以進入登錄窗口。品種列表信息界面:這是某一類寵物的詳細的展示,界面中部是產品列表,但只是簡單展示。進一步展示在其下屬界面中。界面運行情況如下(貓類): 品種列表信息界面單一寵物所有信息展示界面,此界面中部是單一寵物的詳細信息列表,包括照片、產地、習性、價格、庫存,同時還有議案家購物車的連接部分。界面運行情況如下: 犬類信息展示登錄窗口界面:是客戶登陸網站的界面,有供客戶
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 青島市L區(qū)智慧養(yǎng)老服務問題與對策研究
- 轉動型雙階摩擦阻尼器力學性能研究
- 肝膽疾病超聲診斷
- 幼兒園大班健康禮儀下冊
- 呼吸機的使用及護理
- 創(chuàng)新養(yǎng)老服務模式與老年健康管理實踐
- 《機械設計基礎》課件-第12章 機械傳動設計
- 學生心理疏通和輔導培訓會
- 預防兒童流感課件
- 感染科主要診斷
- 2025年校長職級考試題及答案
- 國家能源集團采購管理規(guī)定及實施辦法知識試卷
- 2023-2024學年四川省成都市高新區(qū)八年級(下)期末數學試卷
- 2025年廣西繼續(xù)教育公需科目考試試題和答案
- 2024年廣州市南沙區(qū)社區(qū)專職招聘考試真題
- 山東醫(yī)藥技師學院招聘筆試真題2024
- (高清版)DB13(J)∕T 8556-2023 建設工程消耗量標準及計算規(guī)則(園林綠化工程)
- JJF 1334-2012混凝土裂縫寬度及深度測量儀校準規(guī)范
- GB/T 3003-2017耐火纖維及制品
- GB/T 1094.1-2013電力變壓器第1部分:總則
- 經濟責任審計報告
評論
0/150
提交評論