课程设计 书店零售管理系统.doc

上传人:仙人指路1688 文档编号:3799059 上传时间:2023-03-22 格式:DOC 页数:19 大小:284KB
返回 下载 相关 举报
课程设计 书店零售管理系统.doc_第1页
第1页 / 共19页
课程设计 书店零售管理系统.doc_第2页
第2页 / 共19页
课程设计 书店零售管理系统.doc_第3页
第3页 / 共19页
课程设计 书店零售管理系统.doc_第4页
第4页 / 共19页
课程设计 书店零售管理系统.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《课程设计 书店零售管理系统.doc》由会员分享,可在线阅读,更多相关《课程设计 书店零售管理系统.doc(19页珍藏版)》请在三一办公上搜索。

1、 课程设计报告课程名称:C#.NET 程序设计实用教程设计题目:书店零售管理系统学生班级:09计科3班学生姓名: 指导教师: 完成日期:2011-1-5数学与计算机科学系 课程设计项目研究报告目录第 一 章 项目简介01.1 项目名称0书店零售管理系统01.2 开发人员01.3 指导教师0第二章 需求分析11.1 课题背景11.2需要完成的功能11.3 运行环境1第三章 概要设计21.1 系统功能分析21.2 系统功能模块设计3第 四章 详细设计41.1概念模型设计41.2 数据库逻辑模型设计41.3物理数据库设计61.4功能模块关键代码7第 五章 结论15第 六章参考文献16第 一 章 项目

2、简介1.1 项目名称书店零售管理系统1.2 开发人员09计科3班 孙红文1.3 指导教师肖钟捷第二章 需求分析1.1课题背景书店零售管理系统开发:售书从古至今都是有的,但传统的售书既费时又费钱,读者去书店浏览图书,借阅购买自己喜爱的书籍,但如何能更方便、有效、快捷地实现店主、营业员、读者各自的功能,及相互之间的联系呢?针对这一问题,我们开发了书店零售管理系统,该系统主要有四大模块:书店收银模块,图书信息管理模块,会员信息管理模块和图书零售信息(统计查询)管理模块,各模块提供了数据的查询、插入、删除等功能,从而满足了用户的需求。1.2 需完成的功能l 会员管理:包括会员号、姓名、性别、出生日期、

3、学历、通讯地址、Email地址、积分、级别;在该模块中设置了新增会员,并且对会员信息有查询、修改的功能。l 图书管理:有关图书信息的输入,包括图书编号、ISBN、图书名称、作者、出版社、出版日期、价格、页数、条码、是否有CD、库存量;在该模块中可以分别按图书编号、图书名称、作者实现数据的查询、录入功能,同时可以通过条形码进行定位。l 书店收银:包括会员号、图书条码、数量;在该模块中可以根据会员图书条形码和数量生成购买记录,并依据会员等级进行打折,同时可以生成打印小票。l 统计查询:包括图书销售信息统计、出版社图书销量信息统计、会员消费信息统计;在该模块中可以通过全部、当年、当月或指定时间段进行

4、查询查询。1.3 运行环境(1)操作系统: Microsoft W7/Windows xp (2)数 据 库: SQL Server2008数据库(3)编程环境:Visual Studio 2010第三章 概要设计1.1系统功能分析图书销售管理系统分为四大模块:一会员管理:会员信息包括会员号、姓名、性别、出生日期、学历、通讯地址、Email地址、积分、级别。在该系统中,可以实现会员的添加、查询和修改。二图书信息管理:图书的基本信息是对图书自身的介绍,所以图书信息应包括图书编号、图书名称、作者、出版社、价格、出版日期等基本信息。该模块中可以对图书信息进行查询、录入操作。三书店收银:书店收银是为了

5、图书售出时生成记录打印小票。输入会员号和图书条码、数量,系统可以根据会员图书条形码和数量生成购买记录,并依据会员等级进行打折,显示应付金额,同时可以生成打印小票。四 零售信息统计:图书销售信息是对所售图书情况的描述,所以图书销售信息包括图书编号、类别编号、价格和出售日期。并且可以通过图书销售表可以直观地了解售了哪些书,什么样的书,从而记录所卖图书的信息。通过该模块管理可以实现对图书销售情况的录入、查询、操作。2.2 系统功能模块通过系统功能层次图可以直观地理解系统的功能,并且有助于实现模块与模块以及各模块内的密切联系。系统功能层次图如下:登陆界面图书零售管理系统统计查询图书管理书店收银会员管理

