电商平台的设计与实现_第1页
电商平台的设计与实现_第2页
电商平台的设计与实现_第3页
电商平台的设计与实现_第4页
电商平台的设计与实现_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

第一章绪论本章主要描述该系统的选题背景、目的以及意义,主要通过国内和国外在电商领域的现状来分析本系统对社会的积极作用。1.1课题背景、目的及意义当今社会网络技术水平越来越发达,人们的生活节奏也越来越快,现在的人们追求方便的生活方式,网上商城的出现使人们可以通过电子设备进行网上购物。随着Web应用的快速发展,各种各样的新的技术也慢慢提出,高并发、高可用性、分布式等技术还有各种各样的开源框架的发布和升级,也正是这些技术以及框架的问世使得Web应用的开发中的问题越来越少,也更加往更深层次的地方发展,网上商城的设计和管理工作也更加完善,实现工作更加高效,并且这些技术和框架在很多的购物网站的开发中应用的越来越多。而且现在的市场对这类购物网站的需求量也越来越大,越来越多的电商平台就这样诞生了。由于它相对于传统的实体店购物方式来说购物起来非常的方便,所以越来越多的人喜欢在网上进行购物。发达的网络购物环境为消费者或企业提供大量信息,这些信息使得整个购物环境更加透明,可以为消费者带来最好的购物体验,同时也促进了各个企业的技术演进和发展。可以说电商平台系统的出现改变了人们的生活方式,并带动了相关行业的发展,对社会的发展有十分积极的作用。1.2国内外研究现状1.2.1国外的研究现状电子商业(ElectronicCommerce,E-Commerce)这个概念是IBM公司在1996年最先提出来的了,为了和以前的电子商业的概念进行区分1997年IBM又提出了E-Business的概念。E-Business把电子商务的概念范围又进行了进一步的扩大,之前的E-Commerce的意思只是通过网络来进行各种各样的商务类型的活动,这次的E-Business还加入了通过各种各样的电子设备进行各种商务类型的交易活动。电子商务的商业模式是通过各种单子设备和互联网,在网上进行商品的交易活动。电子商务具有很强的生命力和优势性,它是在互联网迅速发展并且普及以及计算机软件和硬件快速发展的基础上应运而生的遍及各个行业的产物。电子商务可以非常有效的减少商品的运输成本、销售成本以及生产成本等一系列的成本。电子商务给消费者带来了方便快捷的购物体验,而且还有强大的各种购物平台的支持,消费者的服务也得到了保障,再加上强大的大数据分析,电商平台还可以分析出各个消费者的喜好,归功于相对完善的物流体系,消费者购买的商品也很快会到达消费者手中。电子商务可以像现在这样迅猛的发展也归功于现在的物流业、网络技术和金融安全技术的迅速发展和完善,在未来的很长一段时间内,电子商务技术的生机会越开越蓬勃。因此,电子商务和商场建设的巨大推动力变成了电子商务。随着电子商务对社会经济影响的扩大和深化,一种植根于信息化经济的新型商业文明正在兴起。建立适应电子商务发展的制度体系,对塑造未来至关重要。1.2.2国内的研究现状我国的电子商务现在处于初步的发展阶段,每年咦非常稳步飞快的速度向前发展着。据网经社发布的《2019年Q3中国电子商务数据发布报告》中显示2019年Q3中国网络购物市场交易规模达2.3万亿元,受季节因素影响环比略有下降,较去年同期增长22.0%,增长持续高于社会消费品零售总额的增速。从这方面来看,从今以后比较长的时间段中,我国的线上销售仍然还具有比较大的发展前景。由于网上商城具有方便快捷、价格透明、安全有保障等优点,网上商城己经出现了超越实体商城的趋势,随着科学技术的不断发展,网上商城取代实体商店将不再是空谈。在我国比较知名的网上商城有淘宝、拼多多、京东、咸鱼、腾讯拍拍等。现在很多的企业都开始做电商网站,利用电商的优点来销售自己的产品。除了阿里巴巴、京东这样的电商巨头外,近几年也出现了越开越多的电商企业,如拼多多和苏宁易购等,还有非常多的中小型企业乘着电商的东风发现了商机,很多中小企业也搭建了自己的电商平台。

