計算機課程設(shè)計論文 計算機畢業(yè)設(shè)計論文 管理系統(tǒng)
計算機畢業(yè)設(shè)計 計算機課程設(shè)計代做計算機畢業(yè)設(shè)計 代做計算機課程設(shè)計QQ目目 錄錄第第 1 章章 概要設(shè)計概要設(shè)計.11.1 題目的內(nèi)容與要求 .11.2 數(shù)據(jù)庫概念模型設(shè)計 .11.3 總體方案設(shè)計 .3第第 2 章章 詳細(xì)設(shè)計詳細(xì)設(shè)計.42.1 數(shù)據(jù)庫邏輯模型設(shè)計.42.1.1 商品表(goods).42.1.2 出貨清單表(chuhuo) .52.1.3 進貨清單表(jinhuo).52.2 系統(tǒng)功能詳細(xì)設(shè)計.52.2.1 商品信息管理模塊.62.2.2 進出庫操作模塊.62.2.3 商品統(tǒng)計模塊.72.2.4 系統(tǒng)功能模塊.8第第 3 章章 調(diào)試分析調(diào)試分析.103.1 .NET和 SQLSERVER的連接問題.103.2 父窗體問題 .103.3 服務(wù)器問題 .10第第 4 章章 使用說明使用說明.114.1 系統(tǒng)主界面界面 .114.2 商品信息管理界面 .114.3 商品進庫界面.134.4 商品統(tǒng)計界面 .14參考文獻參考文獻.16附附 錄(程序清單)錄(程序清單).17目目 錄錄第第 1 章章 概要設(shè)計概要設(shè)計.11.1 題目的內(nèi)容與要求 .11.2 數(shù)據(jù)庫概念模型設(shè)計 .11.3 總體方案設(shè)計 .3第第 2 章章 詳細(xì)設(shè)計詳細(xì)設(shè)計.42.1 數(shù)據(jù)庫邏輯模型設(shè)計.42.1.1 商品表(goods).42.1.2 出貨清單表(chuhuo) .52.1.3 進貨清單表(jinhuo).52.2 系統(tǒng)功能詳細(xì)設(shè)計.52.2.1 商品信息管理模塊.62.2.2 進出庫操作模塊.62.2.3 商品統(tǒng)計模塊.72.2.4 系統(tǒng)功能模塊.8第第 3 章章 調(diào)試分析調(diào)試分析.103.1 .NET和 SQLSERVER的連接問題.103.2 父窗體問題 .103.3 服務(wù)器問題 .10第第 4 章章 使用說明使用說明.114.1 系統(tǒng)主界面界面 .114.2 商品信息管理界面 .114.3 商品進庫界面.134.4 商品統(tǒng)計界面 .14參考文獻參考文獻.16附附 錄(程序清單)錄(程序清單).17第 1 章 概要設(shè)計1.1 題目的內(nèi)容與要求題目的內(nèi)容與要求設(shè)計和實現(xiàn)一個商品庫存管理系統(tǒng),要求可以實現(xiàn)對商品信息的添加、刪除和修改。以及完成商品的出庫和入庫操作。要實現(xiàn)相應(yīng)的統(tǒng)計功能。1.2 數(shù)據(jù)庫概念模型設(shè)計計算機畢業(yè)設(shè)計 計算機課程設(shè)計代做計算機畢業(yè)設(shè)計 代做計算機課程設(shè)計QQ根據(jù)商品庫存管理程序的要求,概念模型一共有五個實體,分別為商品實體,進貨實體和出貨實體。其中,商品實體包括貨物編號、名稱、類別、品牌、生產(chǎn)商、生產(chǎn)商地址、生廠商電話、價格、現(xiàn)存數(shù)量等七個屬性,商品編號是書籍實體的主鍵;出貨實體包括商品編號、數(shù)量、日期三個屬性;出貨實體包括商品編號、出貨憑證、日期、數(shù)量四個屬性。商品庫存管理系統(tǒng)的 E-R 圖如下圖 1.1 所示:圖圖 1.11.1 商品庫存管理系統(tǒng)商品庫存管理系統(tǒng) E-RE-R 圖圖說明:從上圖可以看出,商品實體與進貨單實體之間是一對多的關(guān)系。商品 E-R 圖如圖 1.2 所示:圖圖 1.21.2 商品商品 E-RE-R 圖圖進貨清單 E-R 如圖 1.3 所示:計算機畢業(yè)設(shè)計 計算機課程設(shè)計代做計算機畢業(yè)設(shè)計 代做計算機課程設(shè)計QQ圖圖 1.31.3 進貨清單進貨清單 E-RE-R 圖圖出貨清單 E-R 圖如圖 1.4 所示:圖圖 1.41.4 出貨清單出貨清單 E-RE-R 圖圖1.3 總體方案設(shè)計總體方案設(shè)計根據(jù)題目要求,本系統(tǒng)可以分為四個功能模塊:商品信息管理模塊、進出庫模塊、商品統(tǒng)計模塊、系統(tǒng)功能模塊。系統(tǒng)總體模塊圖如下圖 1.4 所示:商品庫存管理系統(tǒng)商品庫存管理系統(tǒng)商品信息管理模塊商品信息管理模塊進出庫模塊進出庫模塊商品統(tǒng)計模塊商品統(tǒng)計模塊系統(tǒng)功能模塊系統(tǒng)功能模塊圖圖 1.41.4 系統(tǒng)總體模塊圖系統(tǒng)總體模塊圖說明:上述模塊中,商品信息管理模塊實現(xiàn)對商品信息的動態(tài)增加、刪除、修改功能;進出庫模塊實現(xiàn)對商品的進庫和出庫操作;商品統(tǒng)計模塊實現(xiàn)對滯銷產(chǎn)品的統(tǒng)計、商品進出貨的統(tǒng)計;系統(tǒng)計算機畢業(yè)設(shè)計 計算機課程設(shè)計代做計算機畢業(yè)設(shè)計 代做計算機課程設(shè)計QQ功能模塊實現(xiàn)系統(tǒng)的關(guān)閉和版權(quán)提示功能。第 2 章 詳細(xì)設(shè)計2.1 數(shù)據(jù)庫邏輯模型設(shè)計數(shù)據(jù)庫邏輯模型設(shè)計商品庫存管理系統(tǒng)的 E-R 圖表明商品實體與進出貨清單實體之間是多對多的關(guān)系,轉(zhuǎn)換后的關(guān)系模式有三個,分別是商品、進貨清單和出貨清單,具體屬性如下所示:1)商品(商品編號,商品名稱,商品類別,品牌,生產(chǎn)商,商城商電話,生廠商地址,價格,庫存量)此為商品實體對應(yīng)的關(guān)系模式。2)出貨清單(商品編號,出貨量,日期)此為出貨清單實體對應(yīng)的關(guān)系模式。3)進貨清單(商品編號,進貨憑證,進貨量,日期)此為進貨清單實體對應(yīng)的關(guān)系模式。 2.1.1 商品表(商品表(goods)商品表如下表 2.1 所示:表表 2.12.1 書籍表書籍表列名列名數(shù)據(jù)類型數(shù)據(jù)類型長長度度是是否否允允許許空空說說明明商品編號數(shù)字4No主鍵商品名Nvarchar(100)50No類別Nvarchar(100)20No品牌計算機畢業(yè)設(shè)計 計算機課Nvarchar(100)50No程設(shè)計代做計算機畢業(yè)設(shè)計 代做計算機課程設(shè)計QQ生產(chǎn)商地址Nvarchar(100)20No生廠商電話Nvarchar(100)100No價格FloatNo庫存量Floatyes說明:此表用于存放商品基本信息,包括商品編號、商品名、品牌、生產(chǎn)商地址、生廠商電話、庫存量、價格七個屬性。其中的商品編號是該表的主鍵,其他的屬性都用于商品信息的描述。2.1.2 出貨清單表(出貨清單表(chuhuo)訂單表如下表 2.2 所示:表表 2.22.2 訂單表訂單表列名列名數(shù)據(jù)類型數(shù)據(jù)類型長度長度是否允許空是否允許空說明說明商品編號數(shù)字No出貨量FloatNo日期Nvarchar(50)50No說明:用于存放出貨清單基本信息,包括商品編號、出貨量和日期三個屬性。其中商品編號是該表的主鍵,其他的屬性都用于商品信息的描述。2.1.3 進貨清單表(進貨清單表(jinhuo)進貨清單表如下表 2.3 所示:表表 2.32.3 訂購表訂購表列名列名數(shù)據(jù)類型數(shù)據(jù)類型長度長度是否允許空是否允許空說明說明商品編號Int20No進貨量flaot20No進貨憑證Nvarchar50No日期Nvarchar20No說明:此表用于進貨信息,包括商品編號、商品進貨量、進貨憑證、日期;商品編號是商品表中的編號的外鍵。2.2 系統(tǒng)功能詳細(xì)設(shè)計系統(tǒng)功能詳細(xì)設(shè)計整個程序的實現(xiàn)過程分為四個模塊,商品信息管理模塊、進出庫操作模塊、商品統(tǒng)計模塊和系統(tǒng)功能模塊。各模塊的功能以及具體的設(shè)計情況如下所述:2.2.1 商品信息管理模塊商品信息管理模塊商品信息管理模塊的功能是:對商品的基本信息進行添加、刪除、修改等操作。該模塊流程圖如下所示。圖圖 2.12.1 商品信息管理模塊流程圖商品信息管理模塊流程圖2.2.2 進出庫操作模塊進出庫操作模塊進出庫模塊的功能是:執(zhí)行進出庫操作,記錄進出庫操作,并同時增加或減少商品表中相應(yīng)商品的數(shù)量。進庫和出庫操作流程基本相同,下面給出進庫操作的流程圖:圖圖 2.22.2 商品進庫流程圖商品進庫流程圖2.2.3 商品統(tǒng)計模塊商品統(tǒng)計模塊該模塊的功能是實現(xiàn)對庫存商品的銷售量進出庫情況的統(tǒng)計?,F(xiàn)以查看滯銷產(chǎn)品為例介紹該模塊的流程圖:圖圖 2.32.3 查看滯銷產(chǎn)品流程圖查看滯銷產(chǎn)品流程圖2.2.4 系統(tǒng)功能模塊系統(tǒng)功能模塊該模塊的功能是實現(xiàn)系統(tǒng)的退出操作,在系統(tǒng)要退出的時候提示用戶是否真的想要退出系統(tǒng)。并由版權(quán)提示功能。執(zhí)行操作退出系統(tǒng)是否退出NY開始結(jié)束圖圖計算機畢業(yè)設(shè)計 計算機課程設(shè)計代做計算機畢業(yè)設(shè)計 代做計算機課程設(shè)計QQ2.42.4 退出系統(tǒng)流程圖退出系統(tǒng)流程圖第 3 章 調(diào)試分析3.1 .Net.Net 和和 SQLserverSQLserver 的連接問題的連接問題因為整個程序的實現(xiàn)需要與數(shù)據(jù)庫相連接,所以我遇到的最大問題是連接數(shù)據(jù)庫。對數(shù)據(jù)庫的操作占了相當(dāng)大的比例,數(shù)據(jù)庫的操作效率直接影響了整個系統(tǒng)的效率。具體的解決方法有以下幾個:1. 建立數(shù)據(jù)庫連接池,對數(shù)據(jù)庫進行有效使用。2. 使用 Dbhelper 類,集中完成數(shù)據(jù)庫操作的問題。3.2 父窗體問題父窗體問題在程序的編寫過程中,由于本軟件的主界面是一個父窗體,其他的窗體是主窗體的子窗體,剛開始不知道怎么操作。經(jīng)過查找資料才知道,需要將父窗體的IsMdiContainer設(shè)為True,然后再將子窗體的 child.MdiParent=this,這樣設(shè)置才行。計算機畢業(yè)設(shè)計 計算機課程設(shè)計代做計算機畢業(yè)設(shè)計 代做計算機課程設(shè)計QQ3.3 服務(wù)器問題服務(wù)器問題由于本系統(tǒng)通過網(wǎng)頁的形式進行工作,并且要求動態(tài)顯示數(shù)據(jù),因此使用IIS 服務(wù)器。IIS 服務(wù)器的工作端口默認(rèn)為 80,但安裝了多個版本的服務(wù)器后,端口地址存在混亂,因此將主服務(wù)器的端口地址設(shè)為 8080,以便直接啟動瀏覽器后輸入網(wǎng)址直接訪問。第 4 章 使用說明4.1 系統(tǒng)主界面界面系統(tǒng)主界面界面圖圖 4. 1 主界面界面主界面界面4.2 商品信息管理界面商品信息管理界面圖圖 4.2 商品信息添加界面商品信息添加界面下面是商品信息修改界面。圖圖 4.3 收貨人界面收貨人界面下面是商品信息刪除界面。圖圖 4.4 訂單界面訂單界面4.3 商品進庫界面商品進庫界面圖圖 4.5 商品進庫界面商品進庫界面下圖是商品出庫界面。圖圖 4.6 商品出庫界面商品出庫界面4.4 商品統(tǒng)計界面商品統(tǒng)計界面圖圖 4.7 滯銷商品統(tǒng)計界面滯銷商品統(tǒng)計界面圖 4.4 說明:滯銷商品統(tǒng)計界面。下圖是商品訂貨信息統(tǒng)計界面圖圖 4.8 商品訂貨信息界面商品訂貨信息界面下圖是系統(tǒng)的退出界面計算機畢業(yè)設(shè)計 計算機課程設(shè)計代做計算機畢業(yè)設(shè)計 代做計算機課程設(shè)計QQ圖圖 4.9 系統(tǒng)退出界面系統(tǒng)退出界面參考文獻1 王珊,薩師煊 . 數(shù)據(jù)庫系統(tǒng)概論M, 北京:高等教育出版社,20022 徐聰蔥, ASP.Net 編程從入門到實踐M, 北京: 清華大學(xué)出版社, 20103 陳華, Ajax 從入門到精通 M, 北京: 清華大學(xué)出版社, 20084 王山 等, .Net 網(wǎng)站開發(fā)典型模塊與實例精講M, 北京: 電子工業(yè)出版社,20065 張小豪, 軟件工程導(dǎo)論M, 北京: 清華大學(xué)出版社, 2003附 錄(程序清單)Dbhelper 類類using System;using System.Collections.Generic;using System.Text;using System.Collections;using System.Data;using System.Data.SqlClient;using System.Configuration;namespace inventory class Dbhelper public static string connectionString = Data Source=.sqlexpress;Initial Catalog=inventory;User Id=sa;Password=123456; #region 通用方法 / 數(shù)據(jù)連接池 private SqlConnection con; / / 返回數(shù)據(jù)庫連接字符串 / / public static String GetSqlConnection() String conn = connectionString; return conn; #endregion #region 執(zhí)行sql字符串 / / 執(zhí)行不帶參數(shù)的SQL語句 / / / public static int ExecuteSql(String Sqlstr) String ConnStr = GetSqlConnection(); using (SqlConnection conn = new SqlConnection(ConnStr) SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = Sqlstr; conn.Open(); int num=cmd.ExecuteNonQuery(); conn.Close(); return num; 計算機畢業(yè)設(shè)計 計算機課程設(shè)計代做計算機畢業(yè)設(shè)計 代做計算機課程設(shè)計QQ / / 執(zhí)行帶參數(shù)的SQL語句 / / SQL語句 / 參數(shù)對象數(shù)組 / public static int ExecuteSql(String Sqlstr, SqlParameter param) String ConnStr = GetSqlConnection(); using (SqlConnection conn = new SqlConnection(ConnStr) SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = Sqlstr; cmd.Parameters.AddRange(param); conn.Open(); int num=cmd.ExecuteNonQuery(); conn.Close(); return num; / / 返回DataReader / / / public static SqlDataReader ExecuteReader(String Sqlstr) String ConnStr = GetSqlConnection(); SqlConnection conn = new SqlConnection(ConnStr);/返回DataReader時,是不可以用using()的 try SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = Sqlstr; conn.Open(); return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);/關(guān)閉關(guān)聯(lián)的Connection catch /(Exception ex) return null; / / 執(zhí)行SQL語句并返回數(shù)據(jù)表 / / SQL語句 / public static DataTable ExecuteDt(String Sqlstr) String ConnStr = GetSqlConnection(); using (SqlConnection conn = new SqlConnection(ConnStr) SqlDataAdapter da = new SqlDataAdapter(Sqlstr, conn); DataTable dt = new DataTable(); conn.Open(); da.Fill(dt); conn.Close(); return dt; / / 執(zhí)行SQL語句并返回DataSet / / SQL語句 / public static DataSet ExecuteDs(String Sqlstr) String ConnStr = GetSqlConnection(); using (SqlConnection conn = new SqlConnection(ConnStr) SqlDataAdapter da = new SqlDataAdapter(Sqlstr, conn); DataSet ds = new DataSet(); conn.Open(); da.Fill(ds); conn.Close(); return ds; #endregion #region 數(shù)據(jù)庫連接和關(guān)閉 / / 打開連接池 / private void Open() / 打開連接池 if (con = null) /這里不僅需要using System.Configuration;還要在引用目錄里添加 con = new SqlConnection(GetSqlConnection(); con.Open(); / / 關(guān)閉連接池 / public void Close() if (con != null) con.Close(); / / 釋放連接池 / public void Dispose() / 確定連接已關(guān)閉 if (con != null) con.Dispose(); con = null; #endregion 商品信息添加界面代碼using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace inventory public partial class addGoods : Form public addGoods() InitializeComponent(); private void button1_Click(object sender, EventArgs e) string mingcheng, changzhi, dianhua, scchengjia, leibie,pinpai,jiage; jiage = textBox6.Text.Trim(); try float jia = float.Parse(jiage); 計算機畢業(yè)設(shè)計 計算機課程設(shè)計代做計算機畢業(yè)設(shè)計 代做計算機課程設(shè)計QQ catch (System.Exception ed) MessageBox.Show(您輸入的價格有誤,錯誤); return; mingcheng = textBox1.Text.Trim(); leibie = comboBox1.Text.Trim(); changzhi = textBox4.Text.Trim(); dianhua = textBox5.Text.Trim(); scchengjia = textBox3.Text.Trim(); pinpai = textBox2.Text.Trim(); string sql = string.Format(insert into goods values(0,1,2,3,4,5,6,0),mingcheng,leibie,pinpai,scchengjia,changzhi,dianhua,jiage); try int resint = 0; resint=Dbhelper.ExecuteSql(sql); if (resint=0) MessageBox.Show(產(chǎn)品信息未存儲請您核對相關(guān)信息,警告); else MessageBox.Show(產(chǎn)品信息已成功保存, 提示); catch (System.Exception fe) MessageBox.Show(系統(tǒng)發(fā)生異常,請聯(lián)系管理員,異常); private void button2_Click(object sender, EventArgs e) this.Dispose(); private void addGoods_Load(object sender, EventArgs e) 課程設(shè)計總結(jié):課程設(shè)計總結(jié):通過此次課程設(shè)計,使我更加扎實的掌握了有關(guān)軟件開發(fā)方面的知識,在設(shè)計過程中雖然遇到了一些問題,但經(jīng)過一次又一次的思考,一遍又一遍的檢查終于找出了原因所在,也暴露出了前期我在這方面的知識欠缺和經(jīng)驗不足。實踐出真知,通過親自動手編寫,使我們掌握的知識不再是紙上談兵。 過而能改,善莫大焉。在課程設(shè)計過程中,我們不斷發(fā)現(xiàn)錯誤,不斷改正,不斷領(lǐng)悟,不斷獲取。最終的調(diào)試環(huán)節(jié),本身就是在踐行“過而能改,善莫大焉”的知行觀。這次課程設(shè)計終于順利完成了,在設(shè)計中遇到了很多問題,最后在老師的指導(dǎo)下,終于游逆而解。在今后社會的發(fā)展和學(xué)習(xí)實踐過程中,一定要不懈努力,不能遇到問題就想到要退縮,一定要不厭其煩的發(fā)現(xiàn)問題所在,然后一一進行解決,只有這樣,才能成功的做成想做的事,才能在今后的道路上劈荊斬棘,而不是知難而退,那樣永遠(yuǎn)不可能收獲成功,收獲喜悅,也永遠(yuǎn)不可能得到社會及他人對你的認(rèn)可!計算機畢業(yè)設(shè)計 計算機課程設(shè)計代做計算機畢業(yè)設(shè)計 代做計算機課程設(shè)計QQ指導(dǎo)教師評語:指導(dǎo)教師(簽字): 年 月 日課程設(shè)計成績