网上购物系统项目开发总结报告
一.前言一.前言 在 Linux 环境下, 使用 GNU C 或 GNU C++, 在 UNIX/Linux make 开发工具的的管理和控制下,利用 UNIX/Linux Socket 库在网 络的底层进行开发设计。本次设计运用 c 语言为基础编程,同 时联系数据库的使用和有关 unix_socket 的使用,但这部分类 容对我们来说是相当生疏的,以前没有正式的学过。先在老师 的引导下学了解了基本类容。我们做的是购物系统根据设计的 要求必须要在完成通信功能的基础上,完成自己设计所要完成 的功能。整个设计的中心类容就是要在运用数据库的基础上完 成客户端和服务器的通信,所以我们一组的人先运用 c 语言完 成对基本的程序要求,然后再根据所要完成的功能重用的数据 库的类容创建数据库可所要的表。 设计过程中由于用到好多套接字的内容, 好多函数的运用都 很生疏,我们一组的人在一起商量外,还大量利用网络资源, 尤其是在运用一些数据库的函数进行编程的时候更是进度很 慢,在写程序的过程中还得像这怎么把数据库的内容在运行是 能起上作用,总之整个过程并不是像刚开始时想的那么简单。 目录目录 一设计时间及地点………………………………………………………一设计时间及地点……………………………………………………… 二、设计目的和要求………………………………………………………二、设计目的和要求………………………………………………………. . 三、设计题目和内容………………………………………………………三、设计题目和内容……………………………………………………… 四、设计方法和步骤……………………………………………………四、设计方法和步骤……………………………………………………. . 五五. .、流程图…………………………………………………、流程图………………………………………………… 六、设计成果的编制……………………………………六、设计成果的编制…………………………………… 七、程序代码七、程序代码 ……………………………………………………………………………………………………………… 八、心得体会……………………………………………………八、心得体会…………………………………………………… 一设计时间及地点一设计时间及地点 这次设计整个过程我们在都在院机房,从8 月 25 开始的设计,第一天我们先进行 总体大的框架的构想,想出有关购物系统所要完成的功能,在对所要写的程序进行整 体的划分,总基础整个过程所要设计学过的和要运用的刚了解的东西,大的思路出来 以后再对组中的成员进行工作分工,前两天我们所完成的主要的工作就是了解并能掌 握在进程之间的通信,这是整个设计最基础的东西,也是最最重要的地方。然后解下 来的时间就是对程序的构思和写就,因为在写程序的过程中要用到数据库的类容,所 以在程序写出一部分以后在今测试的都要建立相应的数据库。测试和调试出来很多的 问题,在老师和同学的帮助下最后都解决了。 二、设计目的和要求二、设计目的和要求 1、设计目的 这里的中间件是指交易型中间件。交易型中间件是指用在不同行业、不同部门间 的通讯和协议转换的软件, 在不同的行业、 不同的系统间提供通讯转发和协议转换的 桥梁作用。例如电子商务、银行代理业务软件等都是这种类型的软件。 本设计不是基 于 WEB 的,不需要很多与WEB 开发相关的知识,主要是利用UNIX 系统提供的 Socket 库在网络底层,开发交易型中间件。 本设计的目的是使参与设计者掌握利用软件工程的思想方法和TCP/IP 设计出用于 不同行业和部门间的通讯转发或协议转换软件—中间件, 尤其掌握这种设计的思想和 方法。 在很多场合中间件部分是必须的,因为在不同的行业的网络是不允许直通的。这 里有政策的因素,有制度的要求,也有技术的成份。 设计理念:设计一个项目,学会一个方法,做好一项工程。 2、设计要求 1)纪律要求 (1)严格遵循软件实习的有关安排,按时完成设计任务。 (2)严格遵守学校的纪律和机房的各项管理规定。 (3)严格请假制度,需请假时,必须经指导老师批准。 2)技术要求 按软件工程的思想和方法来设计这一项目,并把它作为一个工程来做。设计的每 一步都有要形成文档, “成品”出来以后要有使用说明书和测试报告。最后按院方统 一要求整理出软件实习“论文” ,并分别以电子和书面文档的形式上交。 因不是针对某个具体业务系统的,该系统的设计只是一个大的框架,但要求对实 际系统进行模拟,能针对实际系统更好。建议模拟移动公司的手机代收费系统建议模拟移动公司的手机代收费系统 。要 求本设计的三部分都要对所接收和发送的数据以文件形式留迹并同时在屏幕上显示。 客户端要求对接收到的返回数据进行正确格式的显示或打印。 服务器端要先建立模拟 用数据文件或数据库,这是服务的基础。 服务器数据库要求使用 Linux 提供的免费的 MySQL。开发时主要用到 C 访问 MySql 的接口程序 MySql C API。 该设计的三个部分都要设计出程序,并要在验收时进行演示。 3)具体要求 (1)客户端 客户端程序可命名为 client,要求带有两个命令行参数一个是服务(自己定义,定 义在/etc/services 中,比如 mysvr1 5678) ,另一个是目的主机(定义在/etc/hosts 内, 也可使用 DNS 来解析) ,缺省时为本机。 客户至少要实现如下功能:用户管理;查询;交易(交费,购物等) ;撤销;统计。 (2)中间件 中间件程序命名为 middleware,要带有三个参数,一个是服务器的服务(名字,与客 户端同) ,第二个作为请求的服务(自己定义,定义在/etc/services 中,要区别于客户 端,比如 mysvr2 5679) ,第三个为目的主机(定义在/etc/hosts 内) ,缺省时为本机。 中间件要完成与客户要求相符的功能: 是本地的本地处理,否则发往服务器方。具体地 是:接收客户方数据;组织服务器方所需数据;重组服务方返回数据,并返回给客户方。 (3)服务器 服务器程序可命名为 server,要求带有一个服务参数,与中间件的mysvr2 同。 服务器方程序要完成客户端或中间件提出的业务请求,并做好留迹工作。 (4)留迹或 log 留迹或 log 工作在客户端、中间件和服务器三方都要做, 以供统计或核对使用。 客户端 或中间件方可以使用文本文件或数据库,但在服务器方张须使用MySql 数据 三.流程图如下三.流程图如下 1.注册功能流程图 2.商品搜索流程图 注册入口 是 必选项为空 否 用户名有效? 是 2 次输入密码是否 否 密 码 长 度 符 合 要 是 E-mail 地址有 是 其 他 信 息 有 是 注册成功 否 否 否 否 是 否 继 续 搜 查看商品 是 开始搜索 输入条件 搜索结果 购物车 否 下订单 3.用户登录流程图 登录入口 否 查询用户是否存 在 是 核对密码是否 正确 是 取得用户名和密码 否 将 UserID 存入 session 中 登录成功 4.购物流程图 浏 览 商 品 未注册用户 已登录注册用 未登录注册用 注册 选 择 商 品 订