《网上书店生产实习报告.docx》由会员分享,可在线阅读,更多相关《网上书店生产实习报告.docx(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第40页 共40页学 号: 题目类型:实习报告 桂林理工大学GUILIN UNIVERSITY OF TECHNOLOGY生产实习(实习报告)题目: 网上书店 学 院: 专业(方向): 班 级: 学 生: 同组成员 : 指导教师: 2015年 1月 22日摘要随着科学技术的发展,网络在人们生活中的应用越来越广泛。人们越来越想在最短的时间内购买到自己所需的图书。但书目的繁多,给人们在繁忙的工作生活中的购书带来了很大的麻烦,于是网上购书便成了人们向往的事情。图书销售系统的开发为人们带来了很大的方便,使他们足不出户就可以轻轻松松地买到
2、自己想要的书,既省时又省力。有效地缩短了图书流通发行环节,将广大读者、图书、出版者、发行者紧密地结合在一起,大大提高了图书流通率。它有着经营成本低、库存是虚拟的、用户检索方便、地域限制少等特点。系统以JSP为主要制作工具,实现了用户注册、登陆、验证身份及书籍的预览查询、对书籍的购买通过购物车实现等功能。关键词电子商务网上书城管理信息系统Abstract With the development of science and technology, Internet is applied more and more widely in peoples lives. There is a grow
3、ing desire to purchase books which peoples possibly want to buy in the shortest time. However, a wide range of books brought a lot of troubles to people in the busy life. So book online has become a matter of people yearn for.The development of this system will make a lot of convenience for people,
4、so that they can buy books which they liked easily, both convenience and effective. The system effectively reduce the length of the book links the flow of distribution, it can be a large number of readers, books, publishers, distribution worked closely together, improving the flow rate of the book g
5、reatly. The system has many advantages such as low operating costs, virtual inventory, the user searches convenient, less geographical restrictions and so on.JSP in the system as the main tool what to achieve the user registration, login, authentication, book preview inquiries, through the shopping
6、cart in order to achieve the purchase of books. Key words Online bookstore MIS中文摘要英文摘要目录1 引言1.1项目背景1.2 国内外研究现状1.3 可行性研究2 任务概述2.1 系统开发的目标2.2 用户的特点3 系统需求分析3.1 对性能的规定 3.1.1 精度要求 3.1.2 时间性要求 3.1.3 灵活性要求 3.1.4 输入输出要求3.2 运行环境规定 3.2.1 设备要求 3.2.2 支持软件 3.2.3 接口要求 3.2.4 控制要求4 系统设计 4.1 总体设计 4.1.1 需求规定 4.1.2 基本
7、设计概念和处理流程 4.1.3 各模块结构设计 4.1.4 功能需求与程序的关系 4.2 接口设计 4.2.1 用户接口 4.2.2 外部接口 4.2.3 内部接口 4.3 系统数据库设计 4.4 系统出错处理设计5 系统实现6 系统测试与评价7 实习总结1、引言1.1 项目背景随着internet的普及和电子商务的兴起,网上图书销售是Internet电子商务在图书销售行业发展的必然结果,这种新型的图书销售形式,与传统利用书店进行销售的方式相比拥有许多优势:一是降低了销售成本;二是利用网络作为交易平台,改变传统的交易方式,使得交易活动不受空间和时间的限制;三是信息的传递更迅速灵活,新书信息上传
8、后,客户可以立即看到,交易马上可以从网上进行,从而大大提高了交易的效率。正是由于这些优势,网上图书销售才能得以迅速地发展。网上图书销售系统的主要功能是利用网站作为交易平台,将图书的一些基本信息以网站的形式发布到Internet中,客户可以通过Internet登录图书销售网站来查看售书信息并提交订单订购图书,实现在线交易。1.2 国内外研究现状1)、国外现状网上售书这是信息社会发展的必然要求。国际互联网的开通,为信息社会的飞速发展创造了条件。在美、日等信息化程度较高的国家和地区,网上图书销售发展速度迅猛。据InternetWorldStatS的统计,今天的互联网有17亿用户。而目前的全球人口为6
9、7亿,到2020年毫无疑问会有更多的人使用互联网。美国国家科学基金会预计,到那时互联网的用户数量将接近50亿。网民队伍的迅速扩充,无疑为网上售书的发展提供了巨大的市场空间。加上图书因其具有标识清晰、规格统一、特征容易描述、同种商品个体之间无差异等特性而能成为发展电子商务的最为理想的商品类型。因此,网上售书成为各国发展电子商务的首选目标,国际互联网开通后,各国电子商务网站很大一部分都是网上书店。只要网络发展没有停止,网上售书的发展就不会停止。2)、国内的研究现状近年来,随着计算机网络技术的飞速发展,网络技术应用已经相当普及,使得在线购买成为现实,各种各样的网上图书销售系统层出不穷,国内各大图书商
10、都在创建自己的计算机网上电子商务系统。随着科学技术的飞速发展,Internet这个昔日少数科学家接触和使用的科研工具已经成了普通百姓都可以触及的大众型媒体传播手段。1.3 可行性分析1)、社会可行性数据显示,自2009年至2011年中,消费者去超市和商场的人数趋于平稳,使用网购的消费者比例却在快速增长,2011年上半年增长速度环比上升6%。而网购用户的人群也在悄然发生着变化。报告显示,网购的重、中度消费人群增加,中度消费人群比例在2010年下半年开始首次超过50%。这一结论从淘宝网的数据中也得到印证。2011年,淘宝网年度消费金额在一万元以上的用户数量环比增长达82.8%,金额在一千至一万元之
11、间的环比增64.7%,年消费金额在一千元以内的用户仅增34%。与支出相对的,是网购人群的收入增幅却未能赶上花销的速度。报告指出,2011年上半年,我国网购人群家庭月收入增幅为5%,而花费增幅则达9%。在此发展趋势下,建立电子商务系统,不仅可以拓宽销售途径,还可以有效地节约销售成本。2)、技术可行性本系统采用的是JSP、Servlet和MySQL开发,Windows XP Professional操作系统,用Dreamweaver进行前台网页界面设计、采用JDBC方式与后台数据库进行连接,完成数据的添加、修改、删除、查询等功能。由于JSP、Servlet功能强大,而MySQL灵活易维护在开发方面
12、具有方便快捷、使用灵活的特点,以及目前的广泛实际应用,因此使用JSP、Servlet、MySQL是开发轻平台的最佳组合从而说明本系统在技术方面可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。3)、操作可行性目前,大多数计算机都能运行该系统,该系统的安装、调试、运行不会改变原计算机系统的设置和布局,并且系统界面简单,提示信息完整,由相关人员指导便能够方便的操作此软件。2、任务概述2.1 系统开发的目标管理员可以维护客户注册信息、维护图书信息、处订定单信息、网上售书。查看图书调查报告、游客可以在线注册为会员、
13、购书。本系统的设计目标将最终定位于完成以上所述的系统主要业务的基本模型上。2.2 用户的特点本系统的最终用户是图书管理员和读者,图书管理员需要进行用户的创建,修改和删除等工作,要求具备计算机知识,如权限管理等。读者是普通用户,具备一定的计算机操作知识即可。3、系统需求分析3.1 对性能的规定3.1.1 精度要求本系统要求输入的会员年龄为整数,买书的数量为整数,出生日期必须是合法的日期形式(如1990-08-01),身份证号码必须为数字。3.1.2 时间性要求(1)系统的更新处理时间应该在可接受的范围内; (2)系统的数据查询时间应该在可接受的范围内; (3)系统的数据统计时间应该在可接受的范围
14、内。3.1.3 灵活性要求1)操作方式上应该能够满足鼠标和键盘任意切换的需要; 2)能够支持Windows XP及以上运行环境; 3)留有与其他系统的接口。3.1.4 输入输出要求顶层图:用户管理员 书籍 评论、订单 订单 管理员、用户 用户 书籍 、订单 评论 帐号 帐号网上书店系统0层图:管理员查看订单1.1帐号管理删除订单1.2书籍管理删除评论 管理员帐号 书籍用户帐号 用户评论 用户订单添加订单发表评论查看书籍车注册帐号用户1层图:管理员 1.1.1删除用户1.2.3删除书籍1.1.2添改管理员1.1.3删除管理员1.2.1添加书籍1.2.2书籍分类用户帐号 管理员帐号 书籍 图书展示
15、信息3.2 运行环境规定3.2.1 设备要求CPU主频不低于2.0GHZ,内存容量不低于1024M,硬盘不低于500G。3.2.2 支持软件本系统支持的操作系统包括: Windows XP及以上操作系统。 本系统支持的数据库: MY SQL 本系统的开发工具:tomcat7.0,my eclipse 。在使用方面,操作人员需要懂得一定的计算机知识。3.2.3 接口要求使用通信协议TCP/IP。3.2.4 控制要求本系统前台根据会员验证模块来控制前台工作,若为会员,则可通过会员登录来选择前台的各项功能,若不是会员,则必须先注册会员,后台则根据管理员验证模块来控制后台工作,通过管理员的登录来管理书
16、的存储,和会员信息的存储以及购物单和总账目的输出。4、系统设计4.1.1 需求规定基本功能: a) 客户信息管理功能:客户注册、客户登录功能。 b) 图书分类显示功能:按图书的分类显示相应类别的所有图书的信息,显示信息包括:图书名称、作者、单价、图书简介以及图书对应的封面图片。 c) 图书订购功能:在图书显示界面中,客户可以选购图书,并指定选购的数量。d) 购物车功能:客户选购图书后能方便地查看购物车内的物品列表及相关的单价、 数量、图书名称、总价等信息;并能从购物车中删除选定物品的功能。 e) 图书信息管理功能:管理人员登录后能添加、删除、更改图书信息,其中包括:图书名、作者姓名、所属类别、
17、单价、图书的简介以及图书对应的封面图片。f) 图书类别管理功能:管理人员登陆后可以添加、删除、更改图书类别。g) 销售管理功能:管理人员登陆后可以查看用户所购买的书籍。附加功能:图书库存管理功能:能实时更新和显示各图书在库存数量,对零库存的图书,只能显示在客户界面,但客户不能订购4.1.2 基本设计概念和处理流程该网上书店应用程序包括以下几大模块: 用户管理模块注册/登录目录管理模块分类管理商品管理模块商品管理商品详情管理购物车管理模块设计购物车保存购物车信息生成购物车ID实现购物车访问功能处理顾客定单模块实现定单系统管理定单 留言板模块 留言板管理 针对不同用户显示不同的留言板整个项目结构如
18、下图所示:4.1.3 各模块结构设计1、用户管理模块用户管理模块注册登录 用户模块中的登录部分分为会员登陆和管理员登陆,管理员登陆页面会给控制登陆的servlet传回一个role的参数,servlet通过判断role是否为null来决定当用户名和密码正确时是否跳转到后台管理页面,当role为null时如果用户名和密码正确就会跳转到会员登录成功界面。2、目录管理模块目录管理主要有分类管理。分类管理有添加、修改和删除功能。管理员可以创建分类,对应选择分类,来创建商品目录。管理员可以将商品从某个分类中移除。功能描述:分类管理主要完成商品的一级分类,并对其进行添加、删除、修改等操作。如图所示:目录管理
19、模块分类管理增加修改删除分类管理的设计流程图:删除分类流程图:用户选择分类不执行任何操作提示错误信息执行删除语句提示成功信息单击删除按钮判断是否有商品3、商品管理模块商品管理主要有商品管理、商品详情管理。其中商品管理有添加、修改和删除功能,商品详情管理有商品详情修改功能。商品管理中管理员可以将商品关联到某个分类。商品管理模块修改增加删除获取商品4、购物车用户通过点击添加商品到购物车,当用户下定单时,用户的临时购物车就会与用户的账户关联,由于临时购物车也可以工作,因此用户在结账之前仍然无需提供任何额外信息,如用户登录或者创建一个新的用户。目前或许保存购物车的最好方法可能是为每个购物车生成一个唯一
20、的ID,采用全局唯一标识符来实现,然后以cookie和session数据的形式保存在用户的计算机中,这种方法的好处是即使用户的浏览器是禁用cookie的,系统程序也能够基于session数据正常工作。购物车模块清空购物车更新数量移除商品添加商品计算价格添加商品到购物车:用户添加商品获取购物车保存添加商品到购物车更改车中数量是否有此商品5、留言板模块留言板模块主要用于发表留言,未登录的用户看到的留言版可以查看所有留言但是不能编辑;已登陆的普通用户看到的留言板可以写新留言,并且可以修改和删除之前用户自己发的留言;管理员可以在后台管理查看所有留言并且删除任意用户的留言。4.1.4 功能需求与程序的关
21、系 程功能需 序求用户注册会员登录会员自助服务图书查询在线购书图书显示图书管理订单管理留言板管理用户注册会员登录会员自助服务图书查询在线购书图书显示图书管理订单管理留言板管理4.2 接口设计4.2.1 用户接口(1) 登入界面:由输入用户名、密码的文本框和登陆、注册按钮组成。(2) 购物车界面: 已购书籍信息显示区:用于显示选购书籍信息(名称,价格,购买数量); 数量编辑框:用于输入每种图书的数量; 提交按钮:确定购买下订单。(4) 管理员增加书籍界面: 信息编辑框区:输入书籍的信息。 提交按钮:把数据提交到数据库。 (5) 管理员修改书籍界面: 信息编辑框区:对已存在书籍的信息进行修改。 提
22、交按钮:把更新数据到数据库。 (6) 管理员删除书籍界面: 显示框:用于显示所有书的图书名、类别、出版社等信息。 删除按钮:每本书结尾都有一个删除按钮用于删除当条记录。4.2.2 外部接口a、硬件接口:由于我们使用的通信协议是TCP/IP,因此这里的硬件接口问题主要就是TCP/IP层中的网络接口层,他负责数据帧的发送和接收,帧是独立的网络信息传输单元。网络接口层将帧放在网上,或从网上把帧取下来。这就要求IP使用网络设备接口规范NDIS向网络接口层提交帧,并且IP支持广域网和本地网接口技术。在系统运行时要注意关闭那些容易受攻击和入侵的端口号,在能保证带宽的前提下仅开通系统运行所必须的端口。b、软
23、件接口:这里的接口问题主要就是怎样与sql数据库进行通信,以便对数据库进行读取和写入操作。开发中可能使用到的常用对象有以下几个: (1)连接对象(Connection):用来连接数据库。 (2)记录集对象(RecordSet):用来保存查询语句的返回结果。 (3)命令对象(Command):用来执行SQL语句或者SQL Server的存储过程。 (4)参数对象(Parameter):用来为存储过程或查询提供参数。4.2.3内部接口系统中的各模块之间的接口、调用关系,以及模块间的数据传递关系如下所示: 模块编号 模块名称 备注 GN1 会员登录 登录模块 GN2 管理员登录 登录模块 GN3 用
24、户注册 登录模块 GN4 添加书籍 书籍管理模块 GN5 修改书籍 书籍管理模块 GN6 查看书籍 书籍管理模块 GN7 删除书籍 书籍管理模块 GN8 订购书籍 购物车管理模块 GN9 删除订单 购物车管理模块 GN10 修改订购信息 购物车管理模块GN11 添加留言 留言板模块GN11 修改留言 留言板模块GN11 删除留言 留言板模块1)登录模块与书籍管理模块:管理员可以对数据库中的书籍进行增加、删除、修改等操作,这三种功能的权限仅局限于管理员,要进行操作需确保为管理员,调用登录模块验证用户以保证数据库的信息的正确、完整与安全。 2)登录模块与购物车管理模块:用户进入系统后可以查询书籍,
25、若要购物则需确保用户为本系统的会员,非会员可以注册,会员成功登录后将会员id储存于服务器中,购物过程将书籍id也储存于服务器中,当会员确认购买时,将会员id、书籍id和购买数量存于数据库中的shopcart表中,并更改该书籍的库存量。3) 登陆模块与留言板模块:用户没登陆时只能查看留言板的内容不能编辑;当用户登录后可以写新的留言,并且从session中取得当前登陆的用户名作为留言的作者,如果登陆的是会员,还可以在留言板中删除和更改自己发的留言;如果登陆的是管理员,还可以对所有留言进行操作。4.3 系统数据库设计网上书店的E-R图大致如下图所示:通过对于网上书店的需求分析,以及根据其他例子参考初
26、步设计出数据库各个表中的属性内容,数据库的具体设计将在数据库设计中设计出来。如下所示:1)、用户信息表(user):序号字段名称数据类型长度必填字段说明1id自动编号11-自动编号2name文本50是用户名(登录时)3email文本50是E-mail4password文本50是密码5role数字11-权限6relname文本50否真实姓名7age数字11否年龄8phone文本50否手机号9address文本50否地址10answer文本50否密码答案11registerTime日期/时间-注册时间2)、书籍信息表(book)序号字段名称数据类型长度必填字段说明1id自动编号-自动编号2name
27、文本50是书名3url文本50是封面路径4author文本50是作者5bookman文本50是出版社6price数字双精度是价格7categoryId数字50是分类8addTime日期/时间-添加日期9total数字11是添加数目10currentNum数字11是现有库存11introduction文本2000-书籍简介3)、书籍分类信息表(bookcategory)序号字段名称数据类型长度必填字段说明1id自动编号-分类id2name文本50是分类名4)、购物车信息表(shopcart)序号字段名称数据类型长度必填字段说明1id自动编号-自动编号2num数字11是购买数量3userId文本5
28、0是用户id编号4bookName文本50是购买书名5price数字11是书籍总价6bookID数字11是购买书籍id编号5)、留言板信息表(note)序号字段名称数据类型长度必填字段说明1id自动编号11是自动编号2title文本50是标题3author文本50是作者4content文本50是正文根据上述几个数据库表,通过PowerDisigner软件建立数据库的概念模型CDM和物理模型PDM。CDM如下图所示:PDM模型如下图所示:4.4 系统出错处理设计 信息出 错情况出错形式含义处理办法登陆出错用户名不存在。密码错误在此系统的数据库中不存在重新输入正确信息后,登录注册出错填写的注册信息
29、错误填写的注册信息不符合系统的要求重新输入注册信息,直到符合要求为止5、系统实现用户模块关键代码:用户模块持久层:添加用户功能:public boolean insertUser (User user) connection = DBManager.getConnection(); / 得到数据库连接StringBuffer sqlState = new StringBuffer();sqlState.append(INSERT INTO user(name,pass,role,);sqlState.append(realName,gender,age,phone,email,address,
30、registerTime);sqlState.append()VALUES(?,?,?,?,?,?,?,?,?,?);System.out.println(sqlState);try preState = connection.prepareStatement(sqlState.toString(); preState.setString(1, user.getName(); / 设置每个要插入的的属性preState.setString(2, user.getPass();preState.setInt(3, user.getRole();preState.setString(4, user
31、.getRealName();preState.setString(5, user.getGender();preState.setInt(6, user.getAge();preState.setString(7, user.getPhone();preState.setString(8, user.getEmail();preState.setString(9, user.getAddress();preState.setDate(10, user.getRegisterTime();preState.executeUpdate();return true; catch (SQLExcep
32、tion e) e.printStackTrace();return false; finally DBManager.closeAll(connection, preState, resultSet);查询用户功能:public ArrayList queryUser() connection = DBManager.getConnection();String sqlState = SELECT * FROM user;User user = new User();ArrayList arrayList = new ArrayList();try state = connection.cr
33、eateStatement();resultSet = state.executeQuery(sqlState); / 执行sql查询while (resultSet.next() user.setId(resultSet.getInt(id);user.setName(resultSet.getString(name);user.setPass(resultSet.getString(pass);user.setRole(resultSet.getInt(role);user.setRealName(resultSet.getString(realName);user.setAge(resu
34、ltSet.getInt(age);user.setGender(resultSet.getString(gender);user.setPhone(resultSet.getString(phone);user.setEmail(resultSet.getString(email);user.setAddress(resultSet.getString(address);user.setRegisterTime(resultSet.getDate(registerTime);arrayList.add(user);return arrayList; catch (SQLException e
35、) e.printStackTrace();return null; finally DBManager.closeAll(connection, state, resultSet);删除用户功能:public boolean deleteUser(int id) try connection = DBManager.getConnection(); / 获得一个数据库连接state = connection.createStatement();state.execute(begin); / 事务开始 state.executeUpdate(DELETE FROM user WHERE id=
36、 + id+ );System.out.println(id);state.execute(commit); / 提交事务return true; catch (Exception e) try state.execute(rollback); / 如果出现异常数据库回滚 catch (SQLException e1) e1.printStackTrace();e.printStackTrace();return false; finally DBManager.closeAll(connection, state, resultSet);用户模块控制层:登录控制:public void do
37、Post(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException / 设置字符集request.setCharacterEncoding(UTF-8);response.setCharacterEncoding(UTF-8);response.setContentType(text/html;charset=UTF-8);UserDAO ud = new UserDAO();/设置标志位boolean isIn = false;boolean isManager
38、= false;HttpSession session = request.getSession();/ 获取参数User user = (User)session.getAttribute(user);String userName = request.getParameter(userName);String password = request.getParameter(pwd);/ 判断用户是登陆,还是从其他页面跳转到该页面的if(user = null)/ 若是登陆,当用户名和密码为空时则跳转到出错页面if(userName = null | password = null)requ
39、est.getRequestDispatcher(/com/bsw/error/error.jsp).forward(request, response); else / 查询所有的用户user = ud.queryUser(userName); / 得到所有用户System.out.println(user);if(user = null)isIn = false; else / 判断是否为普通用户if(user.getPass().equals(password) & user.getRole() = 0)isIn = true; / 判断是否为管理员if(request.getParameter(role) !=null & user.getPass().equals(password)isIn = true;isManager = true; else isIn = true;/ 如果合法,显示用户订单信息if (isIn) if(isManager) / 若是管理员,则跳转到后台管理页面session.setAttribute(user, ud.queryUser(userNam
限制150内