超市管理系统课设报告.doc

上传人:doc321 文档编号:14921412 上传时间:2022-02-24 格式:DOC 页数:20 大小:232.50KB
返回 下载 相关 举报
超市管理系统课设报告.doc_第1页
第1页 / 共20页
超市管理系统课设报告.doc_第2页
第2页 / 共20页
超市管理系统课设报告.doc_第3页
第3页 / 共20页
超市管理系统课设报告.doc_第4页
第4页 / 共20页
超市管理系统课设报告.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《超市管理系统课设报告.doc》由会员分享,可在线阅读,更多相关《超市管理系统课设报告.doc(20页珍藏版)》请在三一文库上搜索。

1、洛 阳 理 工 学 院 信息系统设计实践 报告专 业 计算机科学与技术 班 级 B090501 学 号 B09050112 姓 名 高 旭 瑞 完成日期 2013.01.05 实 训/ 实 验 内 容 与 要 求 根据所学课程(数据库应用、软件工程、面向对象程序设计、Web程序设计),进行针对性的综合设计和实现,主要内容如下:1. 根据功能要求完成需求分析,列出系统的功能模块划分和UI设计;2. 根据功能设计数据库,合理构建相关的数据信息表;3. 编写代码,实现信息系统各个模块的功能;4. 测试软件,完善代码功能;5. 撰写报告,对整个工作进行资料总结指导教师:_ 年 月 日指 导 教 师 评

2、 语 成绩: 指导教师:_ 年 月 日17 / 20文档可自由编辑打印目 录1 系统功能分析11.1 基本功能11.2 系统功能模块图22 数据库设计32.1 概念结构设计(E-R图)32.2 逻辑结构设计32.3 物理结构设计及表结构设计43 功能实现63.1 登录模块的实现63.2 系统用户模块的实现73.3 进货模块的实现93.4 售货模块的实现113.5 库存模块的实现123.6 功能测试及界面显示134 总结171 系统功能分析1.1 基本功能 基本资料管理该模块实现物资进销存管理系统中的用户信息管理。包括两种用户,一种是以管理员的身份登录,一种是以普通用户的身份登录。当用户进入物资

3、进销存管理系统时,应该输入自己的用户名和密码,用户名和密码任意一个输入错误,都不能进入系统用户管理界面,系统会报错误信息。当用户进入之后,方可对里面的信息进行修改,删除。而不能对管理员的信息进行修改、删除。进货管理用于对企业的进货商品的信息进行管理。它包含三个子模块,进货单管理、进货价格和单位调整、进货历史查询。进货单管理是对本月所有的货物名称、进货的数量、价格的统计;进货价格和单位调整,即在不同是时期,商品价格会有一定的幅度变化,在这种情况下,我们就可以在此对话框中对商品的价格和单位进行调整;进货历史查询是对以往所进货物的一个记录,方便企业在年度汇总中得到更准确的信息,来计算年利润。在此进货

4、管理中,当企业需要进入新品种时,方可点击“添加新货物品种“,将出现一个对话框,即可对新商品名、数量、价格等进行添加。销售管理用于对企业的商品销售的信息进行管理。跟进货管理相似,同样具有销售单管理、销售价格调整、销售历史查询三大模块。各大模块的功能与进货管理中的同样。库存管理库存管理下包括商品管理和却货管理,当我们点击商品管理时,便出现一个商品管理对话框,在里面可以看到所有商品的信息。可以对货物编号、货物名称、进价、卖价、库存数量、货物单位、备注等信息一一修改。还可以直接在库存中添加货物。最主要一点是,在我们的货物显示栏中有红色标记,表示缺货。而在我们的却货管理模块当中,我可以对却货警告加以限制

5、,根据对货物数量的设置,可以让系统给企业管理者反馈一个却货信息,让企业能够及时的补充相应的货物,避免存在却货现象。1.2 系统功能模块图进货管理进货订单进货价格调整进货单位调整进货单历史查询 图1“进货管理”功能模块销售管理销售单销售订单调整历史售价历史查询图2“销售管理”功能模块库存管理库存查询上下限设定库存上下限报警历史查询图3“库存管理”功能模块2 数据库设计2.1 概念结构设计(E-R图)因为整个系统涉及的实体和属性较多,限于篇幅,这里不能也没有必要一一列举。图3为进销存管理系统E-R图(即实体-关系图)图3 进销存管理系统ER图 图3-1 进销存管理系统E-R图2.2 逻辑结构设计根

6、据以上需求分析,在确定了各个表主键字段的基础上,依据表与表之间相关字段之间的联系建立了各表之间的关系,对应的关系图如图4.6数据库逻辑图所示: 图4.6数据库逻辑图2.3 物理结构设计及表结构设计根据物资管理进销存系统的需求分析,数据库的设计如下所述:一、管理员信息表:用于存放用户登录系统和用户权限的信息。二、进货表:用于存放进货基本信息。三、售货表:用于存放售货基本信息。四、货物信息表:存放货物的基本信息。管理员信息表管理员信息表用于存放用户登录系统和用户权限的信息。字段名描 述类 型长度是否允许为空是否主键aid 自动编号integer11否是aName用户名varchar20否否aPwd

