超市管理系统报告.docx
- 文档编号:24351262
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:29
- 大小:1.30MB
超市管理系统报告.docx
《超市管理系统报告.docx》由会员分享,可在线阅读,更多相关《超市管理系统报告.docx(29页珍藏版)》请在冰豆网上搜索。
超市管理系统报告
河南科技大学
课程设计说明书
课程名称数据库课程设计
题目超市管理系统
院系国际教育学院
班级计科121
学生姓名赵岩
指导教师王红艺宋晓莉
日期2013-12-11
课程设计任务书
课程设计题目
超市管理系统
姓名
赵岩
学号
121425020143
专业班级
计算机科学与技术121班
组别
2012102-第一组
组长
方贤
同组成员
赵岩
指导
教师
王红艺宋晓莉
课程设计目的
通过本课程设计,使学生巩固数据库系统的基本概念、原理和技术,学会使用某一开发工具进行数据库设计和开发,将理论与实际相结合,完成一个小型数据库的设计与实现,并在此基础上强化学生的实践意识,提高其实际动手能力和创新能力。
课程设计环境
硬件:
装有windows操作系统的计算机
软件:
SQLServer2012及C++builder
课程设计任务和要求
任务:
1.进行超市前台销售系统的概念结构设计、逻辑结构设计和物理结构设计;2.设计并实现超市前台销售系统的大部分模块的界面设计和程序指导模块。
要求:
1.模块功能满足需求说明、保证一定性能要求。
2.撰写出符合要求的课程设计报告。
参考
文献
[1]王珊、萨师煊数据库系统概论(第四版)高等教育出版社2006;
[2]何玉洁、黄婷儿等译数据库设计教程机械工业出版社2003;
[3]卢卫忠、刘文亮等译C++builder程序设计教程科学出版社2005
[4]零点工作室C++builder6.0基础教程北京:
机械工业出版社2004-9
[5]郑阿奇等SQL使用教程(第二版)北京:
电子工业出版社2005
时间进度安排
序号
起止日期
工作内容
1
2012-5-28
讲授ER模型的设计,学生分组
2
2012-5-29~2012-5-31
概念结构和逻辑结构设计,形成数据库文件,建立模块化结构,组内学生分工
3
2012-6-1
讲授开发工具的使用,学生进行功能模块设计
4
2012-6-4~2012-6-7
编码、测试
5
2012-6-8
形成课程设计文档内容及格式撰写要求,讲授文档撰写方法,撰写课程设计报告
6
2012-6-11
验收程序,上交课程设计报告
指导教师签字:
2013年12月4日
目录
第一章:
绪论2
1.1开发背景2
1.2开发环境及开发工具的选择2
1.3本文主要内容2
第二章:
需求分析2
2.1总体需求分析2
2.2各个模块需求分析2
2.2总体设计3
2.2.1:
绘制系统的软件结构图;3
2.2.2设计完成的功能流程图:
4
2.3安全设计:
5
第三章:
数据库设计6
3.1概念结构设计6
3.2逻辑结构设计7
3.3物理结构设计8
第四章:
详细设计10
4.1.超市前台销售系统主界面及其代码:
10
4.2登录选择页面13
4.3管理人员页面14
第五章总结18
5.1结论18
5.2学习体会19
5.3致谢19
5.4参考文献19
第一章:
绪论
1.1开发背景
技术的提升和管理的升级是超市业的竞争核心。
零售领域目前呈多元发展趋势多种业态:
超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。
如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标提高超市的运作效率。
通过全面的信息采集和处理,辅助提高超市的决策水平;
使用本系统,可以迅速提升超市的管理水平,为降低经营成本,提高效益,超市扩张力,提供有效的技术保障。
1.2开发环境及开发工具的选择
Windows7SQLServer2012C++Builder6.0
1.3本文主要内容
本文详细介绍了数据库开发的过程,包括超市前台开发系统的背景、业务需求分析、功能需求分析、系统开发、系统编译及系统发行过程等步骤。
第二章:
需求分析
2.1总体需求分析
超市管理系统系统的说就是一个买卖西的系统:
超市管理是一个工作量非常大,而且非常繁杂的工作,包括进货,销售,月结等等;而进货又涉及供应商选择(涉及商品价格,商品质量和商品的受欢迎程度,缺少的商品等等),销售又包括导购,促销,售货,退货等;月结包括营业额,税收,商品统计和评估,营业员综合评估,打印报表。
同时又涉及多个对象,营业员,经理,消费者,每层都要把握好。
我们会用三个既分开有联系的系统,消费者导购系统,管理人员管理系统(包括经理),营业员销售系统;
2.2各个模块需求分析
本系统中共有消费者、营业员、管理人员、采购员
<1>消费者:
在超市中购物,可以通过导购,查看特色商品、打折商品、根据自己的会员等级的特色和打折商品,查看商品的各种属性,如:
证书,出厂日期,保质期等等等等,实现各种方法的商品查找,并能对商品进行打分,对营业员进行打分,并保存到后台数据库,以供管理人员和导购员分析查询;向营业员申请成为会员。
<2>营业员:
负责每天的销售工作,包括卖货和退货,并能够为消费者申请会员,提交每天的销售额,和销售信息,可以支持多种付款方式;
<3>采购员:
查看商品的每天的销售状况,比如那种商品销售的比较快,哪种比较慢,查看对商品的打分、评价,查看商品的保质期,出厂日期;查看供应商的资料,商品价格,选择最优的供应商;提交订单,有总经理审核后由采购员实施采购工作;
<4>管理人员
区块负责人:
负责一块(几个货架的正常工作),商品的上架,查看商品的销售状况
总经理:
负责整个超市的运营状况,增加删除营业员,区块负责人,采购员;查看营业员的业绩,打分,评价,销售状况,查看所有的;查看商品的销售状况,销售记录;审核采购员提交的订单;对对自己的操作产生记录,更新商品打折情况;
2.2总体设计
2.2.1:
绘制系统的软件结构图;
图2.1软件结构图
2.2.2设计完成的功能流程图:
消费管理
图2.2消费者功能图
营业员管理
图2.3营业员功能图
采购员功能
图2.4采购员功能图
区块负责人功能
图2.5区块负责人功能图
总体功能
图2.6总体功能图
2.3安全设计:
对于此超市前台销售系统,不同的角色实现不同的功能,
经理能完全对该系统功能模块的操作,而员工只能对销售管理模块进行操作。
保证了系统的安全性
第三章:
数据库设计
3.1概念结构设计
此数据库设计的概念结构采用自顶向下的方法如下:
图3.1整体E-R图
系统E-R图说明:
一位供应商可供应不同的商品
一件商品可有不同的供应商供应
一位业务员可负责不同的商品
一件商品可由不同的业务员负责
一件商品能被不同的顾客购买
一位顾客可购买不同的商品
3.2逻辑结构设计
管理人员(包括售货员):
职能表(职能ID,名字,note)
Functions(functionID(int),name(varchar(50)),note(varchar(MAX)));
权限职能表(职能ID,权限ID)
FunctionPower(functionID,powerID)
权限表(权限ID,权限名,描述);
Power(powerID(int),pname(varchar(20)),note(varchar(MAX)));
管理人员表(管理人员ID,姓名,电话,性别,地址,销售业绩(销售额),用户评分,描述,状态,密码,权限ID);
Admin(adminID(int),password(varchar(20)),name(varchar(20)),telephone(varchar(12)),sex(varchar(6)),addre(varchar(50)),achievement(money),grade(int),note(varchar(MAX)),stat(bit),powerID(int));
销售日志(ID,商品ID,数量,价格,优惠价,规格);
SalesLog(ID(int),goodID(int),number(int),price(float),discountprice(float),standards(varchar(50)));
售货员日志(ID,时间,收取,找零,会员ID,打折,营业员ID,售出退货,备注,销售额)
SaleOfAdmin(ID(int),time(datetime),getin(money),getout(money),memberID(int),discount(float),adminID(int),salesorreturn(bit),note(varchar(100)),get(money))
订单(ID,提交者ID,提交时间,阅读时间,阅读属性(读么读bit),批准否,批注,采购员ID,通过与否);
Orders(orderID(int),writerID(int),readtime(ddatetime),writetime(datetime),readed(bit),approve(bit),comment(varchar(MAX)),readID(int),getornot(bit));
供货(订单ID,供应商ID,商品ID,规格,数量,价格)
Supply(orderID(int),supplierID(int),goodID(int),standards(varchar(50)),number(init),price(money))
公告(公告ID,发布者ID,成功与否,内容,时间)
Anounce(ID(int),writeID(int),can(bit),contents(varchar(MAX)),time(datetime))
消费者:
会员(会员ID,密码,会员类型ID,会员名,性别,积分,联系电话,办理时间,介绍人ID);
Member(memberID(int),password(varchar(20)),typeID(int),name(varchar(20)),sex(varchar(20)),integral(int),telephone(varchar(50)),begintime(date),adminID(int));
会员类型(类型ID,会员类型名,时间段,打折,价格)
MemberType(typeID(int),name(varchar(10)),time(int),discount(float),price(money))
为售货员打分(ID,售货员ID,分值,评价,时间);
GradeForAdmin(ID(int),adminID(int),grade(int),note(varchar(MAX)),time(datetime));
为商品打分(ID,商品ID,分值,评价,时间);
GradeForGoods(ID(int),goodID(int),grade(int),note(varchar(MAX)),time(datetime));
商品:
商品(商品ID,类型ID,名字,颜色,产地,品牌,欢迎度,价格,描述,打折生产厂商);
Goods(goodID(int),type(int),name(varchar(50)),color(varchar(10)),area(varchar(50)),brand(varchar(50)),likegrade(int),price(money),note(varchar(MAX)),discountfloat),producer(varchar(50)));
商品类型(type,名字,note)
GoodType(type(int),name(varchar(50)),note(varchar(MAX)))
仓库(仓库ID,名字,描述);
Storage(storageID(int),name(varchar(20)),note(varchar(MAX)));
仓库—商品(仓库ID,商品ID,规格,数量,出厂日期,保质期,);
StorageGoods(storageID(int),goodID(int),standards(varchar(50)));
供货商(供货商ID,地址,描述,姓名,电话);
Supplier(supplierID(int),adder(varchar(20)),note(varchar(MAX)),name(varchar(20)),telephone(varchar(20)));
供货商主营商品(商品ID,供应商ID,规格,价格);
SupplierGoods(goodID(int),supplierID(int),standards(varchar(50)),price(money));
货架(货架ID,货架名(或位置),货架描述,管理员ID);
Shelfs(shelfID(int),name(varchar(20)),note(varchar(MAX)),adminID(int));
货架商品表(货架ID,商品ID,出厂日期,保质期,规格,数量);
GoodShelf(shelfID(int),goodID(int),borntime(date),ensuretime(date),standards(varchar(50)),number(int));
仓库供应货架商品(商品ID,货架ID,仓库ID,时间,数量,规格)
GoodsFromStorageToShelf(goodID(int),shelfID(int),storageID(int),time(datetime),number(int),standards(varchar(50)))
3.3物理结构设计
进一步将逻辑结构转化为物理结构,并进行必要的物理结构的设计
表3.1供货商表
字段名
字段类型
长度
主/外键
字段值约束
供货商ID
int
Primarykey
Notnull
地址
varchar
20
null
描述
varchar
Max
null
姓名
varchar
20
Null
电话
varchar
20
Null
表3.2管理人员表
字段名
字段类型
长度
主/外键
字段值约束
管理人员ID
int
4
Primarykey
Notnull
姓名
varchar
20
null
电话
varchar
12
null
性别
varchar
6
null
地址
varchar
50
null
销售业绩
money
null
用户评分
int
4
null
描述
varchar
max
null
状态
bit
null
密码
varchar
20
Notnull
权限ID
int
4
null
表3.3会员表
字段名
字段类型
长度
主/外键
字段值约束
会员ID
int
4
Primarykey
Notnull
密码
varchar
20
Notnull
会员类型ID
int
4
外键
Notnull
会员名
varchar
20
null
性别
varchar
20
null
积分
int
4
联系电话
varchar
50
办理时间
date
介绍人ID
int
4
表3.4商品表
字段名
字段类型
长度
主/外键
字段值约束
商品ID
int
4
Primarykey
Notnull
类型ID
int
4
外键
Notnull
名字
varchar
50
null
颜色
varchar
10
null
产地
varchar
50
null
品牌
varchar
50
欢迎度
int
4
价格
money
描述
varchar
max
打折
float
生产厂商
varchar
50
第四章:
详细设计
4.1.超市前台销售系统主界面及其代码:
图4.1登陆页面
本页面是个登陆页面,本页面可以实现登陆到系统内部的功能。
代码如下
if(Edit1->Text==""&&Edit2->Text=="")
{
Label3->Caption="用户名和密码不能为空";
}
else if(Edit1->Text=="")
{
Label3->Caption="用户名不能为空";
}
else if(Edit2->Text=="")
{
Label3->Caption="密码不能为空";
}
else
{
//数据连接
TADOQuery *select1=new TADOQuery(this);
//数据过滤
select1->Connection=ADOConnection1;
if(RadioButton1->Checked==true)
{
select1->SQL->Add("select password,adminID from Admins,Power where Admins.powerID=Power.powerID and Power.name='营业员' and adminID="+Edit1->Text);
select1->Open();
if(select1->Eof)
{
Label3->Caption="不存在此用户名";
FormActivate(Sender);
}
else
{
if(Edit2->Text==select1->FieldByName("password")->AsString)
{
AdminID=select1->FieldByName("adminID")->AsString.ToInt();
if(NameSale->Visible==false)
NameSale->Visible=true;
else
NameSale->Show();
Assistant->Visible=false;
}
else
{
Label3->Caption="密码错误";
FormActivate(Sender);
}
}
}
else
{
select1->SQL->Add("select password,adminID from Admins,Power where Admins.powerID=Power.powerID and adminID="+Edit1->Text);
select1->Open();
if(select1->Eof)
{
Label3->Caption="不存在此用户名";
FormActivate(Sender);
}
else
{
if(Edit2->Text==select1->FieldByName("password")->AsString)
{
Admin->adminID=select1->FieldByName("adminID")->AsString.ToInt();
if(Admin->Visible==false)
Admin->Visible=true;
else
Admin->Show();
Assistant->Visible=false;
}
else
{
Label3->Caption="密码错误";
FormActivate(Sender);
}
}
}
4.2登录选择页面
图4.2主页面
本页面可以选择登录入口类型,来进行不同的操作代码设计如下
消费者入口代码
if(Member->Visible==false)
Member->Visible=true;
else
Member->Show();
Index->Visible=false;
营业员入口代码
sale=1;
if(Assistant->Visible==false)
Assistant->Visible=true;
else
Assistant->Show();
Index->Visible=false
管理员入口代码
sale=0;
Index->Visible=false;
if(Assistant->Visible==false)
Assistant->Visible=true;
else
Assistant->Show();
4.3管理人员页面
图4.3管理人员管理界面
此界面为点击人员管理后的进入界面。
点击管理人员入口,进入管理员管理界面,实现对管理人员的增加、停职、搜索和修改等功能。
同时对管理人员进行区块划分。
新增、修改代码
if(ComboBox1->Text=="")
{
ShowMessage("请选择身份");
return;
}
if(Edit4->Text=="")
{
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超市 管理 系统 报告