第二章系统技术简介及环境本章主要对本系统中使用的一些主要技术的简单介绍以及本系统的开发环境和运行环境的介绍。2.1系统技术简介2.1.1JavaScriptJavaScript是一种脚本或编程语言,允许您在Web页面上实现复杂的功能-每次web页面不仅仅是坐在那里显示静态信息供您查看-显示及时的内容更新、交互式地图、动画的2D/3D图形、滚动的视频自动存储塔等-您可以打赌可能涉及到JavaScript。JavaScript语言在语法上类似于Java语言,但是后面对JavaScript越来越深入的了解,最终明白他们两个完全不一样!2.1.2jQueryjQuery是一个速度很快的、比较小的、跨越平台的、功能比较多的JavaScript库。它旨在简化HTML的客户端脚本。它使HTML文档遍历、各种JavaScript的操作和AJAX等工作变得非常简单,并且有很多API方便使用者来使用,这些API还支持多种浏览器。jQuery的主要目的是提供一种在您的网站上使用JavaScript的简单方法,使其更具交互性和吸引力。它还用于添加动画。2.1.3ServletServlet的核心是一个Java类,它可以处理HTTP请求。通常,它通过连接接受HTTP请求,然后由Tomcat做出响应。这样做的目的是,作为服务器端开发人员,您可以专注于如何处理HTTP请求和响应,而不必费心处理处理处理网络等问题的代码。容器将处理诸如将整个事情包装到HTTP响应对象中并将其发送到客户端(例如浏览器)之类的事情。2.1.4MySQLMySQL是一个基于SQL结构化查询语言的关系数据库管理系统。该应用程序用于广泛的用途,包括数据仓库、电子商务和日志记录应用程序。然而,MySQL最常见的用途是用于Web数据库。它可以用来存储任何东西,从一个单一的信息记录到一个在线商店的可用产品的整个库存。与脚本语言(如PHP或Perl)(均在我们的托管帐户上提供)相关联,可以创建网站,该网站将与MySQL数据库实时交互,以便快速向网站用户显示分类和可搜索的信息。之前MySQL是免费的,后来被Oracle公司收购了,推出了企业版的MySQL,该企业版不再免费!2.1.5MVCMVC是模型视图控制器,是一种软件体系结构,它将应用程序分为三个主要的逻辑组件:模型、视图和控制器。每个组件都是为处理应用程序的特定开发方面而构建的。MVC模式在软件的开发中是非常常见的一种模式,用于创建伸缩性好和可扩展性高的项目。使用MVC的应用程序可以分为三个核心组件:模型,视图和控制器。每个组件的任务不同,各付其职。(1)模型模型层封装了与应用程序相关的业务逻辑数据和数据处理方法。“Model”可以通过数据访问操作(Dao)直接访问数据库。“View”和“Control”不依赖于“Model”,模型层不在乎其显示方式,显示内容或操作方式。仅负责接受和处理Servlet提交的请求。(2)视图“View”可以达到在界面上显示数据的目的,并且可以显示模型反馈的数据。一方面,它是设计的系统与外界之间的接口。它可以接受外界输入的数据,然后根据逻辑处理数据并做出响应。另一方面,它也可以从服务器提取从逻辑操作获得的数据,然后根据需要将其显示给外界。一般而言,视图层是使用JSP技术表示的,没有处理任何实际的业务逻辑。(3)控制器“Control”可以在不同级别之间扮演组织的角色,实际上它就是“View”和“Model”之间的一个东西,顾名思义控制器,就是用来控制业务出路流程的。它的主要功能是接受用户的行为数据和“Model”更改。收到请求后,它将调用模型和视图中相关组件的逻辑方法以进行处理和响应。同时,当功能方法在模型层发生变化时,还通过控制器通知视图层,以实现模型层与视图的同步统一。2.1.6SSMSSM是Spring、SpringMVC、MyBatis组合框架的缩写,能非常好的实现MVC模式,非常好的充分发挥了各自的技术优势。其中通过先进的SpringMVC在表示层中完成处理页面的请求和数据转发的工作;通过先进的Spring强大的交互依赖数据注入技术大大降低了数据库与程序之间的依赖和耦合性,也可以使得程序员很好地养成用数据库接口进行编程的好习惯;通过MyBatis完成在持久层与数据库的交互处理工作。(1)SpringSpring是一个开源的框架,是一个轻量级的Java开发框架。Spring企业应用程序使用JavaBeans来完成必须完成的任务,但是Spring不局限于服务器。任何Java应用程序都可以利用Spring的简单性、可测试性和松散耦合的优点。简而言之,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。(2)SpringMVCSpringMVC是一个Spring框架中的一部分,通过实现MVC模式来非常好地将数据、业务与展示进行分离,很好的实现了显示处理和业务处理逻辑之间的低耦合性。SpringMVC是一个非常好的MVC框架,允许你轻松地编写HTML/JSON/XML,并方便的与Spring依赖的注入容器相结合。简而言之,它允许你专注于编写Java类而不需要处理Servlet管道代码,即处理HTTP请求和响应,并允许您在模型和视图之间很好地分离关注点。(3)MyBatisMyBatis是一个开源、轻量级、持久性框架。它是JDBC的封装,也是Hibernate的替代品。它把Java中SQL数据库和对象之间的映射自动化了。通过将SQL语句写到特定的映射文件中,实现了实现了对关系的映射,是一个非常出色的持久层框架。它抽象了大部分的JDBC代码的封装,减少了手动编写和对结果进行处理的繁琐过程。它提供了一个与数据库交互的简单API。它还支持自定义SQL、存储过程和高级映射。MyBatis与其他持久性查询框架的一个显著的区别在于是,MyBatis强调使用SQL,而Hibernate等其他持久性框架通常强调使用一种自定义的查询语言。2.2系统开发平台及运行环境2.2.1系统开发平台本系统的开发是在Tomcat8.5环境下进行的。Tomcat是Apache公司的一个JavaWeb服务器,它在开发中被广泛的使用。Tomcat的环境主要有以下几方面技术优势:1.Tomcat的最大优点是它是开源的。没有必要掏钱来使用这种软件。人们可以很容易地在互联网上下载它,并配置它,并开始使用它。。2.Apache软件基础提供定期更新,使其与其他软件版本兼容,并提供错误修复,从而使开发人员更易于使用。3.Tomcat支持SSL(安全套接字层),因此可以使用SSL证书进行配置,通过提供安全连接来保护敏感数据。4.Tomcat也可以配置为在不同的端口上运行多个Web应用程序。例如,它可以在8080、8081、9090端口号上运行三个应用程序。默认情况下,ApacheTomcat使用端口号8080。5.据说它很轻。也就是说,它在内存和资源利用率方面消耗较少,从而使应用程序在大多数系统上平稳运行,而无需特定的系统要求。2.2.2运行环境本系统运行在阿里云的Linux操作系统上,使用Tomcat8.5作为Web服务器软件,浏览器可以使用现在主流的大部分浏览器,如2345浏览器、遨游浏览器、Google浏览器等。第三章可行性分析本章主要从经济、技术、操作和运行环境几个方面对本系统进行可行性分析,来避免或者减轻项目开发后期可能出现的问题。3.1经济可行性电子商务给传统实体商业带了很多新的技术和强劲的性能。通过电子商务,人们可以在世界的各个地方进行商品的自由买卖。线上进行购物是一种更加普遍的电子商务,未来的销售模式有很大的趋势向电商方面靠近,电商带给人们的方便快捷的体验感实在太强烈了。互联网已经非常彻底的更改了现代人们进行购物的方法。因为它方便的特性性,现在和实体商店的购物比较来看,现在不管是年轻人还是中年人都喜欢在网上购物。同一时刻,对于在线的这种购物来说,所有的信息也越来越透明,在提高了用户购物体验的同时对于相关行业的也有一个良性的导向。可以看出本系统具有很好的市场前景,而且本系统的开发成本比较低,因此,开发电子商务平台等电子商务应用的经济可行性毋庸置疑。3.2技术可行性本系统采用的是JSP技术、SSM框架和MySQL数据库开发实现,开发与Windows10家庭中文版操作系统。Mybatis框架用于与后台数据库连接和交互。Mybatis是SSM中的M,是对JDBC的封装,是一个轻量级的ORM框架,可以添加、修改、删除和查询数据。SSM框架是一个常用的Web项目框架,功能不仅强大而且也很稳定,而MySQL呢,它不仅免费而且轻便,在开发的时候使用起来比较简单而且量级比较轻,并且在现在的实际开发中很多都在的使用,因此使用JSP、SSM和MySQL来完成该系统整体开发,因此说明本系统在技术方面也是可行。硬件方面,英特尔处理器已经到了第10代酷睿、AMD也发布了锐龙4000系列,内存方面DDR5也马上问世,各种超大容量的存储器比比皆是而且价格也足够低廉,硬件性能完全可以保证。3.3操作可行性目前,大多数电子设别都能正常的运行该系统,该系统可以发布到阿里云服务器,在电子设别上运行不会改变当前电子设备的系统的设置和布局,并且该系统的界面比较简单,操作门槛较低,拥有相对完整的提示信息,因此系统的操作方式在这个应用范围是行得通的。

