网上购物系统毕业论文_第1页
网上购物系统毕业论文_第2页
网上购物系统毕业论文_第3页
网上购物系统毕业论文_第4页
网上购物系统毕业论文_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、xx工业大学软 件 开 发 技 术 报 告课题名称简单网上书店系统的设计与实现学 院计 算 机专业班级计算机科学与技术 组 长 成 员 摘 要 21世纪以来,人类经济高速发展,人们的生活发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。为了让消费者网上购物过程变得简单、方便、安全、快捷,网上购物成了一种新型而热门的购物方式。而网上书店的出现,更是满足了那些对书有渴望的朋友们。让他们足不出户便能购得自己心仪的好书。简单网上书店系统是一种具有交互功能的商业信息系统,它在网络上建立一个虚拟的购物商城,使购物过程变得轻松、快捷、方便。 简单网上书店系统实际上是一个b/s结构的信

2、息系统,目前开发这种系统用到的主要开发工具有:asp、jsp、php等,用到的数据库主要是一些流行的大型数据库,如oracle,sql server,mysql等,我们开发该系统用到的开发工具为jsp,数据库使用的是mysql。 本系统实现了用户在线注册、定购商品、浏览商品、查询商品信息等操作。关键字:网上书店,b/s,jsp,方便目录1绪 论11.1 概述11.1.1 简单网上书店系统的构建1.2 开发环境与工具介绍11.2.1 myeclipse、tomcat6、mysql11.2.2 html语言11.2.3 jsp技术12可行性研究22.1 技术可行性22.2 经济可行性22.3 操作

3、可行性23系统需求分析33.1 用户需求分析33.2 系统e-r图34系统设计44.1 数据库逻辑结构设计4 4.1.1 逻辑设计规范 4.1.2 e-r图与关系模式的转换 4.1.3 逻辑结构表4.2 功能模块图及分模块功能描述44.2.1 系统的功能模块图44.2.2 系统功能模块简介45系统实施55.1 建立数据库55.2 数据库连接55.3 主要模块实施55.3.1 登录模块的开发55.3.2 注册模块的开发55.3.3 顾客浏览图书模块的开发55.3.4 搜索图书模块的开发55.3.5 图书分类显示模块的开发55.3.6购物车管理模块的开发55.3.7 生成订单模块的开发55.3.8

4、 订单管理模块的开发55.3.9 图书收藏模块的开发55.3.10 用户信息模块模块的开发55.4 系统测试55.4.1 软件测试的对象55.4.2 软件测试的结果56系统说明66.1 开发环境66.2 系统安装与配置6总 结7参考文献81 绪 论1.1 概述简单网上书店系统实际上是一个b/s结构的信息系统,由java语言实现。在jdk环境下,我们采用myclipse开发软件,软件设计为mvc结构。模型层是进行数据库访问,并且封装对象,这一层中也存放在访问数据库取出信息封装成对象的类也就是实体类的信息,我们使用jdbc实现这一层的功能;控制层用来控制请求的响应和调用写好的相应的访问数据库的方法

5、,我们现在用servlet来实现这一层,并使用反射机制按照当前请求选择不同的业务;表现层用来显示数据和收集必要数据,我们现在用jsp来实现这一层,且通过javascript 验证收集的数据是否正确。数据库和服务器我们使用的是mysql与tomcat。1.2 开发环境与工具介绍myeclipse:企业级工作平台(myeclipse enterprise workbench ,简称myeclipse)利用它我们可以在数据库和javaee的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的javaee集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持html, st

6、ruts, jsp, css, javascript, sql, hibernate。tomcat6.0:tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试jsp 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好apache 服务器,可利用它响应对html 页面的访问请求。实际上tomcat 部分是apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与apache独立的进程单独运行。mysql:mysql是一个小型关系型数据库管理系统,mysql是一种关联数据库管理系统,关联数据库将数

7、据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。1.2.1 html简介html(hypertext markup language),是用于描述网页文档的一种标记语言。html是一种规范,一种标准,它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容(如:文字如何处理,画面如何安排,图片如何显示等)。浏览器按顺序阅读网页文件,然后根据标记符解释和显示其标记的内容,对书写出错的标记将不指出其错误,且不停止其解释执行过程,编制者只能通过显示效果来分析出错原因和出错部位。但需要注

8、意的是,对于不同的浏览器,对同一标记符可能会有不完全相同的解释,因而可能会有不同的显示效果。html之所以称为超文本标记语言,是因为文本中包含了所谓“超级链接”点。所谓超级链接,就是一种url指针,通过激活(点击)它,可使浏览器方便地获取新的网页。这也是html获得广泛应用的最重要的原因之一。 1.2.2 jsp技术jsp技术使用java编程语言编写类xml的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。jsp将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于web的应用程序的开发变得迅

