会员积分卡管理系统.docx

上传人:牧羊曲112 文档编号:5008645 上传时间:2023-05-29 格式:DOCX 页数:59 大小:484.19KB
返回 下载 相关 举报
会员积分卡管理系统.docx_第1页
第1页 / 共59页
会员积分卡管理系统.docx_第2页
第2页 / 共59页
会员积分卡管理系统.docx_第3页
第3页 / 共59页
会员积分卡管理系统.docx_第4页
第4页 / 共59页
会员积分卡管理系统.docx_第5页
第5页 / 共59页
亲,该文档总共59页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《会员积分卡管理系统.docx》由会员分享,可在线阅读,更多相关《会员积分卡管理系统.docx(59页珍藏版)》请在三一办公上搜索。

1、数学与计算机学院课程设计说明书课程名称:软件工程课程代码:8404131题 目: 会员积分卡管理系统年级/专业/班:09软件工程4班学生姓名:学号:开始时间:2011 年05月 23 日完成时间:2011 年06月 06 日课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书(计算书、图纸、分 析报告)撰写质量(45)总分(100)指导教师签名:年 月 日课程设计任务书学院名称:数学与计算机学院课程代码:_8404131专业:软件工程 年级:.09一、设计题目二、主要内容三、具体要求及应提交的材料本课程设计要求学生运用软件工程的思想,严格按照软件生命周期各阶段的目

2、 的和任务,完成对系统的分析、设计、编码、及测试。1. 完成系统的需求分析2. 完成系统的设计:针对分析阶段提出的软件要求,给出实现的方案和具体细节的说明。(1) 导出系统的数据流程图和功能模块图。(2) 设计数据库。使用Microsoft Access创建数据库。确定数据库中数据表 的组成。确定数据表中字段的构成、主键字段和有关字段的约束条件等。依靠数 据表中主键字段建立数据表之间的关系,并由此建立数据表之间的参照完整性约 束。(3) 根据功能确定软件模块组成及调用关系。(4) 确定每个模块的数据结构及算法。3. 编码建造模块,在可视化编程环境下,按照软件设计要求制作界面和完成对模块 的编码

3、,由此使软件设计具体化为软件作品。4. 测试编写合适的测试用例完成系统的测试工作并分析结果。5. 编写课程设计报告应提交材料:1. 上交源程序:学生按照课程设计的具体要求所开发的所有源程序(应该放 到一个文件夹中);2. 课程设计报告的打印稿和电子稿;四、主要技术路线提示1. 认真阅读相关知识,完成系统的功能分析和系统设计。2. 选用VC+作为开发环境。五、进度安排序号设计内容天数1分析设计内容,给出解决方案32创建数据库及建表33可视化界面设计34对所建数据库进行设计,整理设计思路, 编码、测试,写出课程设计报告35指导老师检查设计结果并做成绩评定2总计14六、参考资料1 张海藩.软件工程导

4、论.北京:清华大学出版社,20042 陈明.实用软件工程基础.北京:清华大学出版社,20033 殷人昆.实用软件工程.北京:清华大学出版社,2003指导教师 签名日期 年 月 日系主任 审核日期 年 月 日目 录1. 前言11.1. 编写目的11.2. 用户特点12. 需求分析12.1. 功能分析12.2. 方案分析 73. 概要设计73.1. 数据结构83.2. 逻辑结构与物理结构93.3. 功能模块划分 103.3.1. 结构框图113.3.2. 程序流图123.3.3. 模块功能分析及外部设计123.4.抽象数据类定义124. 详细设计124.1. 数据类型定义124.2. 主要模块内部

5、设计 134.2.1. 模块1设计134.2.1.1. 模块算法134.2.1.2. 流程图134.3.1.3. 伪代码134.2.2. 模块2设计 135. 实现与调试分析145.1. 实现环境145.2. 语言选择145.3. 调试分析146. 测试分析156.1. 测试用例156.2. 测试结果166.3. 性能分析177 .用户手册18总结18参考文献18 附录源程序文件名清单:1.刖言社会生活的现代化,使得市场的走向发生巨大变化,随着市场竞争的日益激烈, 如何吸引消费者以及使其成为长期客户是企业需要考虑的问题。现在已有很多企 业已经实施了会员积分兑奖活动,如美赞臣、惠普、爱普生、佳能