第四章需求分析本章主要对系统进行功能需求和性能需求两方面进行分析,分析系统必须提供怎样的服务,系统必须完成什么样的功能,系统满足的性能指标等。4.1功能需求该《电商平台系统》采用B/S架构,除了一些Web项目的通用功能外,主要针对买家(用户)与卖家(管理员)两种角色,其中买家可以实现网上商城购物的常见的一些列流程以及操作,卖家(后台管理员)可以对整个网上商城的各个功能就行管理和操作。该系统严格遵守软件工程规范,努力要求做到系统的稳定性、可重用性和可扩充性。《电商平台系统》主要功能如下:买家(用户):注册和登录:用户可以在注册页面进行账号密码的注册,注册成功后可以登录系统进行,买家的相关操作。查看商品信息:系统用户和游客用户都可以查看系统中商品的信息,但是,游客用户不可以对商品进行加入购物车操作和收藏商品操作。购物车:买家可以把自己想要购买的商品放入购物车中,也可以放入多个商品,可以一次性进行付款购买。提交订单:用户在决定对商品进行购买时,就可以点击提交订单按钮,进行下单(提交订单操作),其中要选择收获地址。个人信息管理:用户登录系统成功后可以对在个人中心中自己的账号密码、邮箱、性别、收获地址、收藏夹内容、购物车内容、历史订单、商品的评论进行管理。卖家(管理员):客户管理:卖家(管理员)可以对已经注册的用户的相关的信息进行调整;商品管理:卖家(管理员)可以对整个系统的商品分类进行调整,还可以对单个商品的价格、数量等相关的东西进行调整;订单管理:查看订单,订单中包含该订单的商品,可以对订单进行评论和删除;评价管理:可以对自己对历史评论的查看以及删除;销售金额的统计和展示:可以对选定的某个时间段中的商品的销售数量进行统计,并且以柱状图的形式直观的展示出来。系统主要围绕游客、用户和管理员三者展开,不同的角色拥有不同的功能,系统功能用例图如图4-1所示。图4-1系统功能用例图游客可以对商品进行浏览,但是不可以进行收藏或者加入购物车,要想进行收藏或者加入购物车操作的话必须先进行登录,登录成功后就可以进行添加购物车,下订单和对个人信息管理等操作了。卖家登录系统后可以进行商品的编辑和删除等操作,对用户进行管理,对订单进行管理,对评论进行管理,还可以查看一段时间的销量情况。4.2性能需求本系统整体的结构相对比较简单,但是需要用到大量的数据和比较多的数据库的交互操作,由于使用的数据库软件是MySQL数据库,它可以满足平时的正常的使用,使用阿里云的双核8G的服务器,在性能方面满足正常的使用需求。系统对用户的信息安全方面有阿里云的保护,也保证的用户信息的安全。

