.net生鲜超市销售系统
目錄
摘要........................................................................................................... I
Abstract.................................................................................................... II
第一章 緒論............................................................................................. 1
1.1 課題背景與研究意義......................................................................... 1
1.2 課題研究現狀..................................................................................... 1
1.3 論文結構............................................................................................ 2
第二章 相關技術簡介.............................................................................. 3
2.1 Visual Studio開發環境....................................................................... 3
2.2 MySQL數據庫................................................................................... 3
2.3 MVC框架........................................................................................... 3
2.4 Vue框架.............................................................................................. 3
第三章 需求分析...................................................................................... 4
3.1 可行性分析........................................................................................ 4
3.2 非功能需求........................................................................................ 4
3.3 功能性需求........................................................................................ 5
第四章 總體設計.................................................................................... 12
4.1 系統架構設計................................................................................... 12
4.2 功能設計.......................................................................................... 12
4.3 數據庫設計...................................................................................... 17
第五章 系統實現.................................................................................... 22
5.1 登錄.................................................................................................. 22
5.2 用戶管理.......................................................................................... 23
5.3 商品管理.......................................................................................... 23
5.4 超市資訊管理................................................................................... 24
5.5 分類管理.......................................................................................... 25
5.6 商品展示.......................................................................................... 25
5.7 商品詳細信息................................................................................... 26
5.8 超市資訊展示................................................................................... 27
5.9 超市資訊詳細信息........................................................................... 27
第六章 系統測試.................................................................................... 29
6.1 測試目的.......................................................................................... 29
6.2 測試方法.......................................................................................... 29
6.3 測試用例.......................................................................................... 30
結論......................................................................................................... 31
參考文獻................................................................................................. 32
致謝......................................................................................................... 33
附錄......................................................................................................... 34
摘要
計算機網絡如果結合使用信息管理系統,能夠提高管理員管理的效率,改善服務質量。優秀的生鮮超市銷售系統能夠更有效管理商品售賣業務規范,幫助管理者更加有效管理商品售賣,可以幫助提高克服人工管理帶來的錯誤等不利因素。
本生鮮超市銷售系統使用了計算機語言C#和存放數據的倉庫MySQL,采用了MVC設計模式來實現。本系統使用了框架ASP.NET和Vue實現了生鮮超市銷售系統應有的功能,系統主要角色包括管理員和用戶,用戶登錄系統后可以購買商品,管理員管理系統的信息。Vue框架屬于漸進式框架中的一種,能夠用于構建用戶界面,不用編寫后端邏輯業務的代碼,只需要關注前端界面代碼的編寫,通過和第三方View庫進行整合,通過腳手架進行開發出對應的前端界面,這有助于提供強大的伸縮能力,通過采用向上增量的開發設計能夠有助于減少系統代碼的冗余度。
關鍵詞:銷售管理系統;處理業務;設計模式;商品售賣
?Abstract
If the computer network is combined with the information management system, it can improve the efficiency of administrator management and improve the quality of service. Excellent fresh supermarket sales system can more effectively manage the business norms of commodity sales, help managers more effectively manage commodity sales, and help improve and overcome the adverse factors such as errors caused by manual management.
The fresh supermarket sales system uses computer language c# and data warehouse mysql, and adopts MVC design mode to realize it. The system uses the framework ASP Net and Vue realize the functions of the fresh supermarket sales system. The main roles of the system include administrator and user. After logging in to the system, users can buy goods, and the administrator manages the information of the system. Vue framework is a kind of progressive framework. It can be used to build user interface without writing back-end logic business code. It only needs to pay attention to the writing of front-end interface code. By integrating with the third-party view library and developing the corresponding front-end interface through scaffolding, it helps to provide strong scalability. By adopting upward incremental development design, it can help to reduce the redundancy of system code.
Key words:Sales Management Sstem;Handing Business;Design Mode;Sale of Goods
第一章 緒論
1.1 課題背景與研究意義
隨著計算機的普及,國際上生鮮超市銷售系統前景良好,網上商品售賣的出現,證明了生鮮超市銷售系統具有良好的前景。在當今世界之中,隨著科學技術的不斷發展和計算機越來越普及,運用計算機對系統進行管理是一種趨勢。如今隨著社會和生活的信息量在不斷地增長中,如何提高管理員的管理效率成為了人們關注的話題[1]32。
傳統人工管理生鮮超市銷售系統會消耗過多的人力和物力,很有困難造成管理員管理混亂,從而對生鮮超市銷售系統的正常運營造成影響,很多傳統的管理模式已經不能夠適應人們的要求。我們可以充分利用計算機的資源,完成網上商品售賣的信息服務。最后為了方便管理員能夠大量處理業務,可以借用于計算機強大的信息資源。在考慮到用戶的便處之時還需要考慮到用戶使用的安全問題[2]。
隨著對各種不同模型的討論和信息技術的最終發展,并且還討論了在海量數據中如何安全和高效地存儲的問題,人們逐漸發明了一些辦法。將計算機軟硬件和數據庫進行結合起來,研究了一套能夠為商店正常運行而提供的功能,這種功能最后帶動了信息管理系統的發展。一個生鮮超市銷售系統不僅能夠解決用戶的需求,還能夠降低人工的操作出現錯誤的幾率。這能夠使得管理員的管理更加標準化。
1.2 課題研究現狀
在很多發達國家中,生鮮超市銷售系統的進展明顯要快于我國很多,在管理方面也建設了很多不同的管理平臺,這些管理平臺能夠為管理員管理提供數據信息。這些生鮮超市銷售系統原則上的設計能夠結合網絡軟硬件構建出信息系統。
相比較于國外而言,我國網上商品售賣信息化發展是較為緩慢的,最初只是將網上商品售賣信息作為一個概念進行研究。隨著信息技術的不斷發展,目前我國在網上商品售賣管理方面已經有了進步。
以生鮮超市銷售系統的應用為基礎,可以將軟件開發機構分為幾個層次:
第一個層次中的國外軟件開發機構能夠提供較為成熟的生鮮超市銷售系統,這些生鮮超市銷售系統的主要目標為市場上的高端用戶,軟件能夠滿足高端用戶對其平臺的要求。
第二個層次是我國的一些軟件機構在研究生鮮超市銷售系統的時候往往引入了國外軟件的設計模式,之后結合國內市場的具體需要進行設計軟件。設計出的軟件一般能夠符合大多數用戶的認可[3]。
第三個層次為定制的生鮮超市銷售系統。一般是結合于用戶的實際需求,定制有特殊功能的生鮮超市銷售系統,從而滿足用戶的不同要求。
1.3 論文結構
針對本文的生鮮超市銷售系統安排論文的章節如下:
第一章是引言。本章主要介紹了課題研究背景與意義、課題研究現狀和論文結構。
第二章是系統開發環境及技術。本章介紹了生鮮超市銷售系統開發環境和所涉及到的技術。
第三章是需求分析。本章介紹了生鮮超市銷售系統的功能需求和非功能需求,繪制出系統功能模塊圖。
第四章是系統總體設計。對系統功能模塊進行劃分和數據庫設計。
第五章是系統實現。本章闡述了生鮮超市銷售系統功能模塊的實現功能。
第六章是系統測試。本章闡述了使用黑盒測試對系統進行測試。
第二章 相關技術簡介
2.1 Visual Studio開發環境
本生鮮超市銷售系統使用的開發環境為Visual Studio,Visual Studio能夠為ASP.NET系統提供豐富的繼承環境,它包括了測試功能、代碼編寫功能和打包發布功能。目前Visual Studio能夠支持ASP.NET框架和數據庫連接工具等多項功能,Visual Studio差不多囊括了Eclipse的所有功能,而且作為開發環境其擁有領先于業界的數據庫工具,強健而靈活的軟件建模,高效的體系結構以及指導關鍵測試功能集成的源代碼控制。
2.2 MySQL數據庫
MySQL數據庫能夠存儲大量的數據,在操作上不僅方便快捷,如果想加快查詢的速度,可以在數據庫表上加上索引,MySQL通過SQL語句可以管理系統的信息。如果系統需要添加數據的時候,可以調用insert語句更新數據庫記錄,通過少量的SQL語句可以管理系統的信息。
2.3 MVC框架
MVC框架能夠處理生鮮超市銷售系統的超鏈接,由后端框架處理前端頁面傳遞過來的請求。通過后端框架可以避免用戶直接訪問前端頁面,能夠較大提高系統的安全性。
2.4 Vue框架
Vue框架屬于漸進式框架中的一種,能夠用于構建用戶界面,不用編寫后端邏輯業務的代碼,只需要關注前端界面代碼的編寫,通過和第三方View庫進行整合,通過腳手架進行開發出對應的前端界面,這有助于提供強大的伸縮能力,通過采用向上增量的開發設計能夠有助于減少系統代碼的冗余度。
第三章 需求分析
3.1 可行性分析
3.1.1 經濟可行性研究
如果管理員有了生鮮超市銷售系統,便可以對網上用戶購買商品進行管理,在資金花費上可以節省不少。生鮮超市銷售系統的設計開發與實現目的是解決傳統模式帶來的多余經濟支出,尤其是人力資源帶來的成本支出[5]。傳統的生鮮超市銷售系統不僅需要消耗大量人力資源,而且往往需要管理員手工記載數據。本生鮮超市銷售系統設計實現的目的為降低開發成本,并且可以節省管理員的時間和提高用戶的體驗感。考慮到目前的互聯網開源框架和硬件設備,所以經濟上是可行的[6]。
3.1.2 技術可行性研究
根據前期對生鮮超市銷售系統功能的分析和確定,最后選擇合適的軟件架構和技術實現系統的開發,系統在設計實現的時候無論是開發工具還是系統架構使用的都是較為方便的開發模型,還包括了較為成熟的解決方法。綜合市場上現有的生鮮超市銷售系統,本次所使用的技術基本可行,并且能夠滿足用較少的開發和學習的成本。此次使用的開發模式能夠快速構建系統,有不少現成的系統可供參考,所以后期的系統維護和升級較為容易,因此在技術上是可行的。
3.1.3 操作可行性研究
生鮮超市銷售系統開發出來的目的是為了用戶訪問的操作的,因此生鮮超市銷售系統在設計的時候需要注意到用戶操作和訪問的問題,用戶群體普遍能夠接受信息化的使用操作,所以用戶的學習成本不是很高。
3.2 非功能需求
生鮮超市銷售系統在設計的時候需要注意非功能性需求,還要滿足系統業務流程的需要。
(1)兼容性
一般軟件系統可以分為服務器和客戶端,服務器需要運行程序,客戶端顯示程序的界面,系統的機器需要放置在機房中,軟件開發者在平常的時候需要對其維護,用戶所能接觸到的界面其實是由客戶端運行的,屬于人機交互的接口。為了提高生鮮超市銷售系統的兼容率,需要考慮代碼實現的時候和前端界面的樣式是否能夠相互適配。
(2)可擴展性
軟件系統隨著事件的推移需要更新系統,本生鮮超市銷售系統也不例外,如果需求發生了改變,那么就需要調整系統的功能。如果采用的是面向對象程序設計方法,那么可以使用接口編程技術,嚴格遵循軟件開發規范,最后對系統進行修改的時候會具有較高的適應性。
3.3 功能性需求
3.3.1 用例概述
管理員登錄后可以管理系統的各類信息,管理員用例圖,如圖1所示。
圖1 管理員用例圖
用戶登錄系統后可以購買商品,用戶用例圖,如圖2所示。
圖2 用戶用例圖
用例的簡要描述,如表1所示。
表1 ?用例描述
| 用例標識(UC) | 用例名稱 | 摘要描述 |
| 1 | 注冊登錄 | 用戶和管理員通過登錄功能才得以使用系統的功能 |
| 2 | 查看商品信息 | 用戶登錄系統之后可以查看商品信息 |
| 3 | 收藏商品 | 用戶登錄系統之后可以收藏商品 |
| 4 | 購物車管理 | 用戶登錄系統之后可以管理購物車信息 |
| 5 | 訂單管理 | 用戶登錄系統之后可以管理訂單信息 |
| 6 | 地址管理 | 用戶登錄系統之后可以管理地址信息 |
| 7 | 評論管理 | 用戶登錄系統之后可以管理評論信息 |
| 8 | 個人中心 | 用戶和管理員登錄系統之后可以修改個人信息 |
| 9 | 查看超市資訊信息 | 用戶登錄系統之后可以查看超市資訊信息 |
| 10 | 商品信息管理 | 管理員在商品信息管理功能中管理商品的信息 |
| 11 | 訂單信息管理 | 管理員在訂單信息管理功能中管理訂單的信息 |
| 12 | 用戶信息管理 | 管理員在用戶信息管理功能中管理用戶的信息 |
| 13 | 商品分類管理 | 管理員在商品分類信息管理功能中管理商品分類的信息 |
| 14 | 系統管理 | 管理員在系統信息管理功能中管理系統的信息 |
| 15 | 供貨商管理 | 管理員在供貨商信息管理功能中管理供貨商的信息 |
3.3.2 用例描述
1.商品信息管理
商品信息管理用例描述,如表2所示。
表2 ?商品信息管理用例描述
| 用例標識 | 3.1(商品信息管理用例) |
| 用例名稱 | 編輯商品的相關信息 |
| 參與者 | 管理員 |
| 前置條件 | 管理員需要輸入正確的用戶名和密碼登錄系統 |
| 后置條件 | 修改商品信息 |
| 用例概述 | 管理員修改商品信息 |
| 基本事件流 | 1.管理員輸入正確的用戶名和密碼登錄到系統當中 2.管理員在商品信息管理界面點擊添加按鈕提交新添加的商品信息 3.商品信息添加成功 |
| 備選事件流 | 4a 輸入的信息需要合法才能夠成功添加 |
| 備注 |
2.用戶信息管理
用戶信息管理用例描述,如表3所示。
表3 ?用戶信息管理用例描述
| 用例標識 | 3.2(用戶信息管理用例) |
| 用例名稱 | 編輯用戶的相關信息 |
| 參與者 | 管理員 |
| 前置條件 | 管理員需要輸入正確的用戶名和密碼登錄系統 |
| 后置條件 | 修改用戶信息 |
| 用例概述 | 管理員修改用戶信息 |
| 基本事件流 | 1.管理員輸入正確的用戶名和密碼登錄到系統當中 2.管理員在用戶信息管理界面點擊修改按鈕提交修改的用戶信息 3.用戶信息修改成功 |
| 備選事件流 | 4a 輸入的信息需要合法才能夠成功修改 |
| 備注 |
3.訂單信息管理
訂單信息管理用例描述,如表4所示。
表4 ?訂單信息管理用例描述
| 用例標識 | 3.3(訂單信息管理用例) |
| 用例名稱 | 刪除訂單的相關信息 |
| 參與者 | 管理員 |
| 前置條件 | 管理員需要輸入正確的用戶名和密碼登錄系統 |
| 后置條件 | 刪除訂單信息 |
| 用例概述 | 管理員刪除訂單信息 |
| 基本事件流 | 1.管理員輸入正確的用戶名和密碼登錄到系統當中 2.管理員在訂單信息管理界面點擊刪除按鈕提交刪除的訂單信息 3.訂單信息刪除成功 |
| 備選事件流 | 4a 刪除的訂單信息需要跟其它表沒有關聯才能夠刪除 |
| 備注 |
4.商品分類信息管理
商品分類信息管理用例描述,如表5所示。
表5 ?商品分類信息管理用例描述
| 用例標識 | 3.4(商品分類信息管理) |
| 用例名稱 | 搜索商品分類的相關信息 |
| 參與者 | 管理員 |
| 前置條件 | 管理員需要輸入正確的用戶名和密碼登錄系統 |
| 后置條件 | 搜索商品分類信息 |
| 用例概述 | 管理員搜索商品分類信息 |
| 基本事件流 | 1.管理員輸入正確的用戶名和密碼登錄到系統當中 2.管理員在商品分類信息管理界面點擊搜索按鈕提交搜索的商品分類信息 3.商品分類信息搜索成功 |
| 備選事件流 | 4a 輸入的商品分類名稱需要跟數據庫的信息相匹配才能夠搜索成功 |
| 備注 |
5.登錄
登錄用例描述,如表6所示。
表6 登錄用例描述
| 用例標識 | 3.5(用戶登錄用例) |
| 用例名稱 | 登錄 |
| 參與者 | 用戶、管理員 |
| 前置條件 | 用戶和管理員需要輸入正確的用戶名和密碼 |
| 后置條件 | 登錄 |
| 用例概述 | 用戶和管理員登錄 |
| 基本事件流 | 1.用戶和管理員進入到登錄頁面當中 2.管理員和用戶輸入用戶名和密碼登錄到系統當中 |
續表6 ?登錄用例描述
| 用例標識 | 3.5(用戶登錄用例) |
| 備選事件流 | 4a 輸入的信息需要和數據庫信息相匹配才能夠登錄 |
| 備注 |
6.系統信息管理
系統信息管理用例描述,如表7所示。
表7 ?系統用例描述
| 用例標識 | 3.6(系統用例) |
| 用例名稱 | 編輯系統的相關信息 |
| 參與者 | 管理員 |
| 前置條件 | 管理員需要輸入正確的用戶名和密碼登錄系統 |
| 后置條件 | 修改系統信息 |
| 用例概述 | 管理員修改系統信息 |
| 基本事件流 | 1.管理員輸入正確的用戶名和密碼登錄到系統當中 2.管理員在系統信息管理界面點擊添加按鈕提交新添加的系統信息 3.系統信息添加成功 |
| 備選事件流 | 4a 輸入的信息需要合法才能夠成功添加 |
7.個人中心
個人中心用例描述,如表8所示。
表8 ?個人中心用例描述
| 用例標識 | 3.7(個人中心用例) |
| 用例名稱 | 個人中心 |
| 參與者 | 用戶、管理員 |
| 前置條件 | 用戶和管理員需要進入到個人中心頁面中 |
| 后置條件 | 修改個人信息 |
| 用例概述 | 用戶和管理員管理個人信息 |
| 基本事件流 | 1.用戶和管理員進入到登錄頁面當中 2.用戶和管理員輸入用戶名和密碼登錄到系統當中 3.在個人中心頁面中修改自己個人信息 |
| 備選事件流 | 4a 只有輸入的信息合法才能夠成功修改 |
| 備注 |
8.購物車管理
購物車管理用例描述,如表9所示。
表9 ?購物車管理用例描述
| 用例標識 | 3.8(購物車管理用例) |
| 用例名稱 | 購物車 |
| 參與者 | 用戶 |
| 前置條件 | 用戶需要進入到購物車頁面中 |
| 后置條件 | 管理購物車信息 |
| 用例概述 | 用戶管理購物車信息 |
| 基本事件流 | 1.用戶進入到登錄頁面當中 2.用戶輸入用戶名和密碼登錄到系統當中 3.進入購物車頁面中管理信息 |
| 備選事件流 | 4a 只有點擊相應的按鈕才能夠管理 |
| 備注 |
9.地址管理
地址管理用例描述,如表10所示。
表10 ?地址管理用例描述
| 用例標識 | 3.9(地址管理用例) |
| 用例名稱 | 地址 |
| 參與者 | 用戶 |
| 前置條件 | 用戶需要進入到地址頁面中 |
| 后置條件 | 管理地址信息 |
| 用例概述 | 用戶管理地址信息 |
| 基本事件流 | 1.用戶進入到登錄頁面當中 2.用戶輸入用戶名和密碼登錄到系統當中 3.進入地址頁面中管理信息 |
| 備選事件流 | 4a 只有點擊相應的按鈕才能夠管理 |
| 備注 |
10.訂單管理
訂單管理用例描述,如表11所示。
表11 ?訂單管理用例描述
| 用例標識 | 3.10(訂單管理用例) |
| 用例名稱 | 訂單 |
| 參與者 | 用戶 |
| 前置條件 | 用戶需要進入到訂單頁面中 |
| 后置條件 | 管理訂單信息 |
| 用例概述 | 用戶管理訂單信息 |
續表11 訂單管理用例描述
| 用例標識 | 3.10(訂單管理用例) |
| 基本事件流 | 1.用戶進入到登錄頁面當中 2.用戶輸入用戶名和密碼登錄到系統當中 3.進入訂單頁面中管理信息 |
| 備選事件流 | 4a 只有點擊相應的按鈕才能夠管理 |
| 備注 |
11.查看商品信息
查看商品信息用例描述,如表12所示。
表12 查看商品信息用例描述
| 用例標識 | 3.11(查看商品信息用例) |
| 用例名稱 | 查看商品信息 |
| 參與者 | 用戶 |
| 前置條件 | 用戶需要登錄 |
| 后置條件 | 查看商品信息 |
| 用例概述 | 用戶查看商品信息 |
| 基本事件流 | 1.用戶進入到登錄頁面當中 2.用戶輸入用戶名和密碼登錄到系統當中 3.進入商品列表界面 |
12.收藏商品
收藏商品用例描述,如表13所示。
表13 ?收藏商品用例描述
| 用例標識 | 3.12(收藏商品用例) |
| 用例名稱 | 收藏商品 |
| 參與者 | 用戶 |
| 前置條件 | 用戶需要進入到商品詳情頁面中 |
| 后置條件 | 收藏商品 |
| 用例概述 | 用戶收藏商品 |
| 基本事件流 | 1.用戶進入到登錄頁面當中 2.用戶輸入用戶名和密碼登錄到系統當中 3.進入商品詳細頁面中 |
第四章 總體設計
4.1 系統架構設計
本生鮮超市銷售系統采用的是B/S模式,B/S模式又稱瀏覽器/服務器模式,B/S模式有個很大的好處為如果系統有網絡那么就可以運行,它依賴于Web瀏覽器的技術,因此在使用的時候不需要管理人員安裝任何較為專業的軟件,管理員在維護軟件的時候也無需花費過多的精力。
瀏覽器端在向用戶提供操作界面的時候還需要保存前端用戶輸入的各項信息和處理用戶提交的請求,業務邏輯執行相關操作處理前端界面傳遞過來的數據,最后把處理結果顯示給用戶。服務器端主要處理用戶點擊頁面傳遞過來的請求,最后去數據庫端請求數據庫服務器執行相關的操作,從而能夠得到相應的數據記錄,之后根據情況對取得的數據記錄進行處理返回到瀏覽器端顯示相應的結果,架構設計圖,如圖3所示。
| 數據庫 |
| 返回操作結果 |
| 開源框架操作 |
| 瀏覽器 |
| 服務器 |
| 返回操作結果 |
| 操作請求 |
圖3 架構設計圖
4.2 功能設計
4.2.1 功能設計分析
生鮮超市銷售系統的目的就是管理商品售賣的日常事務,通過分析,生鮮超市銷售系統的業務主體包括不同的角色。因此在生鮮超市銷售系統當中首先需要實現角色之間具有不同的權限,要為不同用戶分配相應的權限,區分不同角色區別需要使用用戶表,用戶表中需要設置特殊列區分不同的用戶,用戶表中存儲著用戶的個人信息。
(1)注冊
在生鮮超市銷售系統中點擊注冊按鈕實現注冊功能,注冊流程圖,如圖4所示。
| 輸入用戶信息 |
| 提示錯誤 |
| 結束 |
| 添加成功 |
| 用戶表中是否存在用戶 |
| 用戶注冊頁面 |
| 開始 |
| 是 |
| 否 |
圖4 注冊流程圖
(2)登錄
如果用戶輸入的信息和數據庫的記錄存在相同的時候,表示驗證成功,此時會跳轉到生鮮超市銷售系統的主界面當中,則這時表示登錄成功。用戶如果想要退出登錄的話則需要點擊退出按鈕,登錄流程圖,如圖5所示。
| 提示用戶名和密碼錯誤 |
| 結束 |
| 將用戶名寫入session |
| 跳轉至首頁面 |
| 用戶記錄 |
| 刷新登錄界面 |
| 獲取用戶名和密碼 |
| 開始 |
| 是 |
| 否 |
圖5 登錄流程圖
?? (3)結賬
在結賬之前用戶需要選好商品放入到購物車當中,如果還有想要購買的商品,需要把商品加入到購物車當中,點擊結賬按鈕的時候需要付款,結賬流程圖,如圖6所示。
| 開始 |
| 輸入用戶信息 |
| 顯示登錄界面 |
| 進入系統 |
| 輸入是否正確 |
| 結束 |
| 結賬 |
| 是 |
| 否 |
圖6 結賬流程圖
(4)用戶管理
管理員在后臺登錄系統之后可以對用戶信息管理,用戶管理流程圖,如圖7所示。
| 結束 |
| 查詢用戶信息 |
| 刪除用戶信息 |
| 修改用戶信息 |
| 增加用戶信息 |
| 選擇要進行的操作 |
| 進入用戶管理頁面 |
| 開始 |
圖7 用戶管理流程圖
4.2.2 功能結構
用戶登錄系統后可以購買商品,管理員對系統信息進行管理,功能結構圖,如圖8所示。
| 系統管理 |
| 生鮮信息管理 |
| 生鮮類型管理 |
| 用戶管理 |
| 查看商品 |
| 個人中心 |
| 管理員 |
| 用戶 |
| 購物車管理 |
| 生鮮超市銷售系統 |
| 地址管理 |
| 訂單管理 |
| 個人中心 |
| 查看超市資訊 |
| 訂單管理 |
圖8 功能結構圖
4.3 數據庫設計
4.3.1 概念模型設計
軟件開發階段有一個重要環節是數據庫設計,如果軟件開發者設計得好數據庫的話會對開發工作有好處,在設計數據庫的時候要考慮到以后表是否會有擴展性。隨著企業的發展,商店的業務需求會逐漸地發生轉變,從而導致系統功能需要修改。如果系統功能發生改變的話,系統對應的數據庫表也需要發生轉變,因此數據庫在設計的時候需要考慮到后續修改的需要,系統在設計的時候需要注意靈活性。本生鮮超市銷售系統數據量不少很大,因此在使用數據庫的使用選擇的是MySQL,不用Oracle這種大型的數據庫。數據庫引擎選擇使用InnoDB,InnoDB屬于事物型引擎。如果系統有多張表需要同時存取的話,那么數據庫引擎可以選擇使用InnoDB。全局E-R圖,如圖9所示。
| 用戶 |
| 生鮮 |
| M |
| M |
| M |
| M |
| N |
| N |
| N |
| N |
| 收藏 |
| 評論 |
| 購物車 |
| 訂單 |
| 包含 |
| 生鮮類型 |
| 1 |
| N |
| 包含 |
| 地址 |
| N |
| 1 |
圖9 全局E-R圖
4.3.2 數據庫表
(1)地址信息表
地址信息表存儲地址信息,地址信息表,如表14所示。
表14 ?地址信息表
| 列名 | 數據類型 | 長度 | 主外鍵 |
| id | bigint | 20 | 是 |
| addtime | timestamp | 0 | |
| userid | bigint | 20 | 是 |
| address | varchar | 200 | |
| name | varchar | 200 |
續表14 ?地址信息表
| 列名 | 數據類型 | 長度 | 主外鍵 |
| phone | varchar | 200 | |
| isdefault | varchar | 200 |
(2)購物車信息表
購物車信息表存儲購物車信息,購物車信息表,如表15所示。
表15? 購物車信息表
| 列名 | 數據類型 | 長度 | 主外鍵 |
| id | bigint | 20 | 是 |
| addtime | timestamp | 0 | |
| tablename | varchar | 200 | |
| userid | bigint | 20 | 是 |
| goodid | bigint | 20 | 是 |
| goodname | varchar | 200 | |
| picture | varchar | 200 | |
| price | float | 0 | |
| discountprice | float | 0 |
(3)評論信息表
評論信息表存儲系統中的評論信息,評論信息表,如表16所示。
表16? 評論信息表
| 列名 | 數據類型 | 長度 | 主外鍵 |
| id | bigint | 20 | 是 |
| addtime | timestamp | 0 | |
| refid | bigint | 20 | 是 |
| userid | bigint | 20 | 是 |
| nickname | varchar | 200 | |
| reply | longtext | 0 |
(4)超市資訊信息表
超市資訊信息表存儲超市資訊信息,超市資訊信息表,如表17所示。
表17? 超市資訊信息表
| 列名 | 數據類型 | 長度 | 主外鍵 |
| id | bigint | 20 | 是 |
續表17 超市資訊信息表
| 列名 | 數據類型 | 長度 | 主外鍵 |
| addtime | timestamp | 0 | |
| title | varchar | 200 | |
| introduction | longtext | 0 | |
| picture | varchar | 200 | |
| content | longtext | 0 |
(5)訂單信息表
訂單信息表存儲訂單信息,訂單信息表,如表18所示。
表18? 訂單信息表
| 列名 | 數據類型 | 長度 | 主外鍵 |
| id | bigint | 20 | 是 |
| addtime | timestamp | 0 | |
| orderid | varchar | 200 | |
| tablename | varchar | 200 | |
| userid | bigint | 20 | 是 |
| goodid | bigint | 20 | 是 |
| goodname | varchar | 200 | |
| picture | varchar | 200 | |
| buynumber | int | 11 | |
| price | float | 0 | |
| discountprice | float | 0 | |
| total | float | 0 | |
| type | int | 11 | |
| status | varchar | 200 | |
| address | varchar | 200 | |
| tel | varchar | 200 | |
| consignee | varchar | 200 | |
| logistics | longtext | 0 |
(6)商品信息表
商品信息表存儲商品信息,商品信息表,如表19所示。
表19? 商品信息表
| 列名 | 數據類型 | 長度 | 主外鍵 |
| id | bigint | 20 | 是 |
續表19 商品信息表
| 列名 | 數據類型 | 長度 | 主外鍵 |
| addtime | timestamp | 0 | |
| shengxianmingcheng | varchar | 200 | |
| shengxianleixing | varchar | 200 | |
| tupian | varchar | 200 | |
| guige | varchar | 200 | |
| baozhiqizhi | date | 0 | |
| faburiqi | date | 0 | |
| shengxianxiangqing | longtext | 0 | |
| gonghuoshang | varchar | 200 | |
| price | float | 0 | |
| onelimittimes | int | 11 | |
| alllimittimes | int | 11 |
第五章 系統實現
在設計生鮮超市銷售系統的時候,經歷了需求分析和總體設計以后,便需要實現系統。系統實現的時候需要根據系統總體設計和需求分析進行實現系統。
5.1 登錄
用戶在登錄頁面中輸入用戶名和密碼實現登錄,輸入錯誤的用戶名和密碼則不能夠登錄,登錄界面,如圖10所示。
圖10 登錄界面
在本生鮮超市銷售系統中,為了保證系統運行的安全性,想要使用本系統的功能需要先通過登錄的驗證,在登錄功能中需要使用login頁面進行表示前端頁面,在login標簽中需要進行定義CSS標簽從而將登錄界面能夠顯示在瀏覽器當中,還需要對表單進行定義。登錄界面中的輸入框需要使用placeholder進行提示用戶輸入相應的信息。當用戶點擊登錄按鈕的時候需要傳遞信息到loginForm中。
5.2 用戶管理
管理員在管理用戶信息的時候可以添加用戶信息,添加信息的時候需要輸入必填項,用戶管理界面,如圖11所示。
圖11 用戶管理界面
在用戶管理界面中首先需要使用script標簽引入樣式供標簽進行調用。查看用戶信息依賴于form標簽顯示用戶的信息,在form標簽中需要定義好CSS樣式才能夠讓表格正常顯示在界面當中[7]。添加按鈕需要使用button進行表示,在添加按鈕中需要設置點擊事件,需要設置相應的方法處理前端頁面中添加的用戶信息。用戶詳情頁面中需要設置detail頁面進行表示,使用CSS樣式對用戶信息進行美化設置,后端從數據庫記錄取出的信息顯示在前端頁面當中。管理員如果想要尋找用戶的信息,則需要在輸入框中輸入用戶編號傳遞到業務邏輯模塊中根據SQL語句搜索用戶信息,搜索出來的信息需要傳遞到前端頁面中進行顯示用戶的信息。
5.3 商品管理
管理員在商品管理界面中可以查看商品詳情信息,點擊詳情按鈕可以查看詳情信息,商品管理界面,如圖12所示。
圖12 商品管理界面
在商品管理界面中需要使用boostrap框架表示界面的樣式,添加商品輸入框需要使用input標簽實現,用戶輸入的信息需要能夠存儲在商品實體中,由input標簽傳遞到商品實體從而進行保存在實體中,當點擊提交按鈕則需要跳轉到form表單定義好的路徑把數據轉移到后端邏輯處理代碼中,在前端頁面中還需要設置檢測用戶輸入的數據是否正確,如果用戶輸入的數據為空,則需要使用layer進行提示。
5.4 超市資訊管理
在超市資訊管理界面中管理員可以修改超市資訊信息,點擊修改按鈕可以修改資訊信息,超市資訊管理界面,如圖13所示。
圖13 超市資訊管理界面
在超市資訊管理界面中首先需要使用script標簽引入樣式供標簽進行調用。查看超市資訊信息依賴于form標簽顯示超市資訊的信息,在form標簽中需要定義好CSS樣式才能夠讓表格正常顯示在界面當中。添加按鈕需要使用button進行表示,在添加按鈕中需要設置點擊事件,需要設置相應的方法處理前端頁面中添加的超市資訊信息。超市資訊詳情頁面中需要設置detail頁面進行表示,使用CSS樣式對超市資訊信息進行美化設置,后端從數據庫記錄取出的信息顯示在前端頁面當中。管理員如果想要尋找超市資訊的信息,則需要在輸入框中輸入超市資訊編號傳遞到業務邏輯模塊中根據SQL語句搜索超市資訊信息,搜索出來的信息需要傳遞到前端頁面中進行顯示超市資訊的信息。
5.5 分類管理
在分類管理界面中管理員可以管理商品分類信息,點擊詳情按鈕查看商品分類的詳情信息,分類管理界面,如圖14所示。
圖14 分類管理界面
在分類管理界面中需要使用boostrap框架表示界面的樣式,添加分類輸入框需要使用input標簽實現,用戶輸入的信息需要能夠存儲在分類實體中,由input標簽傳遞到分類實體從而進行保存在實體中,當點擊提交按鈕則需要跳轉到form表單定義好的路徑把數據轉移到后端邏輯處理代碼中,在前端頁面中還需要設置檢測用戶輸入的數據是否正確,如果用戶輸入的數據為空,則需要使用layer進行提示。
5.6 商品展示
用戶在商品展示界面中可以查看商品的信息,點擊商品圖片可以購買商品,商品展示界面,如圖15所示。
圖15 商品展示界面
用戶登錄系統之后可以進入到商品展示界面中,商品展示界面可以以表格的形式展示出商品的信息,當用戶點擊商品圖片的時候可以跳轉到相應的商品詳細界面當中,當用戶點擊的時候實際是發送請求到客戶端中,客戶端使用適配器經過解析之后傳遞請求到服務端中,服務端利用數據庫SQL語句取出數據庫記錄。
5.7 商品詳細信息
用戶在商品詳細界面中可以查看商品詳情信息,點擊購買按鈕可以購買商品,商品詳細信息界面,如圖16所示。
圖16 商品詳細信息界面
在商品詳細信息界面中用戶能夠瀏覽商品的詳細信息,商品詳細信息能夠展示主要依賴于客戶端發送請求和商品編號到服務端中,服務端傳送商品編號到數據庫服務器中,數據庫服務器利用數據庫SQL語句取出商品的詳細信息并傳遞到客戶端中。
5.8 超市資訊展示
用戶登錄系統后可以查看超市資訊信息,了解超市的公告信息,超市資訊展示界面,如圖17所示。
圖17 超市資訊展示界面
用戶登錄系統之后可以進入到超市資訊展示界面中,超市資訊展示界面可以以表格的形式展示出超市資訊的信息,當用戶點擊超市資訊圖片的時候可以跳轉到相應的超市資訊詳細界面當中,當用戶點擊的時候實際是發送請求到客戶端中,客戶端使用適配器經過解析之后傳遞請求到服務端中,服務端利用數據庫SQL語句取出數據庫記錄。
5.9 超市資訊詳細信息
用戶登錄系統后可以查看超市資訊的詳情信息,了解超市的詳情信息,超市資訊詳細信息界面,如圖18所示。
圖18 超市資訊詳細信息界面
在超市資訊詳細信息界面中用戶能夠瀏覽超市資訊的詳細信息,超市資訊詳細信息能夠展示主要依賴于客戶端發送請求和超市資訊編號到服務端中,服務端傳送超市資訊編號到數據庫服務器中,數據庫服務器利用數據庫SQL語句取出超市資訊的詳細信息并傳遞到客戶端中。
第六章 系統測試
軟件開發完成之后需要進行測試,如果發現有問題的代碼塊可以通過打斷點的方式對代碼塊進行處理。在生鮮超市銷售系統設計實現的過程當中難免有潛在的錯誤,因此離不開測試的環節。通過軟件測試之后,軟件才能夠上線運行,不然會增加后續維護的費用。本次測試通過實際測試用例完成功能的測試判斷是否能夠達到功能的要求,通過軟件測試能夠提前發現生鮮超市銷售系統的錯誤,這樣可以在上線之前就完成
6.1 測試目的
系統完成之后還需要對程序進行測試。因為在開發的過程當中可能會留下潛在的錯誤以及缺陷,如果在使用軟件之前沒有解決掉這些錯誤,后續會影響軟件的使用。雖然軟件被開發出來了,但是沒有辦法使用軟件也會造成困擾,這會造成非常大的損失。軟件測試能夠在一定程度上保證系統的質量。測試的最終目的為系統上線之前盡可能發現系統中存在的潛在錯誤,潛在錯誤還包括用戶體驗不佳等[8]。
6.2 測試方法
為了提高生鮮超市銷售系統測試效率和成本,本測試方案采用的黑盒測試的方法。
邊界值分析法,邊界值分析法能夠將軟件測試工作按同樣形式進行劃分,對用戶輸入的數據測試,還可以選擇等價類邊界的測試用例,返回的計算結果表示是否正確[9]。
因果圖方法,使用多種條件的組合從而產生出多種不同的測試用例,因國圖能夠產生出不同的判定表,它能夠檢測程序輸入條件的各個組合情況,使用正交表格進行檢測數據并進行分析,目的為提高測試覆蓋率。
錯誤推測法,基于測試者的直覺進行推算出生鮮超市銷售系統所可能存在的錯誤,從而設計出能夠解決錯誤的專門方法,錯誤推測法基本核心思想是列舉程序中很大可能存在的錯誤,根據這些錯誤選擇相應的測試用例[10]。
6.3 測試用例
(1)用戶管理測試用例,如表20所示。
表20 用戶管理用例表
| 測試用例 | 步驟 | 預期結果 | 實際結果 |
| 管理員想要搜索用戶的信息,則需要在搜索框輸入用戶的部分信息搜索用戶的信息 | 在用戶管理界面中輸入的用戶信息跟數據庫用戶表記錄不符合 | 搜索失敗 | 搜索失敗 |
| 管理員想要刪除用戶的信息,則需要點擊刪除按鈕 | 在用戶管理界面中點擊刪除按鈕,如果被刪除的用戶信息跟其它表有關聯 | 刪除失敗 | 刪除失敗 |
| 管理員修改用戶信息 | 輸入的用戶信息跟數據庫用戶表記錄沖突 | 修改失敗 | 修改失敗 |
(2)商品管理測試用例,如表21所示。
表21 商品管理用例表
| 測試用例 | 步驟 | 預期結果 | 實際結果 |
| 管理員想要搜索商品的信息,則需要在搜索框輸入商品的部分信息搜索商品的信息 | 在商品管理界面中輸入的商品信息跟數據庫商品表記錄不符合 | 搜索失敗 | 搜索失敗 |
| 管理員添加商品信息 | 在商品管理界面中輸入的商品信息跟數據庫商品表記錄沖突 | 添加失敗 | 添加失敗 |
| 管理員想要刪除商品的信息,則需要點擊刪除按鈕 | 在商品管理界面中點擊刪除按鈕,如果被刪除的商品信息跟其它表有關聯 | 刪除失敗 | 刪除失敗 |
| 管理員修改商品信息 | 輸入的商品信息跟數據庫商品表記錄沖突 | 修改失敗 | 修改失敗 |
結論
當完成了系統設計部分的時候,之后就可以進入到系統開發部分。首先需要根據生鮮超市銷售系統的業務需求設計數據庫,數據庫在設計的時候要遵循三大范式。利用xx開源框架基本實現了生鮮超市銷售系統的基本架構。最后對實現各個功能模塊。
系統開發完成之后工作還遠遠沒有結束在使用之前需要對系統進行測試。軟件測試非常重要,測試環節在軟件開發中占有非常重要的地位。首先,對系統功能模塊進行測試,測試是否有兼容性和錯別字的問題。之后可以通過表單進行操作系統的數據,還可以通過使用特殊的字符等錯誤方式檢測系統的數據是否嚴謹。
最后,通過幾個月的論文撰寫和代碼的設計,我最終完成了生鮮超市銷售系統的開發,在開發生鮮超市銷售系統的時候,我學會了C#語言和MySQL數據庫結合開發生鮮超市銷售系統。對于不足之處在于界面設計沒有采用過多的CSS樣式進行美化。在技術方面,通過開發生鮮超市銷售系統,本人對軟件體系結構有了更加深刻地認識。
參考文獻
致謝
光陰似箭,大學生活很快就過去了,四年的青春老少,包括了很多的情感,讓人感覺念念不舍,我衷心地感謝這幾年來學院的領導和老師對我的培養,你們教會了我知識和文化,讓我能夠在社會中更好地適應。
在設計生鮮超市銷售系統的過程中,由于之前沒有開發生鮮超市銷售系統的相關經驗,因此會有不少的錯誤,如果沒有同學們的支持和老師的監督,生鮮超市銷售系統可能最終會完成不了。通過這次軟件設計和論文撰寫提高了我很大的能力,雖然指導老師平時有不少的事情需要處理,但是老師還是抽出不少時間對我進行指導,對我的文檔進行指點。如果沒有指導老師的幫助,系統最后可能實現不了,指導老師不僅教會了我很多的知識,還教會了我除了學習之外的很多能力,這讓我的工作和學習都有很大的幫助。畢業設計不僅能夠總結多年以來學習的知識,還是對即將踏入社會工作的一份檢測,在這個過程當中,我將在大學學習的知識進行結合,學會了獨立思考和學習的能力,從零開發實現一個系統讓我收益頗豐。在開發軟件和論文撰寫過程當中,我身邊的朋友和舍友給了我很大的幫助。通過這次的經歷,我充分了解到了未來工作將要面臨的難度,在今后的生活和工作中會不斷地努力學習新的知識。
附錄
public JsonResult Login(string username, string password)
??????? {
??????????? try
??????????? {
??????????????? var userInfo = _bll.Login(username, password);
??????????????? if (userInfo == null)
??????????????? {
??????????????????? return Json(new { Code = -1, Msg = "賬號或密碼不正確!" });
??????????????? }
??????????????? TokenModel tokenModel = new TokenModel()
??????????????? {
??????????????????? Uid = userInfo.Id,
??????????????????? Uname = userInfo.Yonghuzhanghao,
??????????? ????????? Role = "Client",
??????????????????? Project = "Xiezn.Core",
??????????????????? TokenType = "Web",
??????????????????? UNickname = "yonghuzhanghao"
??????????????? };
??????????????? return Json(new { Code = 0, Token = JwtHelper.IssueJWT(tokenModel) });
??????????? }
??????????? catch (Exception ex)
??????????? {
??????????????? return Json(new { Code = 500, Msg = ex.Message })
總結
以上是生活随笔為你收集整理的.net生鲜超市销售系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 易语言多线程大漠多线程初始化COM库
- 下一篇: 【SQL时间截取】数据库Sql实现截取时