7、 密码varchar20否否isAdmin是否为管理员bit1否否表4.1管理员信息表货物信息表货物信息表用于存放货物的基本信息。字段名描 述类 型长 度是否允许空是否为键gId货物编号integer11否是goodsName货物名称varchar20否否buyprice进货价格floatr11否否Sellprice售货价格Float11否否Num库存数量Integer11否否danwei货物单位Varchar20否否remark备注varchar255是否表4.2货物信息表进货表进货表用于记录每次进货的记录。字段名描 述类 型长 度是否允许为空是否主键bid自动编号integer11否是bu

8、yId货物编号integer11否否buyNum进货数量integer500否否buyTime进货时间dateTime20否否lestNun最低货物数量Integer11否否remark备注varchar255是否表4.3进货表售货表售货表存放每次售货的记录。字段名描述类型长度是否允许空是否主键sid自动编号Integer11否是sellId货物编号Integer11否否sellNum售货数量Integer500否否sellTime售货时间dateTime20否否remark备注varchar255是否表4.4售货表3 功能实现3.1 登录模块的实现首先获取帐号文本框和密码文本框里的值,然后根

9、据帐号查询管理员信息表,如果查找到一条记录,再把记录当中的密码信息与密码文本框的值做对比。相同时则登录成功,不同时则密码错误。最后,弹出系统的主窗体,并且把登录帐号的信息传到主窗体中。实现以上功能的代码如下:private void button1_Click(object sender, EventArgs e) UserInfo u = new UserInfo(); if (textBox1.Text = | textBox2.Text = ) MessageBox.Show(用户名或密码为空!); else Manger sm = new Manger(); DataSet ds =