第五章概要设计本章对该项目进行概要设计,对本系统的整体的框架、整体的体系结构进行设计,主要分析系统需要哪些模块,需要实现哪些功能等。5.1系统功能模块设计整个系统的功能模块图如图5-1所示。系统整个可以分为两大模块,买家(会员)模块和卖家(管理员)模块,而买家模块又可以分为注册登录模块、浏览商品模块、购物车模块、提交订单模块和个人信息管理模块,卖家模块可以分为客户管理模块、商品管理模块、订单管理模块、评论管理模块和销售金额统计模块,各个模块组成了一个完整的系统。图5-1功能模块图5.2业务流程分析因为整个系统的角色主要分为买家(用户)与卖家(管理员),下面就从买家和卖家的角度来对整个系统的流程进行分析。买家可以不进行登录系统,以游客的身份对商品进行浏览,但是不可以进行收藏或者加入购物车,要想进行收藏或者加入购物车操作的话必须先进行登录,登录成功后就可以进行添加购物车,添加了购物车买家也可以不马上提交订单,可以退出系统,下次登录系统再进行下单,如果想马上下单的话可以马上进行提交订单操作,确认好自己所要购买的商品的数量,选择好收货地址就可以下单了,买家(用户)流程如图5-2所示。图5-2买家(用户)流程图卖家成功登录系统就可以对系统的各个功能进行管理操作,编辑评论、管理用户、编辑商品信息和查看销量等,完成各种操作后退出系统,卖家(管理员)流程如图5-3所示。图5-3卖家(管理员)流程图5.4数据库设计本系统也属于信息系统,所以也应该具有信息系统所拥有的特定,即可以存储和管理大量的数据。所以本系统的数据库软件选择使用的是被很多程序员所使用的MySQL数据库。概念模型设计概念模型是用在抽象的信息世界方面的建模上的,是与具体的数据库管理系统没有任何关系的。要想把现实世界的某个东西抽象出来,并且变成某个数据库管理系统能够识别的类型。很多开发者们经常是这样做的,他们首先把现实世界的东西进行抽象,变成信息世界的东西,然后再把刚昂抽象好的信息世界的东西再次转化到机器能够认识的类型。换句话说也就是,第一步把现实中事物抽象成一种概念模型,然后再把这个模型变成某个数据库管理系统可以识别的信息类型。实际上,概念模型就是把现实世界的事物变成信息世界中的一个过渡。概念模型有很多种表述的方法,其中应用最广泛也是1976年由PeterChen提出的的实体-联系模型。这种方法使用E-R图的形式来抽象现实世界的事物的,称为实体-联系模型,简称E-R模型。根据功能模块的设计,管理员可以管理所有的用户、统计和管理所有的订单,并且一个订单中包含多个商品,管理所有的评价等,每个买家有属于自己的收藏夹、购物车、个人信息以及个人的历史订单等,买家可以对个人的这些信息进行编辑,整个系统的E-R图设计如图5-4所示。图5-4系统E-R图根据整个系统的功能设计以及E-R图设计所规划的主要实体有:用户(管理员与买家)、分类、商品、订单、购物车、评价。各个实体具体的描述属性图如下(由于实体属性较多,下图各个实体仅展示了与功能设计相关的属性):卖家(管理员)实体如图5-5所示,其中包括用户名、角色ID和密码等用户所需要的属性。图5-5卖家(管理员)实体图分类实体如图5-6所示,其中包括父分类ID和标记等属性,标记属性表示是否是一级分类和当前分类属于哪几个分类的子分类。图5-6分类实体图商品实体如图5-7所示,其中包括名称、价格、分类ID和销量等商品所需要的属性。分类ID属性用来标记该商品属于哪个商品分类。图5-7商品实体图订单实体如图5-8所示,其中包括买家ID、产品ID和订单状态等订单所需要的属性。由于一个订单属于不同的买家,而且一个订单中又包含很多种不同的商品,所以产品ID属性和买家ID属性分别用来和商品和买家进行关联。图5-8订单实体图评论实体如图5-9所示,其中包括产品ID、用户ID和评论内容等订单需要的属性。由于一条评论来自不同的买家对不同的产品,所以评论实体种要有产品ID属性和用户ID属性来和商品实体和用户实体关联。图5-9评论实体图购物车实体如图5-10所示,其中包括用户ID和产品ID等属性,通过用户ID要关联到用户,通过产品ID要关联到哪个商品。图5-10购物车实体图数据库表设计要想设计数据库的表,就得先设计好E-R图,把E-R图转换成数据库中的各个表结构。包括表的属性,表之间的关系,还有表中的记录。表设计必须符合实际的开发需求,而且需要给予适当的冗余,才会使系统的效率更高。本系统数据库表有以下表:用户表如表5-1所示;产品类别表如表5-2所示;产品表如表5-3所示;订单表如表5-4所示;评论表如表5-5所示;购物车表如表5-6所示;收藏表如表5-7所示。表5-1用户表字段名称数据类型主键是否空说明idint(11)YN用户IDusernamevarchar(32)NN用户名passwordvarchar(32)NN密码roleIdint(11)NN角色IDphotovarchar(128)NN照片地址sexint(1)NN性别ageint(3)NN年龄addressvarchar(128)NN地址用户表是user表用于存储用户的相关信息,用于前台的登录和后台管理员对用户的管理,包括username和password等字段,id为主键。表5-2商品分类表字段名称数据类型主键是否空说明idint(11)YN分类IDparentIdint(11)NN父类IDnamevarchar(128)NN名称tagsvarchar(32)NN标签rmarkvarchar(128)NN备注商品分类表是product_category表,存储商品的分类信息,用于显示商城首页面三级目录和后台的商品管理的二级目录,包括id、parentId和tags等字段,parentId表示该分类的父分类,tags表示该分类的全部上级分类。表5-3商品表字段名称数据类型主键是否空说明idint(11)YN商品IDproductCategoryIdint(11)NN分类IDnamevarchar(128)NN商品名称tagsvarchar(32)NN商品标签imageUrlvarchar(128)NN图片地址pricefloat(8,2)NN价格stockint(8)NN库存sellNumint(8)NN销售数量viewNumint(8)NN浏览次数commentNumint(8)NN评论数contenttextNN内容createTimedatetimeNN创建时间商品表是product表存储商品的相关信息,用于商城前台显示相关的商品和后台的商品管理,包括id、productCategoryId等字段,id为主键、productCategoryId为外键关联product_category表的id列。表5-4订单表字段名称数据类型主键是否空说明idint(11)YN订单IDsnvarchar(32)NN订单编号userIdint(11)NN买家IDaddressvarchar(128)NN买家地址moneydouble(8,2)NN价格productNumint(5)NN产品数量statusint(2)NN订单状态remarkvarchar(128)NN备注信息createTimedatetimeNN创建时间订单表是orders表存储订单的相关信息,用于用户个人的订单查看以及编辑和后台管理员对订单的编辑,包括id、userId等字段,id为主键,userId为外键关联user表的id列。表5-5评论表字段名称数据类型主键是否空说明idint(11)YN评论IDproductIdint(11)NN产品IDuserIdint(11)NN用户IDtypeint(2)NN评价类型contentvarchar(512)NN内容createTimedatetimeNN创建时间评论表是comment表存储对每一个商品的评论信息,用于前台用户查看商品的相关评论和后台管理员对评论的管理,包括id、productId和userId等字段,id为主键,productId和userId为外键分别关联product表的id列和user表的id列。表5-6购物车表字段名称数据类型主键是否空说明idint(11)YN购物车IDuserIdint(11)NN用户IDproductIdint(11)NN创产品IDnamevarchar(128)NN名称imageUrlvarchar(128)NN图片地址pricefloat(8,2)NN价格numint(8)NN数量moneydouble(8,2)NN总额createTimedatetimeNN创建时间购物车表是cart表,用于存储每一个用户自己的购物车信息,包括id、userId和productId等字段,其中id为主键,productId和userId为外键分别关联product表的id列和user表的id列。表5-7收藏夹表字段名称数据类型主键是否空说明idint(11)YNIDuserIdint(11)NN用户IDproductIdint(11)NN产品IDnamevarchar(128)NN名称imageUrlvarchar(128)NN图片地址pricefloat(8,2)NN价格createTimedatetimeNN创建时间收藏夹表是favorite表,用于存储每个用户的收藏夹信息,包括id、userId和productId等字段,productId和userId为外键分别关联product表的id列和user表的id列。本系统还有一些实现网站功能的辅助数据表,由于与主要业务关系不大,在此就不加赘述了。

