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