还剩27页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
目录TOC\o1-3\h\z\u1.概述
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.1E-R模型设计
196.2数据库设计
206.3数据连接设计227.系统实施
247.1主页截图
247.2登录页截图
247.3用户注册页截图
247.4系统管理员页截图
257.5用户注册页截图25结束语28参考文献29SchoolEbay电子商务系统设计与开发[内容摘要]本设计首先研究了校园二手交易的业务现状与实施电子商务的可行性,明确了设计的主要目标其次,在认真分析开展电子商务的业务需求的基础上展开了系统设计,明确了系统的商务模式和体系结构,为系统设计了运行流程和具体的物理方案最后,实现了一个具备用户注册与登录、订单管理、商品查询、商品发布等功能的电子商务系统本系统在结构上采用B/S模式与三层体系结构,采用JAVA技术实现了系统的表达层与逻辑层,基于SQLSERVER平台实现了系统的数据层系统初步试运稳定,访问速度较快,用户反映良好[关键词]北津学院;电子商务系统;B/S模式;三层体系结构1.概述
1.1行业背景现今高校之中毕业生通常会有出售二手商品的需求,而其他在校同学又希望买到物美价廉的二手商品,所以在高校中经常出现这样一道风景线校园里某条道路成了旧书及其他用品的买卖市场为改善这一情况,我们开发该系统其目的就是提供一个信息平台,可以使卖主方便的发布要出售的商品信息以及本人的联系方式,买主可以浏览并查询商品信息,然后实现简单的交易
1.2可行性分析
(1)技术可行性SQL全称是“结构化查询语言StructuredQueryLanguage”,SQLStructuredQueryLanguage是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统SQL同时也是数据库脚本文件的扩展名SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作他不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的接口它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的功能只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句SQL数据库管理有10个最重要的特点,更加便于对数据的管理,其优点有
①数据库镜像通过新数据库镜像方法,将记录档案传送性能进行延伸您将可以使用数据库镜像,通过将自动失效转移建立到一个待用服务器上,增强您SQL服务器系统的可用性
②在线恢复使用SQL2005版服务器,数据库管理人员将可以在SQL服务器运行的情况下,执行恢复操作在线恢复改进了SQL服务器的可用性,因为只有正在被恢复的数据是无法使用的,而数据库的其他部分依然在线、可供使用
③在线检索操作在线检索选项可以在指数数据定义语言(DDL)执行期间,允许对基底表格、或集簇索引数据和任何有关的检索,进行同步修正例如,当一个集簇索引正在重建的时候,您可以对基底数据继续进行更新、并且对数据进行查询
④快速恢复新的、速度更快的恢复选项可以改进SQL服务器数据库的可用性管理人员将能够在事务日志向前滚动之后,重新连接到正在恢复的数据库
⑤安全性能的提高SQLServer2005包括了一些在安全性能上的改进,例如数据库加密、设置安全默认值、增强密码政策、缜密的许可控制、以及一个增强型的安全模式
⑥新的SQLServerManagementStudio SQLServer2005引入了SQLServerManagementStudio,这是一个新型的统一的管理工具组这个工具组将包括一些新的功能,以开发、配置SQLServer数据库,发现并修理其中的故障,同时这个工具组还对从前的功能进行了一些改进
⑦专门的管理员连接SQLServer2005将引进一个专门的管理员连接,即使在一个服务器被锁住,或者因为其他原因不能使用的时候,管理员可以通过这个连接,接通这个正在运行的服务器这一功能将能让管理员,通过操作诊断功能、或Transact—SQL指令,找到并解决发现的问题
⑧快照隔离我们将在数据库层面上提供一个新的快照隔离(SI)标准通过快照隔离,使用者将能够使用与传统一致的视野观看数据库,存取最后执行的一行数据这一功能将为服务器提供更大的可升级性
⑨数据分割数据分割将加强本地表检索分割,这使得大型表和索引可以得到高效的管理⑩增强复制功能对于分布式数据库而言,SQLServer2005提供了全面的方案修改(DDL)复制、下一代监控性能、从甲骨文(Oracle)到SQLServer的内置复制功能、对多个超文本传输协议(http)进行合并复制,以及就合并复制的可升级性和运行,进行了重大的改良另外,新的对等交易式复制性能,通过使用复制,改进了其对数据向外扩展的支持JSP、Servlet、JavaBean是Sun公司推出的Web开发平台,也是目前最先进、特征最丰富、功能最强大的Web开发平台,具有方便、灵活、简便性、有效性、程序的独立性、兼容性、可重用性等特点;SQLSERVER是微软公司开发的一个关系数据库管理系统,以Transact-SQL作为它的数据库查询和编程语言具有方便,简单,快捷,安全等特点综上所述,选用JSP、Servlet、JavaBean+SQLSERVER的组合完全可以满足校园易趣电子商务系统开发的技术需求
(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、ANT
1.
7、TOMCAT
6.0数据库SQLserver
2005.4.系统表达层设计
4.1主页设计
(1)页面布局精简,朴实,但又不失活跃,树状结构符合人们的浏览习惯包括卖东西、买东西、求购商品、登录、用户注册等
(2)色彩搭配网站给人的第一印象来自视觉冲击确定网站的标准色彩是相当重要的一步不同的色彩搭配产生不同的效果,同时考虑用户可能会在线长时间访问本网站,导致眼睛疲劳过度本系统主要以黄色系列为主,其它少部分颜色为辅
4.2二级栏目设计
(1)购物车方便用户购买商品
(2)卖东西方便用户发布商品信息
(3)求购商品方便用户搜索商品和发布求购信息
(4)商品管理管理商品信息5.系统逻辑层设计
5.1登录模块设计
(1)程序流程图如下图
(2)实现代码为src/Servlets/Login.java.调用UERSADO和AdminADO中的方法完成登录核心代码Stringusername=request.getParameterusername;Stringpassword=request.getParameterpassword;StringuserType=request.getParameterusers;HttpSessionsession=request.getSession;try{ifuserType.equalsuser{UserAdouser=newUserAdo;intuserID=user.doLoginusernamepassword;ifuserID!=0{Collectionusers=user.selectUserByIDuserID;forObjecto:users{UserBeanuserbean=UserBeano;session.setAttributeuseruserbean;}user.close;request.getRequestDispatcher/index.jsp.forwardrequestresponse;}else{user.close;request.getRequestDispatcher/error.jspmsg=用户名或密码错误,请重新登录.forwardrequestresponse;}}else{AdminAdoadmin=newAdminAdo;intadminID=admin.doLoginusernamepassword;admin.close;ifadminID!=0{AdminBeanadminbean=newAdminBeanadminIDusernamepassword;session.setAttributeadminadminbean;request.getRequestDispatcher/admin/index.jsp.forwardrequestresponse;}else{request.getRequestDispatcher/error.jspmsg=用户名或密码错误,请重新登录.forwardrequestresponse;}}}catchExceptione{request.getRequestDispatcher/error.jspmsg=登录失败.forwardrequestresponse;
5.2注册模块设计
(1)程序流程图如下图
(2)实现代码为src/Servlets/UserAdmin.java.调用UERSADO中的方法完成注册核心代码Stringusername=HtmlUtils.escapeHtmlrequest.getParameterusername;Stringpassword1=HtmlUtils.escapeHtmlrequest.getParameterpassword1;Stringrealname=HtmlUtils.escapeHtmlrequest.getParameterrealname;Stringtel=HtmlUtils.escapeHtmlrequest.getParametertel;Stringmobile=HtmlUtils.escapeHtmlrequest.getParametermobile;Stringemail=HtmlUtils.escapeHtmlrequest.getParameteremail;Stringqq=HtmlUtils.escapeHtmlrequest.getParameterqq;UserAdouado=newUserAdo;ifuado.selectUserByNameusername{request.getRequestDispatcher/error.jspmsg=该用户名已经存在.forwardrequestresponse;return;}uado.addUserChineseUtils.transToEnrealnameChineseUtils.transToEnusernameChineseUtils.transToEnpassword1telmobileChineseUtils.transToEnemailqq;uado.close;request.getRequestDispatcher/success.jspmsg=注册成功.forwardrequestresponse;}catchExceptione{request.getRequestDispatcher/error.jspmsg=注册失败.forwardrequestresponse;}
5.3商品搜索模块设计
(1)程序流程图如下图
(2)实现代码为src/Servlets/GoodAdmin.java.调用UERSADO和Paginnation中的方法完成搜索核心代码try{intcategoryID=ParamUtils.getIntParameterrequestcid0;sql=select*fromGoodwhereCategoryID=+categoryID;getGoodsrequestresponsesql;request.getRequestDispatcher/buy.jsp.forwardrequestresponse;}catchExceptione{request.getRequestDispatcher/error.jspmsg=查询失败.forwardrequestresponse;}try{Stringtype=request.getParametertype;Stringkey=ChineseUtils.transToEnrequest.getParameterkey.trim;iftype.equalsname{sql=select*fromGoodwhereGoodNamelike%+key+%;getGoodsrequestresponsesql;request.getRequestDispatcher/buy.jsp.forwardrequestresponse;return;}elseiftype.equalscontent{sql=select*fromGoodwhereDescriptionlike%+key+%;getGoodsrequestresponsesql;request.getRequestDispatcher/buy.jsp.forwardrequestresponse;return;}}catchExceptione{request.getRequestDispatcher/error.jspmsg=查询失败.forwardrequestresponse;}
5.4求购商品模块设计
(1)程序流程图如下图
(2)实现代码为src/Servlets/MessageAdmin.java.调用UERSADO中的方法完成求购信息的添加核心代码Stringaction=request.getParameteraction;HttpSessionsession=request.getSession;UserBeanub=UserBeansession.getAttributeuser;ifaction.equals0{try{getMsgsrequestresponseub.getUserID;request.getRequestDispatcher/mymsg.jsp.forwardrequestresponse;}catchExceptione{request.getRequestDispatcher/error.jspmsg=无法读取消息!.forwardrequestresponse;}
5.5修改个人信息模块设计
(1)程序流程图如下图
(2)实现代码为src/Servlets/UserAdmin.java.调用UERSADO中的方法完成个人信息的修改核心代码try{intuid=UserBeanrequest.getSession.getAttributeuser.getUserID;Stringrealname=HtmlUtils.escapeHtmlrequest.getParameterrealname;Stringtel=HtmlUtils.escapeHtmlrequest.getParametertel;Stringmobile=HtmlUtils.escapeHtmlrequest.getParametermobile;Stringemail=HtmlUtils.escapeHtmlrequest.getParameteremail;Stringqq=HtmlUtils.escapeHtmlrequest.getParameterqq;UserAdouado=newUserAdo;uado.updateUserBasicInfouidChineseUtils.transToEnrealnametelmobileChineseUtils.transToEnemailqq;uado.close;request.getRequestDispatcher/success.jspmsg=修改成功.forwardrequestresponse;}catchExceptione{request.getRequestDispatcher/error.jspmsg=修改失败.forwardrequestresponse;}
5.6商品出售信息模块设计
(1)程序流程图如下图
(2)实现代码为src/Servlets/GoodAdmin.java.调用GoodADO中的方法完成出售商品信息的添加核心代码try{HttpSessionsession=request.getSession;TimeUtiltu=TimeUtilsession.getAttributelastAdd;longnow=System.currentTimeMillis;iftu!=null{longlastAdd=tu.getLastAdd;ifnow-lastAdd=60000{request.getRequestDispatcher/error.jspmsg=为防止灌水,60秒内不得重复提交.forwardrequestresponse;return;}}tu=newTimeUtilnow;session.setAttributelastAddtu;GoodAdogado=newGoodAdo;intcategoryId=ParamUtils.getIntParameterrequestcategory0;Stringgoodname=HtmlUtils.escapeHtmlParamUtils.getParameterrequestgoodname;doublegoodprice=ParamUtils.getDoubleParameterrequestHtmlUtils.escapeHtmlprice0;intuid=UserBeansession.getAttributeuser.getUserID;Datedate=newDateSystem.currentTimeMillis;Stringdescription=HtmlUtils.convertNewlinesHtmlUtils.escapeHtmlParamUtils.getParameterrequestdescription;gado.addGoodcategoryIdChineseUtils.transToEngoodnamegoodpriceuiddateChineseUtils.transToEndescription0;gado.close;request.getRequestDispatcher/success.jspmsg=成功添加出售物品.forwardrequestresponse;}catchExceptione{request.getRequestDispatcher/error.jspmsg=添加失败.forwardrequestresponse;}}6.系统数据层设计
6.1E-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类实现连接代码如下publicclassConstants{publicstaticfinalStringdriver=com.microsoft.jdbc.sqlserver.SQLServerDriver;publicstaticfinalStringurl=jdbc:microsoft:sqlserver://localhost:1433;databaseName=SchoolEbay;publicstaticfinalStringusername=sa;publicstaticfinalStringpassword=123;}importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;publicclassDBConnection{publicstaticConnectiongetConnection{Connectionconn=null;try{Class.forNameConstants.driver;}catchClassNotFoundExceptione{System.err.printClassNotFoundException;}try{conn=DriverManager.getConnectionConstants.urlConstants.usernameConstants.password;returnconn;}catchSQLExceptione{System.err.printlnInsertSQLException;returnnull;}}}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用户注册页截图如图7-5用户界面包括卖东西、买东西、求购、注册、修改密码、个人信息、注销、我的购物车、我的留言等图7-5用户界面在校园易趣系统开发过程中,为了验证系统的稳定性,主要在以下方面对系统进行了测试
(1)用户登陆测试首先在数据库中添加了多个用户和密码(如添加帐号admin,密码admin等),然后使用不同的用户反复多次登陆系统,并且还使用了错误信息进行登陆,系统都能正确无误的处理登陆后,在密码修改界面,也能够顺利实现对用户密码的修改(如用admin帐号登陆后,将密码123修改为321,然后用新密码321进行登陆,能够进入系统,而用原密码123登陆,系统显示帐号与密码不符,无法进入系统)一系列测试结果表明系统的用户登陆部分能够正确执行操作
(2)商品信息管理模块测试使用管理员身份登陆后,进入图书信息录入界面经过多次对新商品的添加和删除,都成功实现了操作,实现了预定目标
(3)种类管理模块测试使用管理员身份admin登陆后,进入种类管理界面然后多次反复进行种类的添加、删除操作,系统均能很好的完成,达到了预期的效果
(4)用户管理模块测试使用管理员身份admin登陆后,进入会员信息录入界面,经过多次添加,删除会员信息,系统都能够实现操作,添加不符合要求的信息,系统也能正确提示操作有误(如E-mail栏目忘记填写,系统会准确提示“E-mail不能为空”)在注册用户界面,用户添加新帐号,修改原有帐号等操作,系统都成功实现了目标,新添加的帐号和密码在登陆窗体也能顺利登陆一系列测试结果表明员工信息管理模块能够正确执行操作结束语由于我们是第一次开发电子商务系统,在知识和经验上都有不足,开发的时间也比较仓促因此,本系统有一些不太理想的地方尽管本系统存在很多的不足之处,但还是具有功能全面、便于日后程序更新、数据库管理容易、界面友好、操作方便等优点通过这次对系统的设计,使我们在系统开发和数据库操作方面都有了很明显的提高将我们自己在学校所学习的知识都运用到实际开发过程中,可以说是对自己所学知识的一次全面系统的检验,并培养了自己的独立思考的能力,为以后从事软件开发方面的工作打下了基础参考文献
[1]刘红军.信息管理基础[M].北京高等教育出版社,2004
[2]金明伟.我国上市公司信息披露若干问题[J].投资与证券,20036100-
113.
[3]上海证券交易所研究中心.《中国上市公司治理报告2003》.[DB/OL]中国科学院计算机网络信息中心http://www.cas.ac.cn/html/Dir/2004/02/09/
7229.htm
[4]汪晓平、钟军.ASP网络开发技术[M].北京人民邮政出版社,2003年12月第二版.
[5]张一鸣、桂林、张家祥.个人网站组建实用教程[M].西安电子科技大学出版社,2004年1月第一版.
[6]龙马工作室.典型网站建设[M].北京人民邮电出版社,2004年8月第一版.
[7]龙马工作室.ASP+SQLServer组建动态网站[M].北京人民邮电出版社,2004年8月第一版.
[8]蔡翠平、尚俊杰.网络程序设计—ASP[M].北京清华大学出版社,2002年1月第一版.
[9]白以恩.计算机网络基础及应用[M].哈尔滨:哈尔滨工业大学出版社
2000.。