超市会员软件开发.docx
《超市会员软件开发.docx》由会员分享,可在线阅读,更多相关《超市会员软件开发.docx(20页珍藏版)》请在冰豆网上搜索。
超市会员软件开发
西安建筑科技大学华清学院
课程设计(论文)
课程名称:
软件开发实验课程设计
题目:
超市会员管理系统
院(系):
华清学院机械电子工程系
专业班级:
计算机科学与技术1101
姓名:
学号:
201106060136
指导教师:
2014年07月6日
西安建筑科技大学华清学院课程设计(论文)任务书
专业班级:
计算机1101学生姓名:
指导教师(签名):
一、课程设计(论文)题目
超市会员管理系统
二、本次课程设计(论文)应达到的目的
通过软件开发大作业课程设计的操作与实践,使学生了解关系软件开发的相关理论知识和有关工具软件的使用技巧,在一定程度上提高应用程序的综合开发能力和创新意识、创新能力。
三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等)
系统功能基本要求:
1.加入会员的基本条件维护,包括:
成为会员的基本条件、优惠政策、优惠时间等;
2.会员的基本信息,包括姓名、性别、年龄、工作单位、联系方式等;
3.会员购物信息:
购买物品编号、物品名称、所属种类,数量,价格等;
4.会员返利信息,包括会员积分的情况,享受优惠的等级等;
5.对货物流量及消费人群进行统计输出。
四、应收集的资料及主要参考文献:
1.数据库:
原理编程与性能(影印版)(第2版),高等教育出版社,ParickO'Neil,ElizabethO'Neil编著,2005.7;
2.数据库系统概论(第4版),高等教育出版社,王珊,萨师煊编著,2006.05;
五、审核批准意见
教研室主任(签字)
摘要
随着社会的快速发展,市场竞争越来越激烈,为了能在竞争中立于不败之地,商家推出了各种方式来吸引顾客,提升自己的竞争能力,会员制度的推行现在相当普遍,会员的加入不仅能使商家有固定的合作对象和顾客,还可以通过一定的优惠政策刺激消费者消费,所以对会员管理系统有更高的要求。
本会员超市会员管理系统实际的业务流程为背景而设计的,后台数据库的设计用SQLServer2008,前台用MyEclipse来开发。
本超市会员信息管理系统已超市会员信息的管理为核心,兼有各种查询、添加、修改等功能,如对货物流量和消费人群的查询,对会员信息的查询等。
本系统利用存储过程可以对数据库中的内容实现各种级联修改与信息的实时更新,可以化繁为简,提高效率,避免大量的重复性的工作。
整个系统由会员信息管理模块、会员优惠度模块、购物信息模块和商品信息模块组成。
整个系统能独立运行,实现现实中的功能。
关键字:
会员管理,数据库
目录
1软件开发……………………………………………………第1页
2问题描述………………………………………………………第2页
3需求分析………………………………………………………第2页
4概要设计………………………………………………………第4页
5详细设计………………………………………………………第5页
6调试分析………………………………………………………第8页
7使用说明………………………………………………………第8页
8实验总结………………………………………………………第11页
9参考文献………………………………………………………第11页
超市会员管理系统
1.软件开发
1.1开发的背景
随着计算机软硬件技术的迅速发展,信息化己成为现代企业的一个重要标志和衡量企业综合实力的重要标准。
信息化建设悄然地改变着国内广大中小企业的生存和运营模式。
而会员管理系统也成为商家争取客户的必选。
会员管理信息系统正在越来越多的被各种企业应用于消费管理领域。
随着众多企业的管理者对管理信息系统的重视程度的提高,会员管理信息系统的管理功能也在不断的增强,发挥的作用越来越大。
使企业员工提高工作效率以及规范企业的多层次全方位管理,在企业与外界之间,它可帮助企业实现电子商务模式,以此拓宽交流范围,缩短交流的时间、丰富交流方式,并可协助维护企业与社会之间良好的关系。
1.2开发设计的意义
网络管理可以实现信息资源共享,在网上发布会员信息,使会员在网上可以查看到自己最新的会员积分以及商家发布的各种有礼兑换活动。
通过此项目的研究与实践,使网络管理更能为会员提供一个方便的自我管理环境,使会员能更好的对自己购物所获得的积分的管理以及能清楚的了解自己购物的商品列表和兑换礼物情况。
商家可以利用系统对会员信息进行管理,例如对会员信息的添加、修改、查询以及积分查询统计等。
管理上更加规范,不再受时间和地理位置的限制,很大程度上提高了会员管理的效率,不再像过去的手工操作浪费时间、人力以及物力,也无形当中提高了商家对会员管理的效率,达到双赢的目的。
1.3系统研究的目标
建立一个基于网络平台的,符合当代管理理念的,具有现代会员管理特色、综合会员卡积分的新型会员管理模式。
1.4开发工具SQLServer简介
SQLServer2008数据库管理系统具有以下主要特点。
(1)丰富的图形化管理工具,使系统管理,操作更为直观方便。
SQLServer企业管理器是一个基于图形用户界面(GUI)的集成管理工具,利用它可以配置管理SQLServer服务器、管理数据库和数据库对象、备份和恢复数据,实现数据复制和转换等操作。
(2)动态自动管理和优化功能。
即使SQLServer数据库管理员不做任何设置,SQLServer也能够在运行过程中根据环境配置和用户访问情况动态自动配置,以达到最优性能,从而减轻管理员工作。
(3)充分的Internet技术支持。
Internet网络发展至今已经成为一条重要的信息发布渠道,SQLServer增强了对Internet技术的支持,还增加了对XML和HTTP技术的支持。
1.问题描述
客户信息管理系统是企业管理新系统的重要组成部分,利用客户信息管理系统,企业能够有效的管理自己的客户,实现对客户信息的维护。
客户便于对自己的消费情况进行查询,对产品进行购买并了解购买价格和个人信息。
便于企业管理并了解客户信息。
2.需求分析
3.1可行性分析
通过客户信息进行详细的管理使企业管理员能方便的管理客户日常信息以及方便客户对自己的个人信息的进行查询。
由此系统的开发,可以节省大量的时间,使得管理人员对客户信息清晰明了,此外客户关系管理不再是局部的,可视化的工作流程,实现对客户日常消费记录,使客户信息规范化,大大提高了管理人员的工作效率。
3.2功能需求
会员卡管理系统,主要包括客户与商品之间的关系。
主要功能需求如下。
(1)在会员卡管理部分,要求:
a)可以查询会员信息。
b)可以修改会员卡过期日期。
c)可以查看会员购物信息。
d)可以对会员的信息进行基本操作且会员有多种级别,级别的高低与消费总额成正比。
。
(2)添加购物信息部分,要求:
a.可以查看购买的商品信息。
b.对商品信息进行维护,包括添加商品名称、商品价格、够买时间等操作。
(3)购买新卡管理部分,要求:
a.可以选择购卡价格。
b.可以对会员的消费级别分类,普通会员输入手机号即可,高级会员需输入姓名、身份证号、手机号等。
3.3性能需求
a)数据的精确度
应保证查询的准确率为100%,所有在相应区域中包含查询关键字的都可以查到,不在相应域中或不包含查询关键字的都不能查到。
b)系统响应时间
系统性能高反应速度快,1、2秒之内找到特定的客户信息。
c)适应性
满足运行环境在允许操作系统之间的安全转换和与其他应用软件的独立运行要求。
3.4非功能性需求
用户界面需求:
简洁、易用、易懂、友好的用户界面。
硬件要求:
装有MyEclipse、SqlServer的计算机。
可靠性需求:
保证用户在正常使用本系统时,用户的操作或误操作不会产生数据的丢失。
4.概要设计
4.1功能描述
该课程设计的数据结构是线性的数据存储结构,采用的是单链表类型的存储结构。
客户信息管理系统主要是对企业的客户信息进行详细的管理,并方便的对客户信息进行创建,添加,删除,修改,查询等操作。
客户信息管理系统结构分为基础信息维护,客户信息管理,商品信息管理,客户消费管理。
管理人员可以浏览客户的信息,可以对客户信息进行维护。
商品管理可以浏览商品的信息,可以对商品信息进行维护。
客户消费管理可以显示当前数据库中客户的消费情况。
简单而有效的发挥出它的效力,资源配置比较突出,这就是管理信息系统的开发的基本环境。
4.2系统包含的类和方法
publicclassShoppingCard//类
publicvoidactionPerformed(ActionEvente)//事件监听器
privatevoidaddSure()//添加购物信息确定的方法
privatevoidadd()//点击后显示添加信息界面的方法
privatevoidbuy()//显示购物信息的方法
privatevoidinsert()//插入新购物卡的方法
privatevoidcard1()//点击购买大于5000元购物卡的方法
privatevoidback()//查询信息后返回
privatevoidcard2()//点击购买小于5000元购物卡的方法
privatevoidnewCard()//点击购买新卡后执行的方法,显示6个按钮选择
privatevoidcardSure()//点击cardsure执行的查询功能
publicbooleanexist(Strings)//判断卡是否存在或是否激活
publicbooleanidCard(Stringstr)//判断身份证号是否符合规定
4.3系统包含的包
其中在代码中导入了四个连接数据库和java宿主语言的四个jar包,分别是msbase.jar包,msssqlserver.jar包,msutil.jar包,sqlidbc.jar包。
使用了javax.swing包,包含了各种swing组件,实现按钮,窗体,对话框,面板,滚动条,二维单元表,编辑单行文本。
使用了java.sql包,包含的接口和类采用传统的C/S体系结构设计思想.主要功能针对基本数据库编程服务,如生成连接,执行语句以及准备语句和运行批处理语句.也有一些高级功能如批处理更新,可滚动结果集,事务隔离以及SQL数据类型.使用了java.awt包,java.awt有创建用户接口、绘图和图像的所有类。
4.3系统功能模块图
图4-1系统功能模块图
5.详细设计
5.1建立数据库连接
publicstaticvoidmain(String[]args){
newShoppingCard();
StringDBDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
//StringconnectionStr1="jdbc:
sqlserver:
//localhost:
1433;DatabaseName=huiyuan";
Connectioncon=null;
try{
Class.forName(DBDriver);//加载驱动器
}catch(ClassNotFoundExceptione1){
e1.printStackTrace();
}
try{
con=(Connection)DriverManager.getConnection("jdbc:
sqlserver:
//localhost:
1433;DatabaseName=huiyuan","sa","sa");//建立数据库连接
stmt=(Statement)con.createStatement();
}catch(SQLExceptione2){
e2.printStackTrace();
}
}
5.2系统功能模块介绍
超市会员管理系统主要是对超市的会员信息进行详细的管理。
a)查询会员信息:
输入要查询的会员卡号,查询已有的会员信息到会员表,可查询到会员信息包括:
会员卡号、会员姓名、会员性别、会员电话、会员卡购买日期、会员卡过期日期、会员卡余额等。
b)添加购物信息:
添加新的会员的购物信息到会员表,可添加包括:
商品名称、商品价格、够买时间等基本信息。
修改会员卡信息:
用户可以在浏览客户信息时修改会员卡过期日期信息,并将修改后的客户信息更新到会员表中。
c)购买新卡信息:
选择购物卡的价格输入持卡者信息,并将购买后的会员信息更新到会员表中。
5.3具体模块设计
5.3.1显示会员信息模块5.3.2显示购物信息模块
图5-1会员卡模块图图5-2购物信息模块图
5.3.3显示购买新卡信息模块
图5-1购买新卡模块图
6.调试分析
在进行系统分析时,建立对管理信息系统的感性认识以及信息系统给组织和个人带来的影响。
运用了有管管理信息系统的知识,可以方便企业各种业务的管理,并通过管理系统掌握企业各方面发展情况。
在数据库系统运行过程中必须不断地对其进行评价、调整与修改。
数据库试运行合格后,数据库即可投入正式运行。
数据库投入运行标志着开发任务的基本完成和维护工作的开始。
对数据库设计进行评价、调整、修改等维护工作,应用环境在不断变化,数据库运行过程中物理存储会不断变化。
在数据库运行阶段,对数据库经常性的维护工作主要是由DBA完成的,包括:
数据库的转储和恢复;数据库的安全性、完整性控制数据库性能的监督、分析和改进;数据库的重组织和重构造。
7.使用说明
a)超市会员管理系统主界面:
图7-1会员卡主界面
b)输入会员卡号显示会员信息:
普通会员:
手机号码、购买日期、过期日期、余额
图7-2普通会员信息图
高级会员信息:
会员卡号、会员姓名、身份证号、余额、手机号码、购买日期、过期日期。
图7-3高级会员信息图
c)显示购物信息:
卡号、商品名称、商品价格、购买时间。
图7-4购物信息图
d)添加模块:
添加购物信息。
图7-5添加购物信息图
e)购买新卡:
选择购物卡价格。
图7-6购物卡价格选择图
f)输入持卡者信息:
包括高级会员信息和普通会员信息。
图7-7高级会员信息图
图7-7普通会员信息图
8.实验总结
通过这次实验,我对数据库这门课有了更深的理解和认识,为了做好本次实验,我综合运用了老师上课所讲部分内容,并查阅了很多相关资料,受益非浅,增长了很多方面的见识,使我深刻认识到以前所学的基础课程的重要性,也使我掌握了很多新的知识,特别是一些课本之外的知识,体会到了理论知识和实践相结合的重要性。
本次实验对要处理的对象和系统的要求都有较明确的阐述,在对该系统进行测试时,实现了各个表上的各种查询、添加、删除、修改建立了相关视图等。
功能相对比较完善,一些操作必须是有相关权限的人员可以执行,增加系统安全性,在本次实验中,很好地培养了我分析问题、解决问题的能力。
同时,独立工作能力也得到了很好的提高。
在学习过程中,我也借鉴了上网不少资料,看了一些别人设计的客户信息管理信息系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从中在学到用,从用又到学,不断修改,系统更新。
在不断分析后明确并改正了错误和疏漏,使我的程序有了更高的质量。
9.参考文献
1.数据库:
原理编程与性能(影印版)(第2版),高等教育出版社,ParickO'Neil,ElizabethO'Neil编著,2005.7;
2.数据库系统概论(第4版),高等教育出版社,王珊,萨师煊编著,2006.05;
附录
系统实现的部分代码
添加购物信息确定:
privatevoidaddSure(){
//TODOAuto-generatedmethodstub
try{
stmt.executeUpdate("insertintogoodsinfovalues('"
+cardt.getText()+"','"+goodNamet.getText()+"','"
+goodPricet.getText()+"','"+goodDatet.getText()+"')");
JOptionPane.showMessageDialog(f,"购物信息已添加!
");
floatm=Float.parseFloat(goodPricet.getText());
rs=stmt
.executeQuery("selectmoneyfromshoppingcardwherecard='"+cardt.getText()+"'");
floatn=0;
while(rs.next()){
n=Float.parseFloat(rs.getString
(1))-m;
}
if(n<=0){
JOptionPane.showMessageDialog(f,"此卡余额不足,已删除!
");
stmt.executeUpdate("deletefromshoppingcardwherecard='"
+cardt.getText()+"'");
stmt.executeUpdate("deletefromgoodsinfowherecard='"
+cardt.getText()+"'");
}
stmt.executeUpdate("updateshoppingcardsetmoney='"+n+""
+"'wherecard='"+cardt.getText()+"'");
goodNamet.setText("");
goodPricet.setText("");
goodDatet.setText("");
back();
}catch(SQLExceptione1){
//TODOAuto-generatedcatchblock
JOptionPane.showMessageDialog(f,"商品名称过长,请输入不超过10位的名称");
}
}
显示添加信息界面:
privatevoidadd(){
//TODOAuto-generatedmethodstub
card=cardt.getText().trim();
try{
rs=stmt.executeQuery("select*fromshoppingcardwherecard='"
+card+"'");
while(rs.next()){
if(card.equals(rs.getString
(1))){
SimpleDateFormatfomat=newSimpleDateFormat("yyyy-MM-dd");
Datedate=newDate();
snewDate=fomat.format(date);
newCard.setVisible(false);
cardSure.setVisible(false);
cardt.setEditable(false);
add.setVisible(false);
north.validate();
goodDatet.setText(snewDate);
goodDatet.setEditable(false);
center3.validate();
f.add(center3,BorderLayout.CENTER);
dateSure.setVisible(false);
buy.setVisible(false);
back.setVisible(true);
mInfoSure.setVisible(false);
fInfoSure.setVisible(false);
addSure.setVisible(true);
newcard.setVisible(false);
f.validate();
break;
}
}
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
显示购物信息:
privatevoidbuy(){
//TODOAuto-generatedmethodstub
center1.setVisible(false);
center4.add(all);
center4.add(allBuy);
center4.add(jScrollPane);
f.add(center4,BorderLayout.CENTER);
date.setVisible(false);
dateSure.setVisible(false);
buy.setVisible(false);
back.setVisible(true);
mInfoSure.setVisible(false);
fInfoSure.setVisible(false);
addSure.setVisible(false);
newcard.setVisible(false);
f.validate();
buyInfo.append("卡号\t商品名称\t商品价格\t购买时间\n");
floatf=0;
try{
rs=stmt.executeQuery("select*fromgoodsinfowherecard='"
+card+"'");
while(rs.next()){
f=f+Float.parseFloat(rs.getString(3));
buyInfo.append(""+rs.getString
(1)+"\t"
+rs.getString
(2)+"\t"+rs.getString(3)+"\t"
+rs.getString(4)+"\n");
}
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}