1、Jsp 网上书店系统分析与设计Online BookStore System学 院 -专 业 xxx-学 号 -姓 名 -xxx-导 师 -完成日期 201x 年 x 月 第一章 系统的概要一系统名称系统名称:网上购书系统二 系 统 开 发 环 境1系统类型:本系统符合事务处理系统。事务处理系统:事务处理系统用于处理组织的日常事务,例如订购物资,支付货款等,它用来收集和记录影响组织的大量事务数据,从而消除了枯燥的操作事务,减少了手工处理事务所需要的大量时间。事务处理系统是计算机自动处理的第一步,管理者希望通过它产生的数据来掌控组织的最新信息,因此,其稳定可靠地运行是组织日常运作的关键。2系统开
2、发背景:从第一台电脑的诞生就注定要改变整个人类的生活方式。Internet 在全球的普及使得改变人类生活成为现实。我们传统的生活方式大多都是身体力行的,无论是买东西,和人打交道等等。在取得同样目标的前提下,我们或许早就厌烦了每件事情都必需要自己亲力亲为的方式。互联网,让我们有了第二种选择。从前我们读书看书都必须要有书本才行,而且是要纸质书本。这就给我们带来了很多问题了。纸质书无论是数量上还是质量上有可能都无法完全满足所有人的需要。另一方面,纸质书是一种实物,因此,纸质书容易破损、丢失,而且购物、转借都必须像其他事情一样亲力亲为,这对于现在高节奏的生活方式无疑是一个累赘。那么是否有种更简便的方式
3、呢?现在我们知道那就是网上书店了。自从 internet 在世界上开始流行,其后,又随着通信技术,网络技术,安全技术等新技术的不断出现,使得我们生活在网上都成了可能。书籍永远是人类进步的阶梯。在各种各样的购物网站的不断涌现,网上购书网站也如雨后春笋般出现了。因为网上书店有着与传统购书很大的优势。网上书店最大的功能就是方便了读者更好的购书。由于互联网的存在,使得网上的信息的全面性,因此读者可以在网上书店中快速准确的找到自己所需要的书籍,而非在传统购书中要到处跑书店所带来的繁琐。网上书店中读者可以很容易的找到自己所需要的书籍,同样这相对于自己跑大书店然后慢慢找要省时间的多。另一方面就是网上书店可以
4、在线购买,这同样比传统购书的现金支付要方便的多。从这么多方面来看,我们认识到了网上书店最大的优势就是便利。三系统开发采用的技术本系统采用系统集成技术:基于 web 技术实现诸多系统企业资源规划系统无线设备的使用系统开源软件这里简要的对几种具体的开发技术进行论述:1页面表现层:本系统的页面显示层所使用的语言框架有:HTML,CSS,Velocity 和少量JavaScript 等。这里重点说明下 Velocity 模板技术。Velocity 是一个基于 java 的模板引擎(template engine) 。它允许任何人仅仅简单的使用模板语言(template language)来引用由 ja
5、va 代码定义的对象。当 Velocity 应用于 web开发时,界面设计人员可以和 java 程序开发人员同步开发一个遵循 MVC 架构的web 站点,也就是说,页面设计人员可以只关注页面的显示效 果,而由 java程序开发人员关注业务逻辑编码。Velocity 将 java 代码从 web 页面中分离出来,这样为 web 站点的长期维护提供了便利,同时也 为我们在 JSP 和 PHP 之外又提供了一种可选的方案。Velocity 的能力远不止 web 站点开发这个领域,例如,它可以从模板 (template )产生 SQL 和 PostScript、XML,它也可以被当作一个独立工具来产生
6、源代码和报告,或者作为其他系统的集成组件使用。 Velocity也可以为 Turbine web 开发架构提供模板服务( template service) 。Velocity+Turbine 提供一个模板服务的方式允许一个 web 应用以一个真正的 MVC模型进行开发。本系统中的 webx 框架对 velocity 进行过一些重构,使得velocity 更易于使用。2. Web 层: Web 层主要采用了基于 Turbine 风格的 Web 框架。该框架与主流的 struts等 MVC 框架类似。不过 web 框架中添加了十分灵活的 pipeline 的管道机制,十分丰富的 Service
7、服务,如 Form Service,Pull Service 等。并可以通过简单的配置文件实现很多丰富的功能。使用 spring 的 IOC 框架进行依赖注入,方便的将分离的 DAO 层,AO 层,Manage 层,Module 等通过注入方式联系起来,这样有利于模块的分块,层次清晰,也有利于重构。主要的业务处理由 spring 的CommandDispatcher 实现。十分灵活,透明。3. 业务层: Web 框架很好的分离了业务层和 web 层。Web 层的主要操作都在 Module中的 Action 中完成;业务层从层次上来说,大致包括 AO,Manage 等。业务层与 web 层的分离
8、,完全符合高内聚,低耦合的要求。数据访问层。数据访问层使用的框架为 ibatis。iBATIS 提供的持久层框架包括SQL Maps 和 Data Access Objects(DAO) ,相对 Hibernate 和 Apache OJB 等“一站式”ORM 解决方案而言,ibatis 是一种“ 半自动化”的 ORM 实现,iBATIS 需要开发人员自己来写 sql 语句,这可以增加了程序的灵活性,在一定程度上可以作为 ORM 的一种补充,程序设计人员应该结合自己的项目的实际情况,来选择使用不同的策略。iBATIS 和 Hibernate 都做了映射,但 iBATIS 是把实体类和 sql
9、语句之间建立了映射关系,这种策略可以允许开发人员自己来写合适的 sql 语句,而 Hibernate 在实体类和数据库之间建立了映射关系,sql 对于开发人员是不可见的,对于那些数据量非常大的应用,无法去优化 sql 语句。所谓“半自动”,可能理解上有点生涩,纵观目前主流的 ORM,无论 Hibernate 还是 Apache OJB,都对数据库结构提供了较为完整的封装,提供了从 POJO 到数据库表的全套映射机制,程序员往往只需定义好了 POJO 到数据库表的映射关系,即可通过 Hibernate 或者 OJB 提供的方法完成持久层操作,程序员甚至不需要对 SQL 的熟练掌握, Hibern
10、ate/OJB 会根据制定的存储逻辑,自动生成对应的 SQL 并调用 JDBC 接口加以执行。而已 ibatis 比 hibernate 较容易掌握,根据需要,本系统采用较小巧灵活的 ibatis 采用 ORM 工具。4. 数据库采用开源的 MySql5.1:开源的 MySql 在开源社区里一直在不断壮大。MySql 虽然比 SQL Server,Oracle 小,但它的功能一点也不弱。对于本系统来说,使用 MySql 完全可以胜任。加上它的小巧免费,决定采用 Mysql 作为数据库。第二章 系统的生命周期(SDLC)一 系统的规划1系统目标本系统需要实现的目标简要概括如下:(1)用户管理功能
11、。提供基本的用户注册和登录功能。对于非注册用户,只能浏览、搜索书籍,不能查看用户信息,使用购物车等功能;对于注册用户,除了非注册用户功能外,还可以使用购物车,订单管理,用户信息修改,发表评论等。(2)书籍管理功能。所有人员可以浏览书籍,搜索书籍。注册用户可以在购物车中增删书籍;管理员可以增加、更新、删除书籍信息。(3)购物车功能。购物车方便了用户的购买行为。可以一次添加多种商品,统一结算等。(4)订单处理。注册用户确认购物后的一种凭证。用户可以查看所有的订单情况。(5)管理员功能。这里管理员也充当了商家的功能。可以查看、修改会员信息,删除会员。对书籍的全部操作,对评论,订单,库存等的操作等。2
12、 国 内 外 网 上 购 书 系 统 发 展 情 况网上书店也是电子商务的一块内容。我们知道电子商务最早开始的就是美国等国外发达国家了。到现在,可以说发达的国家的电子商务系统已经发展得相当之成熟了。大家耳熟能详的著名的网上书店就是亚马逊(A mazon)书店。它是世界上销售量最大的书店。大概能提供 310 万册的图书,比全球任何一家书店的存书都要多 15 倍以上。亚马逊书店的 1600 名员工人均销售额 37.5 万美元,比全球最大的拥有 2.7 万名员工的 Bames & Noble 图书公司要高 3 倍以上。这一切的实现,电子商务在其中所起的作用十分关键。我们所知道的很多计算机科学方面的书
13、,如很多 OReilly 等出版的书籍都在亚马逊网上书店上有很高星级的评价。而且这些都是世界知名的。在国内也有很多专门的网上书店。如比较知名的有卓越网,当当网,还有就是综合型的网上购物网站,如淘宝网、当当网、卓越网等等。在我国虽然不是电子商务的先驱,但无疑随着 Internet 的恩惠,我们普通人也享受到了网上书店带来的不一般的便利。现在越来越多的人已经习惯于在网上书店上买书。不但是因为网上购书更便捷,拥有更丰富的书籍信息,而且一般而言,网上购书的成本要低于传统的书店购书。很明显网上书店不需要太多的书城,只需要一个书库就行了。能同时为供应商和消费者节约很多成本。从近年来的统计来看,网上书店正越
14、来越受到消费者的青睐,这个主要的群体自然是学者学生之类的。网上书店同时也为缓解就业压力等又指出了一个方向。我们有理由相信,随着互联网,通信技术,支付技术和安全手段等不断的发展。3网上购书存在的一些问题网上购书主要面临着如下的几大问题:(1)网上购书的地域性还是比较明显的,并没有完全做到完全的无界限性。这主要表现在网上商店主要集中在北京、上海、广州等一线大城市。同时网上购书环境差别也比较大。一线城市的购书到货满意度无论是到货率还是到货时间,都比较有保证,而其他非一线城市则较难令人满意。究其原因也是多方面的,如体现在卖方的积极性,快递的效率,交通的效率等等。(2)网上书籍价格参差不齐。同一商品在同
15、一地域经不同卖家的价格有时会相差很大,这有偏离网上购书的价廉物美的设想。而且由于购书网上的卖家参差不齐,对于买家的正确购物有一定的误导性。(3)网站服务有待加强。网上购书最大的特点也是缺点是你看不到卖家本人,你看不到真正的实物,甚至你看不到自己的钱去了哪。这样就会有很多问题产生,而这些问题产生后就需要网站客服的支持和解答。虽然现在的网站都设有客服,总的来说也有客服人员,由于问题的复制性,问题的真正的解决率实际并不很高。(4)网上购书的真实性。网上都可以是虚的。因此必需要有能完全保证无论是买家,卖家,商品的真实性。但实际上,网上的假货,问题货,盗版货都还是很多,这为消费者造成了一定的威胁。(5)
16、网上购书的安全性。这其实也是所有参与网上购书人员最为关心的一个问题了。网购的安全性也涉及到多方面,比如网上的个人资料,网上的金钱交易等。网站在这方面应该予以更多的重视。同时应呼吁政府对网上市场的规范出台相应的法规,以进一步净化网购的环境和保证网购的完全。二 系统的分析1系统可行性分析系统可行性分析的目的就是要用最小的代价在尽可能短的时间内确定问题是否能够解决,系统方案在经济上、技术上和操作上等是否可以实现和接受。因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行系统分析和设计的过程。(1)技术可行性本系统运行在 windows 上,硬件
17、上不存在问题。实现技术上,采用较经典的基于 MVC 的 web 框架;表现层使用 velocity 模板技术,web 层使用具有Apache 的一个开源框架 Turbine 风格的集合了 spring 框架的 WEB 框架,数据访问层使用 IBATIS 框架,数据库使用 Mysql5.1 版。部署在 Tomcat 上运行。所有这些技术和产品都已较为成熟,技术可行性应该是没有问题的。(2)经济可行性从绪论中的可以看到,网上书店与传统书店相比具有十分明显的优势,从计划到系统实现,我们所使用的所有技术都是免费开源的。从硬件角度来看,一个小型的网上书店只需要一台较好的 windows 作为服务器就可以
18、满足要求,可以说运行的成本是十分低廉的;但同时带来的效益完全可以有利可图。因此经济上也是可行的。(3)操作可行性本系统的界面操作都较为简洁、方便,完全可以满足一般人群的操作需求。不用太多的计算机知识,友好的图形和提示可以上新手尽快上手。(4)其他方面在其他方面,如是否符合当地法律法规,利益冲突等方面都是可行的。综上所述,本购书系统中技术上、经济上、操作上和其他方面都是可行的,因此,继续本系统的分析论述。 2系统的功能需求分析网上购书系统要求模拟现实中的买书场景,我们以此来进行需求分析。(1)基本业务功能用户可以注册登录网站,对自己基本信息进行维护,浏览查找自己所需要的书籍,添加到购物车,在购物
19、车中可以添加删除数据,查看购物车中内容,下订单。(2)基本数据维护功能管理员可以对所有书籍进行管理,包括添加、删除、更新等操作;对会员可以进行查看、修改、删除等操作;库存管理和订单处理。 具体的购书系统管理功能图如下:系统用户管理书籍管理购物车管理员管理用户注册登录用户信息查看用户信息修改更新书籍书籍搜索书籍浏览更新购物车查看购物车信息查看订单发表评论生成订单库存管理用户管理处理订单图 2-1 系统管理功能图3系统业务流分析业务流程图是一种描述系统内各单位、人员之间业务关系、作业顺序和管理信息流向的图表,利用它可以帮助分析人员找出业务流程中的不合理流向。业务流程图表示业务的流向。 登 陆是 否
20、 会 员用 户注 册登 陆 成 功成 功 权 限 判 断管 理 员 页面会 员 页面管 理 员 搜 索 书 籍管 理 员会 员 会 员 信息浏 览 书 籍书 籍 信息查 看 购 物车 添 加 到 购物 车更 新 购 物车 购 物 车信 息 填 写 订 单 订 单 信 息查 看 订 单信 息 修 改 会 员信 息查 看 库 存 信息查 看 会 员信 息 库 存 信息 添 加 书 籍更 新 书 籍 书 籍 信息存 在是库 存 不 足查 看 订 单信 息 订 单 信息 处 理 订 单发 表 评 论 评 论 信息 删 除 评 论否是图 2-2 系统业务流程图4系统数据流分析数据流程图(DFD)是一种能
21、全面地描述信息系统逻辑模型的主要工具,它可以用少数几种符号综合的反映出信息在系统中的流动、处理和存储情况。数据流程图是表示操作或数据的方向。数据流分析是从现在业务中抽取由计算机自动或半自动完成的那一部分活动的过程。各符号的表示如 2-3 所示:(1)顶层数据流程图顶层数据流程图主要介绍了整个系统的运行边界,如图 3-9 所示,展现了在线购书系统的数据数据需求和生成数据的功能。网上购书系统会员 管理员外部文件交互信息反馈信息交换信息反馈信息图 2-4 顶层数据流图(2)一层数据流程图P 1 . 1购物车管理P 1 . 2用户信息管理P 1 . 3订单管理P 1 . 4评论管理P 1 . 5书籍管
22、理P 1 . 6库存管理管理员会 员 信 息订 单购 物 车 信 息用 户 信 息用 户 表订 单 信 息订 单评 论 信 息评 论 表书 籍 表书 籍 信 息库 存 信 息书 籍 表书 籍 信 息会员图 2-5 一层数据流图(3) 二层数据流图P 1 . 1 . 1查看购物车会员用户信息购物车信息P 1 . 1 . 2添加到购物车书籍表书籍信息P 1 . 1 . 3更新购物车书籍信息P 1 . 1 . 4填写订单信息订单订单信息图 2-6 购物车数据流图P 1 . 2 . 1查看会员信息会员 用户表用户信息用户信息P 1 . 2 . 2更新会员信息用户信息 用户信息P 1 . 2 . 3删除
23、会员管理员图 2-7 用户信息管理数据流图P 1 . 3 . 1查看订单信息会员订单信息订单信息订单管理员订单信息P 1 . 3 . 2生成订单订单信息P 1 . 3 . 3编辑订单订单信息会员信息图 2-8 订单管理数据流图5数据字典的定义数据字典是关于数据信息的集合,是在数据流图的基础上,对其中出现的每个数据项、数据结构、数据流、处理逻辑、数据存储和外部实体等进行定义的工具。其作用是在软件分析和设计的过程中,提供关于数据的描述信息。数据流程图配以数据字典,就可以从图形和文字两个方面对系统的逻辑模型进行完整的描述。三系统的设计系统分析阶段解决了管理信息系统“做什么”的问题,而在系统设计阶段将解决“怎么做”的问题。它是管理信息系统开发周期中的第三个阶段,在这个阶段中,我根据信息分析中所描述的新系统逻辑模型,考虑到用户实际的资源、技术条件、经济条件及时间进度要求,由逻辑(非技术)模型导出物理(技术)模型。1系统总体结构设计系统总体结构设计是根据信息分析数据流程图的结果,按照结构化的系统设计方法而进行的。结构化设计的基础是模块化。在线购书系统的功能结构图如图 4-1 所示: