jsp婚庆用品网上专卖店ssh论文_第1页
jsp婚庆用品网上专卖店ssh论文_第2页
jsp婚庆用品网上专卖店ssh论文_第3页
jsp婚庆用品网上专卖店ssh论文_第4页
jsp婚庆用品网上专卖店ssh论文_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

_________________________________________________________________________________________PAGEII基于Java技术的婚庆用品的设计专卖店与实现摘要随着科技的迅速发展,计算机技术已应用到社会的各个领域。随着计算机技术和通信技术的迅速发展,网络的规模也逐渐增大,网络的元素也随之不断增加,有的利用其通信,有的利用其商业用途,在网络上进行出售、收购、宣传等操作,从而使得网络越来越成为现今社会上必不可少的元素,而网站就是这个网络里很庞大的元素。通过网上婚庆店这个平台,可以使用户足不出户就可以了解丰富的商品信息,极大的方便了用户,系统的主要功能包括:商品类别管理、商品信息管理、订单管理、会员管理、系统公告管理等。分为管理员用户、会员用户这二种用户平台。本系统前台主要使用JSP作为开发语言,后台使用MySql作为数据库管理系统,开发环境是MyEclipse,服务器采用tomcat,开发出的一个基于Web技术的B/S结构的网上婚庆店。关键词电子商务JSPB/S结构AbstractWiththerapiddevelopmentofscienceandtechnology,thecomputertechnologyhasbeenappliedtoeachfieldofthesociety.Alongwiththecomputertechnologyandtherapiddevelopmentofcommunicationtechnology,thescaleofnetworkisgraduallyincreasing,networkelementalsoincreasesceaselesslysubsequently,someusetheircommunication,usingsomeofitscommercialpurposes,inthenetworkforsale,purchase,publicityandotheroperations,sothatthenetworkhasmoreandmorebecomenowadaysessentialelements,whilethewebsiteisverylargeinthenetworkelements。ThroughtheB2Celectroniccommercesystemthisplatform,usercanremainwithindoorscanunderstandthewealthofinformationgoods,agreatconveniencetousers,themainfunctionsofthesysteminclude:thecommoditycategorymanagement,merchandisemanagement,ordermanagement,membermanagement,bulletinmanagementsystem.Asadministrator,membersoftheusertothetwouserplatform。ThefrontofthesystemusingJSPasadevelopmentlanguage,theuseofMySqlasadatabasemanagementsystem,thedevelopmentenvironmentisMyEclipse,serverusingtomcat,developedaWebtechnologybasedonB/Sstructureconvenientinformationinquirysystem。KeywordsElectroniccommerceJSPB/Sstructure_______________________________________________________________________________________________________PAGEPAGE34吉林广播电视大学毕业论文(设计)_________________________________________________________________________________________目录TOC\o"1-3"\h\u30524摘要 I26661Abstract II19056第1章系统概述 1146381.1电子商务介绍 1199711.2网上婚庆店 1180501.2.1基础网上婚庆店 2270061.2.2网上婚庆店环境 317491.3网上婚庆店Web平台的开发方式 3227511.3.1Web平台的体系架构 3280941.3.2Web服务器平台 4129511.3.3Web平台的开发方法 7113571.3软硬件需求 717476第2章可行性分析 7141562.1技术可行性 7262822.2经济的可行性 75472.3操作可行性 8107962.4法律的可行性 87461第3章需求分析 8132283.1平台功能的设计分析 8204003.2系统用户用例图 948763.2.1普通用户用例图 982383.2.2管理员用例图 9232543.3功能模块需求分析 934933.4设计的基本思想 11292013.5性能需求 1178583.5.1系统的安全性 11229943.5.2数据的完整性 11146793.6界面需求 1111342第4章系统分析与设计 1346794.1数据库的分析与设计 1324194.1.1数据库的概念结构设计 13142344.1.2数据库的逻辑结构设计 1613634.1.3数据库的连接原理 1966664.2中文乱码问题处理 203819第5章系统功能实现 21207775.1管理员登录页面 21148505.2管理员模块 22312765.2.1商品类别管理 22279665.2.2商品信息管理 26200405.2.3用户信息管理 29157745.2.4系统管理 30134865.3普通用户模块 31191905.3.1系统主页面实现 31301195.3.2用户注册 3219749第6章系统测试 3380406.1系统测试目的与意义 33164096.2测试过程 34293226.2.2主页面的登录模块测试 34196806.3其他错误 346992结论 3616472致谢 3726151参考文献 38PAGE1第1章系统概述1.1电子商务介绍电子商务是伴随着信息经济的脚步,在20世纪90年代兴起于美国、欧洲等发达国家的一个新概念。目前,国际上对电子商务尚无统一的定义。一般来说,狭义的概念是指在开放的国际互联网及其它网络的环境下,通过服务器的运用,实现消费者的网上购物、企业间商业交易的一种新型交易运营模式。即电子商务=Web(服务器)+IT(信息技术)+企业业务。①电子商务的类型:从其交易对象来看,电子商务的应用包括企业与企业之间的电子商务(B2B)、企业与消费者之间的电子商务(B2C)、企业与政府之间的电子商务(B2G)、政府与消费者之间的电子商务(G2C)、企业内部的电子商务。②电子商务的本质特点:电子商务的重点在于商务、电子商务的核心竞争力在于信息平台、电子商务的使命在于利用互联网技术对传统资源的整合。电子商务实现贸易的全球化、直接化、网络化,发展电子商务是不可阻挡的趋势,而我国的电子商务尚不完善。要实现全过程的电子商务,就要加快网络基础设施建设和网络互联,实现金融电子化及海关、税务、行政监管部门电子化,市场环境网上支付,建立安全体系认证结构,健全相关法律法规等等。1.2网上婚庆店网上婚庆店是保证以电子商务为基础的网上交易实现的体系。网上交易的信息沟通是通过数字化的信息渠道实现的,交易双方必须拥有相应的信息技术工具。为保证交易双方进行等价交换,必须提供相应的货物配送和支付结算手段。此外,为保证企业、组织和消费者能够利用数字化沟通渠道,保证交易能顺利进行配送和支付,需要由专门提供服务的中间商参与,即需要电子商务服务商。一个完整的网上婚庆店,如图1-1所示:图1-1网上婚庆店下面按网上婚庆店的基础和环境来分别介绍。1.2.1基础网上婚庆店基础网上婚庆店包括Internet信息系统、电子商务服务商、企业、组织与消费者、实物配送和支付结算五个方面。这五方面有机地结合在一起,缺少任何一部分都可能影响网上交易的顺利进行。①Internet信息系统Internet信息系统是指企业、组织和电子商务服务商在Internet的基础上开发设计的信息系统。Internet信息系统的作用是提供一个开放、安全和可控制的信息交换平台。它是网上婚庆店的核心和基石。②电子商务服务商Internet作为蕴藏巨大商机的平台,需要有一大批专业化分工者进行相互协作,为企业、组织与消费者在Internet上进行交易提供支持。电子商务服务商就起着这种作用。电子商务服务商主要有以下四种:a、接入服务商(InternetAccessProvider,IAP),它主要提供Internet通信和线路租借服务。b、服务提供商(InternetServiceProvider,ISP),它主要为企业建立网上婚庆店提供全面支持。一般企业、组织与消费者上网时只通过ISP接入Internet,由ISP向IAP租借线路。c、内容服务提供商(InternetContentProvider,ICP),它主要为企业提供信息内容服务,如财经信息、搜索引擎。d、应用服务系统提供商(ApplicationServiceProvider,ASP),它主要是为企业、组织建设网上婚庆店时提供解决方案。③企业、组织与消费者企业、组织与消费者是网上交易的主体,他们是进行网上交易的基础。企业网上婚庆店是由基于Intranet(企业内部网)基础上的企业管理信息系统、电子商务站点和企业经营管理组织的人员组成。如图1-2所示。图1-2企业网上婚庆店结构图a、企业内部网络系统企业在组建网上婚庆店时,应该考虑企业的经营对象是谁,如何采用不同的策略与这些客户进行联系。一般说来,可以将客户分为三个层次并采取相应的对策。对于特别重要的战略合作伙伴,企业允许他们进入企业的Intranet系统直接访问有关信息;对于与企业业务相关的合作企业,企业同他们共同建设Extranet,实现企业之间的信息共享;对普通客户,则可以通过Internet进行联系。b、企业管理信息系统企业管理信息系统的作用是在组织中发挥收集、处理、存储和传送信息以及支持组织进行决策和控制。根据组织所具有的不同功能,可以将信息系统划分为营销、制造、财务、会计和人力资源等信息系统。要使各职能部门的信息系统能够有效地运转,必须实现各职能部门信息化。根据组织内部不同的组织层次,企业管理信息系统可划分为操作层、知识层、管理层、战略层四种信息系统。操作层是支持日常管理人员对基本经营活动和交易进行跟踪和记录。知识层是用知识和数据支持工作人员的工作,帮助公司整理和提炼有用的信息和知识。管理层是用来为中层经理的监督、控制、决策以及管理活动提供服务。战略管理层,主要是注视外部环境和企业内部制定和规划的长期发展方向等问题。c、电子商务站点电子商务站点起着承上启下的作用,一方面,它可以直接连接到Internet,顾客或者供应商可以直接通过网站了解企业信息并与企业进行交易。另一方面,它将市场信息同企业内部的管理信息系统连接在一起,将市场需求信息传送到企业的管理信息系统,使企业可以根据市场的变化组织经营管理活动。企业网上婚庆店是由上述三个部分组成。企业内部网络系统是信息传输的媒介,企业管理信息系统是信息加工、处理的工具,电子商务站点是企业拓展网上市场的窗口。④实物配送进行网上交易时,如果用户与消费者通过Internet定货、付款后,不能及时送货上门,便不能实现满足消费者的需求。因此,一个完整的网上婚庆店,如果没有高效的实物配送物流系统支撑,是难以维系交易顺利进行的。⑤支付结算一个完整的网上交易,它的支付也应该是在网上进行的。但由于目前网上交易尚处在演变过程中,诸多问题尚未解决,如信用问题及网上安全问题,因而许多网上交易并不是完全在网上完成交易的。1.2.2网上婚庆店环境网上婚庆店在提供交易所必须的信息交换、支付结算和实物配送这些基础服务的同时,还将面临使用信息技术作为交易平台带来的新问题。如信息安全问题、身份识别问题、信用问题、法律问题、隐私问题、税收问题等。上述问题的解决必须从外部市场环境开始着手。对于信用、税收问题需要通过制定相关经济政策进行推进。对于安全和身份识别问题需要通过技术进步来保证。对于法律和隐私等问题则需要加强电子商务方面的立法。对于推动消费者上网购物,则需要全社会的参与和引导。因此,发展电子商务是一项系统性的工程,它需要企业主导、政府引导和社会参与。1.3网上婚庆店Web平台的开发方式1.3.1Web平台的体系架构Web平台的三层分布式体系结构为图1-3所示。客户端浏览器客户端浏览器Web服务器应用服务器数据库服务器反馈页面HTTP请求事务逻辑请求结果图1-3Web平台的三层分布式体系结构三层分布式体系结构的第一层是客户端表示层、客户层仅仅是整个应用系统的图形界面表示;处于第二层的应用服务层,有一台或多台服务器组成,其中Web服务器主要负责对客户端应用程序的集中管理,应用服务器(ApplicationServer)主要负责应用逻辑的集中管理,即事务处理;处于第三层的是数据中心层,有数据库系统,主要负责数据的存储和组织、数据库的分布式管理、数据库的备份和同步等等。电子商务的应用可以看作一个客户与电子商务站点之间的一系列交互过程。整个交互过程从客户端所浏览的一个页面开始。用户单击该页面上的一个按钮或链接就产生一个请求,该请求通过HTTP传递到Web服务器上,Web服务器将页面中的请求及有关数据取出来传给应用服务器,应用服务器调用相关的商务逻辑,实际上是一个Web应用程序,进行相应的处理,从外部数据库服务器存取数据,然后将结果传回Web服务器,Web服务器再将数据结果转换为页面的形式传给浏览器,于是在客户端产生了新的页面。该页面是这一次请求的结果,也是下一次请求的开始。1.3.2Web服务器平台在网上婚庆店的开发中,Web服务器平台的选择是至关重要的,它包括Web服务器操作系统和Web服务器软件,而Web服务器软件通常又决定了将采用什么样的操作系统。Web服务器平台决定了电子商务网站的可靠性、对客户的服务能力,以及为了维持网站运行所需要付出的代价。只有选择了正确的产品以及作出相应正确的设计,网上婚庆店才可以成为商家和顾客之间进行沟通的良好途径。三种最常用的Web服务器平台是:基于ApacheHTTPServer的服务器平台、基于网景的NES的服务器平台、基于微软的IIS的服务器平台。微软的Windows2000Server+IIS架构的Web服务器平台功能强大,配置灵活,支持目前流行的多种服务器端开发技术,开发成本低、周期短、维护相对简单,很适合中小企业进行网上婚庆店的开发,我们采用了基于微软的IIS的Web服务器平台。下面就三种Web服务器平台的特点作一比较。1.基于ApacheHTTPServer的服务器平台Apache是一种功能强大、高灵活性、高可扩展性的免费Web服务器软件。通过灵活的配置,ApacheWeb服务器可以实现诸多强大的功能,Apache源代码开放,所以很容易与第三方模块相结合,便于进一步扩展功能,定制成适合自己需要的系统。Apache可运行在多种操作系统及硬件平台上,但通常是与Linux操作系统搭配来组建Web服务器平台。如果采用Linux+Apache架构,可以搭建大型Web服务器平台,实现复杂的企业级网上婚庆店。由于Linux和Apache都是免费的软件,只需要花费很低的成本就可以搭建出灵活的网上婚庆店Web平台,但是它的开发是复杂而艰巨的,由于Linux和Apache都是开放的、不断扩展中的软件,还不是很完善,系统的配置和维护比较困难,需要专业人员的参与,对于小型的企业网上婚庆店并不适合。2.基于网景的NES的服务器平台网景公司的NetscapeEnterpriseServer(NES)是一个非常流行的Web服务器平台,很适合开发复杂的企业级网站,几乎可以在所有流行的操作系统上运行,包括Digital、Unix、HP-UX、Solaris和WindowsNT等。因特网上很多有名的网站都是用NES开发的。NES功能强大,拥有广泛的第三方组件及工具支持,而且支持多种编程模型。NES通常构建在Linux或Unix类操作系统上,一般适用于开发大型的企业网上婚庆店。3.基于微软的IIS的服务器平台微软公司的InternetInformationServer(IIS)是因特网上非常流行的WWW服务器软件,既适用于小网站,也适合于交易量很大的企业级网站。目前,IIS只能运行在WindowsNT或Windows2000Server上。IIS内有一个集成的搜索引擎,允许用户用多种工具(包括ASP、ActiveXDataObjects以及SQL数据库查询)来创建搜索表,IIS允许用远程浏览器对服务器进行管理,支持多个虚拟主机。此外由于引入了ASP技术,你可以很方便的利用它来创建动态网页。Windows2000Server+IIS的架构是当前非常流行的一种Web服务器平台,它的配置和开发都比较容易,很适合中小企业开发B2C型的网上婚庆店。4.Web平台的动态设计技术目前比较流行的Web开发技术有:CGI,ASP,PHP,JSP,ASP.NET等。在本网上婚庆店的开发中,我们主要采用了目前比较流行的,来自微软公司的Web动态设计技术ASP.NET。①CGI技术CGI(公共网关接口CommonGatewayInterface)是最古老的Web程序设计方式,它提供了一个外部应用程序与Web服务器交互的标准接口。CGI最大的好处在于其与浏览Web站点的用户之间的交互能力,使信息网关、反馈机制、访问数据库、订阅和查询等一系列灵活复杂的操作得以实现。CGI程序可以使用Perl,C,C++等任何能够形成可执行程序的语言编写,跨平台性能极佳,几乎可以在任何操作系统上实现。但是CGI开发很复杂,且不具备事务(Transaction)处理功能,会大量挤占Web系统的资源,影响系统的运行效率。②ASP技术ASP(ActiveServerPages)内含于IIS中,提供了一个服务器端的脚本运行环境,现在的IIS5.0已经支持ASP3.0了。利用它可以产生和运行动态的、交互的Web服务应用程序。与常见的在client端实现动态主页的技术如JavaApplet、ActiveXControl、VBScript、JavaScript等不同,ASP中的命令和Script语句都是由服务器来解释执行的,执行结果产生动态生成的Web页面并送到浏览器,而Client端技术的Script命令则是由浏览器来解释执行的。ASP的优点是使用Script(描述性的语言),不需要编译,可嵌入到Web页面中,并且由于ASP在服务器端解释执行,开发者可以不必考虑浏览器是否支持。ASP的缺点是它的跨平台能力差,目前只能运行在微软的Web服务器上,且安全性不好,需要注意经常下载微软发布的补丁程序。③PHP技术PHP是一种跨平台的服务器端的嵌入式脚本语言,它大量地借用C、Perl语言的语法,并结合PHP自己的特性,使Web开发者能够快速写出动态页面。它可以在Windows、Unix、Linux的Web服务器平台上正常运行,还支持IIS、Apache等通用服务器软件,用户在更换服务器平台时,只需要作少量的改变即可。PHP最大的好处在于它是完全免费的,可以不受限制的获得源码,使得开发者容易加入自己的特色。PHP的缺点在于虽然它支持目前大多数的数据库,但是提供的数据库接口不统一,比如对Oracle、MySQL、Sybase的接口都不一样,而且缺乏对分布式多层系统结构的支持,由于网上婚庆店会涉及到多种数据源,而且通常采用分布式体系结构,因此并不适合用来开发网上婚庆店。④JSP技术JSP是Sun公司推出的新一代站点开发语言,它最大的特点是将Web程序设计的逻辑处理和内容与外观设计隔开,通过使用JSP标记和小脚本来生成页面上的动态内容。在服务器端,JSP引擎解释JSP标记和小脚本,生成所请求的内容,例如通过访问JavaBeans组件,使用JDBC/JDO技术访问数据库,并且将结果以HTML或XML页面的形式发送回浏览器。由于JSP页面的内置脚本语言是基于Java编程语言的,拥有Java编程语言“一次编写,各处运行”的跨平台无关性的好处,开发效率高,安全性好。⑤ASP.NET技术NET框架是.NET平台中居于核心地位的编程引擎,它提供了.NET代码的公共运行环境和一个语言无关的基本类库。.NET框架是高生产率的、基于标准的多语言应用程序执行环境,处理基本杂务和减轻部署任务。应用程序执行环境管理内存,解决版本控制问题以及提高应用程序的可靠性、可伸缩性和安全性。公共语言运行库是.NET框架中的引擎,它提供了一个安全的托管执行环境,并且旨在用于支持开发人员使用多种不同的语言来创建应用程序。它有统一的类型系统并允许跨语言继承和调试。通过使用.NET框架,开发人员就拥有了速度最快、效率最高的生成应用程序的方法。.NET平台具有高安全性,.NET框架通过其核心安全功能提供保护客户机和服务器的方法。由于公共语言运行库在核心层透明地处理安全性,因此开发人员可将精力集中于应用程序逻辑。开发人员仍然可以随时使用和扩展安全模型。目前,CGI技术由于开发复杂,效率也不是很高,现在已经很少有人再用它来开发Web应用程序。ASP和PHP技术则在国内比较流行,但是由于PHP自身的缺点,并不是很适合开发网上婚庆店,JSP在国际上比较流行,适合开发一些企业级网上婚庆店,但现在在国内运用的还比较少,在技术上和成本上要求都比较高。因此对于一些中小企业开发B2C型网上婚庆店,采用微软的IIS+ASP方式,开发周期短,成本低,通过引入XML技术来描述及传送数据内容,可以开发出灵活的电子商务应用,但是ASP的跨平台能力差,目前只能运行在微软的Web服务器上,且安全性不好,需要注意经常下载微软发布的补丁程序。因此,本系统采用ASP.NET+IIS5.0、SQLServer2000为开发工具,具有良好的扩展性。1.3.3Web平台的开发方法本系统主要运用了MVC来阐述该系统的开发过程,经过系统规划、系统需求分析、系统数据库设计、系统总体设计、系统详细设计和测试逐步完成系统各功能的实现,将计算机作为管理决策的支持手段,融入日常业务的各个环节,使得管理更加规范,同时也能够更好的为顾客服务,该系统大大提高了工作效率,为公司带来了更好的社会效益和经济效益。1.3软硬件需求硬件需求:CPU:Pentium以上计算机内存:512M以上软件需求:操作系统版本:WindowsXP/vista/Win7开发工具:MyEclipse6.0.1后台服务器:ApacheTomcat6.0开发语言:Java浏览器:IE6.0第2章可行性分析2.1技术可行性本系统开发工具是MyEclipse和MySql数据库,开发语言是Java,主要使用了J2EE的技术,java是一种面向对象编程语言,简单易学而且灵活方便。大三时就学习了java课程,大四期间也系统的了解了J2EE的知识,本系统总体上开发难度不高,数据库的设计和操作是本系统设计的核心。在大学期间学习过软件工程,软件测试,UML统一建模语言等课程,每个学期也会完成对应的课程设计,具备一定的系统分析、设计和测试能力。因此,完成系统实现在技术上完全具有可行性。2.2经济的可行性本系统所用的软件都是开源的,为开发软件节省了大量的金钱和时间,达到降低成本,提高开发效率的目的,本系统对计算机配置的要求不高,甚至网吧更换下来的低配置电脑都可以完全满足需要,所以在经济上具有完全的可行性。2.3操作可行性本系统操作简单,输入信息页面大多数都是下拉框的选择形式,在某些页面,信息可以自动生成,无需输入,时间的输入也是用的日历控件,操作简便,对操作人员的要求很低,只需对WINDOWS操作熟练,加之对本系统的操作稍加培训即可工作,而且本系统可视性非常好,所以在技术上不会有很大难度。2.4法律的可行性本网上婚庆店是自行开发的管理系统,是很有实际意义的系统,开发环境软件和使用的数据库都是开源代码,开发这个系统不同于开发普通的系统软件,不存在侵权等问题,即法律上是可行的。第3章需求分析3.1平台功能的设计分析1.在平台功能的分析基础上,得到本平台的功能模块图如下:网上家具店index.jsp。商品修改网上家具店index.jsp。商品修改用户管理管理进入新闻管理用户注册商品管理商品添加会员管理广告链接新闻修改新闻添加广告设置链接管理商品名称用户修改会员删除商品搜索网站布局图3-1平台购物模块图3.2系统用户用例图3.2.1普通用户用例图出于安全性的考虑,普通用户只有浏览商品和商品查询、商品购买等功能,其他的删除修改功能都没有设计,因为普通用户最主要关心的就是商品信息的更新和查询等功能,普通用户用例图如图3.2所示:图3-2普通用户用例图3.2.2管理员用例图管理员是系统的核心用户,涉及到七大功能模块,管理员对系统的所有信息有着操作的权限,能够及时动态的更新系统的各项信息。图3-3管理员用例图 功能模块需求分析本系统最大的特点是使用操作简单、友好的提示信息。本系统将实现以下基本功能:(1)系统具有简洁大方的页面,使用简便,友好的错误操作提示(2)管理员用户具有商品类别管理、商品信息管理、商品信息更新管理、订单管理、会员信息管理、公告管理、系统管理功能(3)普通用户用户具有浏览商品、商品查询、购买商品、修改个人信息等功能(4)具有较强的安全性,避免用户的恶意操作系统的功能结构图,分普通用户平台,管理员平台。普通用户功能模块图说明:普通用户可以在线浏览商品,查询商品,浏览公告信息,如果要购买、下订单操作,首先需要注册一个个人账号,然后登陆到系统中,如功能图3-4所示:图3-4普通用户用户功能模块图管理员功能模块图说明:管理员是功能最多的一种用户角色。(1)商品类别信息管理模块:在该模块中完成对商品类别信息的管理,包括类别录入、查询、修改、增加和删除等功能操作。其中类别信息包括类别名称、类别介绍等信息。(2)商品信息管理模块:在该模块中定义了商品信息的管理,其功能包括商品录入、查询、删除等操作。(3)会员管理模块:该模块中包括浏览会员信息和删除会员信息2个功能。(4)系统管理模块:在该模块中定义了系统日常维护的功能,包括公告信息的添加和查询,修改功能,以及系统用户管理和修改密码等功能。管理员用户功能模块图如图3-5。图3-5管理员用户功能模块图3.4设计的基本思想设计思想遵循以下几点:1.采用B/S模式进行开发,其优点是后台与前台处理层次分明,而且符合众多已经习惯网页搜索方式的用户。2.采用面向对象的开发与设计理念。运用面向对象技术的前提是对整体系统的高度和准确抽象,通过它可以保证系统良好的框架,进而带来产品较强的稳定性和运行效率。3.采用模块化设计。模块化设计要求将整个系统划分成基于小的模块,有利于代码的重载,简化设计和实现过程。4.简单方便的系统界面。设计简单友好的系统界面,方便用户较快的适应系统的操作。5.速度优先原则。由于此工具最重要的评测标准就是速度,因此在设计过程中,具体过程尽量做到资源占用少,速度快。6.设计既要突出重点,又要细致周到。要符合设计需求,在有可能改进的地方进行扩充,使系统更适应用户的需要。3.5性能需求3.5.1系统的安全性本网上婚庆店在管理权限上要严格进行控制,具体要求如下:1.要想管理本系统的商品信息,必须先要凭用户名和密码登陆到系统中,没有权限的用户不能通过任何方式登录系统查看系统的任何信息和数据,以确保系统的严密性和安全性。2.在具体实现中设定不同权限,不同权限用户登录到系统后,不能越级操作,管理员可以使使用所有模块;普通用户用户只能在线浏览信息,比如,查询商品信息、在线购买、下订单等功能。3.5.2数据的完整性1.各种记录信息的完整性,信息记录内容不能为空2.各种数据间相互联系的正确性3.相同数据在不同记录中的一致性3.6界面需求界面设计目前已经成为评价软件质量的一条重要指标,一个好的用户界面可以增加用户使用系统的信心和兴趣,提高工作效率,JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。创建动态页面非常方便。用户界面是指软件系统与用户交互的接口,通常包括输出、输入、人-机对话的界面格式等。1.输出设计输出是由计算机对输入的原始信息进行加工处理,形成高质量的有效信息,并使之具有一定的格式,提供管理者使用,这是输出设计的主要职责和目标。系统设计的过程正好和实施过程相反,并不是从输入设计到输出设计,而是从输出设计到输入设计,这是因为输出表格直接与使用者相联系,设计的出发点应当是保证输出表格方便地为使用者服务,正确及时反映和组成用于各部门的有用信息。输出设计的原则是考虑既要全面反映不同管理层的各项需要,又要言简意赅,不要将用户需要和不需要的都提供给用户。2.输入设计输入数据的收集和录入是比较费事的,需要大量的人力和一定设备,并且容易出错。如果输入系统的数据有错误,则处理后的输出将扩大这些错误,因此输入数据的正确性对于整个系统质量的好坏是具有决定性意义的。输入设计的原则有如下几点:1)输入量应保持在能满足处理要求的最低限度。设计中可采用设置字段初值,下拉式数据窗口等方式尽量减少用户键盘输入量。输入量越少,错误率就越少,数据准备时间也减少。2)输入的准备及输入过程应尽量容易进行,从而减少错误的发生。3)应尽量早对输入数据进行检查(尽量接近原数据发生点),以便使错误及时得到更正。4)输入数据尽早地用其处理所需的形式被记录,以避免数据由一种介质转移到另一种介质时需要转录而可能发生的错误。