6、、兄弟、天威 等公司,说明会员积分是吸引消费者以及使其成为长期客户的有效方式。采用会 员积分卡管理,可有效提高客户忠诚度,促进正品耗材销售;同时还能收集用户 信息,丰富用户数据库,为实施数据库营销、进行市场分析积累资料。因此我们 利用中商的系统平台,针对商场的会员积分活动需求以及相关活动策划的要求, 为商场提供会员积分卡管理系统。该积分系统是集合防伪查询、会员注册、积分、 及消费信息收集、个体营销等功能服务于一体综合应用系统。将会员积分与防伪查询相结合,通过积分吸引消费者进行查询以提高防伪查询率;通过防伪查询保证积分的真实性,从而使商场实行会员积分销售的目的有效实现。1.1. 编写目的这份设计

7、报告是对即将开发的系统的功能要求,是作为系统设计和开发者的主要 依据,更方便系统设计及开发人员工作的开展。这个会员积分卡系统也是为了满足商场需要而根据客户要求编写。1.2. 用户特点本软件的最终用户是面向用户、读者(老师和同学等),他们都具有一定的计 算机应用基础,可以比较熟练操作计算机。用户和读者都是经常性用户。系统维护人员为计算机专业人员,熟悉数据库、操作系统、网络维护工作。维护人员为间隔性用户。2.需求分析2.1. 功能分析1:操作人员管理,可为不同的操作人员开放不同的权限.操作人员间的数据流图:反馈信息会员卡信息生成表单持有会员卡的会员 会员积分卡柜台收银申请查询 管理系统 操作要求员

8、生成表单反馈信息会息2:会员卡类型管理,可设置多种会员卡类型,为不同类型的卡设置不同的优 惠。会员积分卡的层次方框图:3:完善的会员卡管理,可对会员卡新增、修改和删除,增加会员卡的同时录入会员基本信息(如电话、生日等)。会员卡日常的管理的E-R图:4:简单明了的刷卡增加积分界面,该界面一目了然,刷卡后,增加积分,功能 比较灵活。会员卡使用的用例图:会员积分卡管理系统:-结束2 . 消费会员卡积分的增删V /-结束6柜台收银员束5打开机器-一 /-结束4取货款关闭机器5:简单明了的退/换货减积分功能,该界面一目了然,刷卡后,输入退换货的商品 名,输入减掉的积分,点“确定”即可,功能比较灵活。退/

