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