6、添加 会员购书信息录入重置购买信息打印购买信息查询图书信息修改图书信息显示图书信息图书销售信息出版社销售信息会员信息修改会员信息查询会员购买信息图1 系统功能层次图第四章 详细设计1.1 概念模型设计概念数据模型是一种面向问题的数据模型,是按照用户的观点对数据建立的模型,所以使用E-R图来建立数据模型,直观地反映了各实体的属性及实体间相互联系。所以开发者必须收集一些基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典。根据这些基本信息设计出功能齐全、使用方便的系统。系统所处理的数据表关系图如下:图2 系统数据表关系图1.2数据库逻辑设计 逻辑结构设计阶段的主要任务是把概念结构设计好的数

7、据表关系图转换为与DBMS产品所支持的数据模型相符合的逻辑,即将实体型、实体的属性和实体型之间的联系转换为关系模式,为此建立了四个数据表和一个视图:(1)图书信息表:包括的数据项有:图书编号、ISBN、图书名称、作者、出版社、价格、出版日期、页数、条形码;其中图书编号是主属性(2)购书信息表:包括的数据项有:ID编号、Sell ID、书号、数量、价格;其中ID编号是主属性。(3)顾客信息表:会员号、姓名、性别、出生日期、学历、通讯地址、Email地址、积分、级别;其中会员号是主属性。(4)零售信息表:包括的数据项有:图书编号、会员号、价格和出售日期;其中图书编号和会员号是主属性。表1 图书信息

8、表表2 顾客信息表表3 图书销售信息表1表4 图书销售记录表21.3物理数据库设计数据库的物理设计主要是根据上述关系模式选择索引存取,在经常出现在查询条件的属性上建立索引,并从时间效率、空间效率、维护代价等方面考虑数据的存储结构,使设计出的程序可读性强,通用性广,简易性高。1.4功能模块关键代码1.1会员管理板块查询按钮代码 private void btnQuery_Click(object sender, EventArgs e) if (cmbCustomerID.Text = ) return; cmd.CommandText = SELECT * FROM Customer WHER

9、E ID= + cmbCustomerID.Text; SqlDataReader reader1 = null; try reader1 = cmd.ExecuteReader(); if (reader1.Read() tbName.Text = reader1Name.ToString(); nudLevels.Value = (short)reader1Levels; if (bool)reader1Gender) rabMan.Checked = true; else rabWoman.Checked = true; dtpBirthday.Value = (DateTime)rea

