超市会员信息管理系统课程设计.docx
《超市会员信息管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《超市会员信息管理系统课程设计.docx(19页珍藏版)》请在冰豆网上搜索。
![超市会员信息管理系统课程设计.docx](https://file1.bdocx.com/fileroot1/2023-3/31/61062ee8-31a2-4ac8-8a61-7c0bb5a83141/61062ee8-31a2-4ac8-8a61-7c0bb5a831411.gif)
超市会员信息管理系统课程设计
《大型数据库设计》
系统开发报告
目录
第1章需求分析3
1.1程序设计语言和数据库管理系统的选择3
1.2会员消费管理3
1.3会员管理3
1.4会员卡设置3
1.5会员信息查询3
1.6事件提醒3
1.7数据流图3
1.8数据字典4
1.9IP0图4
第2章系统功能设计6
第3章数据库设计7
3.1数据库设计7
3.2数据表设计7
第4章功能模块的创建12
结束语17
参考文献18
1.郑阿奇,PowerBuilder实用教程(第三版),电子工业出版社。
18
2.郑阿奇,SQLserver2005实用教程(第三版),电子工业出版社。
18
3.何旭洪,Powerbuilder9.0信息管理系统开发,人民邮电出版社。
18
4.王龙,powerbuilder管理信息系统项目开发实践,科学出版社。
18
5.明目科技,powerbuilder管理信息系统完整项目实例剖析,人民邮电出版社。
18
第1章需求分析
1.1程序设计语言和数据库管理系统的选择
超市管理系统的程序选用powerbuilder9.0程序设计语言编写,数据库管理系统采用SQLserver。
选择SQLserver的原因是目前办公自动化软件中一般都包含它,不需另外安装软件;个人计算机就可调试程序,不需要联网。
1.2会员消费管理
对会员消费情况进行录入,自动完成累计积分,消费打折。
也可以增加会员消费商品的详细信息。
1.3会员管理
管理会员的基本信息和对会员卡的操作如:
会员卡续费,会员卡挂失等。
1.4会员卡设置
支持会员折扣卡和储值卡,可以根据自己的需要设置不同的优惠方式,灵活简单。
1.5会员信息查询
包含会员基本资料、积分、帐户余额等查询;
1.6事件提醒
提供多种提醒功能,如每周提醒,每月提醒、一次性提醒、生日提醒等。
1.7数据流图
超市管理系统会员管理子系统的数据流图
图1会员管理子系统的数据流图
1.8数据字典
1.数据项定义
具体的会员卡信息如下:
会员卡:
会员卡信息=会员卡编号+会员姓名+优惠的种类+实际存款
2.数据存储
会员信息可有两种存储方式:
一按会员卡号排列,二按会员姓氏排列。
如果考虑到建立两个数据文件的数据存储量太大,可建立按总分排序的索引文件。
3.数据处理:
信息输入后,系统自动检查所输信息是否有误,无误返回所需结果。
1.9IP0图
图2会员管理子系统的IPO图
第2章系统功能设计
2.1主框架设计:
根据需求分析确定本系统含以下功能:
会员基本信息的输入、消费前处理、输出和查询;会员消费信息输入、输出和查询;需要提醒的事件信息的输入、输出和查询;系统的初始化、帮助等。
会员管理子系统的HIPO如图2.1所示。
图2.1会员管理系统的HIPO图
第3章数据库设计
3.1数据库设计
数据库关系图如下:
3.2数据表设计
(1)数据表:
有5个表:
member表存储会员信息,user表存储系统用户信息,card表存储会员卡信息,goods表存储商品信息。
trade表存储商品交易信息。
表1member表的结构
列名
数据类型
长度
主键否
允许空
功能描述
Vip_bh
int
10
是
否
会员编号
Card_h
nvarchar
10
否
是
会员卡号
Vip_xm
nvarchar
8
否
是
会员姓名
Vip_xb
Bit
2
否
是
会员性别
Vip_sfz
nvarchar
12
否
是
会员身份证
Vip_dz
int
20
否
是
会员地址
Vip_lxfs
Int
12
否
是
会员联系方式
表3card表的结构
列名
数据类型
长度
主键否
允许空
功能描述
Card_h
int
10
是
否
会员卡号
Vip_xm
nvarchar
8
否
是
会员姓名
Card_mm
nvarchar
6
否
是
会员卡密码
Card_jf
int
8
否
是
会员卡积分
Card_ye
float
8
否
是
会员卡余额
表4goods表的结构
列名
数据类型
长度
主键否
允许空
功能描述
Goods_bh
int
10
是
否
商品编号
Goods_m
nvarchar
50
否
是
商品名称
Goods_jg
float
8
否
是
商品价格
表5trade表结构
列名
数据类型
长度
主键否
允许空
功能描述
Goods_bh
int
10
是
否
商品编号(外键)
Doods_sl
Int
10
否
是
交易数量
Vip_bh
nchar
16
否
是
被交易者
(2)数据库数据表:
Member表:
Card表:
Trade表:
Goods表:
3.3数据库编程
(1)连接数据库的open代码:
SQLCA.DBMS="ODBC"
SQLCA.dbparm="Connectstring='DSN=mvip'"
Connect;
ifSQLCA.SQLCode<>0then
MessageBox("连接失败","不能连接数据库")
return
endif
open(w_14)
(2)系统管理员登录的代码:
stringuserid
stringuserpsw
stringuid
stringupsd
uid="管理员"
upsd=string(123)
userid=trim(sle_userid.text)
userpsw=trim(sle_password.text)
ifuserid=uidanduserpsw=upsdthen
close(w)
open(w_2)
else
MessageBox("error!
","用户名或密码错误!
登录界面将立即关闭。
",stopsign!
)
(3)管理员对信息的管理有增,删,改,查询等操作,其代码如下:
longrow_number
w_4.dw_1.reset()
row_number=insertrow(w_4.dw_1,0)
//定义变量
longcurrent_rownumber
//得到当前记录
current_rownumber=dw_1.getrow()
//删除当前记录
deleterow(dw_1,current_rownumber)
//定义两个变量
intMCount//修改后没有保存的行数
intUpdateOrNot//是否修改
//得到修改后没有保存的行数
MCount=w_4.dw_1.ModifiedCount()
ifMCount=0then
//没有未保存的修改
close(w_4)
elseifMcount>0then
//询问是否保存所做的修改
UpdateOrNot=MessageBox("保存修改","您修改了数据窗口中的数据,现在是否保存?
",Question!
YesNoCancel!
)
ifUpdateOrNot=1then
//保存
ifupdate(w_4.dw_1,true,false)=1then
//保存修改成功,提交修改
w_4.dw_1.resetupdate()
commit;
else
//保存修改失败,取消所做的修改
rollback;
//弹出一个对话框警告
messagebox("错误!
!
!
","数据保存失败")
endif
close(w_4)
elseifUpdateOrNot=2then
//不保存
rollback;
close(w_4)
endif
endif
stringis_card
//definethevariable
stringLookforcondition
//是否输入会员卡号
ifsle_1.text=""then
Lookforcondition=""
else
Lookforcondition="card_id="+""+sle_1.text+""
endif
dw_1.setfilter(lookforcondition)
filter(dw_1)
dw_1.retrieve()
第4章功能模块的创建
4.1登录窗口:
4.2管理员登录窗口及登录代码:
代码:
stringuserid
stringuserpsw
stringuid
stringupsd
uid="管理员"
upsd=string(123)
userid=trim(sle_userid.text)
userpsw=trim(sle_password.text)
ifuserid=uidanduserpsw=upsdthen
close(w)
open(w_2)
else
MessageBox("error!
","用户名或密码错误!
登录界面将立即关闭。
",stopsign!
)
4.3会员登录窗口及代码:
代码:
SetPointer(hourglass!
)
IFPARENT.wf_connect(sle_1.text,sle_2.text)=-1then
MessageBox("连接数据库错误!
","连接失败"+sqlca.aqlerrtext)
HALT
ELSE
Close(parent)
open(w_1)
endif
4.4管理员界面
4.4会员购物信息管理界面:
代码:
longrow_number
w_4.dw_1.reset()
row_number=insertrow(w_4.dw_1,0)
//定义变量
longcurrent_rownumber
//得到当前记录
current_rownumber=dw_1.getrow()
//删除当前记录
deleterow(dw_1,current_rownumber)
//定义两个变量
intMCount//修改后没有保存的行数
intUpdateOrNot//是否修改
//得到修改后没有保存的行数
MCount=w_4.dw_1.ModifiedCount()
ifMCount=0then
//没有未保存的修改
close(w_4)
elseifMcount>0then
//询问是否保存所做的修改
UpdateOrNot=MessageBox("保存修改","您修改了数据窗口中的数据,现在是否保存?
",Question!
YesNoCancel!
)
ifUpdateOrNot=1then
//保存
ifupdate(w_4.dw_1,true,false)=1then
//保存修改成功,提交修改
w_4.dw_1.resetupdate()
commit;
else
//保存修改失败,取消所做的修改
rollback;
//弹出一个对话框警告
messagebox("错误!
!
!
","数据保存失败")
endif
close(w_4)
elseifUpdateOrNot=2then
//不保存
rollback;
close(w_4)
endif
endif
4.6会员卡挂失界面:
结束语
这次课程设计过程中,我终于完成了超市会员管理系统的全部设计过程。
通过这次课程设计,我深刻地体会到了软件设计是一个精细漫长的过程,整个过程都需要周密的计划和安排,每一步骤,都需要按照软件工程标准来完成。
在设计中,我始终坚持理论指导实践原则,并通过实践来加强理论的学习,通过设计锻炼,我熟悉了软件的一般过程,加强了对实际问题的处理能力。
实践证明,在高科技突飞猛进的时代,光靠课堂所学的知识是远远不够的,必须依靠实践去不断的深化认识,尤其是计算机科学,操作性和实践性很强,只有加强实际的动手能力,才能更好的掌握这一现代化工具。
这次课程设计,无论是从技术上还是从和我们组其他成员的协作交流方面,都对我有了较大的提高和帮助,对我今后步入社会都打下了一个良好的基础。
在设计过程中,我也到了一些困难,主要表现了技术和经验的欠缺,但通过努力,最终都一克服了,提高了自己的实际动手能力,为以后打下了坚实的基础。
参考文献
1.郑阿奇,PowerBuilder实用教程(第三版),电子工业出版社。
2.郑阿奇,SQLserver2005实用教程(第三版),电子工业出版社。
3.何旭洪,Powerbuilder9.0信息管理系统开发,人民邮电出版社。
4.王龙,powerbuilder管理信息系统项目开发实践,科学出版社。
5.明目科技,powerbuilder管理信息系统完整项目实例剖析,人民邮电出版社。
《大型数据库设计》大作业评分标准
数据库
具备基本的数据表,数据表数据设置能够实现系统基本需要
具备多个数据表,不同的表能够满足不同需要,但表之间没有数据关联,数据的安全性和完整性不强
具备多个数据表,并能够建立表之间的数据关联
具备多个数据表,能够建立数据关联,并具有较强的数据安全性和数据完整性
前台开发工具
能够使用开发工具的基本操作完成系统的开发
能够比较熟练地运用开发工具来实现较全面的功能
对开发工具熟悉,能够灵活使用各类控件和语句完成系统开发
能够熟练掌握多种开发工具,并能够独立解决较复杂的编程问题
数据管理功能
能够完成数据的输入输出和基本查询功能
除了基本功能外,还可以完成比较复杂的数据查询和数据编辑功能
具有登录功能,能够方便地完成数据操作功能
具有身份检验、数据备份等较复杂的数据管理功能
系统界面设计
具有一般的数据窗口
数据窗口功能比较全,操作也比较方便
数据窗口界面美观,功能全面,操作方便
数据窗口界面美观,功能设计有创新
开题报告、设计报告
能够完成开题报告和设计报告
开题报告能够反映设计思路,设计报告能够介绍系统功能
报告内容比较完整,思路比较清晰,语句比较通顺
报告内容完整,用语准确,能够反映系统开发过程
教师签字:
成绩: