网上购书系统的分析与设计.docx
- 文档编号:9047248
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:23
- 大小:423.02KB
网上购书系统的分析与设计.docx
《网上购书系统的分析与设计.docx》由会员分享,可在线阅读,更多相关《网上购书系统的分析与设计.docx(23页珍藏版)》请在冰点文库上搜索。
网上购书系统的分析与设计
网上购书系统的分析与设计
第一章系统的概要
一.系统名称
系统名称:
网上购书系统
二.系统开发环境
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.系统的功能需求分析
网上购书系统要求模拟现实中的买书场景,我们以此来进行需求分析。
(1)基本业务功能
用户可以注册登录网站,对自己基本信息进行维护,浏览查找自己所需要的书籍,添加到购物车,在购物车中可以添加删除数据,查看购物车中内容,下订单。
(2)基本数据维护功能
管理员可以对所有书籍进行管理,包括添加、删除、更新等操作;对会员可以进行查看、修改、删除等操作;库存管理和订单处理。
具体的购书系统管理功能图如下:
图2-1系统管理功能图
3.系统业务流分析
业务流程图是一种描述系统内各单位、人员之间业务关系、作业顺序和管理信息流向的图表,利用它可以帮助分析人员找出业务流程中的不合理流向。
业务流程图表示业务的流向。
图2-2系统业务流程图
4.系统数据流分析
数据流程图(DFD)是一种能全面地描述信息系统逻辑模型的主要工具,它可以用少数几种符号综合的反映出信息在系统中的流动、处理和存储情况。
数据流程图是表示操作或数据的方向。
数据流分析是从现在业务中抽取由计算机自动或半自动完成的那一部分活动的过程。
各符号的表示如2-3所示:
(1)顶层数据流程图
顶层数据流程图主要介绍了整个系统的运行边界,如图3-9所示,展现了在线购书系统的数据数据需求和生成数据的功能。
图2-4顶层数据流图
(2)一层数据流程图
图2-5一层数据流图
(3)二层数据流图
图2-6购物车数据流图
图2-7用户信息管理数据流图
图2-8订单管理数据流图
5.数据字典的定义
数据字典是关于数据信息的集合,是在数据流图的基础上,对其中出现的每个数据项、数据结构、数据流、处理逻辑、数据存储和外部实体等进行定义的工具。
其作用是在软件分析和设计的过程中,提供关于数据的描述信息。
数据流程图配以数据字典,就可以从图形和文字两个方面对系统的逻辑模型进行完整的描述。
三.系统的设计
系统分析阶段解决了管理信息系统“做什么”的问题,而在系统设计阶段将解决“怎么做”的问题。
它是管理信息系统开发周期中的第三个阶段,在这个阶段中,我根据信息分析中所描述的新系统逻辑模型,考虑到用户实际的资源、技术条件、经济条件及时间进度要求,由逻辑(非技术)模型导出物理(技术)模型。
1.系统总体结构设计
系统总体结构设计是根据信息分析数据流程图的结果,按照结构化的系统设计方法而进行的。
结构化设计的基础是模块化。
在线购书系统的功能结构图如图4-1所示:
图3-1系统功能结构图
对该功能结构图的具体论述如下:
(1)用户管理模块
用户注册,登录:
用户需输入基本的用户名和密码,还可再完善输入其他电话,电子邮件,住址等信息
②用户信息修改:
用户可以修改自己的个人信息和密码及其他相关信息;
③用户信息查看:
会员可以查看自己的个人信息。
用户查看订单:
用户可以查看已经生成的订单信息,并进行一些操作
发表评论:
用户可以对书籍发表评论信息。
(2)书籍管理模块
1书籍浏览:
用户可以对所有书籍进行浏览
2书籍更新:
只有管理员可以对所有书籍进行添加、删除、更新等操作
3书籍搜索:
可以输入查询条件退书籍进行搜索
(3)购物车模块
1更新购物车:
用户可以查看购物车中的书籍信息,并可以添加和删除购物车中书籍。
2查看购物车:
用户可以随时查看购物车中的信息,包括书籍信息,价格信息等
3生成订单:
用户可以确定购物中需购物的书籍,然后下订单,生成订单信息。
(4)管理员模块
1用户管理:
对用户的信息进行审核,对不符合者进行删除,也可以根据客户的需要对它的基本信息进行修改;
2库存管理:
可以查看各书籍的库存量,并可以随时更新库存信息。
3订单处理:
对用户的订单进行处理。
4评论管理:
对用户的评论信息的一些操作
2.系统数据库的设计
数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。
数据库设计是需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系的、数据冗余少、存取效率高、能满足多种查询要求的数据模型。
(1)数据库的概念设计
概念设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
其主要工作就是设计概念模型,该模型能将用户的数据明确的表达出来。
概念模型是一种面向问题的模型,它反映了用户的实现环境,并指出了从用户角度看到的数据库,它是处理多种应用数据的方法的组合。
概念模型与单独的应用无关,与数据库管理系统及数据库的实现无关,因此,它是用户与设计人员之间的桥梁,它既是明确表达用户需求的一个模型,又是设计数据结构的基础。
概念模型的设计方法有多种,其中实体—联系模型(E—R模型)是一个典型代表,它是描述现实世界的一个简明而有利的工具。
(2)实体-联系图
该系统的全局实体-联系图如图4-2所示:
图3-2全局E-R图
(3)数据库的逻辑设计
逻辑设计的主要任务就是设计数据的结构,即按照数据库管理系统提供的数据模型,转换已设计的概念模型,实质上是把概念模型(即E-R模型)转换为所选用的DBMS所支持的模式。
逻辑设计的主要目的是保证数据共享,消除数据冗余,实现数据的逻辑独立性,易懂易用,有利于数据的完整性及安全性控制,且尽量降低开销。
逻辑设计过程主要是把概念设计阶段的概念模型转化为数据库所能识别的表模型,也即数据库模式设计。
关系模型的特点之一是概念的单一性。
无论是实体还是实体间的联系都用关系来表示。
关系这个特点使得转换工作比较直接。
具体的转换原则如下:
(1)一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的关键字就是关系的关键字。
(2)一个1:
1的联系转换为一个关系。
每个实体的关键字都是关系的候选关键字。
(3)一个1:
n的联系转换为一个关系。
多个实体的关键字是关系的关键字。
(4)一个n:
m的联系转换为一个关系。
联系中的各实体关键字的组合组成关系的关键字(组合关键字)。
(5)具有相同关键字的关系可以合并。
根据上述规则,对图所示的E-R图进行转换,可以得到各“关系”(带“—”的为关键字,“﹏﹏”的为外部关键字):
用户(用户id,用户名,密码,角色,电子邮件,地址,邮编,电话,信用卡号,信用卡类型,信用卡过期时间)
书籍(书籍id,类目id,书名,描述,图标,库存,单价)
类目表(类目id,类目名,图标,描述)
订单(订单id,用户id,书籍id,订单中分项号,数量,状态)
评论(评论id,用户id,书籍id,评论内容,评论时间)
(4)数据库物理设计
数据库物理结构设计的主要任务是:
对数据库中的数据,在物理设备上的存放结构和存取方法进行设计,索引的设计等。
数据库的物理结构依赖于确定的计算机系统,并于选用的DBMS密切相关。
物理设计的任务是为了有效的实现逻辑模式,确定所采取的存储策略。
此阶段以逻辑设计的结果作为输入,结合具体DBMS的特点与存储设备特性进行设计,选定数据库在物理设备上的存储结构和存取方法。
3.输入输出设计
管理信息系统只有通过输出才能为用户服务。
信息系统能否为用户提供准确、及时、实用的信息是评价信息系统好坏的标准之一,也就是说,输出信息的内容与格式等是用户最关心的部分。
因此,在系统设计中,是先根据管理和用户的需求进行输出设计,然而反过来根据输出所要求获得的信息进行输入设计。
1.输出设计
(1)输出设计的内容
输出设计的内容包括:
有关输出信息使用方面的内容;输出方式;输出设备;输出介质。
(2)输出设计的方法
在系统设计阶段,设计人员应给出系统输入的说明,这个说明既是将来编程人员在软件开发中进行实际输出设计的依据,也是用户评价系统实用性的依据。
因此,设计人员要选择合适的输出方式,并以清楚的方式表达出来。
输出形式主要有报表信息和图形化信息。
本系统的输出为表格形式,主要包括用户信息,书籍信息和订单信息。
2.输入设计
输入设计的目标是保证向系统输入正确的数据。
(1)输入设计的原则。
输入设计应遵循以下原则:
最小量原则:
这是指在保证满足处理要求的前提下使输人量最小。
由于数据输入与计算机处理比较起来相对慢,在数据录入时,系统大多数时间都处于等待状态,系统效率将显著降低;同时,数据录入工作一般需要人的参与,大量的数据录入往往浪费很多的人力资源,增加系统的运行成本。
因此,输入量越少,出错机会越少,花费时间越少,数据一致性越好。
简单性原则:
输入的准备、输入过程应尽量容易,以减少错误的发生。
这主要是因为输入设计在为用户提供纠错和输入校检的同时,就保证了输入过程简单易用,就保证了不会因为差错,纠错而使输入复杂化,增加用户负担。
早检验原则:
对输人数据的检验尽量接近原数据发生点,使错误能及时得到改正。
因此输入设计中应采用多种输入校检方法和有效性验证技术,以减少输入错误。
少转换原则:
输入数据尽量用其处理所需形式记录,减少不必要的输入步骤,当步骤不能省时,应仔细验证现有步骤是否完备,以免数据转换介质时发生错误。
本系统的主要输出为文本形式。
(2)输入格式设计
输入格式的设计一般是指数据录入人员在终端屏幕上看到的凭证格式。
其设计格式的原则是使录入人员能方便的输入数据,尽量避免操作失误。
本系统中主要输入方式方式为键盘输入,主要输入的内容为用户信息,书籍信息。
三.系统的实施
系统实现是指在系统分析和设计的基础上,在选定的开发环境下,进行系统开发,从而构造所设计的系统。
1.开发平台与开发工具
本系统基于的开发平台是JDK1.5,开发工具为eclipse可视化集成开发工具。
Eclilpse是IBM公司推出的一个开源的集成开发工具。
在Eclipse中很容易进行代码的编写和调试,而且拥有很多开源的插件来辅助程序开发,因此本系统即是在Eclipse这个IDE上进行的。
2.系统模块与界面实现
下面将按不同的模块功能来具体展示系统的实现与调试。
1.用户模块
(1)登录注册
本功能实现了用户的登录及注册。
具体的要求为用户输入登录用户名和
密码,如果正确则跳转到登录成功页面,如果失败则提示出错信息。
图4-1登录界面
(2)用户信息查看修改
本部分功能包括用户可以查看自己的信息,并修改信息:
图4-4用户信息查看修改
2书籍模块
(1)书籍浏览
点击各个书籍类目可以进入到各自的书籍详情:
图4-5书籍浏览
(2)书籍搜索
输入所需查询书籍的id或书籍名,系统显示查询结果:
图5-6书籍搜索
3.购物车模块
用户浏览书籍,并选择想要购买的书籍添加到购物车中,在购物车中,用户可以随时查看自己购物车的最新购物情况,包括书籍,价格,数量,总价等基本信息;并且用户可以动态更新购物数量;对于不需要的书籍可以直接在购物车中删除;同时在购物车中提供返回购物和立即购买的功能:
图5-8浏览购物车
用户点击”立即购买”按钮,即对该购物车中的书籍进行整批或单个下单,进入订单填写环节:
图5-9立即购买
五.系统的测试和维护
1.系统的测试
(1).系统测试的基本原则
系统测试是一项非常复杂的、需要创造性和高度智慧的任务。
下面列出
了在实践中总结的主要基本原则。
(1)应该把“尽早地和不断
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上 购书 系统 分析 设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)