第4章系统分析与设计4.1数据库的分析与设计计算机信息系统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。数据库已经成为现在信息系统等计算机系统的基础与核心部分。数据库设计的好坏直接影响到整个系统的质量和效率。数据库的设计一般经过规划。需求分析、概念设计、逻辑设计、物理设计5个步骤。4.1.1数据库的概念结构设计概念设计是指在数据分析的基础上自底向上的建立整个系统的数据库概念结构,从用户的角度进行视图设计,然后将视图集成,最后对集成的结构分析优化得到最后结果。数据库的概念结构设计采用实体—联系(E-R)模型设计方法。E-R模型法的组成元素有:实体、属性、联系,E-R模型用E-R图表示,是提示用户工作环境中所涉及的事物,属性则是对实体特性的描述。概念设计的目标是产生反映企业组织信息要求的数据库概念结构,即概念模式。概念模式是独立于数据库逻辑结构,独立于支持数据库的DBMS,不依赖于计算机系统的,根据以上对数据库的需求分析,并结合系统概念模型的特点及建立方法,建立E-R模型图。实体间关系属性实体实体间关系属性实体

(1)普通用户实体E-R图如图4-1所示:性别姓名年龄性别姓名年龄密码密码联系方式用户名联系方式用户名普通用户普通用户图4-1普通用户E-R图(2)商品类别实体E-R图类别介绍类别介绍是否删除类别名称是否删除类别名称商品类别商品类别图4-2商品类别信息实体E-R图