10、der1Birthday; cmbDegree.Text = reader1Degree.ToString(); tbAddress.Text = reader1Address.ToString(); tbTelephone.Text = reader1Telephone.ToString(); tbEmail.Text = reader1Email.ToString(); nudScore.Value = (int)reader1Score; else MessageBox.Show(没?有D符?合?条?件t的?记?录?, 提示?, MessageBoxButtons.OK, Message

11、BoxIcon.Asterisk); catch (Exception exp) MessageBox.Show(数y据Y访?问错误: + exp.Message + exp.StackTrace, 错误, MessageBoxButtons.OK, MessageBoxIcon.Error); finally if (reader1 != null & !reader1.IsClosed) reader1.Close(); 1.2保存修改代码: private void btnSave_Click(object sender, EventArgs e) if (cmbCustomerID.T

12、ext = ) return; if (tbName.Text = ) MessageBox.Show(姓?名?不?能为a空?, 提示?, MessageBoxButtons.OK, MessageBoxIcon.Warning); tbName.Focus(); return; if (MessageBox.Show(确认?保存?所进?行D的?修T改?吗e?, 提示?, MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.No) return; StringBuilder sb1 = new StringBuild

13、er(UPDATE Customer SET Name=); sb1.Append(tbName.Text); sb1.Append(, Levels=); sb1.Append(nudLevels.Value); sb1.Append(, Gender=); if(rabMan.Checked) sb1.Append(1); else sb1.Append(0); sb1.Append(, Birthday=); sb1.Append(dtpBirthday.Value.ToShortDateString(); sb1.Append(, Degree=); sb1.Append(cmbDeg

14、ree.Text); sb1.Append(, Address=); sb1.Append(tbAddress.Text); sb1.Append(, Telephone=); sb1.Append(tbTelephone.Text); sb1.Append(, Email=); sb1.Append(tbEmail.Text); sb1.Append(, Score=); sb1.Append(nudScore.Value); sb1.Append( WHERE ID=); sb1.Append(cmbCustomerID.Text); cmd.CommandText = sb1.ToStr

15、ing(); try if(cmd.ExecuteNonQuery() 0) MessageBox.Show(保存?成功|!, 提示?, MessageBoxButtons.OK, MessageBoxIcon.Information); else MessageBox.Show(未修T改?任?何?记?录?, 提示?, MessageBoxButtons.OK, MessageBoxIcon.Asterisk); catch (Exception exp) MessageBox.Show(数y据Y访?问错误: + exp.Message); 1.3 图书添加按钮 private void bt

16、nAdd_Click(object sender, EventArgs e) if (cmbBookBarcode.Text = ) return; cmd.CommandText = string.Format(SELECT ID, ISBN, Name, Price FROM Book WHERE Barcode=0, cmbBookBarcode.Text); SqlDataReader reader1 = null; try reader1 = cmd.ExecuteReader(); if (reader1.Read() BookStoreDataSet.P_GetSellDetai

17、lRow row1 = bookStoreDataSet1.P_GetSellDetail.NewP_GetSellDetailRow(); row1.BookID = (int)reader1ID; row1.ISBN = (string)reader1ISBN; row1.Name = (string)reader1Name; row1.Price = (decimal)reader1Price; row1.Number = (int)nudNumber.Value; row1.Discount = (double)nudDiscount.Value; row1.Sum = (decima

18、l)(double)row1.Price * row1.Number * row1.Discount); bookStoreDataSet1.P_GetSellDetail.AddP_GetSellDetailRow(row1); else MessageBox.Show(没?有D符?合?条?件t的?记?录?, 提示?, MessageBoxButtons.OK, MessageBoxIcon.Asterisk); catch (Exception exp) MessageBox.Show(数y据Y访?问错误: + exp.Message, 错误, MessageBoxButtons.OK,

19、MessageBoxIcon.Error); finally if (reader1 != null & !reader1.IsClosed) reader1.Close(); private void btnReset_Click(object sender, EventArgs e) bookStoreDataSet1.P_GetSellDetail.Clear(); 1.4打印小票代码: private void btnOK_Click(object sender, EventArgs e) if (bookStoreDataSet1.P_GetSellDetail.Count = 0)

20、 return; this.total = 0; for (int i = 0; i bookStoreDataSet1.P_GetSellDetail.Count; i+) this.total += bookStoreDataSet1.P_GetSellDetaili.Sum; string sMsg = string.Format(合?计?金e额?为a¥0元a。是?否?打印?小?票??, this.total); DialogResult dr1 = MessageBox.Show(sMsg, 提示?, MessageBoxButtons.YesNoCancel, MessageBoxI

21、con.Question); if (dr1 = DialogResult.Cancel) return; try if(checkBox1.Checked) this.SaveData(int.Parse(cmbCustomerID.Text); else this.SaveData(-1); if (dr1 = DialogResult.Yes) this.printPreviewDialog1.ShowDialog(); catch (Exception exp) MessageBox.Show(交?易失败: + exp.Message, 错误, MessageBoxButtons.OK

22、, MessageBoxIcon.Error); return; bookStoreDataSet1.Clear(); 1.5程序测试运行结果该系统所选用的软件编程环境是Visual Studio 2010,所以进入PB环境与SQL Server2008数据库连接后,运行该系统程序。调试正确后运行,然后进行各种数据库操作,包括对数据库信息中各表进行查询,修改,保存等操作,最后退出图书零售管理系统,完成对管理系统的测试。登陆界面图书零售系统主界面图书管理界面会员管理界面收银系统主界面第五章 结论本次课程设计使我真正的学到了不少知识,由于之前的知识积累不够,尤其是在数据库与C#连接上存在很大漏洞,

23、使得本次课程设计遇到了许多困难。但正是伴随着这些困难得一个个的被解决,我学到了许多知识,每次解决一个问题都会收获不少的知识,第一次感受到数据库与编程语言的结合实在是太完美了,使我更加明确了以后的努力方向。通过课程设计加强了我们对数据结构这一学科的进一步认识,在设计过程中我们综合运用了所学的数据结构基础理论,基础知识,基本技能,进行程序分析和程序开发,提高在实际开发中解决问题的能力,达到了能够利用数据结构进行应用程序的规划,分析、设计和实施,更能进一步使用我们对这门语言有更深刻的理解和更好地运用我们所学的知识。第六章 参考文献1飞思科技产品研发中心. ORACLE 9i 数据库高级管理M. 北京:电子工业出版社,2002.2赵松涛. ORACLE 9i 中文版数据库系统管理M. 北京:人民邮电出版社, 2003.3张莉. SQL Server2005数据库原理及应用教程M. 北京:清华大学出版社,2003.4李晓喆. SQL Server2005管理及应用系统开发M. 北京:人民邮电出版社, 2004.5汪维华 汪维青 胡章平 等 C#.Net程序设计使用教程 北京:清华大学出版社 学校地址:福建省武夷山市武夷大道16号 设计单位:数学与计算机科学系 版本号:WyuKcsj Ver2007

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号