软件工程课程设计会员积分卡管理系统_第1页
软件工程课程设计会员积分卡管理系统_第2页
软件工程课程设计会员积分卡管理系统_第3页
软件工程课程设计会员积分卡管理系统_第4页
软件工程课程设计会员积分卡管理系统_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

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总 计

4、14六、参考资料1 张海藩. 软件工程导论. 北京:清华大学出版社,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. 详细设计

5、 124.1. 数据类型定义 124.2. 主要模块内部设计 134.2.1模块1设计 模块算法 流程图 伪代码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:操作人员管理,可为不同的操作人员开放不同的权限.操作人员间的数据流图: 2:会员卡类型管理,可设置多种会员卡类型,为不同类型的卡设置不同的优惠。会员积分卡的层次方框

8、图:会员积分卡铜牌会员卡(一次性消费够100元即可免费办理)金牌会员卡(一次性消费够400元即可免费办理)银牌会员卡(一次性消费够200元即可免费办理)享受8.5折优惠享受9.0折优惠享受9.5折优惠3:完善的会员卡管理,可对会员卡新增、修改和删除,增加会员卡的同时录入会员基本信息(如电话、生日等)。会员卡日常的管理的e-r图: 4:简单明了的刷卡增加积分界面,该界面一目了然,刷卡后,增加积分,功能比较灵活。会员卡使用的用例图:5:简单明了的退/换货减积分功能,该界面一目了然,刷卡后,输入退换货的商品名,输入减掉的积分,点“确定”即可,功能比较灵活。退/换货减积分的状态图:6:完善的报表统计功

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

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

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

12、库的组成对象以及对象之间的联系。会员卡类型表模型:银牌会员卡铜牌会员卡会员卡金牌会员卡会员身份证会员资料表模型:会员卡号会员生日会员姓名会员资料会员电话会员身份证会员地址退货表模型:退货单号商品id退货表退货时间退货数量反馈规则表模型:自动编号号商品编号型总积分反馈规则表3.2. 逻辑结构与物理结构逻辑结构: 通过以上模型到关系模型的转化,可以得到如下关系模式:会员资料管理实体集转换关系为: string cardnum; int cardid;string custname;string custidentity;string custphone;string custaddress;str