9、换货减积分的状态图:6:完善的报表统计功能,可以按不同的要求统计数据,按各种要求统计历史数据,可以打印。数据字典:名字:会员政策别名:描述:会员卡及积分所得的具体优惠政策定义:会员政策=会员所享受的各种优惠具体内容位置:会员管理系统名字:会员积分别名:描述:购买不同物品获得不同积分,积分换得物 品奖励。(每消费一元获一个积分积分够400时 可持会员卡领取相应物品0。定义:会员积分=获得积分+不同层次积分位置:会员管理系统名字:报表别名:描述:打印会员购物及积分换奖基本信息定义:报表=购物物品+物品名称+物品件数+目前 价格+积分换取物品+换取件数+所有物品总价 位置:输出到打印机7:完善的数据

10、管理功能,可完成数据库的备份,恢复,初始化操作,通过完善 的数据操作,保证数据库的完整。具体方案:一、建立会员积分卡管理系统的数据库,整个程序分为2大部分:会员资料管理; 会员卡管理。在这个数据库中建立5个表,它们分别是会员卡类型表、会员资料 表、退货表、反馈规则表、会员卡历史记录表:在设计数据库时,已经考虑到用户的需求,这正是数据库信息的来源。根据 列表的内容,可以提炼出以下数据信息。(1)多种会员卡:卡类型表(2)不同卡有不同优惠规则:优惠规则表(3)办理卡需要填写客户资料:客户资料表(4)商品可以退/换货,保存退/换货记录:退/换货表(5)可以查询顾客的刷卡记录:会员卡历史记录表二、访问

11、、操作并连接数据库这次会员积分卡管理系统一般按照以下三步曲进行:首先,是建立与会员积分管理系统的数 据库的连接。其次,读取或查询数据库中记录,并显示在窗口中的各个可视控件中。最后, 编辑数据并提交,完成数据插入、修改或删除等各种操作。以上三步完成以后,在进行与前 台进行连接,在这之中,我们也可以进行数据的添加、修改、删除的操作,这样做可以完善 数据库,同时,也要做会员积分管理管理系统的数据库备份,以便以后的操作2.2. 方案分析通过分析系统的功能要求对系统进行结构化分析,将功能模块化,逐步求精 理清实体间的关系。另外根据实体间的联系图完善他们有关的数据库,最终通过 可行的技术操作和合法的途径完

12、成系统的建立。3.概要设计3.1. 数据结构数据结构描述的是数据库的组成对象以及对象之间的联系。会员卡类型表模型:会员资料表模型:退货表模型:反馈规则表模型:3.2. 逻辑结构与物理结构逻辑结构:通过以上模型到关系模型的转化,可以得到如下关系模式:会员资料管理实体集转换关系为:string CardNum;int CardID;string CustName;string CustIdentity;string CustPhone;string CustAddress;string Custbirthday; 物理结构: 建立会员客户资料(MemberInfo)表: create table

13、MemberInfo (MemberID int identity , CardID int not null , CardNumnvarchar(20)not null ,CustName nvarchar(20)not null,custIdentity nvarchar(20) not null, CustPhone nvarchar(20) null , CustAddress nvarchar(100) null, CardDate datetime not null,constraint PK_MEMBERINFO primary key (MemberlD, CardNum) )

14、 Go 建立退货(BackStock)表: create table BackStock (BackID int identity ,StockID nvarchar(20) null, StockCount int not null , BackDate datetime not null , constraint PK_BACKSTOCK primary key (BackID) ) Go 建立反馈规则(GiftRule)表: create table GiftRule (RuleID int identity,StockID nvarchar(20) null, CardCount nu

15、meric not null, constraint PK_GIFTRULE primary key (RuleID) ) Go 建立反馈(FreeStock)表: create table FreeStock (FreeID int identity ,StockID nvarchar(20) null , FreeDate datetime not null , constraint PK_FREESTOCK primary key (FreeID) ) Go3.3. 功能模块划分(1) 、会员资料管理模块;(2) 、会员卡管理模块;3.3.1. 结构框图这个结构图主要是为了说明这个会员管

16、理系统的基本信息,及这个数据库能 实现的功能,还有能够通过此图,能够方便、快捷的了解本次数据库的会员积分 卡管理系统的一些流程。3.3.2 .程序流图3.3.3. 模块功能分析及外部设计(1) 会员资料管理模块:包括添加、查询、修改会员资料。(2) 会员卡管理模块:会员卡的开通激活、账户的存款管理、积分的变化管理。3.4.抽象数据类定义4.详细设计4.1. 数据类型定义int number;char name20;char ID20;char word8;int flag;float account;int integal;4.2. 主要模块内部设计会员资料管理模块;会员卡管理模块;4.2.1

17、. 模块1设计4.2.1.1. 模块算法void menu();void made();void input();void add();void life();void enter();void browse();void huo(int k);void hedui(int k);void menu1(int k);void fetch(int k);void change(int k);void deposit(int k);4.2.1.2. 流程图5 .实现与调试分析5.1. 实现环境 前台使用C语言编写,后台使用数据库来管理数据。运行环境:Microsoft Visual C+ 6.0、

18、 SQL Server2005。5.2. 语言选择C语言和SQL语言。5.3. 调试分析调试时没有发现此程序中有什么大问题,但是还欠缺点比较深入的功能,还 有待完善。6 .测试分析6.1. 测试用例测试的方法一般有:白盒测试和黑盒测试两种。合法等价类非法等价类功能模块输入预期结果输入预期结果测试结果录入数据Yang123456456123500200成功保存yang123456456123500200已重复失败建卡和激活账号3124561fff456123成功保存321456该号码已存在成功账户登录321456456123密码正确 进入个人 查询界面312456123456不能进入 界面密码不

19、 正确请重 新输入6.2. 测试结果启 四甲挪I F一 3孑 name : yfn ID : 123456 uord : 456123 account : 500 integal : 200*成功保存? ? ? mkmmjcmkmmjcmkTHE MENU:录入信息:I II! !2建卡操作!I III II请选择操作:请输入卡号码456123是否激活该卡?八是普否请选择卡号请输入姓名X fff请输入六位数密码:NXNXNXNXNXNXNXNXNXN玉激 舌成功,-玉寄玉寄玉寄玉寄玉寄玉心!iname !ID !存款 i 积分 !456123!0.00!0!KXKXKXKXKXKX,成 I呆

20、* ? XKXKXKXKXKXK大致的测试结果如上几个图所示。6.3. 性能分析会员资料管理实现管理员对会员的资料的管理;会员卡管理管理实现在会员消费的时候对会员卡积分的管理。从以上测试可发现,本系统对简单的会员积分管理功能基本满足,但是由 于深入点的功能则欠缺太多。因为技术上的因素,本系统还无法将信息存入数据 库,所以,本系统还将继续完善,以满足真正的会员积分卡提出的所有功能需求。7.用户手册此次开发的会员积分卡管理系统比较简单,用户只需根据功能提示操作即可 但是要进行个人信息查询时切记激活时的密码。总结会员积分卡管理系统是典型的信息管理系统,其开发主要包括后台数据库的 建立和维护以及前端应

21、用程序的开发两个方面。对于前者要求建立起数据一致性 和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用 等特点。其主要任务是用计算机对会员各种信息进行日常管理,如查询、修改、 增加、删除。本会员管理系统广泛适用于中、小型会员店。该系统可以帮助会员 企业处理日常工作业务,规范管理工作和操作流程,是会员行业的得力助于。通过这次课程设计,我深深的认识到,如果仅仅只是运用理论知识,是远远 不够的。我们必须理论联系实际,才能很好的将软件工程、C语言、数据库这几门 课程学好,并用于实际案例中,也学到了不少的知识,在做实验中也遇到了不少 的困难,最后都在老师和同学的精心的指导下,解决了困

22、难,也让我学到了许多 解决问题的能力。同时,经过这次课程设计,我发觉自己的动手操作能力变强了, 也为自己对以后的工作充满信心和希望打下了良好的基础。参考文献朱立华,王立柱 等编著幻语言课程设计.人民邮电出版社,2009.9王珊萨师煊编著.数据库系统概论(第四版).高等教育出版社,2006.5张海藩编著.软件工程.清华大学出版社,2010.7#include#include/*调用字符函数*/#include#include/*通用输入输出库*/#include#define M 1000void menu();void made();void input();void add();void l

23、ife();void enter();void browse();void huo(int k);void hedui(int k);void menu1(int k);void fetch(int k);void change(int k);void deposit(int k);void stat_one(int k);void print_one(int j);int search(char h20);void search1();int n=0;/*定义会员卡结构体*/struct credicardint number;char name20;char ID20;char word8

24、;int flag;float account;int integal;cardM;void menu()int v,w1;doprintf(nnnn);THEprintf(ttn);录入信息n);printf(ttn);printf(tt建卡操作n);printf(ttn);printf(tt帐号激活n);printf(ttn);printf(tt(4) 帐户登陆n);printf(ttn);printf(tt报表操作n);n);printf(tt查询会员n);printf(tt|n);printf(tt|(7)退 出ln);printf(tt| |n);printf(nntt 请选择操作(

25、1-7):bb);scanf(%d,&v);if(v7)printf(nntt* 输 入 有误!*);w1=1;getchar();else w1=0;while(w1=1);switch(v)case 1:input();break;case 2:made();break;/* 制作 */case 3:life();break;/* 激活 */case 4:enter();break;/* 登 陆*/case 5:browse();break; /*报表*/case 6:search1();break;case 7:exit(0);/* 退出 */void input()int i;prin

