【維普】軟件工程-基于鴻蒙OS的畢業(yè)生生活用品出售系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
【維普】軟件工程-基于鴻蒙OS的畢業(yè)生生活用品出售系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
【維普】軟件工程-基于鴻蒙OS的畢業(yè)生生活用品出售系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
【維普】軟件工程-基于鴻蒙OS的畢業(yè)生生活用品出售系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
【維普】軟件工程-基于鴻蒙OS的畢業(yè)生生活用品出售系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

系統(tǒng)詳細(xì)設(shè)計在第三章系統(tǒng)總體分析的基礎(chǔ)上,第四章將介紹系統(tǒng)詳細(xì)設(shè)計,詳細(xì)設(shè)計的主要總分為3個部分,對象設(shè)計,交互設(shè)計,功能模塊設(shè)計。4.1對象設(shè)計本系統(tǒng)設(shè)計了七個主要類,分別為用戶,商品,分類,歷史,購物車,修改密碼和訂單,他們都有自己的屬性和方法。類圖如圖4.1所示。圖4.1類圖4.2交互設(shè)計本節(jié)通過時序圖來展示系統(tǒng)內(nèi)部各個模塊的交互設(shè)計和整體的操作步驟。4.2.1用戶登錄用戶進(jìn)入系統(tǒng)后,首先會到登錄界面,輸入自己的賬號和密碼,點擊提交按鈕,會在后臺調(diào)用接口,最后訪問數(shù)據(jù)庫。在數(shù)據(jù)庫中進(jìn)行匹配,如果有匹配的數(shù)據(jù)則返回用戶數(shù)據(jù)信息,最后返回到頁面上顯示登錄成功。用戶登錄時序圖如圖4.2所示。圖4.2用戶登錄時序圖4.2.2用戶查看商品用戶進(jìn)入首頁可以看到根據(jù)協(xié)同過濾算法的推薦商品,點擊商品圖片進(jìn)行跳轉(zhuǎn)頁面,在詳情頁面可以查看商品的詳細(xì)信息;或者進(jìn)入商城頁面瀏覽商品列表,如果使用搜索功能,則顯示對應(yīng)搜索的內(nèi)容,如果不使用則進(jìn)行瀏覽,然后用戶使用分類功能,則顯示對應(yīng)分類內(nèi)容。用戶查看商品時序圖如圖4.3所示。圖4.3用戶查看商品時序圖4.2.3購物車模塊用戶查看商品信息后,用戶點擊按鈕,可以將商品加入購物車,并查看購物車。如果選擇提交訂單,成功后可以查看訂單。購物車時序圖如圖4.4所示。圖4.4用戶購物時序圖4.2.4管理員管理員登錄后可以管理訂單,管理商品,管理用戶,管理分類。管理員時序圖如圖4.5所示。圖4.5管理員添加商品時序圖4.3功能模塊詳細(xì)設(shè)計在這個畢業(yè)生生活用品出售系統(tǒng)上,有用戶和管理員兩個角色。用戶可以選擇注冊或登錄,注冊過程中需要輸入自己的賬號,密碼等信息進(jìn)行注冊,然后跳轉(zhuǎn)到登錄頁面。選擇登錄時,需要輸入正確的賬號和正確的密碼,才能進(jìn)入到首頁面。首頁會根據(jù)用戶訂單推薦商品,商城頁面可以進(jìn)行瀏覽商品,選擇好自己想要的商品后,加入購物車,并購買,完成后可以查看訂單,并對訂單進(jìn)行評分。管理員主要有4個功能,分別是管理訂單,管理商品,管理用戶,管理分類。4.3.1管理子系統(tǒng)功能管理員進(jìn)入登錄頁面,輸入賬號密碼,若輸入錯誤,則彈出提示框,輸入成功后進(jìn)入首頁面。管理員管理商品,管理用戶,管理訂單,管理分類。具體流程如圖4.6所示。圖4.6管理子系統(tǒng)功能流程圖4.3.2用戶子系統(tǒng)功能用戶可以選擇注冊或登錄,注冊過程中需要輸入自己的郵箱、姓名等信息進(jìn)行實名驗證,然后跳轉(zhuǎn)到用戶頁面;選擇登錄時,需要輸入賬號和密碼,正確后才能跳轉(zhuǎn)到用戶頁面;在用戶界面可以進(jìn)行瀏覽商品,選擇好自己想要的商品后,加入購物車,提交訂單,成功后可以查看訂單。具體流程如圖4.5所示。圖4.5用戶子系統(tǒng)功能流程圖4.3.3用戶注冊登錄功能用戶進(jìn)入首頁后,選擇是否注冊,點擊注冊按鈕進(jìn)入注冊頁面。首先輸入賬號,判斷雅馬哈是否已經(jīng)存在,然后輸入密碼,判斷密碼的格式是否正確,如果沒有問題就再次輸入密碼,點擊按鈕提交,如果注冊失敗則彈出提示框,如果成功則跳轉(zhuǎn)到登錄頁面。用戶登錄成功則進(jìn)入商品頁面。具體流程如圖4.6所示。圖4.6用戶注冊登錄流程圖4.3.4智能推薦功能用戶輸入賬號密碼登錄后,使用基于用戶的協(xié)同過濾算法,首先得到已經(jīng)購買的商品的訂單評分,然后獲取所有用戶的訂單評分。對相同商品的評分進(jìn)行皮爾森相關(guān)系數(shù)的計算,得出與當(dāng)前用戶最接近的用戶,對比兩者的訂單數(shù)據(jù),推送當(dāng)前用戶未購買過的商品。具體流程如圖4.7所示。圖4.7智能推薦功能流程圖皮爾森相關(guān)系數(shù)使用公式一:(公式一)假設(shè)有兩個系數(shù)X、Y,通過公式計算出的值可以有如下的解釋:當(dāng)X和Y為正相關(guān),相關(guān)系數(shù)在0.0與1.0之間時,系數(shù)越大,兩者關(guān)系就越強(qiáng)。當(dāng)相關(guān)系數(shù)為0時,兩者無關(guān)系。4.3.5用戶購物功能用戶進(jìn)入首頁首先會看到一些圖片,這些商品是通過協(xié)同過濾算法推薦,點擊商品圖片,可以跳轉(zhuǎn),可以查看商品的圖片,價格,數(shù)量等信息;或者進(jìn)入商城頁面瀏覽商品列表,如果使用搜索功能,則顯示對應(yīng)搜索的內(nèi)容,如果不使用則進(jìn)行瀏覽,然后用戶使用分類功能,則顯示對應(yīng)分類內(nèi)容。查看商品信息后,用戶如果喜歡,則可以點擊將喜歡商品加入購物車,加入的商品可以在購物車中查看。如果選擇購買則會清空購物車,購買失敗會彈出提示框,購買成功后可以在我的界面中的訂單里查看歷史訂單和發(fā)貨情況。具體流程如圖4.8所示。圖4.8用戶購物功能流程圖4.3.6好友功能用戶登錄后進(jìn)入我的頁面查看好友信息。如果想要添加好友,輸入用戶名,若有用戶名不存在,則跳出提示框,若存在則添加好友。具體流程如圖4.9所示。圖4.9好友功能流程圖4.3.7修改密碼功能用戶登錄后進(jìn)入我的頁面修改密碼。首先輸入舊密碼,再輸入新密碼,點擊修改按鈕。如果舊密碼錯誤或新密碼和舊密碼一致,則彈出提示框,若正確則添加成功。修改密碼功能流程如圖4.10所示。圖4.10修改密碼功能流程圖4.4本章小結(jié)本章節(jié)為改畢業(yè)生生活用品出售系統(tǒng)的詳細(xì)設(shè)計章節(jié),首先設(shè)計了改系統(tǒng)會用到的一些類以及他們之間的關(guān)系,其次介紹了該出售系統(tǒng)主要模塊的功能流程圖,并對流程做了一個詳細(xì)介紹。本章完成后將進(jìn)入第五章,也就是系統(tǒng)實現(xiàn)章節(jié)。第5章系統(tǒng)實現(xiàn)5系統(tǒng)實現(xiàn)5.1實現(xiàn)環(huán)境和工具描述服務(wù)器端用到的環(huán)境和技術(shù):(1)環(huán)境使用的是Windows10操作系統(tǒng),java環(huán)境使用的jdk1.8(2)數(shù)據(jù)庫使用的是MySQL5.7(3)開發(fā)工具:IntelliJIDEA2021.3.3,VisualStudioCode,DevEcoStudio3.0.0.800,NavicatPremium15,nginx-1.22.1(4)軟件整體結(jié)構(gòu)使用B/S結(jié)構(gòu)??蛻舳耍海?)操作系統(tǒng)使用Windows10操作系統(tǒng)(2)瀏覽器使用IE瀏覽器或者谷歌瀏覽器5.2功能實現(xiàn)接下來的主要是詳細(xì)介紹了該畢業(yè)生生活用品出售系統(tǒng)中各個主要模塊的大部分功能,過濾協(xié)同算法的實現(xiàn),通過代碼介紹了系統(tǒng)的實現(xiàn)過程,給出了系統(tǒng)完成后的界面展示。5.2.1管理員登錄首先創(chuàng)建User實體類,使用@Data注解實現(xiàn)getter/setter方法。創(chuàng)建UserController類,使用@RestController和@RequestMapping("/user")注解表示contreller和”/user”路徑前綴。使用@Autowired注解,自動注入UserService。在controller里添加登錄接口,傳遞參數(shù)username,password,。添加@PostMapping注解,設(shè)置屬性value為請求的地址,method設(shè)置請求類型為POST;添加@RequestBody注解,將返回值自動將返回值序列化為json。在service包下創(chuàng)建UserService接口,聲明login方法,傳入username,password。創(chuàng)建UserImpl來實現(xiàn)UserService接口。在common包下創(chuàng)建通用的響應(yīng)對象R實現(xiàn)序列化接口Serializable。創(chuàng)建UserMapper接口類和對應(yīng)的UserMappeer.xml文件,在UserMapper里寫對應(yīng)的sql語句。用戶輸入賬號和密碼后,后臺將密碼進(jìn)行Base64加密后,匹配數(shù)據(jù)庫,如果返回結(jié)果為空,測controller返回用戶名不存在或密碼錯誤。加密代碼如下。Stringpassword=user.getPassword();byte[]bytes=password.getBytes();Stringpwd=Base64.getEncoder().encodeToString(bytes);user.setPassword(pwd);管理員登錄界面運行截圖如圖5.1所示。圖5.1管理員登錄界面5.2.2管理首頁面左側(cè)菜單欄使用el-menu組件,樣式使用

