《Linux操作系统课程设计报告购物管理系统》由会员分享,可在线阅读,更多相关《Linux操作系统课程设计报告购物管理系统(29页珍藏版)》请在金锄头文库上搜索。
1、河南城建学院Linux操作系统课程设计报告题目:购物管理系统 姓 名: 齐 超 学 号: 061408139 班 级: 0614081班 指导老师:邵国金、杨斌、魏新红 专 业: 计算机科学与技术 2011年 09 月 09 日前 言 随着Internet国际互联网的发展,越来越多的企业开始建造自己的网站。基于Internet的信息服务,商务服务已经成为现代企业一项不可缺少的内容。很多企业都已不满足于建立一个简单的仅仅能够发布信息的静态网站。现代企业需要的是一个功能强大的,能提供完善的电子商务服务的动态商务网站。目 录系统目的随着时代的发展,信息技术、Internet/Intranet技术、数
2、据库技术的不断发展完善,网络进程的加快,传统的购物方式也越来越不能满足人们快节奏的生活需求,使得企业的IT部门已经认识到Internet的优势,电子商务就是在这样一个背景下产生发展起来的。伴随着电子商务技术的不断成熟,电子商务的功能也越来越强大,注册用户可以在网上搜索购买到自己想要的各种商品,初步让人们体会到了足不出户,便可随意购物的快感。这次的设计就正是一个电子商务系统的开发-网上购物系统。设计说明本系统是一个中小型的电子商务系统-网上购物系统,可以为各类用户提供方便的在线购物环境,符合目前国内流行的电子商务模式。用户可以在系统中实现验证、浏览商品、搜索查询商品、下定单、处理定单等功能;系统
3、的组成有以下几个子系统组成:1. 主页,显示欢迎界面,提供近期的商品。3. 查询系统,通过商品类别、名称来查询是否有自己需要的商品。4. 购物车,处理订购并显示想要订购的商品。5. 用户身份验证系统。6. 用户资金验证系统。系统结构简介l 用户可以浏览网站l 验证用户身份l 提供搜索引擎,使用户能够按特定的条件对所需商品进行搜索l 用户下定单购买商品l 用户处理定单l 用户资金验证l 用户查看定单处理步骤系统运行环境配置操作系统:Windows XP,Microsoft SQL server,linux 操作系统。CPU:没有很高的要求,只要能够顺利运行Windows系列操作系统就可以了。内存
4、:最低配置32MB,建议使用64MB以上内存,如果使用Windows 2000或Windows XP建议使用128MB以上内存。硬盘空间:至少需要50MB以上的硬盘空间来安装所需的组件。系统数据库介绍服务器方数据库表结构: 服务器商品表:商品号,端口号,单价,数量。 处理记录:端口号,流水账号,成功与否。 消费表:消费表编号,密码,金额。中间件第三方表: 端口表:端口号,地址信息。 消费记录表:端口号,流水账号,消费商品号,购买数量,消费编号。客户端表: 客户商品表:商品号,商品名称,数量,单价。 消费表:端口号,流水账号,消费品号,购买数量,消费编号。模块设计概述网上商品系统的主要体系结构包
5、括: 数据服务器 linux 操作系统平台 客户端购物系统流程图:用户模块的程序流图:用户浏览商品选定商品放入购物车是否购买确认购买订单详情商品信息否否否否是是是用户第三方中间件流程图:请求消费判定消费卡购买信息中间件记录数据传入服务器判断资金是否足够1 处理大中资金数据2 处理服务器商品数量3 发出发货信息1. 客户端商品数量减少2. 出货时间是否继续交易退 出退 出报 错!信息无法购买报 错!报 错!用户NNNNNYYYYYNY给中间件传输系统其它功(1) 用户验证用户一旦成为本网站的会员后,即可在登陆页面中登陆,用户只要输入自己的用户名和密码即可实现登陆。这里有ASP函数对用户名和密码进
6、行判断,以此来保证用户的合法性为了能更方便地使用网站的各项功能,用户登录也是必不可少的。当用户登录以后,便可进行查阅/更改自己的个人资料、修改/处理个人定单等操作。(2) 购物车当用户选好自己想要的商品后可把商品放入购物车中,购物车将自动产生相应的定单。当然,用户也可以从购物车里删除掉选好的商品,而相应定单的也会删除。(3) 用户资金验证程序代码数据库程序代码:#include #include #include #include #include #include #include #include #define rec_length20void strsplit(char *,char
7、*,char );main(int argc, char *argv )/1 main struct sockaddr_in sin; struct servent *sp; int s,ns,pid;chard=|,tmp1000,buff500,cmd500;char *service,*log=svr.log;/chars=1234|567|7|90|abcd|efghijklmnop|;char*str;char*v100,*h500;inti,j,recs,flds,err_code,c,rd_l,wr_l;char *sat=OKOKOKOK,E_DBinit,E_DBconn,E
8、_DBqry ,E_DBstor,E_DBnDAT,E_TCPsvr,E_TCPnam,E_TCPsoc,E_TCPcon,E_TCPsnd,E_TCPrcv,E_TCPbnd,E_TCPlsn,E_TCPacc;/declare structure and vars.MYSQLmysql;MYSQL_RES*result;MYSQL_ROWrow;if(argc!=1) service=argv1;else/2fprintf(stderr,NO service assigned!nUsage:n);fprintf(stderr,t%s server_name!n,argv0);fprintf
9、(stderr,Note: svr_name is defined in file /etc/servicesn);exit(-1);/2/sprintf(buf,touch %s,log);system(buf);/ touch or create logif(rd_l=open(log,O_WRONLY|O_CREAT|O_APPEND,0644)=-1)fprintf(stderr,Log file %s open error!an,log);exit(-1);close(rd_l);for(i=0;is_port; if(bind(s,&sin,sizeof(sin)=-1)/2fpr
10、intf(stderr,Error: bind);err_code=13;goto end_1;/close(s); exit(-6);/2 if(listen(s,5)=-1)/2fprintf(stderr,Error: listen);err_code=14;goto end_1;/close(s); exit(-6);/2 while(1)/2 while fprintf(stderr,nttt Now wait connect .n);if(ns=accept(s,0,0)=-1) / wait a connection /3fprintf(stderr,error: accept); continue;/err_code=14;goto end_1;/3err_code=0;if(pid=fork()=-1) /conneted, and then create child proc/3fprintf(stderr,server: fork error!);close(s); exit(-1);