版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精品文档摘要随着网络的发展,基于计算机对信息管理的高效性,各种信息管理平台跃入人们的视野。其中,网上书城就是典型的信息管理系统(MIS)。本系统是基于JavaEE三层结构的B/S(Browser/Server)模型软件,包含以下三个部分:表示层、业务逻辑层和数据访问层。结合MVC框架模式的分层结构,将应用分成Model(模型)、View(视图)、Control(控制)3个部分。3个部分以最少的耦合协同工作,从而提高了应用的可扩展性和可维护性。它使用了目前最为流行的Java语言,结合JSP技术,在MyEclipse集成开发环境下编写,用户界面友好。其中B/S结构得以让数据在IE浏览器上显示,数据
2、处理在服务器上进行,用户不必安装客户端,而且数据通过服务器端的统一管理,保证其一致性。另外系统使用小型关系型数据库MySQL作为网站的后台数据库系统。本系统总体可分成两大基本功能:前台管理和后台管理。前台管理主要包括用户注册、登录、注销、密码找回、修改用户信息、浏览图书、订购图书、提交订单、查看特价图书信息等功能。后台管理主要包括登录、图书维护、订单处理、确认订单、发送订单等功能。通过对各个模块的实现、集成,最后完成的系统可以为用户提供基本的服务,并且可以根据管理员的需要,对用户的信息以及图书信息实施管理。【关键词】网上书店;Java;MyEclipse;JavaEE;B/S;MySQL;MV
3、CAbstractWith the development of the network, based on computer information management efficiency, all kinds of information management platform into peoples horizons. Among them, the online bookstore is a typical application of managing information system (MIS).This system is based on JavaEE three-l
4、ayer structure of B/S (Browser/Server) model software, include the following three parts: the presentation layer, business logic layer and data access layer. Combining with the MVC framework Model of hierarchical structure, will be applied into the Model, the View, the Control three parts. Three par
5、ts to work together with the least amount of coupling, so as to improve the scalability and maintainability of the application. It USES at present the most popular Java language, combined with JSP technology, write in MyEclipse integration development environment, user friendly interface. With B/S s
6、tructure to make data on Internet explorer, according to the data processing on the server, the user does not have to install the client, and the data through a server-side unified management, ensure the consistency. The system using a small relational database MySQL as the website backstage databas
7、e system.This system in general can be divided into two basic functions: the front desk and background management. Front desk management mainly includes the user register, login, logout, password, retrieve, modify user information, browse the books, order books, submit orders, view the special book
8、information, and other functions. Background management mainly includes the login, book maintenance, order processing, confirmation of order and send the order, and other functions. Through the implementation of each module, integration, and finally completed system can provide basic services for us
9、ers, and can according to the needs of the administrator, the user information and book information management.【Keywords】Online Bookstore, Java, MyEclipse, JavaEE, B/S, MySQL, MVC目录第1章 绪论11.1论题提出的背景和意义11.2国内外现状的研究21.3研究内容3第2章 系统研究的相关知识42.1JavaEE简介42.1.1什么是JavaEE42.1.2JavaEE常用技术52.1.3分层架构模式62.2 MVC框架
10、技术Struts272.3 JavaScript脚本语言72.4MySQL简介82.5B/S体系结构92.6MyEclipse和Tomcat7.0的简要介绍10第3章 项目的系统分析113.1可行性分析113.2需求分析133.3用例分析133.4数据流图153.5实体关系图16第4章 项目的系统设计174.1功能设计174.2数据库设计184.3数据库表184.4数据访问类的实现21第5章 项目的详细设计265.1项目的详细设计265.1.1包图的分析和建模265.1.2项目的总体设计265.2 用户界面设计285.2.1主界面285.2.2用户界面285.2.3管理员登录模块29第6章 项
11、目的系统实现306.1系统前台功能模块的实现306.1.1图书查询模块306.1.2订购界面306.1.3查看个人信息316.2系统后台功能模块的实现316.2.1用户管理界面316.2.2图书管理界面316.2.3订单管理界面32第7章 系统的测试与维护337.1测试的目标与原则337.1.1测试的目标337.1.2测试的原则347.2测试的方法357.2.1黑盒测试357.2.2测试用例的设计357.3系统维护36第8章 系统的总结与展望38参考文献40致谢41可修改第1章 绪论1.1论题提出的背景和意义在21世纪的现在,计算机科学迅猛发展的时代,网络已经成为人们生活中不可或缺的一部分。计
12、算机网络的出现带给了世界巨大的变化,从过去只面向专业部门的信息传送到现代生活的各个角落,可以说,计算机网络为世界的发展和变革做出了巨大的贡献。尤其是在二十世纪九十年代,美国政府提出“信息高速公路”计划并付诸实施后,网络从极少人理解的领域普及到大众生活中。网络是时代的宠儿,是主角。随着网络的发展,基于计算机对信息管理的高效性,各种信息管理平台跃入人们的视野。其中,网上商品交易系统就是典型的信息管理系统(MIS)。投资少,回收快。这是网上商城的一大优点。一项针对中国中小企业的情况调查显示,个人在网下启动销售公司的平均费用至少5万元,而网上开店建店成本非常小。一般说,筹办一家网上的商店投入很小,不用
13、去办营业执照,不用去租门面,不用囤积货品,所需资金不过1500元左右;网上商店比同等规模的地面商店“租金”要低得多,同时租金不会因为营业面积的增加而增加,投资者也不用为延长营业时间而增加额外的费用。基本不需要占压资金。传统商店的进货资金少则几千元,多则数万元,而网上商店则不需要压资金。24小时营业时间。网上商店延长了商店的营业时间,一天24小时、一年365天不停地运作,无须专人值班看店,都可照常营业。销售规模不受地盘限制。传统商店有多大就只能摆放多少商品,生意大小常常被小店面积限制。而在网上,即便在地面上只有一个小商店,或者干脆就没有门面,开店的生意却可以照样做得很大。不受店面空间的限制,哪怕
14、只是街边小店,在网上却可以拥有百货大楼那么大的店面,只要投资者愿意,可以摆上成千上万种商品。目前国内最大的专业拍卖网站同时在线的商品要超过10万件已超过一些大超市。不受地理位置影响。不管客户离店有多远,也不管顾客是国内还是国外,在网上,客户一样可以很方便地找到并购买商品。这令消费群体突破了地域的限制,变得无限广阔了。本系统的目标就是将图书销售由传统的商店模式向网上销售的转变,同时还可以对销售的订单和图书的种类等信息进行在线管理,进而实现人们可不需出门就能够方便的买到自己喜欢的各类书籍,向客户展现了一种新的购书理念。网上购书这样一种方式,顺应了时代潮流,逐渐为人们所接受。图书销售管理实质为进销存
15、管理,是图书零售商经营管理中的核心环节,是商家取得效益的关键。因此,进销存管理决策直接影响商家的经济效益。而在手工管理的情况下,管理人员对进货及库存量很难进行良好地控制,图书的供求信息也很难正确的获得,由此可见,在竞争激烈的市场中,网上图书销售管理系统的出现成为一种必然。它利用计算机,使图书销售企业进货、库存和销售可以有机的结合在一起,以此提高了工作效率,降低了管理成本,杜绝了图书进销多方面的漏洞,进而获得了更多的经济效益。1.2国内外现状的研究20世纪70年代末,美国航空运输业的机票订购系统开始采用网上订票系统;1991年美国允许利用英特网进行商业活动;1993年万维网的出现,使网上交易平台
16、进一步发展,英特网全面商业化在国内,中国的信息产业实现了快速发展,电子信息产业的规模居世界前列,网络事业也得到逐步提高,互联网产业正在逐步形成。互联网在中国正在改变着人们的工作和生活方式,在促进经济发展,推动社会进步和提高人民生活质量方面,发挥着越来越重要的作用。另外,网上购物的互联网用户已经达到了2千万之多,2013年双十一期间,仅六小时网上购物成交金额就过百亿。图书网站作为网上购物的一个领域分支,最早产生于美国。在中国,由于网上购书占据网上购物极大份额,所以图书比价网站成为了购物网站的一个代表类型。在谷歌搜索引擎中输入“网上书城”搜索就有80多万项结果。其中最具代表的就是当当网,它于199
17、9年上线,是我国真正意义上的第一家网上书店。北京大学社会学专业毕业、从国家机关辞职的李国庆,拿着第一笔风险投资的基金开始了自己的网店生涯。8年后,这家号称全球最大中文网上书店的企业营业额已经达到8个亿。此后,伴随着世界电子商务浪潮的到来,越来越多的网上书店在国内兴起。目前我国网上书城的主要类型有以下几种:1)由国有新华书店投资建设的网上书店。2)由出版社建立的网上书店。3)外贸出版公司投资建设的网上书店。4)非出版业投资建设的网上书店,如卓越网。1.3研究内容本系统是基于JavaEE三层结构的B/S(Browser/Server)模型软件,包含表示层、业务逻辑层和数据访问层三个部分。结合MVC
18、模式的分层结构,将应用分成Model(模型)、View(视图)、Control(控制)3个部分。3个部分以最少的耦合协同工作,从而提高了应用的可扩展性和可维护性。并且它使用了目前最为流行的Java语言进行编写,结合JSP技术,用户界面友好。系统总体可分成两大基本功能:前台管理和后台管理。前台管理主要面向用户,功能包括用户注册、登录、注销、密码找回、修改用户信息、浏览图书、订购图书、提交订单、查看特价图书信息等功能。后台管理主要面向管理人员,功能包括登录、图书维护、订单处理、确认订单、发送订单等功能。通过对各个模块的实现、集成,最后完成的系统可以为用户提供基本的服务,并且可以根据管理员的需要,对
19、用户的信息以及图书信息实施管理。对于不同的使用者,系统的功能与业务逻辑是不完全相同的。对于用户而言,系统主要向用户展示一个友好美观的界面,方便用户浏览各类图书信息,查询图书信息,以及订购图书。而管理员则需要在后台维护这些数据。本系统的主要功能是实现用户购书,用户通过查询书籍信息,找到满意的,将这些书籍添加到购物车,进而完成购买。第2章 系统研究的相关知识2.1JavaEE简介2.1.1什么是JavaEEJavaEE是Java平台的企业版,是一套技术架构。JavaEE可提高应用程序的可移植性、安全性与复用价值,其核心是一组技术规范与指南。JavaEE的产生使开发人员只需要注意商业逻辑与架构设计。
20、JavaEE是J2EE版本的后续版本,是J2EE技术的新生和发展。JavaEE技术具有J2SE平台的所有功能,同时还提供对EJB、Servlet、JSP、XML等技术的全面支持。JavaEE的最终目标是成为一个支持企业级应用开发的体系结构,简化企业解决方案的开发、部署和管理等复杂问题。事实上,JavaEE已经成为企业级开发的工业标准和首选平台。JavaEE是一个标准而不是产品,各个平台开发商按照JavaEE规范开发不同的JavaEE应用服务器。推出JavaEE框架的目的是为了克服传统C/S模式的弊端,迎合B/S架构的潮流。JavaEE不是Java标准版(JavaSE)的替代品。JavaSE是J
21、avaEE的核心部分,它为JavaEE提供了基本的语言框架,所以过去所学的任何有关Java的知识仍然有用。此外,JavaEE还有另一套用于创建用户界面的API,称为JSF(JavaServer Faces),这是Java最新的技术之一。JavaEE平台也支持开发应用程序的中间层,包括业务逻辑和与后台数据源的链接。为了开发企业级的应用,JavaEE定义了大量的服务,用于实现企业级的应用和大量的基础结构。编写具有可扩展性、健壮性、安全和易于维护的分布式应用程序,需要用到大量的系统级功能。这些重要的基础结构模块包括了安全性、数据库访问和事物控制等系统级功能。其中安全性保证了用户只可以访问应用中那些被
22、赋予相应权限的部分;数据库访问是最基本的组件之一,便于应用程序存储和读取数据;对事物的支持则保证在恰当的时间更新相应的数据。2.1.2JavaEE常用技术1.ServletServlet是Java平台上的CGI技术。Servlet在服务器端运行,动态生成Web页面。与传统的CGI和许多其他类似CGI的技术相比,Java Servlet具有更高的效率并更容易使用。对于Servlet,重复的请求不会导致同一程序的多次转载,它是依靠线程的方式来支持并发访问的。2.JSPJSP(Java Server Page)是一种实现普通静态HTML和动态页面输出混合编码的技术。从这一点来看,非常类似于Micro
23、softAsp、PHP等技术。借助形式上的内容和外观表现的分离,Web页面制作任务,可以比较方便地划分给页面设计人员和程序员,并方便地通过JSP来合成。在运行时,JSP将会被首先转换成Servlet,并以Servlet的形态编译运行,因此它的效率和功能与Servlet相比没有差别,一样具有很高的效率。3.JDBCJDBC(Java Database Connectivity,数据库访问接口),它使数据库开发人员能够用标准JavaAPI编写数据库应用程序。JDBC API主要用来连接数据库和直接调用SQL命令执行各种SQL语句。利用JDBC API可以执行一般的SQL语句、动态SQL语句及带IN
24、和OUT参数的存储过程。Java中的JDBC相当于Microsoft平台中的ODBC(Open Database Connectivity)。4.HibernateHibernate是一个面向Java环境的对象/关系数据库映射工具,即ORM(Object-Relation Mapping对象-关系映射)工具。它对JDBC API进行了封装,负责Java对象的持久性,在分层的软件架构中它位于持久化层,封装了所有数据访问细节,使业务逻辑层可以专注于实现业务逻辑。5.SpringSpring是一个开源框架,是为了解决企业应用程序开发的复杂性的问题而创建的。它基于依赖注入和面向方面技术,大大地降低了应
25、用开发的难度与复杂度,提高了开发的速度,为企业级应用提供了一个轻量级的解决方案。6.EJBEJB定义了一组可重用的组件:Enterprise JavaBeans。开发人员可以利用这些组件,想搭积木一样建立分布式应用。在装配组件时,所有的Enterprise JavaBeans都需要配置到EJB服务器(一般的Weblogic、WebSphere等J2EE应用服务器都是EJB服务器)中。EJB服务器作为容器和低层平台的桥梁管理着EJB容器,并向该容器提供访问系统服务的能力。所有的EJB实例都运行在EJB容器中。EJB容器提供了系统级的服务,控制了EJB的生命周期。EJB容器为它的开发人员代管了诸如
26、安全性、远程连接、生命周期管理及事物管理等技术环节,简化了商业逻辑的开发。7.JSFJSF(JavaServer Faces)是JavaWeb应用程序的一个用户界面(User InterFace,UI)框架。设计JSF的目的在于,极大地缓解在Java应用服务器上运行的应用程序的编写和维护的压力,并将这些应用程序的UI重新呈现给目标客户端。8.JMSJMS(Java Message Service,Java消息服务)是一组Java应用接口,它提供创建、发送、接收、读取消息的服务。JMS API定义了一组公共的应用程序接口和相应语法,使得Java应用能够和各种消息中间件进行通信。通过使用JMS,能
27、够最大限度地提升消息应用的可移植性。JMS既支持点对点的消息通信,也支持发布/订阅式的消息通信。9.JNDI由于JavaEE应用程序组件一般分布在不同的机器上,所以需要一种机制以便于组件客户使用者查找和引用组件及资源。在JavaEE体系中,使用JNDI(Java Naming and Directory Interface,Java命名和目录接口)定位各种对象,这些对象包括EJB、JDBC数据源及消息连接等。JNDI API为应用程序提供了一个统一的接口来完成标准的目录操作,如通过对象属性来查找和定位该对象。由于JNDI是独立于目录协议的,应用还可以便用JNDI访问各种特定的目录服务,如LDA
28、P、NDS和DNS等。2.1.3分层架构模式分层模式是最常见的一种架构模式,甚至可以说分层模式是很多架构模式的基础。它将解决方案的组件分隔到不同的层中,每一层中的组件应保持内聚性,并且应大致在同一抽象级别,每一层都应与它下面的各层保持松散耦合。分层模式的关键点在于确定依赖,即通过分层,可以限制子系统间的依赖关系,使系统以更松散的方式耦合,从而更易于维护。分层模式具有伸缩性、可维护性、可扩展性、可重用性、可管理性。分层设计的基本原则如下:单向逐层调用原则,面向接口编程原则,封装变化原则,开闭原则,单一职责原则,接口平行原则。2.2 MVC框架技术Struts2Struts2是Sun Micros
29、ystems的一名高级工程师Craig R. McClanahan设计的一套Web应用程序的通用框架Struts。Struts为Java Web应用提供了MVC框架,尤其适用于开发大型可扩展的Web应用,开发人员可以把精力集中在如何解决实际业务问题上。Struts框架有如下优点: 支持MVC模式,结构清晰,使开发者只关注业务逻辑的实现。 Struts提供的标签库如能灵活使用,可能大大提高开发效率。 通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。 提供Exception处理机制。 提供数据库连接池管理。 支持国际化(I18N).2.3 JavaScript脚
30、本语言JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。它最初由网景公司(Netscape)的Brendan Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。JavaScript是Sun公司的注册商标。Ecma国际以JavaScript为基础制定了ECMAScript标准。JavaScript也可以用于其他场合,如服务器端编程。完整的JavaScript实现包含三个部分:ECMAScript,文档对象模型,字节顺序记号。javascript组成一个
31、完整的 JavaScript 实现是由以下 3 个不同部分组成的:核心(ECMAScript)、文档对象模型(Document Object Model,简称DOM)、浏览器对象模型(Browser Object Model,简称BOM)。JavaScript程序是由若干语句组成的,语句是编写程序的指令。JavaScript提供了完整的基本编程语句,它们是:赋值语句、switch选择语句、while循环语句、for循环语句、for each循环语句、do.while循环语句、break循环中止语句、continue循环中断语句、with语句、trycatch语句、if语句(if.else,if
32、else if)。2.4MySQL简介MySQL 是关系型数据库(Relational Database Management System)。 这种所谓的关系型可以理解为“表格”的概念, 一个关系型数据库由一个或数个表格组成。MySQL是最受欢迎的开源SQL数据库管理系统,它由MySQL AB开发、发布和支持。它是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。MySQL是一个数据库管理系统,一个数据库是一个结构化的数据集合。它可以是从一个简单的销售表到一个美术馆、或
33、者一个社团网络的庞大的信息集合。如果要添加、访问和处理存储在一个计算机数据库中的数据,你就需要一个像MySQL这样的数据库管理系统。从计算机可以很好的处理大量的数据以来,数据库管理系统就在计算机处理中和独立应用程序或其他部分应用程序一样扮演着一个重要的角色。MySQL是一个关系数据库管理系统,关系数据库把数据存放在分立的表格中,这比把所有数据存放在一个大仓库中要好得多,这样做将增加你的速度和灵活性。“MySQL”中的SQL代表“Structured Query Language”(结构化查询语言)。SQL是用于访问数据库的最通用的标准语言,它是由ANSI/ISO定义的SQL标准。MySQL是开
34、源的,开源意味着任何人都可以使用和修改该软件,任何人都可以从Internet上下载和使用MySQL而不需要支付任何费用。如果你愿意,你可以研究其源代码,并根据你的需要修改它。MySQL服务器是一个快的、可靠的和易于使用的数据库服务器,MySQL服务器还包含一个由用户紧密合作开发的实用特性集。MySQL服务器工作在客户/服务器或嵌入系统中,它由多线程SQL服务器组成,支持不同的后端、多个不同的客户程序和库、管理工具和广泛的应用程序接口(APIs)。MySQL也可以是一个嵌入的多线程库,你可以把它连接到你的应用中而得到一个小、快且易于管理的产品。2.5B/S体系结构由于客户机/服务器(C/S)两层
35、结构存在开发成本较高、升级麻烦、维护工作复杂等缺陷,已较难适应当前信息技术与网络技术发展的需要。随着INTERNET的飞速发展尤其是Web技术的广泛应用,C/S越来越难以满足企业的需要,传递单向信息的静态Web页面也无法提供充分的交互式功能,导致企业无法及时将企业的动态信息发布到网上,这就急需将数据库与Web连接起来,供用户查询甚至更新,这时出现了浏览器/服务器(Browser/Server)体系结构。Browse/Server(简称B/S)结构已成为取代Client/Server(简称C/S)结构的一种全新技术。采用该结构的优势在于:a.无须开发客户端软件,维护和升级方便;b.可跨平台操作,
36、任何一台机器只要装有WWW浏览器软件,均可作为客户机来访问系统;c.具有良好的开放性和可扩充性;d.可采用防火墙技术来保证系统的安全性,有效地适应了当前用户对管理信息系统的新需求。因此该结构在信息技术领域中获得巨大成功。图2-1为C/S结构和B/S结构示意图。图2- 1c/s和b/s架构模式2.6MyEclipse和Tomcat7.0的简要介绍MyEclipse企业级工作平台(My Eclipse Enterprise Workbench,简称MyEclipse)是对EclipseIDE的扩展,利用它可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰
37、富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。在结构上,MyEclipse的特征可以被分为7类:1.JavaEE模型;2.WEB开发工具;3.EJB开发工具;4.应用程序服务器的连接器;5.JavaEE项目部署服务;6.数据库服务;7.MyEclipse整合帮助。对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyE
38、clipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错。 Tomcat是一个较为流行的服务器,它往往是开发和调试JSP程序的首选,尤其是在中小型系统和开发访问用户不是特别多的场合。对于一个学习时间并不长的人来说,非常实用。当我们在一台机器上配置好Apache服务器时,可以利用它响应对应的Html页面的访问请求。Tomcat实际上是Apache服务器的扩展,它是可以独立运行的,所以当你运行Tomcat时,它实际上是为一个和Apache独立的进程进行的。第3章 项目的系统分析3.1可行性分析可行性分析的任务是从技术上、经济上、使用上、法律上
39、分析应解决的问题是否有可行的解,从而确定该软件是否值得去开发。其目的是用极少的代价在最短的时间内确定被开发的软件是否成功,以避免盲目投资带来的巨大浪费。可行性分析与风险分析是密切相关的。如果项目的风险很大,就会降低产生高质量软件的可行性。本系统的可行性分析主要集中在一下4个方面。1. 经济可行性分析投资少,回收快。这是网上商城的一大优点。一项针对中国中小企业的情况调查显示,个人在网下启动销售公司的平均费用至少5万元,而网上开店建店成本非常小。一般说,筹办一家网上的商店投入很小,不用去办营业执照,不用去租门面,不用囤积货品,所需资金不过1500元左右;网上商店比同等规模的地面商店“租金”要低得多
40、,同时租金不会因为营业面积的增加而增加,投资者也不用为延长营业时间而增加额外的费用。基本不需要占压资金。传统商店的进货资金少则几千元,多则数万元,而网上商店则不需要压资金。24小时营业时间。网上商店延长了商店的营业时间,一天24小时、一年365天不停地运作,无须专人值班看店,都可照常营业。传统店铺的营业时间一般为8-12小时,遇上坏天气或者老板、店员有急事也不得不暂时休息。销售规模不受地盘限制。传统商店有多大就只能摆放多少商品,生意大小常常被小店面积限制。而在网上,即便在地面上只有一个小商店,或者干脆就没有门面,开店的生意却可以照样做得很大。不受店面空间的限制。哪怕只是街边小店,在网上却可以拥
41、有百货大楼那么大的店面,只要投资者愿意,可以摆上成千上万种商品。目前国内最大的专业拍卖网站同时在线的商品要超过10万件已超过一些大超市。不受地理位置影响。不管客户离店有多远,也不管顾客是国内还是国外,在网上,客户一样可以很方便地找到并购买商品。这令消费群体突破了地域的限制,变得无限广阔了。网络书店因此应时而生。要知道,传统书店对购买者来说需要花费很多交通以及挑选的时间,加上需要固定店铺,成本高,图书价格较高,另外如果店铺规模较小,书籍种类不能保证。这样就促使网上书店越来越成为可能。网上书城新增电子版图书售卖,价格更加低廉、高效、方便。同时避免了当顾客距离不在同一城市时,使用快递和邮递相结合的方
42、式送书。网上书城系统使用免费的开源软件及汇编语言进行开发,成本低廉。2. 技术可行性分析网络书城基于JavaEE三层结构的B/S(Browser/Server)模型软件,B/S模型是目前最为流行的体系结构,它无须开发客户端软件,维护和升级方便;可跨平台操作,任何一台机器只要装有WWW浏览器软件,均可作为客户机来访问系统;具有良好的开放性和可扩充性;可采用防火墙技术来保证系统的安全性,有效地适应了当前用户对管理信息系统的新需求。因此该结构在信息技术领域中获得巨大成功。结合MVC框架模式的分层结构,将应用分成Model(模型)、View(视图)、Control(控制)3个部分。3个部分以最少的耦合
43、协同工作,从而提高了应用的可扩展性和可维护性。按这种模式设计的程序,多个视图可以对应一个模型,模型返回的数据与显示逻辑分明,程序结构清晰,易于维护。它使用了目前最为流行的Java语言编写,拥有稳定、可移植、安全等优点,结合JSP技术,在MyEclipse集成开发环境下完成,用户界面友好。其中B/S结构得以让数据在IE浏览器上显示,数据处理在服务器上进行,用户不必安装客户端,而且数据通过服务器端的统一管理,保证其一致性。另外系统使用小型关系型数据库管理系统MySQL作为网站的后台数据库系统,体积小、速度快。由于对JavaEE及MySQL的熟悉,通过自身的专业知识结合实际情况,此系统的编写与实现是
44、可行的。同时,网页的实现遵循兼顾美观与高效的原则,使整个网站在保证功能的前提下,给浏览者带来良好的视觉享受。3. 操作可行性分析伴随着计算机网络技术的普及和应用,即使是非专业人士也已经对计算机的基本操作和维护有了一定的了解和认识,本网站在进行界面设计时,充分考虑到顾客及管理员的习惯,严格依据用户界面设计的原则和规范,操作简单明了,统计准确,适应力强,容易扩充,数据的输入等规范可靠。系统分成前台和后台两大部分。前台针对于普通用户。游客进入网站,可查阅图书信息,注册成为网站用户,使用电子邮箱或用户名进行登录,登陆后可进行图书收藏、评论、购买、和修改个人信息等操作,游客则不能。后台针对于管理员。管理
45、员登陆后,可进行图书信息的删除、修改、添加、分类等,以及订单确认、删除等管理。4. 使用可行性分析系统严格依据用户界面设计的原则和规范进行设计,易用、规范、合理、美观协调。3.2需求分析网络书城的主要功能就是让用户能够足不出户就可以购买到自己想要的书籍,所以网络书城系统主要提供如下功能: 用户能够使用本网站完成图书的浏览、查询和购买。 普通用户只能浏览图书信息,浏览分为3种方式:按类别浏览、按条件浏览、查询图书。 普通用户通过注册成为注册用户,注册后的用户可以登录,如忘记密码可以找回密码,登录后可以修改注册资料。 注册用户登录后可以进行在线图书购买,购买的图书存放在购物车中,可以对购物车中的商
46、品数量进行修改、删除。调整好购物车中内容后,可以把该内容保存到订单中,在保存订单的时候要求用户填写送货地址和联系方式。订单提交后用户可以开始新的购物过程。 对于后台系统,要求可以进行商品目录的维护,商品的图片可以上传到服务器,可以进行特价商品维护,订单可以查询详细信息,具有订单确认和订单发送的功能。3.3用例分析用例图(USE-case Diagram)显示外部参与者与系统的交互,能够更直观地描述系统的功能。图3-1和图3-2是书城系统的两个用例图。图3- 1客户端用例图图3- 2后台维护端用例图3.4数据流图数据流图(data flow diagram,DFD)是用来描述系统逻辑模型的一种图
47、形工具。数据流图从数据传递和加工的角度,以图形的方式描述数据流从输入到输出的移动变化过程。数据流图是描述逻辑模型的图形工具,表示数据在系统内的变化。数据流图可以用来表示一个系统或软件在任何层次上的抽象。较大型软件系统的数据流图可以分成多层(子图、父图),能够表示数据流和功能的细节。数据流图有4种基本图形符号:矩形表示外部实体,代表数据源和数据池;圆角矩形或圆形表示加工,代表接受输入,经过变换,继而产生输出的处理过程;箭头表示数据流,代表数据的流向和路径;两条平行横线或矩形右侧不封口的表示数据存储,代表系统加工的数据所存储的地方。本系统的数据流图如下所示:1. 顶层数据流图。图3- 3顶层数据流
48、图2.下层数据流图该系统分为用户和管理员两部分,数据流图如图3-4和图3-5所示。图3- 4用户部分数据流图图3- 5管理员部分数据流图3.5实体关系图本系统总体有4个实体,其内容如下。用户:包括用户ID,用户名,用户密码,真实姓名,电子邮箱,联系电话,邮编,地址;图书:包括图书ID,书名,ISBN,出版社,图片,简介,价格,折扣,库存量,类别;订单:包括订单号,下单日期,总金额,书名;管理员:包括管理员名,管理员密码,真实姓名。这4个实体之间存在的关系,如图3-6所示。图3- 6系统E-R图第4章 项目的系统设计4.1功能设计表4-1给出了书城的模块划分模块名子功能描述首页网站首页最新商品和
49、特价商品信息,登录界面,类别分类管理员管理管理员登陆提供用户名、密码、验证码后可以登录系统管理员密码设置管理员可以修改自己的密码用户管理用户登录提供用户名、密码、验证码后可以登录系统用户注册填写详细资料后成为正式注册用户用户资料修改用户登录后可以修改自己的注册资料用户密码找回忘记密码的用户可以通过E-mail找回密码图书浏览浏览所有图书列出所有商品,并且分页显示按类别查询根据选择的类别查询出所有图书,并分页显示按名称模糊查询根据名称和类别做模糊查询,分页显示查看详细信息根据ID查询图书的详细信息,更新浏览次数商品订购添加到购物车把需要的图书添加到购物车浏览购物车显示购物车中的内容修改购物车中的
50、图书数量修改数量后,更新购物车删除购物车的图书购物车中的图书可以删除保存购物车到订单把购物车的内容保存到订单中,保存的时候需要填写用户的联系信息其他功能查看特价图书信息浏览特价图书信息,可以直接订购后台图书维护浏览图书按类别/名称查询商品,并且分页显示修改图书信息对单个图书的信息可以进行修改新增图书添加图书,图片可以上传到服务器特价图书维护可以把普通图书维护到特价商品,也可以取消特价商品后台订单维护查看订单列出所有未处理的订单,可以看每个订单的内容订单确认把未确认的订单变成已确认的订单订单发送把已确认订单设置成已发送状态订单删除可以删除未确认订单表4- 1功能划分表4.2数据库设计系统数据库命
51、名为BookStore,8个数据表分别为bs_admin(管理员)、bs_role(角色)、bs_customer(客户)、bs_category(图书分类)、bs_book(图书)、bs_order(订单)、bs_details(订单细目)、bs_log(日志)。书城数据表及其关系如图4-1所示。图4- 1书城数据表及其关系4.3数据库表1.书城管理员表(bs_admin):管理员登陆是需要管理员账户和密码的,所以管理员数据表中必须包含账户(admin_name)和密码(admin_password),另外还有管理员的真实姓名(admin_realName),从功能上数据表的设计,如表4-2
52、所示。列名数据类型空值默认值约束admin_namevarchar(45)nonullPRIadmin_passwordvarchar(45)nonullUNIadmin_realNamevarchar(45)nonull表4- 2管理员数据表2.书城角色表(bs_role):表中包含角色id(role_id)、角色名(role_name),它与书城管理员是1对多的关系,使用外键管理员账户(admin_name)进行连接。数据表的设计,如表4-3所示。列名数据类型空值默认值约束role_idint(11) unsignednonullPRIadmin_namevarchar(45)yesnul
53、lMULrole_namevarchar(45)nonull表4- 3角色数据表3.书城客户表(bs_customer):用户id(cust_id),用户名(cust_name),密码(cust_password),真实姓名(cust_realName),电话(cust_phone),邮箱(cust_email),住址(cust_address),邮编(cust_zipcode)等。如表4-4:列名数据类型空值默认值约束cust_idint(11) unsignednonullPRIcust_namevarchar(45)nonullUNIcust_passwordvarchar(45)non
54、ullUNIcust_realNamevarchar(45)nonullcust_phonevarchar(45)nonullcust_emailvarchar(100)nonullcust_addressvarchar(200)nonullcust_zipcodevarchar(12)nonullcust_datetimetimestampnocurrent_timestamp表4- 4客户数据表4.图书分类表(bs_category):id(cat_id)和类名(cat_name)。如表4-5:列名数据类型空值默认值约束cat_idint(11) unsignednonullPRIcat_
55、namevarchar(45)nonull表4- 5图书分类数据表5.书城图书信息表(bs_book):图书id(book_id)、书名(book_name)、出版社(book_publisher)、ISBN(book_isbn)、封面(book_picture)、价格(book_price)、作者(book_author)、简介(book_desc)等,与图书分类表是一对多的联系,使用外键cat_id进行关联。具体如下表4-6:列名数据类型空值默认值约束book_idint(11) unsignednonullPRIcat_idint(11) unsigned zerofillyesnullMULbook_namevarchar(45)nonullbook_publishervarchar(45)nonullbook_isbnvarchar(45)nonullbook_picturevarchar(45)nonullbook_pricefloatnonullbook_authorvarchar(50)nonullbook_desctextnonullbook_countint(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年c1如何考客运资格证
- 2024年江苏客运员考试考什么内容的题
- 2024年宜宾客车上岗证模拟考试
- 2024年海口客运驾驶员考试虚拟场景考试题
- 2024年长春客运考试口诀是什么
- 2024年杭州客运从业资格证模拟考试
- 暖通工程施工方案
- 黑龙江省绥化市明水县第二中学2024-2025学年(五四学制)六年级上学期11月期中道德与法治试题
- 文件档案储存管理
- 设计评审的公正性保障
- 2024年采矿权转让合同范本
- 双手向前投掷实心球 课件
- 第六章 回归分析课件
- 期中阶段性练习(一~四单元)(试题)-2024-2025学年五年级上册数学苏教版
- 医疗设备供货安装调试培训、售后组织方案
- 2024年云南德宏州州级事业单位选调工作人员历年高频难、易错点500题模拟试题附带答案详解
- 2024年秋新鲁科版三年级上册英语课件 Unit 6 lesson 1
- 英语国家概况-Chapter10-government解析
- 2024年浙江省中考英语试题卷(含答案)
- 2024-2030年中国AGV机器人行业发展分析及发展前景与趋势预测研究报告
- 2025年山东省春季高考模拟考试英语试卷试题(含答案+答题卡)
评论
0/150
提交评论