1、沈阳理工大学学士学位论文摘 要随着网络技术的发展,Internet已成为最具市场潜力的技术领域,使用Web技术设计的数据库应用软件,是目前Internet市场的技术中坚,各种Web应用如电子商务,网上购物等都采用这种方式实现。 网上购书在国外已经是一个比较常见的购书方式了,而在我国,网上购书才是刚刚起步,但发展的速度却十分的惊人。本系统主要实现了用户的管理、书籍的查找与购买、购物车的实现、订单的管理以及用户留言等功能,为用户提供了迅速、便利的网上购书环境。 本系统采用JSP、Servlet、JavaBean和JDBC等一些JAVA Web相关技术实现了一个简单的网上购书系统,MVC开发模式可以
2、分离数据访问和数据表现,让开发人员可以开发一个可伸缩性强的、便于扩展的控制器,来维护整个流程。本系统通用性强,经过简单的修改就可以应用于更广泛的网上购物系统,具有一定的推广价值。 关键词:书店;数据库;JSP;Servlet;JavaBean AbstractWith the development of network technology, Internet has become the most market potential of technology, the use of Web technology, designed for database application soft
3、ware, is the Internet market, the technical backbone of a variety of Web applications such as e-commerce, online shopping and so using this ways. Online textbook abroad is a relatively common textbook approach, while in China, online textbook is just started, but the pace of development was very ama
4、zing. This system mainly achieves the users management, the search and the sale of books, shopping cart implementation, order management, and user comments and other functions, provides users with fast and convenient online friendly environment. In this system, JSP, Servlet, JavaBean, and JDBC and s
5、ome other JAVA Web-related technology to achieve a simple online textbook system that versatility, MVC development model can be separated from data access and data performance, so developers can develop a strong scalability, scalable controller, to maintain the entire process. Through a simple modif
6、ication can be applied to a wider range of online shopping system, with a certain extension purchase.Keywords: bookstore; database;JSP;Servlet;JavaBean 目 录摘 要IAbstractII1 绪 论11.1 课题研究背景11.2 开发环境21.3 相关技术41.3.1 JSP的简介41.3.2 Tomcat51.3.3 MyEclipse61.3.4 MySQL61.3.5 MySQL数据库服务器管理和开发工具:Navicat71.4 任务概述及
7、研究内容81.4.1 网站任务概述81.4.2 系统功能模块81.4.3 开发环境的构建92 需求分析102.1 需求分析的原因102.2 需求分析的任务102.3 实体-联系图112.3.1 图书E-R图112.3.2 用户信息E-R图112.3.3 订单E-R图122.3.4 订单详细信息E-R图132.3.5 图书分类E-R图132.3.6 用户留言E-R图132.3.7 公告信息E-R图142.3.8 网上书店管理实体间的联系图143 总体设计153.1 设计目标153.2 系统体系结构设计153.2.1 系统功能模块划分153.2.2 系统结构图设计163.3 数据库设计173.3.
8、1 用户信息表173.3.2 图书信息表173.3.3 订单表173.3.4 订单详细信息表183.3.5 图书分类信息表203.3.6 用户留言信息表203.3.7 公告信息表214 系统详细设计224.1 系统功能设计224.2 用户注册模块设计234.3 用户登录模块设计234.4 图书信息模块设计244.4.1 图书展示模块设计254.4.2 图书查询模块设计254.5 购买图书模块设计254.6 管理员模块设计274.6.1 图书管理模块设计274.6.2 会员管理模块设计284.6.3 图书分类模块设计284.6.4 公告信息模块设计284.6.5 留言信息模块设计284.6.6
9、订单信息模块设计315 系统实现325.1 实现用户注册模块325.2 实现用户登录模块325.3 实现图书信息模块335.3.1 图书展示模块335.3.2 图书查询模块335.4 实现购买图书模块345.5 实现特价商品355.6 实现用户留言模块365.7 实现管理员模块365.7.1 图书管理模块365.7.2 会员管理模块385.7.3 图书分类模块385.7.4 订单信息模块395.8 系统的测试与维护405.8.1 单元测试405.8.2 系统维护41结 论42致 谢43参考文献44附录 A 英文原文45附录 B 汉语翻译54 附录 C 部分程序代码64V1 绪 论1.1 课题研
10、究背景 1. 网上书店管理系统的发展Internet 的迅速发展正以前所未有的深度和广度影响和改善着人类生活的各个方面,越来越多的人开始意识到Internet所蕴含的经济价值的无穷商机,并积极投身于电子商务活动。实际上,电子商务是一些商业行为的电子化,例如网上书店,网上贸易,就网上书店来说,网上书店是目前应用最广,最成功的典范之一,网上书店的崛起对传统的图书流通体系产生了强烈的冲击,有效地缩短了图书流通发行环节,将广大读者,图书,出版者,发行者紧密地结合在一起,大大提高了图书流通率。 2. 网上书店管理系统发展现状西方国家网上书店概况:世界上第一家网上书店是1991年在美国联机公司AOL采购网
11、络上建立的“阅读美国书店”,目前最有名的是美国西雅图亚马逊图书公司的亚马逊网上书店。它创建于1995年,供书达310余万种,每年顾客达500万人次,其价格优惠20-50。金融结算制度完善,配送服务高效。实现了零库存运转。英国网上书店中较著名的有Internet书店,德国的网上书店主要有图书在线网上书店。 国内网上书店的概况:自从亚马逊网上书店成功后,中国的网上书店也建立起来。中国最早的网上书店是1997年在杭州新华书店诞生的,在经过年余的艰苦经营,接待了400多位访问者后,悄然引退,而进入1998年后,作为中国书业传统经营力量的新华书店,正式宣布进入网络领域,先是第九届全国书市首次开通书店网站
12、,后来在1998年12月30日上海书城成为国内首家正规的网上书店,读者在家中可以上网完成浏览,选够,付款的全过程。1999年是网上书店迅速发展的一年,商业公司不断进入网上书店有超过几百家,有自己网站的公司有40多家,这个数目还不断增加。 3网上书店的优越性网上书店在价格、时效性、品种、查询方式等方面都有优势。网上书店是一种直销方式,在到书速度和价格上都有优势,目前网上书店的到书时间在北京,上海,广州等大城市一般为1-3天,在外埠则一般3-10天到书,在价格上一般网上书店都有7.5-9折的折扣,如果是特价书折扣就更多了,网上书店的书目数据是任何订购书目都无法比拟的,亚马逊网上书店有300多万种图
13、书,另外还有音乐系列产品和其它教育产品,刚刚成立的北京图书大厦网上书店也有16万种书目数据,“中国寻书网”目前也有50万种书籍,年度将突破100万种图书,网上书店的书目除书名,著者,价格等信息外,还有封面,内容简介,目次,评论等详细信息。同时网上书店的目录查询功能也是传统的按某种分类规则编排的图书征订目录无法比拟的,其以关键词或主题从网上检索某类文献,查准率与查全率都有一定的保障。另外还有一些书更是以网站包销或总代理的形式进行销售,这就意味着一种全新的电子商务模式的开始。1.2 开发环境1 开发环境的选择会影响到数据库的设计,所以在这里给出网上书店开发与运行环境的选择如下: 开发环境:Wind
14、ows XP。 开发工具:MyEclipse 8.5。 数据库管理系统: MySQL 。 设计模式:MVC设计模式。 2 使用MVC设计模式的优点大部分用过程语言比如ASP、PHP开发出来的Web应用,初始的开发模板就是混合层的数据编程。例如,直接向数据库发送请求并用HTML显示,开发速度往往比较快,但由于数据页面的分离不是很直接,因而很难体现出业务模型的样子或者模型的重用性。产品设计弹性力度很小,很难满足用户的变化性需求。MVC要求对应用分层,虽然要花费额外的工作,但产品的结构清晰,产品的应用通过模型可以得到更好地体现。 首先,最重要的是应该有多个视图对应一个模型的能力。在目前用户需求的快速
15、变化下,可能有多种方式访问应用的要求。例如,订单模型可能有本系统的订单,也有网上订单,或者其他系统的订单,但对于订单的处理都是一样,也就是说订单的处理是一致的。按MVC设计模式,一个订单模型以及多个视图即可解决问题。这样减少了代码的复制,即减少了代码的维护量,一旦模型发生改变,也易于维护。 其次,由于模型返回的数据不带任何显示格式,因而这些模型也可直接应用于接口的使用。 再次,由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变。一个应用的业务流程或者业务规则的改变只需改动MVC的模型层。 控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起完成不同的请求,因此,控制层
16、可以说是包含了用户请求权限的概念。 最后,它还有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码 3 MVC模式设计思想 MVC设计思想概论。 MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。 (1) MVC中的M组件。模型(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模
17、型的设计可以说是MVC最主要的核心。 (2) MVC中的V组件。视图(View)代表用户交互界面,用JSP来实现。(3) MVC中的C组件。控制(Controller)可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。 MVC中各组件的关系。模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视图、控制器三者之间的关系和各自的主要功能,如图1.1所示。
18、图1.1 MVC组件类型的关系和功能1.3 相关技术网上书店管理系统的实现技术多种多样,所以选择合理的技术来实现系统也是一个重大的环节,如果所选择的技术不当,将对系统的实现造成一定的麻烦,可能还会影响系统的性能。J2EE是实现企业仓库管理系统的一种有效技术,当前用J2EE实现B/S结构的网上书店管理系统非常的流行且技术也越来越趋于成熟,性能也得到了非常大的提升。轻量级的J2EE应用对于小中型项目的开发带来了许多便利之处,对比于经典J2EE的简化,在保留经典J2EE应用的框架、良好的可扩展性、可维护性的基础上,简化了J2EE应用的开发,降低了J2EE应用的部署成本,基本实现过程简单明了。轻量级J
19、2EE应用面向的是用户,是一种更实际的信息化平台架构。1.3.1 JSP的简介 1JSP的简单介绍JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
20、 JSP与Java Servlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。 JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、
21、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。 JSP可用一种简单易懂的等式表示为:HTML+Java =JSP。 2JSP技术的优点 基于JSP的各种优势,其优点如下:(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/.net的局限性是显而易见的。 (3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一
22、个巨大的生命力。 (4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。 (5)支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVABEANS 组件来实现复杂商务功能。 3JSP技术的缺点Java的一些优势正是它致命的问题所在,因此JSP有如下缺点:(1)由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。(2)Java的运行速度是用class常驻内存
23、来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。1.3.2 TomcatTomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好A
24、pache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行Tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。 当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和 JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。2。1.3.3 MyEclips
25、e 1MyEclipse的简单介绍MyEclipse企业级工作平台(MyEclipse Enterprise Workbench,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML、Struts、JSP、CSS、Javascript、SQL和 Hibernate。 2MyEclipse的分类在结构上,MyEclipse的特征可以被分为7类:(1)JavaEE模型 。(2)WEB开发工具 。(3)
26、EJB开发工具 。(4)应用程序服务器的连接器 。(5)JavaEE项目部署服务 。(6)数据库服务 。(7)MyEclipse整合帮助 。对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。MyEclipse6.0以后版本安装时不需安装Eclipse。1.3.4
27、 MySQLMySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购。对于MySQL的前途,没有任何人抱乐观的态度。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL的特性包括:(1)使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性。 (2)支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Ne
28、tware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。(3)为多种编程语言提供了API。这些编程语言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。 (4)支持多线程,充分利用CPU资源。(5)优化的SQL查询算法,有效地提高查询速度。(6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。(7)提供TCP/IP、ODBC和JDBC等多种数据库连接途径。(8
29、)提供用于管理、检查、优化数据库操作的管理工具。(9)可以处理拥有上千万条记录的大型数据库。1.3.5 MySQL数据库服务器管理和开发工具:NavicatNavicat MySQL是一个强大的MySQL数据库服务器管理和开发工具。它可以与任何3.21或以上版本的MySQL一起工作,并支持大部分的MySQL最新功能,包括触发器、存储过程、函数、事件、视图、管理用户等。它不仅对专业开发人员来说是非常尖端的技术,而且对于新手来说也易学易用。其精心设计的图形用户界面(GUI),Navicat MySQL可以让你用一种安全简便的方式快速并容易地创建,组织,访问和共享信息。Navicat MySQL在三
30、种平台上是可用的微软Windows、Mac OS X 和Linux操作系统。它可以使用户连接到本地/远程服务器,提供了几种实用工具,例如数据结构同步、导入/导出、备份和报告,使维护数据的过程很容易。 自从2001年初以来,Navicat在全世界范围内已被下载了数百万次;Navicat是公认最受欢迎的MySQL前端图形用户界面,而且它对于本地或远程的MySQL管理和开发,在三种操作系统平台上Windows、Mac OS X和Linux都是可用的。在过去的5年中,Navicat已在最好的服务器管理工具类别的几个奖项中被提名,并且被许多托管公司选为一种标准的托管工具,例如Rackspace公司,是最
31、成功的管理托管公司之一。1.4 任务概述及研究内容现了客户端登录中订单提交、信息修改,以及后台中修改密码、用户管理、商品类别添加、商品管理、订单管理、。添加了论坛功能,便于加强网上书店系统网站主要采用管理员后台管理方式,不仅可以操作前台并且可以对后台的数据进行维护以及更新,给系统使用者一个很好的操作平台。本课题主要运用了Java与MySQL整合的开发技术,实与顾客之间的沟通,及时讨论并改进。本网上书店管理系统打破了现有网上书店系统的传统模式,更加拉近了客户与商家之间的距离,更能有效的令商家及时发现问题作出相应的改进。1.4.1 网站任务概述1.系统界面:1)页面内容:主题突出,站点定义、术语和
32、行文格式统一、规范、明确,栏目、菜单设置和布局合理,传递的信息准确、及时。内容丰富,文字准确,语句通顺;专用术语规范, 行文格式统一规范。2)导航结构:页面具有明确的导航指示,且便于理解,方便用户使用。3)技术环境:页面大小适当,能用各种常用浏览器以不同分辨率浏览;无错误链接和空链接;合理控制字体大小和版面布局。4)艺术风格:界面、版面形象清新悦目、布局合理,字号大小适宜、字体选择合理,前后一致,美观大方;动与静搭配恰当,动静效果好;色彩和谐自然,与主题内容相协调。2系统性能:无论是客户端和管理端,当用户登录,进行任何操作的时候,系统应该及时的进行反应,反应的时间在5秒以内。系统应能监测出各种
33、非正常情况,如与设备的通信中断,无法连接数据库服务器等,避免出现长时间等待甚至无响应。系统应保证24小时内不当机,系统正常运行,正确提示相关内容。系统具有相当的灵活性以适应未来功能的拓展需求。3.系统安全:系统有严格的权限管理功能,各功能模块需有相应的权限方能进入。系统需能够防止各类误操作可能造成的数据丢失、破坏,并提醒用户及时保存新信息。1.4.2 系统功能模块1用户注册登陆功能:提供用户注册,并验证会员帐号和密码的正确,区分用户与非用户的浏览等。2特价商品公示功能:实现特价商品在客户端首页的公示,以便于用户选择特价商品,便于管理,增大了用户购买的可能,并且可在后台管理端进行添加以及删除,及
34、时更改特价商品的信息。3网站论坛功能:用户可在客户端导航找到网站论坛,避免去其他网页重新搜索本网站论坛,方便用户与用户之间的讨论与交流,并且可以实现用户与商家之间的沟通,便于商家及时解决用户问题,不断地改进。4客户端订单管理功能:客户可在客户端对自己的订单进行添加以及删除管理。1.4.3 开发环境的构建1网站开发环境网站开发环境:MyEclipse8.5网站开发语言:Java MVC JSP网站后台数据库:MySQL5开发环境运行平台:Windows7、winXP2服务器端操作系统:Windows7Web服务器:Tomcat 6.0数据库服务器:MySQL5浏览器:IE 10.03客户端浏览器
35、:Internet Explorer 10.0 分辨率:最佳效果1366*768像素2 需求分析2.1 需求分析的原因根据现在社会上对网络书店的需求,为了开发出真正满足用户需求的产品网上书店,首先必须要知道客户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能满足用户需求的程序只会给客户带来失望,给开发带来麻烦。虽然在可行性研究阶段已经粗略了解用户的需求,甚至还提出了一些可行的方案,但是,可行性研究的基本目的使用较小的成本在较短时间内确定是否存在可行的解法,因此,在需求分析阶段要确定系统必须完成哪些工作,也就是对系统提出完整、准确、清晰、具
36、体的要求。2.2 需求分析的任务通过对系统的分析及对其他网店的参考,基本确定了“网上书店”的基本功能以及基本性能的基本需求。功能需求:这方面的需求指定系统必须提供的服务,通过需求分析应该划分出系统必须完成的所有功能。其功能如下:(1)图书信息管理,主要有修改图书信息、添加图书、删除图书。(2)图书销售管理,主要包括:图书查找、购物车管理、订单提交。(3)用户管理,主要有用户注册、修改用户信息、删除用户。(4)留言管理,主要有用户留言和管理员删除用户的留言。(5)公告信息,主要有发布公告、修改公告、删除公告。(6)订单管理,主要有订单的修改,删除订单。性能需求:指定系统必须满足的定时约束或容量约
37、束,通常包括速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等方面的要求。其要求如下:(1)用户在客户端点击存在服务器中的主页时,系统能快速响应。(2)在安全性方面,JSP程序要满足客户传输信息的基本安全。2.3 实体-联系图2.3.1 图书E-R图 图书的属性包括:图书编号、书名、作者、出版社、出版时间、图片、图书价格、图书分类、图书简介、推荐数和图书数量。图书的E-R图如图2.1所示。 图 书 图书编号书 名作 者图书数量推荐数出版社图书简介出版时间图书分类图书价格图书图片图2.1 图书E-R图2.3.2 用户信息E-R图用户的属性包括:用户ID、用户名、用户密码、真实姓名、用户性
38、别、联系电话、通讯地址、邮政编码、电子邮件、找密问题提示、问题答案、用户角色。其E-R图如图2.2所示。 用 户 用户角色 用户ID 用户名 用户密码 问题答案 找密提示 电子邮件 邮政编码 通讯地址 真实姓名 用户性别 联系电话图2.2 用户E-R图2.3.3 订单E-R图订单的属性包括:订单ID、用户、收货人、收货地址、联系电话、邮政编码、订单日期、付款方式、是否付款、总价。其E-R图如图2.3所示。订 单 订单ID 用 户收货人总 价是否付款 付款方式 订单日期 邮政编码 联系电话 收货地址图2.3 订单信息E-R图2.3.4 订单详细信息E-R图订单详细信息的属性包括:订单ID、图书编
39、号、购买数量。其E-R图如图2.4所示。图2.4 订单详细信息E-R图2.3.5 图书分类E-R图图书分类的属性包括:分类编号和分类名称。其E-R图如图2.5所示。图书分类分类编号分类名称图2.5 图书分类E-R图2.3.6 用户留言E-R图用户留言的属性包括:留言ID、留言人、留言图书、留言内容和留言时间。其E-R图如图2.6所示。用户留言 留言内容 留言人 留言图书 留言ID 留言时间图2.6 用户留言E-R图2.3.7 公告信息E-R图公告信息的属性包括:公告ID、发布人、公告内容、标题、发布时间。其E-R图如图2.7所示。 公告信息 公告ID 发布时间发布人 标 题 公告内容图2.7
40、公告信息E-R图2.3.8 网上书店管理实体间的联系图完整的E-R图包括的实体有图书、用户、订单、详细订单、分类、留言信息、公告信息。实体之间的联系有一对一联系1:1,一对多联系1:n和多对多联系m:n。各实体间的联系如图2.8所示。图2.8网上书店管理实体间的联系图3 总体设计3.1 设计目标本系统设计的目标是提高软件的质量与生产率,最终实现软件的工业化生产。质量是软件需求方最关心的问题,用户即使不图物美价廉,也要求货真价实。生产率是软件供应方最关心的问题,老板和员工都想用更少的时间挣更多的钱。质量与生产率之间有着内在的联系,高生产率必须以质量合格为前提。如果质量不合格,对供需双方都是坏事情
41、。从短期效益看,追求高质量会延长软件开发时间并且增大费用,似乎降低了生产率。从长期效益看,高质量将保证软件开发的全过程更加规范流畅,大大降低了软件的维护代价,实质上是提高了生产率,同时可获得很好的信誉。质量与生产率之间不存在根本的对立,好的软件工程方法可以同时提高质量与生产率。3.2 系统体系结构设计系统总体结构设计确定软件由哪些模块组成以及这些模块之间的动态调用关系。网上书店不是一个简单的概念,它包含了许多个内容,是由多个页面组成的一个整体的系统。在功能方面,采用图形用户界面技术,使系统能够有多重图形窗口和丰富便利的操作界面,通过鼠标或键盘的操作,为用户提供最简洁的使用方法。在系统开放性方面
42、,按照软件工程开发规范实现系统的开放性,既便于扩充又便于升级,以适用今后其他人的借鉴需求。在系统和数据的安全性方面,系统采用数据库级用户权限和应用程序级运行权限的双重控制机构,提供了统一的基于角色的用户管理手段,具有完善的系统和数据安全的保障体系。在操作性方面,采用图形用户界面技术,使系统能够有多重图形窗口和丰富便利的操作界面,通过鼠标或键盘的操作,为用户提供最简洁的使用方法。 3.2.1 系统功能模块划分网上书店系统主要是实现以下两个功能:一是客户在网上查书,选书,购书和产生订单等功能。二是后台的图书管理功能,包括图书种类的管理和图书的管理。一个典型的网上书店一般都有需要实现商品信息的动态展
43、示,购物车管理,会员管理(包括会员信息注册)和订单处理等模块。根据需求分析可以分为六大功能模块,该系统的功能模块如下表3.1所示:表3.1 网上书店管理系统功能模块功能模块功能概述图书信息管理该模块实现依据书名或作者的信息来对图书信息的快速搜索,也提供图书书目信息的分类查询,显示功能。此外,在用户选择了对应书目信息后,还可以显示出有关该图书的详细信息,以便客户能更详细的了解所购买的商品。购物车管理用于维护每一个进入网上书店的客户对应的购物车,也就是将客户所选购的图书商品信息记录到对应的购物车里,以便于生成订单。会员管理实现网上书店客户信息的注册及身份验证。由于目前网上商城普遍采用的方式为送货上
44、门或者邮寄,因此需要收集与客户相关的真实姓名,通信地址和联系方式等信息。订单管理实现根据客户购物车中的商品信息,以及客户所选择的送货方式和付款方式连同客户对应的个人信息一同生成订单,以便后面进行送货处理。图书管理该模块是后台管理模块,实现进入后台页面的身份验证,图书类型的添加,删除及对应类型下图书信息的发布,删除等功能。 留言管理该模块实现普通用户对相应书籍的留言和管理员对留言的删除功能。3.2.2 系统结构图设计系统结构图是对软件系统结构的总体设计的图形显示,从系统开发的角度出发,把系统按功能逐次分割成层次结构,使每一部分完成简单的功能且各个部分之间又保持一定的联系,这就是功能设计.在设计阶
45、段,基于这个功能的层次结构把各个部分组合起来成为系统。本系统的结构图如图3.1所示。图3.1 系统功能结构图3.3 数据库设计用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能够充分满足各种信息的输入和输出。收集基本数据、数据结构和数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。3.3.1 用户信息表用户信息表包括的字段:用户ID、用户名、密码、用户性别、真实姓名、联系电话、通讯地址、邮政编码、电子邮件、找回密码问题提示、找回密码问题答案、创建时间。其数据表如表3.2所示。3.3.2 图书信息表图书信息包括的字段:图书编号、图书名称、出版社、出版时间、
46、作者、图书图片、图书价格、图书分类、简单介绍、推荐数、图书数量。其数据表如表3.3所示。3.3.3 订单表订单表的字段包括:订单ID、用户ID、收货人、收货地址、联系电话、订单日期、付款方式、是否付款、购物总价。其数据表如表3.4所示。3.3.4 订单详细信息表订单详细信息表的字段包括:订单编号、图书编号和购买数量。其数据表如表3.5所示。表3.2 用户信息表(users)编号字段名称数据类型说 明1userID整型(18)编号(主键、自增)2userName字符型(50)用户名3userPassword字符型(50)密码4sex字符型(10)用户性别5realName字符型(50)用户真实姓名6telephone字符