已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
黄河科技学院毕业设计说明书 第 I 页 网上书店系统的设计毕网上书店系统的设计毕 业论文业论文 目 录 1 绪论 1 1 1 选题的背景和意义 1 1 2 开发语言的选取 1 1 3 论文主要内容及组织结构 3 2 主要开发工具和技术简介 4 2 1 基于 B S 的体系结构 4 2 2 MICROSOFT VISUAL STUDIO 2005 简介 4 2 3 基于 WEB系统的三层结构开发模型 5 2 4 ADO NET 简介 7 2 5 本章小结 8 3 需求分析 9 3 1 系统可行性分析 9 3 2 系统功能概述 9 3 3 系统设计目标 10 3 4 设备条件 10 3 5 本章小结 10 4 系统概要设计 11 4 1 系统的结构设计 11 黄河科技学院毕业设计说明书 第 II 页 4 2 系统数据库设计 12 4 3 本章小结 16 5 详细设计 17 5 1 连接数据库 17 5 2 网站主页的设计 17 5 3 注册 登录和修改个人信息 18 5 3 1 用户注册 18 5 2 2 用户登录 22 5 2 3 修改个人信息 24 5 3 图书浏览 购物车及创建订单 24 5 3 1 图书浏览 24 5 3 2 购物车的实现 26 5 3 3 创建订单 31 5 4 后台管理系统的实现 33 5 4 1 添加新书 33 5 4 2 订单管理 34 5 4 3 报表的实现 37 5 5 本章小结 37 6 系统的运行测试 38 6 1 白盒测试法 38 6 2 软件测试的目的 39 结论 41 致谢 42 参考文献 43 附录 44 黄河科技学院毕业设计说明书 第 1 页 1 绪论 1 1 选题的背景和意义 2009 年 1 月 中国互联网络信息中心 CNNIC 发布了 第 23 次中国互联网发 展状况统计报告 数据显示 截止 2008 年 12 月 31 日 中国网民规模达到 2 98 亿人 普及率达到 22 6 超过全球平均水平 网民规模较 2007 年增长 8800 万人 年增长 率为 41 9 其中 宽带网民规模达到 2 7 亿人 占网民总体的 90 6 手机上网网民 规模达到 11760 万人 较 2007 年增长了 133 农村网民规模增长迅速 网民规模达 到 8460 万人 较 2007 年增长 60 8 增速远远超过城镇 35 6 在我国东中西部 地区中 西部省份网民增长最快 网民增速达到 52 远远超过中部 40 6 和东部 39 3 地区 受益于中国经济良好的发展形势和政府对农村互联网发展的重点扶持 农村互联网显现出良好的发展潜力 随着中国网民数量的快速增加 随着新农村建设 的大规模的展开 可以预测网上购物这一新兴的消费模式必将以其便宜的价格 不受 时空障碍的限制 快捷方便的操作等诸多优点越来越被人们所认可和接纳 鉴于上述 原因 选择用 NET framework 2 0 开发一个网上书店系统 为以后中国建设大型的电子 商务系统提供相关参考 应新农村建设的需求 为提高中国农村的文化生活质量 该 系统定位为一个网上书店系统 为中国的农民丰富业余生活提供一点帮助 1 2 开发语言的选取 目前在 Internet 上广泛使用的后台技术种类繁多 应用比较广泛的有 CGI ASP NET PHP JSP JavaServlet 等 比较以上各种技术的优缺点 选择一种最适合的开发 语言进行系统的开发设计 1 2 1 CGI 全称为 Common Gateway Interface CGI 就是公共网关接口 Common Gateway Interface 的缩写 它是最早被用来建 立动态网站的后台技术 这种技术可以使用各种语言来编写后台程序 例如 C C Java Pascal 等 但是目前在 CGI 中使用的最为广泛的是 Perl 语言 所以 狭义上所指的 CGI 程序一般都是指 Perl 程序 一般 CGI 程序的后缀都是 pl 或者 cgi 黄河科技学院毕业设计说明书 第 2 页 CGI 程序在运行的时候 首先是客户向服务器上的 CGI 程序发送一个请求 服务 器接收到客户的请求后 就会打开一个新的 Process 进程 来执行 CGI 程序 处理客 户的请求 CGI 程序最后将执行的结果 HTML 页面代码 传回给客户 由于 CGI 程序每响应一个客户就会打开一个新的进程 所以 当有多个用户同时 进行 CGI 请求的时候 服务器就会打开多个进程 这样就加重了服务器的负担 使服 务器的执行效率变得越来越低下 这也就是最近几年来随着各种新的后台技术的诞生 CGI 应用在 Internet 上越来越少的原因 CGI 方式不适合大访问量的应用 1 2 2 PHP 全称为 PHP Hypertext Preprocessor 首先 PHP 缺乏规模支持 其次 缺乏多层结构支持 对于大负荷站点 解决方 法只有一个 分布计算 数据库 应用逻辑层 表示逻辑层彼此分开 而且同层也可 以根据流量分开 组成二维阵列 而 PHP 则缺乏这种支持 还有如果在 PHP 中不使用 ODBC 而用其自带的数据库函数 这样的效率要比使用 ODBC 高 来连接数据库的 话 使用不同的数据库 PHP 的函数名不能统一 这样 使得程序的移植变得有些麻 烦 这就使得它不适合运用在电子商务中 1 2 3 JSP 全称为 Java Server Pages Servlet JSP 和 Servlet 要放在一起讲 是因为它们都是 Sun 公司的 J2EE Java 2 platform Enterprise Edition 应用体系中的一部分 由于 JSP Servlet 都是基于 Java 的 所以它们 也有 Java 语言的最大优点 平台无关性 也就是所谓的 一次编写 随处运行 WORA Write Once Run Anywhere 除了这个优点 JSP Servlet 的效率以及安全 性也是相当惊人的 但是 JSP Servlet 虽然在国内目前的应用并不广泛 1 2 4 ASP NET ASP NET 是用于构建 Web 应用程序的一个完整的框架 这个模型的主要特性之 一是选择编程语言的灵活性 ASP NET 可以使用脚本语言 如 VBscript Jscript Perlscript 和 Python 以及编译语言 如 VB C C Cobol Smalltalk 和 Lisp 新框架使用通用语言运行环境 CLR 先 将您语言的源代码编译成 Microsoft 中间语言代码 然后 CLR 执行这些代码 这个框架还提供真正的面向对象编程 OOP 并支持真正的继承 多态和封装 NET 类库根据特定的任务 例如 使用 XML 或图像处理 组织成可继承的类 黄河科技学院毕业设计说明书 第 3 页 除了编程语言和方法之外 数据库访问也是要着重关心的一个因素 当您用 ASP NET 编程时 可以用 ODBC 来集成数据库 ODBC 提供了一组一致的调用函数 来访问您的目标数据库 以上四者之中 ASP NET 的优势很明显 主要表现在它简洁的设计和实施 这是 面向对象的编程人员的梦想 语言灵活 并支持复杂的面向对象特性 在这种意义下 它真正能够与编程人员现有的技能进行互操作 ASP NET 的另一个优势是其开发环境 例如 开发人员可以使用 WebMatrix 一个社区支持的工具 Visual Studio NET 或 各种 Borland 工具 如 Delphi 和 C Builder 例如 Visual Studio 允许设置断点 跟踪代码段和查看调用堆栈 总的来说 ASP NET PHP J2EE 三者都有相当数量的支持者 而这三者也各有 所长 在开发过程中 我们应该根据实际的需要来使用最合适的技术 本系统采用使 用较为方便的 ASP NET 技术 一方面 ASP NET 技术比较成熟 使用较为方便 另一 方面 我也希望能从开发该系统的过程中 深入学习有关设计模式的东西 1 1 3 论文主要内容及组织结构 本文主要研究怎么样用 ASP NET 技术设计和实现一个网上书店系统 采用权限控 制思想对不同的用户进行不同的权限分配 因此 本文的主要内容包括如下三点 1 深入研究 ASP NET 三层结构的设计 2 分析组成网上书店系统的各个基本模块 给用户分配相应级别的权限 3 后台管理系统各主要功能的设计与实现 论文共分为六部分 1 介绍课题的相关背景和意义以及开发语言的选取 2 对主要的开发工具和开发技术进行详细的介绍 3 从系统的功能角度对系统的需求进行详细的分析 4 主要介绍了系统的组织结构以及系统数据库的详细描述 5 对各个级别用户的相应权限进行详细的代码描述 6 对构建的网上书店系统进行测试 黄河科技学院毕业设计说明书 第 4 页 2 主要开发工具和技术简介 2 1 基于 B S 的体系结构 在传统的两层 C S Client Server 模型中 客户端承担了过多的角色 而显得臃 肿 这种模型虽然部署比较容易 安全性较高 但是很难进行升级和改进 也不适合 分布式环境中的应用 为了满足电子商务系统中用户地域分散 以及不断升级和改进 系统以满足用户多样性需求 本系统采用了 B S Browse Server 开发模式进行开发 采用 Microsoft Visual studio 2005 作为集成开发环境 编程语言采用 C 用 Microsoft SQL Server 2005 进行数据库的创建 使用 ADO NET 实现页面与数据库之间的连接及 对数据库的操作 在 B S 体系结构系统中 用户通过浏览器向分布在网络上的许多服务器发出请求 服务器对浏览器的请求进行处理 将用户所需信息返回到浏览器 B S 结构又被称为瘦 客户端结构 客户端的主要任务是进行页面的显示 服务器将担负更多的工作 对数 据库的访问和应用程序的执行将在服务器上完成 浏览器发出请求 而其余如数据请 求 加工 结果返回以及动态网页生成等工作全部由 Web Server 完成 实际上 B S 体 系结构是把二层 C S 结构的事务处理逻辑模块从客户机的任务中分离出来 由 Web 服 务器单独组成一层来负担其任务 这样客户机的压力减轻了 把负荷分配给了 Web 服 务器 这种三层体系结构如图 2 1 所示 Browse 浏览器Web 服务器 数据库 图 2 1 B S 三层架构示意图 由于客户端和服务器的分离 可以让开发者把主要的精力放到业务逻辑的处理中 去 另外 这种三层结构在层与层之间相互独立 任何一层的改变不会影响其它层的 功能 2 2 2 Microsoft Visual Studio 2005 简介 Visual Studio 是微软公司推出的开发环境 是目前最流行的 Windows 平台应用 黄河科技学院毕业设计说明书 第 5 页 程序开发环境 Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和 网络应用程序 也可以用来创建网络服务 智能设备应用程序和 Office 插件 2005 年 微软发布了 Visual Studio 2005 NET 字眼从各种语言的名字中被抹去 但是这个版本的 Visual Studio 仍然还是面向 NET 框架的 版本 2 0 它同时也能开 发跨平台的应用程序 如开发使用微软操作系统的手机的程序等 总体来说是一个非 常庞大的软件 甚至包含代码测试功能 这个版本的 Visual Studio 包含有众多版本 分别面向不同的开发角色 同时还永久提供免费的 Visual Studio Express 版本 使用 Visual Studio 2005 专业开发人员能够 1 使用改进后的可视化设计工具 编程语言和代码编辑器 享受高效的开发环境 2 在统一的开发环境中 开发并调试多层次的服务器应用程序 3 使用集成的可视化数据库设计和报告工具 创建 SQL Server 2005 解决方案 4 使用 Visual Studio SDK 创建可以扩展 Visual Studio IDE 的工具 Microsoft 为单独工作或在小型团队中的专业开发人员提供了两种选择 Visual Studio 2005 Professional Edition 和用于 Microsoft Office 系统的 Visual Studio 2005 工具 每种版本都在标准版的特性上进行了扩展 包括用于远程服务程序开发和调试 SQL Server2005 开发的工具 以及完整的 没有限制的开发环境 3 2 3 基于 Web 系统的三层结构开发模型 所谓三层体系结构 是在客户端与数据库之间加入了一个中间层 也叫组件层 这里所说的三层体系 不是指物理上的三层 不是简单地放置三台机器就是三层体系 结构 也不仅仅有 B S 应用才是三层体系结构 三层是指逻辑上的三层 即使这三个 层放置到一台机器上 三层体系的应用程序将业务规则 数据访问 合法性校验等工 作放到了中间层进行处理 通常情况下 客户端不直接与数据库进行交互 而是通过 COM DCOM 通讯与中间层建立连接 再经由中间层与数据库进行交换 一般来说系统 大多分为三层 表示层 USL 业务逻辑层 BLL 数据访问层 DAL 当然也可能不叫这 几个名字 但是不管怎么说功能大体应该一样 三层结构如图 2 1 所示 表示层 主要表示 WEB 方式 也可以表示成 WINFORM 方式 WEB 方式也可以 表现成 aspx 如果逻辑层相当强大和完善 无论表现层如何定义和更改 逻辑层都能 黄河科技学院毕业设计说明书 第 6 页 完善地提供服务 其实 用户层就是就是用户界面 这个层面一般都是原始数据采集 以及数据最终的输出目标 这个就像一个商品的包装一样是给别人看的 跟业务逻辑 数据处理没多大关系 不参与逻辑运算数据处理 用户表示层 业务逻辑示层 数据访问层 数据库 图 2 1 Web 系统的三层结构 业务逻辑层 主要是针对具体的问题的操作 也可以理解成对数据层的操作 对数 据业务逻辑处理 如果说数据层是积木 那逻辑层就是对这些积木的搭建 具体的说 就是把你的代码中大量出现的组合成一个函数 以后当你需要使用这些代码时 直接 调用函数即可 比如 NET 中有大量连接数据库的代码 基本上都差不多 我们就可以 直接用一个用户控件来定义一下这样代码 以后当我们要连接数据库时 直接调用这 些函数就可以了 这些东西就可以叫做逻辑或者中间件 以后我们修改数据库的连接 代码时 直接修改这些用户控件就可以了 数据访问层 主要是对原始数据 数据库或者文本文件等存放数据的形式 的操 作层 而不是指原始数据 也就是说 是对数据的操作 而不是数据库 具体为业务 逻辑层或表示层提供数据服务 通过这种模型的建立 我们的应用系统具备了非常好的性能和可扩展性 将业务 组件和展示页面进行分离 一方面可以提高效率 另一方面也可以增加系统扩充的能 力 使我们的系统可以进行最快速度的业务扩展 以满足不同用户 不同阶段 各种 各样的业务需求 4 2 4 ADO NET 简介 黄河科技学院毕业设计说明书 第 7 页 ADO NET 的名称起源于 ADO ActiveX Data Objects 这是一个广泛的类组 用于 在以往的 Microsoft 技术中访问数据 之所以使用 ADO NET 名称 是因为 Microsoft 希望表明 这是在 NET 编程环境中优先使用的数据访问接口 它提供了平台互用性和可伸缩的数据访问 ADO NET 增强了对非连接编程模式 是支持 并支持 RICH XML 由于传送的数据都是 XML 格式的 因此任何能够读取 XML 格式的应用程序都可以进行数据处理 事实上 接受数据的组件不一定要是 ADO NET 组件 它可以是基于一个 Microsoft Visual Studio 的解决方案 也可以是任 何运行在其它平台上的任何应用程序 ADO NET 是一组用于和数据源进行交互的面向对象类库 通常情况下 数据源 是数据库 但它同样也能够是文本文件 Excel 表格或者 XML 文件 ADO NET 允许和不同类型的数据源以及数据库进行交互 然而并没有与此相关 的一系列类来完成这样的工作 因为不同的数据源采用不同的协议 所以对于不同的 数据源必须采用相应的协议 一些老式的数据源使用 ODBC 协议 许多新的数据源使 用 OleDb 协议 并且现在还不断出现更多的数据源 这些数据源都可以通过 NET 的 ADO NET 类库来进行连接 ADO NET 提供与数据源进行交互的相关的公共方法 但是对于不同的数据源采 用一组不同的类库 这些类库称为 Data Providers 并且通常是以与之交互的协议和数 据源的类型来命名的 表 1 列处了一些常见的 data providers 以及它们所使用的 API 前缀 和允许进行交互的数据源类型 5 ADO NET 是与数据源交互的 NET 技术 有许多的 Data Providers 它将允许与不 同的数据源交流 取决于它们所使用的协议或者数据库 然而无论使用什么样的 Data Provider 你将使用相似的对象与数据源进行交互 ADO NET 包含四个对象 分 别为 SqlConnection 对象 SqlDataReader 对象 DataSet 对象 SqlDataAdapter 对象 SqlConnection 对象管理与数据源的连接 SqlCommand 对象允许你与数据源交流并发 送命令给它 为了对进行快速的只 向前 地读取数据 使用 SqlDataReader 对象 2 5 本章小结 本章主要介绍了本课题系统开发中所需用到的关键技术 利用上述工具与技术可 以开发出一款网上书店系统 这几种技术的综合使用也能使系统在性能方面有较大的 黄河科技学院毕业设计说明书 第 8 页 优越性 黄河科技学院毕业设计说明书 第 9 页 3 需求分析 3 1 系统可行性分析 随着计算机技术的发展和网络人口的增加 网络世界也越来越广博 越来越丰富 电子商务已经成为网上的一股潮流 相信要不了太长有时间 顾客就可以在网络世界 上获得他们在现实世界上可以获得的所有商品和服务 可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程 实际上是一次大大简化系统分析和系统设计的过程 所以 进行可执行性的分析是非 常必要的 也是很重要的 经过最初的设计目标和进行的市场调查得出以下三点的可 行性分析 1 经济可行性 该系统只是作为毕业设计演示所用 仅是学术上的研究探讨 不 作为商业上的实际应用 另外虽然该系统的搭建需要 Microsoft Visual Studio 2005 集成 开发环境和 IIS 服务 加上 Microsoft SQL Server 2005 数据库 可以说运行环境十分的 复杂 设计到的开发工具也很多 但是由于这些开发工具都是免费的 因此经济上是 可行的 2 技术可行性 NET 框架技术已经非常成熟 在现实的开发中已经得到广泛 的应用 因此利用该项技术进行开发在技术上是可行的 3 法律可行性 该平台是作为毕业设计与商业无关 又因为是自主开发设计 不 会构成侵权 网上购物系统作为电子商务的一种实现形式 是受到国家政策鼓励和支 持的 因此本系统的设计在法律上是可行的 3 2 系统功能概述 本系统是一个因特网上销售图书的电子商务系统 图书销售公司可以通过该系统 销售自己的图书 图书的购买者可以通过该系统订购自己要买的相关书籍 消费者通过本系统的用户界面 可以浏览图书 查看每本图书的详细的信息 在 浏览图书的过程中 如果消费者对某本图书感兴趣 则可以将其添加到购物车 消费 者可以随时查看购物车的状况 并及时的更新 购物完毕后消费者需要结账 消费者 黄河科技学院毕业设计说明书 第 10 页 在浏览图书的过程中 若对某本图书印象比较深刻 可以发表评论 以供其它的购买 者参考 系统需要提供用户注册和登录的用户接口 此外 还需要向图书管理员提供维护 图书信息的用户接口 3 3 系统设计目标 网上书店系统主要是后台管理和前台操作 后台管理是管理员对本系统的维护 通过图书管理 图书添加 图书信息修改 图书的删除 用户管理 包括普通用户管 理与管理员管理 留言管理及评论管理等功能达到对网站的管理 前台操作是用户登 录到本网站 可以进行用户注册 通过网站进行图书搜索和发表评论 找到自己想要 买的图书 装入购物车 提交定单进行购买 在网上书店系统中系统用户要找到自己所需要图书不易 本系统遵循网上购物的 一般过程 提供图书查找功能和分类搜索功能 为用户找到自己所需要的图书提供方 便 3 4 设备条件 开发运行所需的软件 1 Microsoft Visual Studio 2005 2 Microsoft SQL Server 2005 3 IIS 5 1 4 Windows Server2000 以上版本 运行所需的硬件环境 CPU 奔腾 4 以上 内存 至少 512M 硬盘 至少 40G 显示器 VGA 以上的版本 3 5 本章小结 本章首先从系统的技术可行性 经济可行性 社会因素三个方面论证本系统的可 行性 然后从开发环境 系统性能及功能等方面对系统进行需求分析 确定需求之后 黄河科技学院毕业设计说明书 第 11 页 才能对系统进行整体功能设计 黄河科技学院毕业设计说明书 第 12 页 4 系统概要设计 4 1 系统的结构设计 本网上购物系统分为未注册用户 注册用户 和管理员等三个对象作为设计的根 据 具体的模块结构如图 4 1 所示 网上图书销售系统 未注册用户注册用户管理员 查找图书 浏览图书 查看新闻 浏览图书 查找图书 发表评论 发表留言 查看新闻 查看积分 修改信息 图书管理 评论管理 管理员管理 用户管理 新闻管理 订单管理 评论管理 免费注册 登录 购买图书 查看购物车 查看订单 报表与统计 图 4 1 网上购物系统模块 黄河科技学院毕业设计说明书 第 13 页 4 2 系统数据库设计 本系统用到了一个数据库 CK Bookshop 在数据库中含有九张表 这九张表构成了 整个系统设计的基础 因为数据库的设计成功与否关系到整个系统的设计的成败 一 个字段设计失误就会导致后面系统相关功能无法实现 需要回过头来重新对数据库进 行设计 白白浪费了许多的时间和精力 具体的数据库关系图如图 4 2 所示 图 4 2 CK Bookshop 数据库关系图 黄河科技学院毕业设计说明书 第 14 页 角色表 Role 用来存储角色的信息 如角色 ID 角色名称等 表的字段说明如表 4 1 所示 表表 4 14 1 RoleRole 表表 字段名数据类型字段说明键引用备注 RoleIDIntIDPK主键 自动增一 RoleNameVarchar 20 名称 用户表 Users 用来存储用户的信息 包括普通用户和管理员 如用户 ID 名称 真实姓名 性别 地址 电话 移动电话 电子邮件 积分等信息 表的字段说明如 表 4 2 所示 表表 4 24 2 UsersUsers 表表 字段名数据类型字段说明键引用备注 UserIDintIDPK主键 自动增一 UserNamevarchar 50 名称 Passwordvarchar 255 密码 RealNamevarchar 50 真实姓名 Addressvarchar 200 地址 Phonevarchar 20 电话 Mobilevarchar 20 移动电话 Emailvarchar 200 电子邮件 Starint积分 Sexvarchar 2 性别 RoleIDint角色 IDFK引用 Role 表的 RoleID 图书种类表 BookClass 用来存储图书种类的信息 如种类 ID 种类名称 表的字 段说明如表 4 3 所示 表表 4 34 3 BookClassBookClass 表表 字段名数据类型字段说明键引用备注 BookClassIDintIDPK主键 自动增一 黄河科技学院毕业设计说明书 第 15 页 BookClassNamevarchar 200 名称 图书表 Book 用来存储图书的信息 如图书 ID 名称 所属种类 供应商 销售 总量 折扣 作者 销售价格 图书简介 上架日期 图片等信息 表的字段说明如 表 4 4 所示 表表 4 44 4 BookBook 表表 字段名数据类型字段说明键引用备注 BookIDintIDPK主键 自动增一 BookNamevarchar 200 名称 BookClassIDint所属种类 IDFK引用 BookClass 表的 BookClassID Productvarchar 200 供应商 SellNumberint销售总量 percent1float折扣 Peoplevarchar 50 作者 OutPricemoney售价 JianJievarchar 255 图书简介 Picturevarchar MAX 图片 Datedatetime上架日期 图书评论表 BookComment 用来存储用户的评论信息 如评论标题 评论的内容 创建时间 评论所属商品的 ID 等 表的字段说明如表 4 5 所示 表表 4 54 5 BookCommentBookComment 表表 字段名数据类型字段说明键引用备注 BookCommentint评论 IDPK主键 自动增一 Desnvarchar 200 评论的标题 Bodytext评论的内容 Datedatetime创建的时间 BookIDint评论所属商品的 IDFK引用 Book 表的 BookID 字段 UserIDint发表评论的用户 ID 订单表 OrderForm 用来存储所有订单的数据 如订单 ID 订单商品的总数量 订 黄河科技学院毕业设计说明书 第 16 页 单的总费用 订单所属用户 ID 订单状态和订单创建日期等 表的字段说明如表 4 6 所示 订单子项表 OrderItem 用来存储订单子项的数据 如订单子项 ID 所属订单 ID 包含的商品 ID 商品的数量等 表的字段说明如表 4 7 所示 表表 4 64 6 OrderFormOrderForm 表表 字段名数据类型字段说明键引用备注 OrderFormIDint订单 IDPK主键 自动增一 UserIDint所属用户 ID TotalNumberint订单商品的总数量 TotalMoneyint订单总费用 OrderDatedatetime创建日期 statevarchar 5 订单状态 表表 4 74 7 OrdrItemOrdrItem 表表 字段名数据类型字段说明键引用备注 OrderItemIDint订单子项 IDPK主键 自动增一 BookIDint商品 IDFK引用 Book 表的 BookID OrderFormIDint订单 ID Numberint商品的数量 新闻表 News 用来存储新闻的数据 如新闻的名称 内容 发布时间等 表的字段 说明如表 4 8 所示 表表 4 84 8 NewsNews 表表 字段名数据类型字段说明键引用备注 NewsIDintIDPK主键 自动增一 Desnvarchar 200 标题 Bodytext内容 Datedatetime创建时间 留言表 LeaveWord 用来存储留言的数据 如留言的名称 内容 发布时间 发布 人等 表的字段说明如表 4 9 所示 上述九张表是整个网上图书销售系统正常运行所必须的后台数据库表 也是整个 黄河科技学院毕业设计说明书 第 17 页 系统设计的成败所在 在 Book 表中都设置了相应的外键字段 体现了面向对象设计中 的一对多关系 同时创建了 Comment User View Comment View LeaveWord View OrderItem Book View Vi ew 1 View 2 六个视图 便于留言显示 订单显示和后台各管理功能的实现 6 表表 4 94 9 LeaveWordLeaveWord 表表 字段名数据类型字段说明键引用备注 LeaveWordIDintIDPK主键 自动增一 Desnvarchar 200 标题 Bodytext内容 Datedatetime创建时间 UserIDint发表评论用户 ID BookIDint评论所属商品 IDFK引用 Book 表的 BookID 4 3 本章小结 本章详细列出了系统中的各个表以及表中的各个字段 通过分析各模块功能数据 库结构 基本上构略出了系统的逻辑结构与物理结构 并为编码设计阶段做了必要的 准备 黄河科技学院毕业设计说明书 第 18 页 5详细设计 5 1 连接数据库 数据库的连接为工程的全局性配置变量 因此它存放在工程配置文件 web config 中 并且放置在配置节中 具体的配置代码如下 同时定义 DB 类 保存为 DB class 文件 为页面访问数据库提供调用 定义类是 需导入 System Data SqlClient 等命名空间 DB 类中定义了 ConnectionString 方法 该 方法通过类 ConfigurationManager 从配置文件 web config 中获取数据库连接字符串 并 以 SqlConnection 类型返回该数据库连接字符串 7 方法 ConnectionString 的程序代码 如下 public static SqlConnection ConnectionString return new SqlConnection ConfigurationManager ConnectionStrings SQLCONNECTIONSTRING ConnectionString 5 2 网站主页的设计 网站的主页采用母版页进行设计 8 使网站的页面统一 结构合理 网站主页包括 登录 查找 注销等功能及分类浏览 购物车 网站各频道 免费注册等链接 并显 示登录用户的用户名 主页中分块显示网站中畅销图书 最新书评 站内新闻等频道 黄河科技学院毕业设计说明书 第 19 页 的最新信息 主页的设计如图 5 1 所示 图 5 1 网站主页 5 3 注册 登录和修改个人信息 用户要想能进入网上书店系统购买图书 首先必须在网页上注册 将自己的准确 信息填入相应栏中 提交成功后 系统中便有了用户的个人信息 用户每次进行购买 时必须事先登录 否则不能进行购买 如购买成功 网上书店运营商将根据用户在注 册时所填信息中的地址和收信人寄出邮件 当用户的个人信息改变时 请及时更新修 改 下面详细介绍注册 登录和修改等功能 5 3 1 用户注册 注册用户信息即注册新的用户到系统中 这一类用户重要是普通用户 即新注册 的用户的角色都为 普通用户 注册用户信息由页面 Register aspx 实现 它的代码隐 黄河科技学院毕业设计说明书 第 20 页 藏文件为 Register aspx cs 页面 Register aspx 的设计界面如图 5 2 所示 图 5 2 用户注册界面 单击页面 Register aspx 中的 确定 按钮 触发事件 Button1 Click object sender EventArgs e 把用户注册的信息提交到数据库中 并完成用户注册过程 事件的程序 代码如下 protected void Button1 Click object sender EventArgs e string sex string UserName Password RealName Address Phone Mobile Email int Star RoleID if RadioButtonList1 Items 0 Selected sex RadioButtonList1 Items 0 Text else 黄河科技学院毕业设计说明书 第 21 页 sex RadioButtonList1 Items 1 Text UserName this UserName Text 获取用户输入信息 Password this password Text RealName this RealName Text Address this Address Text Phone this Phone Text Mobile this Mobile Text Email this E mail Text Star 20 RoleID 2 string str1 select from Users where UserName UserName SqlConnection con1 DB ConnectionString con1 Open SqlCommand com1 new SqlCommand str1 con1 int count Convert ToInt32 com1 ExecuteScalar if count 0 判断用户名是否已经存在 ShowMessage 对不起 用户名已存在 请选用其他名字 this UserName Text else 插入用户信息 完成注册 string str insert into Users VALUES UserName Password RealName Address Phone Mobile Email Star sex RoleID SqlConnection con DB ConnectionString con Open 黄河科技学院毕业设计说明书 第 22 页 SqlCommand com new SqlCommand str con int count4 Convert ToInt32 com ExecuteNonQuery con Close if count4 0 SqlConnection con2 DB ConnectionString con2 Open string str2 select from Users where UserName UserName AND Password Password SqlCommand com2 new SqlCommand str2 con2 SqlDataReader dr com2 ExecuteReader if dr Read 填充用户信息到Session Session UserID dr UserID Session UserName dr UserName Session Star dr Star Session RoleID dr RoleID con2 Close Response Write alert 恭喜您 成功注册成为 ck Bookshop会员 location Bookshop Default aspx else Response Write alert 恭喜您 成功注册成为 ck Bookshop会员 但由于程序出错 请重新登录 location Bookshop Desktop Default aspx 黄河科技学院毕业设计说明书 第 23 页 else Response Write alert 对不起 注册失败 5 2 2 用户登录 用户登录由用户控件 Login ascx 实现 它的代码隐藏文件为 Login ascx cs 同时 首页也提供登录功能 用户可以通过两处之一页面登录网上书店 页面 Login ascx 的 设计界面如图 5 3 所示 图 5 3 用户登录界面 点击 登录 按钮触发事件 Button ok Click object sender EventArgs e 把用户登 录信息提交到服务器 查找数据库判断用户是否有权限登录及用户角色 如为普通用 户则跳转到网站首页 如为管理员则登录到后台管理系统 事件 Button ok Click object sender EventArgs e 的程序代码如下 protected void Button ok Click object sender EventArgs e 登录 if TextBox1 Text null TextBox1 Text TextBox1 Text Length 0 判断输入是格式否正确 ShowMessage 用户名为空 请输入用户名 黄河科技学院毕业设计说明书 第 24 页 return if TextBox2 Text null TextBox2 Text TextBox2 Text Length 0 ShowMessage 用户密码为空 请输入用户密码 return string UserName Password UserName this TextBox1 Text Password this TextBox2 Text string str1 select from Users where UserName UserName AND Password Password SqlConnection con DB ConnectionString con Open SqlCommand com new SqlCommand str1 con SqlDataReader dr com ExecuteReader if dr Read 登录成功后将用户信息添人Session中 Session UserID dr UserID Session UserName dr UserName Session Star dr Star Session RoleID dr RoleID if Convert ToInt32 Session RoleID 1 不同角色进入不同页面 Page Response Redirect Admin AdminWelcome aspx else 黄河科技学院毕业设计说明书 第 25 页 Page Response Redirect Default aspx else ShowMessage 用户名或密码错误 请重新输入 TextBox1 Text TextBox2 Text con Close 5 2 3 修改个人信息 修改个人信息由页面 Usercenter aspx 实现 它的代码隐藏文件为 Usercenter aspx cs 用户可在次页面及时的更新自己的信息 同时也可以查看创建的 订单的状态 是否已经寄出 5 3 图书浏览 购物车及创建订单 图书浏览 购物车及创建订单是网上书店最主要的部分 也是在网上书店购买图 书的用户所必须执行的步骤 在浏览图书的同时 系统还提供用户发表对图书的评论 发表留言等功能 下面介绍用户购买图书过程中的各个功能 5 3 1 图书浏览 图书浏览由页面 newbook aspx 实现 它的代码隐藏文件为 newbook aspx cs 用户 可以在此页面中根据图书种类浏览所需要的图书的信息 并且提供购买功能和查看具 体信息的连接 页面 newbook aspx 的设计界面如图 5 4 所示 页面 newbook aspx 初始化时 首先绑定数据源 绑定数据源的功能由函数 dlBind 实 现 函数 dlBind 的程序代码如下 public void dlBind 黄河科技学院毕业设计说明书 第 26 页 int curpage Convert ToInt32 this Label1 Text PagedDataSource ps new PagedDataSource sqlcon DB ConnectionString sqlcon Open SqlDataAdapter MyAdapter new SqlDataAdapter sqlstr sqlcon DataSet ds new DataSet MyAdapter Fill ds Book ps DataSource ds Tables Book DefaultView ps AllowPaging true 是否可以分页 ps PageSize 5 显示的数量 ps CurrentPageIndex curpage 1 取得当前页的页码 this LinkButton1 Enabled true this LinkButton2 Enabled true this LinkButton3 Enabled true this LinkButton4 Enabled true if curpage 1 this LinkButton1 Enabled false 不显示第一页按钮 this LinkButton2 Enabled false 不显示上一页按钮 if curpage ps PageCount this LinkButton3 Enabled false 不显示下一页 this LinkButton4 Enabled false 不显示最后一页 this Label2 Text Convert ToString ps PageCount this DataList1 DataSource ps this DataList1 DataKeyField BookID 黄河科技学院毕业设计说明书 第 27 页 this DataList1 DataBind sqlcon Close 图 5 4 图书浏览界面 5 3 2 购物车的实现 当用户在页面 newbook aspx 单击 立即购买 就可以将该图书添加进购物车 9 该按钮触发事件 protected void DataList1 ItemCommand object source DataListCommandEventArgs e 在该事件中判断事件名是否为 AddToBus 如果是 则 执行添加进购物车功能 该功能通过 Session 内置对象和 Hashtable 实现 事件 protected void DataList1 ItemCommand object source DataListCommandEventArgs e 的程 黄河科技学院毕业设计说明书 第 28 页 序代码如下 protected void DataList1 ItemCommand object source DataListCommandEventArgs e 加入购物车 if e CommandName AddToBus string BookID this DataList1 DataKeys e Item ItemIndex ToString if Session bus null System Collections Hashtable ht new Hashtable ht Add BookID 1 Session bus ht else System Collections Hashtable ht Hashtable Session bus if ht BookID null ht BookID 1 else ht BookID int ht BookID 1 Session bus ht 购物车添加完毕 用户即
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程质量检测与验收标准方案
- 2026年江阴市长自电气有限公司介绍企业发展分析报告模板
- 企业内部控制自查报告编制范本
- 2026年中国石棉密封材料行业市场规模及投资前景预测分析报告
- 公路工程质量检查流程标准
- 2026年中国结巾行业市场规模及投资前景预测分析报告
- 2026年中国浆粥泵行业市场前景预测及投资价值评估分析报告
- 法院财务人员工作心得及案例分享
- 质量管理经理岗位能力模型解析
- 窗帘采购供应合同标准范本
- 危险化学品法律法规培训
- 梦幻丛林教学课件
- 邮政银行校招笔试题目及答案
- 雪糕生产车间管理制度
- 2025年中国节能环保集团有限公司招聘笔试参考题库含答案解析
- 2025年中国邮政联合校园招聘高频重点提升(共500题)附带答案详解
- 小学生珍惜时间主题课件
- 昭苏课件教学课件
- 让问候温暖人心国旗下讲话
- 胃出血检查报告图片
- 国家安全教育高教-第六章坚持以经济安全为基础
评论
0/150
提交评论