1、0 南 阳 理 工 学 院 本 科 毕 业 设 计(论文)电子商城系统设计与开发 Electronics mall system design and development学 院(系): 计算机科学与技术系 专 业: 计算机科学与技术 学 生 姓 名: 杨亚静 学 号: 064409140 指 导 教 师(职称): 杨 新 峰 (讲师) 评 阅 教 师: 完 成 日 期: 南阳理工学院Nanyang Institute of Technology电子商城系统设计与开发电子商城系统的设计与开发计算机科学与技术专业 杨亚静摘 要伴随着 Internet 的蓬勃发展,电子商城作为电子商务的一种形式
2、正以其高效、低成本的优势,逐步成为新兴的经营模式和理念,人们已经不再满足用途信息的浏览和发布,而是渴望着能够充分享受网络所带来的更多的便利。电子商城正适应了当今社会快节奏地生活,使顾客足不出户便可以方便快捷轻松地选购自己喜欢的商品。本系统是用 JAVA 在网络上架构的一个动态的电子商务网站,它是利用myEclipse 开发工具,以 mysql 为数据库开发平台,tomcat 网络信息服务作为应用服务器,采用 Struts 框架技术开发的电子商城系统。关键词电子商城系统;mysql;myeclipse;tomcatElectronics mall system development and d
3、esignBusiness Administration Major YANG YajingAbstract: With the vigorous development of the Internet and electronic mall as a form of e-commerce is its high efficiency and low cost advantage, and gradually become the emerging business mode and concept, people have no longer satisfies USES informati
4、on and released the browsing, but longing to be able to enjoy fully network brings more convenient. Electronics mall are adapted to the society today live fast rhythm, make customer stayed indoors can choose convenient easily their favorite goods. This system is on the network architecture with JAVA
5、 a dynamic of e-commerce sites, it is to use myEclipse development tools to mysql for database development platform, network information service as a tomcat application server, use Struts frame technology development of electronic mall system. Key words: electronics mall system ; mysql; myeclipse;to
6、mcat电子商城系统设计与开发目 录1 引言 11.1 电子商务系统的概述 11.1.1 电子商务系统的发展 1.1.2 电子商务系统的现状 1.1.3 电子商城系统的构建 2 系统分析与设计目标 2.1 系统分析 2.1.1 需求分析 2.1.2 可行性分析 2.1.2.1 经济可行性 2.1.2.2 技术可行性 3 系统设计 3.1 系统概要设计 3.1.1 系统结构设计 3.1.2 功能模块规划及分析 3.2 数据库设计 3.2.1 数据库的概念结构设计 3.2.1.1 建立数据库的原则 3.2.1.2 建立字段的原则 3.2.13 数据库逻辑结构设计 4 系统功能与模块的设计与实现 4
7、.1 创建数据库 4.2 在 Dreamweaver 中建立站点 4.3 系统模块的设计与实现 4.1.1 系统的界面与导航条的设计 4.1.2 数据库的连接 4.1.3 注册和登录模块 4.1.4 系统主界面 4.1.5 详细订单界面 电子商城系统设计与开发4.1.6 购物车界面 4.1.7 浏览和购买商品 4.1.8 后台管理界面 4.1.9 商品分类管理界面 4.1.10 商品管理界面 4.1.11 顾客留言区 5 系统测试与维护 5.1 测试目的 5.2 软件测试的内容 5.3 测试结果分析 结论及尚存在的问题 参考文献 致谢 1 1 引言1.1 电子商务系统的概述电子商务系统是保证以
8、电子商务为基础的网上交易实现的体系。网上交易的信息沟通是通过数字化的信息渠道实现的,交易双方必须拥有相应的信息技术工具。为保证交易双方进行等价交换,必须提供相应的货物配送与支付结算手段。此外,为保证企业、组织与消费者能够利用数字化沟通渠道,保证交易能顺利进行配送与支付,需要由专门提供服务的中间商参与,即需要电子商务服务商。随着 Internet 的迅猛发展,电子商务已逐渐走向千家万户,它已经开始影响人们的日常生活的各个方面,同时我们也开始意识到其中蕴含的巨大商机及商业价值,并开始投身于电子商务活动。电子商务可以通过 IE 浏览器,实现消费者的网上购物,卖家及中介人之间的交易,它是在线网银支付的
9、一种新型商业运营模式。电子商务是网络技术应用的全新发展方向。Internet 本身所具有的开放性、全球性、低成本、高效率的特点,也成为电子商务的内在特征,并使得电子商务大大超越了作为一种新的贸易形式所具有的价值。它不仅会改变企业本身的生产、经营、管理活动,而且将影响到整个社会的经济运行与结构。电子商城的崛起对传统的购物方式体系产生了强烈的冲击,有效地缩短了货物发行环节,将广大消费者和营销商紧密地结合在一起,大大提高了物质流通率。1.1.1 电子商务系统的发展随着 Internet 的迅猛发展,电子商务已逐渐走向千家万户,它已经开始影响人们的日常生活的各个方面,同时我们也开始意识到其中蕴含的巨大
10、商机及商业价值,并开始投身于电子商务活动。电子商务可以通过 IE 浏览器,实现消费者的网上购物,卖家及中介人之间的交易,它是在线网银支付的一种新型商业运营模式。电子商务是网络技术应用的全新发展方向。Internet 本身所具有的开放性、全球性、低成本、高效率的特点,也成为电子商务的内在特征,并使得电子商务大大超越了作为一种新的贸易形式所具有的价值。它不仅会改变企业本身的生产、经营、管理活动,而且将影响到整个社会的经济运行与结构。2电子商城的崛起对传统的购物方式体系产生了强烈的冲击,有效地缩短了货物发行环节,将广大消费者和营销商紧密地结合在一起,大大提高了物质流通率。1.1.2 电子商城系统的现
11、状无论在国内还是在国外,电子商务都还处于起步阶段。最近几年电子商务得到了迅速的发展。尽管各个国家具体情况不同,但是基于对国家经济发展的预测,各国政府都很重视电子商务,并且积极地发展电子商务 4。在发达国家,电子商务的发展非常迅速,通过 Internet 进行交易己成为一种潮流。基于电子商务所连带出的商品交易方案、电子结账方案和信息安全方案等,已逐步成为国际信息技术市场竞争的焦点。随着电子商务的日益发展,产生了虚拟银行、网络营销、网上购物、网络广告等新兴信息产业,从侧面反应了电子商务正在对社会和经济产生着深刻的影响。在电子商务过程中,通过人与电子通讯方式的结合,极大地提高了商务活动的效率,减少了
12、不必要的中间环节。同时,电子商务的发展也将转变政府的行为。在电子商务逐渐变的流行的时代里,当企业应用电子商务进行经营,银行实现金融电子化,以及消费者实现网上消费的同时,也将对政府管理行为提出新的要求,国外在这方面有很好的法律法规加以约束,防止商业欺诈行为。国内在这方面做的就没有国外的好,没有一定的规范加以约束,我们经常可以看到一些消费者在网上购买的东西和实际不一样,发现上当后我们也无能为力。1.1.3 电子商城系统的构建该电子商城系统是基于 WEB 开发的,以构建网上电脑产品购物网站为目标,由前台购物、后台管理两大部分组成。电子商城系统主要实现用户注册、用户登录、分类浏览商品、查看商品介绍、购
13、物车、在线购买、浏览新闻公告、商品的投诉以及商品管理、新闻公告管理、投诉管理,会员管理等功能。根据这些功能要求,将整个系统分为两大部分:一部分是前台管理部分,包括用户登录、分类浏览,购买商品,在线支付等;另一部分是后台管理部分,这部分功能必须通过管理员身份验证才能使用,包括商品管理、新闻管理、商3品投诉管理和会员管理,客户也可以通过论坛来提出意见和建议。电子商城系统就是要通过方便快捷的功能、简洁明了的界面、完善的后台管理来满足服客户的需要。2 系统分析与设计目标2.1 系统分析2.1.1 需求分析该系统是基于 B/S(浏览器/服务器)架构的系统,主要完成商品的浏览,购买,以及在后台管理商品;新
14、闻公告的添加、删除、修改(更新) ,会员的在线购物,用户在留言上抒发自己的感想等。此系统分为前台购物和后台管理。前台购物是友好的操作界面,供用户注册、浏览、订购商品;后台管理是提供给管理员的,其中包括:商品管理、用户管理、公告管理等。使管理员从繁琐的手工操作中解脱出来,并提高了工作效率。按照系统功能的实现,本系统可以划分为以下几个功能模块:管理用户模块,管理商品模块,管理商品类别模块等。管理用户模块包括了用户注册和验证,修改用户信息,修改用户密码以及删除用户。管理商品模块包括商品上传,修改商品信息,删除商品,增加商品图片,以及修改和删除商品的销售记录和浏览记录。管理商品类别模块包括添加,修改,
15、删除商品类别等功能。由于电子商城的商品数量可能非常庞大,因此在商品浏览上,使用了分页浏览导航。用户可以通过点击上一页、下一页、首页、尾页进行分页浏览。该系统对可靠性、易维护性、安全性、可操作性等性能有较高的要求。可靠性-要求系统在发生故障或输入数据不合理等情况下有较高的要求;易维护性-系统的变更(因系统需求变化和弥补系统缺陷而引起)要简单易行;安全性-本系统所处理的数据都要具有实际意义,不能随意存取和改动。因此,必须对系统数据的存取和改动进行控制,对系统数据进行有效的保护,以杜绝对数据的非法操作和防止计算机病毒的破坏;可操作性-本系统的操作人员是一般管理人员而非计算机专业人员,为使本系统有效地
16、发挥作用,要求本系统容易理解,人机界面简明、清晰、直观,功能实用,操作简单方便,上机培训量小。此外,系统还需有较快的响应速度,以尽量减少工作人员的等待时间。4根据前台用户的需求,画出以下 E-R 图:实体类型 实体间联系 属性 图 ER 图的元素说明用户用户名 密码权限地址订购数量 总金额商品信息商品编号 类型编号价格商品名称n货存用户编号图 电子商城系统 ER 图将用户与商品信息表通过订购关系相联系,可以将此 m:n 二元联系转换为关系模型。关系模型为:用户(用户编号,密码,用户名,权限,地址) ;商品信息(商品编号,类型编号,商品名,价格,货存)5订购(用户编号,商品编号,数量,总金额)通
17、过以上的分析可知,该系统拥有用户、商品类别、商品、订单的实体,其中实体对应数据库的表,属性对应表中的字段,关系对应表之间的联系。2.1.2 可行性分析随着 Inernet 的发展,电子商城将成为 21 世纪网络发展的主流,网上购物将成为一种购物时尚。目前国内企业纷纷加入到一系列大型电子商务网站中,通过网络进行交易已经成为未来商品交易的重要组成部分。企业在建立宣传网络的同时,也逐步扩大了企业自身的网络销售渠道,建立起自己的电子商城网站,完成了从“企业到企业”到“企业到个人”同时进行网络交易的过度,大大地提高了企业的生产效益。随着硬件技术、网络技术及网上交易法规的日趋完善,电子商城将成为企业销售经
18、营的主要渠道。2.1.2.1经济可行性经济可行性即成本效益分析,评估项目的开发成本,估算开发成本是否超过项目预期的全部利润。电子商城在经济上有以下几个突出的优势:1)资金投资少,回收快,特别适合小商品和个人在网上创业。2)销售时间不受限制,无需专人看守,却可以时时刻刻营业。3)销售地点不受限制,小商店也可做大生意。4)网上商店人气旺,网上客流量比较多,大大增加了销售收入。2.1.2.2技术可行性开发一个中小型的电子商城系统,涉及到的技术问题不会太多,主要用到的技术就是 Struts 框架。Struts 框架是专门用来开发 web 应用程序的框架,它是采用 java Servlet 和 jsp
19、技术来构造 MVC 设计模式。Struts 是框架而不是库,但也包括了标签和独立的实用程序类,因此,应用 Struts 框架开发的 Web 程序是最佳的选择。3 系统设计3.1 系统概要设计在软件需求分析阶段,搞清楚了软件“做什么”的问题。现在所要做的就是要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现6软件的需求。首先,需要描述的是系统的总的体系结构。3.1.1系统结构设计系统的概要设计中最重要的就是系统的模块化。模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定的功能。所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要
20、求的功能。 将系统划分为多个模块是为了降低软件系统的复杂性,提高可读性、可维护性,但模块的划分不能是任意的,应尽量保持其独立性。也就是说,每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少,而且接口简单,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。在系统概要设计中采用结构化设计(Structure Design,简称SD),SD以需求分析阶段产生的数据流图DFD为基础,按照一定的步骤映射成软件结构。首先将整个系统划分为几个小问题、小模块。在本系统中,设计了浏览商品模块,购买商品模块,用户注册模块,商品管理模块,订单管理模块,用户管理模块。3.1.2 功
21、能模块规划及分析为了便于电子商城系统的设计开发,根据系统功能要求,使用了模块化设计,整个电子商城系统可以分为以下6个功能模块:浏览商品模块:此模块实现前台的商品及商品信息浏览,无权限限制,注册用户和非注册用户都可以浏览商品,并查看所有商品信息。购买商品模块:此模块专门提供给注册用户以及其以上级别的用户使用,允许注册的用户通过在线付款形式购买商品,系统为注册用户提供购物车,并允许用户管理购物车,系统为通过验证的用户提供订单管理功能,并允许这些用户处理相应的订单。用户注册模块:此模块包括会员的注册,相关资料的填写,以及用户的登陆,资料的修改。商品管理模块:此模块中只有管理员才可以在线管理商品,即管
22、理商品时需要验证管理员身份,不同级别的管理员只能管理相应的商品,如系统管理员7电子商城系统前台购物 后台管理浏览商品购买商品用户注册商品管理订单管理用户管理可以管理系统中所有的商品,一般管理员只能管理自己上传的商品。订单管理模块:不同级别的管理员只能管理相应的订单,如系统管理员可以管理系统中所有商品的订单,一般管理员只能管理自己上传商品的订单。用户管理模块:系统管理员可以添加,验证和查询用户,系统管理员可以修改系统中的任何用户信息,系统管理员可以删除任何用户。在各个模块的设计中注重它们之间的相对独立性,减少它们之间的耦合,减轻模块化设计的难度。各模块的关系见图3.5系统功能模块图所示。图3.5
23、 系统功能模块图3.2系统数据库的设计3.2.1 数据库的概念结构设计根据系统的需求分析和数据库的需求分析,同时根据相关部分的数据流程图,对系统数据库进行概念结构设计。根据数据关系模型和数据库关系模式的范式,我们创建了电子商城系统数据表,本系统共有 9 个数据表,分别是:管 理 员 数 据 表(admin) ,购物车表(cart) ,购物选择表(cartselectedmer) ,商品信息表(category) ,留言表8(leaveword) ,成员表(member) ,商品浏览表(merchandise) ,成员类别表(memberlevel) ,管理订单表(orders)。3.2.1.1
24、 建立数据库的原则 在建立数据库时,由于表中储存信息的不同,所以表中所需的字段也不一样,在确定所需字段时有以下五个原则:1.描述不同主题的字段应属于不同的表,通过定义之间的关系,可以将多个表中的字段进行数据组合,生成各种表单或报表;2.不要在表中储存通过推导或计算得到的数据;3.收集所需的全部信息。应全面检查书面的表单和报表,确定所需的数据都已包含在所设计的表中或可以由这些表计算出来;4.以最小的逻辑单位储存信息,应尽量把信息分解成比较小的逻辑单位;5.对于主关键字段,ACCESS 不允许其有重复值或 NULL 值。3.1.1.2 建立字段的原则在实际选择和确定数据类型时,应结合字段的自身情况
25、并考虑以下四点:1.该字段用于储存什么类型的值;2.要对字段中的值执行什么类型的运算;3.是否要用字段进行筛选或排序;4.是否用字段对记录进行分组。3.2.1.3 数据库逻辑结构设计4.3.2 数据库概念设计以及创建表结构( 1) 管 理 员 数 据 表 admin 如 图 4-4:9图 4-4 admin 表( 2) cart 表 如 图 4-5:图 4-5 cart 表(3)c artselectedmer 表 如 图 4-6:图 4-6 cartselectedmer 表( 4) category 表 如 图 4-7:图 4-7 category 表( 5) leaveword 表 如
26、图 4-8:10图 4-8 leaveword 表( 6) member 表 如 图 4-9:图 4-9 member 表( 7) memberlevel 表 如 图 4-10:图 4-10 memberlevel 表( 8) merchandise 表 如 图 4-11:图 4-11 merchandise 表( 10) orders 表 如 图 4-12:图 4-12 orders 表4 系统功能与模块的设计实现11当对数据表的设计完成后,即要对系统功能和模块进行设计。在本次设计中,主要通过Dreamweaver,利用JSP中的Request(主要实现获取表单中的数据),Response(
27、主要实现输出相关内容),Server(主要实现文件相关路径的设置以及建立Connection对象),Session(主要实现用户信息的存储以及购物车的实现)几大对象的属性和方法,以及mySQL语句,IFelse语句来编写,完成系统功能和模块的设计以及界面的设计。利用mySQL语句完成数据的查询,筛选,分组等功能。4.1 创建数据库打开navicat,通过菜单中的新建,然后选择新建空数据库,设置好数据库名。根据数据库的逻辑结构设计,选择使用设计器创建表来创建各个模块所需的数据表。4.2 在Dreamweaver中建立站点打开Dreamweaver ,在菜单栏中选择站点 管理站点 新建 站点 ,然
28、后按屏幕提示操作,首先是给站点命名shop,然后按下一步,在服务器技术栏中选择 Asp vbscript ,再按下一步,把文件存储在计算机上的相应位置栏中,按下一步,在使用URL来浏览站点的根目录栏中填写“http:/localhost/”,单击下方的“测试URL(T)”,出现弹出窗口中显示“URL前缀测试已成功” ,按下一步。建好站点后在Dreamweaver右下方的文件面板中将出现站点。4.3 系统模块的设计与实现4.3.1 系统的界面与导航条的设计电子商城系统给人的第一印象关键就在于界面,而可用性与易用性与导航条的设置有很大关系。本系统的界面风格包含在 cart.jsp 中,如图所示,导
29、航条界面。12图 cart.jsp导航条界面4.3.2 数据库的连接主数据库,以及计数器采用以下代码连接出 于 安 全 性 的 考 虑 , 我 们 将 与 数 据 库 的 连 接 , 单 独 写 出 来 并 进 行 编 译 , 也就 是 数 据 库 连 接 的 javabean 文 件 , 编 译 出 来 的 .class 文 件 是 无 法 被 修 改 的 只 能通 过 源 文 件 进 行 修 改 , 我 们 在 JSP 页 面 中 只 用 直 接 调 用 改 方 法 即 可 , 在 本 系 统中 我 们 将 其 命 名 为 为 .faq 存 放 在 class/ckstudio/db 下
30、设 其 id 为 mdb, 我 们 在 需要 对 数 据 库 进 行 操 作 的 时 候 只 需 在 页 面 上 添 加 这 样 一 个 标 签 即 可 。 连 接 关 键 代 码 如 下 :Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“);定 义 驱 动 类 型String strDirPath=application.getRealPath(request.getRequestURI();strDirPath=strDirPath.substring(0,strDirPath.lastIndexOf()+“;得 到 数 据 库 的 存 放 路 径S
31、tring url = “jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=“+strDirPath+“db.mdb“;定 义 连 接 地 址Connection conn = DriverManager.getConnection(url);连 接 数 据 库Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery(sql);返 回 操 作 结 果4.3.3 注册和登录模块用户在购物系统的主页上,单击“注册”连接,如图,注册信息保存在reg.jsp。
32、13图 reg.jsp注册用户界面处理注册信息的文件为reg.jsp,实现流程如下。(1) 获取注册信息。获取注册信息主要利用Request对象的Form集合,获取表单中的用户名和密码,以及性别,联系电话,手机,主要实现代码如下:username=trim(Request.form(“username“),pwd=trim(Request.form(“pwd“) ,email=Request.form(“email“),tel=Request.form(“telephone“)(2) 检查注册信息是否完整。主要通过Ifelse语句检测表单中的数据是否为空。例如:function checkPw
33、d()if(document.all.loginPwd.value!=document.all.reLoginPwd.value)alert(对不起,两次输入的密码不一致,请重新输入!);document.all.loginPwd.value = “;document.all.reLoginPwd.value =“;document.all.loginPwd.focus();144.3.4系统主界面4.3.5详细订单界面/构造商品分类下拉列表jsonrpc = new JSONRpcClient(“JSON-RPC“);var result = jsonrpc.ajax.getCategory
34、();for (var i=0;i0)url = url+“window.location = url;4.3.6购物车界面购物车即用户所选中,但尚未付款成交的商品。用户所选的商品保存在shop_list表中,User字段为保存购买商品的用户,check字段保存商品是否成交的信息。因此通过查询该表中User字段为当前用户,且字段Check0(0表示为未成交)的记录,即可获知用户所买的商品。购物车界面如图5.6:图 购物车界面/构造商品分类下拉列表jsonrpc = new JSONRpcClient(“JSON-RPC“);var result = jsonrpc.ajax.getCatego
35、ry();for (var i=0;i0)url = url+“window.location = url;/修改选购数量function modiNum(selid,newNum)if (jsonrpc.ajax.modiCart(selid,newNum)var oldMoney = document.getElementById(“money“+selid).innerText;var newMoney = newNum*document.getElementById(“price“+selid).innerText;var diffMoney = newMoney - oldMoney
36、;var newTotal = document.all.totalMoney.innerText*1+diffMoney;document.getElementById(“money“+selid).innerText = Math.round(newMoney*100)/100;document.all.totalMoney.innerText = Math.round(newTotal*100)/100;alert(“);elsealert(“);/删除选购记录function delCart(selid)var url = “cart.do?method=delCartwindow.l
37、ocation = url;/清空购物车function clearCart()17var url = “cart.do?method=clearCart“;window.location = url;/继续购物function continueBuy()var url = “mer.do?method=searchMerwindow.location = url;/进入下一步function next()var url = “cart.do?method=checkOrder“;window.location = url;18图 浏览和购买商品模块程序流程图4.3.7 浏览和购买商品浏览商品
38、即显示商品的信息,以方便用户购买商品。电子商城系统提供了购物车在线付款功能,用户可以轻松实现在线购买商品。单击商品的 按键,显示商品的详细信息,包括用户对商品的投诉,以及解决问题的方案,如图开始用户登录购物车发送信息购物确认购物完成NY发送购买数量,总价格,及折扣等信息NN商品浏览购买商品在线支付YYNYY19图5.11 商品详细信息界面实现浏览商品功能的文件为GoodsView.asp,显示商品界面的流程如下:(1) 获取商品序号并连接数据库。ShopID = Request.QueryString(“ShopID“) 获取商品序号。(2) 查询该商品是否存在,不存在,则结束。sql = “
39、Select * From Goods Where goodscheck=true and ShopID=“否,则返回False. IsUser(User)函数判断当前用户是否为普通管理员:是,则返回True;否,则返回False。4.3.9 商品分类管理界面25电子商城系统对商品进行分类管理,包括硬件,软件等大类,每个大类还有小类。本系统允许管理员添加,修改和删除大类,并在每个大类下面添加,修改,删除小类。本系统只允许管理员管理商品类别。商品类别管理界面如图图 商品类别管理界面浏览商品类别需要了解商品类别的数据结构,不同的商品类别使用不同长度的字符表示,商品大类使用两位字符表示,该大类下的小类使用4位字符表示,依次类推。小类的类别表示是在所属商品类别标识基础上,加上两位字符构成,这两位字符表表示该小类在所属商品类别中的排列顺序。如使用“01”表示商品的硬件大类,则可以使用“0101”表示硬件类别下的“显示器”小类。GoodsType表保存商品类别信息,Type字段保存商品类别信息。假设商品大类类别序号为“TypeID”,其下的小类类别即Type字段中形同