1、11.1 课程设计的目的通过本次课程设计,使学生能够全面、深刻地掌握数据库系统的设计流程。根据在数据库原理课程中所学到的数据库理论知识,结合某个具体的实际需求,最终开发出一个较为实用的数据库系统。1.2 课程设计的背景和意义1.2.1 课程设计的背景20 世纪 90 年代后期特别是近几年,我国的超市产业飞速发展,其经营模式更为复杂,旧的管理体制已经无法适应超市的发展,这就迫切的需要引进新的管理技术。超市的数据和业务越来越庞大,而计算机就是一种高效的管理系统,这就需要我们把超市的管理与计算机结合起来,从而超市管理系统应运而生。依靠现代化的计算机信息处理技术来管理超市,节省了大量的人力、物力,改善
2、了员工的并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。1.2.2 课程设计的意义“数据库课程设计 ”的设计思想旨在强调学生的实际编程能力的培养与创意灵感的发挥。为此,本课程结合学科特点,除了让学生掌握数据库原理的理论知识,还增加了需求功能让学生完成,并鼓励学生的创作出个性的程序,满足客户需求,与市场的实际项目相结合。学生对此热情高,实际收获大,效果好。通过课堂学习和参与相关项目设计,学生对书本支持有了深刻的理解,实践性教学取得了良好效果。21.3 课程设计环境操作系统:Windows xp开发软件:Microsoft
3、 Visual Studio 2005数据库:Microsoft SQL Server 20053第 2 章 系统需求分析随着人们生活水平的不断提高,对于物质的需求也越来越高,而超市作为日常生活用品聚集的场所,随着全球各种超市的数目的不断增加,规模不断增大,其管理难度也相应的增加,而为了适应当今信息化发展的时代,一套完整的超市商品管理系统显得尤为重要。2.1 问题的提出在信息化高速发展的今天,超市商品管理的信息化管理已成为必不可缺的一部分,但是目前的大多是超市商品管理系统应用难度较高,许多工作需要技术人员配合才能完成,角色分工不明确;改版工作量大,系统扩展能力差,应用时更是降低了灵活性,这就使
4、得一套完善的、能够正常工作的商品管理系统应运而生。2.2 可行性分析系统的可行性分析是对课题的通盘考虑,是系统开发者进行进一步工作的前提,是系统设计与开发的前提与基础。系统的可行性分析可以使系统开发者尽可能早的估计到课题开发过程中的困难,并在定义阶段认识到系统方案的缺陷,这样就能花费较少的时间和精力,也可以避免许多专业方面的困难。所以,系统的可行性分析在整个开发过程中是非常重要的。2.2.1 经济可行性分析因为通过网络传递销售信息可以不受距离的限制,因此可以借阅许多的人力和物力,方便管理,由此可以减少不必要的开支,同时该系统可以提高超市的销售效率,即提高了超市的经济效益,所以从经济上完全是可行
5、的。42.2.2 技术可行性分析本系统采用基于 Windows 的图形用户界面,而该系统是大家熟悉的操作系统,对于那些有一般的计算机知识的人员就可以轻松上手。而整个超市管理系统采用最友好的交互界面,简介明了,不需要对数据库进行深入的了解。由此,该系统的操作是可行的,有必要开发该系统。综合以上三方面,该系统具有很高的开发可行性,无论是从技术上或者经济上还是操作上。因此,可以设计该系统的数据流程图,建立数据字典。2.3 系统的设计目标本系统主要包括四大模块,分别是人事管理模块,销售管理模块,进货管理模块,库存管理模块。每个模块的功能如下:1. 人事管理模块功能:(1)实现职工信息的查询;(2)实现
6、职工信息的更新,包括增加、删除、修改功能;(3)实现供货商信息的查询;(4)实现供货商信息的更新,包括增加、删除、修改功能。2. 销售管理模块功能:(1)进行前台的销售;(2)将前台的销售与后台的数据库联系起来。3. 进货管理模块功能:(1)实现进货信息的查询;(2)实现进货信息的更新,包括增加、删除、修改功能。4. 库存管理模块功能:(1)实现商品库存信息的查询;5第 3 章 系统开发的技术背景3.1 开发技术及运行环境3.1.1 系统所采用的开发技术通过权衡对各种编程语言和数据库使用的熟练程度,本系统选用 Eclipse8.1作为前台开发工具,后台数据库采用 SQL Server 2005
7、,整体设计以软件工程思想为指导思想,力求开发一个实用性强、操作简单且功能完整的超市商品管理系统。3.1.2 系统运行环境操作系统:Windows XP 数据库:Microsoft SQL Server 2005前台:Microsoft Visual Studio 20056第 4 章 系统分析与总体设计4.1 系统结构框架一般的超市商品管理系统,主要由五大模块组成,即商品信息管理模块,人事管理模块,销售管理模块,进货管理模块,库存管理模块,此系统也不例外,主要有此五大模块组成。图 4-1 系统功能结构图。图 4-1 系统功能结构图4.2 系统功能设计系统功能设计是使整个系统能基本实现超市的进、
8、销、存等管理功能,能让超市管理者更直观的了解超市的经营状况,以做出相应的经营决策。管理信息系统(MIS)就是要对这些资源建立正确的数据库,并进行信息的收集、传送、存储、编制成各种凭证、报表、台帐、图形等信息,同时对这些信息进行维护,通过实测超市的各种运行情况,并利用过去的历史数据预测未来的发展,从超市全局的角度出发进行决策,利用信息控制超市的行为,附注超市完成其目标。本系统主要包括四大模块,分别是人事管理模块,销售管理模块,进货管7理模块,库存管理模块。每个模块的功能如下:1. 商品管理模块功能:(1)实现商品信息的查询;(2)实现职工信息的更新,包括增加、删除、修改功能;2. 人事管理模块功
9、能:(1)实现职工信息的查询;(2)实现职工信息的更新,包括增加、删除、修改功能;(3)实现供货商信息的查询;(4)实现供货商信息的更新,包括增加、删除、修改功能。3. 销售管理模块功能:(1)实现前台商品的销售;(2)将商品的销售信息与数据库联系起来。4. 进货管理模块功能:(1)实现进货信息的查询;(2)实现进货信息的更新,包括增加、删除、修改功能。5. 库存管理模块功能:(3)实现库存信息的查询;89第 5 章 系统数据库设计5.1 超市管理系统数据库 E-R 模型通过对超市管理系统分析,得出系统的 E-R 图。图 5-1 数据库 E-R 模型图。名称职工/用户职工编号供货日期进货日期电
10、话地址供货商编号供货商进货进货单号商品编号名称价格商品姓名 性别mnmn工资身份证号供货销售单号销售日期数量mn销售图 5-1 数据库 E-R 模型图5.2 数据库表设计5.2.1 职工信息表职工信息表(StaffBill) 用于存储职工信息,职工编号为主键是唯一标识。表中各字段功能定义如表 5-1 所示。10中文字段名 英文字段名 字段类型 长度 主键/外键 字段值约束职工编号 staffID char 6 P NOT NULL姓名 name nvarchar 8 NOT NULL性别 sex nchar 2 NOT NULL类别 kind nvarchar 10 NULL身份证号 idCa
11、rd varchar 18 NOT NULL备注 others ntext 50 NULL表 5-1 职工信息表(StaffBill)5.2.2 用户登录表用户登录表(Users_Info)用于存储用户的基本登录信息。表中各字段功能定义如表 5-2 所示。 中文字段名 英文字段名 字段类型 长度 主键/外键 字段值约束帐号 loginID char 6 P/F NOT NULL密码 passWord char 6 NOT NULL表 5-2 用户信息表(Users_Info)5.2.3 商品信息表商品信息表(Goods_Info)用于存储商品的信息。表中各字段功能定义如表 5-3 所示。中文字
12、段名 英文字段名 字段类型 长度 主键/外键 字段值约束商品编号 merchID char 6 P NOT NULL供货商号 profferID char 6 F NOT NULL名称 fullName nvarchar 80 NOT NULL类别 kind nvarchar 8 NULL单价 unitCost money 4 NOT NULL备注 others ntext 50 NULL11表 5-3 商品信息表(Goods_Info)5.2.4 供货商信息表供货商信息表(Sup_Info)用于存储供货商的信息。表中各字段功能定义如表 5-4 所示。中文字段名 英文字段名 字段类型 长度 主
13、键/外键 字段值约束供货商号 SupplierID char 6 P NOT NULL名称 Name nvarchar 50 NOT NULL联系人 contactPersonnvarchar 8 NOT NULL联系电话 phone varchar 12 NOT NULL联系地址 address nvarchar 50 NOT NULL备注 others ntext 50 NULL表 5-4 供货商信息表(Sup_Info)5.2.5 进货信息表进货信息表(Buy)存储进货信息。表中各字段功能定义如表 5-5 所示。中文字段名 英文字段名 字段类型 长度 主键/外键 字段值约束进货单号 Bu
14、yID char 6 P NOT NULL商品编号 GoodsID char 6 P/F NOT NULL供货商号 SupplierID char 6 F NOT NULL进货价 Price money 4 NOT NULL数量 Amount int 4 NOT NULL金额 Sum money 4 NOT NULL进货日期 Date datetime 8 NOT NULL备注 Remark ntext 50 NULL表 5-5 进货信息表(Buy)125.2.6 销售信息表销售信息表(Sell)用于存储销售信息。表中各字段功能定义如表 5-6所示。中文字段名 英文字段名 字段类型 长度 主键
15、/外键 字段值约束销售单号 SeelID char 6 P NOT NULL商品编号 GoodsID char 6 P/F NOT NULL销售数量 Amount int 4 NOT NULL销售日期 Date datetime 8 NOT NULL表 5-6 销售信息表(Sell)5.2.7 库存信息表库存信息表(Stock)存储库存信息。表中各字段定义如表 5-7 所示。中文字段名 英文字段名 字段类型 长度 主键/外键 字段值约束商品编号 GoodsID char 6 P/F NOT NULL库存数量 Amount int 4 NOT NULL表 5-7 库存信息表(Stock)5.3
16、创建数据库(1)使用 TSQL 语句创建超市商品管理系统数据库。CREATE DATABASE db_SMMS ON PRIMARY ( NAME = Ndb_SMMS, FILENAME = F:SMMSSMMSDataBase db_SMMS.mdf , SIZE = 3072KB , FILEGROWTH = 1024KB )LOG ON ( NAME = Ndb_SMMS_log, FILENAME = NF:SMMSSMMSDataBase db_SMMS_log.ldf , SIZE = 1024KB , FILEGROWTH = 10%)(2)使用 TSQL 语句创建库存表。CR
17、EATE TABLE Stock(GoodsID varchar (10) COLLATE Chinese_PRC_CI_AS NOT NULL,Amount int NOT NULL,PRIMARY KEY (StockID), FOREIGN KEY (GoodsID) REFERENCES tb_Goods(GoodsID);(3)使用 TSQL 语句创建库存视图。13create view v_StockSASSELECT tb_Stock.StockID, tb_Goods.GoodsName, tb_Stock.Amount, tb_ Stock.Remark FROM tb_St
18、ock INNER JOIN tb_Goods ON tb_Stock.G 14第 6 章 系统功能模块实现6.1 系统登录模块用户登录模块在本系统的首页。用户输入用户名和密码后,系统进行验证,验证通过进入程序的主界面。界面如图 6-1 所示。图 6-1 用户登录界面主要实现代码如下:public bool Veri(string tb_table, string Id, string Pwd)DataClass.MyMeans MyClass = new SMMS.DataClass.MyMeans();bool jud = false;if (Id != “ jud = temDR.Rea
19、d();if (jud)DataClass.MyMeans.Login_Name = Id.Trim();DataClass.MyMeans.Login_ID = temDR.GetString(0);DataClass.MyMeans.My_con.Close();DataClass.MyMeans.My_con.Dispose();elseMessageBox.Show(“用户名或密码错误!“, “ 提示“, MessageBoxButtons.OK, MessageBoxIcon.Information);15MyClass.con_close();elseMessageBox.Show
20、(“请将登录信息添写完整“);return jud; 6.2 商品信息管理模块此模块进行对商品信息的录入,能够对商品进行合理的管理,界面如图 6-2 所示。图 6-2 商品信息管理界面主要实现代码如下:private void btnAdd_Click(object sender, EventArgs e)bool t = false;string txt;string RecID;string TypeID;if (txtName.Text = “)16MessageBox.Show(“请输入商品名称!“);txtName.Focus();else if (txtPrice.Text = “
21、)MessageBox.Show(“请输入商品单价!“);txtPrice.Focus();else if (comboxType.Text = “)MessageBox.Show(“请选择商品类型!“);comboxType.Focus();else if (txtKeep.Text = “)MessageBox.Show(“请输入保质期“);txtKeep.Focus();elsetxt = txtName.Text.Trim();SqlDataReader temDR = MyDataClass.getcom(“select * from tb_Goods where GoodsName
22、 =“ + txt + “);t = temDR.Read();if (t)MessageBox.Show(“此商品名称已存在!“);txtName.Text = “;txtName.Focus();elsestring Find_SQL2;string RecID2;tryTypeID = My_Set.Tables0.RowscomboxType.SelectedIndex0.ToString();RecID = MyMC.GetAutocoding(“tb_Goods“, “GoodsID“);/获取编号RecID2 = MyMC.GetAutocoding(“tb_Stock“, “S
23、tockID“);/获取编号Find_SQL = “insert into tb_Goods(GoodsID,GoodsName,TypeID,Remark,Price,Keep) values (“ + RecID17+ “,“ + txtName.Text + “,“ + TypeID + “,“ + txtRemark.Text + “,“ + txtPrice.Text + “,“ + txtKeep.Text + “)“;Find_SQL2 = “insert into tb_Stock(StockId,GoodsID,Amount) values (“ + RecID2 + “,“
24、 + RecID + “,0)“;MyDataClass.getsqlcom(Find_SQL);MyDataClass.getsqlcom(Find_SQL2);/向库存添加信息MessageBox.Show(“添加成功!“);ListViewItem l = new ListViewItem();l.Text = txtName.Text;l.SubItems.Add(comboxType.Text);l.SubItems.Add(txtPrice.Text);l.SubItems.Add(txtKeep.Text);l.SubItems.Add(txtRemark.Text);listV
25、iew1.Items.Add(l);btnCancle_Click(sender, e);catch (Exception ec)MessageBox.Show(ec.Message);MessageBox.Show(“添加失败“);6.3 职工信息管理模块此模块有对职工的添加,修改,删除等功能,能够对用户进行合理的管理,界面如图 6-2 所示。图 6-3 职工信息管理界面18主要实现代码如下:private void btnSave_Click(object sender, EventArgs e)string RecID;if (txtName.Text = “)MessageBox.Sh
26、ow(“请添加职工姓名!“);txtName.Focus();elseif (Jud = 1)RecID = MyMC.GetAutocoding(“tb_Worker“, “WorkerID“);/获取编号Find_SQL = “insert into tb_Worker(WorkerID,WorkerName,Remark) values(“+RecID+“,“+txtName.Text+“,“+txtRemark.Text+“)“;MyDataClass.getsqlcom(Find_SQL);MessageBox.Show(“添加成功!“);InfLoad();WinstateT();
27、if (Jud = 2)Find_SQL =“update tb_Worker set WorkerName=“+txtName.Text+“,Remark=“+txtRemark.Text+“ where WorkerID=“+txtWorkerID.Text+“;MyDataClass.getsqlcom(Find_SQL);MessageBox.Show(“修改成功!“);InfLoad();WinstateT();6.4 供货商信息管理模块此模块有对供货商的添加,修改,删除等功能,能够对供货商进行合理的管理。界面如图 6-3 所示。19图 6-4 供货商管理界面主要实现代码如下:pri
28、vate void btnSave_Click(object sender, EventArgs e)bool t = false;string txt;string RecID;if (txtName.Text = “)MessageBox.Show(“请输入供货商名称!“);txtName.Focus();elseif (Jud = 1)txt = txtName.Text.Trim();SqlDataReader temDR = MyDataClass.getcom(“select * from tb_Supplier where SupplierName =“ + txt + “);t
29、 = temDR.Read();if (t)MessageBox.Show(“此供货商名称已存在!“);txtName.Text = “;txtName.Focus();elseRecID = MyMC.GetAutocoding(“tb_Supplier“, “SupplierID“);/获取编号20Find_SQL = “insert into tb_supplier(SupplierID,SupplierName,Tel,Address,Remark) values (“ + RecID+ “,“ + txtName.Text + “,“ + txtTel.Text + “,“ + tx
30、tAddress.Text + “,“ + txtRemark.Text + “)“;MyDataClass.getsqlcom(Find_SQL); MessageBox.Show(“添加成功!“);InfLoad();WinstateT();if (Jud = 2)txt = txtName.Text.Trim();Find_SQL = “select * from tb_Supplier where SupplierName =“ + txt + “and SupplierID!=“+ ID+“;SqlDataReader temDR = MyDataClass.getcom(Find_
31、SQL);t = temDR.Read();if (t)MessageBox.Show(“此供货商名称已存在!“);txtName.Text = “;txtName.Focus();elseFind_SQL = “update tb_Supplier set SupplierName=“ + txtName.Text + “,Tel=“ + txtTel.Text +“,Address=“ + txtAddress.Text + “,Remark=“ + txtRemark.Text + “where SupplierID=“+ID+“;MyDataClass.getsqlcom(Find_S
32、QL);MessageBox.Show(“修改成功!“);InfLoad();WinstateT();6.5 添加销售信息模块销售员将销售信息录入方便了销售工作,提高了工作效率。界面如图6-4 所示。21图 6-5 添加销售信息界面主要实现代码如下:private void button2_Click(object sender, EventArgs e)if (txtSum.Text.Trim().Length != 0)string s1;string s2;string s3;string s4;float zl;float PayS;if (txtPayS.Text = “)PayS
33、= 0;elsePayS = float.Parse(txtPayS.Text);zl = PayS - TotalPrice;txtPayS.Text = PayS.ToString();txtPayY.Text = TotalPrice.ToString();txtZL.Text = zl.ToString();s1 = “商品数量“ + Amount1+ “ 件“ + “n“ + “n“;s2 = “实付款 “ + PayS + “ 元“ + “n“ + “n“;s3 = “应付款 “ + TotalPrice.ToString() + “ 元“ + “n“ + “n“;s4 = “找零
34、 “ + zl.ToString() + “ 元“ ;MessageBox.Show(s1+s2+s3+s4, “系统提示 “);22txtPayS.Text = “;txtPayY.Text = “;txtZL.Text = “;txtID.Text = “;txtAmount.Text = “;txtSum.Text = “;TotalPrice = 0;Amount1 = 0;listView1.Items.Clear();elseMessageBox.Show(“请购买商品!“);6.6 添加进货信息模块录入进货信息加强对商品的管理,使商品信息更为详细,方便了对商品的管理。界面如图 6
35、-5 所示。图 6-6 用添加进货信息界面主要实现代码如下:private void btnAdd_Click(object sender, EventArgs e)bool t = false;string txt;23string RecID;if (txtID.Text = “)MessageBox.Show(“请输入商品编号!“);txtID.Focus();else if (txtPrice.Text = “)MessageBox.Show(“请输入商品单价!“);txtPrice.Focus();else if (txtAmount.Text = “)MessageBox.Show
36、(“请输入商品数量!“);txtAmount.Focus();else if(comPy.Text=“|comPm.Text=“|comPd.Text=“)MessageBox.Show(“请将生产日期填写完整!“);else if (comBy.Text = “ | comBm.Text = “ | comBd.Text = “) MessageBox.Show(“请将进货日期填写完整“);elsetxt =txtID.Text.Trim();SqlDataReader temDR = MyDataClass.getcom(“select * from tb_Goods where Good
37、sID =“ + txt + “);t = temDR.Read();if (!t)MessageBox.Show(“此商品不存在!“);txtID.Text = “;txtID.Focus();elsestring Find_SQL2;string RecID2;try24string GoodsID;string SupplierID;string datep;string dateb;datep =comPy.Text + “/“ + comPm.Text + “/“ + comPd.Text;dateb = comBy.Text + “/“ + comBm.Text + “/“ +co
38、mBd.Text;GoodsID = txtID.Text;SupplierID = My_Set.Tables0.RowscomSupplier.SelectedIndex0.ToString();RecID = MyMC.GetAutocoding(“tb_Buy“, “BuyID“);/获取编号RecID2 = MyMC.GetAutocoding(“tb_Stock“, “StockID“);/获取编号Find_SQL = “insert into tb_Buy(BuyID,GoodsID,EmployeeID,Price,Amount,Datep,Dateb,SupplierID,R
39、emark) values (“ + RecID+ “,“ +txtID.Text + “,“ + DataClass.MyMeans.Login_Name + “,“+txtPrice.Text +“,“+ txtAmount.Text+“,“+datep+“,“+dateb+“,“+SupplierID+“,“+txtRemark.Text+“)“;Find_SQL2 = “Update tb_Stock set Amount = Amount +“ +txtAmount.Text+“where GoodSID=“+GoodsID+“;MyDataClass.getsqlcom(Find_
40、SQL);MyDataClass.getsqlcom(Find_SQL2);/向库存添加信息MessageBox.Show(“添加成功!“);ListViewItem l = new ListViewItem();l.Text =RecID;l.SubItems.Add(txtID.Text);l.SubItems.Add(txtPrice.Text);l.SubItems.Add(txtAmount.Text);l.SubItems.Add(comSupplier.Text);l.SubItems.Add(txtRemark.Text);listView1.Items.Add(l);btnC
41、ancle_Click(sender, e);catch (Exception ec)MessageBox.Show(ec.Message);MessageBox.Show(“添加失败“);256.7 库存信息管理模块库存信息管理能够使用户更为了解商品的库存情况,从而有利于商品的进货和销售的管理。界面如图 6-6 所示。图 6-7 库存信息管理界面主要实现代码如下:private void btnSearch_Click(object sender, EventArgs e)string con;con = MyMC.Sqlcon(groupBox1.Controls, Link);if (c
42、on = “)MessageBox.Show(“请输入查询信息“);elseFind_SQL = “select * from StockS2“ + con;MyDS_Grid = MyDataClass.getDataSet(Find_SQL, “tb_Common“);dataGridView1.DataSource = MyDS_Grid.Tables0;dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = SystemColors.ActiveBorder;/设置基数行的颜色dataGridView1.Columns0.He
43、aderText = “商品名称“;dataGridView1.Columns1.HeaderText = “商品单价“;dataGridView1.Columns2.HeaderText = “保质期“;dataGridView1.Columns3.HeaderText = “库存数量“;dataGridView1.Columns0.Width = 150;dataGridView1.Columns1.Width = 150;dataGridView1.Columns2.Width = 150;dataGridView1.Columns3.Width = 150;266.8 权限设置管理模块
44、对不同的用户分不同的权限,有利于系统的管理,只有超级管理员才具有分配权限的功能。界面如图 6-7 所示。图 6-8 权限设置界面主要实现代码如下:private void btnSave_Click(object sender, EventArgs e)MyDataClass.getsqlcom(“Delete tb_UserPerm where UserID=“ + ModuleClass.MyModule.ManaId.Trim() + “);foreach(Control c in groupBox2.Controls )if (c is CheckBox)/只遍历CheckBox控if
45、 (CheckBox)c).Checked = true)RecID = MyMC.GetAutocoding(“tb_UserPerm“, “ID“);MyDataClass.getsqlcom(“insert into tb_UserPerm (ID,UserID,PermName) values(“ + RecID + “,“ + ModuleClass.MyModule.ManaId.Trim() + “,“ + c.Name + “)“);/MessageBox.Show(“jinjian“);/ MessageBox.Show(c.Name);MessageBox.Show(“设置
46、成功“);27第 7 章 关键技术实现方法7.1 身份验证调用此方法来进行对用户信息的合法性验证,有利于提高系统的安全性。主要实现代码如下:public bool Veri(string tb_table, string Id, string Pwd)DataClass.MyMeans MyClass = new SMMS.DataClass.MyMeans();bool jud = false;if (Id != “ jud = temDR.Read();if (jud)DataClass.MyMeans.Login_Name = Id.Trim();DataClass.MyMeans.Lo
47、gin_ID = temDR.GetString(0);DataClass.MyMeans.My_con.Close();DataClass.MyMeans.My_con.Dispose();elseMessageBox.Show(“用户名或密码错误!“, “ 提示“, MessageBoxButtons.OK, MessageBoxIcon.Information);MyClass.con_close();elseMessageBox.Show(“请将登录信息添写完整“);return jud; 28结 论经过半个月的努力,报告基本完成。从最初的茫然,到慢慢的进入状态,再到对思路逐渐的清晰,
48、整个写作过程难以用语言来表达。历经了几个月的奋战,紧张而又充实的课程设计终于落下了帷幕。回想这段日子的经历和感受,我感慨万千,在这次课程设计的过程中,我拥有了无数难忘的回忆和收获。我不会忘记这难忘的半个月的时间。课程报告的制作给了我难忘的回忆。在我徜徉书海查找资料的日子里,面对无数书本的罗列,最难忘的是每次找到资料时的激动和兴奋;理系统里,记忆最深的是每一步小小思路实现时那幸福的心情;为了报告我曾赶稿到深夜,但看着亲手设计超市商品管亲手打出的一字一句,心里满满的只有喜悦毫无疲惫。这段旅程看似荆棘密布,实则蕴藏着无尽的宝藏。我从资料的收集中,掌握了和巩固很多专业知识,让我对我所学过的知识有所巩固和提高,并且让我超市的发展及软件设计的最新发展技术有所了解。在整个过程中,我学到了新知识,增长了见识。在今后的日子里,我仍然要不断地充实自己,争取在所学领域有所作为。29参考文献1 方美琪 陈禹, 软件开发工具 经济科学出版社 2008 年2袁然,王诚梅,SQL Server 2005 数据库简明教程 电子工业出版 2006 年