第六章详细设计与实现本章主要讲解该项目的详细设计部分,从项目的搭建开始到各个模块的实现都给出了非常详细的描述以及相关部分关键代码的展示。6.1环境搭建6.1.1项目总体框架搭建电商平台系统采用MVC架构开发,整个项目总体框架如图6-1所示,controller包里主要是各种处理方法;service包中的类调用DAO(DataAccessObjects)层的方法实现复杂的数据库访问;DAO层是数据访问层,主要进行数据访问;entity是抽象数据模型,包括用户类,菜单类,购物车类等。web.xml是web容器的配置文件。图6-1项目源文件分布图6.1.2SSM配置 导入项目需要的核心jar包如图6-2所示。图6-2核心jar包配置web.xml配置中文过滤器、Spring配置文件的信息、ContextLoaderListener监听器、log4j日志、前端控制器。配置spring配置文件applicationContext.xml配置加载数据源的配置文件perties、事务管理器、配置C3P0数据源以及其相关信息、启动生命是的事务驱动、配置sqlSessionFactory工厂类、配置dao包的扫描,使动态的注入到Spring容器。配置springmvc的配置文件springmvc.xml扫描Controller注解、配置视图解析器、后台访问拦截器。6.2系统具体实现由于系统的代码量比较多,所以只展示部分重要的代码。6.2.1首页界面下图为商城首页的界面如图6-3所示,其风格基本参照了淘宝、当当等一些比较主流的电商平台的主页风格,页面顶部为供用户使用的一些选项,包括登录、注册、我的商城、购物车以及我的收藏等,当用户进行注册登录后,个通过我的商城下查看已买到的商品和个人主页。首页主题部分分为搜索栏、所有商品分类、广告位以及最新上架和最新热卖五个部分。图6-3首页界面如图6-4所示为商城首页的主分类的设计,首页的分类可以最高支持三级分类显示。图6-4三级分类相关的主要代码如下:<c:forEachitems="${productCategoryList}"var="productCategory"><liid="cat_${productCategory.id}"class="">//显示一级目录<h3><ahref="../product/product_category_list?cid=${productCategory.id}"title="${productCategory.text}">${productCategory.text}</a></h3><divid="cat_${productCategory.id}_menu"class="cat_menuclearfix"style=""><c:forEachitems="${productCategory.children}"var="child">//显示二级目录<dlclass="clearfix"><dt><ahref="../product/product_category_list?cid=${child.id}"href="">${child.text}</a></dt><dd><c:forEachitems="${child.children}"var="grandson"><ahref="../product/product_category_list?cid=${grandson.id}">//显示三级目录${grandson.text}</a></c:forEach></dd></dl></c:forEach></div></li></c:forEach>6.2.2商品浏览页面如图6-5所示为商品浏览页面,除了通用的网站header部分外,在页面左侧为热卖推荐商品,页面右侧为某一分类下的商品信息列表,商品信息包括商品图片、简介、价格以及最近的成交数量。而且该商品信息列表可以翻页,可以按照默认、销量、人气以及价格进行排序,可以按照用户所填写的价格区间进行筛选展示。图6-5商品浏览页面6.2.3商品详情页面如图6-6所示为商品详情页面,商品基本信息显示部分包括商品的多图片展示,并且支持放大功能,支持加入购物车和加入收藏,还可以看买过该商品的人给该商品留下的评论内容。在商品基本信息的下面分为两个部分,一个部分为热卖推荐商品,显示一些最近热卖且商家推荐商品;另一个部分显示商品的详情以及关于该商品的评论。图6-6商品详情页面6.2.4购物车页面如图6-7所示为用户购物车页面,用户喜欢的打算购买的商品可以添加到购物车,点击购物车就可以到购物车界面,在购物车里就可以看到自己加入到购物车的这些产品,可以调整购买数量,以及收藏或删除购物车中的商品。当确定要购买购物车中的商品时,可以点击确认并填写订单,来进一步完善订单的内容。图6-7购物车页面当用户确认需要购买的商品后,还需要进一步确认收货地址,也可以编辑新的收货地址来完善订单信息,当用户对上述所有信息确认无误时,可以通过确认提交订单按钮来完成订单的提交,如图6-8所示为收获地址页面。图6-8收货地址页面 完成订单的提交后,会出现下面的界面显示订单的编号和订单总价来提示用户提交订单成功,如图6-9所示为提交订单成功页面。图6-9提交订单成功页面6.2.5用户个人中心页面如图6-10所示为个人中心页面,用户登录后就可以通过主页的个人中心选项进入个人中心页面,个人中心页面可以管理用户的头像信息,用户基本信息,交易信息以及账户信息。通过下面页面用户就可以修改个人的基本信息,包括电子邮件、真实姓名和性别。图6-10个人中心页面如图6-11所示为买家所有购买过的商品的记录,也就是所有的订单,每一个订单显示该订单中购买的商品的信息和金额,还显示订单当前的状态,代发货、待收货或者已完成,如果是已经完成的状态,买家还可以对这次订单进行评论。图6-11订单页面如图6-12所示为用户收藏的页面,页面显示了所有用户收藏的商品的部分内容,包括图片、简介以及价格信息,用户可以删除收藏或点击某个产品来访问产品的详情页面。图6-12用户收藏页面如图6-13所示为买家的评论列表,显示买家的所有评论历史,每一条评论都包含评论内容,评论内容中含有好评、中评或差评等图案好友评论的时间,评论人,宝贝信息,也就是给哪一个商品进行的评论,最后还有删除按钮,也可以对评论进行删除操作。图6-13用户评论页面如图6-14所示为用户修改密码的页面,用户需要正确的输入自己登录时的原密码,还需要输入两次一摸一样的新密码才能完成对密码的修改操作。图6-14用户修改密码页面如图6-15所示为用户管理收货地址的页面,用户可以添加新的收获地址,通过点击新增收获地址按钮,填写收货人姓名、详细地址以及手机号。也可以对已经有的收获地址进行编辑和删除。图6-15用户收货地址页面6.2.6管理员管理页面该后台页面使用easy-ui框架,导入easy-ui所需的文件如图6-16所示:图6-16easy-ui文件在jsp页面导入所需要的easy-ui文件:<linkrel="stylesheet"type="text/css"href="../resources/admin/easyui/easyui/1.3.4/themes/default/easyui.css"/><linkrel="stylesheet"type="text/css"href="../resources/admin/easyui/css/wu.css"/><linkrel="stylesheet"type="text/css"href="../resources/admin/easyui/css/icon.css"/><scripttype="text/javascript"src="../resources/admin/easyui/js/jquery-1.8.0.min.js"></script><scripttype="text/javascript"src="../resources/admin/easyui/easyui/1.3.4/jquery.easyui.min.js"></script><scripttype="text/javascript"src="../resources/admin/easyui/easyui/1.3.4/locale/easyui-lang-zh_CN.js"></script>如图6-17所示为管理员的登录流程图,管理员需要正确的输入管理员的用户名、管理员的密码以及当前显示的验证码来登录后台管理系统。图6-17登录流程图登录界面如图6-18所示。图6-18后台登录页面如图6-19所示为管理员的管理页面,管理员可以通过该管理后台,管理系统设置、用户管理、系统日志、商品分类、商品管理、客户管理、订单管理、评论管理以及销售统计这九大类。图6-19后台管理页面左面侧边栏的实现代码如下:<divclass="wu-sidebar"data-options="region:'west',split:true,border:true,title:'导航菜单'"><divclass="easyui-accordion"data-options="border:false,fit:true"><c:forEachitems="${topMenuList}"var="topMenu"><divtitle="${topM}"data-options="iconCls:'${topMenu.icon}'"style="padding:5px;">//一级导航栏 <ulclass="easyui-treewu-side-tree"> <c:forEachitems="${secondMenuList}"var="secondMenu">//二级导航栏<c:iftest="${secondMenu.parentId==topMenu.id}"><liiconCls="${secondMenu.icon}"><ahref="javascript:void(0)"data-icon="${secondMenu.icon}"data-link="${secondMenu.url}?_mid=${secondMenu.id}"iframe="1">${secondM}</a></li> </c:if></c:forEach></ul></div></c:forEach></div></div> 6.2.7管理员系统设计如图6-20所示为系统设置的菜单管理页面,管理员可以通过该页面对网站的菜单进行管理,该管理主要是对后台管理页面的菜单进行管理。可以增加新的菜单、移除原有的菜单以及对现有菜单的修改和图标的添加。图6-20菜单管理页面如图6-21所示为系统设置的角色管理页面,管理员通过该页面可以管理网站的所有角色以及为角色分配相应的权限,没有相关权限的角色等系统过后就不具有相关的功能。用户可以删除和添加角色,也可以对现有的角色的信息进行修改。图6-21用户管理页面如图6-22所示为系统设置的修改密码页面,管理员通过该页面可以修改管理员的密码。管理员需要正确的输入自己登录时的原密码,还需要输入两次一摸一样的新密码才能完成对密码的修改。图6-22修改密码页面6.2.8用户管理如图6-23所示为用户管理的用户列表页面,管理员可以通过该页面来完成对后台系统所有用户的所有信息调整操作,以及对用户进行移除。并支持按用户名、所属角色和性别来检索用户。图6-23用户列表页面6.2.9系统日志如图6-24所示为系统日志的日志列表页面,管理员可以查看系统的日志来获得自己想要知道的相关信息。同时支持按日志内容搜索日志。图6-24日志列表页面6.2.10商品分类下图6-25所示为商品分类的分类列表页面,管理员可以通过该页面完成对商城商品分类的管理。系统支持的分类最大为三级,管理员可以添加和删除分类的项目,也可以配置每个分类的父子级关系来完成三级分类的配置。同时支持按分类名称搜索分类。图6-25分类列表页面6.2.11商品管理管理员可以通过该页面完成对商城商品的管理。该页面可以支持商品的添加和删除,以及对已有商品的修改。同时也支持按分类、商品标题以及价格区间对所有商品进行检索管理,商品管理流程图如图6-26所示,商品列表页面如图6-27所示。图6-26商品管理流程图图6-27商品列表页面如图6-28所示为商品管理的添加商品页面,管理员可以设置需要添加商品的分类、商品的价格等相关的信息。当用户输入商品的价格为整数时,系统会自动将商品的价格变成小数,非常的人性化。商品的详细描述同时支持图片的上传和信息的上传,该添加商品页面的详细描述的富文本编辑框使用ueditor。图6-28添加商品页面首先下载并导入ueditor所需的文件,如图6-29所示:图6-29ueditor所需文件接下来引入配置文件<!--配置文件--><scripttype="text/javascript"src="../../resources/admin/ueditor/ueditor.config.js"></script><!--编辑器源码文件--><scripttype="text/javascript"src="../../resources/admin/ueditor/ueditor.all.js"></script>接着创建一个udeitor变量,就可以正常使用了varue=UE.getEditor('add-content');图片的上传功能的实现代码(js部分) functionupload(){ //判断是否为空 if($("#photo-file").val()=='')return; varformData=newFormData(); formData.append('photo',document.getElementById('photo-file').files[0]); $("#process-dialog").dialog('open'); varinterval=setInterval(start,200); //ajax异步上传 $.ajax({ url:'upload_photo', type:'post', data:formData, contentType:false, processData:false, success:function(data){ clearInterval(interval); $("#process-dialog").dialog('close'); if(data.type=='success'){ $("#preview-photo").attr('src',data.filepath); $("#add-photo").val(data.filepath); $("#edit-preview-photo").attr('src',data.filepath); $("#edit-photo").val(data.filepath); }else{ //上传失败,消息提醒 $.messager.alert("消息提醒",data.msg,"warning"); } }, error:function(data){ clearInterval(interval); $("#process-dialog").dialog('close'); $.messager.alert("消息提醒","上传失败!","warning"); } }); } 图片的上传代码(java部分)publicMap<String,String>uploadPhoto(MultipartFilephoto,HttpServletRequestrequest){ Map<String,String>ret=newHashMap<String,String>(); //获取文件后缀 Stringsuffix=photo.getOriginalFilename().substring(photo.getOriginalFilename().lastIndexOf(".")+1,photo.getOriginalFilename().length()); if(!"jpg,jpeg,gif,png".toUpperCase().contains(suffix.toUpperCase())){ ret.put("type","error"); ret.put("msg","请选择jpg,jpeg,gif,png格式的图片!"); returnret; } StringsavePath=request.getServletContext().getRealPath("/")+"/resources/upload/"; FilesavePathFile=newFile(savePath); if(!savePathFile.exists()){ //若不存在改目录,则创建目录 savePathFile.mkdir(); } Stringfilename=newDate().getTime()+"."+suffix; try{ //将文件保存至指定目录 photo.transferTo(newFile(savePath+filename)); }catch(Exceptione){ //TODOAuto-generatedcatchblock ret.put("type","error"); ret.put("msg","保存文件异常!"); e.printStackTrace(); returnret; } ret.put("type","success"); ret.put("msg","用户删除成功!"); ret.put("filepath",request.getServletContext().getContextPath()+"/resources/upload/"+filename); returnret; }6.2.12客户管理如图6-30所示为可以管理的客户列表页面,管理员可以通过该页面完成对商城用户的管理工作。该页面支持用户的添加和删除,以及对已有用户的修改。同时也支持按照客户名称、客户性别和客户状态对客户进行检索。图6-30客户列表页面6.2.13订单管理如图6-31所示为订单管理的订单列表页面,管理员可以通过该页面完成对商城订单的管理工作。该页面支持管理员编辑与查看相应的订单,同时也支持按照订单编号、用户名、订单状态和订单金额对订单进行检索。图6-31订单列表页面6.2.14评论管理如图6-32所示为评论管理的评论列表页面,管理员可以通过该页面完成对商城商品评论的管理工作。该页面支持管理员对评论进行编辑与删除,同时支持按照商品、用户以及评价类型对评价进行显示。图6-32评论列表页面6.2.15统计销售如图6-33所示为统计销售的统计页面,管理员可以通过改页面完成对商城销售情况的查看工作。该页面支持管理员选择时间段对销售金额进行查询,页面会以直方图的形式显示出该时间段内的销售金额的具体情况。图6-33销售统计页面该统计图表使用的是echarts,需要导入echarts所需的文件如图6-34所示。图6-34echarts所需文件在jsp页面引入echarts,如下:<scripttype="text/javascript"src="../../resources/admin/echarts/echarts.min.js"></script>图表的js代码如下: $("#search-btn").click(function(){ vardata={}; varstartTime=$("#search-startTime").datebox("getValue"); varendTime=$("#search-endTime").datebox("getValue"); if(startTime!=''){ data.startTime=startTime; } if(endTime!=''){ data.endTime=endTime; } $.ajax({ url:'get_data', dataType:'json', type:'post', data:data, success:function(data){ if(data.type=='success'){ varstatsData=data.dataList; varxList=[]; varyList=[];//遍历数据 for(vari=0;i<statsData.length;i++){ xList.push(statsData[i].date); yList.push(statsData[i].money); }//显示数据 varoption={ title:{ text:'订单销售金额统计' }, tooltip:{ trigger:'axis', axisPointer:{ type:'cross', crossStyle:{ color:'#999' } } }, legend:{ data:['销售金额'] }, xAxis:{ data:xList }, yAxis:{}, series:[{ name:'销售金额', type:'bar', data:yList }] }; //使用刚指定的配置项和数据显示图表。 myChart.setOption(option); }else{ $.messager.alert('信息提示',data.msg,'warning'); } } }); });

