版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
..
专
业:软件工程
姓
名:
指导教师__
申请学位级别:学士
论文提交日期:20XX6月1日
学位授予单位:
摘
要本文所要介绍的网上图书销售系统是当前流行的网上商店的一种形式,它也是电子商务的一个缩影。当前的网上图书销售系统不少,但是采用J2EE架构开发的还是寥若晨星。通过该系统的开发研究,不仅可以学到如何使用J2EE架构来开发一个比较完善的网上图书销售系统,还可以由此扩展思路,开发出其它形式的服务于电子商务的应用系统。本网站采用JAVA语言开发,后台数据库是与Java无缝连接、操作简单、易于使用的Mysql,主要采用Struts框架技术,实现了一个基于web的B/S模式的网上图书销售系统。其主要功能包括对外沟通展示功能、信息发布功能、在线图书展示功能、到在线洽谈功能、在线交易功能、在线采购功能、在线客户服务功能以及强大的系统管理员的功能等等。本文阐述了在线购买图书方式的优势,并对所做网站的分析、设计及实现过程做了详细介绍。关键词:网上图书销售系统电子商务建模ABSTRACTInthispaper,theonlinebooksalessystemintroducedisaformofthepopularonlinestore,Itisalsoamicrocosmofe-commerce.Thecurrentnumberofonlinebooksalessystem
isnotafew,However,theadoptionofaframeworkforthedevelopmentofJ2EE
israreasmorningstars.Thesystemdevelopedbytheresearch,notonlycanlearnhowtousetheJ2EEarchitecturetodevelopacompleteonlinebooksalessystem,canalsoextendthisideatodevelopotherformsofe-commerceservicesintheapplicationsystem.MysystemisimplementedbyJAVA,usingStrutsinnormalprocessingofSoftwareDevelopmentandinB/SmodeofWebindesignanddevelopmentofSystemandbackgrounddatabasethathasseamlessconnectivitywithjava,issimpleandeasy-to-usedisMysql.Itsmainfunctionsincludedisplayofexternalcommunicationfunctions,informationpublishing,onlinebookdisplayfunctions,tonegotiateonlinefeatures,onlinetradingfeatures,onlineprocurementfunctions,onlinecustomerservicefunctionsandastrongsystemadministratorfunctions,andsoon.ThisthesisintroducesadvantagesofShopping
oninternetandpresentsafurtherintroductiontoanalysis,designandprocessoftheweb.Keywords:onlinebooksalessystem
Electroniccommerce
Molding
目
录第一章绪论.11.1课题来源.11.2国内现状.11.3研究意义.1第二章技术介绍.32.1JAVA开发语言的选择.32.2MVC设计模式.42.3Struts技术.62.4JSP技术.72.5tomcat容器.82.6Struts对国际化的支持.92.7SQL语言.92.8开发环境.9第三章需求分析.103.1简介.103.1.1目的.103.1.2范围.103.1.3定义、首字母缩写和缩写语.103.1.4参考文献.103.2整体说明.103.2.1图书浏览模块.103.2.2图书管理模块.103.2.3购物车模块.103.2.4订单管理模块.103.2.5留言信息模块.103.2.6顾客留言信息管理模块.113.2.7图书类别信息管理模块.113.2.8推荐图书信息显示模块.113.2.9顾客的注册、登录模块.113.2.10后台信息管理的登录模块.113.2.11用户管理模块.113.2.12公告内容显示模块.113.2.13公告管理模块.113.2.14图书评论和回应模块.113.2.15图书评论和回应管理模块.113.2.16网上调查模块.113.2.17新书上架显示模块.123.2.18图书销售排行显示模块.123.2.19分类浏览图书模块.12网上调查管理模块.123.3具体需求.123.3.1
功能.123.3.2
可用性.123.3.3
可靠性.123.3.4
性能.123.3.5
可支持性.133.3.6
设计约束.133.3.7
联机用户文档和帮助系统需求.133.3.8
购买的构件.133.3.9
接口.13第四章数据库设计.144.1数据库的概念.144.2数据库的三层结构.144.3数据库的选择.154.4数据库表的描述.154.3.1用户信息表<tb_member>174.3.2图书信息表<tb_bookinfo>174.3.3订单信息表<tb_order>184.3.4订单信息明细表<tb_order_detail>184.3.5管理员表<admin>184.3.6公告信息表<tb_BBS>194.3.7折扣信息表<tb_rebate>194.3.8投票信息表<tb_poll>204.3.9图书类别表<booktype>204.3.10留言信息表<mess>204.3.11评论表<remark>214.3.12回应信息表<remark>21第五章基于UML的系统建模.225.1UML概述及系统分析步骤.225.1.1UML概述.225.1.2基于UML面向对象的系统分析步骤.245.2顾客用例图.255.3管理员用例图.255.4图书浏览模块的活动图.265.5图书管理模块的活动图.265.6购物车模块的活动图.275.7订单管理模块的活动图.285.8留言信息管理模块的活动图.285.9顾客留言信息模块的活动图.295.10图书销售排行显示模块.295.11顾客的注册、登录模块的活动图.295.12用户管理模块的活动图.305.13公告浏览模块的活动图.315.14公告信息管理模块的活动图.315.15网上调查管理模块的活动图.325.16新上架图书显示模块的活动图.325.17图书评论和回应模块的活动图.335.18图书评论和回应管理模块的活动图.335.19系统流程图.34第六章系统实现.366.1网站总体架构及实现.366.1.1系统总体结构图.366.1.2用户首页界面风格.376.2图书信息查询.376.2.1功能描述.376.2.2模块流程图.386.2.3界面风格.386.2.4实现算法.396.3添加图书到购物车.396.3.1功能描述.396.3.2模块流程图.406.3.3界面风格.406.3.4实现算法.416.4查看购物车.426.4.1描述.426.4.2模块流程图.426.4.3界面风格.426.4.4实现算法.426.5订单生成.456.5.1描述.456.5.2模块流程图.456.5.3界面风格.456.5.4实现算法.456.6图书评论.486.6.1描述.486.6.2模块流程图.486.6.3界面风格.496.6.4实现算法.506.7数据库相关操作.506.7.1描述.506.7.2算法实现.506.8其他功能.526.8.1顾客注册.526.8.2顾客信息维护.536.8.3发表回应信息.536.8.4管理员主界面.54第七章结论.557.1总结.557.2体会.55致
谢
56参考文献
571
前
言1.1课题来源网上图书销售系统是一种新兴的图书销售平台。随着全球经济一体化的逐步发展和深入,再加上计算机和网络技术的迅猛发展,传统书店因企业成本高、规模小,品种少已经阻碍了图书市场的发展,网上图书销售系统的应运而生,它有着其他形式的书店所不能比拟的优势:不受时空的限制,一天24小时的营业时间。全世界范围内都可以销售;它不需要店铺和庞大的销售网络,通过在网上直接订购、支付、结算,减少了中间的环节和开支,它以成本低,图书数量多、品种齐全而备受消费者的青睐。因此,在网上购买图书已成为购买图书的主要手段。为了满足广大顾客的需要,所以推出了网上图书的解决方案。1.2国内现状无论是出于仿效,还是迫于竞争,一些老牌的图书销售商也加入网上书店的行列,如庞诺书店〔Barnesandnoble,疆界书店〔Borders等。至少在1997年,国外网上书店达两百家以上。而在国内,自XX新华书店创办第一家网上书店后,网上书店如雨后春笋般涌现出来。其中最为有名的莫过于1999年1月1日开通的上海书城网上书店和3月9日正式营业的北京图书大厦网上书店。现在,国内网上书店数量数不胜数,因此我们很容易能看出国内网上书店竞争的激烈性。同亚马逊相比,国内网上书店的交易流程繁琐、缺乏规范、可靠性低。可以直接在网上下定单,也可以直接邮购。支付方式主要有信用卡网上支付、人民币储蓄账户网上支付,电汇,邮汇等。图书配送方式主要有邮寄,EMS,甚至UPS,送上门〔本地,异地网点配送等,配送时间也没有统一的要求。总的来看,国内的网上售书缺乏规范,随意性强,买卖双方的权益保障都有缺陷。1.3研究意义图书销售系统在国际互联网上可以实现的商务功能已经多样化,从基本的对外沟通展示功能、信息发布功能、在线图书展示功能、到在线洽谈功能、在线交易功能、在线采购功能、在线客户服务功能、在线网站管理功能等等,几乎以往传统商店功能都可以在互联网上进行电子化的高效运作。同传统的书店相比,网上图书商店具有如下三点优势:1>
企业上网不仅给消费者和企业提供了更多的选择消费与开拓销售市场的机会,而且也是提供了更加密切的信息交流场所,从而提高了企业把握市场和消费者了解市场的能力。同时企业上网扩大了企业的竞争领域,使企业从常规的广告竞争、促销手段等领域的竞争扩大到无形的虚拟竞争空间。2>
网上书店改变了企业竞争的交易成本。网上书店具有投入成本低、批发数量大及用户多的优势。电子商务也使企业规模影响竞争力的基础发生了改变。例如在传统的销售渠道中,大书商与小书商之间的竞争差别很大。电子商务使大书商与小书商之间规模差距的竞争变得几乎微不足道。美国西雅图亚马逊公司在网上开办了一家大型书店,提供250万册图书供在线购买。只有两个人管理的网上书店提供的书目和服务,几乎可以与200人管理的传统书店提供的书目和服务一样。3>
网上书店的经验表明,如果网上书店可以为顾客提供品种齐全的图书、折扣以及灵活的条件、可靠的安全性和友好的界面,在线购物者一般都愿意在网上进行图书交易。展望未来,网上图书超市势必成为社会发展不可缺少的一部分,而其自身的发展趋势也必然更专业化、高质量化。那么就要求我们提供的不仅仅是简单的在线查询、购买这么一个功能,而是要做到以客户的需求、爱好等各方面因素来改进我们的服务,使之更加专业,更有特色。2
技术介绍2.1JAVA开发语言的选择现在,市场上可以选购的应用开发产品很多,流行的也有数十种。目前在我国市场上最为流行,使用最多,最为先进的可用作企业级开发语言的产品有:SUN公司的JavaMicrosoft公司的VisualBasicMicrosoft公司的VisualCBorland公司的DelphiPowersoft公司的PowerBulider在目前市场上这些众多的程序开发工具中,有些强调语言的弹性与执行效率;有些偏重于可视化程序开发工具所带来的便利性与效率的提高,各有各的优点和特色,也满足了不同用户的不同需求。我的网站选择Java语言开发,其原因基于以下几点:Java是一种简单的、面向对象的、分布式的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的语言。一、简单Java的风格类似于C++,并且摒弃了C++中容易引发程序错误的地方,如指针和内存管理。此外Java提供了丰富的类库。二、面向对象面向对象可以说是Java最重要的特性。Java语言的设计完全是面向对象的。Java支持静态和动态风格的代码继承及重用。三、分布式Java包括一个支持和FTP等基于TCP/IP协议的子库。因此,Java应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。四、健壮Java致力于检查程序在编译和运行时的错误。Java自己操纵内存减少了内存出错的可能性。Java提供Null指针检测数组边界、检测异常出口、字节代码校验。五、安全Java的安全性可从两个方面得到保证。一方面,在Java语言里,像指针和释放内存等C++功能被删除,避免了非法内存操作。另一方面,当Java用来创建浏览器时,语言功能和浏览器本身提供的功能结合起来,使它更安全。六、结构中立为了建立Java作为网络的一个整体,Java将它的程序编译成一种结构中立的中间文件格式。只要有Java运行系统的机器都能执行这种中间代码。Java源程序被编译成一种高层次的与机器无关的byte-code格式语言,这种语言被设计在虚拟机上运行,由机器相关的运行调试器实现执行。七、可移植的Java的可移植性一直是Java程序设计师们的精神指标,也是Java之所以能够受到程序设计师们喜爱的原因之一,最大的功臣就是JVM的技术。JAVA编译器产生的目标代码<J-Code>是针对一种并不存在的CPU--JAVA虚拟机<JAVAVirtualMachine>,而不是某一实际的CPU。JAVA虚拟机能掩盖不同CPU之间的差别,使J-Code能运行于任何具有JAVA虚拟机的机器上。八、高性能Java可以在运行时直接将目标代码翻译成机器指令。Sun用直接解释器一秒钟内可调用300,000个过程。翻译目标代码的速度与C/C++的性能没什么区别。九、多线程Java支持多线程,多线程功能使得在一个程序里可同时执行多个小任务。线程,有时也称小进程,是一个大进程里分出来的小的独立的进程。十、动态Java的动态特性是其面向对象设计方法的发展。它允许程序动态地装入运行过程中所需要的类,这是C++语言进行面向对象程序设计所无法实现的。Java编译器不是将对实例变量和成员函数的引用编译为数值引用,而是将符号引用信息在字节码中保存下传递给解释器,再由解释器在完成动态连接类后,将符号引用信息转换为数值偏移量。2.2MVC设计模式MVC〔Model-View-Controller的简称是XeroxPARC在20世纪80年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用,目前是J2EE应所最常见的体系结构,它是一种设计模式,它把应用程序分成三个核心模块:模型、视图、控制器,它们各自处理自己的任务。视图是用户看到并与之交互的界面,也即应用程序的外观。作用包括接收用户的输入,它并不包括任何实际的业务逻辑,它只是将数据转发给控制器。同时,视图还负责展现模型传递给用户的数据,当后台模型更新数据时,视图也应当随之更新它的显示。模型表示业务数据和业务逻辑,是应用程序的主体部分。一个模型能为多个视图提供数据,因此提高了代码的可重用性。控制器接受用户的输入并调用模型和视图去完成用户的需求。当Web用户单击Web页面中的递交按钮来发送HTML表单时,控制器本身不输出任何东西和做任何处理。控制器接收请求并决定调用哪个模型组件去处理请求,然后决定调用哪个视图来显示模型处理返回的数据。MVC的优点表现在如下几个方面:1>
首先,最重要的一点是多个视图能共享一个模型。同一个模型可以被不同的视图重用,大大提高了代码的可重用性。2>
由于MVC的三个模块相互独立,改变其中一个不会影响其他两个,所以依据这种设计思想能构造良好的松偶合的构件。3>
此外,控制器提高了应用程序的灵活性和可配置性。控制器可以用来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。MVC的缺点表现如下:在于它没有明确的定义,所以一个开发人员完全理解MVC并不是很容易。使用MVC也需要精心的计划,由于它的内部原理比较复杂,所以开发者需要花费相当可观的时间去考虑如何将MVC运用到应用程序之中。同时由于模型和视图要严格的分离,这样也给调试应用程序带来了一定的困难。每个构件在使用之前都需要经过彻底的测试。一旦构件经过了测试,就可以毫无顾忌的重用它们了。还有开发MVC系统比简单的JSP开发要复杂许多,它需要更多的时间学习和掌握。同时新东西的引入会带来新的问题,在选择MVC开发模式时必须仔细考虑这下问题:1>
必须基于MVC组件的方式重新思考和设计应用结构。原来通过建立一个简单的JSP页面就能实现的应用现在变成了多个步骤的设计和实现过程。2>
所有的页面和组件必须在MVC框架中实现,所以必须进行附加地开发工作。MVC本身就是一个非常复杂的系统,所以采用MVC实现Web应用时,最好选一个现成的MVC框架,在此之下进行开发,从而取得事半功倍的效果。MVC处理过程的结构图,见图2-1。图2—12.3Struts技术Struts是目前Java
Web
MVC框架中不争的王者。Struts由一组相互协作的类〔组件、Serlvet以及jsp
tag
lib组成。由于Struts实质上就是在JSPModel2的基础上实现的一个MVC框架,所以基于struts构架的web应用程序基本上符合JSP
Model2即MVC的设计标准。其中的模型是JavaBean,控制器是ActionServlet、Action,视图是JSP、Struts客户化标签。Struts控制器组件主要包括:充当Struts框架的中央控制器的ActionServlet组件、充当每个子应用模块的请求处理器的RequestProcessor组件、负责处理一项具体的业务的Action组件。其工作流程如图2-2图2—2Struts
的另一特点是使用ActionFormBean,ActionFormBean也是一种JavaBean,除了具有一些JavaBean的常规方法,还包含一些特殊的方法,用于验证HTML表单数据以及将其属性重新设置为默认值。Struts框架利用ActionFormBean来进行View组件和Controller组件之间表单数据的传递。JSP文件使用Struts标签读取修改后的ActionFormBean的信息,重新设置HTML表单。Struts标签库是Struts架构的很大一部分,它简化了视图组件的发展并将试图与架构的其余部分绑定在一起。Struts提供了五种功能强大的标签库,包括Bean标签库、HTML标签库、Logic标签库、Nested标签库和Tiles标签库。熟练使用这些标签库,可以简化开发交互式的、基于表单的Web应用的过程。struts配置文件:在基于Struts框架的Web应用中,有两个重要的配置文件:web.xml和Struts-config.xml。下面分别详细介绍web.xml和struts-config.xml:1>
wel.xmlweb.xml是JavaServlet规范所必需的web应用程序配置描述。Servlet/JSP容器使用这个文件来装载、配置应用程序,它用来通知Servlet容器如何配置Servlets和其他应用程序需要的高级对象。struts-config.xmlstruts-config.xml是Struts中核心文件。该文件配置各种组件,包括数据源DataSource、表单类FormBean、全局异常GlobalExceptions、全局转发GlobalForward、行为映射Acionmappings、控制器Controller、消息资源MessageResource及插件Plugins。2.4JSP技术JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于的应用程序。JSP<JavaServerPages>是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。在传统的网页HTML文件<*.htm,*.html>中加入Java程序片段<Scriptlet>和JSP标记<tag>,就构成了JSP网页<*.jsp>。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送email等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无JavaApplet,甚至无Frame。JSP技术能让Web开发员和网页设计员快速地开发容易维护的动态Web主页。用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源〔例如JavaBesns>的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。JSP技术是Servlet技术的扩展。Servlet是平台无关的,100%纯Java的Java服务端组件。2.5tomcat容器Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。Tomcat被JavaWorld杂志的编辑选为20XX度最具创新的java产品,可见其在业界的地位。Tomcat4.0x中采用了新的Servlet容器:Catalina,完整的实现了Servlet2.3和Jsp1.2规范。由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR〔WebArchive文件。WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织:通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类〔如JavaBean。通常这些所依赖的类也可以打包成JAR放到WEB-INF下的lib目录下,当然也可以放到系统的CLASSPATH中,但那样移植和管理起来不方便。在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。Tomcat不仅仅是一个Servlet容器,它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache.我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet.这种集成只需要修改一下Apache和Tomcat的配置文件即可。2.6Struts对国际化的支持"国际化"是指一个应用程序在运行时能够根据客户端请求所来自的国家/地区、语言的不同而显示不同的用户界面。例如,请求来自于一台中文操作系统的客户端计算机,则应用程序响应界面中的各种标签、错误和帮助信息均使用中文文字;如果客户端计算机采用的是英文操作系统,则应用程序也应能识别并自动以英文界面做出响应。可以看出,引入国际化机制的目的在于提供自适应、更友好的用户界面,而并未改变程序的其他功能/业务逻辑。人们常用I18N这个词作为"国际化"的简称,其来源是英文Internationaliztion的首末字母i和n及它们之间的字符数18。Struts框架通过使用<bean:message>标记,以及使用java.util数据包中定义的Locale和ResourceBundle类来支持国际化。java.text.MessageFormat类定义的技术可以支持消息的格式。利用此功能,开发人员不需了解这些类的细节就可进行国际化和设置消息的格式。2.7SQL语言SQL〔StructureQueryLanguage结构化查询语言自1974年被提出,至今已经是世界上最流行的关系数据库的标准语言。SQL语言的分类一、DDL〔DataDefinitionLanguage数据定义语言,其作用包括创建数据库对象、删除数据库对象、修改数据库对象〔create、drop、alter。二、DML〔DataManipulationLanguage数据操纵语言,其作用包括查找数据信息、插入数据信息、删除数据信息、更改数据信息〔select、insert、delete、update。三、DCL〔DataControlLanguage数据控制语言,作用主要对是授权数据库对象〔grant,revoke。2.8开发环境操作系统:WINDOWSXP;运行工具:IE6.0开发工具:MyEclipse5.1.0GA,DreamweaverV8.0数据库:MySQL5.12服务器:
Tomcat6.0辅助工具:AdobePhotoshopCS3
需求分析3.1简介网上图书销售系统是一个基于内部网和外部网的应用程序,采用J2EE技术,提高系统数据的共享性,增加系统服务的对象。3.1.1目的使用户和项目人员明确系统的功能和应用范围。3.1.2范围本系统可以应用于任何操作平台。3.1.3定义、首字母缩写和缩写语J2EE-basedonlinebooksalessystem〔Bss网上图书销售系统Electroniccommerce<EC>电子商务3.1.4参考文献系统开发过程中使用到的文献资料,将在后面专门说明。3.2整体说明整个系统共分为16个模块:3.2.1图书浏览模块图书浏览模块是互联网程序,它的用户是顾客。顾客可以分不同图书种类浏览图书的名称、种类、价钱、出版社和出版日期等;顾客可以输入图书关键字查询图书信息。3.2.2图书管理模块图书管理模块是应用程序,它的用户是后台系统管理员。图书信息管理员可以添加、删除、修改图书的种类和图书。3.2.3购物车模块购物车模块是互联网程序,它的用户是顾客。顾客可以将选中的图书放入购物车,可以修改购物车中图书的数量,可以删除购物车里的图书,也可以通过购物车下订单。3.2.4订单管理模块订单管理模块是应用程序,它的用户是后台系统管理员。管理员负责查看订单的详细信息和执行订单。3.2.5留言信息模块留言信息模块是互联网程序,它的用户是顾客。顾客可以通过该模块填写反馈意见和要求,表达满意和不满意。3.2.6顾客留言信息管理模块顾客留言信息管理模块是应用程序,它的用户是后台管理员。管理员查看每个客户的反馈意见,及时处理不满的意见。3.2.7图书类别信息管理模块图书类别信息管理模块是应用程序,它的用户是后台管理员。管理员可以查看、增加、删除图书类别信息。3.2.8推荐图书信息显示模块推荐图书信息显示模块是互联网程序,它的用户是顾客。顾客可以查看最新的推荐图书列表,可以将特价图书放入购物车。3.2.9顾客的注册、登录模块顾客的注册、登录模块是互联网程序,它的用户是顾客。顾客需求登录图书销售系统才可以选购图书。3.2.10后台信息管理的登录模块信息管理的登录模块是应用程序,它的用户是后台管理员。管理员登录通过验证,可以对后台信息进行操作。3.2.11用户管理模块用户管理模块是应用程序,它的用户是后台管理员。管理员可以查看用户的详细信息、冻结或解冻用户信息。3.2.12公告内容显示模块公告内容显示模块是互联网程序,它的用户是顾客。顾客可以浏览网站发布的各类型的新闻信息。3.2.13公告管理模块公告管理模块是应用程序,用户是后台管理员。管理员可以查看、发布和删除网站上的公告信息。3.2.14图书评论和回应模块论坛是互联网程序,用户是顾客。提供给登录系统的顾客们一个交流的空间,可也对图书发表自己的看法和对已发表的图书评论进行回应。3.2.15图书评论和回应管理模块图书评论和回应管理模块是应用程序,它的用户是后台管理员。管理员可以查看评论和回应信息,也可删除评论和回应信息。3.2.16网上调查模块网上调查模块是互联网程序,用户是顾客。顾客可以对调查进行投票和查看投票结果。3.2.17新书上架显示模块新书上架信息显示模块是互联网程序,它的用户是顾客。顾客可以查看最新的上架图书列表,可以将新上架图书放入购物车。3.2.18图书销售排行显示模块图书销售排行显示模块是互联网程序,它的用户是顾客。顾客可以查看最畅销的图书信息,可以将畅销图书放入购物车。3.2.19分类浏览图书模块分类浏览图书模块是互联网程序,它的用户是顾客。顾客可以点击图书类别,然后显示该类别的所有图书,可以将图书放入购物车。3.2.20网上调查管理模块网上调查管理模块是应用程序,它的用户是后台管理员,管理员可以浏览,添加和删除投票项目。3.3具体需求3.3.1功能<1>
顾客可以方便地查看图书信息,及了解每天的特价图书。<2>
顾客可以方便地队购物车中的图书进行增加、删除、修改和下订单。<3>
顾客可以反馈自己的满意和部满意意见。<4>
管理员可以方便地添加、删除、修改图书和添加和删除、图书类别。<5>
管理员可以方便地查看订单,可以方便执行订单。<6>
管理员可以方便地查看顾客留言信息和记录反馈信息的处理情况。<7>
管理员可以方便地添加、删除、修该推荐图书,新上架图书,畅销图书。<8>
管理员可以方便地查看和冻结用户信息。3.3.2可用性本系统符合Microsoft的GUI标准。3.3.3可靠性<1>
服务器模块可以24小时无人运行;<2>
平均故障间隔时间是每月1次;<3>
平均修复时间是3小时;<4>
可采用双服务器保证数据完整。3.3.4性能<1>
响应时间:对远程查询访问响应的平均时间是3秒,最长是10秒;Intranet程序的响应时间少于1秒。<2>
吞吐量:每秒处理的事务数达到2000条。<3>
容量:系统可以容纳的客户数是1000人同时使用。3.3.5可支持性本系统应用JDK1.5、Tomcat6.0、DreamweaverMX8.0。3.3.6设计约束应用的开发工具是JDK1.5、Tomcat6.0、DreamweaverMX8.0和Mysql,设计的模块和性能将受到上述开发工具的约束。3.3.7联机用户文档和帮助系统需求联机用户文档、帮助系统需求说明书。3.3.8购买的构件无。3.3.9接口<1>
用户界面本系统的用户界面分为用户程序和网络程序两个部分。<2>
硬件接口本系统的硬件接口是USB2.0.<3>
软件接口软件输出的数据格式由用户决定。<4>
通信接口本系统的通信接口由Tomcat提供。4
数据库设计4.1数据库的概念当人们从不同的角度来描述这一概念时就有不同的定义。例如,称数据库是一个"记录保存系统"<该定义强调了数据库是若干记录的集合>。又如称数据库是"人们为解决特定的任务,以一定的组织方式存储在一起的相关的数据的集合"<该定义侧重于数据的组织>。更有甚者称数据库是"一个数据仓库"。当然,这种说法虽然形象,但并不严谨。严格地说,数据库是"按照数据结构来组织、存储和管理数据的仓库"。本网站将使用一直以来使用都最为广泛的关系模型作为数据库的建设依据。在用户的观点下,关系模型中数据的逻辑结构是一张二维表,一个关系对应通常说的一张表,并且关系的每一个分量必须是一个不可分的数据项。而一个基于关系模型的数据库则是由若干个二维表组成的。对于一些大型和中型的数据库,如Oracle,SQLServer2000/7.0等都属于关系型数据库,同时它们所带有的数据库管理工具是其他小型数据库所没有的,而同时这些工具又为管理员的工作节省了很多的时间和财力。4.2数据库的三层结构数据库3层结构:1、
用户视图层:这一层面向各个具体用户。从满足用户需求出发而设计的各种各样的文件结构,在系统中称为子模型。子模型用图、表来表示,给人以直观清晰、一目了然之感。用户看到的是一些视图,它只提供用户所需的信息,以免用户访问到其它无关的信息。例如,在银行中的顾客看到的是数据库顾客帐户的信息,他们不能访问银行雇员的工资信息。然而计算机是不会认识这些图表的。为了让计算机认识它,DBMS设置了一种数据定义语言<DLL>。用DLL精确定义数据模型的程序称为模式。除非整体改动,否则数据库模式一般是部经常变化的。用户视图的这种语言形式定义称为子模式。由图可见,对于同一数据库,系统提供许多的用户视图。也就是说,一个数据库可以有多个不同的子模式。2、
逻辑层:这一层面向全局,它综合各用户的信息需求,设计了一个全局性的、完整的而又无冗余的系统框架,称为逻辑模型。逻辑层的简单数据结构的操作要与复杂的物理层结构相联系,但用户不用担心这些,因为逻辑层是由数据库管理员来使用的。逻辑模型的语言形式定义为逻辑模型。用户的信息来自逻辑层,而逻辑层又从物理层获的信息。3、
物理层:这一层完全面向物理存储。物理层详细的描述了复杂的底层数据结构。在完成存放基本文件的前提下,考虑物理存储的最佳组织形式,我们把不考虑用户需求而仅仅着眼于物理存储的模型称为物理模型。用DDL定义的语言形式称为物理模式。物理模式是逻辑模式的具体实现。数据库系统具有几个模式。在最底层是物理模式,中间层是逻辑模式,在最高层是子模式。总而言之,数据库系统支持一个物理模式,一个逻辑模式和几个子模式。在某一层上修改一个模式而不影响其它层的模式定义的能力称为数据独立性。有两种独立性。●物理独立性:是指当数据的物理存储设备、物理存储结构和存取方法发生变化时,数据的逻辑结构和定义可以不变,应用程序也可以不变的能力。●
逻辑独立性:是一种应用程序可以不管逻辑模式定义的改变而正确执行的能力。从另一方面说,用户要求的改变,应对用户的子模式的影响最小。逻辑独立性比物理独立性更加难以实现。因为应用程序更大程度上依赖于它们所访问的数据的逻辑结构。数据独立性概念与现代编程语言中抽象数据类型概念的许多方面相似。两者都对用户隐藏了底层信息,而用户关系的只是普通结构。4.3数据库的选择本网站使用MySQL5.12实现关系型数据库。MySQL是一个真正的多用户、多线程SQL数据库服务器,是一个客户机/服务器结构的应用,它由一个服务器守护程序mysql和很多不同的客户程序及相关的库组成。它有较好的数据承载能力,一个环境有超过
40
个数据库,包含
10,000个表,其中500多个表超过7百万行,总数据大约有100GB的数据库系统可以很好的被MySQL所支持,而MySQL本身不会像Oracle那样对系统及硬盘空间有很高的要求,同时用户权限设置简单、有效。这也是本网站选用MySQL作为后台数据库系统的一个重要原因之一。4.4数据库表的描述概念模型是对信息世界建模,其表示方法有很多,其中最为常用的是实体-联系模型,即E-R模型,它是用E-R图来描述现实世界的概念模型。E-R图中用矩形表示实体;用椭圆表示属性;用菱形表示联系。本网站表示实体及其联系的E-R图,见图4—1。为了清楚简便的描述出实体与其属性之间的关系,用VISIO软件生成了一张包含实体属性的完整E-R图,见图4—2。图4—1图4—24.3.1用户信息表<tb_member>该表主要完成用户基本信息的录入、删除、更新等功能。在此表中定义了14个字段来进行用户的信息存储。见表4-3。表4—3标识符数据类型长度非空描述主键外键说明idBIGINT自动Y
Y
自增usernameVARCHAR20Y昵称
passwordVARCHAR16Y密码
truenameVARCHAR自动Y真实姓名
cityVARCHAR20Y所在城市
addressVARCHAR40Y家庭住址
cardtypeVARCHAR24Y证件类型
CardnoVARCHAR24Y证件号码
emailVARCHAR30Y电子邮件
PostcodeVARCHAR6N邮政编码
gradeint4Y用户等级
AmountDouble8Y消费金额
TelVARCHAR20Y号码
Freezesmallint3Y是否冻结
4.3.2图书信息表<tb_bookinfo>该表主要完成图书信息的录入、删除功能。在此表中定义了13个字段来进行图书的信息存储。见表4-4。表4—4标识符数据类型长度非空描述主键外键说明idBIGINT自动Y
Y
自增BooknameVARCHAR16Y书名
TypeVARCHAR10Y类别
publisherVARCHAR100Y出版社
writerVARCHAR50Y作者
pDateVARCHAR20Y出版日期
coverVARCHAR50Y封面
Intimedate50N入书时间
newbookInt3Y是否时新书
commendInt3Y是否推荐书
IsbnVARCHAR8YISBN
pricedouble8Y价格
introducetext
图书介绍
4.3.3订单信息表<tb_order>该表主要完成订单信息的录入、删除、更新等功能。在此表中定义了14个字段来进行订单的信息存储。见表4-5。4.3.4订单信息明细表<tb_order_detail>该表主要完成订单明细信息录入、删除功能。在此表中定义了5个字段来进行订单明细信息存储,并将订单信息表id和图书信息表id做为外键保存,以实现多对一的关系。见表4-6。4.3.5管理员表<admin>该表主要保存管理人员的账号、密码。在此表中定义了3个字段来进行管理员信息存储。见表4-7。表4—5标识符数据类型长度非空描述主键外键说明OrderIdint自动Y
Y
自增Bnumberint10Y购买图书种类
UsernameVARCHAR16Y用户名
YTb_member<username>TruenameVARCHAR50N真实姓名
AddressVARCHAR自动Y家庭住址
PostcodeVARCHAR20N邮政编码
TelVARCHAR60N
EmailVARCHAR20N电子邮件
PayVARCHAR15N支付方式
CarryVARCHAR30N运送方式
Rebatefloat
N折扣
OrderdateDATATIME
Y订单日期
BzVARCHAR200N备注
enforceInt
执行
表4—6标识符数据类型长度非空描述主键外键说明idInt自动Y
Y
自增orderaIdInt
Y订单Id
YTb_order<Id>BookidInt
Y图书Id
YTb_bookinfo<id>Pricedouble
Y价格
numberint
Y图书数量
表4—7标识符数据类型长度非空描述主键外键说明idInt自动Y
Y
自增ManageVARCHAR20Y管理员账号
PWDVARCHAR16Y密码
4.3.6公告信息表<tb_BBS>该表主要记录管理人员对公告信息的录入、删除功能。在此表中定义了3个字段来进行信息存储。见表4-8。表4—8标识符数据类型长度非空描述主键外键说明idint自动Y
Y
自增ocontentTEXT<1024Y消息内容
intimeDATATIME自动Y记录日期
4.3.7折扣信息表<tb_rebate>该表的主要功能是保存折扣信息。在此表中定义了3个字段来进行折扣信息存储。见表4-9。表4—9标识符数据类型长度非空描述主键外键说明idInteger自动Y
Y
自增AmountDouble
Y消费金额
Rebatefloat
Y折扣率
4.3.8投票信息表<tb_poll>该表的主要功能是记录投票信息,包括:投票项,每个票项的投票数。在此表中定义了3个字段来进行投票信息的存储。见表4-10。表4—10标识符数据类型长度非空描述主键外键说明idInt自动Y
Y
optionNameVARCHAR50Y投票项
pollint4Y票数
4.3.9图书类别表<booktype>该表的主要功能是:记录图书类别信息,完成对它的添加和删除。在此表中定义了2个字段来进行图书类别的信息存储。见表4-11表4--11标识符数据类型长度非空描述主键外键说明idInt自动Y
Y
BooktypeVARCHAR50Y图书类别
4.3.10留言信息表<mess>该表的主要功能是留言信息,完成对它的添加、删除。在此表中定义了6个字段来进行留言信息的信息存储。见表4-12。表4—12标识符数据类型长度非空描述主键外键说明idInt自动Y
Y
musernameVARCHAR50Y留言人姓名
mthemeVARCHAR50Y主题
McontentVARCHAR200Y内容
createtimedatetime
留言时间
statusint3Y状态
0未1删除4.3.11评论表<remark>该表的主要功能是保存对图书的评论信息。在此表中定义了7个字段来进行图书评论的信息存储。见表4-13。表4—13标识符数据类型长度非空描述主键外键说明idint自动Y
Y
自增BookidInt
Y图书Id
YTb_book<id>usernameVARCHAR
Y用户名
SubjectVARCHAR
Y主题
contentVARCHAR
Y内容
rateVARCHAR
Y喜欢程度
createtimedatetime
Y发表时间
4.3.12回应信息表<remark>该表的主要功能是保存对图书的评论信息的回应信息表。在此表中定义了5个字段来进行回应信息的存储。见表4-14。表4—14标识符数据类型长度非空描述主键外键说明idint自动Y
Y
自增remarkIdInt
Y评论Id
Yremark<id>usernameVARCHAR
Y用户名
RpcontentVARCHAR
Y回应内容
createtimedatetime
Y回应时间
5
基于UML的系统建模5.1UML概述及系统分析步骤5.1.1UML概述统一建模语言〔UML是UnifiedModelingLanguage的缩写是用来对软件密集系统进行可视化建模的一种语言。UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。UML是用面向对象图的方式来描述任何类型的系统,具有很广泛的应用领域。特别是在建立软件系统的模型中,它支持从系统需求、系统分析到系统设计的整个建模过程,提供UML图形的编辑和美化工具,保证得到语法正确、语义完整的UML图形模型,并提供包括文档管理和图形打印等辅助支持。它不仅支持建立系统的静态模型,还支持描述系统的动态模型。UML由以下四部分组成:1>
视图。视图是表达系统的某一方面特征的UML建模元素的子集,视图并不是图,它是由一个或者多个图组成的对系统某个角度的抽象。在建立一个系统模型时,通过定义多个反应系统不同方面的视图,才能对系统做出完整、精确的描述。2>
图。视图由图组成,UML通常提供9种基本的图,把这几种基本图结合起来就可以描述系统的所有视图。3>
模型元素。UML中模型元素包括事物和事物之间的联系。事物描述了一般的面向对象的概念,如类、对象、接口、消息和组建等。事物之间的关系能够把事物联系在一起,组成有意义的结构模型。常见的联系包括关联关系、依赖关系、泛
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023基于循证的免打结缝线医院管理共识解读
- 返家乡安全培训记录内容课件
- 达沃斯介绍教学课件
- 边坡治理安全教育培训课件
- 实习生下肢静脉曲张试题
- 《排污许可证申请与核发技术规范 工业固体废物和危险废物治理(HJ 1033-2019)》技术规范解读及审核要点
- 车队消防安全培训材料课件
- 内科主治医师考试考前押题试题及答案
- 麻醉药品精神药品培训考核试题及答案
- 《广播和电视》物理授课课件
- 2026长治日报社工作人员招聘劳务派遣人员5人备考题库完美版
- 护理核心制度内容精要
- 阅读理解体裁与命题方向(复习讲义)-2026年春季高考英语(上海高考专用)
- 俱乐部转让合同模板(3篇)
- 光伏系统的安装工程监理实施细则
- 教练员劳务合同范本
- 2025巴彦淖尔市农垦(集团)有限公司招聘37人备考题库含答案解析(夺冠)
- 贵港市利恒投资集团有限公司关于公开招聘工作人员参考题库附答案
- 腰椎OLIF手术课件
- 2025西藏林芝市消防救援支队政府专职消防员招录8人备考题库附答案解析
- 2025年农业投资入股协议(生态)
评论
0/150
提交评论