购书中心管理系统的设计
歡迎微信掃一掃互相交流學習哦!
項目源碼:https://gitee.com/oklongmm/biye
摘要
隨著信息時代的步伐的加快,各行各業都采用了現代化的管理手段。對購書中心而言,當然也是必不可少的,因為通過它可以提高管理水平,加快操作速度,快速而準確的進行各種統計等,從而提高在行業內的競爭力。本系統完成的基本任務是完成購書中心的基本管理功能,其中包括購書中心的進貨功能,售貨功能,價格查詢,價格管理,修改密碼,添加用戶等多項功能,又很大的實用價值。
本系統所用的開發工具是Microsoft Visual Studio 2010,通過C#技術來實現的,其中系統的后臺數據庫是Microsoft SQL Server 2005來支持。
關鍵詞 ?銷售,數據庫分析和設計,前臺界面,E-R實體圖,數據表關系圖
Title ?Supermarket Management System ? ??
Abstract
? ? With the speeding up of the pace of the information age, the from all walks of life have adopted modern management means. It is also necessary for supermarkets, of course, because it can improve the level of management, speed up the operation, fast and accurate for various statistics, etc, so as to improve the competitiveness of the industry. This system to complete the basic task is to complete the supermarket's basic management functions, including functions of supermarket replenish onr's stock, sales function, price inquiry, price management, change passwords, add users and so on many functions, and great practical value.
? ? Development tools used in this system is a Microsoft Visual Studio 2010, through the c # technology to realize, the background database of the system is a Microsoft SQL Server 2005 to support.
Keyword ?sell, database analysis and design, the front desk interface, E - R entity graph, data table diagram?
? ? ? ? ? ?
目 ? 錄?
1 引言?? ?1
2 項目需求分析?? ?1
2.1 系統管理員對功能的需求?? ?1
2.2 銷售人員對功能的需求?? ?1
2.3 購書中心經理對功能的需求?? ?1
2.4 方案的可行性?? ?2
3 ?項目概念設計?? ?2
3.1系統功能描述?? ?2
3.2 功能模塊劃分?? ?2
4 ?項目邏輯結構設計?? ?5
5 編碼?? ?7
6 項目測試?? ?12
6.1 登錄界面?? ?12
6.2主界面登錄?? ?12
6.3商品管理?? ?13
6.4 購書中心會員管理?? ?13
6.5 銷售錄入?? ?13
致 ?謝?? ?16
參 考 文 獻?? ?17
?
1 引言
? ? 購書中心管理系統是一個有很大實用價值的系統,特別是在各行各業都采用現代化管理的時代。本系統的基本功能是幫助購書中心的工作人員處理日常的基本工作,包括一般的進貨工作,價格管理等多方面的工作,可以減少工作人員的工作量,以及工作成本,主要的業務是處理進貨售貨你的管理,開發目標是實現一個功能強的系統,來幫助購書中心獲得更大的收益。
2 項目需求分析
? ? 購書中心管理系統是一個很實用的系統,現在幾乎所有的大型購書中心都有自己的管理系統,這個系統的運用時十分廣泛的,所以用戶的需求是非常大的。本系統所要解決的基本問題是貨物的錄入,查詢,價格的制定,價格的調查,銷售記錄的查詢與存檔,并且在錄入的過程中對貨物進行分類,以便與查詢。
2.1 系統管理員對功能的需求
2.1.1 用戶信息管理:管理系統中所有登錄用戶的信息,分配用戶的級別。
2.1.2 會員信息管理:可瀏覽、添加、查找會員信息。
2.1.3 商品信息管理:可添加商品信息。
2.1.4 商品信息的查詢: 可查詢所有庫存商品信息。
2.1.5 密碼修改:修改登錄密碼。
2.2 銷售人員對功能的需求
2.2.1 銷售情況錄入:可瀏覽、添加已銷售商品信息。
2.2.2 密碼修改:修改登錄密碼。
2.3 購書中心經理對功能的需求
2.3.1 會員信息管理:可瀏覽、添加、查找會員信息。
2.3.2 商品信息管理:可添加商品信息。
2.3.3 商品信息的查詢: 可查詢所有庫存商品信息。
2.3.4 銷售情況查詢:可瀏覽已銷售商品信息。
2.3.5 密碼修改:修改登錄密碼。
2.4 方案的可行性
經過思考,改方案可行。應為該方案基本滿足了目前一些購書中心的基本運營要求。
3 ?項目概念設計
3.1系統功能描述
3.1.1 用戶登錄
由于此系統涉及不同的用戶級別,因此要對不用登錄用戶分配不同的權限頁面,并記錄下每個用戶ID和級別數據。
3.1.2 查看用戶信息
系統管理員登錄系統后,主界面系統設置-用戶管理,顯示用戶編碼、用戶姓名、用戶權限信息。
3.1.3 維護用戶信息
系統管理員可以增加新的用戶信息,包括用戶編碼、用戶姓名、用戶權限,管理員還可以修改或刪除某一用戶的信息記錄。
3.1.4 查看商品信息
可以瀏覽項目商品庫存列表,包括項商品編號、商品名稱、價格、庫存量、庫存報警數、計劃進貨數、促銷價格、促銷起始日期、廠商地址。
3.1.5 進貨管理
通過查看庫存數量可以生成進貨單,包括進貨編號、商品編號、商品單價、商品總額、進貨日期等。
3.1.6 購書中心會員信息管理
可以添加會員,查詢會員信息,包括會員編號、卡號、姓名、電話、地址、消費金額、注冊日期的信息。
3.1.7 銷售產品錄入管理
可以產看已銷售商品編號、銷售日期、銷售數量、銷售金額、支付方式、銷售人員、會員卡號等信息。
3.1.8 密碼信息的修改
可以修改密碼信息,填寫舊密碼,然后填寫新更新的密碼,或將舊密碼更新為新密碼。
3.2 功能模塊劃分
3.2.1 用戶登錄管理
用戶登錄系統,并劃分用戶的管理權限。
3.2.2 用戶信息管理
查看用戶的信息、增加、修改、刪除項目信息。
3.2.3 商品信息管理
查看商品的信息、增加、修改、刪除項目信息。
3.2.4 會員添加管理
增加購書中心會員信息。
3.2.5 銷售情況查詢管理
? ? 對已銷售商品的情況進行添加、修改、查詢的操作。
3.2.6 密碼修改管理
修改登錄密碼信息。
3.3 算法原理闡述
3.3.1 商品信息管理
商品信息由系統管理員維護管理。商品信息管理提供了商品信息的列表,在此列表中可查看、修改、刪除商品的記錄信息。在添加商品信息界面中,可添加新的商品信息記錄。用戶信息管理功能流程圖如下。
3.3.2 會員管理
會員管理提供了管理員對購書中心會員的添加、修改查詢等功能,其功能流程圖如下。
3.3.3銷售人員對已銷售商品管理
? ? 對銷售人員提供了對已銷售商品的記錄功能,讓銷售人員對售出商品的售出時間、價格、支付手段等信息進行記錄。
3.3.4 密碼修改管理
密碼修改管理的主要功能是修改登陸用戶的密碼,用戶定期更換密碼,保證其登錄的安全性。
3.4 E-R模型圖
3.4.1 商品E-R實體圖
商品的實體具有商品編號、商品名稱、庫存數量、庫存警報、計劃進貨數、銷售允許、廠商編號、銷售單價、促銷價9個屬性,員工實體圖如下圖。
3.4.2會員E-R實體圖
購書中心會員的實體具有會員編號、卡號、姓名、電話、地址、注冊時間、消費金額7個屬性、日志E-R實體圖如下圖。
4 ?項目邏輯結構設計
4.1 數據表的創建
4.1.1 商品信息表
商品信息表(Merch)用于存放商品的各種信息,商品信息的管理是購書中心管理系統中必不可少的部分。具體表如下。
?
?
4.1.2 會員信息表
會員信息表(MarketMember)用于存購書中心會員的信息,購書中心管理重要的部分,具體表如下。
?
?
4.1.3 庫存信息表
庫存信息表(Stock)用于存放倉庫中商品信息,庫存商品是進貨的主要依據。具體表如下。
??
4.2 數據表關系圖
在購書中心管理系統中各個數據表的關系圖如下圖所示。
?
5 編碼
5.1 login后臺代碼
namespace 購書中心管理信息系統
{
?? ?/// <summary>
?? ?/// Login 的摘要說明。
?? ?/// </summary>
?? ?public class Login : System.Windows.Forms.Form
?? ?{
?? ??? ?private System.Windows.Forms.Button Exitlogin;
?? ??? ?private System.Windows.Forms.Button loginbutt;
?? ??? ?private System.Windows.Forms.GroupBox groupBox1;
?? ??? ?private System.Windows.Forms.TextBox PwdTxt;
?? ??? ?private System.Windows.Forms.Label label3;
?? ??? ?private System.Windows.Forms.TextBox UserNameTxt;
?? ??? ?private System.Windows.Forms.Label label2;
?? ??? ?
?? ??? ?public static bool CanLogin = false; ?//記錄能否檢驗通過
?? ??? ?public static string strUser = ""; ? ? ?//記錄用戶名
?? ??? ?public static string strUserRole = ""; ? ? ?//記錄用戶權限?? ?
?? ??? ?public static string strUserId = ""; ? ? ?//記錄用戶編號?? ?
?? ??? ?private string connectionString = "workstation id=localhost;Integrated Security=SSPI;database=MarketMagSys";
?? ??? ?//與數據庫的連接
?? ??? ?private SqlConnection myConnection;
?? ??? ?private SqlDataAdapter da;
?? ??? ?
?? ??? ?private DataSet ds = new DataSet();
?? ??? ?private DataTable LogTable;
?? ??? ?private DataRow LogRow;
? ? ? ? private string StrSQL = "SELECT * from SyUser";
?? ??? ?/// <summary>
?? ??? ?/// 必需的設計器變量。
?? ??? ?/// </summary>
?? ??? ?private System.ComponentModel.Container components = null;
?? ??? ?public Login()
?? ??? ?{
?? ??? ??? ?//
?? ??? ??? ?// Windows 窗體設計器支持所必需的
?? ??? ??? ?//
?? ??? ??? ?InitializeComponent();
?? ??? ??? ?//
?? ??? ??? ?// TODO: 在 InitializeComponent 調用后添加任何構造函數代碼
?? ??? ??? ?//
?? ??? ??? ?this.myConnection = new SqlConnection(connectionString);
?? ??? ??? ?this.da = new SqlDataAdapter(this.StrSQL,this.myConnection);
?? ??? ??? ?this.ds.Clear();
?? ??? ??? ?this.da.Fill(ds,"SyUser");
?? ??? ??? ?this.LogTable = ds.Tables[0];
?? ??? ??? ?
?? ??? ?}
?? ??? ?/// <summary>
?? ??? ?/// 清理所有正在使用的資源。
?? ??? ?/// </summary>
?? ??? ?protected override void Dispose( bool disposing )
?? ??? ?{
?? ??? ??? ?if( disposing )
?? ??? ??? ?{
?? ??? ??? ??? ?if(components != null)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?components.Dispose();
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ??? ?base.Dispose( disposing );
?? ??? ?}
?? ??? ?#region Windows 窗體設計器生成的代碼
?? ??? ?/// <summary>
?? ??? ?/// 設計器支持所需的方法 - 不要使用代碼編輯器修改
?? ??? ?/// 此方法的內容。
?? ??? ?/// </summary>
?? ??? ?private void InitializeComponent()
?? ??? ?{
? ? ? ? ? ? System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Login));
? ? ? ? ? ? this.Exitlogin = new System.Windows.Forms.Button();
? ? ? ? ? ? this.loginbutt = new System.Windows.Forms.Button();
? ? ? ? ? ? this.groupBox1 = new System.Windows.Forms.GroupBox();
? ? ? ? ? ? this.PwdTxt = new System.Windows.Forms.TextBox();
? ? ? ? ? ? this.label3 = new System.Windows.Forms.Label();
? ? ? ? ? ? this.UserNameTxt = new System.Windows.Forms.TextBox();
? ? ? ? ? ? this.label2 = new System.Windows.Forms.Label();
? ? ? ? ? ? this.groupBox1.SuspendLayout();
? ? ? ? ? ? this.SuspendLayout();
? ? ? ? ? ? //?
? ? ? ? ? ? // Exitlogin
? ? ? ? ? ? //?
? ? ? ? ? ? this.Exitlogin.BackColor = System.Drawing.Color.Transparent;
? ? ? ? ? ? this.Exitlogin.Location = new System.Drawing.Point(279, 252);
? ? ? ? ? ? this.Exitlogin.Name = "Exitlogin";
? ? ? ? ? ? this.Exitlogin.Size = new System.Drawing.Size(88, 24);
? ? ? ? ? ? this.Exitlogin.TabIndex = 12;
? ? ? ? ? ? this.Exitlogin.Text = "退出";
? ? ? ? ? ? this.Exitlogin.UseVisualStyleBackColor = false;
? ? ? ? ? ? this.Exitlogin.Click += new System.EventHandler(this.Exitlogin_Click);
? ? ? ? ? ? //?
? ? ? ? ? ? // loginbutt
? ? ? ? ? ? //?
? ? ? ? ? ? this.loginbutt.BackColor = System.Drawing.Color.Transparent;
? ? ? ? ? ? this.loginbutt.Location = new System.Drawing.Point(46, 252);
? ? ? ? ? ? this.loginbutt.Name = "loginbutt";
? ? ? ? ? ? this.loginbutt.Size = new System.Drawing.Size(88, 24);
? ? ? ? ? ? this.loginbutt.TabIndex = 11;
? ? ? ? ? ? this.loginbutt.Text = "登陸";
? ? ? ? ? ? this.loginbutt.UseVisualStyleBackColor = false;
? ? ? ? ? ? this.loginbutt.Click += new System.EventHandler(this.loginbutt_Click);
? ? ? ? ? ? //?
? ? ? ? ? ? // groupBox1
? ? ? ? ? ? //?
? ? ? ? ? ? this.groupBox1.BackColor = System.Drawing.Color.Transparent;
? ? ? ? ? ? this.groupBox1.Controls.Add(this.PwdTxt);
? ? ? ? ? ? this.groupBox1.Controls.Add(this.label3);
? ? ? ? ? ? this.groupBox1.Controls.Add(this.UserNameTxt);
? ? ? ? ? ? this.groupBox1.Controls.Add(this.label2);
? ? ? ? ? ? this.groupBox1.Location = new System.Drawing.Point(110, 96);
? ? ? ? ? ? this.groupBox1.Name = "groupBox1";
? ? ? ? ? ? this.groupBox1.Size = new System.Drawing.Size(208, 100);
? ? ? ? ? ? this.groupBox1.TabIndex = 10;
? ? ? ? ? ? this.groupBox1.TabStop = false;
? ? ? ? ? ? this.groupBox1.Text = "用戶信息輸入";
? ? ? ? ? ? //?
? ? ? ? ? ? // PwdTxt
? ? ? ? ? ? //?
? ? ? ? ? ? this.PwdTxt.Location = new System.Drawing.Point(88, 56);
? ? ? ? ? ? this.PwdTxt.Name = "PwdTxt";
? ? ? ? ? ? this.PwdTxt.PasswordChar = '*';
? ? ? ? ? ? this.PwdTxt.Size = new System.Drawing.Size(104, 21);
? ? ? ? ? ? this.PwdTxt.TabIndex = 4;
? ? ? ? ? ? //?
? ? ? ? ? ? // label3
? ? ? ? ? ? //?
? ? ? ? ? ? this.label3.Location = new System.Drawing.Point(8, 64);
? ? ? ? ? ? this.label3.Name = "label3";
? ? ? ? ? ? this.label3.Size = new System.Drawing.Size(72, 16);
? ? ? ? ? ? this.label3.TabIndex = 3;
? ? ? ? ? ? this.label3.Text = "*用戶密碼:";
? ? ? ? ? ? //?
? ? ? ? ? ? // UserNameTxt
? ? ? ? ? ? //?
? ? ? ? ? ? this.UserNameTxt.Location = new System.Drawing.Point(88, 32);
? ? ? ? ? ? this.UserNameTxt.Name = "UserNameTxt";
? ? ? ? ? ? this.UserNameTxt.Size = new System.Drawing.Size(104, 21);
? ? ? ? ? ? this.UserNameTxt.TabIndex = 2;
? ? ? ? ? ? //?
? ? ? ? ? ? // label2
? ? ? ? ? ? //?
? ? ? ? ? ? this.label2.Location = new System.Drawing.Point(8, 40);
? ? ? ? ? ? this.label2.Name = "label2";
? ? ? ? ? ? this.label2.Size = new System.Drawing.Size(72, 16);
? ? ? ? ? ? this.label2.TabIndex = 1;
? ? ? ? ? ? this.label2.Text = "*用戶姓名:";
? ? ? ? ? ? //?
? ? ? ? ? ? // Login
? ? ? ? ? ? //?
? ? ? ? ? ? this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
? ? ? ? ? ? this.BackColor = System.Drawing.Color.Cornsilk;
? ? ? ? ? ? this.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage")));
? ? ? ? ? ? this.ClientSize = new System.Drawing.Size(430, 372);
? ? ? ? ? ? this.Controls.Add(this.Exitlogin);
? ? ? ? ? ? this.Controls.Add(this.loginbutt);
? ? ? ? ? ? this.Controls.Add(this.groupBox1);
? ? ? ? ? ? this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
? ? ? ? ? ? this.MaximizeBox = false;
? ? ? ? ? ? this.Name = "Login";
? ? ? ? ? ? this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
? ? ? ? ? ? this.Text = "歡迎來到購書中心管理系統";
? ? ? ? ? ? this.Load += new System.EventHandler(this.Login_Load);
? ? ? ? ? ? this.groupBox1.ResumeLayout(false);
? ? ? ? ? ? this.groupBox1.PerformLayout();
? ? ? ? ? ? this.ResumeLayout(false);
?? ??? ?}
?? ??? ?#endregion
?? ??? ?private void loginbutt_Click(object sender, System.EventArgs e)
?? ??? ?{
?? ??? ??? ?for (int i=0;i<LogTable.Rows.Count;i++)
?? ??? ??? ?{
?? ??? ??? ??? ?this.LogRow = LogTable.Rows[i];
?? ??? ??? ??? ?//只有當輸入的用戶名和密碼同時對應上數據庫中記錄時,才能通過校驗
?? ??? ??? ??? ?if (LogRow[1].ToString().Trim()==this.UserNameTxt.Text.ToString().Trim() && LogRow[2].ToString().Trim()==this.PwdTxt.Text.ToString().Trim())
?? ??? ??? ??? ?{?? ??? ??? ??? ??? ?
?? ??? ??? ??? ??? ?CanLogin = true;
?? ??? ??? ??? ??? ?strUser = LogRow[1].ToString().Trim();//保存用戶名
?? ??? ??? ??? ??? ?strUserRole = LogRow[3].ToString().Trim();//保存用戶權限
?? ??? ??? ??? ??? ?strUserId=LogRow[0].ToString().Trim();//保存用戶權限
?? ??? ??? ??? ??? ?this.Close();//關閉窗體
?? ??? ??? ??? ??? ?return;
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ??? ?MessageBox.Show( "您輸入的用戶號或密碼不正確!");
?? ??? ??? ?return;
?? ??? ?}
?? ??? ?private void Exitlogin_Click(object sender, System.EventArgs e)
?? ??? ?{
?? ??? ??? ?CanLogin = false;
?? ??? ??? ?this.Close();
?? ??? ?}
? ? ? ? private void Login_Load(object sender, EventArgs e)
? ? ? ? {
? ? ? ? }
? ? ? ? private void textBox1_TextChanged(object sender, EventArgs e)
? ? ? ? {
? ? ? ? }
?? ?}
}
6 項目測試
6.1 登錄界面
?
6.2 主界面登錄
?
6.3 商品管理
?
6.4 購書中心會員管理
?
6.5 銷售錄入
?
6.6 用戶管理
?
6.7 密碼修改
?
結 ?論
本系統的工作時間主要集中在需求分析上,盡可能實現表結構的完整性與合理性,但是實際的情況有所出入,在不斷地學習中,隨著相關技術知識的積累,對本設計的認識也在不斷地改變,其最根本所在還是對表結構的修改,尤其是隨著視圖、存儲過程的實現過程中,不斷地思索出本系統中需要解決的問題,不斷地發現問題解決問題,所以在最后的設計階段省去了很大的精力與時間。通過這次的數據庫課程設計讓我們對數據庫有了更加深入的了解,以及如何用數據庫和C#語言進行連接,在遇到不會的問題的時候先要自己通過查課本,上網來解決,實在解決不掉的問題,問老師和同學。在不斷的遇到問題解決問題的過程中,讓我們學到了很多的知識。就現在而言,我們對數據庫還不能應用自如,所以我們還應該繼續努力的來學習數據庫的相關知識。
?
總結
以上是生活随笔為你收集整理的购书中心管理系统的设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python脚本如何编译_如何编译用于F
- 下一篇: BootStrap笔记-栅格系统