(3)商品信息E-R图商品介绍商品图片商品价格商品介绍商品图片商品价格商品品牌商品品牌商品名称类别ID商品名称类别ID商品信息商品信息图4-3商品信息实体E-R图(4)公告信息E-R图公告内容公告内容发布时间发布时间公告标题公告标题公告信息公告信息图4-4公告信息实体E-R图

(5)管理员信息E-R图登陆账号登陆账号登陆密码用户ID登陆密码用户ID管理员管理员图4-5管理员信息实体E-R图(6)订单信息E-R图送货地址付款方式图片总金额送货地址付款方式图片总金额下单时间绍下单时间绍订单编号会员ID订单编号会员ID订单信息订单信息图4-6订单信息实体E-R图4.1.2数据库的逻辑结构设计我们知道,数据库概念模型独立于任何特定的数据库管理系统,因此,需要根据具体使用的数据库管理系统的特点进行转换。即转化为按计算机观点处理的逻辑关系模型,E-R模型向关系数据库模型转换应遵循下列原则:*每一个实体要转换成一个关系*所有的主键必须定义非空(NOTNULL)*对于二元联系应按照一对多、弱对实、一对一、多对多等联系来定义外键。根据E-R模型,普通用户公寓管理系统建立了以下逻辑数据结构,下面是各数据表的详细说明。(1)普通用户表主要是记录了普通用户基本信息。表结构如表4-1所示。表4-1普通用户表(t_user)列名数据类型长度允许空是否主键说明user_idint4否是用户IDuser_namevarchar50否否用户名user_pwvarchar50否否用户密码user_realnamevarchar50否否姓名user_sexvarchar50否否性别user_telvarchar20否否联系方式user_addressvarchar20否否住址商品类别信息表主要是记录了商品类别的基本信息,表结构如表4-2所示。表4-2商品类别信息表(t_catelog)列名数据类型长度允许空是否主键说明catelog_idint4否是类别IDcatelog_namevarchar50否否类别名称catelog_miaoshuvarchar50否否类别介绍(3)商品信息表主要是商品的相关信息,其中ID是主键,表结构如图4-3所示。表4-3商品信息表(t_goods)列名数据类型长度允许空是否主键说明goods_idInt4否是商品IDcatelog_idInt4否否类别IDgoods_namevarchar50否否名称goods_miaoshuvarchar50否否介绍goods_picvarchar50否否商品封皮shichangjiaDate50否否商品价格goods_tejiavarchar50否否商品特价(4)公告信息表记录了管理员发布的系统公告基本信息,表如图4-4所示。表4-4公告信息表(t_gonggao)列名数据类型长度允许空是否主键说明idint4否是公告IDtitlevarchar50否否公告标题contentvarchar50否否公告内容shijianvarchar50否否发布日期(5)管理员信息表主要记录了管理员的账号信息,包括用户名和密码,表结构如表4-5所示。表4-5管理员信息表(t_admin)列名数据类型长度允许空是否主键说明userIdint4否是编号userNamevarchar50否否用户名userPwvarchar50否否密码(6)订单信息表主要记录的会员的订单的信息,包括订单编号、下单时间等,表结构如表4-6所示。表4-6订单信息表(t_order)列名数据类型长度允许空是否主键说明order_idint4否是编号order_datevarchar50否否下单时间order_zhuangtaivarchar50否否订单状态songhuodizhivarchar50否否送货地址fukuanfangshivarchar50否否付款方式jinevarchar50否否总金额user_idint4否否会员ID(7)留言信息表主要记录了会员的留言的信息,包括留言标题、留言内容等,表结构如表4-7所示。表4-7留言信息表(t_liuyan)列名数据类型长度允许空是否主键说明idint4否是编号titlevarchar50否否留言标题contentvarchar50否否留言内容shijianvarchar50否否留言时间4.1.3数据库的连接原理采用JDBC连接数据库的方式,只需在工程中导入对应数据库的jar包,就可以方便的对数据库进行连接,在程序中,用Class.forName()方法来加载驱动程序,在用DriverManager的getConnection()方法就可以创建一个数据库连接。程序采用的是DAO模式来操作数据库,DAO(DataAccessObject,数据访问对象),是Java编程中的一种经典模式,已被广泛应用,也是J2EE架构中持久层框架的基础知识,基于分层次式的软件架构来实现对数据库的访问操作。DAO模式的主要思想就是从抽象数据源获取与操纵数据的方法。抽象数据的含义就是编写应用程序的程序员不必关心数据库的物理位置,已经是何种数据库,只需使用封装数据库中表示记录的数据对象即可。其思想如图4-11所示:DataSource封装使用DataSource封装使用DataAccessObjectBusinessObjectDataAccessObjectBusinessObject创建/使用获取/修改创建/使用获取/修改DataTransferObjectDataTransferObject图4-11DAO模式类图图中BussinessObject是业务对象,是使用DAO模式的客户端;DataTransferObject数据传输对象,在应用程序不同层次之间传输对象,在一个分布式应用程序中,通常可以提高整理的性能;DataObjectAcces数据输入/输出对象封装了对数据源的一些基本操作;DataSource指的是数据源。可以从图中看出,DAO模式分离了业务逻辑和数据罗即将,是的编写的软件具有良好的层次式体系结构。本系统为了方便数据库的操作,主要使用DBContent的对象来接一个数据库(建立一个类DBContent),代码如下:publicDBContent(){ StringCLASSFORNAME="com.mysql.jdbc.Driver";//连接数据库的驱动 Stringurl="jdbc:MySql://localhost:1433;databaseName=db_tushu"; Stringuser="root";//连接数据库的用户名 Stringpassword="root";//连接数据库的密码 try{ Class.forName(CLASSFORNAME); con=DriverManager.getConnection(url,user,password);//加载数据库的驱动 stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); } catch(Exceptionex){ ex.printStackTrace(); } } 在程序需要连接数据库的地方,只需要生成一个DBConnet的对象,就可以对数据库进行连接并操作。4.2中文乱码问题处理在程序中经常会遇到中文乱码的情况,如果手动的在servlet和jsp页面进行设置,相当麻烦。因此,在程序的开始就写了一个过滤器SetCharacterEncodingFilter。在web.xml中配置:<filter><filter-name>SetCharacterEncodingFilter</filter-name><filter-class>myweb.util.filter.SetCharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>gb2312</param-value></init-param></filter><filter-mapping><filter-name>SetCharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern>//*表示工程下所有的页面都会有此过滤器的处理</filter-mapping>对应的SetCharacterEncodingFilter.java文件中的重要代码,在初始化init()方法中定义:publicvoidinit(FilterConfigfilterConfig)throwsServletException{ this.filterConfig=filterConfig;this.encoding=filterConfig.getInitParameter("encoding");Stringvalue=filterConfig.getInitParameter("ignore");}第5章系统功能实现5.1管理员登录页面1.描述:为了保证系统的安全性,要使用本系统必须先登陆到系统中。2.程序运行效果图如图5-1所示:图5-1管理员登陆页面设计3.在登陆页面输入用户名和密码以,点击提交按钮,跳转到登陆的service中,在该service中会对用户名,密码进行判断,如果正确提示“通过验证”,进入到管理界面,如果错误则提示“用户名和密码不正确”,页面调转到登陆页。loginservice关键代码:publicStringlogin(StringuserName,StringuserPw,intuserType){ try { Thread.sleep(700); }catch(InterruptedExceptione) { //TODOAuto-generatedcatchblock e.printStackTrace(); } Stringresult="no"; if(userType==0){ //系统管理员登陆 Stringsql="fromTAdminwhereuserName=?anduserPw=?"; Object[]con={userName,userPw}; ListadminList=adminDAO.getHibernateTemplate().find(sql,con); if(adminList.size()==0){ result="no"; } else{ WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); TAdminadmin=(TAdmin)adminList.get(0); session.setAttribute("userType",0); session.setAttribute("admin",admin); result="yes"; } } if(userType==2){ } returnresult; }5.2管理员模块1.描述:管理员主页面:左方页面展示了管理员可操作的七大功能,进入相关的管理页面可以链接到子菜单,并且高亮显示,每个管理模块下面都有相应的子菜单。2.程序运行效果图如图5-2所示:图5-2管理员主页面在每个jsp页面将会对相关用户进行拦截操作,这样可以提高安全性,防止用户不经过登陆页面而进入任何子菜单页面:if(session.getAttribute("user")==null){out.print("<script>alert('请先登录!');window.open('../index.jsp','_self')</script>"); }5.2.1商品类别管理1.类别信息录入(1)描述:管理员输入类别相关正确信息后点击录入按钮,如果是没有输入完整的普通用户信息,比如没有输入类别名称,都会给出相应的错误提示,不能录入成功。输入数据都通过form表单中定义的方法onsubmit="returncheckForm()"来检查,checkForm()函数中是各种的校验输入数据的方式。程序效果图如下图5-3所示:图5-3类别信息录入

3.流程图如下图5-4所示:登陆系统登陆系统管理员录入商品类别信息管理员录入商品类别信息系统验证录入类别信息录入成功结束通过未通过图5-4商品类别信息录入流程图 2.类别信息管理(1)描述:管理员点击左侧的菜单“商品类别管理”,页面跳转到类别管理界面,调用后台的action类查询所有商品类别信息。(2)程序效果图如下图5-5所示图5-5商品类别管理类别管理关键代码:publicStringcatelogMana(){ Stringsql="fromTCatelogwherecatelogDel='no'"; ListcateLogList=catelogDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("cateLogList",cateLogList); returnActionSupport.SUCCESS;} publicStringcatelogAll(){ Stringsql="fromTCatelogwherecatelogDel='no'"; ListcateLogList=catelogDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("cateLogList",cateLogList); returnActionSupport.SUCCESS; } publicStringcatelogAdd(){ TCatelogcatelog=newTCatelog(); catelog.setCatelogName(catelogName); catelog.setCatelogMiaoshu(catelogMiaoshu); catelog.setCatelogDel("no"); catelogDAO.save(catelog); this.setMessage("操作成功"); this.setPath("catelogMana.action"); return"succeed"; } publicStringcatelogDel(){ Stringsql="fromTGoodswheregoodsDel='no'andgoodsCatelogId="+catelogId; ListgoodsList=goodsDAO.getHibernateTemplate().find(sql); if(goodsList.size()>0){ this.setMessage("请先删除此类别下的商品"); this.setPath("catelogMana.action"); } else{ TCatelogcatelog=catelogDAO.findById(catelogId); catelog.setCatelogDel("yes"); catelogDAO.attachDirty(catelog); this.setMessage("操作成功"); this.setPath("catelogMana.action"); } return"succeed"; }3.类别信息删除(1)描述:先是点击类别信息管理,页面跳转到类别管理界面,浏览所有的类别信息,点击要删除的类别,弹出的确定对话框,即可删除该类别信息。2.程序效果图如下图5-6所示图5-6类别信息删除5.2.2商品信息管理1.商品信息录入(1)描述:在此页面主要是输入商品信息,包括商品编号、名称、商品介绍、商品图片、商品价格等,其中商品介绍这个地方,使用的是开源的在线文本编辑器fckEditor这个富文本框实现。是否为空也是通过form表单中的onsubmit="returncheckForm()来检查。(2)程序效果图如图5-7所示:图5-7商品信息录入(3)在整个系统中所有涉及输入日期的地方都是采用的mydata97这个日历控件的方式来实现,要在工程中导入Calendar.js文件,在jsp页面开始引入<scripttype="text/javascript"src="../js/calendar.js"></script>该js文件,在文本框的属性定义中定义方法onclick="newCalendar().show(this);"即可。2.销售管理管理(1)描述:管理员点击左侧的菜单“销售管理”,页面跳转到销售管理界面,调用后台的商品Action类查询出所有的商品信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出商品信息。(2)程序效果图如下图5-8所示图5-8销售信息管理页面销售管理关键代码:publicStringgoodsNoTejiaAdd(){ TGoodsgoods=newTGoods(); goods.setGoodsCatelogId(goodsCatelogId); goods.setGoodsName(goodsName); goods.setGoodsYanse(goodsYanse); goods.setGoodsMiaoshu(goodsMiaoshu); goods.setGoodsPic(fujian); goods.setGoodsShichangjia(goodsShichangjia); if(goodsTejia==0){ goods.setGoodsTejia(goodsShichangjia);// goods.setGoodsIsnottejia("no"); } else{ goods.setGoodsTejia(goodsTejia); goods.setGoodsIsnottejia("yes"); } goods.setGoodsKucun(goodsKucun); goods.setGoodsDel("no"); goodsDAO.save(goods); this.setMessage("操作成功"); this.setPath("goodsManaNoTejia.action"); return"succeed"; } publicStringgoodsNoTejiaDel(){ TGoodsgoods=goodsDAO.findById(goodsId); goods.setGoodsDel("yes"); goodsDAO.attachDirty(goods); this.setMessage("操作成功"); this.setPath("goodsManaNoTejia.action"); return"succeed"; } publicStringgoodsManaNoTejia(){ Stringsql="fromTGoodswheregoodsDel='no'orderbygoodsIsnottejia"; ListgoodsList=goodsDAO.getHibernateTemplate().find(sql); for(inti=0;i<goodsList.size();i++){ TGoodsgoods=(TGoods)goodsList.get(i); System.out.println(goods.getGoodsCatelogId()); goods.setGoodsCatelogName(catelogDAO.findById(goods.getGoodsCatelogId()).getCatelogName()); } Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("goodsList",goodsList); returnActionSupport.SUCCESS; } publicStringgoodsShezhiTejia(){ TGoodsgoods=goodsDAO.findById(goodsId); goods.setGoodsIsnottejia("yes"); goods.setGoodsTejia(goodsTejia); goodsDAO.attachDirty(goods); returnActionSupport.SUCCESS; } publicStringgoodsKucun(){ Stringsql="fromTGoodswheregoodsDel='no'orderbygoodsIsnottejia"; ListgoodsList=goodsDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("goodsList",goodsList); returnActionSupport.SUCCESS; } publicStringgoodsRuku(){ TGoodsgoods=goodsDAO.findById(goodsId); goods.setGoodsKucun(goods.getGoodsKucun()+rukushuliang); goods.setGoodsTejia(goodsTejia); goodsDAO.attachDirty(goods); returnActionSupport.SUCCESS; } publicStringgoodsDetailHou(){ Maprequest=(Map)ServletActionContext.getContext().get("request"); TGoodsgoods=goodsDAO.findById(goodsId); request.put("goods",goods); returnActionSupport.SUCCESS; } publicStringgoodsDetail(){ Maprequest=(Map)ServletActionContext.getContext().get("request"); TGoodsgoods=goodsDAO.findById(goodsId); request.put("goods",goods); returnActionSupport.SUCCESS; } 5.2.3用户信息管理1.会员信息管理(1)描述:游客访问该站点的时候,可以注册成为会员,管理员登陆后可以管理会员信息,点击左侧的“会员管理“,页面调转中后台的是java类userAction,在此类中,读取数据库中,提取会员的信息,绑定到request对象,再输出到相应的jsp显示页面页面。(2)程序效果图如图5.9所示:图5-9会员信息管理会员管理核心代码:publicStringuserDel(){ TUseruser=userDAO.findById(userId); user.setUserDel("yes"); userDAO.attachDirty(user); this.setMessage("删除成功"); this.setPath("userMana.action"); return"succeed";} publicStringuserXinxi(){ TUseruser=userDAO.findById(userId); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("user",user); returnActionSupport.SUCCESS; } publicStringuserMana(){ ListuserList=userDAO.findAll(); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("userList",userList); returnActionSupport.SUCCESS; }5.2.4系统管理1.查询管理员信息(1)描述:点击系统管理菜单,右侧展示了所有的系统管理员信息。主要包括用户名和密码。(2)程序效果图如图5-12所示:图5-12查询管理员2.添加管理员(1)描述:输入要添加管理员的信息以后,点击添加按钮。两次输入的密码必须相同。(2)程序效果图如图5-13所示:图5-13添加管理员5.3普通用户模块5.3.1系统主页面实现1.描述:页面的上方显示的是该网站的logo和当前的时间,下方主要部分是信息显示区域,左侧部分是通知公告,管理员发布的信息公告都可以在此点击后链接到相应的信息页面查看具体通知公告,左上方是登陆模块,用户必须输入正确的用户名、密码和验证码后才能进入系统,做下方方是一个商品类别信息。2.程序运行效果图如图5-15所示:图5-15系统主页面设计5.3.2用户注册1.描述:对于游客,至于浏览的功能,如果想进一步使用本系统,比如说购买商品、在线下订单等,首先需要注册一个合法的账号,然后登陆后,方能使用,点击导航栏菜单“免费注册”,调用js的open()方法,弹出注册页面,输入相关正确信息后点击注册按钮即可完成注册,如果是没有输入完整的信息,或都会给出相应的错误提示,不能录入成功。输入数据都通过form表单中定义的方法onsubmit="returncheckForm()"来检查,checkForm()函数中是各种的校验输入数据的方式。2.程序效果图如图5-17所示:图5-17用户注册界面设计第6章系统测试6.1系统测试目的与意义系统测试是管理信息系统开发周期中一个十分重要而漫长的的阶段。其重要性体现在他是保证系统质量与可靠性的最后关口,是对整个系统开发过程包括系统分析、系统设计和系统实现的最终审查。系统测试的任务是尽可能彻底的检查出程序中的错误,提高软件系统的可靠性,其目的是检验系统“做得怎样”。这这阶段又可以分为三个步骤:模块测试,测试每个模块的程序是否正确;组装测试,测试模块之间的接口是否正确;确认测试,测试整个软件系统是否满足用户功能和性能的要求。测试发现问题之后要经过调试找出错

温馨提示

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

评论

0/150

提交评论