小型超市管理系统毕业论文.doc_第1页
小型超市管理系统毕业论文.doc_第2页
小型超市管理系统毕业论文.doc_第3页
小型超市管理系统毕业论文.doc_第4页
小型超市管理系统毕业论文.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库课程设计报告 小型超市管理系统 数据库课程设计评分表班级姓名指导教师题目:小型超市管理系统 评分标准评分标准分数权重评分的依据得分AC工作态度10态度端正,能主动认真完成各项内容,不迟到早退,出勤好。能够完成各环节基本工作,出勤较好。独立解决问题的能力10能独立完成数据库课程设计项目的各项任务,熟悉项目的整体架构;具有独立分析、解决问题能力,具有独立调试程序与测试程序的能力,程序结构清晰,逻辑严谨,功能完善。有一定的分析、解决问题能力。能够在老师指导下完成任务的编码与调试工作,程序功能较完善。程序完成及运行情况20完成率100%,程序运行正确。 完成率不足70%。课程设计报告30格式规范,层次清晰,设计思想明确,解决问题方法合理,体会深刻。格式较规范,设计思想基本明确,解决问题方法较合理。答辨问题回答30能准确回答老师提出的问题,并充分理解数据库开发技术,程序逻辑清晰。能基本准确回答老师提出的问题总分指导教师(签字):注:介于A和C之间为B级,低于C为D级和E级。按各项指标打分后,总分90100为优,8089为良,7079为中,6069为及格,60分以下为不及格。目录 第一章 绪论 . 1.1 课程设计的目的1.2 课程设计的背景和意义1.3 课程设计的环境第二章 系统需求分析2.1 问题的提出2.2 可行性分析2.3 系统的设计目标第三章 系统开发的技术背景 3.1 开发技术及运行环境第四章 系统分析与总体设计 4.1 系统结构框架 4.2 系统的概念结构设计4.3 系统的逻辑结构设计4.4 系统的物理结构设计第五章 系统功能模块实现5.1 系统登录模块5.2 商品信息管理模块5.3 职工信息管理模块5.4 供货商信息管理模块5.5 库存信息管理模块第六章 结论 第一章 绪论1.1 课程设计的目的通过本次课程设计,使学生能够全面、深刻地掌握数据库系统的设计流程。根据在数据库原理课程中所学到的数据库理论知识,结合某个具体的实际需求,最终开发出一个较为实用的数据库系统。1.2 课程设计的背景和意义1.2.1课程设计的背景20世纪90年代后期特别是近几年,我国的超市产业飞速发展,其经营模式更为复杂,旧的管理体制已经无法适应超市的发展,这就迫切的需要引进新的管理技术。超市的数据和业务越来越庞大,而计算机就是一种高效的管理系统,这就需要我们把超市的管理与计算机结合起来,从而超市管理系统应运而生。依靠现代化的计算机信息处理技术来管理超市,节省了大量的人力、物力,改善了员工的并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。1.2.2 课程设计的意义“数据库课程设计”的设计思想旨在强调学生的实际编程能力的培养与创意灵感的发挥。为此,本课程结合学科特点,除了让学生掌握数据库原理的理论知识,还增加了需求功能让学生完成,并鼓励学生的创作出个性的程序,满足客户需求,与市场的实际项目相结合。学生对此热情高,实际收获大,效果好。通过课堂学习和参与相关项目设计,学生对书本支持有了深刻的理解,实践性教学取得了良好效果。1.3 课程设计环境操作系统:Windows xp/vista开发软件:Microsoft Visual Studio 2005数据库:Microsoft SQL Server 2005第二章 系统需求分析随着人们生活水平的不断提高,对于物质的需求也越来越高,而超市作为日常生活用品聚集的场所,随着全球各种超市的数目的不断增加,规模不断增大,其管理难度也相应的增加,而为了适应当今信息化发展的时代,一套完整的超市商品管理系统显得尤为重要。2.1 问题的提出在信息化高速发展的今天,超市商品管理的信息化管理已成为必不可缺的一部分,但是目前的大多是超市商品管理系统应用难度较高,许多工作需要技术人员配合才能完成,角色分工不明确;改版工作量大,系统扩展能力差,应用时更是降低了灵活性,这就使得一套完善的、能够正常工作的商品管理系统应运而生。2.2 可行性分析系统的可行性分析是对课题的通盘考虑,是系统开发者进行进一步工作的前提,是系统设计与开发的前提与基础。系统的可行性分析可以使系统开发者尽可能早的估计到课题开发过程中的困难,并在定义阶段认识到系统方案的缺陷,这样就能花费较少的时间和精力,也可以避免许多专业方面的困难。所以,系统的可行性分析在整个开发过程中是非常重要的。2.2.1 经济可行性分析因为通过网络传递销售信息可以不受距离的限制,因此可以借阅许多的人力和物力,方便管理,由此可以减少不必要的开支,同时该系统可以提高超市的销售效率,即提高了超市的经济效益,所以从经济上完全是可行的。2.2.2 技术可行性分析本系统采用基于Windows的图形用户界面,而该系统是大家熟悉的操作系统,对于那些有一般的计算机知识的人员就可以轻松上手。而整个超市管理系统采用最友好的交互界面,简介明了,不需要对数据库进行深入的了解。由此,该系统的操作是可行的,有必要开发该系统。综合以上三方面,该系统具有很高的开发可行性,无论是从技术上或者经济上还是操作上。因此,可以设计该系统的数据流程图,建立数据字典2.3 系统的设计目标众所周知,超市经营涉及大量的计算和统计工作,因此采用计算机管理超市业务可以大大减轻超市管理人员的工作量。与人工操作相比,使用计算机实现的超市管理系统具有效率高、计算准确和速度快的特点。超市系统也可以用来统计和分析商品销售信息以及顾客购买兴趣等信息,使超市获得更多的利润。超市管理系统需要实现员工档案管理、销售情况统计、厂商信息商品管理、库存商品管理、收银员管理、商品信息查询等部分,各部分的主要功能有:l 员工档案管理1) 企业招收新员工,将新员工的档案资料录入系统并归档2) 员工跳槽或下岗,将该员工的档案从系统中删除3) 员工加薪升职,或应公司需要进行部门调动时,需要更新员工的档案4) 查询员工的基本信息5) 浏览企业的人事档案,可以提出多种查询要求,例如销售部经理可以要求调出所有销售部员工的档案资料l 销售情况统计1) 能按月统计某种商品的销售情况2) 能按月统计某个员工的销售业绩l 厂商信息查询1) 能按商品的记录查询有关厂商的各信息l 库存商品管理1) 记录每一次进货的信息,进货时能动态刷新库存数据2) 能按月统计某种商品的进货量3) 查询所有商品的当前库存,当库存少于一定数量时,可以提示需要进货4) 打印库存清单l 收银台管理1) 根据输入的商品编号和数量计算并显示顾客的应付金额2) 记录每一次售货信息,售货时能动态更新库存信息l 商品信息查询1) 能按照商品编号查询商品价格、生产厂商等商品信息第三章 系统开发的技术背景3.1 开发技术及运行环境3.1.1 系统所采用的开发技术通过权衡对各种编程语言和数据库使用的熟练程度,本系统选用Microsoft Visual Studio 2005作为前台开发工具,后台数据库采用SQL Server 2005,整体设计以软件工程思想为指导思想,力求开发一个实用性强、操作简单且功能完整的超市商品管理系统。3.1.2 系统运行环境客户端操作系统:Windows NT/2000/XP或更高版本服务器操作系统:Windows XP 数据库:Microsoft SQL Server 2005前台:Microsoft Visual Studio 2005 第四章 系统分析与总体设计4.1 系统结构框架 一般的超市商品管理系统,主要由五大模块组成,即商品信息管理模块,人事管理模块,销售管理模块,进货管理模块,库存管理模块,此系统也不例外,主要有此五大模块组成。图4-1系统功能结构图。图4-1 系统功能结构图4.2 系统的概念结构设计小型超市管理系统中的实体关系图如下所示:进货id商品id工资领取员工id用户名商品id商品生产厂商厂商id员工id员工售货库存商品id进货补充客户购买用户权限修改客户名称4.3.系统的逻辑结构设计员工信息(员工id,姓名,性别,出生日期,政治面貌,部门职务,家庭地址,电话,备注);商品信息(商品id,商品名称,价格,厂商id)厂商信息 (厂商id,厂商名称,邮编,地址,电话,联系人,备注)客户信息(客户名称,联系人,联系电话,我方应收金额,联系地址)库存信息(商品id,数量)进货信息(进货id,商品id,进价,数量,金额,员工id,进货日期)售货信息(销售id,商品id,数量,金额,员工id,售货日期)工资信息(员工id,姓名,工资号,基本工资,加班时数,加班工资,奖金,年份,月份)用户权限(用户名,密码,用户权限)4.4系统的物理结构设计4.4.1、员工信息表职工信息表(StaffBill)用于存储职工信息,职工编号为主键是唯一标识。表中各字段功能定义员工信息表结构表名staffinformation编号T1说明员工信息表表结构字段编号字段名称意义描述数据类型长度F1-1员工id按升序编排的序号字符型6F1-2姓名(略)字符型8F1-3性别(略)字符型2F1-4出生日期(略)日期型8F1-5政治面貌(略)字符型8F1-6部门(略)字符型12F1-7职务(略)字符型10F1-8家庭地址(略)字符型20F1-9电话(略)字符型13F1-10备注(略)备注型4语义规则主键规则F1-1唯一规则无可空规则F-10外键规则无相容规则无关系规则无4.4.2、商品信息表商品信息表(Goods_Info)用于存储商品的信息。表中各字段功能定义商品信息表结构表名commoditiesinformation编号T2说明商品信息表表结构字段编号字段名称意义描述数据类型长度F2-1商品id按升序编排的序号字符型6F2-2商品名称(略)字符型10F2-3价格(略)数值型8F2-4厂商id按升序编排的序号字符型6语义规则主键规则F2-1唯一规则无可空规则无外键规则F2-4Reference T3(F3-1)相容规则无关系规则无4.4.3、供货商信息表供货商信息表(Sup_Info)用于存储供货商的信息。表中各字段功能定3. 供货商表结构表名factoriesinformation编号T3说明供货商信息表表结构字段编号字段名称意义描述数据类型长度F3-1厂商id按升序编排的序号字符型6F3-2厂商名称(略)字符型40F3-3邮编(略)字符型6F3-4地址(略)字符型20F3-5电话(略)字符型13F3-6联系人(略)字符型8F3-7备注(略)备注型4语义规则主键规则F3-1唯一规则无可空规则F3-7外键规则无相容规则无关系规则无4.4.4、客户信息表客户信息表(Cli_Info)用于存储客户的信息。表中各字段功能定4. 客户信息表结构表名clientsinformation编号T4说明客户信息表表结构字段编号字段名称意义描述数据类型长度F4-1客户名称按升序编排的序号字符型40F4-2联系人(略)字符型8F4-3联系电话(略)字符型13F4-4我方应收金额(略)数值型20F4-5联系地址(略)字符型20语义规则主键规则F4-1唯一规则无可空规则无外键规则无相容规则无关系规则无4.4.5、客户信息表库存信息表(Stock)存储库存信息。表中各字段定义5. 库存信息表表名storageinformation编号T5说明库存信息表表结构字段编号字段名称意义描述数据类型长度F5-1商品id按字母顺序编排的序号字符型6F5-2数量(略)整型4语义规则主键规则F5-1唯一规则无可空规则无外键规则F5-2Reference T2(F2-1), F7-5Reference (T1(F1-1),相容规则无关系规则无4.4.6、进货信息表进货信息表(Buy)存储进货信息。表中各字段功能定义6. 进货信息表结构表名stockimformation编号T6说明进货信息表结构表结构字段编号字段名称意义描述数据类型长度F6-1进货id按字母顺序编排的序号字符型4F6-2商品id按字母顺序编排的序号字符型6F6-3进价(略)数值型8F6-4数量(略)整型4F6-5金额(略)数值型8F6-6员工id按字母顺序编排的序号字符型6F6-7进货日期(略)日期型8语义规则主键规则F6-1F6-2唯一规则无可空规则无外键规则F6-2References T2F2-1,F6-6References T1F1-1,T8F8-1相容规则无关系规则无4.4.7、售货信息表售货信息表(Sell)存储售货信息。表中各字段功能定义7售货信息表结构表名Selling information编号T7说明销售信息表表结构字段编号字段名称意义描述数据类型长度F7-1售货id按升序编排的序号整型4F7-2商品id升序字符型6F7-3数量(略)整型4F7-4金额(略)数值型8F7-5员工id升序字符型6F7-6售货日期(略)日期型8语义规则主键规则F7-1唯一规则无可空规则无外键规则F7-2 Reference T2(F2-1),T5F5-1相容规则无关系规则无4.4.8、工资信息表 工资信息表(Wage Info)存储工资信息。表中各字段功能定义8. 工资信息表表名payinformation编号T8说明工资信息表表结构字段编号字段名称意义描述数据类型长度F8-1员工id按字母顺序编排的序号字符型6F8-2姓名(略)字符型8F8-3工资号(略)字符型10F8-4基本工资(略)数值型7F8-5加班时数(略)整型4F8-6加班工资(略)数值型7F8-7奖金(略)数值型7F8-8年份(略)整型4F8-9月份(略)整型4语义规则主键规则F8-1唯一规则无可空规则F8-5 F8-6 F8-7外键规则无相容规则无关系规则无4.4.9、用户权限表 用户权限(Users_Info)用于存储用户的基本登录信息9. 用户权限表表名stafflimits编号T9说明用户权限表表结构字段编号字段名称意义描述数据类型长度F9-1 用户名按字母顺序编排的序号字符型6F9-2密码(略)字符型10F9-3用户权限(略)字符型10语义规则主键规则F9-1唯一规则F9-2可空规则无外键规则无相容规则无关系规则无第五章 系统功能模块实现5.1 系统登录模块用户登录模块在本系统的首页。用户输入用户名和密码后,系统进行验证,验证通过进入程序的主界面。界面如图5-1所示 图5-1 用户登录界面 主要实现代码如下: public partial class MainLogin : Form public MainLogin() InitializeComponent(); skinEngine1.SkinFile = vista1.ssk; loginAdd(); loginName = comboBox1.Text.Trim(); mf = new MainForm(this); SqlHelper sh = new SqlHelper(); private DataSet ds; private MainForm mf = null; private string loginName; private void button1_Click(object sender, EventArgs e) string loginPwd = textBox1.Text.Trim(); string sysPwd = comboBox1.SelectedValue.ToString().Trim(); if (loginPwd!=sysPwd) MessageBox.Show(登录失败,您可使用sys帐号登录,默认密码为sys!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); return; textBox1.Text = ; this.Hide(); mf.ShowDialog(); private void button2_Click(object sender, EventArgs e) DialogResult result = MessageBox.Show(你确定退出吗?, 提示, MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result = DialogResult.Yes) Application.Exit(); private void MainLogin_KeyDown(object sender, KeyEventArgs e) if (e.KeyCode = Keys.Enter) button1_Click(null, null); public void loginAdd() comboBox1.Items.Clear(); string sql = SELECT * FROM 用户清单; ds = sh.MyDataSet(sql); comboBox1.DisplayMember = 姓名; comboBox1.ValueMember = 密码; comboBox1.DataSource = ds.Tables0; private void MainLogin_Load(object sender, EventArgs e) private void MainLogin_Load_1(object sender, EventArgs e) 5.2 商品信息管理模块此模块进行对商品信息的录入,能够对商品进行合理的管理,界面如图5-2所示。 图6-2 商品信息管理界面主要实现代码如下:public partial class 商品信息 : Form public 商品信息() InitializeComponent(); ds = sh.SelectDataBase(sendStrSQL, sendTableName); dv = new DataView(ds.Tables0); dataGridView1.DataSource = dv; /dataGridView1.Columns0.ReadOnly = true; private 商品销售单 product; public 商品信息(商品销售单 product) InitializeComponent(); duct = product; ds = sh.SelectDataBase(sendStrSQL, sendTableName); dv = new DataView(ds.Tables0); dataGridView1.DataSource = dv; dataGridView1.Columns0.ReadOnly = true; dataGridView1.CellClick += new DataGridViewCellEventHandler(dataGridView1_CellClick); void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) DataRow dr = ds.Tables0.Rowsthis.dataGridView1.SelectedRows0.Index; 实体类.商品清单 order = new 实体类.商品清单(); order.货号 = dr货号.ToString(); order.条码 = dr条码.ToString(); order.品名 = dr品名.ToString(); order.单位 = dr单位.ToString(); order.销售价1 = Convert.ToDouble(dr销售价1.ToString(); order.类别 = dr类别.ToString(); DataGridViewRow row = new DataGridViewRow(); cell = new DataGridViewTextBoxCell(); cell.Value = order.货号; row.Cells.Add(cell); cell = new DataGridViewTextBoxCell(); cell.Value = order.条码; row.Cells.Add(cell); cell = new DataGridViewTextBoxCell(); cell.Value = order.品名; row.Cells.Add(cell); cell = new DataGridViewTextBoxCell(); cell.Value = order.单位; row.Cells.Add(cell);cell = new DataGridViewTextBoxCell(); cell.Value = product.DataGridView1.SelectedRows0.CellsColumn7.Value; row.Cells.Add(cell);cell = new DataGridViewTextBoxCell(); cell.Value = order.销售价1; row.Cells.Add(cell);cell = new DataGridViewTextBoxCell(); cell.Value = product.DataGridView1.SelectedRows0.CellsColumn8.Value; row.Cells.Add(cell); cell = new DataGridViewTextBoxCell(); cell.Value = order.类别; row.Cells.Add(cell);product.DataGridView1.Rows.Add(row)this.Close(); private DataSet ds = new DataSet(); private string sendTableName = 商品清单; private string sendStrSQL = SELECT 货号, 条码, 拼音编码, 品名, 单位, 进货价, 销售价1, 销售价2, 规格, 产地, 类别, 最低售价 FROM 商品清单; SqlHelper sh = new SqlHelper(); private DataView dv; private DataGridViewTextBoxCell cell;private void button2_Click(object sender, EventArgs e) string str = 拼音编码 like% + textBox2.Text.Trim() + %; dv.RowFilter = str; /删除商品信息 private void toolStripButton2_Click(object sender, EventArgs e) if (MessageBox.Show(确实要删除这条记录吗?, 询问, MessageBoxButtons.YesNo) = DialogResult.Yes) int intRowNumber = dataGridView1.CurrentCell.RowIndex; try ds.Tables0.RowsintRowNumber.Delete(); /此处传入只包含被改动过的DataRow的DataSet,减少更新数据量,提高程序性能 sh.UpdateDataBase(ds.GetChanges(), sendTableName); MessageBox.Show(数据删除成功!, 信息); catch (Exception) MessageBox.Show(失败了!, 提示); return; /保存或修改商品信息 private void toolStripButton1_Click(object sender, EventArgs e) try int row = dataGridView1.CurrentCell.RowIndex; if (ds.HasChanges() sh.UpdateDataBase(ds.GetChanges(), sendTableName); MessageBox.Show(数据修改成功!, 信息); else MessageBox.Show(没有需要修改的数据!); return; catch (Exception) MessageBox.Show(数据保存失败,请确认所有信息输入完整且正确!, 提示); return; private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) 5.3 职工信息管理模块此模块有对职工的添加,修改,删除等功能,能够对用户进行合理的管理,界面如图5-2所示。图5-3 职工信息管理界面主要实现代码如下:public partial class 员工信息 : Form public 员工信息() InitializeComponent(); ds = sh.SelectDataBase(sendStrSQL, sendTableName); dv = new DataView(ds.Tables0); dataGridView1.DataSource = dv; /dataGridView1.Columns0.ReadOnly = true; private DataSet ds = new DataSet(); private string sendTableName = 业务员清单; private string sendStrSQL = SELECT * FROM 业务员清单; SqlHelper sh = new SqlHelper(); private DataView dv; private void toolStripButton1_Click(object sender, EventArgs e) dataGridView1.Focus(); try int row = dataGridView1.CurrentCell.RowIndex; if (ds.HasChanges() sh.UpdateDataBase(ds.GetChanges(), sendTableName); MessageBox.Show(数据修改成功!, 信息); else MessageBox.Show(没有需要修改的数据!); return; catch (Exception) MessageBox.Show(数据保存失败,请确认所有信息输入完整且正确!, 提示); return; private void toolStripButton2_Click(object sender, EventArgs e) if (MessageBox.Show(确实要删除这条记录吗?, 询问, MessageBoxButtons.YesNo) = DialogResult.Yes) int intRowNumber = dataGridView1.CurrentCell.RowIndex; try ds.Tables0.RowsintRowNumber.Delete(); /此处传入只包含被改动过的DataRow的DataSet,减少更新数据量,提高程序性能 sh.UpdateDataBase(ds.GetChanges(), sendTableName); MessageBox.Show(数据删除成功!, 信息); catch (Exception) MessageBox.Show(失败了!, 提示); return; private void button1_Click(object sender, EventArgs e) string str = 业务员号 like% + textBox1.Text.Trim() + %; dv.RowFilter = str; private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) 5.4 供货商信息管理模块此模块有对供货商的添加,修改,删除等功能,能够对供货商进行合理的管理。界面如图5-3所示图6-4 供货商管理界面 主要实现代码如下:public partial class 供货商信息 : Form public 供货商信息() InitializeComponent(); /dataGridView1.Columns0.ReadOnly = true; SqlHelper sh = new SqlHelper(); DataSet ds = new DataSet(); DataView dv; private void 供货商信息_Load(object sender, EventArgs e) FormLoad(); dv = new DataView(ds.Tables0); dataGridView1.DataSource = dv; SqlDataAdapter da = null; public void FormLoad() st

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论