6 图书管理系统的设计与实现
1 绪论
随着网络的发展,网上销售系统越来越需要满足大多数人群的需求,通过这个项目让我们
实现了网上销售系统的基本功能,例如用户注册、登录、查询图书信息、搜索图书、加入购物车后进行购买等功能,多考虑用户的需求,注重系统的全面性和可实用性。同时增强了管理员的管理效率,本次设计设有后台管理,管理员可以对图书进行增添和修改以及删除不符合规定的用户等功能。
1.1 项目背景
网上图书销售系统打破了传统的书店购书方式,利用计算机技术在网上进行图书搜索以及购买,使购买者更加方便快捷,更是方便图书管理者对书籍进行信息修改、增加新书籍、删除缺货书籍等等,提高了其工作效率。开发网上图书销售系统在于方便人们购买图书,加快管理
[3]
员对于图书的管理,使购买者可以足不出户就可以在网上购买到自己想要的书籍。
1.2 现有图书销售系统的概述
现有的图书销售系统由于设计人员及其所用的工具的不同,有Visual Basic6.0、Visual ForPro6.0、Power Builder等,再加上这些图书销售系统设计的时间也不一样,所用具体场合也有区别,因此在功能上除了图书资料管理所需的基本功能之外也有所不同。经过比较总结他们都实现了以下图书管理的基本功能:1、图书检索模块:是图书销售系统的重要模块之一,是读者快速查询图书的途径。2、图书管理模块:是图书管理员操作模块,买家是无权进入的。3、数据维护模块:是由图书管理员控制的模块,它由增加、修改和删除买家,增加、修改删除图书,等程序组成。 这些系统解决了以前的那种管理方式所存在着的诸如工作量大、效率低下、出错率高等缺点,设计出的系统能使买家快速检索到自己喜爱的书,图书管理员能减轻工作量。
1.3 图书销售系统的发展现状
现代社会随着科学技术突飞猛进和生产迅速发展,使人类知识量增长速度不断加快,信息量的增加,外部环境变化的变快,人工已无法胜任。如何收集足够的信息资源,强有力的信息并加以利用,积极的开发和及时利用信息爆炸有效的信息资源,已成为现代社会的难题。计算机的出现解决了这个问题,由于计算机迅速、准确能为信息收集、加工、使用、查询提供可能。 而网上图书销售系统有很多突出的优点:当读者找到自己想要的书后,就可以更进一步的查看该书的相关介绍,除了书名、作者、定价、出版社等基本信息外,还可以查看该书的内容简介;购书系统中以列表方式显示图书的信息,包括新上架图书,特价图书等等;当购买者选好图书后就可以加入购物车,购买结束后就可以进行订单提交,等待卖家邮寄;购买者的评论不仅可以使其他购买者能够准确的了解书的质量以及书的实用性,可以影响其他购买者购买的欲望。
2 开发平台介绍
本系统采用面向对象的软件开发方法,以Java开发环境作为主要开发工具,使用Microsoft
[4]
SQL Server 2005作为关系数据库,配合功能强大的SQL查询语言实现建立关系数据库。
2.1 Java简介
2.1.1 Java的概念
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,它是一个C++的简化版本。是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在
[5]
全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 2.1.2 Java的特点
3 6
7 图书管理系统的设计与实现
Java 编程语言的风格十分接近C、C++语言。Java舍弃了C++语言中容易引起错误的指针、
运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、
[6]
到处执行”的跨平台特性。
相关技术:
1.JDBC(Java Database Connectivity)提供连接各种关系数据库的统一接口,作为数据源,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯Java API 编写数据库应用程序,同时,JDBC也是个商标名。
2.EJB(Enterprise JavaBeans)使得开发者方便地创建、部署和管理跨平台的基于组件的企业应用。
3.Java RMI(Java Remote Method Invocation)用来开发分布式Java应用程序。一个Java对象的方法能被远程Java虚拟机调用。这样,远程方法激活可以发生在对等的两端,也可以发
[7]
生在客户端和服务器之间,只要双方的应用程序都是用Java写的。
2.2 SQL Server2005技术简介
2.2.1 SQL Server2005的简介
SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并与1988年推出了第一个OS/2版本。 SQL Server近年来不断更新版本,1996年Microsoft推出了SQL Server6.5版本;1998年SQL
[8]
Server 7.0版本和用户见面;SQL Server 2005是Microsoft公司于2005年推出的最新版本。 2.2.2 SQL Server2005的特点
1.真正的客户机/服务器体系结构;
2.图形化用户界面,使系统管理和数据库管理更加直观、简单;
3. 丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地;
4. SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQL Server也可以很好地与Microsoft BackOffice产品集成;
5.具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows XP的大型多处理器等多种平台使用;
6.对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上;
7.SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。
[9]
2.3 开发环境
(1)操作系统
Microsoft公司的Windows 7操作系统。 (2)集成开发环境
IBM支持开发的基于Java的公开源代码软件Eclipse。 (3)数据库工具
Microsoft开发和推广的Sql Server2005。 (4)图片处理工具
Adobe公司的Photoshop。
3 7
8 图书管理系统的设计与实现
3 图书销售系统概要分析与设计
3.1 需求分析
购买者部分,为了方便购买者查找自己感兴趣的图书,本系统设有图书分类和图书搜索两
个内容。购买者可以按照类别进行查找,逐级浏览,并且提供了用户登录和购物车等功能,可以将之前喜欢的图书放进购物车一起购买。
管理员部分,能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,设有图书信息的添加、删除以及修改以及删除对于不符合规定的用户信息。
3.2 功能分析
为了维护系统的安全,设置了两种种用户角色:管理员和用户。用户则提供注册登录、浏览搜索图书、以及购物车功能,管理员提供增删图书信息、更新图书信息、增删用户信息等功能。
3.2.1 管理员登录系统
管理员可以添加、删除、更新图书以及删除不符合规定的用户。用例图如图3-1所示。
图3-1 管理员用例图
3.2.2 用户登录系统
用户可以查阅图书,对图书进行搜索和修改自己的登录密码。同时可以将喜欢的图书加入购物车进行购买。用例图如图3-2所示。
3 8
9 图书管理系统的设计与实现
图3-2 用户用例图
3.3 数据库设计
3.3.1 整体数据库设计
整体的数据库设计图
[10]
,如图3-3所示。
图3-3 数据库设计图
在系统中采用了两层构架用户界面层通过统一的接口向业务层(javabeans)发送连接数
据库请求,连接成功后用户界面层直接运用数据库里面的数据进行操作,将处理的数据直接返回到用户界面层,这样用户界面层需要知道数据库的结构。
7 9
10 图书管理系统的设计与实现
3.3.2 数据库结构设计表
[11]
(1)图书信息表:用于存储图书的基本信息。
表3-1 图书信息表(Booksinf)
列名 B_id B_name B_type B_sum B_price
数据类型 int varchar varchar int float
长度 4 50 50 4 8
是 是 是 是 允许空
注释 图书编号 图书名称 图书分类 数量 价格
(2)管理员信息表:用于记录管理员的账号和密码以及其他信息。
表3-2 管理员信息表(Admin)
列名 A_id A_name A_psw A_tell A_type
数据类型 inr varchar varchar varchar varchar
长度 4 50 50 50 50
允许空 否 是 是 是 是
注释 管理员号 管理员姓名 密码 电话 类型
(3)用户信息表:用于记录用户的基本信息。
表3-3 用户信息表(myuser)
列名 U_name U_psw U_realname U_add U_tel U_Email
数据类型 nchar varchar varchar varchar varchar varchar
长度 10 50 50 50 50 50
允许空 否 是 是 是 是 是
注释 用户名 密码 真实姓名 地址 电话 邮件
(4)订单总表:用于记录订单总信息。
表3-4 订单总表(myorder)
列名 O_id O_name O_total O_time
数据类型 Int Int float varchar
长度 4 4 8 50
10 8
允许空 否 是 是 是
注释 订单号 用户名 数量 订单时间