基于Java( Spring+SpringMVC+JDBC)+MySQL实现(Web)家电售后服务系统【100010064】
一、家電售后服務(wù)系統(tǒng)
1.1 背景
隨著生活質(zhì)量的提高,現(xiàn)在各家各戶都在使用家電,但是在家電被購買之后,免不了會出現(xiàn)一些問題,需要廠家提供一些技術(shù)支持等,家電售后服務(wù)就成了廠家和用戶之間一個重要的交流平臺,而家電售后服務(wù)系統(tǒng)是廠家為了提供給各戶客戶售后服務(wù)的平臺,旨在為客戶提供更好,更優(yōu)異的售后服務(wù),確保客戶能夠買的放心,用的安心。本系統(tǒng)便是基于此背景進(jìn)行開發(fā)
1.2 現(xiàn)狀及必要性
事實上,良好的家電售后服務(wù),不僅是滿足消費需求保護(hù)消費者權(quán)益的一-道重要防線,而且也是家電企業(yè)承擔(dān)社會責(zé)任的一種表現(xiàn),并且隨著家用電器行業(yè)發(fā)展到一-定階段,特別是家電企業(yè)處在從產(chǎn)品、價格、促銷等手段的競爭向品牌競爭的轉(zhuǎn)型時期,售后服務(wù)則承擔(dān)起更多的職能,成為企業(yè)塑造品牌、實施市場差異化競爭,構(gòu)建品牌增值內(nèi)涵的重要職能。所以構(gòu)建完善科學(xué)化的售后服務(wù)刻不容緩。國內(nèi)企業(yè):永樂電器公司在其快速的國內(nèi)市場發(fā)展中,其售后服務(wù)問題綜合國內(nèi)外各大家電品牌最具代表性,相應(yīng)的廠商售后服務(wù)建設(shè)是否完備直接影響其發(fā)展。
在社會主義市場經(jīng)濟(jì)繁榮發(fā)展的今天,買方市場逐漸形成。消費者成為市場主體中尤為重要的主題之一。 家電產(chǎn)品隨著老百姓消費能力的提高逐漸成為大眾消費品,獲取后續(xù)的良好地售后服務(wù)成為消費者最迫切的訴求。所以家電售后服務(wù)的建設(shè)有利于維護(hù)消費者的消費權(quán)益。
1.3 研究內(nèi)容
本文在互聯(lián)網(wǎng)發(fā)展快速、便捷的節(jié)奏下對已成型的售后服務(wù)發(fā)展方向及應(yīng)用狀況基礎(chǔ)上的分析,重點對家電售后的系統(tǒng)需求、業(yè)務(wù)流程、系統(tǒng)結(jié)構(gòu)、數(shù)據(jù)庫模型進(jìn)行分析和設(shè)計。
此系統(tǒng)運用了 B/S 架構(gòu)設(shè)計、MVC 三層架構(gòu)、JavaWeb 技術(shù)、HTML5+CSS3 頁面布局控制技術(shù)等,實現(xiàn)了客戶咨詢模塊、客戶投訴模塊模塊、客戶報修模塊、倉庫進(jìn)出貨物模塊、工人派遣模塊、報修信息記錄模塊的實現(xiàn)與設(shè)計。此系統(tǒng)完成后,客戶的報修、咨詢、投訴、倉庫庫存、工人的維修進(jìn)度、維修的記錄幾乎全部實現(xiàn)了可視化、可控性、及時獲取和實時監(jiān)控的信息化管理。將會大幅度地提高管理的效率、便捷與安全等,節(jié)約了生產(chǎn)運輸成本同時也可以根據(jù)市場信息更好的安排生產(chǎn)運輸以及更加貼心的售后服務(wù)。
1.4 課題意義和目的
現(xiàn)今社會,家電已經(jīng)成為了人們?nèi)粘I钪胁豢苫蛉钡囊徊糠?#xff0c;一個好的家電生產(chǎn)廠家應(yīng)該在用戶購買使用家電后給用戶一個好的售后服務(wù),讓客服買的安心,用得放心,因此開發(fā)了該家電售后服務(wù)系統(tǒng)。
家電售后服務(wù)系統(tǒng)是為本店客人提供售后服務(wù)的平臺,旨在為客戶提供更好,更優(yōu)異的售后服務(wù),確保客戶能夠買的放心,用的安心,主要包括以下功能:
- 客戶投訴。客戶是要進(jìn)行投訴的話,我們應(yīng)該記錄好客戶所反映的所有信息。
- 客戶報修。客戶進(jìn)行報修的話,我們要記錄客戶的詳細(xì)信息,并安排工人上門進(jìn)行維修。
- 客戶咨詢。客戶如果咨詢問題,我們要詳細(xì)回答克服的問題并做好記錄。
- 倉庫管理。我們要對倉庫的貨物進(jìn)行進(jìn)出貨管理,如果倉庫某件物品儲備量不足的話,要及時進(jìn)行補貨。
1.5 相關(guān)技術(shù)
該系統(tǒng)文檔描述中所用到的相關(guān)技術(shù)及其術(shù)語說明如表 1-1 所示:
| 用例圖 | 指由參與者(Actor)、(Use Case)以及它們之間的關(guān)系構(gòu)成的,用于描述系統(tǒng)功能的靜態(tài)視圖。 |
| 時序圖 | 描述對象之間發(fā)送消息的時間順序顯示多個對象之間的動態(tài)協(xié)作,是一種 UML 交互圖.。 |
| 類圖 | 顯示了模型的靜態(tài)結(jié)構(gòu),特別是模型中存在的類、類的內(nèi)部結(jié)構(gòu)以及它們與其他類的關(guān)系等。類圖不顯示暫時性信息。 |
| J2EE | J2EE 是一套全然不同于傳統(tǒng)應(yīng)用開發(fā)的技術(shù)架構(gòu),包含許多組件,主要可簡化和規(guī)范應(yīng)用系統(tǒng)的部署與開發(fā),進(jìn)而提高可移植性、安全性與再利用價值。 |
| SSM 框架 | SSM 是 Spring+SpringMVC+JDBC 的一個集成框架,是目前是繼 SSH 之后流行的一種 Web 應(yīng)用程序開源框架。 |
| AJAX 技術(shù) | 即“Asynchronous JavaScript and XML”(異步 JavaScript 和 XML),是一種異步局部刷新技術(shù) |
| MySQL | MySQL 是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。 |
| JDBC | JDBC(Java Data Base Connectivity,java 數(shù)據(jù)庫連接)是一種用于執(zhí)行 SQL 語句的 Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用 Java 語言編寫的類和接口組成。 |
| JSP | JSP 技術(shù)使用 Java 編程語言編寫類 XML 的 tags 和 Scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過 tags 和 Scriptlets 訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP 將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示分離,支持可重用的基于組件的設(shè)計,使基于 Web 的應(yīng)用程序的開發(fā)變得迅速和容易。 |
| Spring | Spring 是一個開源框架,Spring 使用基本的 JavaBean 來完成以前只可能由 EJB 完成的事情。然而,Spring 的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何 Java 應(yīng)用都可以從 Spring 中受益。簡單來說,Spring 是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。 |
| SringMVC | Spring MVC 屬于 SpringFrameWork 的后續(xù)產(chǎn)品,Spring MVC 分離了控制器、模型對象、分派器以及處理程序?qū)ο蟮慕巧?#xff0c;這種分離讓它們更容易進(jìn)行定制。 |
| ASHX | 是對家電售后系統(tǒng)的需求簡寫 |
| ASH | 是對家電售后系統(tǒng)的簡寫 |
| ASH-UC-* | 是對家電售后系統(tǒng)的用例規(guī)約 ID 縮寫 |
二、需求分析
家電售后服務(wù)系統(tǒng)是一個綜合型服務(wù)系統(tǒng)。它包含三個較大的子模塊,即:服務(wù)、倉庫管理和信息記錄。本章節(jié)將詳細(xì)講述家電售后服務(wù)系統(tǒng)的需求分析,采用面向?qū)ο蟮姆治龇椒?#xff0c;使用 UML 建立系統(tǒng)用例模型,創(chuàng)建系統(tǒng)功能模型。
2.1 總體需求
家電售后服務(wù)系統(tǒng)的用戶分為四類:經(jīng)理、服務(wù)員、倉庫管理員、信息管理員。家電售后服務(wù)系統(tǒng)有維修工人和自己的倉庫,有自己的財物結(jié)算,主要任務(wù)包括客戶的投訴處理、客戶的咨詢處理、客戶的報修處理、倉庫物品進(jìn)出記錄、維修進(jìn)度查詢和維修結(jié)果記錄。
- 經(jīng)理
- 經(jīng)理為該系統(tǒng)的總管理員,可使用所有其他角色的工作模塊。
- 服務(wù)員
- 客戶咨詢:對客戶咨詢的問題進(jìn)行回答并作詳細(xì)記錄。
- 客戶投訴:對客戶的投訴的問題進(jìn)行詳細(xì)記錄。
- 客戶報修:記錄客戶的保修詳細(xì)信息,并派遣工人前往維修。
- 倉庫管理員
- 倉庫管理:對倉庫的貨物進(jìn)行管理和記錄,并對庫存不足的貨物及時進(jìn)行補貨。
- 倉庫入庫:對倉庫的入庫物品進(jìn)行記錄。
- 倉庫出庫:對倉庫的出庫物品進(jìn)行記錄。
- 信息管理員
- 對維修的接股票和維修記錄進(jìn)行記錄并按照維修結(jié)果對工人發(fā)放獎金。
2.2 功能需求
對于家電售后服務(wù)系統(tǒng)的功能需求用例描述如圖 2-1 所示:
圖 2-1 系統(tǒng)用例
2.2.1 系統(tǒng)角色
經(jīng)理的功能有所有其他角色的相關(guān)功能。如圖 2-2 所示:
圖 2-2 經(jīng)理功能
服務(wù)員的功能有:客戶咨詢信息錄入、客戶投訴信息錄入、客戶報修信息錄入、維修工人派遣。如圖 2-2 所示:
圖 2-3 服務(wù)員功能
倉庫管理員的功能有:倉庫庫存記錄、倉庫物品出庫、倉庫物品入庫。如圖 2-3 所示:
圖 2-4 倉庫管理員功能
信息管理員的功能有:維修結(jié)果記錄、查詢。如圖 2-5 所示:
圖 2-5 信息管理員功能
2.2.2 需求描述
登錄
關(guān)聯(lián)角色:經(jīng)理、服務(wù)員、倉庫管理員、信息管理員
需求編號:ASHX-001
需求描述:系統(tǒng)數(shù)據(jù)庫中存在的用戶,無論什么角色,如系經(jīng)理、服務(wù)員、倉庫管理員、信息管理員,都可以登錄進(jìn)入該系統(tǒng)。
備注說明:該系統(tǒng)數(shù)據(jù)庫中必須存在用戶的登錄賬號和密碼,才可進(jìn)行登錄操作。
客戶咨詢
關(guān)聯(lián)角色:服務(wù)員
需求編號:ASHX-002
需求描述:服務(wù)員登陸后,針對客戶咨詢的問題進(jìn)行詳細(xì)的解答并錄入系統(tǒng)。
備注說明:登錄后,才可進(jìn)行相關(guān)的操作。
客戶投訴
關(guān)聯(lián)角色:服務(wù)員
需求編號:ASHX-003
需求描述:服務(wù)員登錄后,將客戶投訴的問題錄入系統(tǒng)。
備注說明:登錄后,才可進(jìn)行相關(guān)的操作。
客戶報修
關(guān)聯(lián)角色:服務(wù)員
需求編號:ASHX-004
需求描述:服務(wù)員登錄后,將客戶報修的信息和聯(lián)系方式進(jìn)行記錄。
備注說明:登錄后,才可進(jìn)行相關(guān)的操作。
工人派遣
關(guān)聯(lián)角色:服務(wù)員
需求編號:ASHX-005
需求描述:管理員登錄后,可以查看已經(jīng)報修的客戶信息列表,并派遣工人前往維修。
備注說明:登錄后,才可進(jìn)行相關(guān)的操作。
倉庫庫存
關(guān)聯(lián)角色:倉庫管理員
需求編號:ASHX-006
需求描述:倉庫管理員登錄后,可以查看倉庫內(nèi)的庫存物品信息。
備注說明:登錄后,才可進(jìn)行相關(guān)的操作。
庫存錄入
關(guān)聯(lián)角色:倉庫管理員
需求編號:ASHX-007
需求描述:倉庫管理員登錄后,可以針對倉庫內(nèi)庫存不足的貨物進(jìn)行補貨,也可以對維修工人借走的維修工具和配件進(jìn)行歸還,同時針對維修工人帶回的廢舊配件進(jìn)行記錄。
備注說明:登錄后,才可進(jìn)行相關(guān)的操作。
庫存出庫
關(guān)聯(lián)角色:倉庫管理員
需求編號:ASHX-008
需求描述:倉庫管理員登錄后,針對維修工人借走的維修工具和配件進(jìn)行詳細(xì)記錄。
備注說明:登錄后,才可進(jìn)行相關(guān)的操作。
維修記錄
關(guān)聯(lián)角色:信息管理員
需求編號:ASHX-009
需求描述:信息管理員登錄后,可以針對維修工人帶回的維修記錄表進(jìn)行記錄,并對維修工人進(jìn)行獎金發(fā)放。
備注說明:登錄后,才可進(jìn)行相關(guān)的操作。
2.3 非功能需求
2.3.1 性能要求
系統(tǒng)支持多用戶并發(fā)操作。
系統(tǒng)處理操作響應(yīng)時間不超過 10 秒。
2.3.2 可擴(kuò)展性
系統(tǒng)當(dāng)前使用的人數(shù)不多且功能簡單,對于后期使用人數(shù)的增多以及功能的修改和增刪,都能夠做出相應(yīng)的擴(kuò)展。
2.3.3 可用性
保證正常情況下系統(tǒng)可用,可允許系統(tǒng)每月停機(jī)一段時間,來進(jìn)行相關(guān)的系統(tǒng)維護(hù)。維護(hù)時間可安排在恰當(dāng)?shù)姆枪ぷ鲿r間進(jìn)行。
2.3.4 安全性
操作跟蹤
針對系統(tǒng)運行出現(xiàn)的異常,跟蹤調(diào)查出現(xiàn)異常的情況,有針對性的解決問題。
系統(tǒng)日志,便于查看系統(tǒng)的運行情況。
操作日志, 提供用戶在系統(tǒng)中增加、修改系統(tǒng)數(shù)據(jù)信息時日志記錄,用于跟蹤用戶的相關(guān)操作。
訪問控制
頁面不可以直接訪問,防止他人對頁面進(jìn)行篡改。頁面訪問通過連接動作驅(qū)動有效防止用戶通過地址欄輸入地址而對信息非法訪問作了權(quán)限檢查相關(guān)操作。
2.3.5 易用性
系統(tǒng)簡單、易用,具有清晰的導(dǎo)航功能,使用戶能快速找到自己想要執(zhí)行的操作頁面。同時,也能保證用戶通閱讀用戶手冊,可以使用此系統(tǒng)。
2.3.6 開發(fā)環(huán)境
軟件約束
家電售后服務(wù)系統(tǒng)采用 IntelliJ IDEA 和 MySQL 為工具進(jìn)行開發(fā)。
開發(fā)及運行的軟件環(huán)境為:win10;
開發(fā)系統(tǒng)平臺:IntelliJ IDEA + Tomcat8.0 + JDK1.8;
瀏覽器:Internet Explorer 8.0 或者以上版本、Googole、Firefox 等;
數(shù)據(jù)庫:MySQL;
開發(fā)框架:SSM 框架,jQuery,Easyui。
硬件約束
操作系統(tǒng):32/64 位的 Windows 7/8 及以上系統(tǒng)
2.4 用例規(guī)約描述
本章節(jié)主要根據(jù)《軟件需求規(guī)格說明書》,來進(jìn)行的用例建模,并對用例模型進(jìn)行具體描述。用例規(guī)約是面向?qū)ο蠓治龊驮O(shè)計的重要步驟。
2.4.1 用例目的
用例是從外部角度描述用戶和系統(tǒng)之間相互作用的行為,表達(dá)系統(tǒng)應(yīng)該做什么。本文檔通過用例規(guī)約,來進(jìn)一步描述該系統(tǒng)需求,它是系統(tǒng)設(shè)計的基礎(chǔ),也是測試用例編寫的重要依據(jù)。
2.4.2 用例描述
用戶登錄
用戶登錄系統(tǒng)后臺的用例規(guī)約如表 2-1 所示:
表 2-1 用戶登錄用例規(guī)約
| 用例 ID | ASH-UC-001 |
| 用例說明 | 用戶登錄系統(tǒng) |
| 執(zhí)行者 | 經(jīng)理、服務(wù)員、倉庫管理員、信息管理員 |
| 前置條件 | 無 |
| 主成功場景 | 用戶訪問系統(tǒng);系統(tǒng)顯示登錄頁面;用戶輸入用戶名和密碼,選擇登錄身份,然后單擊“登錄”按鈕;系統(tǒng)驗證用戶名和密碼、身份及用戶的狀態(tài) ;系統(tǒng)顯示登錄成功后的個人資料頁面 |
| 擴(kuò)展 1 | (4a)用戶名和密碼為空、身份未選;(4a1) 系統(tǒng)彈出提示框“用戶名或密碼錯誤”,顯示當(dāng)前的登錄頁。;(4a2) 返回主成功場景步驟(3) |
| 擴(kuò)展 2 | (4b) 用戶名或密碼或身份填寫錯誤或用戶被禁用;(4b1) 系統(tǒng)彈出提示框“用戶名或密碼錯誤”,顯示當(dāng)前的登錄頁;(4b2) 返回主成功場景步驟(3) |
| 后置條件: | 登錄成功,可以進(jìn)行權(quán)限范圍內(nèi)的其他操作。 |
| 備注說明: | 只有系統(tǒng)數(shù)據(jù)庫中存在的用戶才可按身份登錄該系統(tǒng)。 |
客戶咨詢
服務(wù)員、經(jīng)理登錄系統(tǒng)后臺進(jìn)行客戶咨詢處理操作的用例規(guī)約如表 2-2 所示:
表 2-2 客戶咨詢處理用例規(guī)約
| 用例 ID | ASH-UC-002 |
| 用例說明 | 服務(wù)員操作系統(tǒng)管理模塊的客戶信息模塊—客戶咨詢 |
| 執(zhí)行者 | 服務(wù)員、經(jīng)理 |
| 前置條件 | 登錄成功 |
| 主成功場景 | 服務(wù)員或經(jīng)理進(jìn)入系統(tǒng)后臺主頁;選擇后臺主頁左側(cè)的菜單導(dǎo)航欄的“報修、咨詢及投訴”,展開其子菜單,點擊“客戶咨詢”,進(jìn)入客戶咨詢處理界面;輸入相關(guān)的信息,點擊“提交信息”,即可完成客戶咨詢信息保存并錄入數(shù)據(jù)庫中;保存后會轉(zhuǎn)到客戶咨詢記錄界面,顯示所有的已咨詢問題 |
| 擴(kuò)展 | (3a)填寫信息格式不對或者為空 ;(3a1) 系統(tǒng)無法提交信息更新數(shù)據(jù)庫的信息咨詢表,并返回錯誤信息;(3a2) 返回主成功場景步驟(4) |
| 后置條件: | 客戶信息咨詢處理成功,可以進(jìn)行權(quán)限范圍內(nèi)的其他操作。 |
| 備注說明: | 只有輸入的信息格式正確,操作才可順利進(jìn)行 |
客戶投訴
經(jīng)理或管理員登錄系統(tǒng)后臺進(jìn)行客戶投訴處理操作的用例規(guī)約如表 2-3 所示:
表 2-3 客戶投訴處理用例規(guī)約
| 用例 ID | ASH-UC-003 |
| 用例說明 | 服務(wù)員操作系統(tǒng)管理模塊的客戶信息模塊—客戶咨詢 |
| 執(zhí)行者 | 服務(wù)員、經(jīng)理 |
| 前置條件 | 登錄成功 |
| 主成功場景 | 服務(wù)員或經(jīng)理進(jìn)入系統(tǒng)后臺主頁;選擇后臺主頁左側(cè)的菜單導(dǎo)航欄的“報修、咨詢及投訴”,展開其子菜單,點擊“客戶投訴”,進(jìn)入客戶投訴處理界面;輸入相關(guān)的信息,點擊“提交信息”,即可完成客戶投訴信息保存并錄入數(shù)據(jù)庫中;保存后會轉(zhuǎn)到客戶投訴記錄界面,顯示所有的已投訴問題 |
| 擴(kuò)展 | (3a)填寫信息格式不對或者為空 ;(3a1) 系統(tǒng)無法提交信息更新數(shù)據(jù)庫的信息投訴表,并返回錯誤信息;(3a2) 返回主成功場景步驟(4) |
| 后置條件: | 客戶投訴處理成功,可以進(jìn)行權(quán)限范圍內(nèi)的其他操作。 |
| 備注說明: | 只有輸入的信息格式正確,操作才可順利進(jìn)行 |
客戶報修
服務(wù)員或經(jīng)理登錄系統(tǒng)后臺進(jìn)行客戶報修處理操作的用例規(guī)約如表 2-4 所示:
表 2-4 客戶報修處理用例規(guī)約
| 用例 ID | ASH-UC-004 |
| 用例說明 | 服務(wù)員操作系統(tǒng)管理模塊的客戶信息模塊—客戶咨詢 |
| 執(zhí)行者 | 服務(wù)員、經(jīng)理 |
| 前置條件 | 登錄成功 |
| 主成功場景 | 服務(wù)員或經(jīng)理進(jìn)入系統(tǒng)后臺主頁;選擇后臺主頁左側(cè)的菜單導(dǎo)航欄的“報修、咨詢及投訴”,展開其子菜單,點擊“客戶報修”,進(jìn)入客戶報修處理界面;輸入相關(guān)的信息,點擊“提交信息”,即可完成客戶報修信息保存并錄入數(shù)據(jù)庫中;保存后會轉(zhuǎn)到客戶報修記錄界面,顯示所有的已報修問題;點擊相應(yīng)報修記錄的“查看”按鈕,即可轉(zhuǎn)到詳細(xì)報修記錄;可為狀態(tài)為未修好和未維修的報修記錄再次派遣工人 |
| 擴(kuò)展 | (3a)填寫信息格式不對或者為空 ;(3a1) 系統(tǒng)無法提交信息更新數(shù)據(jù)庫的信息報修表,并返回錯誤信息;(3a2) 返回主成功場景步驟(4);(6a)填寫信息格式不對或者為空 ;(6a1) 系統(tǒng)無法提交信息更新數(shù)據(jù)庫的工人派遣表和保修處理記錄表,并返回錯誤信息;(6a2) 返回主成功場景步驟(4) |
| 后置條件: | 客戶報修處理成功成功,可以進(jìn)行權(quán)限范圍內(nèi)的其他操作。 |
| 備注說明: | 只有輸入的信息格式正確,操作才可順利進(jìn)行 |
倉庫庫存
倉庫管理員或經(jīng)理登錄系統(tǒng)后臺進(jìn)行倉庫庫存查詢操作的用例規(guī)約如表 2-5 所示:
表 2-5 倉庫庫存查詢用例規(guī)約
| 用例 ID | ASH-UC-005 |
| 用例說明 | 倉庫管理員操作系統(tǒng)管理模塊的倉庫管理—倉庫內(nèi)物品信息 |
| 執(zhí)行者 | 經(jīng)理、倉庫管理員 |
| 前置條件 | 登錄成功 |
| 主成功場景 | 經(jīng)理或倉庫管理員進(jìn)入系統(tǒng)后臺主頁;選擇后臺主頁左側(cè)的菜單導(dǎo)航欄的“倉庫管理”,展開其子菜單,點擊“倉庫內(nèi)物品信息”,進(jìn)入倉庫庫存查詢界面;在此界面先死倉庫內(nèi)物品的所有信息 |
| 擴(kuò)展 | |
| 后置條件: | 倉庫庫存查詢成功,可以進(jìn)行權(quán)限范圍內(nèi)的其他操作。 |
| 備注說明: |
物品入庫
經(jīng)理或倉庫管理員登錄系統(tǒng)后臺進(jìn)行對物品的入庫操作用例規(guī)約如表 2-6 所示:
表 2-6 物品的入庫操作用例規(guī)約
| 用例 ID | ASH-UC-006 |
| 用例說明 | 倉庫管理員操作系統(tǒng)管理模塊的倉庫管理—物品入庫 |
| 執(zhí)行者 | 經(jīng)理、倉庫管理員 |
| 前置條件 | 登錄成功 |
| 主成功場景 | 經(jīng)理或倉庫管理員進(jìn)入系統(tǒng)后臺主頁;選擇后臺主頁左側(cè)的菜單導(dǎo)航欄的“倉庫管理”,展開其子菜單,點擊“物品入庫”,進(jìn)入倉庫入庫界面;輸入相應(yīng)的入庫物品信息,系統(tǒng)將信息更新到數(shù)據(jù)庫中的庫存表里;返回到倉庫內(nèi)物品信息頁中顯示 |
| 擴(kuò)展 | (3a) 輸入的信息格式不符合;(3a1) 系統(tǒng)無法提交信息更新數(shù)據(jù)庫的庫存表。;(3a2) 返回主成功場景步驟(4) |
| 后置條件: | 相關(guān)操作成功,可以進(jìn)行權(quán)限范圍內(nèi)的其他操作。 |
| 備注說明: | 進(jìn)行物品入庫操作時,輸入的信息格式要正確 |
物品出庫
經(jīng)理或倉庫管理員登錄系統(tǒng)后臺進(jìn)行倉庫內(nèi)物品出庫操作用例規(guī)約如表 2-7 所示:
表 2-7 倉庫內(nèi)物品出庫操作用例規(guī)約
| 用例 ID | ASH-UC-007 |
| 用例說明 | 倉庫管理員操作系統(tǒng)管理模塊的倉庫管理—物品出庫 |
| 執(zhí)行者 | 經(jīng)理、倉庫管理員 |
| 前置條件 | 登錄成功 |
| 主成功場景 | 經(jīng)理或倉庫管理員進(jìn)入系統(tǒng)后臺主頁;選擇后臺主頁左側(cè)的菜單導(dǎo)航欄的“倉庫管理”,展開其子菜單,點擊“物品出庫”,進(jìn)入倉庫出庫界面;輸入相應(yīng)的出庫物品信息,系統(tǒng)將信息更新到數(shù)據(jù)庫中的庫存表里;返回到倉庫內(nèi)物品信息頁中顯示 |
| 擴(kuò)展 | (3a) 輸入的信息格式不符合;(3a1) 系統(tǒng)無法提交信息更新數(shù)據(jù)庫的庫存表。;(3a2) 返回主成功場景步驟(4) |
| 后置條件: | 相關(guān)操作成功,可以進(jìn)行權(quán)限范圍內(nèi)的其他操作。 |
| 備注說明: | 進(jìn)行物品出庫操作時,輸入的信息格式要正確 |
錄入維修記錄
經(jīng)理或信息管理員登錄系統(tǒng)后臺進(jìn)行維修記錄錄入操作用例規(guī)約如表 2-8 所示:
表 2-8 維修記錄錄入操作用例規(guī)約
| 用例 ID | ASH-UC-008 |
| 用例說明 | 經(jīng)理、信息管理員操作系統(tǒng)管理模塊的維修記錄—錄入維修記錄 |
| 執(zhí)行者 | 經(jīng)理、信息管理員 |
| 前置條件 | 登錄成功 |
| 主成功場景 | 經(jīng)理或信息管理員進(jìn)入系統(tǒng)后臺主頁;選擇后臺主頁左側(cè)的菜單導(dǎo)航欄的“維修記錄”,展開其子菜單,點擊“錄入維修記錄”,進(jìn)入待錄入維修記錄列表界面;選擇要錄入的維修記錄,點擊查看,進(jìn)入詳細(xì)維修記錄錄入界面;按格式輸入相應(yīng)的信息,點擊確認(rèn)即可完成信息的錄入;返回到已錄入維修記錄列表 |
| 擴(kuò)展 | (4a) 輸入的信息格式不符合;(4a1) 系統(tǒng)無法提交信息更新數(shù)據(jù)庫的庫存表。;(4a2) 返回主成功場景步驟(4) |
| 后置條件: | 相關(guān)操作成功,可以進(jìn)行權(quán)限范圍內(nèi)的其他操作。 |
| 備注說明: | 進(jìn)行維修記錄錄入操作時,輸入的信息格式要正確 |
維修記錄查看
經(jīng)理或者信息管理員登錄系統(tǒng)后臺進(jìn)行維修記錄查看操作用例規(guī)約如表 2-9 所示:
表 2-9 維修記錄查看操作用例規(guī)約
| 用例 ID | ASH-UC-009 |
| 用例說明 | 經(jīng)理、信息管理員操作操作系統(tǒng)管理模塊的維修記錄–維修完成記錄表 |
| 執(zhí)行者 | 經(jīng)理、信息管理員 |
| 前置條件 | 登錄成功 |
| 主成功場景 | 經(jīng)理或信息管理員進(jìn)入系統(tǒng)后臺主頁;選擇后臺主頁左側(cè)的菜單導(dǎo)航欄的“維修記錄”,展開其子菜單,點擊“維修完成記錄表”,進(jìn)入已完成維修記錄列表界面;選擇要查看的維修記錄,點擊查看,進(jìn)入詳細(xì)維修記錄查看入界面;點擊確認(rèn)返回已完成維修記錄列表。 |
| 擴(kuò)展 | |
| 后置條件: | 已完成維修記錄查看成功,可以進(jìn)行權(quán)限范圍內(nèi)的其他操作。 |
| 備注說明: |
三、系統(tǒng)分析
家電售后服務(wù)平臺實現(xiàn)對用戶咨詢、投訴和保修的處理,主要分為維修記錄管理、倉庫管理、客戶需求處理三個層次結(jié)構(gòu)。系統(tǒng)的總體結(jié)構(gòu)圖如下所示:
圖 3-1 系統(tǒng)總體結(jié)構(gòu)
3.1 靜態(tài)模型
3.1.1 實體類
- 有屬性
- 有操作
- 與其他類有關(guān)聯(lián)
類描述了一組對象的公共屬性和行為,類為對象規(guī)定了它們的屬性和所能提供的操作。下面是該系統(tǒng)中經(jīng)理權(quán)限內(nèi)各個類之間的關(guān)聯(lián)模型圖。這些類包括:服務(wù)員、信息管理員、倉庫管理員、維修工人、客戶的咨詢、投訴、保修信息、維修記錄表、倉庫庫存表、物品的入庫和出庫等。如圖 3-1 所示:
圖 3-2 分析實體類
3.1.2 邊界類
系統(tǒng)的用戶通過邊界類與系統(tǒng)打交道,用戶向邊界類發(fā)起訪問,邊界類把用戶的申請?zhí)峤唤o控制類,控制類最終訪問實體類。一般在進(jìn)行設(shè)計時可能一個用例對應(yīng)一個邊界類,也可能是一個用戶對應(yīng)一個邊界類,有時一個邊界類可能還要調(diào)用另一個邊界類才能完成用例。系統(tǒng)主要的邊界類如下表所示,邊界類的命名以具體的英文描述,系統(tǒng)的邊界類說明如表 3-1 所示:
表 3-1 系統(tǒng)邊界類說明表
| login.jsp | 后臺登錄邊界類 |
| main.jsp | 后臺登錄成功主頁面邊界類 |
| complaint.jsp | 投訴信息邊界類 |
| complaintcheck.jsp | 投訴處理邊界類 |
| complaintlist.jsp | 投訴信息列表邊界類 |
| consult.jsp | 咨詢信息邊界類 |
| consultlist.jsp | 咨詢信息列表邊界類 |
| fixLogCheck.jsp | 已完成維修信息查看邊界類 |
| fixLoged.jsp | 已完成維修信息列表邊界類 |
| fixLoging.jsp | 未完成維修信息列表邊界類 |
| index.jsp | 系統(tǒng)主頁邊界類 |
| left.jsp | 用戶模塊顯示邊界類 |
| inside.jsp | 物品入庫邊界類 |
| outside.jsp | 物品出庫邊界類 |
| repair.jsp | 報修信息邊界類 |
| repaircheck.jsp | 報修信息查看邊界類 |
| repairlist.jsp | 報修信息列表邊界類 |
| return.jsp | 物品歸還邊界類 |
| storage.jsp | 庫存查看邊界類 |
| updateFixLog.jsp | 維修記錄完善邊界類 |
| workerlist.jsp | 工人列表邊界類 |
3.1.3 控制類
邊界類通過控制類訪問實體類,這是三層架構(gòu)設(shè)計體系結(jié)構(gòu),本系統(tǒng)一個實體類基本有一個控制類做管理。系統(tǒng)主要的控制類如表 3-2 所示:
表 3-2 系統(tǒng)控制類說明表
| LoginServlet | 用戶登錄控制類 |
| ComplaintServlet | 投訴信息控制類 |
| ConsultServlet | 咨詢信息控制類 |
| FixLogServlet | 維修記錄控制類 |
| RepairServlet | 報修信息控制類 |
| StorageServlet | 庫存信息控制類 |
3.2 時序圖的分析
時序圖主要描述了不同對象之間發(fā)送消息的時間順序顯示多個對象之間的動態(tài)協(xié)作。本系統(tǒng)基本上對每個用例建立了一個時序圖,建立時序圖是為了進(jìn)一步描述用例。
本項目的體系結(jié)構(gòu)采用三層架構(gòu)規(guī)范。其中:
- 表示層,用于與用戶進(jìn)行交互并顯示結(jié)果,在時序圖中由邊界類來實現(xiàn)這一層。
- 控制層,主要完成三項任務(wù),一是調(diào)用實體類,二是業(yè)務(wù)邏輯驗證,三是決定將合適的視圖組件返回給用戶。
- 模型層,主要由實體類組成,包括一些基本的邏輯。
登錄時序圖
用戶在登錄邊界類中輸入登錄驗證信息:用戶名、密碼、用戶類型,通過用戶控制類調(diào)用用戶登錄實體類完成用例,最終驗證成功時進(jìn)入系統(tǒng)主界面。用戶登錄時序圖如圖 3-1 所示:
- 圖 3-1 用戶登錄時序圖
客戶咨詢時序圖
服務(wù)員在咨詢信息邊界類中輸入:問題、客戶姓名、聯(lián)系電話、回答,通過咨詢信息控制類調(diào)用信息咨詢實體類完成用例,最終返回到系統(tǒng)界面。客戶咨詢處理時序圖如圖 3-2 所示:
- 圖 3-2 客戶咨詢時序圖
客戶投訴時序圖
服務(wù)員在投訴信息邊界類中輸入:產(chǎn)品名、投訴原因、客戶姓名、聯(lián)系電話、客戶地址,通過投訴信息控制類調(diào)用信息投訴實體類完成用例,最終返回到系統(tǒng)界面。客戶投訴處理時序圖如圖 3-3 所示:
- 圖 3-3 客戶投訴時序圖
客戶報修時序圖
服務(wù)員在報修信息邊界類中輸入:產(chǎn)品名、報修原因、客戶姓名、聯(lián)系電話、客戶地址,通過報修信息控制類調(diào)用報修信息實體類完成用例,返回到保修信息邊界類,通過個人列表邊界類為報修記錄選擇相應(yīng)工人,調(diào)用工人列表實體類完成用例,返回的報修信息邊界類。客戶保修處理時序圖如圖 3-4 所示:
- 圖 3-4 客戶報修時序圖
倉庫庫存查看時序圖
倉庫管理員登錄系統(tǒng)后臺后進(jìn)入倉庫庫存邊界類,通過庫存信息控制類調(diào)用庫存查看實體類完成用例,完成操作。倉庫庫存查看時序圖如圖 3-5 所示:
- 圖 3-5 倉庫庫存查看時序圖
物品入庫時序圖
倉庫管理員登錄系統(tǒng)后臺后進(jìn)入物品入庫邊界類,選擇物品入庫類型,通過庫存信息控制類調(diào)用物品入庫實體類完成用例,最終操作成功。物品入庫時序圖如圖 3-6 所示:
- 圖 3-6 物品入庫時序圖
物品出庫時序圖
倉庫管理員登錄系統(tǒng)后臺后進(jìn)入物品出庫邊界類,選擇并填入相應(yīng)信息,通過庫存信息控制類調(diào)用物品出庫實體類完成用例,最終操作成功。物品出庫時序圖如圖 3-7 所示:
圖 3-7 物品出庫時序圖
錄入維修記錄時序圖
信息管理員登錄系統(tǒng)后臺后進(jìn)入錄入維修記錄邊界類,選擇相應(yīng)的待錄入記錄并輸入相應(yīng)信息,通過維修記錄控制類調(diào)用維修記錄錄入實體類完成用例,最終完成操作。錄入維修記錄時序圖如圖 3-8 所示:
圖 3-8 錄入維修記錄時序圖
維修完成記錄查看時序圖
信息管理員登錄系統(tǒng)后臺后進(jìn)入維修完成記錄列表邊界類,選擇對應(yīng)記錄點擊查看即可查看列表詳細(xì)信息,通過維修記錄控制類調(diào)用維修完成記錄查看實體類完成用例,最終完成操作。維修完成記錄查看時序圖如圖 3-9 所示:
圖 3-9 維修完成記錄查看時序圖
四、系統(tǒng)設(shè)計
4.1 架構(gòu)設(shè)計
本系統(tǒng)采用基于 Web 服務(wù)的 B/S 結(jié)構(gòu)(即瀏覽器和服務(wù)器結(jié)構(gòu))的架構(gòu)。在 B/S 結(jié)構(gòu)下,用戶操作界面是通過 Web 頁面來展示實現(xiàn),極少部分的事務(wù)邏輯需要在前端(Browser)實現(xiàn),但是主要事務(wù)邏輯操作在服務(wù)器端實現(xiàn),形成所謂三層 Three-tier 結(jié)構(gòu)。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級的成本和工作量,降低了用戶的總體成本。B/S 架構(gòu)管理軟件更方便、速度快、效果優(yōu)。
系統(tǒng)使用基于 MVC 模式的三層架構(gòu),分為 View 表示層、Controller 控制層、JavaBean 數(shù)據(jù)訪問層以及數(shù)據(jù)庫,如圖 4-1 所示:
圖 4-1 MVC 模式的三層架構(gòu)圖
4.2 類設(shè)計
用戶信息 User 類
用戶信息類包含屬性用戶 id、用戶名、密碼、姓名,用戶類的方法有登錄,設(shè)計用戶類圖如圖 4-2 所示:
報修/投訴 Complaint 類
報修/投訴類包含屬性報修/投訴 id、產(chǎn)品名稱、報修/投訴原因、客戶姓名、客戶電話、客戶地址、狀態(tài)、類型,報修/投訴類的方法有增加、刪除、修改和查詢等,設(shè)計報修/權(quán)限類圖如圖 4-2 所示:
咨詢 Consult 類
咨詢類包含屬性咨詢 id、咨詢問題、問題回答、客戶姓名、客戶電話,咨詢類的方法有增加和查詢等,設(shè)計咨詢類圖如圖 4-2 所示:
客戶 Customer 類
客戶類包含屬性客戶 id、客戶姓名、客戶電話、客戶地址、產(chǎn)品名,客戶類的方法有增加,設(shè)計客戶類圖如圖 4-2 所示:
圖 4-2 User 類、Complaint 類、Consult 類、Customer 類的各自設(shè)計類圖
維修記錄 Fixlog 類
維修類包含屬性維修記錄 id、維修工人名、維修工人工號、使用工具名、使用工具數(shù)量、產(chǎn)品配件名、產(chǎn)品配件數(shù)量、借走工具時間、歸還工具時間、維修狀態(tài)、維修費用、產(chǎn)品名、維修原因、維修時間、應(yīng)得獎金、破舊配件名、破舊配件數(shù)量、客戶名、客戶電話、客戶地址,維修類的方法有增加、修改和查詢等,設(shè)計維修記錄類圖如圖 4-3 所示:
物品入庫 Putin 類
物品入庫類包含屬性物品入庫 id、物品名稱、物品價格、物品用途、入庫時間、物品狀態(tài)、物品類型、入庫數(shù)量,物品入庫類的方法有增加、查詢,設(shè)計物品入庫類圖如圖 4-3 所示:
倉庫庫存 Stock 類
倉庫庫存類包含屬性 id、物品名稱、物品數(shù)量、物品類型,倉庫庫存類的方法有增加、修改和查詢等,倉庫庫存類圖如圖 4-3 所示:
圖 4-3 FixLog 類、Putin 類、Stock 類的各自設(shè)計類圖
4.3 數(shù)據(jù)庫表設(shè)計
4.3.1 概念模型
客戶咨詢
圖 4-4 客戶咨詢 E-R 圖
客戶投訴
圖 4-5 客戶投訴 E-R 圖
客戶報修
圖 4-6 客戶報修 E-R 圖
庫存查看
圖 4-7 庫存查看 E-R 圖
物品入庫
圖 4-8 物品入庫 E-R 圖
物品出庫
圖 4-9 物品出庫 E-R 圖
錄入維修記錄
圖 4-10 錄入維修記錄 E-R 圖
查詢維修記錄
圖 4-11 查詢維修記錄 E-R 圖
4.3.2 物理模型
用戶信息表
用戶表包括經(jīng)理表(superadmin)、服務(wù)員表(waiter)、倉庫管理員表(admin)、信息管理員表(infoadmin)、客戶表(customer)、工人表(worker)用于存放用戶的基本信息,如表 4-1、4-2、4-3、4-4、4-5、4-6 所示:
表 4-1 經(jīng)理表(superadmin)
| id | int 自增 | 經(jīng)理用戶 id (經(jīng)理表的主鍵,不為空) |
| username | varchar | 工號 (不為空) |
| passward | varchar | 登錄密碼(不為空) |
| name | varchar | 真實姓名(不為空) |
表 4-2 服務(wù)員表(waiter)
| id | int 自增 | 服務(wù)員 id (服務(wù)員表的主鍵,不為空) |
| username | varchar | 工號 (不為空) |
| passward | varchar | 登錄密碼(不為空) |
| name | varchar | 真實姓名(不為空) |
表 4-3 倉庫管理員表(admin)
| id | int 自增 | 倉庫管理員 id (倉庫管理員表的主鍵,不為空) |
| username | varchar | 工號 (不為空) |
| passward | varchar | 登錄密碼(不為空) |
| name | varchar | 真實姓名(不為空) |
表 4-4 信息管理員表(infoadmin)
| id | int 自增 | 信息管理員 id (信息管理員表的主鍵,不為空) |
| username | varchar | 工號 (不為空) |
| passward | varchar | 登錄密碼(不為空) |
| name | varchar | 真實姓名(不為空) |
表 4-5 客戶表(customer)
| id | int 自增 | 客戶 id (客戶表的主鍵,不為空) |
| productname | varchar | 產(chǎn)品名 (不為空) |
| phone | varchar | 電話號碼(不為空) |
| name | varchar | 真實姓名(不為空) |
| address | varchar | 住址(不為空) |
表 4-6 工人表(worker)
| id | int 自增 | 工人 id (工人表的主鍵,不為空) |
| username | varchar | 工號 (不為空) |
| state | int | 狀態(tài) |
| name | varchar | 真實姓名(不為空) |
投訴/報修表
投訴/報修表(complaint)用于存放投訴/報修信息信息,如表 4-7 所示:
表 4-7 投訴/報修表(complaint)
| id | int 自增 | 投訴/報修 id (投訴/報修表的主鍵,不為空) |
| productname | varchar | 產(chǎn)品名稱(不為空) |
| reason | varchar | 報修/投訴原因(不為空) |
| customername | varchar | 客戶名稱(不為空) |
| phone | varchar | 客戶電話(不為空) |
| address | varchar | 客戶地址(不為空) |
| state | int | 處理狀態(tài) 0=未維修,1=修好,2=未修好,3=維修中 |
| type | int | 類型 0=保修表,1=投訴表 |
咨詢表
咨詢表(consult)用于存放系統(tǒng)用戶的角色信息,如表 4-8 所示:
表 4-8 咨詢表(consult)
| id | int 自增 | 咨詢 id (咨詢表的主鍵,不為空) |
| question | varchar | 問題描述(不為空) |
| answer | varchar | 回答(不為空) |
| customername | varchar | 客戶名稱(不為空) |
| phone | varchar | 客戶電話(不為空) |
維修記錄表
維修記錄表(fixlog)用于存放系統(tǒng)自持車輛和掛靠車輛的基本信,如表 4-9 所示:
表 4-9 維修記錄表(fixlog)
| id | int 自增 | 維修記錄 id (維修記錄表的主鍵,不為空) |
| workername | varchar | 維修工人姓名(不為空) |
| username | varchar | 維修工人工號(不為空) |
| toolname | varchar | 工具名稱(不為空) |
| toolcount | int | 工具數(shù)量(總部名或者車主名不為空) |
| partsname | varchar | 產(chǎn)品配件名稱 (不為空) |
| partscount | int | 產(chǎn)品配件數(shù)量(不為空) |
| borrowtime | datetime | 借出時間 |
| returntime | datetime | 歸還時間 |
| state | int | 維修狀態(tài)(不為空)0=修理失敗,1=修理成功,2=處理中 |
| cost | int | 維修費用(不為空) 0=在保修期內(nèi) |
| productname | varchar | 產(chǎn)品名稱(不為空) |
| reason | varchar | 維修原因(不為空) |
| time | datetime | 維修耗時 (不為空) |
| bonus | int | 工人獎金 (不為空) |
| oldparts | varchar | 廢舊配件名稱(不為空) |
| opcount | int | 廢舊配件數(shù)量 (不為空) |
| customername | varchar | 客戶姓名(不為空) |
| customerphone | varchar | 客戶電話(不為空) |
| customeraddress | varchar | 客戶地址(不為空) |
物品入庫信息表
物品入庫信息表(putin)用于存放掛靠車輛所屬車主的基本信息,如表 4-10 所示:
表 4-10 物品入庫信息表(putin)
| id | int 自增 | 物品入庫信息 id (物品入庫信息表的主鍵,不為空) |
| name | varchar | 物品名稱(不為空) |
| price | int | 物品價格(不為空) |
| useful | varchar | 物品用途(不為空) |
| time | datetime | 入庫時間 (不為空) |
| state | int | 物品狀態(tài)(不為空)0=正常,1=不正常 |
| count | int | 物品數(shù)量(不為空) |
| type | int | 物品類型(不為空)0=工具,1=配件 |
倉庫庫存表
倉庫庫存表(stock)用于存放車輛的維護(hù)和保養(yǎng)的基本信息,如表 4-11 所示:
表 4-11 倉庫庫存表(stock)
| id | int 自增 | 倉庫庫存 id(倉庫庫存表的主鍵,不為空) |
| type | int | 物品類型(不為空)0=工具,1=產(chǎn)品配件,2=壞的產(chǎn)品配件,3=壞的工具 |
| name | varchar | 物品名稱(不為空) |
| count | int | 物品數(shù)量(不為空) |
五、系統(tǒng)實現(xiàn)與測試
? 后臺功能模塊的實現(xiàn)具體采用 SSM(Spring SpringMVC Mybatis)框架,利用 Java 開發(fā)語言,界面的實現(xiàn)主要采用 jQuery Easyui 框架布局和基本的 HTML+CSS+DIV+JS 頁面編寫技術(shù)。其中整個系統(tǒng)中的難點和突破點是不同角色的登錄功能實現(xiàn)和信息記錄計數(shù)分頁功能,前者采用了數(shù)據(jù)庫表來管理系統(tǒng)的所有功能菜單,在登錄的模塊中加入?yún)^(qū)分角色的菜單匹配功能,即可實現(xiàn)動態(tài)的根據(jù)用戶不同角色的登錄顯示不同的功能模塊;后者主要是封裝成一個 PageBean 類,在對每個模塊列表查詢的模塊中加入分頁處理的功能,即可實現(xiàn)列表數(shù)目的統(tǒng)計及相應(yīng)的分頁功能。
5.1 通用模塊
5.1.1 工具類
字符串操作類
if(username==null || username.equals("")) {HttpSession session = request.getSession();session.setAttribute("username", "");session.setAttribute("unerror", "用戶名不得為空");session.setAttribute("pwderror", "");request.getRequestDispatcher("/login.jsp").forward(request, response); } if(password==null || password.equals("")) {HttpSession session = request.getSession();if (username==null || username.equals("")) {session.setAttribute("username", "");session.setAttribute("unerror", "用戶名不得為空");session.setAttribute("pwderror", "");} else {session.setAttribute("username", username);session.setAttribute("unerror", "");session.setAttribute("pwderror", "密碼不得為空");} }頁面請求類
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html;charset=utf-8");request.setCharacterEncoding("utf-8");String action = request.getParameter("action");System.out.println(action);if(action.equals("login")) {try {Login(request,response);}catch (Exception e) {e.printStackTrace();}System.out.println(action+"已執(zhí)行");} }5.1.2 數(shù)據(jù)源配置
數(shù)據(jù)源配置
InputStream in =JDBCUtils.class.getClassLoader().getResourceAsStream("DBDriverConfig.properties"); Properties prop =new Properties(); try {driver ="com.mysql.jdbc.Driver";url ="jdbc:mysql://localhost:3306/dbmanager?useUnicode=true&characterEncoding=utf8";name ="root";password ="123";Class.forName(driver); } catch (Exception e) {throw new ExceptionInInitializerError(e); }Servlet 相關(guān)配置(利用注釋)
@WebServlet(name = "LoginServlet",urlPatterns = "/loginServlet") @WebServlet(name = "ComplaintServlet",urlPatterns = "/ComplaintServlet") @WebServlet(name = "ConsultServlet",urlPatterns = "/ConsultServlet") @WebServlet(name = "FixLogServlet", urlPatterns = "/FixLogServlet") @WebServlet(name = "RepairServlet",urlPatterns = "/RepairServlet") @WebServlet(name = "StorageServlet",urlPatterns = "/StorageServlet")事務(wù)調(diào)用配置
<!-- 配置事務(wù)調(diào)用 --> if(action.equals("login")) {try {Login(request,response);} catch (Exception e) {e.printStackTrace();}System.out.println(action+"已執(zhí)行"); }5.2 功能模塊
5.2.1 后臺登錄界面
系統(tǒng)后臺運行之后,進(jìn)入的就是一個后臺登錄的界面,在這個頁面中你需要輸入用戶名和密碼,并選擇登錄的類型(或是身份),同時要保證數(shù)據(jù)庫中該用戶存在且狀態(tài)是“啟用”的,才可進(jìn)入對應(yīng)的后臺界面中。如圖 5-1 所示:
圖 5-1 后臺登錄界面
5.2.2 后臺主頁
以不同身份登錄后,進(jìn)入系統(tǒng)后臺主頁顯示的模塊不同,這是用 EasyUi 實現(xiàn)的框架。用戶可以操作界面左側(cè)導(dǎo)航菜單的相應(yīng)管理模塊。如:報修、咨詢及投訴、維修記錄、倉庫管理。如圖 5-2 所示:
圖 5-2 后臺主頁面(經(jīng)理身份登入)
5.2.3 報修、咨詢及投訴
當(dāng)用戶以經(jīng)理身份或服務(wù)員身份登入系統(tǒng)時才會顯示該模塊,該模塊共包括客戶報修、客戶咨詢、客戶投訴、報修記錄、咨詢記錄、投訴記錄六個子模塊,每個子模塊對應(yīng)相應(yīng)的功能和對數(shù)據(jù)庫的查詢,添加,修改等操作。如圖 5-3 所示:
圖 5-3 后臺系統(tǒng)管理—報修記錄頁面
5.2.4 維修記錄
當(dāng)用戶以經(jīng)理或信息管理員身份登入系統(tǒng)時會顯示維修記錄模塊,該模塊共包括錄入維修記錄、查看已完成維修記錄列表兩個子模塊,每個子模塊對應(yīng)相應(yīng)的功能和對數(shù)據(jù)庫的查詢,添加,修改等操作。如圖 5-4 所示:
圖 5-4 后臺系統(tǒng)管理—查看已完成維修記錄頁面
5.2.5 倉庫管理
當(dāng)用戶以經(jīng)理或倉庫管理員身份登入系統(tǒng)時會顯示倉庫管理模塊,該模塊共包括倉庫內(nèi)物品信息 、物品入庫、物品出庫三個子模塊,每個子模塊對應(yīng)相應(yīng)的功能和對數(shù)據(jù)庫的查詢,添加,修改等操作。如圖 5-5 所示:
圖 5-5 后臺系統(tǒng)管理—物品入庫頁面
5.3 系統(tǒng)運行及測試
測試貫穿于系統(tǒng)的整個開發(fā)過程,這里僅列出主要的界面測試用例。
5.3.1 登錄測試用例
下圖的是登錄界面的測試用例,測試登錄界面能夠正確響應(yīng)鼠標(biāo)的單擊事件。如表 5-1 所示:
表 5-1 登錄模塊測試用例
| 測試 ID | ASH-TEST-001 |
| 測試說明 | 登錄界面各組件均能正確響應(yīng)鼠標(biāo)鍵盤單擊事件,登錄成功后能正確進(jìn)入系統(tǒng)后臺主界面 |
| 測試模塊 | 登錄模塊 |
| 測試目的 | 驗證:登錄界面各組件均能正確響應(yīng)鼠標(biāo)鍵盤單擊事件,進(jìn)入后臺 |
| 初始條件 | 運行系統(tǒng),顯示登錄界面 |
| 步驟 | 鼠標(biāo)單擊登錄界面中用戶名框,在框內(nèi)輸入已存在、正確的用戶名。;鼠標(biāo)單擊登錄界面中密碼框,輸入和用戶名對應(yīng)的正確密碼。;鼠標(biāo)點擊登錄界面中的用戶類型下拉框,選擇“經(jīng)理”;鼠標(biāo)鍵盤單擊“登錄”按鈕 |
| 期望輸出: | 登錄操作成功,進(jìn)入后臺管理的主頁面 |
| 實際輸出: | 正確輸出,無誤 |
| 測試狀態(tài) | 成功通過測試 |
| 測試人: | 黃光輝 |
| 測試時間 | 2020 年 06 月 11 日 |
| 備注 | 其他窗口界面中各組件對鼠標(biāo)鍵盤相應(yīng)測試參照本測試用例 |
5.3.2 客戶報修測試用例
表 5-2 是客戶報修功能測試用例。測試客戶報修界面能正確響應(yīng)事件。如表 5-2 所示:
表 5-2 客戶報修模塊測試用例
| 測試 ID | ASH-TEST-002 |
| 測試說明 | 客戶報修界面各組件均能正確響應(yīng)鼠標(biāo)單擊事件,填寫信息后可以正確提交數(shù)據(jù)庫中。 |
| 測試模塊 | 客戶報修模塊 |
| 測試目的 | 驗證:客戶報修界面各組件均能正確響應(yīng)時間,完成客戶報修功能 |
| 初始條件 | 運行系統(tǒng),顯示添加用戶界面 |
| 步驟 | 鼠標(biāo)單擊用戶界面中產(chǎn)品名、保修原因、客戶姓名、聯(lián)系電話、客戶地址,在輸入信息,系統(tǒng)提示相應(yīng)的提示信息,輸入值符合規(guī)范要求。;鼠標(biāo)鍵盤單擊“提交信息”按鈕 |
| 期望輸出: | 系統(tǒng)提示添加成功的提示信息 |
| 實際輸出: | 正確輸出,無誤 |
| 測試狀態(tài) | 成功通過測試 |
| 測試人: | 賈志遠(yuǎn) |
| 測試時間 | 2020 年 06 月 11 日 |
| 備注 | 其他模塊中的類似功能界面中各組件對鼠標(biāo)鍵盤相應(yīng)測試參照本測試用例 |
5.3.3 工人派出維修測試用例
表 5-3 是工人派出維修功能測試用例。測試工人派出維修界面能正確響應(yīng)事件。如表 5-3 所示:
表 5-3 工人派出維修模塊測試用例
| 測試 ID | ASH-TEST-003 |
| 測試說明 | 工人派出維修界面各組件均能正確響應(yīng)鼠標(biāo)單擊事件,填寫信息后可以正確提交數(shù)據(jù)庫中。 |
| 測試模塊 | 工人派出維修模塊 |
| 測試目的 | 驗證:工人派出維修界面各組件均能正確響應(yīng)時間,完成工人派出功能 |
| 初始條件 | 運行系統(tǒng),在報修記錄中選擇一條狀態(tài)為“未修好”或者“未維修”的維修記錄,點擊查看,進(jìn)入工人派遣界面 |
| 步驟 | 鼠標(biāo)單擊工人派遣界面中的空閑工人下拉框,選擇一位空閑工人。;鼠標(biāo)鍵盤單擊“確定”按鈕 |
| 期望輸出: | 數(shù)據(jù)庫中該工人狀態(tài)位工作狀態(tài),并生成相關(guān)的維修記錄表 |
| 實際輸出: | 正確輸出,無誤 |
| 測試狀態(tài) | 成功通過測試 |
| 測試人: | 高明杰 |
| 測試時間 | 2020 年 06 月 11 日 |
| 備注 | 其他模塊中的類似功能界面中各組件對鼠標(biāo)鍵盤相應(yīng)測試參照本測試用例 |
5.3.4 物品入庫測試用例
表 5-4 是物品入庫功能測試用例。測試查詢物品入庫界面能正確響應(yīng)事件。如表 5-4 所示:
表 5-4 物品入庫模塊測試用例
| 測試 ID | ASH-TEST-004 |
| 測試說明 | 物品界面各組件均能正確響應(yīng)鼠標(biāo)單擊事件,輸入相應(yīng)物品信息條件后可以正確存入數(shù)據(jù)庫。 |
| 測試模塊 | 物品入庫模塊 |
| 測試目的 | 驗證:物品入庫界面各組件均能正確響應(yīng)時間,完成物品入庫功能 |
| 初始條件 | 運行系統(tǒng),進(jìn)入物品入庫主界面 |
| 步驟 | 鼠標(biāo)單擊物品入庫界面中相應(yīng)輸入框,輸入對應(yīng)的信息 ;鼠標(biāo)鍵盤單擊“入庫”按鈕;在工人歸還子頁面選擇一條未歸還的物品信息,點擊查看進(jìn)入物品歸還頁面,輸入相應(yīng)信息點擊“確認(rèn)”按鈕 |
| 期望輸出: | 數(shù)據(jù)庫內(nèi)信息隨頁面信息發(fā)生改變 |
| 實際輸出: | 正確輸出,無誤 |
| 測試狀態(tài) | 成功通過測試 |
| 測試人: | 汪宜龍 |
| 測試時間 | 2020 年 06 月 11 日 |
| 備注 | 其他模塊中的類似功能模塊測試參照本測試用例 |
5.3.5 錄入維修記錄測試用例
表 5-5 是錄入維修記錄功能測試用例。測試錄入維修記錄界面能正確響應(yīng)事件。如表 5-5 所示:
表 5-5 錄入維修記錄模塊測試用例
| 測試 ID | ASH-TEST-005 |
| 測試說明 | 選擇一條未錄入的維修記錄進(jìn)行信息錄入,并保證數(shù)據(jù)庫內(nèi)數(shù)據(jù)更新準(zhǔn)確。 |
| 測試模塊 | 錄入維修記錄模塊 |
| 測試目的 | 驗證:錄入維修記錄界面各組件均能正確響應(yīng)時間,完成錄入維修記錄功能 |
| 初始條件 | 運行系統(tǒng),進(jìn)入錄入維修記錄頁面。 |
| 步驟 | 選擇一條未錄入的維修記錄,點擊查看進(jìn)入維修記錄錄入頁面。;按提示輸入相應(yīng)的信息,點擊提示框的”確定”按鈕。 |
| 期望輸出: | 系統(tǒng)將對應(yīng)信息提交并在數(shù)據(jù)庫中完成正確修改 |
| 實際輸出: | 正確輸出,無誤 |
| 測試狀態(tài) | 成功通過測試 |
| 測試人: | 黃光輝 |
| 測試時間 | 2020 年 06 月 11 日 |
| 備注 | 其他模塊中的類似功能模塊中各組件對鼠標(biāo)鍵盤相應(yīng)測試參照本測試用例 |
六、實訓(xùn)總結(jié)
? 通過家電售后服務(wù)系統(tǒng)的開發(fā),使我們更加了解項目的開發(fā)流程,首先是功能需求、需求分析,深入的了解了實體類、邊界類、控制類的作用,然后就是一些從來沒接觸過的圖表的使用,例如用例圖、時序圖、概念模型 E-R 圖等等圖表,以前幾乎從來沒有用過,這次的接觸讓我們能夠更好的理解了這些圖圖表的繪制方法和使用流程,然后是通過功能設(shè)計、概要設(shè)計、詳細(xì)設(shè)計、數(shù)據(jù)庫設(shè)計等多個項目設(shè)計準(zhǔn)備工作,較深的理解對軟件測試的方法、手段,同時熟悉了一個 javaweb 項目開發(fā)的流程,這使得我們以后參與到具體的項目時,可以更好地去做好對項目的設(shè)計與開發(fā)。
? 通過本次系統(tǒng)的設(shè)計開發(fā),不斷的進(jìn)行調(diào)試,使系統(tǒng)運行相當(dāng)良好。但由于時間有限,及個人經(jīng)驗和能力的原因,所以在功能方面還有很多需要完善和添加的地方,在以后的學(xué)習(xí)中還需要更細(xì)更認(rèn)真的去學(xué)習(xí)與實踐,需要更加深入得了解該技術(shù),能夠很好的理解并運用它,開發(fā)更好的系統(tǒng)。
? 總結(jié)起來本次畢業(yè)設(shè)計系統(tǒng)開發(fā)主要有以下幾個方面的寶貴經(jīng)驗和深刻體會:一是:綜合查閱資料是一項重要的學(xué)習(xí)能力。本次畢業(yè)設(shè)計中遇到不少的難題,通過網(wǎng)絡(luò)資源、咨詢專業(yè)人員等各種途徑解決問題,提高了個人應(yīng)變能力。在互聯(lián)網(wǎng)迅速普及的今天,大量的信息資源都是公開的,有效利用這些網(wǎng)絡(luò)資源成為工作學(xué)習(xí)的重要方法。二是:軟件開發(fā)是一種邏輯分析思維要求很高的設(shè)計開發(fā)工作,在設(shè)計開發(fā)一個項目前一定要將需求分析完成。一個軟件的開發(fā)總是要對軟件所用到的行業(yè)做好相應(yīng)的需求分析,并且在使用過程中不斷地完善其中的功能,去滿足人們?nèi)找嬖鲩L的要求。三是:經(jīng)過畢業(yè)設(shè)計系統(tǒng)開發(fā)的鍛煉,團(tuán)隊合作精神日趨更為重要,這對將來的工作和發(fā)展都產(chǎn)生不錯的影響。這次軟件工程實訓(xùn)課程是一次重要的經(jīng)歷,不僅是對大學(xué)三年來的學(xué)習(xí)的理論基礎(chǔ)的實踐鍛煉,而且應(yīng)用了我們學(xué)習(xí)到的知識,發(fā)揮在專業(yè)方面的綜合素質(zhì),也磨礪了為人處事的正確態(tài)度。
? 汲取經(jīng)驗的同時要明確今后的努力方向,解決存在的問題。本次軟件工程實訓(xùn)也有不少的不足,主要表現(xiàn)為:一是拓展在 Java 語言方面的知識面,規(guī)范代碼的書寫風(fēng)格。這一點其實十分重要,因為編寫的程序代碼是需要所有能寫程序的人讀懂的;二是加強對數(shù)據(jù)庫的學(xué)習(xí),掌握其中的核心關(guān)鍵技術(shù)。三是不斷提高編程能力,包括擴(kuò)大編程語言、開發(fā)工具等。
?? 資源
大小: 11.0MB
?? 資源下載:https://download.csdn.net/download/s1t16/87249050
總結(jié)
以上是生活随笔為你收集整理的基于Java( Spring+SpringMVC+JDBC)+MySQL实现(Web)家电售后服务系统【100010064】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [django项目] 实现用户登录登出功
- 下一篇: 计算机副教授要求,浙江大学计算机学院20