13、ing custbirthday;物理结构:建立会员客户资料(memberinfo)表:create table memberinfo (memberid int identity ,cardid int not null ,cardnum nvarchar(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,con

14、straint pk_memberinfo primary key (memberid, cardnum)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 iden

15、tity,stockid nvarchar(20) null,cardcount numeric 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)、会员卡

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

17、d20;char word8;int flag;float account;int integal;4.2. 主要模块内部设计会员资料管理模块;会员卡管理模块;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

18、.1.2流程图伪代码5实现与调试分析5.1实现环境前台使用c语言编写,后台使用数据库来管理数据。运行环境:microsoft visual c+ 6.0、sql server2005。5.2语言选择c语言和sql语言。5.3调试分析调试时没有发现此程序中有什么大问题,但是还欠缺点比较深入的功能,还有待完善。6测试分析6.1测试用例测试的方法一般有:白盒测试和黑盒测试两种。 合法等价类 非法等价类 功能 输入 预期结果 输入 预期结果 测试结果 模块 yang yang 录入数据 123456 成功保存 123456 已重复 失败 456123 456123 500 500 200

19、 200 312456建卡和 1 成功保存 321456 该号码 成功激活账号 fff 已存在 456123 321456 密码正确 312456 不能进入 密码不账户登录 456123 进入个人 123456 界面 正确请重 查询界面 新输入 6.2测试结果大致的测试结果如上几个图所示。6.3性能分析l 会员资料管理实现管理员对会员的资料的管理;l 会员卡管理管理实现在会员消费的时候对会员卡积分的管理。从以上测试可发现,本系统对简单的会员积分管理功能基本满足,但是由于深入点的功能则欠缺太多。因为技术上的因素,本系统还无法将信息存入数据库,所以,本系统还将继续完善,以满足真正的会员积分卡提出的

20、所有功能需求。7用户手册此次开发的会员积分卡管理系统比较简单,用户只需根据功能提示操作即可但是要进行个人信息查询时切记激活时的密码。总结会员积分卡管理系统是典型的信息管理系统 ,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。其主要任务是用计算机对会员各种信息进行日常管理,如查询、修改、增加、删除。本会员管理系统广泛适用于中、小型会员店。该系统可以帮助会员企业处理日常工作业务,规范管理工作和操作流程,是会员行业的得力助手。通过这次课程设计,我深深的认识到,如果仅仅只是运

21、用理论知识,是远远不够的。我们必须理论联系实际,才能很好的将软件工程、c语言、数据库这几门课程学好,并用于实际案例中,也学到了不少的知识,在做实验中也遇到了不少的困难,最后都在老师和同学的精心的指导下,解决了困难,也让我学到了许多解决问题的能力。同时,经过这次课程设计,我发觉自己的动手操作能力变强了,也为自己对以后的工作充满信心和希望打下了良好的基础。参考文献朱立华,王立柱 等编著.c语言课程设计. 人民邮电出版社,2009.9王珊 萨师煊 编著.数据库系统概论(第四版).高等教育出版社,2006.5张海藩 编著.软件工程. 清华大学出版社,2010.7#include#include /*调

22、用字符函数*/#include#include /*通用输入输出库*/#include#define m 1000void 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);void stat_one(int k);void print_one(int j);int

23、search(char h20);void search1();int n=0;struct credicard /*定义会员卡结构体*/int number;char name20;char id20;char word8;int flag;float account;int integal;cardm;void menu()int v,w1;doprintf(nnnn);printf(tt n);printf(tt| (1) 录 入 信 息 |n);printf(tt|-|n);printf(tt| (2) 建 卡 操 作 |n);printf(tt|-|n);printf(tt| (3)

24、 帐 号 激 活 |n);printf(tt|-|n);printf(tt| (4) 帐 户 登 陆 |n);printf(tt|-|n);printf(tt| (5) 报 表 操 作 |n);printf(tt|-|n);printf(tt| (6) 查 询 会 员 |n);printf(tt|-|n);printf(tt| (7) 退 出 |n);printf(tt|_|n);printf(nntt 请选择操作(1-7):bb);scanf(%d,&v);if(v7) printf(nntt*输 入 有 误 !*); w1=1;getchar();else w1=0;while(w1=1)

25、;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;printf(name : );scanf(%s,&);printf(id : ); scanf(%s,&cardn.id);printf(word : );scanf(

26、%s,&cardn.word);printf(account : );scanf(%f,&cardn.account);printf(integal : );scanf(%d,&egal);n+;add();menu();void main()printf(nnnnnnnnn); printf(tt*会员积分卡管理系统*n);printf(nnntt 按任意键进入.);getchar();menu();void made() /*建卡操作*/int i;char h20;doprintf(nnt请输入要申请的号码:bbbbbbb);scanf(%s,h);if(strlen(

27、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(,*);strcpy(cardn.id,h);strcpy(cardn.word,000000);cardn.flag=0;cardn.account=0.00;egal=0; printf(nnn

28、tt*制 卡 成 功 !*nn); print_one(n);n+; add();menu();void print_one(int j) /*显示消息*/ printf(n|-|-|-|-|); printf(n| name | id | 存款 | 积分 |); printf(n|-|-|-|-|); printf(n|%15s|%15s|%10.2f|%10d|, ,cardj.id,cardj.account,egal); printf(n|-|-|-|-|);void add() /*存款*/int i;file *fp;if(fp=fopen(s

29、core.txt,wb)=null)printf(tt can not open the file n);return;for(i=0;in;i+)if(fwrite(&cardi,sizeof(struct credicard),1,fp)!=1)printf(tt file write error n);return;fclose(fp);printf(nnntt*成功保存!*);void life() /*登陆*/int k=-1;char h20;if(n=0) printf(nntt*请 先 建 卡*n);elseprintf(nnt请输入卡号码:bbbbbbb);scanf(%s,

30、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;printf(输入卡号 : );scanf(%s,&f);for(i=0;in;i+)if(strcmp(cardi.id,f)=0)k=i

31、;print_one( k);m=0;break;elsem=1;if(m=1)printf(没有该卡号!n);menu();void huo(int k) /*激活操作*/char m20,p8;int x,w2;do printf(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请输入姓名:bbbbbbbbbbbbbbbbbbbb);scanf(%s,m);strcpy(cardk.n

32、ame,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=search(h);if(k=-1)printf(nnttt*该号码不存在!*n);elseif(cardk.

33、flag=0)printf(nntt*该卡还未激活,请先激活!*n);elsehedui(k);menu();void hedui(int k) /*验证核对*/int c=0,w3=0;char p8;do printf(nntt*请输入密码:bbbbbbb);scanf(%s,p); if(strcmp(cardk.word,p)!=0) printf(nntt*密码不正确,请重新输入!*n); c+; continue;elseprintf(nntt*密 码 正 确 !*n);w3=1; menu1(k);while(w3=0&c3);void menu1(int k) /*显示*/ int v,w4;doprintf(nnn);printf(tt n);printf(tt| (1) 查 询 |n);printf(tt|-|n);printf(tt| (2) 存 款 |n);printf(tt|-|n);printf(tt| (3) 消 费 |n);printf(tt|-|n);printf(tt| (4) 修 改 密 码 |n);printf(tt|-|n);printf(tt| (5) 返回主菜单 |n);printf(tt|_|n);printf(nntt ch

温馨提示

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

评论

0/150

提交评论