第七章系统测试7.1测试的目的与目标在此系统进行初步实现之后,开始进行对系统的测试工作,测试的目的是要找出系统中存在的bug和系统的不完善部分,为为开发人员和项目经理提供反馈,测试该项目是否达到了上线的标准,测试的结果也为以后的测试和升级工作提供了凭证。7.2测试方法如何测试与测试的内容同样重要。当谈到软件测试方法时,可以采取很多不同的方法。知道该采取哪种方法可能会令人困惑。黑盒子还是白盒子?脚本式的还是探索式的?手动还是自动?敏捷还是瀑布?没有最好的方法。在许多情况下,都是使用软件测试方法的组合。7.3界面测试测试界面是否可用、是否人性化,如表7-1是本系统界面测试表。表7-1界面测试表检查项测试人测试结果窗口切换、移动、改变大小时正常吗?本人正常各种界面元素的文字正确吗?(如标题、提示等)本人正常各种界面元素的状态正确吗?(如有效、无效、选中等状态)本人正常各种界面元素支持键盘操作吗?本人正常数据项能正确回显吗?本人正常执行有风险的操作时,有“确认”、“取消”等提示吗?本人正常各种界面元素的布局合理吗?美观吗?本人正常7.4功能测试因为本系统的模块实在太多,测试的内容也就非常多而且非常的杂乱,所有对功能的测试就只展示一下登录的测试,如表7-2是本系统用户登录的测试表。表7-2用户登录测试表功能特性管理员登入验证测试目的验证是否输入合法的信息测试数据用户名称:admin密码:admin验证码:3b4g测试内容操作描述数据期望结果实际结果测试状态1输入用户姓名和验证码,按“登陆”按钮。用户姓名:admin,密码为空验证码:3b4g显示警告信息“用户名或密码为空!”显示警告信息“用户名或密码为空!”与期望结果相同2输入密码和验证码,按“登陆”按钮。用户姓名为空,密码:admin验证码:3b4g显示警告信息“用户名或密码为空!”显示警告信息“用户名或密码为空!”与期望结果相同3输入用户姓名和密码以及验证码,按“登陆”按钮。用户姓名:xxxxxx,密码:1111111验证码:3b4g显示警告信息“用户名或密码误!”显示警告信息“用户名或密码误”与期望结果相同4输入用户姓名和密码以及验证码,按“登陆”按钮。用户姓名:admin,密码:admin验证码:1111显示警告信息“验证码错误!”显示警告信息“验证码错误”与期望结果相同5输入用户姓名和密码和验证码,按“登陆”按钮。用户名:admin,密码:admin验证码:3b4g正确登入到会员操作界面正确登入到会员操作界面与期望结果相同7.5测试结论从一开始的代码就写的很好,那么在以后的测试中测试出bug的也就越少,在修复bug的过程中的烦恼也就越少,修复bug中的心情也会越好。系统化的测试就是有顺序的对系统进行测试,去设法检查出系统存在的问题。最可能出现问题的地方就是各个模块就行整合的部分,这些地方的测试需要测试人员手动的进行测试。自动化测试是最理想的测试方法,让机器去全自动的进行测试工作,人去进行测试会疲惫,会有出粗的地方,但是机器则不会有这些问题。回归测试是重新运行功能性和非功能性测试,以确保先前开发和测试的软件在更改后仍能运行。在每次对系统实现一个小功能或者对系统做出一个小改变的时候就开始测试是一个非常好的习惯,它可以使我们尽早的发现问题或bug和缩小问题的范围,尽早的做出修改和处理,不会造成问题的堆积,从而引发更多的问题,也为以后的测试减少了工作难度。