background-color="#545c64"顯示背景顏色text-color="#fff"表示字體顏色,style="height:100%;"表示高度,router用來跳轉(zhuǎn)。每個菜單使用el-menu-item表示一級菜單,index="/user"表示跳轉(zhuǎn)的路徑,使用<iclass="el-icon-user-solid"></i>來顯示每個菜單的圖標(biāo),<span>用戶管理</span>顯示文字描述。中間區(qū)域使用el-carousel組件,用輪播圖的形式展示圖片,使用el-carousel-item存放圖片,用v-for="iteminpictures":key="item">遍歷data里的圖片信息,在el-image里寫圖片的url。左上角使用el-dropdown組件來展示下拉菜單,點擊事件

@click.native="logout",實現(xiàn)this.$router.push(`/`)方法,跳轉(zhuǎn)到登錄界面。管理員首頁面運行截圖如圖5.2所示。圖5.2管理員首頁面5.2.3用戶管理進(jìn)入用戶列表界面后,頁面創(chuàng)建和點擊查詢時,調(diào)用獲取用戶信息接口,點擊禁用,調(diào)用禁用學(xué)生接口。創(chuàng)建User實體類,使用@Data注解實現(xiàn)getter/setter方法。創(chuàng)建UserController類,使用@RestController和@RequestMapping("/user")注解表示contreller和”/user”路徑前綴。使用@Autowired注解,自動注入UserService。在controller里添加接口,傳遞參數(shù)username,password。添加@PostMapping注解,設(shè)置屬性value為請求的地址,method設(shè)置請求類型為POST;添加@RequestBody注解,將返回值自動將返回值序列化為json。調(diào)用獲取用戶信息接口傳遞參數(shù)username、realname,請求類型為Post,在UserMapper中添加查詢username和realname的方法,在UserMapper.xml中使用<if>可以實現(xiàn)條件選擇性查詢,再在UserService中調(diào)用上述方法,最后在UserController中調(diào)用UserService中的方法獲取數(shù)據(jù),再使用Result類的success將數(shù)據(jù)包裝后傳至前端。調(diào)用禁用用戶接口傳遞參數(shù)id,請求類型為Post,在UserMapper中添加將用戶編號為id用戶信息記錄的status字段更新為1的方法,再在UserService中調(diào)用上述方法,最后在UserController中調(diào)用UserService中的方法獲取提示消息,再使用Result類的success將數(shù)據(jù)包裝后傳至前端,前端獲取數(shù)據(jù)后調(diào)用message方法展示提示消息。用戶管理界面運行截圖如圖5.3所示。圖5.3用戶管理界面5.2.4商品管理登錄后,管理員可以對商品進(jìn)行管理。按條件查詢或搜素商品,新增、編輯、刪除商品。創(chuàng)建Product實體類,使用@Data注解實現(xiàn)getter/setter方法。創(chuàng)建ProductController類,使用@RestController和@RequestMapping("/user")注解表示contreller和”/product”路徑前綴。使用@Autowired注解,自動注入ProductService。在controller里添加接口,傳遞參數(shù)id,productName。添加@PostMapping注解,設(shè)置屬性value為請求的地址,method設(shè)置請求類型為POST;添加@RequestBody注解,將返回值自動將返回值序列化為json。調(diào)用獲取商品信息接口傳遞參數(shù)ProductName,請求類型為Post,在ProductMapper中添加查詢商品名ProductName的商品信息記錄的方法,在ProductMapper.xml中使用<if>可以實現(xiàn)條件選擇性查詢,再在ProductService中調(diào)用上述方法,最后在ProductController中調(diào)用ProductService中的方法獲取數(shù)據(jù),再使用R類的success將數(shù)據(jù)包裝后傳至前端。調(diào)用刪除商品接口傳遞參數(shù)id,請求類型為Post,在ProductMapper中添加將商品編號為id商品信息記錄的delete方法,再在ProductService中調(diào)用上述方法,最后在ProductController中調(diào)用ProductService中的方法獲取提示消息,再使用R類的success將數(shù)據(jù)包裝后傳至前端,前端獲取數(shù)據(jù)后調(diào)用方法展示提示消息。進(jìn)入商品添加/修改界面后,前端通過是否存在商品id判斷調(diào)用新增商品信息接口還是修改將商品信息接口。調(diào)用新增商品接口傳遞參數(shù)ProductName、price、number、category、picture、description,請求類型為Post,在ProductMapper中添加新增商品信息記錄的方法,再在ProductService中調(diào)用上述方法,最后在ProductController中調(diào)用ProductService中的方法獲取提示消息,再使用R類的success將數(shù)據(jù)包裝后傳至前端,前端獲取數(shù)據(jù)后調(diào)用方法展示出商品信息。商品管理界面運行截圖如圖5.4所示。圖5.4商品管理界面5.2.5訂單管理管理員登錄后,可以對訂單進(jìn)行管理。按條件查詢或搜素訂單,發(fā)貨。創(chuàng)建Order實體類,使用@Data注解實現(xiàn)getter/setter方法。創(chuàng)建OrderController類,使用@RestController和@RequestMapping("/user")注解表示contreller和”/Order”路徑前綴。使用@Autowired注解,自動注入OrderService。在controller里添加接口,傳遞參數(shù)id,productId。添加@PostMapping注解,設(shè)置屬性value為請求的地址,method設(shè)置請求類型為POST;添加@RequestBody注解,將返回值自動將返回值序列化為json。調(diào)用獲取訂單信息接口,請求類型為Post,在OrderMapper中添加查詢商品名ProductName的商品信息記錄的方法,在OrderMapper.xml中使用<if>可以實現(xiàn)條件選擇性查詢,再在OrderService中調(diào)用上述方法,最后在OrderController中調(diào)用OrderService中的方法獲取數(shù)據(jù),再使用R類的success將數(shù)據(jù)包裝后傳至前端。調(diào)用發(fā)貨接口傳遞參數(shù)id,請求類型為Post,在OrderMapper中添加將商品編號為id商品信息記錄的delete方法,再在OrderService中調(diào)用上述方法,最后在OrderController中調(diào)用OrderService中的方法獲取提示消息,再使用R類的success將數(shù)據(jù)包裝后傳至前端,前端獲取數(shù)據(jù)后調(diào)用方法展示提示消息。訂單管理界面運行截圖如圖5.5所示。圖5.5訂單管理界面5.2.6分類管理管理員登錄后,可以對分類進(jìn)行管理。新增或者刪除分類,當(dāng)分類下還有商品時,分類無法刪除。創(chuàng)建Category實體類,使用@Data注解實現(xiàn)getter/setter方法。創(chuàng)建CategoryController類,使用@RestController和@RequestMapping("/user")注解表示contreller和”/Category”路徑前綴。使用@Autowired注解,自動注入OrderService。在controller里添加接口,傳遞參數(shù)id,categoryName。添加@PostMapping注解,設(shè)置屬性value為請求的地址,method設(shè)置請求類型為POST;添加@RequestBody注解,將返回值自動將返回值序列化為json。調(diào)用獲取分類信息接口,請求類型為Post,在CategoryMapper中添加查詢分類名的方法,在CategoryMapper.xml中使用<if>可以實現(xiàn)條件選擇性查詢,再在CategoryService中調(diào)用上述方法,最后在CategoryController中調(diào)用CategoryService中的方法獲取數(shù)據(jù),再使用R類的success將數(shù)據(jù)包裝后傳至前端。調(diào)用刪除分類接口傳遞參數(shù)id,請求類型為Post,在CategoryMapper中添加將分類編號為id的delete方法,再在CategoryService中調(diào)用上述方法,最后在CategoryController中調(diào)用CategoryService中的方法獲取提示消息,再使用R類的success將數(shù)據(jù)包裝后傳至前端,前端獲取數(shù)據(jù)后調(diào)用方法展示提示消息。訂單管理界面運行截圖如圖5.6所示。圖5.6分類管理界面5.2.7用戶登錄注冊首先創(chuàng)建User實體類,使用@Data注解實現(xiàn)getter/setter方法。創(chuàng)建UserController類,使用@RestController和@RequestMapping("/user")注解表示contreller和”/user”路徑前綴。使用@Autowired注解,自動注入UserService。在controller里添加登錄接口,傳遞參數(shù)username,password。添加@PostMapping注解,設(shè)置屬性value為請求的地址,method設(shè)置請求類型為POST;添加@RequestBody注解,將返回值自動將返回值序列化為json。在service包下創(chuàng)建UserService接口,聲明login方法,傳入username,password。創(chuàng)建UserImpl來實現(xiàn)UserService接口。在common包下創(chuàng)建通用的響應(yīng)對象R實現(xiàn)序列化接口Serializable。創(chuàng)建UserMapper接口類和對應(yīng)的UserMappeer.xml文件,在UserMapper里寫對應(yīng)的sql語句。用戶登錄界面運行截圖如圖5.7所示。注冊界面運行截圖如圖5.8所示。圖5.7用戶登錄界面圖5.8用戶注冊界面5.2.8購物車用戶在商品詳情界面點擊按鈕可以將商品添加到購物車,在購物車界面可以查看商品,也可以刪除商品,點擊結(jié)算一鍵購買購物車。創(chuàng)建Cart實體類,使用@Data注解實現(xiàn)getter/setter方法。創(chuàng)建CartController類,使用@RestController和@RequestMapping("/user")注解表示contreller和”/cart”路徑前綴。使用@Autowired注解,自動注入CartService。在controller里添加接口,傳遞參數(shù)。添加@PostMapping注解,設(shè)置屬性value為請求的地址,method設(shè)置請求類型為POST;添加@RequestBody注解,將返回值自動將返回值序列化為json。調(diào)用獲取購物車信息接口傳遞參數(shù)userId,請求類型為Post,在CartMapper中添加查詢商品名CartName的購物車信息記錄的方法,在CartMapper.xml中使用<if>可以實現(xiàn)條件選擇性查詢,再在CartService中調(diào)用上述方法,最后在CartController中調(diào)用CartService中的方法獲取數(shù)據(jù),再使用R類的success將數(shù)據(jù)包裝后傳至前端。調(diào)用刪除商品接口傳遞參數(shù)id,請求類型為Post,在CartMapper中添加將購物車編號為id購物車信息記錄的delete方法,再在CartService中調(diào)用上述方法,最后在CartController中調(diào)用CartService中的方法獲取提示消息,再使用R類的success將數(shù)據(jù)包裝后傳至前端,前端獲取數(shù)據(jù)后調(diào)用方法展示提示消息。調(diào)用購買接口傳遞參數(shù)id、userId、number、productId、price、time,請求類型為Post,在CartMapper中添加新增商品信息記錄的方法,再在CartService中調(diào)用上述方法,最后在CartController中調(diào)用CartService中的方法獲取提示消息,再使用R類的success將數(shù)據(jù)包裝后傳至前端,前端獲取數(shù)據(jù)后調(diào)用方法展示購物車信息。購物車界面運行截圖如圖5.9所示。圖5.9購物車界面5.2.9商城用戶進(jìn)入商城頁面后,可以查看所有商品。選擇分類進(jìn)行篩選,輸入商品名稱進(jìn)行搜索。點擊商品圖片進(jìn)入詳情頁面。創(chuàng)建Product實體類,使用@Data注解實現(xiàn)getter/setter方法。創(chuàng)建ProductController類,使用@RestController和@RequestMapping("/user")注解表示contreller和”/Product”路徑前綴。使用@Autowired注解,自動注入ProductService。在controller里添加接口,傳遞參數(shù)。添加@PostMapping注解,設(shè)置屬性value為請求的地址,method設(shè)置請求類型為POST;添加@RequestBody注解,將返回值自動將返回值序列化為json。調(diào)用獲取商品信息接口傳遞參數(shù),請求類型為Post,在ProductMapper中添加查詢商品名ProductName的商品信息記錄的方法,在ProductMapper.xml中使用<if>可以實現(xiàn)條件選擇性查詢,再在ProductService中調(diào)用上述方法,最后在ProductController中調(diào)用ProductService中的方法獲取數(shù)據(jù),再使用R類的success將數(shù)據(jù)包裝后傳至前端。商城界面運行截圖如圖5.10所示。圖5.10商城界面5.2.10我的用戶進(jìn)入我的界面后,可以查看所有訂單和歷史瀏覽記錄,修改密碼,查看并添加好友,查看并修改個人信息,退出登錄。使用router.push({uri:path})實現(xiàn)頁面跳轉(zhuǎn);每個菜單都有一個序號index,通過switch(index)判斷傳遞的index值來跳轉(zhuǎn)哪個頁面。使用this.username=this.$app.$def.globalData.username來獲取當(dāng)前登錄用戶的username,顯示在頁面上。我的界面運行截圖如圖5.11所示。圖5.11我的界面5.2.11訂單用戶進(jìn)入訂單界面后,可以查看所有訂單信息,發(fā)貨狀態(tài),點擊圖片可以進(jìn)行評分。創(chuàng)建Order實體類,使用@Data注解實現(xiàn)getter/setter方法。創(chuàng)建OrderController類,使用@RestController和@RequestMapping("/user")注解表示contreller和”/Order”路徑前綴。使用@Autowired注解,自動注入OrderService。在controller里添加接口,傳遞參數(shù)。添加@PostMapping注解,設(shè)置屬性value為請求的地址,method設(shè)置請求類型為POST;添加@RequestBody注解,將返回值自動將返回值序列化為json。調(diào)用獲取訂單信息接口,請求類型為Post,在OrderMapper中添加查詢商品名ProductName的商品信息記錄的方法,在OrderMapper.xml中使用<if>可以實現(xiàn)條件選擇性查詢,再在OrderService中調(diào)用上述方法,最后在OrderController中調(diào)用OrderService中的方法獲取數(shù)據(jù),再使用R類的success將數(shù)據(jù)包裝后傳至前端。調(diào)用發(fā)貨接口傳遞參數(shù)id,請求類型為Post,在OrderMapper中添加將商品編號為id商品信息記錄的delete方法,再在OrderService中調(diào)用上述方法,最后在OrderController中調(diào)用OrderService中的方法獲取提示消息,再使用R類的success將數(shù)據(jù)包裝后傳至前端,前端獲取數(shù)據(jù)后調(diào)用方法展示提示消息。調(diào)用評分接口傳遞參數(shù)OrderId,請求類型為Post,在OrderMapper中添加將商品編號為id商品信息記錄的comment方法,再在OrderService中調(diào)用上述方法,最后在OrderController中調(diào)用OrderService中的方法獲取提示消息,再使用R類的success將數(shù)據(jù)包裝后傳至前端,前端獲取數(shù)據(jù)后調(diào)用方法展示提示消息。訂單界面運行截圖如圖5.12所示。圖5.12訂單界面5.2.12修改密碼用戶進(jìn)入修改密碼界面后,輸入舊密碼和新密碼,點擊修改。如果舊密碼和新密碼一致會跳出提示信息。調(diào)用修改密碼接口傳遞參數(shù)userId、oldPassword、newPassword,請求類型為Post,在UserMapper中添加查詢id為的userId用戶信息記錄的方法和更新id為userId的用戶信息記錄的方法,再在UserService中調(diào)用上述方法,先驗證舊密碼是否正確,正確則修改密碼,錯誤則返回錯誤提示,最后在UserController中調(diào)用UserService中的方法獲取提示消息,再使用R類的success將數(shù)據(jù)包裝后傳至前端,前端在接受數(shù)據(jù)之后使用prompt.showToast方法彈出提示。修改面界面運行截圖如圖5.13所示。圖5.13修改密碼界面5.2.13好友用戶進(jìn)入好友界面后,可以查看好友信息,輸入好友名稱添加好友。創(chuàng)建User實體類,使用@Data注解實現(xiàn)getter/setter方法。創(chuàng)建UserController類,使用@RestController和@RequestMapping("/user")注解表示contreller和”/User”路徑前綴。使用@Autowired注解,自動注入UserService。在controller里添加接口,傳遞參數(shù)。添加@PostMapping注解,設(shè)置屬性value為請求的地址,method設(shè)置請求類型為POST;添加@RequestBody注解,將返回值自動將返回值序列化為json。調(diào)用獲取好友信息接口傳遞參數(shù)userId,請求類型為Post,在FriendMapper中添加查詢id為userId的好友信息的方法,在FriendMapper.xml中使用<if>可以實現(xiàn)條件選擇性查詢,再在FriendService中調(diào)用上述方法,最后在FriendController中調(diào)用FriendService中的方法獲取數(shù)據(jù),再使用R類的success將數(shù)據(jù)包裝后傳至前端。調(diào)用添加好友接口傳遞參數(shù)id,好友用戶名username,請求類型為Post,在FriendMapper中添加將用戶編號為id的好友信息的insert方法,再在FriendService中調(diào)用上述方法,最后在FriendController中調(diào)用FriendService中的方法獲取提示消息,再使用R類的success將數(shù)據(jù)包裝后傳至前端,前端獲取數(shù)據(jù)后調(diào)用message方法展示提示消息。好友界面運行截圖如圖5.14所示。圖5.14修改密碼界面5.2.14歷史記錄用戶進(jìn)入足跡界面后,可以查看歷史瀏覽記錄。創(chuàng)建History實體類,使用@Data注解實現(xiàn)getter/setter方法。創(chuàng)建HistoryController類,使用@RestController和@RequestMapping("/user")注解表示contreller和”/History”路徑前綴。使用@Autowired注解,自動注入HistoryService。在controller里添加接口,傳遞參數(shù)。添加@PostMapping注解,設(shè)置屬性value為請求的地址,method設(shè)置請求類型為POST;添加@RequestBody注解,將返回值自動將返回值序列化為json。調(diào)用獲取歷史記錄信息接口傳遞參數(shù),請求類型為Post,在HistoryMapper中添加查詢歷史記錄的方法,在HistoryMapper.xml中使用<if>可以實現(xiàn)條件選擇性查詢,再在HistoryService中調(diào)用上述方法,最后在HistoryController中調(diào)用HistoryService中的方法獲取數(shù)據(jù),再使用R類的success將數(shù)據(jù)包裝后傳至前端。歷史界面運行截圖如圖5.15所示。圖5.15歷史記錄界面5.2.15個人信息用戶進(jìn)入個人信息界面后,可以查看個人信息,包括性別,姓名,年齡,電話,用戶名,郵箱,也可以進(jìn)行修改。調(diào)用修改個人信息接口傳遞參數(shù)username、realname、age、sex、email、phone,請求類型為Post,在UserMapper中添加更新用戶為username的用戶信息記錄的方法,再在UserService中調(diào)用上述方法,最后在UserController中調(diào)用UserService中的方法獲取提示消息,再使用R類的success將數(shù)據(jù)包裝后傳至前端,前端在接受數(shù)據(jù)之后使用prompt.showToast方法彈出提示。個人信息界面運行截圖如圖5.16所示。圖5.16個人信息界面5.3本章小結(jié)本章首先詳細(xì)介紹了系統(tǒng)的實現(xiàn)需要什么環(huán)境還有工具。然后介紹了系統(tǒng)各個主要模塊的大部分功能,介紹了系統(tǒng)的實現(xiàn)過程和代碼實現(xiàn),并展示出了系統(tǒng)完成后的界面展示。在接下來的第六章,將進(jìn)入系統(tǒng)測試部分。第6章系統(tǒng)測試6系統(tǒng)測試第6章將會對上一章的系統(tǒng)功能進(jìn)行測試。首先會給出總體的測試計劃和一些測試環(huán)境的要求。然后是測試的過程,通過對用戶和管理員的部分功能進(jìn)行測試,快速發(fā)現(xiàn)bug,并想辦法解決,每個功能都會設(shè)計2-3個測試用例,從而保證測試的覆蓋率和準(zhǔn)確性。6.1測試計劃首先要進(jìn)行的是功能性測試,主要是找出整個畢業(yè)生生活用品出售系統(tǒng)中的問題,而非功能性測試是用來檢驗系統(tǒng)的品質(zhì),可以測試系統(tǒng)的性能的高低和是否安全,還包括、負(fù)載測試、可靠性測試等。系統(tǒng)測試要求的環(huán)境并不是很多:首先需要Window10操作系統(tǒng),其次是軟件環(huán)境只需要一個瀏覽器。本系統(tǒng)測試使用等價類劃分和和黑盒測試,黑盒測試相比于白盒測試只需要測試一些功能,而不需要測試整體的結(jié)構(gòu)和代碼,主要目的是用來測試一下整個畢業(yè)生生活用品出售系統(tǒng)當(dāng)中各個主要模塊的基本功能有沒有問題。6.2功能測試過程及分析本小節(jié)中主要針對2個部分進(jìn)行測試。管理員的主要功能:查詢或搜索商品信息、添加或修改商品、刪除商品,查看訂單、發(fā)貨,對學(xué)生用戶進(jìn)行管理,修改用戶狀態(tài),查看、刪除、修改分類。用戶的主要功能:智能推薦、注冊和登錄、修改密碼、查看商品、修改個人信息、加入購物車、購買商品等功能。在測試過程中,每個測試用例都有測試內(nèi)容,測試過程和測試結(jié)果。6.2.1登錄功能測試設(shè)計了4個測試用例來測試用戶登錄功能,分別是只輸入密碼或者用戶名,輸入錯誤的用戶名或密碼,輸入被禁用的用戶名并輸入密碼,輸入正確的用戶名和密碼。具體情況如表6.1所示。表6.1登錄功能測試測試號碼測試內(nèi)容具體操作預(yù)計結(jié)果測試結(jié)果1只輸入用戶名或者密碼1.用戶輸入用戶名“yuanzheng”,但是不輸入密碼2.點擊登陸按鈕3.界面反饋結(jié)果測試通過彈出提示框,用戶名或密碼不能為空2輸入錯誤的用戶名或密碼1.用戶輸入一個正確的用戶名“yuanzheng”2.用戶輸入一個錯誤的密碼“yuanzheng”3.點擊登陸,查看結(jié)果測試通過彈出提示框,用戶名不存在或密碼錯誤3輸入被禁用的用戶名,并輸入密碼1.用戶輸入一個已經(jīng)被禁用的用戶名“yuanzheng123”2.用戶輸入一個正確的密碼“yuanzheng123”3.點擊登陸,查看結(jié)果測試通過彈出提示框,該賬號已被禁用4輸入正確的用戶名和密碼1.用戶輸入一個正確的用戶名“yuanzheng0808”2.用戶輸入一個正確的密碼“yuanzheng0808”3.點擊登陸,查看結(jié)果測試通過登陸成功,跳轉(zhuǎn)到首頁面6.2.2注冊模塊功能測試設(shè)計了2個測試用例來對注冊功能模塊進(jìn)行測試,測試內(nèi)容分別是注冊已經(jīng)存在的用戶,注冊不存在的用戶,具體測試情況如表6.2所示。表6.2注冊功能測試測試號碼測試內(nèi)容具體操作預(yù)計結(jié)果測試結(jié)果1注冊已經(jīng)存在的用戶1.進(jìn)入注冊頁面,輸入已經(jīng)存在的用戶名“yuanzheng0808”2.輸入密碼“yuanzheng0808”3.點擊注冊按鈕測試通過彈出提示框,該用戶名已存在續(xù)表3.3測試號碼測試內(nèi)容具體操作預(yù)計結(jié)果測試結(jié)果2注冊不存在的用戶1.進(jìn)入注冊頁面,輸入不存在的用戶名“yuanzheng123”2.輸入密碼“yuanzheng123”3.點擊注冊按鈕測試通過注冊成功,跳轉(zhuǎn)到登錄界面6.2.3管理員查詢用戶功能測試設(shè)計了2個測試用例來對管理員查詢用戶測試,測試內(nèi)容分別是不輸入用戶名,輸入正確的用戶名,輸入不存在的用戶名,具體測試情況如表6.3所示。表6.3管理員查詢用戶測試測試號碼測試內(nèi)容具體操作預(yù)計結(jié)果測試結(jié)果1不輸入用戶名1.管理員登錄2.進(jìn)入用戶管理頁面3.點擊查詢按鈕測試通過顯示所有用戶信息2輸入正確的用戶名1.管理員登錄2.進(jìn)入用戶管理頁面3.輸入正確用戶名“yuanzheng0808”4..點擊查詢按鈕測試通過顯示用戶名包含“yuanzheng0808”的用戶信息。3輸入不存在的用戶名1.管理員登錄2.進(jìn)入用戶管理頁面3.輸入不存在的用戶名“aaaaaaaaaaaa”4.點擊查詢按鈕測試通過不顯示用戶信息6.2.4管理員商品查詢功能測試設(shè)計了3個測試用例來對管理員商品查詢功能進(jìn)行測試,測試內(nèi)容分別是不輸入商品名稱,輸入正確的商品名稱,輸入不存在的商品名稱,具體情況如表6.4所示。表6.4管理員商品查詢功能測試測試號碼測試內(nèi)容具體操作預(yù)計結(jié)果測試結(jié)果1不輸入商品名稱1.管理員登錄2.進(jìn)入商品管理頁面3.點擊查詢按鈕測試通過顯示所有商品信息2輸入正確的商品名稱1.管理員登錄2.進(jìn)入商品管理頁面3.輸入正確的商品名“大黃雞”4.點擊查詢按鈕測試通過顯示商品名稱包含“大黃雞”的商品信息。3輸入不存在的商品名稱1.管理員登錄2.進(jìn)入商品管理頁面3.輸入不存在的商品名稱“aaaaaaaaaaaa”4.點擊查詢按鈕測試通過不顯示商品信息6.2.5管理員訂單查詢功能測試設(shè)計了3個測試用例來對管理員訂單查詢功能進(jìn)行測試,測試內(nèi)容分別是不輸入訂單編號,輸入正確的訂單編號,輸入不存在的訂單編號,具體情況如表6.5所示。表6.5用戶訂單查詢功能測試測試號碼測試內(nèi)容具體操作預(yù)計結(jié)果測試結(jié)果1不輸入訂單編號1.管理員登錄2.進(jìn)入訂單管理頁面3.點擊查詢按鈕測試通過顯示所有訂單信息2輸入正確的訂單編號1.管理員登錄2.進(jìn)入訂單管理頁面3.輸入正確訂單編號“13”4.點擊查詢按鈕測試通過顯示訂單編號包含“13”的訂單信息。3輸入不存在的訂單編號1.管理員登錄2.進(jìn)入訂單管理頁面3.輸入不存在的訂單編號4.點擊查詢按鈕測試通過不顯示訂單信息6.2.6管理員分類管理功能測試設(shè)計了3個測試用例來對管理員分類管理功能進(jìn)行測試,測試內(nèi)容分別是新增分類,刪除有商品的分類,刪除沒有商品的分類,具體情況如表6.6所示。表6.6管理員分類管理功能測試測試號碼測試內(nèi)容具體操作預(yù)計結(jié)果測試結(jié)果1不輸入商品名稱1.管理員登錄2.進(jìn)入分類管理頁面3.新增分類名為“其他”的分類4.點擊確定按鈕測試通過新增分類成功2刪除有商品的分類1.管理員登錄2.進(jìn)入分類管理頁面3.刪除分類名為“食品”的分類4.點擊確定按鈕測試通過彈出提示框,改分類下還有3件商品,無法刪除3刪除沒有商品的分類1.管理員登錄2.進(jìn)入分類管理頁面3.刪除分類名為“其他”的分類4.點擊確定按鈕測試通過刪除分類成功6.2.7用戶查看商品功能測試設(shè)計了5個測試用例來對用戶查看商品功能進(jìn)行測試,測試內(nèi)容分別是不輸入商品名稱,輸入正確的商品名稱,輸入不存在的商品名稱,查詢?nèi)糠诸惖纳唐罚樵兤渌诸惖纳唐?,具體情況如表6.7所示。表6.7用戶查看商品功能測試測試號碼測試內(nèi)容具體操作預(yù)計結(jié)果測試結(jié)果1不輸入商品名稱1.管理員登錄2.進(jìn)入商城頁面3.點擊查詢按鈕測試通過顯示所有商品信息續(xù)表6.7測試號碼測試內(nèi)容具體操作預(yù)計結(jié)果測試結(jié)果2輸入正確的商品名稱1.用戶登錄2.進(jìn)入商城頁面3.輸入正確的商品名“大黃雞”4.點擊查詢按鈕測試通過顯示商品名稱包含“大黃雞”的商品信息。3輸入不存在的商品名稱1.用戶登錄2.進(jìn)入商城頁面3.輸入不存在的商品名稱“aaaaaaaaaaaa”4.點擊查詢按鈕測試通過不顯示商品信息4查詢?nèi)糠诸惖纳唐?.用戶登錄2.進(jìn)入商城頁面3.點擊全部按鈕測試通過顯示所有商品信息5查詢其他分類的商品1.用戶登錄2.進(jìn)入商城頁面3.點擊“食品”按鈕預(yù)計結(jié)果顯示分類為“食品”商品信息6.2.8用戶購物車功能測試設(shè)計了3個測試用例來對用戶購物車功能進(jìn)行測試,測試內(nèi)容分別是加入購物車,刪除購物車,購買商品,具體情況如表6.8所示。表6.8用戶購物車功能測試測試號碼測試內(nèi)容具體操作預(yù)計結(jié)果測試結(jié)果1加入購物車1.用戶登錄2.進(jìn)入商品頁面3.點擊按鈕將商品加入購物車4.進(jìn)入購物車頁面查看結(jié)果測試通過彈出提示框,添加成功2刪除購物車1.用戶登錄2.進(jìn)入購物車頁面3.點擊刪除按鈕4.查看結(jié)果測試通過彈出提示框,刪除成功續(xù)表6.8測試號碼測試內(nèi)容具體操作預(yù)計結(jié)果測試結(jié)果3購買商品1.用戶登錄2.進(jìn)入購物車頁面3.點擊“結(jié)算”按鈕4.查看結(jié)果測試通過彈出提示框,購買成功6.2.9用戶好友功能測試設(shè)計了4個測試用例來對用戶好友功能進(jìn)行測試,測試內(nèi)容分別是查看好友列表,添加存在的用戶,添加不存在的用戶,添加已經(jīng)是好友的用戶,具體情況如表6.9所示。表6.9用戶好友功能測試測試號碼測試內(nèi)容具體操作預(yù)計結(jié)果測試結(jié)果1查看好友列表1.用戶登錄2.進(jìn)入好友頁面3.查看好友列表測試通過顯示所有好友信息2添加存在的用戶1.用戶登錄2.進(jìn)入好友頁面3.輸入用戶名為“admin”4.點擊添加按鈕查看結(jié)果預(yù)計結(jié)果彈出提示框,添加成功3添加不存在的用戶1.用戶登錄2.進(jìn)入好友頁面3.輸入用戶名為“aaaaaaaaa”4)點擊添加按鈕查看結(jié)果測試通過彈出提示框,添加失敗,用戶名不存在4添加已經(jīng)是好友的用戶1)用戶登錄2)進(jìn)入好友頁面3)輸入用戶名為“yuanqin”4)點擊添加按鈕查看結(jié)果測試通過彈出提示框,添加失敗,該用戶已經(jīng)是好友6.2.10用戶修改密碼功能測試設(shè)計了3個測試用例來對用戶修改密碼功能進(jìn)行測試,測試內(nèi)容分別是輸入錯誤的舊密碼,輸入正確的舊密碼并輸入同樣的新密碼,輸入正確的新密碼與舊密碼,購買商品,具體情況如表6.10所示。表6.10用戶修改密碼功能測試測試號碼測試內(nèi)容具體操作預(yù)計結(jié)果測試結(jié)果1輸入錯誤的舊密碼1.用戶登錄2.進(jìn)入修改密碼頁面3.輸入舊密碼為“yuanzheng12345”4.點擊修改按鈕測試通過彈出提示框,修改失敗,舊密碼錯誤2輸入正確的舊密碼,并輸入同樣的新密碼1.用戶登錄2.進(jìn)入修改密碼頁面3.輸入舊密碼為“yuanzheng”輸入新密碼為“yuanzheng”4.點擊修改按鈕預(yù)計結(jié)果彈出提示框,修改失敗,新密碼不能與舊密碼一致3輸入正確的新密碼與舊密碼1.用戶登錄2.進(jìn)入修改密碼頁面3.輸入舊密碼為“yuanzheng”輸入新密碼為“yuanzheng123”4.點擊修改按鈕測試通過彈出提示框,修改成功6.2.11用戶個人信息功能測試設(shè)計了2個測試用例來對用戶購物車功能進(jìn)行測試,測試內(nèi)容分別是當(dāng)輸入的內(nèi)容為空時,當(dāng)輸入的內(nèi)容不為空時,具體情況如表6.11所示。表6.11用戶修改密碼功能測試測試編號測試目標(biāo)具體操作預(yù)計結(jié)果期望結(jié)果1輸入的內(nèi)容為空1.登錄2.進(jìn)入我的頁面3.點擊個人信息4.不輸入信息5.點擊修改測試通過提示修改成功,個人信息無變化續(xù)表6.11測試編號測試目標(biāo)具體操作預(yù)計結(jié)果期望結(jié)果2輸入的內(nèi)容不為空1.登錄2.進(jìn)入我的頁面3.點擊個人信息4.輸入修改的信息5.點擊修改測試通過提示修改成功,個人信息發(fā)生修改6.3本章小結(jié)本章對系統(tǒng)的各個模塊都進(jìn)行了詳細(xì)的測試,介紹了本系統(tǒng)測試所需要的測試環(huán)境和工具,以確保系統(tǒng)的運行時沒有bug。第七章總結(jié)和展望7總結(jié)和展望自選擇課題至今,在老師及學(xué)生的協(xié)助下,我已順利地寫完了編程及畢業(yè)論文,收獲頗豐;在此過程中,我將自己所學(xué)習(xí)的知識技巧與實踐相結(jié)合,得以發(fā)揮與鞏固。在進(jìn)行該項目的研究以前,我的預(yù)備性工作包括:對二手商城和二手物品市場的需要有一個明確的認(rèn)識,對目前流行的網(wǎng)上二手物品市場的特征和不足進(jìn)行分析對比,為該項目的系統(tǒng)選擇適當(dāng)?shù)脑O(shè)計方式;對該項目的總體架構(gòu)進(jìn)行設(shè)計。以二手交易平臺為基礎(chǔ),對其進(jìn)行了設(shè)計,并以此為基礎(chǔ),對其進(jìn)行了以學(xué)生為對象的在線畢業(yè)生生活物資出售系統(tǒng)的主要功能。與目前在網(wǎng)絡(luò)上使用的某些系統(tǒng)進(jìn)行比較,該系統(tǒng)擁有了更簡單、

溫馨提示

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

評論

0/150

提交評論