10、sm.selyh(textBox1.Text, textBox2.Text); if (ds.Tables0.Rows.Count = 0) MessageBox.Show(用户名或密码错误!); else u.myaccount = textBox1.Text; u.mypwd = textBox2.Text; u.mystatue=Convert.ToInt32(ds.Tables0.Rows0type.ToString(); MessageBox.Show(登录成功!); MainForm f = new MainForm(this); f.myInfo = u; this.Hide()

11、; f.Show(); 3.2 系统用户模块的实现系统用户信息用表格的方式显示出来,可以在文本框输入用户的帐号查找某个用户的信息,提高效率。如果不输入则全部查找。选中表格当中的某一条信息点击修改,弹出修改窗体,并且选中的信息在修改窗体中显示出来。选中表格当中的某一条信息点击删除,则删除该信息。实现的主要代码如下:public void Initshow() string username = ; Manger sm = new Manger(); ds = sm.selyh(username, ); this.dgvData.DataSource = ds.Tables0; private v

12、oid button3_Click_1(object sender, EventArgs e) DialogResult dr = MessageBox.Show(你确定要删除选中记录?, 提示, MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr = DialogResult.No) return; if (ds.Tables0.Rowsthis.dgvData.CurrentRow.Index.ItemArray0.ToString() = f.myInfo.myaccount) MessageBox.Show(不能删除自己!

13、); return; if (ds.Tables0.Rowsthis.dgvData.CurrentRow.Index.ItemArray0.ToString() = admin) MessageBox.Show(该用户为最高级别用户,不能被删除!); return; tring sql = Delete from shopUser where userID =userID ; try SqlConnection conn = new SqlConnection(server=.;uid=sa;pwd=;database=shopDB); SqlDataAdapter da = new Sql

14、DataAdapter(); SqlCommand cmd = new SqlCommand(sql, conn);/添加参数 SqlParameter userID = new SqlParameter(UserID, SqlDbType.VarChar, 20, 用户名); userID.SourceVersion = DataRowVersion.Current;cmd.Parameters.Add(userID);da.DeleteCommand = cmd;/手动删除选中的行数据 ds.Tables0.Rowsthis.dgvData.CurrentRow.Index.Delete(

15、);if (ds.HasChanges() da.Update(ds.Tables0); this.Initshow(); /刷新数据 MessageBox.Show(删除成功!); catch (Exception ex) MessageBox.Show(ex.Message); 3.3 进货模块的实现对每次进货保留记录,并且可以根据货物名称和进货时间做组合查询。对于以有货物可以直接从下拉列表中选取,系统会自动显示货物的进货价格,当填写完进货数量时,会自动生成总价。对于当前库存中没有的货物可以先添加新的货物品种,然后再从下拉列表中选取。进货的价格和货物的计算单位也可以做修改。实现主要代码如下

16、:/生成货物名称下拉列表private void buyGoods_Load(object sender, EventArgs e) Manger sm = new Manger(); DataSet ds = sm.selkucun(-1, ); boBox1.Items.Clear(); boBox1.Text = 请选择货物名称; for (int i = 0; i + shijian + ; else sql += and DATEDIFF(m,buyTime,GETDATE() + (shijian - 1) + ; try ds = cDbObject.Search(sql, Go

17、odsInfo); catch (Exception e) throw (e); return ds; 3.4 售货模块的实现对每次进货保留记录,并且可以根据货物名称和进货时间做组合查询。当出售货物后该货物库存数量低于警告数量线时会自动报警。货物的出售价格也可以在此模块中修改。实现主要代码如下: DataAccess cDbObject = new DataAccess();public DataSet selSell (int bid,int shijian)/查询 string sql = select B. sellId,G.goodsName,B. sellNum,B. sellTim

18、e,B.remark from sellInfo as B,GoodsInfo as G + where B.goodsId=G.goodsId DataSet ds = null; if (sid!=-1) sql += and sellId= + sid + ; if (shijian !=-1) if (shijian = 4) sql += and DATEDIFF(m, sellTime,GETDATE() + shijian + ; else sql += and DATEDIFF(m,sellTime,GETDATE() + (shijian - 1) + ; try ds =

19、cDbObject.Search(sql, GoodsInfo); catch (Exception e) throw (e); return ds; 3.5 库存模块的实现库存管理是管理剩余货物的相关信息。并且对低于货物警告数量的货物做警报。警告数量由管理员根据实际情况设置。此模块还可以对以有货物信息做修改、删除或添加新的货物种类。实现功能代码如下:private void button1_Click(object sender, EventArgs e) if (textBox1.Text = | textBox2.Text = | textBox3.Text = | textBox4.T

20、ext = | textBox5.Text = ) MessageBox.Show(有未填写的信息!); else string gName = textBox1.Text; Manger sm = new Manger(); DataSet ds = sm.selkucun(-1, gName); if (ds.Tables0.Rows.Count != 0) MessageBox.Show(此货物名称已存在!); else GoodsInfo gf = new GoodsInfo(); gf.mygoodsName = textBox1.Text; gf.mybuyprice = Conv

21、ert.ToSingle(textBox2.Text); gf.mysellprice = Convert.ToSingle(textBox3.Text); gf.mynum = Convert.ToInt32(textBox4.Text); gf.mydanwei = textBox5.Text; gf.myremark = textBox6.Text; bool flage = sm.addkucun(gf); if (flage = true) MessageBox.Show(添加成功!); initshow(); /设置货物警告数量private void button1_Click(

22、object sender, EventArgs e)/确定按钮 int lestName = Convert.ToInt32(textBox1.Text); string goodsName = boBox1.SelectedItem.ToString(); Manger sm = new Manger(); bool flage = sm.shezhi(goodsName, lestName); if (flage = true) MessageBox.Show(设置成功!); initshow(); 3.6 功能测试及界面显示打开物资进销存管理系统,输入用户名和密码,若输入正确则会显示登

23、录成功对话框,否则会提示错误信息,如图6.1登录界面图6-1登录界面当用户登录成功之后,方可选择一个用户信息点击修改,弹出修改界面,可以修改被选中的用户的信息(除admin最高管理员)。“type”类型下的“1”表示最高管理员和管理员,“0”表示普通用户,如图6.2用户信息管理界面。图6-2用户信息管理界面在进货管理模块下,我们选择子模块“进货单管理”。然后从货物名称的下拉列表中选择一个货物,货物价格会自动显示该货物的价格,填写进货数量,总价框会自动计算出本次进货的花销。点击确定,提示“进货成功”。如需要添加新货物种类,我们点击添加货物种类按钮,即可添加新货物单。如图6.5添加进货信息,完成之

24、后点击确定。图6-3添加进货信息使用组合查询,根据选择的货物名称和进货时间,显示出符合条件的信息。销售单操作方法和进货单类似,当销售数量大于库存会提示货物不足,如小于库存数量,则销售成功,并从库存数量减去相应的数。如图6.7添加销售信息图6-5添加销售信息当有货物的库存低于最低警告数量时,会以醒目的红字显示出来,最低警告数量可由操作员自行设定,如图6.7缺货警告。图6-6缺货警4 总结本次毕业设计的进销存管理系统不仅能对企业的进货、销售、库存等环节进行连续跟踪管理,进货管理依据在库产品的周转状况,合理、科学地制定产品进货计划,促使各部门把住进货关,不仅减少盲目进货,杜绝存货积压,而且保证畅销商品不缺货、不断档;销售管理不仅从计划上反映当时的完成状况,而且从客户渠道、产品类别、品牌、业务员、部门等多方位来进行核算与分析,使公司的销售管理又上新台阶。它的经济可行性:信息技术的运用已成社会发展主流,以前的人工处理缓慢,出错率高将导致企业内部沟通不畅,信息滞后,将很难为企业做出有效的决策提供有力的依据,因此,缺少及时,准确,有效的信息,企业在发展上寸步难行。所以采用现代化的手段进行进销存必然会使企业提高工作效率。这样就极大地提高企业管理的效率,使企业走向科学化、正规化管理,从而在日益激烈的竞争中立于不败之地。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1