结论本文阐述了电商平台系统的开发背景与意义,并对系统进行了全面设计,进而实现了该系统。电商平台系统实现了电商购物平台的常用功能,对于进行在线购物的买家和在线出售的买家都实现了其基本需求,具有一定的实用性。总的来说,电子商务的发展还有很大的潜力,电子商务网站并不只是意味着一个商城系统,电子商务的东风会刮向越来越多的领域,同时也会有越来越多的个性化、专业化、定制化的电子商务网站出现在人们的生活中,这是电子商务未来发展的必然趋势。通过开发这个系统,我比较全面和熟练的掌握了Java的核心知识以及各种常用中间件以及框架的整合和使用,也养成了一个良好的编程习惯,并且在开发的过程中更加进一步的提高了Java的熟练度和对Java的理解,也让我积累了许多宝贵经验:系统分析的好坏对系统开发的成功与否起着决定性的作用,成功开发的主要因素就是有一份好的系统设计。我们在准备开发之前不要着急动手写代码编程,应该先用比较多的时间认真把系统的分析做到位,还有数据库的分析也要做好,写出相关的开发文档等。然后再开始编写程序代码,这样做才会使得动手开发的时候遇到更少的问题,而且每段代码都写的有条不紊,条理清晰。该系统的编写时间有限,而且还存在着很多的不足的地方,比如没有考虑到高并发的情况等,我会在以后的工作中学习新的知识来慢慢完善本系统。

