已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录1概述21.1 行业背景21.2 可行性分析22系统需求分析52.1 现有业务流程中存在的问题52.2电子商务系统将实现的功能53系统总体设计53.1 系统的体系结构63.2 系统的基本流程73.3 系统的软硬件配置方案84系统表达层设计94.1 主页设计94.2 二级栏目设计95系统逻辑层设计95.1 登录模块设计95.2 注册模块设计115.3商品搜索模块设计135.4求购商品模块设计145.5修改个人信息模块设计155.6商品出售信息模块设计176系统数据层设计196.1 E-R模型设计196.2 数据库设计206.3 数据连接设计227系统实施247.1 主页截图247.2 登录页截图247.3 用户注册页截图247.4 系统管理员页截图257.5 用户注册页截图25结束语28参考文献29SchoolEbay电子商务系统设计与开发内容摘要 本设计首先研究了校园二手交易的业务现状与实施电子商务的可行性,明确了设计的主要目标。其次,在认真分析开展电子商务的业务需求的基础上展开了系统设计,明确了系统的商务模式和体系结构,为系统设计了运行流程和具体的物理方案。最后,实现了一个具备用户注册与登录、订单管理、商品查询、商品发布等功能的电子商务系统。本系统在结构上采用B/S模式与三层体系结构,采用JAVA技术实现了系统的表达层与逻辑层,基于SQL SERVER平台实现了系统的数据层。系统初步试运稳定,访问速度较快,用户反映良好。关键词 北津学院;电子商务系统;B/S模式;三层体系结构1概述1.1 行业背景现今高校之中毕业生通常会有出售二手商品的需求,而其他在校同学又希望买到物美价廉的二手商品,所以在高校中经常出现这样一道风景线:校园里某条道路成了旧书及其他用品的买卖市场。为改善这一情况,我们开发该系统其目的就是提供一个信息平台,可以使卖主方便的发布要出售的商品信息以及本人的联系方式,买主可以浏览并查询商品信息,然后实现简单的交易。1.2 可行性分析(1)技术可行性:SQL全称是“结构化查询语言(Structured Query Language)”,SQL(Structured Query Language)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL同时也是数据库脚本文件的扩展名。SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。他不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的功能只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。SQL数据库管理有10个最重要的特点 ,更加便于对数据的管理,其优点有:数据库镜像:通过新数据库镜像方法,将记录档案传送性能进行延伸。您将可以使用数据库镜像,通过将自动失效转移建立到一个待用服务器上,增强您SQL服务器系统的可用性。 在线恢复:使用SQL2005版服务器,数据库管理人员将可以在SQL服务器运行的情况下,执行恢复操作。在线恢复改进了SQL服务器的可用性,因为只有正在被恢复的数据是无法使用的,而数据库的其他部分依然在线、可供使用。 在线检索操作:在线检索选项可以在指数数据定义语言(DDL)执行期间,允许对基底表格、或集簇索引数据和任何有关的检索,进行同步修正。例如,当一个集簇索引正在重建的时候,您可以对基底数据继续进行更新、并且对数据进行查询。 快速恢复:新的、速度更快的恢复选项可以改进SQL服务器数据库的可用性。管理人员将能够在事务日志向前滚动之后,重新连接到正在恢复的数据库。 安全性能的提高:SQL Server 2005包括了一些在安全性能上的改进,例如数据库加密、设置安全默认值、增强密码政策、缜密的许可控制、以及一个增强型的安全模式。 新的SQL Server Management Studio:SQL Server 2005引入了SQL Server Management Studio,这是一个新型的统一的管理工具组。这个工具组将包括一些新的功能,以开发、配置SQL Server数据库,发现并修理其中的故障,同时这个工具组还对从前的功能进行了一些改进。 专门的管理员连接:SQL Server 2005将引进一个专门的管理员连接,即使在一个服务器被锁住,或者因为其他原因不能使用的时候,管理员可以通过这个连接,接通这个正在运行的服务器。这一功能将能让管理员,通过操作诊断功能、或TransactSQL指令,找到并解决发现的问题。 快照隔离:我们将在数据库层面上提供一个新的快照隔离(SI)标准。通过快照隔离,使用者将能够使用与传统一致的视野观看数据库,存取最后执行的一行数据。这一功能将为服务器提供更大的可升级性。 数据分割:数据分割 将加强本地表检索分割,这使得大型表和索引可以得到高效的管理。 增强复制功能:对于分布式数据库而言,SQL Server 2005提供了全面的方案修改(DDL)复制、下一代监控性能、从甲骨文(Oracle)到SQL Server的内置复制功能、对多个超文本传输协议(http)进行合并复制,以及就合并复制的可升级性和运行,进行了重大的改良。另外,新的对等交易式复制性能,通过使用复制,改进了其对数据向外扩展的支持。 JSP、Servlet、JavaBean是Sun公司推出的Web开发平台,也是目前最先进、特征最丰富、功能最强大的Web开发平台,具有方便、灵活、简便性、有效性、程序的独立性、兼容性、可重用性等特点;SQL SERVER是微软公司开发的一个关系数据库管理系统,以Transact-SQL作为它的数据库查询和编程语言,具有方便,简单,快捷,安全等特点。综上所述,选用JSP、Servlet、JavaBean+SQL SERVER的组合完全可以满足校园易趣电子商务系统开发的技术需求。(2)管理可行性:由于商品信息,用户信息和销售信息都有手写档案可查,用户只需要利用软件窗体将这些信息资料输入计算机就可以实现系统对企业内部业务的管理。客户为校园易趣的注册用户,可实现系统前端的应用,包括查看商品信息,搜索商品,将商品放置购物车,修改用户信息等。管理需求的应用人员为系统的管理员,本系统的管理员名是admin,密码为412052wm,他可以为系统前端的信息实现管理和维护的操作。所以管理上也是可行的。(3)市场可行性:由于传统手工操作管理的种种弊端,严重制约了校园二手市场的效率。伴随着电子商务的发展,电子支付、商务软件、中间服务商、教育培训、网络社区等都逐渐发展与成熟起来,形成了各自单独的产业链。以电子支付产业为例,目前我国在线支付的参与机构主要有三种类型:商业银行、中国银联和第三方专业机构。仅第三方电子支付平台的模式共有六种:支付网关、移动支付、系统集成的公司改做支付运营商、PayPal、地方政策性模式(如上海一卡通)和第三方担保模式如支付宝等。从校园管理者的客观需求上出发,开发网上销售系统来辅助日常管理工作,可以提高管理效率,净化校园环境,学校支持开发这样一套系统,开发经费没有问题,经济上和市场上是可行的。2系统需求分析通过对schoolEbay进行需求分析可以看出,系统的操作主要有两个方面,一方面要向实际用户提供平台,是用户可以登陆系统实现商品的买卖,另一方面还应该提供基本的后台管理功能,管理登陆系统后可以对系统中的各种数据进行操作。2.1 现有业务流程中存在的问题(1)周转时间长:毕业生为了找到一个合适的买主得花很长的时间。(2)效率低:卖主不知道用户的爱好,展出的商品卖的不是很快。(3)成本高:摆摊得购买一定的桌子,椅子等物品。2.2电子商务系统将实现的功能(1)用户操作:用户登录系统实现商品的买卖,主要有用户注册、登录、修改个人信息、修改密码、注销、查看商品、搜索商品、发布商品信息、求购商品。(2)管理员操作:管理员登录后对系统中的各种数据进行管理,主要有商品管理、用户管理、留言管理、系统设置、账户管理功能。3系统总体设计为了便于编程,前台的操作页面和后台的数据库管理页面的设计我是分别进行的。在整个程序编写完之后,在将后台的数据库管理页面通过管理员在前台的登录来调用,这样就把前台和后台有机的连接起来,使操作更加方便。当用户以会员身份登录调用执行的是前台的操作页面,而当以管理员身份登录时,则进入后台管理页面来对数据库进行操作3.1 系统的体系结构系统的总体体系结构如图3-1图3-1 系统总体结构图前台用户的模块功能描述如图3-2 图3-2 前台用户模块功能图后台管理员模块的功能描述如图3-3图3-3 后台管理员模块功能图3.2 系统的基本流程系统流程分为客户端流程、管理端流程,分别如3-4和3-5所示。用户可以浏览、查询商品和查看商品信息,用户登录后还可以发布商品信息和求购信息图3-4 客户端流程 管理员可以对系统的商品种类、商品、求购信息、用户、账号、系统信息进行管理。图3-5 管理端流程3.3 系统的软硬件配置方案本系统所需的物理配置:硬件环境:电脑2台,交换机一个。软件环境:JDK 1.6、ANT1.7、TOMCAT 6.0数据库:SQL server 2005.4系统表达层设计4.1 主页设计(1)页面布局:精简,朴实,但又不失活跃,树状结构符合人们的浏览习惯。包括卖东西、买东西、求购商品、登录、用户注册等。(2)色彩搭配:网站给人的第一印象来自视觉冲击,确定网站的标准色彩是相当重要的一步。不同的色彩搭配产生不同的效果,同时考虑用户可能会在线长时间访问本网站,导致眼睛疲劳过度。本系统主要以黄色系列为主,其它少部分颜色为辅。4.2 二级栏目设计(1)购物车:方便用户购买商品。(2)卖东西:方便用户发布商品信息。(3)求购商品:方便用户搜索商品和发布求购信息。(4)商品管理:管理商品信息。5系统逻辑层设计5.1 登录模块设计(1)程序流程图:如下图:(2)实现代码为src/Servlets/Login.java.调用UERSADO和AdminADO中的方法完成登录。核心代码:String username = request.getParameter(username);String password = request.getParameter(password);String userType = request.getParameter(users);HttpSession session = request.getSession();try if (userType.equals(user) UserAdo user = new UserAdo();int userID = user.doLogin(username,password);if(userID!=0)Collection users = user.selectUserByID(userID);for(Object o : users)UserBean userbean = (UserBean)o;session.setAttribute(user,userbean);user.close();request.getRequestDispatcher(/index.jsp).forward(request,response);elseuser.close();request.getRequestDispatcher(/error.jsp?msg=用户名或密码错误,请重新登录).forward(request,response); else AdminAdo admin = new AdminAdo();int adminID = admin.doLogin(username, password);admin.close();if (adminID != 0) AdminBean adminbean = new AdminBean(adminID, username,password);session.setAttribute(admin, adminbean);request.getRequestDispatcher(/admin/index.jsp).forward(request,response);elserequest.getRequestDispatcher(/error.jsp?msg=用户名或密码错误,请重新登录).forward(request,response); catch (Exception e) request.getRequestDispatcher(/error.jsp?msg=登录失败).forward(request,response);5.2 注册模块设计(1)程序流程图:如下图:(2)实现代码为src/Servlets/UserAdmin.java.调用UERSADO中的方法完成注册。核心代码:String username = HtmlUtils.escapeHtml(request.getParameter(username); String password1 = HtmlUtils.escapeHtml(request.getParameter(password1); String realname = HtmlUtils.escapeHtml(request.getParameter(realname); String tel = HtmlUtils.escapeHtml(request.getParameter(tel);String mobile = HtmlUtils.escapeHtml(request.getParameter(mobile);String email = HtmlUtils.escapeHtml(request.getParameter(email);String qq = HtmlUtils.escapeHtml(request.getParameter(qq);UserAdo uado = new UserAdo();if(uado.selectUserByName(username)request.getRequestDispatcher(/error.jsp?msg=该用户名已经存在).forward(request,response);return ;uado.addUser(ChineseUtils.transToEn(realname),ChineseUtils.transToEn(username),ChineseUtils.transToEn(password1),tel,mobile,ChineseUtils.transToEn(email),qq);uado.close();request.getRequestDispatcher(/success.jsp?msg=注册成功).forward(request,response);catch(Exception e)request.getRequestDispatcher(/error.jsp?msg=注册失败).forward(request,response);5.3商品搜索模块设计(1)程序流程图:如下图:(2)实现代码为src/Servlets/GoodAdmin.java.调用UERSADO和Paginnation中的方法完成搜索。核心代码:tryint categoryID = ParamUtils.getIntParameter(request,cid,0); sql = select * from Good where CategoryID=+categoryID;getGoods(request,response,sql);request.getRequestDispatcher(/buy.jsp).forward(request, response);catch(Exception e)request.getRequestDispatcher(/error.jsp?msg=查询失败).forward(request, response);tryString type = request.getParameter(type);String key = ChineseUtils.transToEn(request.getParameter(key).trim();if(type.equals(name)sql = select * from Good where GoodName like %+key+%;getGoods(request,response,sql);request.getRequestDispatcher(/buy.jsp).forward(request, response);return;else if(type.equals(content)sql = select * from Good where Description like %+key+%;getGoods(request,response,sql);request.getRequestDispatcher(/buy.jsp).forward(request, response);return;catch(Exception e)request.getRequestDispatcher(/error.jsp?msg=查询失败).forward(request, response);5.4求购商品模块设计(1)程序流程图:如下图:(2)实现代码为src/Servlets/MessageAdmin.java.调用UERSADO中的方法完成求购信息的添加。核心代码:String action = request.getParameter(action);HttpSession session = request.getSession();UserBean ub = (UserBean)session.getAttribute(user);if(action.equals(0)trygetMsgs(request,response,ub.getUserID();request.getRequestDispatcher(/mymsg.jsp).forward(request,response);catch(Exception e)request.getRequestDispatcher(/error.jsp?msg=无法读取消息!).forward(request,response);5.5修改个人信息模块设计(1)程序流程图:如下图:(2)实现代码为src/Servlets/UserAdmin.java.调用UERSADO中的方法完成个人信息的修改。核心代码:tryint uid = (UserBean)request.getSession().getAttribute(user).getUserID();String realname = HtmlUtils.escapeHtml(request.getParameter(realname);String tel = HtmlUtils.escapeHtml(request.getParameter(tel);String mobile = HtmlUtils.escapeHtml(request.getParameter(mobile);String email = HtmlUtils.escapeHtml(request.getParameter(email);String qq = HtmlUtils.escapeHtml(request.getParameter(qq);UserAdo uado = new UserAdo();uado.updateUserBasicInfo(uid,ChineseUtils.transToEn(realname),tel,mobile,ChineseUtils.transToEn(email),qq);uado.close();request.getRequestDispatcher(/success.jsp?msg=修改成功).forward(request,response);catch(Exception e)request.getRequestDispatcher(/error.jsp?msg=修改失败).forward(request,response);5.6商品出售信息模块设计(1)程序流程图:如下图(2)实现代码为src/Servlets/GoodAdmin.java.调用GoodADO中的方法完成出售商品信息的添加。核心代码tryHttpSession session = request.getSession();TimeUtil tu = (TimeUtil)session.getAttribute(lastAdd);long now = System.currentTimeMillis();if(tu!=null)long lastAdd = tu.getLastAdd();if(now-lastAdd) = 60000)request.getRequestDispatcher(/error.jsp?msg=为防止灌水,60秒内不得重复提交).forward(request, response);return ;tu = new TimeUtil(now);session.setAttribute(lastAdd,tu);GoodAdo gado = new GoodAdo();int categoryId = ParamUtils.getIntParameter(request,category,0);String goodname = HtmlUtils.escapeHtml(ParamUtils.getParameter(request,goodname);double goodprice = ParamUtils.getDoubleParameter(request,HtmlUtils.escapeHtml(price),0);int uid = (UserBean)session.getAttribute(user).getUserID();Date date = new Date(System.currentTimeMillis();String description = HtmlUtils.convertNewlines(HtmlUtils.escapeHtml(ParamUtils.getParameter(request,description);gado.addGood(categoryId,ChineseUtils.transToEn(goodname),goodprice,uid,date,ChineseUtils.transToEn(description),0);gado.close();request.getRequestDispatcher(/success.jsp?msg=成功添加出售物品).forward(request, response);catch(Exception e)request.getRequestDispatcher(/error.jsp?msg=添加失败).forward(request, response);6系统数据层设计6.1 E-R模型设计该系统的实体有用户实体,管理员实体,种类实体,商品实体,留言实体,系统信息实体。各实体的E-R图分别如图6-1到图6-6所示。(1)用户实体图6-1 用户E-R图 (2)管理员实体图6-2 管理员E-R图(3) 种类实体图6-3种类E-R图 (4)商品实体图6-4商品E-R图(5)留言实体图6-5留言E-R图(6)系统信息实体图6-6 系统信息E-R图6.2 数据库设计(1)用户信息表:此表用于记录用户的详细信息,包括姓名,性别,密码,电子邮件,电话等信息。如表6-7字段名类型长度能否为空说明idint4否用户编号,主键UserRealNamevarchar50否真实姓名UserNamevarchar50否用户名Passwordvarchar50否密码Telvarchar50是寝室号码Mobilevarchar50是手机Emailvarchar50是邮件QQvarchar50是QQ号(2)管理员表:包括管理员编号,姓名,密码。如表6-8字段名类型长度能否为空说明idint4否管理员编号,主键AdminNamevachar50否登录名Passwordvachar50否密码(3)种类表:包括商品的种类信息。如图6-9字段名类型长度能否为空说明idint4否种类编号,主键CategoryNamevarchar20否种类名Descriptionvarchar100是描述信息(4)商品表:包括商品编号、种类名称、商品名、售价、卖主编号、时间、商品描述。如图6-10字段名类型长度能否为空说明idint4否商品编号,主键CategoryIDint4否种类编号GoodNamevarchar50是商品名GoodPricemoney8是售价UserIDint4否卖主编号DateTimedatetime8是时间Descriptionvarchar50是商品描述(5)留言表:包括留言编号、留言主题等.如图6-11字段名类型长度能否为空说明idint4否留言编号,主键Titlevarchar100是留言主题Contentvarchar200是留言内容DateTimedatetime8是留言时间UserIDvarchar4否用户编号(6)系统信息表:包括系统公告、分页项数。如图6-12字段名类型长度能否为空说明Bulletinvarchar200是系统公告RowPerPageint4是分页系数6.3 数据连接设计本系统页面与数据库链接采用数据库据访问类。其中Pagination是分页的基类,继承它的ADO可以完成分页功能;CategoryADO用来访问种类信息;GoodADO用来访问商品信息;AdminADO用来访问管理员信息;MessageADO用来访问留言信息;UserADO用来访问用户信息;SystemInfoADO用来访问系统信息。 数据库连接由Constants.java和DBConnection.java类实现。连接代码如下:public class Constants public static final String driver = com.microsoft.jdbc.sqlserver.SQLServerDriver;public static final String url = jdbc:microsoft:sqlserver:/localhost:1433;databaseName=SchoolEbay;public static final String username = sa;public static final String password = 123;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class DBConnectionpublic static Connection getConnection()Connection conn = null;try Class.forName(Constants.driver); catch(ClassNotFoundException e) System.err.print(ClassNotFoundException);try conn = DriverManager.getConnection(Constants.url, Constants.username, Constants.password);return conn; catch(SQLException e) System.err.println(Insert SQLException);return null; 7系统实施7.1 主页截图:如图7-1主页包含导航功能:卖东西、买东西、求购商品、登录、用户注册模块。此页面为系统首页图7-1 主页界面7.2 登录页截图:如图7-2该页面中有两种登录选择:管理员和用户。管理员登录后进入后台实行管理,用户登录进入前台页面图7-2 登录界面7.3 用户注册页截图:如图7-3用户填完注册信息后,点击提交按钮。 图7-3 用户注册界面 7.4 系统管理员页截图:如图7-4系统管理员界面包括种类管理、商品管理、用户管理、留言管理、系统设置、修改密码、注销。图7-3 管理员界面7.5 用户注册
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乐高机构教学管理
- 2023年天津市西青区教育系统“引才计划”招聘笔试真题
- 2023年衢州市衢江区卫生健康系统招聘考试真题
- 2023年甘肃临夏七医院社会招聘员工考试真题
- 2024年文化创意项目申请报告
- 2023年郴州市第二中学招聘高层次教师笔试真题
- 2023年包头市中心医院人才引进笔试真题
- 2023年保亭黎族苗族自治县医疗集团招聘考试真题
- 2023年安徽省白湖农场集团有限责任公司招聘笔试真题
- 病案管理概论课程设计
- GA/T 2097-2023执法办案管理场所信息应用技术要求
- GB 20052-2024电力变压器能效限定值及能效等级
- 陶行知与乡村教育智慧树知到期末考试答案章节答案2024年丽水学院
- 手术切口感染PDCA案例
- 依托国家中小学智慧教育平台开展有效教学的研究课题申报评审书
- 小学大思政课实施方案设计
- 供应室消防应急预案演练
- 校运会裁判员培训
- 潮湿相关性皮炎的护理
- 脊髓损伤课件
- 关于生殖健康知识讲座
评论
0/150
提交评论