9、速和容易。web服务器在遇到访问jsp网页的请求时,首先执行其中的程序段,然后将执行结果连同jsp文件中的html代码一起返回给客户。插入的java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。jsp与java servlet一样,是在服务器端执行的,通常返回给客户端的就是一个html文本,因此客户端只要有浏览器就能浏览。jsp的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是jsp1.2规范,jsp2.0规范的征求意见稿也已出台。jsp页面由html代码和嵌入其中的java代码所组成。服务器在页面被客户端请求以后对这些java代码进行

10、处理,然后将生成的html页面返回给客户端的浏览器。java servlet 是jsp的技术基础,而且大型的web应用程序的开发需要java servlet和jsp配合才能完成。jsp具备了java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。自jsp推出后,众多大公司都支持jsp技术的服务器,如ibm、oracle、bea公司等,所以jsp迅速成为商业应用的服务器端言。 2 可行性研究2.1 技术可行性本系统仅需要一台装有office软件的计算机即可,对机器本身没有太高的要求,一般当前学校或个人电脑完全可满足要求。对于软件技术要求,现在的程序设计语言已非

11、常成熟,要运用html样式,图形图象制作工具来制作生动活泼的网页及美观的图形文件或动画文件。2.2 经济可行性 由于本系统是为学生学习使用的系统,装上该应用软件,即可使用系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力,物力。所带来的效益远远大于系统软件的开发成本。在经济上完全可行。2.3 操作可行性 界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可靠;统计准确;制表灵活;适应力强;容易扩充。3系统需求分析3.1 用户需求分析3.1.1 用户需求能够方便的浏览查询图书,方便的购买图书。3.1.2 系统功能需求根据用户对网上购物系统的需求,

12、我们设计了此方案,更方便、快捷的满足用户的购书需求。 3.2 系统e-r图密码用户名管理员管理信息销售管理用户管理查询账户管理 4系统设计4.1 数据库逻辑结构设计逻辑结构设计阶段的任务是将概念结构设计阶段所得到的概念模型转换为具体dbms所能支持的数据模型(即逻辑结构),并对其进行优化。4.1.1 逻辑设计规范数据库逻辑设计就是将e-r图转换成关系模型的过程,即将所有实体和关系转换成一系列的关系模式,转换过程中常见规则有:(1) 一个实体型转换成一个关系模式。(2) 一个一对一的关系模型可转换成一个独立的关系模式,也可与任意一端对应的关系模式合并。(3) 一个一对多的联系可以转换成一个独立的

13、关系模式,也可与多的那一端对应的关系模式合并。(4) 一个多对多的联系可以转换成一个关系模式。4.1.2 e-r图与关系模式的转换图书类:(id, 图书名,isbn号, 价格, 图片路径, 描述, 图书分类号, 库存量, 折扣, 出版社号, 作者名)用户类: (id, 用户名, 密码, 电子邮箱, 性别, 帐户余额, 积分, 注册时间,)订单类: (id, 用户号, 价格, 收货信息号, 支付方式号, 订单状态号, 订单日期, 送货方式号)出版社类: (id, 出版社名称, 出版社地址, 出版社电话)支付方式类: (id, 支付方式名)送货方式类: (id, 送货方式名)用户等级类: ( id

14、, 等级名称, 等级最低积分, 等级最高积分, 等级折扣)订单状态类: ( id, 订单状态名)订单详细类: (id, 对应订单号, 图书号, 购买数量)用户收藏类: ( id, 图书号, 用户号)收货信息表:(id, 用户号, 收货地址, 邮编, 收件人电话, 收件人姓名)评论类: (id, 评论内容, 图书号, 用户号, 评论日期)图书分类表: (id, 图书分类名)4.1.3 逻辑结构表本系统采用mysql作为数据库。在数据库中建立名为bookshop的数据库,其中包含有。下面是每个数据库表中的属性,包括属性列的名称、数据类型、长度、是否为空和备注说明等内容。图书信息表:名类型长度允许为

15、空?备注idbigint20否主键namevarchar20否pricedouble0否amountint11是discountdouble0是picvarchar50是press_idint11否外键descriptionvarchar1000是图书分类表:名类型长度允许为空?备注idint11否主键namevarchar20否评论表:名类型长度允许为空?备注idbigint20否主键contentvarchar200否book_idbigint20否外键user_idbigint20否外键comment_datedate0是收货地址表:名类型长度允许为空?备注idbigint20否主键us