参考文献[1]王超.建设电子商务网站后台功能模块研究.智库时代,2019.[2]袁伦才.基于Web商务网站的设计与实现.东北大学,2008.[3]肖露.Spring框架研究与应用[D].长沙理工大学,2011.[4]梁晓强,刘玲惠.企业网站后台管理系统的系统设计[J].才智,2012.[5]苏庭波,王世权.基于SSM的品优购后台管理系统的设计与实现[J].江西科学,2018.[6]马林.J2EE企业级应用系统及其安全框架研究与实现[D].西南交通大学,2007.[7]李志义,刘奕然.基于JSP的网上书店的一种设计与实现.情报杂志,2007.[8]JingCAO.TheApplicationofVisualArtDesigninE-commerceWebsites.DEStech出版社,2018.[9]YuexiuGu.ServletAndJSP.AtlantisPress,2016.[10]AlainRoyer,MoniqueBernier,KaremChokmani.AMergingAlgorithmforRegionalSnowMappingoverEasternCanadafromAVHRRandSSM/IData[J].RemoteSensing,2013.

致谢在论文完成之际,我首先要向尊敬的李宁老师和高保禄老师表示最真挚的谢意。在论文写作期间,为了保证我们毕业设计的正常进行,学院和基地安排了优秀的老师指导我们进行毕业设计,并且不时地盘问我们毕业设计的进展情况。没有李宁老师和高保禄老师的仔细指导我的论文与系统就不可能顺利的完成,再次对你们表示诚心地感谢。老师尽心竭力的工作态度、严谨的治学风格,使我深受启发;同时也很感谢帮助过我和我一齐探讨问题的同学们。为我们这次设计的正常开展提供了必要的基础。本次毕业设计,就要画上一个句号了。感谢软件学院给我提供学习的平台,让我在这里接受了四年正规系统的本科学习。感谢所有关心、支持、帮助过我的良师益友。最后,向在百忙中抽出时间对本文进行评审并提出宝贵意见的各位老师表示诚心地感谢!

外文原文Duetotheinstabilityofsoftwaresystemsproducedoveraperiodoftimeunlikeothersystems,ithasbecomeessentialtoresearchuponandascertainthestabilityofsoftwaresystemswhichdeterminesotherfactorssuchasreliability,trustworthinessetc.Thoughtheoreticallythereisnodeteriorationexpectedforasoftwareproduct,itdoesowingtochangesinsoftwarewhichinvolvesre-engineeringofthechangedcode.There-engineeringofthesoftwareproductisnotessentialforsmallchangesthatwouldhavebeenmadeinthecodeofthesoftwaremodules.TheideabehindthisresearchworkistobringoutthebasictechniquesusedinPatternidentificationofRealTimeComputingSystemsbyusingtheSoftwareStabilityModel(SSM).AcasestudyhasbeenbuiltforillustratingtheapplicationofSSMtorealtimecomputingsystemsthatuseAdaptiveReconfigurablecontrols.The"ControlSoftware"thatisbeingusedintherealtimecomputingsystemmakesuseofthepropertiesofAdaptiveControl[8].AdaptiveReconfigurableControlfindsapplicationsinareasincludingrealtimesystemssuchasAirTrafficControlSystems,NetworkedMultimediaSystems,CommandControlSystems,MedicalCriticalCaresystems,RealTimeOperatingSystems(RTOS)etc.Inessencethe"ControlSoftware"ismodeledasa"System"andhencetheconceptsofstabilityofaphysicalsystem(asdefinedinControlEngineering)areappliedtothatofthesoftwareusedinreal­timesystems.Softwarefailurehappensinmanyrealtimesystemssuchastransportationsystems,medicalsystems,defensesystems,etc.Asoftwarewhichisdynamicallycontrollingthebufferingfunctionsofadatabasemanagementsystem,orasoftwarethatusestheconceptofcachingforOSmemorymanagementaretypicalexamplesofsoftwareusingalgorithmswithembeddedcontrolandadaptation.WehaveconsideredaRealTimeComputingSystemthatusesAdaptiveControlAlgorithms.TheintuitiveuseofthestabilityconceptsavailableinControlEngineeringinRealTimeComputingsystemswiththesupportoftheSoftwareStabilityModel(SSM)isthethemeofthisresearchwork.FortherealtimesystemshowninfigI,usingRe­configurablecontrol,thecontrollawsarestoredintheControllerDatabase.Therequired"ControlLaw"wouldbechosenasrequired.Thehighlightofreconfigurablecontrolisthatthecontrollercouldberedesignedatruntime.Thecodelevelimplementationofthecontrollawasshownin[9],couldbeusedinreconfigurablecontrol,inordertoproducestabilityandperformancechecksonthe"controlsoftware"used.AdaptivecomponentsareincludedinRealTimeSystemsinordertocopeupwithchangingenvironments.FigI.BlockDiagramofaRealTimeSystemwithAdaptiveReconfigurableControlIn[3]thestabilitycriteriaforsoftwarehasbeenstatedasfollows:"Asystemissaidtobestablewhenlittledisturbancesappliedtothesystemhavenegligibleeffectsonthesystem.Incaseofmodeldrivensoftwaresystemthisimpliestheverysmallchanges

温馨提示

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

评论

0/150

提交评论