书店信息管理系统设计和开发
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
书店管理系统设计和开发
摘要:在当今社会,随着计算机的发展及网络技术的应用,日常管理工作应该从以前繁琐的事务中解放出来,从而提高了工作效率。
目前在大的书店应有一整套比较完整的信息管理系统,而在一般小型的书店中大部分工作还是进行着手工管理,工作效率很低,并且不能及时了解书店各类图书的库存,读者需求的图书难以在短时间里找到﹑图书的入库和更新比较麻烦等,不便于动态及时调整图书结构。
同时由于不可避免的人为因素,造成数据的遗漏﹑误报等。
为了更好地适应当前书店的销售需求,缓解手工管理存在的弊端,开发了书店管理系统,该系统向用户提供的服务将在传统的“入库->销售->盘点”基础上,进一步提供全方位的信息服务。
根据小型书店的规模和经济能力,本系统具有书店管理系统的基本功能,如图书管理﹑入库管理﹑销售管理﹑综合查询﹑系统管理等,并且界面简单﹑操作简便。
作为一种该研究方向的实践性探索,本图书销售管理系统旨在提供一个可以操作的,方便查询,易于修改的辅助管理系统,以满足当前小型书店在管理实践和业务操作中的具体需求。
关键词:书店管理, 数据库,信息管理,VB(Visual Basic,可视化的初学者通用符号指令代码), ADO 控件
Books management system design Abstract: Nowadays, with rapid developing of computers and applying of network technology, in order
to make a great difference in efficiency and productivity, daily management should be freed from nagging formalities and other unnecessary items.. At present, a series of information managing system which is complete and well-working enough has been applied to large bookshops, while for some smaller ones most of work has been done by hand, which is incurring lower efficiency and higher energy-cost. Worse still, it is quite impossible for them to access to updated information on stock and reserve, being unable restructure promptly and dynamically since it is very hard to update and purchase new books and periodicals. In addition, readers cannot find out what they need as soon as possible. On the other hand, inevitably, the loss of data and imprecise delivery is rising. Considering a strong desire to meet the need of sales and reliving heavy pressure from management by hand, sales managing system has been developed to provide clients with all-levels of information services, helping it be transferred from traditional services: “purchase→sales→inventory” to new concept of information services.
According to the running scales and the capacity of economy, this system has basic functions such as books management, purchasing management, sales management, system management, comprehensive search, and so on. Moreover, it shows simple interface and processing convenience. As an explore with practical meaning, the aim of this system is to offer a user-friendly and supplementary managing system to satisfy
detailed needs of managing practice and business process.
Key Words: books management, database, information management, VB, ADO object
引言
随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。
从而使我们从繁杂的事务中解放出来,提高了我们的工作效率。
目前各种图书馆的借阅工作部分还是手工管理,工作效率很低,并且不能及时了解图
书的种类和读者需求的图书等,不能更好的适应当前读者的借阅要求。
手工管理还存在这许多弊端,由于不可避免的人为因素,造成数据的遗漏、误报。
计算机信息化管理有着储存量大,速度快等许多优点,提供给我们的处理信息及时快捷,因此我们利用计算机提供给我们的信息对读者的借阅过程形成一整套动态的管理。
作为一个功能较完备的Windows软件开发平台,Visual Basic专业版提供了对数据库应用的强大支持。
尤其提供了使用数据控件和绑定控制项,使用数据库存取对象变量(Data Access Object Variable),直接调用ODBC 2.0 API接口函数等三种访问数据库的方法。
对其标准内置的Ms Access数据库,它可以提供不弱于专业数据库软件的支持,可以进行完整的数据库维护、操作及其事务处理。
VB数据库的核心结构是所谓的MicroSoft JET数据库引擎,JET引擎的作用就像是一块“面板”,在其上可以插入多种ISAM(Indexed Sequential Access Method,即索引顺序存取方法)数据驱动程序。
JET引擎为Access格式数据库提供了直接的内部(build-in)支持,这就是VB对Access数据库具有丰富支持的真正原因。
VB专业版中提供了FoxPro、dBASE(或Xbase)、Paradox、Btrieve等数据库的ISAM驱动程序,这就使得VB能支持这些数据库格式。
另外,其他的许多兼容ISAM 的驱动程序也可以通过从厂商的售后服务得到。
因而从理论上说,VB能支持所有兼容ISAM 的数据库格式(前提是只需获得这些数据库的ISAM驱动接口程序)。
1 本论概述
本书店管理系统是由Visual Basic(VB)6.0设计并由数据库Access存储数据实现的。
有操作简单、实用性强、易于维护等特点,下面将简单地介绍VB、Access和本系统的一些模块功能特点及系统需求。
1.1 Visual Basic(VB)简介
Visual Basic(VB)是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。
从任何标准来说,VB都是世界上使用人数最多的语言——不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。
它源自于BASIC编程语言。
VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。
程序员可以轻松的使用VB提供的组件快速建立一个应用程序。
1.1.1发展历史
1991年,微软公司推出了Visual Basic 1.0版。
这在当时引起了很大的轰动。
这个连接编程语言和用户界面的进步被称为Tripod(有些时候叫做Ruby),最初的设计是由阿兰·库珀(Alan Cooper)完成的。
许多专家把VB的出现当做是软件开发史上的一个具有划时代意义的事件。
其实,以我们现在的目光来看,VB1.0的功能实在是太弱了;(不过最近VB6.0, 的功能相当大!)。
但在当时,它是第一个“可视”的编程软件。
这使得程序员欣喜之极,都尝试在VB的平台上进行软件创作。
微软也不失时机地在四年内接连推出VB2.0,VB3.0,4.0三个版本。
并且从VB3开始,微软将ACCESS的数据库驱动集成到了VB中,这使得VB的数据库编程能力大大提高。
从VB4开始,VB也引入了面向对象的程序设计思想。
VB功能强大,学习简单。
而且,VB还引入了“控件”的概念,使得大量已经编好的VB程序可以被我们直接拿来使用。
VB1.0的DOS版本VB1.0于1991年发布。
这个连接编程语言和用户界面的进步被称为Tripod(有些时候叫做Ruby),最初的设计是由阿兰·库珀(Alan Cooper)完成的
2002年Visual Basic .NET 2002 (v7.0)问世,2003年Visual Basic .NET 2003 (v7.1)问世,2005年11月7日Visual Basic 2005 (v8.0)问世,同时间推出Visual Basic 2005的免费简化版本Visual Basic 2005 Express Edition给Visual Basic初学者及学生使用。
VB 2005的“显著”优点是,可以直接编写出XP风格的按钮,以及其他的控件。
但是其编写的小程序占用近10MB的内存。
通过几年的发展,它已成为一种专业化的开发语言和环境。
用户可用Visual Basic 快速创建Windows程序,现在还可以编写企业水平的客户端/服务器程序及强大的数据库应用程序。
VB会吸引更多的赞誉和批评,也会继续为广大的用户和程序员使用。
它非常适合用来开发拥有友好界面的程序(比如针对终端的数据),但是不适合开发其它程序(比如联合计算程序)。
1.1.2语言特性
一个典型的VB进程VB的中心思想就是要便于程序员使用,无论是新手或者专家。
VB 使用了可以简单建立应用程序的GUI系统,但是又可以开发相当复杂的程序。
VB的程序是
一种基于窗体的可视化组件安排的联合,并且增加代码来指定组建的属性和方法。
因为默认的属性和方法已经有一部分定义在了组件内,所以程序员不用写多少代码就可以完成一个简单的程序。
过去的版本里面VB程序的性能问题一直被放在了桌面上,但是随着计算机速度的飞速增加,关于性能的争论已经越来越少。
窗体控件的增加和改变可以用拖放技术实现。
一个排列满控件的工具箱用来显示可用控件(比如文本框或者按钮)。
每个控件都有自己的属性和事件。
默认的属性值会在控件创建的时候提供,但是程序员也可以进行更改。
很多的属性值可以在运行时候随着用户的动作和修改进行改动,这样就形成了一个动态的程序。
举个例子来说:窗体的大小改变事件中加入了可以改变控件位置的代码,在运行时候每当用户更改窗口大小,控件也会随之改变位置。
在文本框中的文字改变事件中加入相应的代码,程序就能够在文字输入的时候自动翻译或者阻止某些字符的输入。
VB的程序可以包含一个或多个窗体,或者是一个主窗体和多个子窗体,类似于操作系统的样子。
有很少功能的对话框窗口(比如没有最大化和最小化按钮的窗体)可以用来提供弹出功能。
VB的组件既可以拥有用户界面,也可以没有。
这样一来服务器端程序就可以处理增加的模块。
VB使用参数计算的方法来进行垃圾收集,这个方法中包含有大量的对象,提供基本的面向对象支持。
因为越来越多组建的出现,程序员可以选用自己需要的扩展库。
和有些语言不一样,VB对大小写不敏感,但是能自动转换关键词到标准的大小写状态,以及强制使得符号表入口的实体的变量名称遵循书写规则。
默认情况下字符串的比较是对大小写敏感的,但是可以关闭这个功能。
VB使得大量的外界控件有了自己的生存空间。
大量的第三方控件针对VB提供。
VB也提供了建立、使用和重用这些控件的方法,但是由于语言问题,从一个应用程序创建另外一个并不简单。
1.1.3术语
在讨论Visual Basic时,经常可以听到以下这些术语,因此对这些术语的基本理解十分有帮助。
控件——简单的说,控件就是构成或者说建造Visual Basic应用程序的图形化工具,
包括窗体、按钮、复选框、列表框、数据控件、表格控件和图片控件等等...。
事件——由用户或操作系统引发的动作。
事件的示例有击键、单击鼠标(Click)、双击鼠标(DblClick)、一段时间的限制,或从端口接收数据。
方法——嵌入在对象定义中的程序代码,它定义对象怎样处理信息并响应某事件。
例如,数据库对象有打开纪录集并从一个记录移动到另一个记录的方法程序的基本元素,它含有定义其特征的属性,定义其任务和识别它可以响应的事件的方法。
控件和窗体是Visual Basic中所有对象的示例。
对象——一个控件、窗体等都可被看作一个对象。
过程——为完成某些特定的任务而编写的代码段,过程通常用于响应特定的事件,也可以当作应用程序的用户自定义函数来使用。
属性——属性是组成用户界面的各对象的性质的具体描述。
例如上述“对象”中所提到的尺寸、位置、颜色、宽度、高度等等都称为控件的属性。
属性决定对象的外观,有时也决定对象的行为。
对象的属性绝大部分是VB中已经事先定义好的,但也有的属性是需要在应用过程中才去定义的。
属性即可为对象提供数据,也能从对象取回信息。
1.1.4 VB的局限性
继承。
VB5和VB6都是面向对象的编程语言,但是不包含继承特性。
VB中提供了特殊的类的功能,但是还是不能满足程序员的需求。
包含了所有面向对象的特性。
多线程支持 ( 2002以及之后的版本,都支持多线程技术。
)
异常处理。
中使用了Try-Catch-Finally来处理异常。
而VB中只有"On Error Goto line"语句。
对指针的支持非常有限。
VB只能支持8到32位的整形,很多语言都有无限制的支持。
VB不允许在任何数组内存在不变的变量。
VB不支持以上特性,所以程序员需要自己建构方法来实现相似的功能。
1.2 Access简介
Microsoft Office Access(前名Microsoft Access)是由微软发布的关联式数据库管理系统。
它结合了Microsoft Jet Database Engine 和图形用户界面两项特点,是Microsoft Office 的成员之一。
1.2.1 Access的优点
(1) 存储方式简单,易于维护管理
Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb或.accdb)的数据库文件中,便于用户的操作和管理。
(2) 面向对象
Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。
它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。
通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。
同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。
(3)界面友好、易操作
Access是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。
系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。
(4)集成环境、处理多种数据信息
Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。
(5)Access支持ODBC(开发数据库互连,Open Data Base Connectivity)利用Access强大的DDE和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。
Access还可以将程序应用于网络,并与网络上的动态数据相联接。
利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用。
(6)支持广泛,易于扩展,弹性较大
能够将通过链接表的方式来打开EXCEL文件、格式化文本文件等,这样就可以利用数据库的高效率对其中的数据进行查询、处理。
还可以通过以Access作为前台
客户端,以SQL Server作为后台数据库的方式开发大型数据库应用系统。
1.3系统的需求分析及实现
1.3.1硬件环境
在科技迅速发展的今天,计算机的性能有了飞速的增长,如今,任何一台计算机的性能相比以前有了显著的提高,而设计本系统所需要的硬件要求对于如今的计算机来说没有任何问题,所以就如今来说,本系统对硬件的要求基本上可以不予以理会,但出于论文的严格性,此处也列出了本系统对硬件环境的基本要求:
·处理器:Intel Pentium II 266 MX 或更高
·内存: 64M
·硬盘空间:2 GB
·显卡:SVGA显示适配器
1.3.2软件环境
·操作系统:Windows 98/ME/2000/XP或更高
·数据库:Microsoft Access 2000或更高
1.3.3系统需求及基本流程介绍
书店管理系统需要满足来自三个方面需求:第一,书店工作人员通过计算机来管理各类图书,进行图书分类编号,调整图书结构,增加图书库存,适应读者的需求。
第二,工作人员对读者的需求情况能作好全面的掌握,及时得到历史销售记录。
第三,也是书店的核心工作,对图书的销售管理。
本系统主要针对小型书店的规模小,手工处理繁琐的情况,实现了书店日常管理的基本功能,操作简单方便﹑上手快。
另外,基于成本以及安全的考虑,假设本系统是一个相对封闭的单机运行系统,不提供于其它系统的实时数据交互。
本系统采用Visual Basic 6.0开发,采用Microsoft Access 2000 作为后台数据库,在满足需求的前提下,将系统对运行环境的性能要求降到最低。
系统基本流程是:用户登陆->主界面->选择各项功能。
1.4系统各大模块及其介绍
根据需求分析的结果,本系统主要划分以下6个子模块:登陆模块﹑主界面模块﹑图书查询﹑新书入库﹑图书管理﹑会员管理系统。
如图1所示。
系统业务处理流程如图2所
示。
图1 书店管理系统模块
系统各大模块及功能如下:
1、登陆系统
此模块为本系统的初始登陆界面,会员(一般用户)和管理员都必有通过此模块进入主界面。
此模块通过数据库来确定登陆人员是会员还是管理员,如果输入的用户名和密码均为admin即为管理员,不同的登陆人员进入的系统不同,这样就能方便又安全地管理书店系统。
此外当用户名不存在时或者忘记了用户名,可以登陆注册界面并注册一个用户名以登陆系统。
2、主界面系统
主界面系统为用户登陆成功之后转到的界面系统,只有登陆了主界面系统才能登陆其他的功能系统,管理员登陆的主界面系统和会员登陆的主界面系统不同,功能权限也不同,这是为了让管理员更好地管理系统以及增强系统的安全性。
会员的主界面系统的菜单设定只有图书查询系统,而管理员的主界面系统的菜单包括图书查询系统、新书入库系统、图书管理系统、会员管理系统。
3、图书查询系统
图书查询系统用于会员查询图书的售出情况。
如果书库没有会员想要的书籍或者该图书已售完,将会告知会员;如果图书未售完,会员用户便能购买此书籍。
4、新书入库系统
本系统为管理员所登陆的主界面系统独有的功能系统,由管理员将书店新购得的图书
信息输入数据库,以便于书店的自动化管理。
如果书库中已有新购得的图书信息将不能插入数据库中,并提示图书信息已存在,这是为了防止图书信息重复写入数据库中。
5、图书管理系统
图书管理系统只有管理员才能登陆,管理员可以用本系统查看书店已有的图书信息,并能增加、修改、删除已有图书信息。
这里的图书信息包括书名,作者,出版社等信息,通过图书管理系统,管理员可以很便捷地了解各图书销售信息,并据此来决定是否需要多购买还是少购买某一图书。
6、会员管理系统
会员管理系统也只有管理员才能登陆管理,数据库中的会员的信息可以通过本系统来增加、修改、删除。
1.5数据库设计
鉴于ODBC(Open Database Connectivity)是用于数据库访问的应用最广泛的应用程序编程接口,它允许应用程序使用相同的代码访问不同的数据库管理系统(DBMS),本系统采用ODBC的方式访问数据库。
Access 2003数据库管理系统是Microsoft Office 的重要组成部分,适用于小型商务活动,用以存储和管理商务活动所需要的数据。
Access不仅是一个数据库,而且它具有强大的管理功能。
ODBC(Open Database Connectivity, 开放数据库互连)是微软公司开放服务结构(WOSA, Windows Open Services Architectrue)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。
本系统通过Visual Basic封装的ODBC API即MFC ODBC类对Access数据库进行操作。
把Access数据库注册到ODBC驱动程序管理器,由MFC ODBC类生成相应的表类。
在此基础上进行添加,修改,删除等操作。
使用MFC ODBC的时候,Windows的ODBC管理程序把数据库访问的请求传递给正确的驱动程序,驱动程序在使用SQL语句指示DBMS(Database Management System,数据库管理系统)完成数据库访问工作。
1.5.1数据库需求分析
根据系统功能设计的要求以及功能模块的划分,对于本系统的数据库,可以列出以下三个数据表:
表一是为登陆系统中的用户名和密码提供数据支持,如果输入的数据与表中的用户名不一致,说明用户名错误,用户不能登陆系统主界面。
未注册的用户填写好用户名和密码,通过系统写入表中,登陆时就可以用此用户名登陆了。
表二中的数据为图书查询系统、新书入库系统、图书管理系统及会员管理系统提供数据支持。
表三中的数据为会员管理系统提供数据支持。
表1 book表中数据名称及类型
表2 denglu表中数据名称及类型
表3 VIPgl表中数据名称及类型
数据库的表之间相互关联可以保证数据库数据的一致性,但是很有限。
由程序代码来实现能更好的检查数据库数据的一致性。
所以本系统的数据库表相互独立。
2系统具体模块设计
各系统模块的代码均写在了论文最后的附录里。
2.1登陆系统模块
系统初始的登陆界面如图2,即登陆系统模块。
图2 登陆系统界面
此模块主要是根据用户输入的名称和密码验证用户身份并且决定用户的操作权限,如果为管理员则登陆到管理登陆主界面,如果是会员(即普通用户)则登陆到普通主界面。
管理员的用户名和密码均为admin,其他的帐号均为普通用户帐号。
用户名和密码不能为空,如果是空的话,会弹出一个对话框提示不能为空的。
如果用户输入的数据与数据库里的数据不相符,会提示用户名和密码错误,直到用户名和密码正确才能登陆主界面。
如果用户没有帐号和密码,可以点击“注册”按钮,登陆到注册系统
界面,输入用户名和密码,如果用户名不存在的话,就可以成功注册一个帐号,然后返回登陆界面便可登陆系统转到主界面;如果用户名存在,系统会弹出一个提示框,提示用户名已存在,这时就得重新填写一个用户名,直到用户名与数据库中的用户名不一致时注册才成功。
注册系统界面如下:
图3 注册系统界面
点击返回登陆,则退出注册系统界面,然后就可登陆主界面了。
2.2主界面系统模块
主界面系统界面有两个,一个为管理员登陆的管理系统界面,另一个为普通用户的书店系统界面,如图4和图5。
书店管理系统的菜单有5个,前四个分别转到图书查询系统、新书入库系统、图书管理系统及会员管理系统,点击最后一个菜单退出系统。
书店系统的菜单也有5个,但除了第一个菜单可以转到图书查询系统和最后一个退出菜单,其他的菜单均不可点击转到其他系统界面。
图4 书店管理系统
图5 书店系统
设置两个不同的主界面的目的是把管理员和普通用户分开,以便于管理员管理系统,这样就能大大的提高系统的安全性。
同时,管理员的用户名和密码也可以更改。
2.3图书查询系统模块
图书查询系统主要功能为会员提供一个查询图书信息和购买图书平台,界面如图6。
图6 图书查询系统
会员通过本系统可以查询图书是否已售完,如果未填写书名,则会弹出如图7所示的对话框;如果图书为书库里还没有的图书,则弹出如图8所示的对话框;如果图书已经售完,则会提示图书已售完;如果图书还未售完,则会弹出如图9所示的对话框。
用户如需购买图书,则可以点击“购买”以购买图书,购买成功会提示“购买成功,欢迎再次惠顾!”。
点击购买并提示购买成功后,系统会把此图书的已售数量加一、库存数量减一,同时将此用户的用户名和密码及购买的图书名称更新到VIPgl表中(如果表中还没有该用户的用户信息,则自动添加一条该用户的信息),当管理员查看图书信息和会员信息时就可以查看图书的销售信息和会员的购买信息。
图7 书名不能为空
图8 图书还未购进。