26、tf(name : );scanf(s,&cardn.name);printf(ID : ); scanf(s,&cardn.ID);printf(word : );scanf(s,&cardn.word);printf(account : );scanf(f,&cardn.account);printf(integal : );scanf(d,&cardn.integal);n+;add();menu();void main()printf(nnnnnnnnn);printf(tt* 会员积分卡管理系统*n);printf(nnntt 按任意键进入);getchar();menu();voi

27、d made()/* 建卡操作*/int i;char h20;doprintf(nnt 请输 入 要 申 请的号 码:bbbbbbb);scanf(%s,h);if(strlen(h)!=6)printf(nnntt*输入有误,请重新 输入 *nn);continue;for(i=0;in;i+)if(strcmp(cardi.ID,h)=0)printf(nntt* 该号码已经存在,请 重新输入 *nn);break;while(strlen(h)!=6)|strcmp(cardi.ID,h)=0);cardn.number=n;strcpy(cardn.name,*);strcpy(ca

28、rdn.ID,h);strcpy(cardn.word,000000);cardn.flag=0;cardn.account=0.00;cardn.integal=0;printf(nnntt* 制 卡 成 功!*nn);print_one(n);n+;add();menu();void print_one(int j)/* 显示消息*/printf(n|111);printf(n| name |ID | 存款|积分 |);-1);printf(n|%15s|%15s|%10.2f|%10d|, cardj.name,cardj.ID,cardj.account,cardj.integal);