16、er_idbigint20否外键addressvarchar100否postvarchar6否phonevarchar11否receivervarchar20否送货方式表:名类型长度允许为空?备注idint11否主键namevarchar30否收藏表:名类型长度允许为空?备注idbigint20否主键book_idbigint20否外键user_idbigint20否外键点单表:名类型长度允许为空?备注idbigint20否主键user_idbigint20否外键pricedouble0否contact_idbigint20否外键payment_idint11否外键status_idint11

17、否外键order_datedate0否delivery_idint11否外键点单详细表:名类型长度允许为空?备注idbigint20否主键order_idbigint20否外键book_idbigint20否外键amountint11否点单状态表:名类型长度允许为空?备注idint11否主键namevarchar10否付款方式表:名类型长度允许为空?备注idint11否主键namevarchar10否出版社信息表:名类型长度允许为空?备注idint11否主键namevarchar30否addressvarchar40否phonevarchar11否用户信息表:名类型长度允许为空?备注idbig

18、int20否主键usernamevarchar20否passwordvarchar12否emailvarchar20是sexvarchar1否balancedouble0是scoreint11否regist_datedate0是用户等级表:名类型长度允许为空?备注idint11否主键namevarchar10否score_lowint11否score_highint11否discountdouble0是4.2 功能模块图及分模块功能描述4.2.1 系统的功能模块图 网上商店用户管理员注册会员网上购物用户管理仓库管理销售管理商品管理商品搜索4.2.2 系统功能模块简介系统采用了敏捷开发的思想,对

19、整个系统分成了3个大模块:前台交易模块、数据库及持久层的设计、后台管理模块。各个模块又进行了一步的细分,如前台交易模块又分为查询、购买、收藏等;数据库采用了mysql,使得系统具有易用性、个性化、跨平台等特点;同时又保证交易数据的安全、稳定、快速和完整;使其运行得高速、安全、稳定。5系统实施5.1 建立数据库在mysql中创建数据库: create database ebookshop;5.2 数据库连接将连接数据库的代码封装在类中:public static connection getconnection() connection conn = null;string driverclas

20、sname = com.mysql.jdbc.driver;string url = jdbc:mysql:/localhost:3306/ebookshop;string user = 用户名;string password =密码 ;try class.forname(driverclassname);conn = drivermanager.getconnection(url, user, password); catch (exception e) e.printstacktrace();return conn;public static void close(connection c

21、onn) if (conn != null) try conn.close(); catch (sqlexception e) e.printstacktrace();5.3 主要模块实施5.3.1 登录模块的开发登录模块主要是实现用户的登录操作。登录模块的外部逻辑放在loginform.jsp中,整个流程如下所示:5.3.2 注册模块该模块主要提供一般读者的注册操作,在注册操作过程中涉及到用户名重复的判断,该功能由regist.jsp提供。在录入用户注册信息时,对用户填写的信息要进行一些判断,这些判断的原理都是利用一些正则表达式来对用户输入的信息进行过滤5.3.3 顾客浏览图书模块该模块的实

22、现较为简单,主要是通过调用jdbc查询数据库获取resultset对象,之后遍历这个对象,将需要的字段显示到页面即可。对数据库的查询也非常简单,主要的原理就是通过一条如下所示的sql语句来实现查询操作,需要注意的是用limit实现分页功能。5.3.4 搜索图书模块上面两图分别为按图书、作者来查询。该模块提供三种搜索方法使读者能够灵活的搜索到自己想要的书籍,分别是按书名搜索、按作者名搜索、按出版社搜索,同时在还提供了模糊匹配的功能。该模块通过询数据库获取resultset对象,之后遍历这个对象,在搜索页面显示即可。sql语句: select * from t_book where type li

23、ke %search% limit (page - 1) * 10 ,10;如上所示,搜索的条件type可以是图书的名称或者图书名称的一部分,也可以是图书的出版社或者作者名,这些搜索都实现了模糊匹配。5.3.5 图书分类显示模块的开发图书分类显示功能,根据图书的sortid找出同一类别的图书,显示出来。5.3.6 购物车管理模块的开发购物车管理主要实现读者添加图书到购物车或者是将图书从购物车中删除,购物车同时实现了图书总价的统计功能。用户可以直接修改购物车中已有图书的数量,确定修改后经一系列操作仍然跳转到当前页面,并将图书总价显示出来。 5.3.7生成订单模块的开发5.3.8订单管理模块的开发

24、5.3.9图书收藏模块的开发5.3.10用户信息模块的开发 5.4 系统测试5.4.1 软件测试的对象为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试、确认测试和系统测试。 (1)单元测试 单元测试集中在检查软件设计的最小单位模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。 (2)集成测试 集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。如一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看起来是可以接受的误差可能积累到不能接受的程度;全程数据结构可能有错误等。 (3)确认测试 确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已

温馨提示

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

评论

0/150

提交评论