29、 printf(n1);void add()/* 存款 */int i;FILE *fp;if(fp=fopen(score.txt,wb)=NULL)printf(tt Can not open the file n); return;for(i=0;in;i+)if(fwrite(&cardi,sizeof(structcredicard),1,fp)!二1)printf(tt File write error n);return;fclose(fp);printf(nnntt* 成 功 保存!*);void life()/* 登陆*/int k=-1;char h20;if(n=0)pr

30、intf(nntt* 请 先 建 卡*n);elseprintf(nnt 码:bbbbbbb);scanf(%s,h);k=search(h);if(k=-1)printf(nnttt* 该号 码不存 在!*n);elseif(cardk.flag=1)printf(nntt* 该卡 已经激 活!*n);else huo(k);menu();int search(char h20)int i,k=-1;for(i=0;in;i+)if(strcmp(cardi.ID,h)=0)k=i;return(k);void search1()int i,k=-1,m=0;char f20;print f

31、(输入卡号:);scanf(%s,&f);for(i=0;in;i+)if(strcmp(cardi.ID,f)=0)k=i;print_one( k);m=0;break;elsem=1;if(m=1)printf(没有该卡号!n);menu();void huo(int k)/* 激活操作*/char m20,p8;int x,w2;doprintf(nntt是否激活该卡? (1)是 (2)否n);printf(ntt 请选择卡号:bb);scanf(%d,&x);if(x2)w2=1;getchar();else w2=0;while(w2=1);if(x=1)printf(nntt 请

32、 输 入 姓名:bbbbbbbbbbbbbbbbbbbb);scanf(s,m);strcpy(cardk.name,m);printf(nntt 请输入六位数密码:bbbbbbb);scanf(s,p);strcpy(cardk.word,p);cardk.flag=1;printf(nnntt* 激活成 功!*nn);print_one(k);add();void enter()/* 进入*/int k=-1;char h20;if(n=0)printf(nntt* 请 先 制 卡*n);elseprintf(nnt 请输 入 会员 卡号码:bbbbbbb);scanf(%s,h);k=s

33、earch(h);if(k=-1)printf(nnttt* 该号 码不存在!*n);elseif(cardk.flag=0)printf(nntt*该卡还未激活,请先激活!*n);elsehedui(k);menu();void hedui(int k)/* 验证核对*/int c=0,w3=0;char p8;doprintf(nntt* 请 输 入 密码:bbbbbbb);scanf(s,p);if(strcmp(cardk.word,p)!二0)printf(nntt*密码不正确,请重新输 入!*n);c+;continue;elseprintf(nntt* 密 码 正确!*n);w3

34、=1;menul(k);while(w3=0&c3);void menu1(int k)/* 显示 */int v,w4;doprintf(nnn);printf(ttn);printf(tt|(1) 查 询|n);printf(tt| |n);printf(tt|(2) 存 款|n);n);printf(tt 消 费n);printf(tt| |n);printf(tt|(4) 修改密码ln);printf(tt| |n);printf(tt|(5)返回主菜单ln);printf(tt| |n);printf(nntt Choice your number(1-5):bb);scanf(%d

35、,&v);if(v5)w4=1;getchar();else w4=0;while(w4=1);switch(v)case 1:stat_one(k);break;case 2:deposit(k);break;case 3:fetch(k);break;case 4:change(k);break;case 5:menu();void stat_one(int k)printf(nntt* 操作功!*);print_one(k);menu1(k);void deposit(int k)float a=0.00;printf(nntt 请 输 入 存 款 金额:bbbbbbbbbbb);sca

36、nf(%f,&a);cardk.account+=a;printf(nntt* 存款成功!*);print_one(k);add();menu1(k);void fetch(int k)/* 消费 */float b=0.00;printf(nntt 请 输 入 消 费 金额:bbbbbbbbbbb);scanf(%f,&b);if(bcardk.account)printf(nntt* 余 额 不足!*);elsecardk.account-=b;cardk.integal=b;printf(nntt* 谢顾!*);print_one(k);add();menul(k);void change(int k)char a8,b8;printf(nntt 请 输码:bbbbbbb);scanf(s,a);printf(ntt 请再次码:bbbbbbb);/*修改密码*/入新六位数密输入新六位数密scanf(%s,b);if(strcmp(a,b)=0)printf(nntt* 密 码 修 改 成 功!*);add();elseprintf(nntt两次密码输入不一致,密码修改失败!);menul(k);void browse()int i;if(n=0)printf(nntt* 无 记录, 请先 制 卡!*);elseprintf(nntt*

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号