哪位兄弟有毕业论文???500分一篇 (0分)

  • 主题发起人 主题发起人 abc_xp
  • 开始时间 开始时间
A

abc_xp

Unregistered / Unconfirmed
GUEST, unregistred user!
函授《计算机应用》,快要毕业了
要写毕业论文
哪位兄弟有,共享一个
关于网页(ASP、PHP)、程序、WIN2000服务器都行
共要三篇(帮同学找地)
注:无需太高深地,简单一点地就好了
因为指导教师要问地,太难了我自己都搞不懂无法回答教师的问题
 
要给分哟!!
摘 要
本文采用具有强大数据库功能的第四代编程语言----Delphi5.0开发设计了电气工程学院资料室图书管理信息系统。
管理信息系统是由人机结合进行信息收集,传递,储存,加工,维护和使用的系统,是综合了管理科学,系统科学理论,计算机科学的系统性边缘学科。作为复杂的系统工程,需要有正确的开发策略和方法论作指导,在结构化方法思想指导下,采用给予窗口和面向对象的编程方法,与Windows操作系统紧密结合,以强大的数据库支持及编译速度迅捷的Delphi语言为开发工具,实现了单机型资料室图书管理信息系统。
资料室图书管理信息系统的开发提高了工作效率,实现了方便,快捷,准确的管理。该系统能对图书库及借阅库进行有条不紊的管理:首先是其管理安全性问题---权限设置功能,不允许非管理人员进入库内进行修改,管理人员可随时更新有关权限设置的个人信息;对图书库能添加,修改,删除,注销相关图书纪录,可统计指定时间段的进库图书情况及购书费用,统计及打印要求实现的份帐和入库帐;对借阅库能进行接触,归还登记与储存,查阅指定期限内借阅图书情况并进行催还图书的管理。该系统的查询功能为方便读者查阅图书提供了多渠道查询方法,除查询模块实现的强大查询功能外,还在相关必要的模块资功能中实现按不同的要求查询。查询模块又分为可按书名查询,按借阅人查询查询及综合查询,综合查询实现组合查询及模糊查询两个子功能,可通过多种的精确信息和模糊信息进行查询。关于模块为完善系统,提供系统帮助提出了模块。
该系统界面友好,操作简单方面,经用户使用,效果良好,目前正在进一步完善中。
[关键词] 管理信息系统,数据库系统,办公自动化,面向对象编程(OOP)



目录
摘要…………………………………………………………1
前言…………………………………………………………3
第一章 管理信息系统…………………………………5
1.1 管理信息系统概述………………………………………5
1.2 管理信息系统的学科内容及其发展……………………7
1.3 管理信息系统的总体规划……………………………8
1.4 总体规划的具体内容…………………………………10
1.5 可行性研究……………………………………………11
第二章 图书管理信息系统的设计依据…………13
2.1资料室图书管理信息系统概述………………………13
2.2 Delphi5.0和数据库系统………………………………14
2.3 Delphi5.0的数据库功能………………………………15
2.4采用Delphi5.0开发的优势……………………………16
第三章 图书管理信息系统分析……………………17
3.1 系统分析概述…………………………………………17
3.2 结构化方法简介………………………………………18
3.3 资料室图书管理信息系统结构图……………………20
第四章 图书管理信息系统开发过程………………23
4.1数据库应用程序的功能要求…………………………23
4.2 程序的结构设计………………………………………27
4.3 程序的窗体设计及有关说明…………………………27
4.4 操作说明………………………………………………46
结束语……………………………………………………48
致谢 ………………………………………………………49
参考文献 …………………………………………………50


前 言
随着计算机在管理领域应用的广泛、深入, 各种开发技术的不断出现,并不断完善、成熟的背景下,以管理信息系统论为理论依据,对日益激增的管理信息量采用结构化方法思想及以Delphi5.0为开发工具设计资料室图书管理信息系统,实现人机系统的图书管理自动化,充分发挥任何机器的特长,组成一个和谐,有效的管理信息系统。
资料室图书管理信息系统的设计过程设计了管理信息系统理论、设计功能要求的提出Delphi5.0语言简介,数据库理论以及系统分析,系统设计论等学科内容。彼此互相关联,相辅相承,完成对系统的开发工作。
管理信息系统的有关概念及结构化方法作为来发系统的理论依据,强调了系统开发的阶段性,使系统开发成为可能,文中第一章对管理信息系统的基本概念,学科内容及发展,结构化方法,总体规划及其具体内容以及可行性研究作详细介绍。而第二章提出了资料室图书管理信息系统需要实现的功能要求,简单明了介绍了数据库功能强大的Delphi5.0的数据功能。第三章给予前面的理论依据和设计依据,开始进入系统的分析工作,提出系统结构图与初步设计思想。第四章进行系统设计过程的详细论述。正文的最后是对系统结果进行归纳和综合,指出其达到要求的程度。
根据资料室图书管理信息系统的管理内容及功能要求,系统包括两个数据库,即图书库和借阅库。要求可以对图书库进行图书纪录的添加、修改、删除及注销,打印有关的报表,统计指定期限的购书费用,按不同的关键字进行图书查询,如按书名、借阅人、图书编号、分类号、出版社、作者、主题词等进行精确查询和模糊查询。对于借阅库,可以进行借阅图书有关事宜的管理,登记借阅人的有关信息,包括借阅人姓名、图书编号、书名、借阅日期、借阅人说明的备注字段,能方便查出某人借书的细帐,能方便查出某一本书是谁借出,并实现图书归还管理,即对到期该归还的图书进行统计并打印归还。以上操作除查询部分可以不设置权限外,对其他操作均应设置权限,即不允许非管理人员进入库内进行修改等操作,以保证信息的准确性。
相对原有的管理模式,该系统带来了更为友好的操作界面和强大的功能,提高了工作效率,加强了管理的可靠性和安全性。



第一章 管理信息系统
1.1 管理信息系统概述
管理信息系统是由人和计算机等组成的能进行信息收集、传递、储存、加工、维护和使用的系统。它作为一门学科,是综合了管理科学,系统理论、计算机科学的系统性边缘学科和技术科学的发展而形成的。系统的观点,数学的方法和计算机的应用是它的三要素,而这三点也是管理现代化的标志。
管理信息系统的定义过管理信息系统的组成和功能。
1.1.1 管理信息系统与计算机
从原理上讲,可以撇开计算机从概念上讨论管理信息系统,计算机并不一定是管理信息系统的必要条件。事实上,任何一个地方只要有管理,就离不开信息,离不开管理信息系统。但是,计算机的强大功能是管理信息系统更为有效,而现代社会的特点之一是管理信息量的激增。随着社会科学技术的发展及与日俱增的信息学,建立以计算机为基础的管理信息系统是唯一出路。所以现在的问题不是用不用计算机,而是各种工作究竟计算机化到什么程度。以计算机为基础的(computer-based)管理信息系统并不意味着机器代替。人机系统的概念说明有些任务最好由人完成,而其余任务由机器代替。这就要求系统的设计者不仅要懂得计算机,而且要懂得人。懂得哪些工作交给人做比较合适,那些交给机器比较合适,充分发挥人和机器的特长,组成一个和谐的、有效的系统。
1.1.2 管理信息系统的基本功能
一般管理信息系统具有数据输入、传输、存储、处理、输出等基本功能,现分述如下。
1. 数据的采集和输入
信息处理界有句口头禅"输入的是垃圾,输出的必然是垃圾",说明了系统输入的极端重要性。要把所需的数据收集起来,碰到的第一个问题是确定信息的需求。由于信息的不完全性,想得到反映客观世界的全部数据是不可能的,也是不必要的。确定信息需求是从调查客观情况出发,根据系统目标,确定数据的收集范围。
将收集的数据按系统要求的格式进行整理,录入并存储在一定的介质上(如卡片,磁盘,磁带等),并经过一定校验后,即可输入系统进行处理。
2. 数据的传输
数据传输包括计算机系统内和系统外的传输,实质是数据通讯。
信源:即信息的来源。
编码:即把信息变成信号。所谓码,是按照一定规则排列起来适合在信道中传输的符号序列。这些符号的编排过程就是编码过程。
信道:就是信息传递]的通道,是传输信息的媒质。
噪声:无论信道多么好,都可能带来杂音或干扰,这就是噪声。
译码:译码是编码的反变换,其过程与编码相反。
3. 信息的存储
数据存储的设备目前主要有三种:纸、胶卷和计算机存储器。
计算机存储器是存放速度最快的控制信息和业务信息的主要形式。随着技术的进步,成本不断下降。计算机存储按类型分为内存和外存。内存存取速度快,可随机存取存储器中任何地方的数据。外存的存储量大,但必须由存储外存的指令整批调入内存后,才能为运算器使用。
4. 信息的加工
信息加工的范围很大,从简单的查询、排列,归并到复杂的模型调试及预测。这种功能的强弱,显然是信息系统能力的一个重要方面。
5. 信息的维护
保持信息处于可用状态叫信息维护,这是信息资源管理的重要一环、狭义上讲,它包括经常更新存储其中的数据,是数据保持可用的状态。广义上讲,它包括系统建立后的全部管理工作。
信息维护的主要目的在于保证信息的准确、及时、安全和保密。
信息的准确性,首先要保证数据是最新状态,其次数据要在合理的误差范围内。
信息的及时性要求能及时的提供信息。为此,要合理的组织、存档信息,信息目录要清楚,常用的信息,放在易取的地方,各种设备状态完好,操作规程完整,操作人员技术熟练。
信息的安全性要求采取阻止信息受到意外情况和人为的破坏,一旦破坏后,能不太麻烦的恢复。为此,要保证存储介质的环境,对容易损坏信息的介质,要定期重录,要注意保存备份。
信息的保密性越来越引起人们的重视。为了保证信息的保密性,需要采取一定的技术措施,如密码、口令字,行政上建立严格的管理制度,不让闲人接触终端和磁带库。最根本的措施是加强人员的保密教育,慎重选择机要人员。
6. 信息的使用
从技术上讲,信息的使用主要是高速度地为用户提供信息。系统输出结果应易读易懂,直观醒目,输出格式应尽量符合使用者的习惯。
信息的使用,更深一层的意思是实现信息价值的转化,提高工作效率,利用信息进行管理控制,扶助管理决策。
基于管理活动的系统结构一般是从横向来讨论信息系统的结构的,但也可以从纵向讨论,即从组织的功能来描述系统结构组织的职能分工没有统一的模式,不同行业不同部门有其不同的模式及要求。
1. 2管理信息系统的学科内容及其发展
1.2.1管理信息系统的学科内容
管理信息系统是一门新的学科,它是介于经济管理理论,系统工程与计算机科学之间的综合性边缘交叉学科。
面向管理是管理信息系统最重要的特征。管理对信息的需求是产生本学科的直接原因,管理的要求是研制信息系统的出发点和归宿。离开管理的要求,系统的研制就缺乏明确的目标和基本原则。因此,了解管理体制、管理过程、管理职能和其活动特点是成功的开发管理系统的必备条件。
现代管理的基本特征是:以系统的观点,运用数学的方法建立数据模型,并依靠电子计算机技术,对各种行为的经济效果做出评价,为管理决策提供科学依据,通过计划与控制,解决各种生产、经营问题。系统的观点、数学的方法和计算机的应用是实现管理信息系统的三个要素,也是管理现代化的标志。
西方常把系统工程、管理科学、运筹学看成同义语看成是一种现代管理技术和方法。系统工程的思考方法,是立足于系统概念的一种思考方法。
1.2.2 管理信息系统的发展
我们认为管理信息系统是一个总的概念,总的方向,她是包含一切计算机在管理方面应用系统。
以支持数据处理为主要目标的电子数据处理系统(EDPS:Electronical Data Processing System)是管理信息系统的低级阶段。
数据处理系统的重点在于强调手工作业的自动化,以提高效率。每个管理信息系统均包括数据处理的功能,不过管理信息系统的概念更广泛,更综合。其着眼点在于提高效益,而不过分看中效率。
计算机集成制造系统(CIMS:Computer Integration Manafactory System)是管理信息系统发展的高级阶段。这是计算机技术、信息系统技术、自动化的生产制造技术等的综合系统。如果实现了CIMS, 则高度自动化的无人工厂将成为现实。
1.3 管理信息系统的总体规划
1.3.1 总体规划的意义
管理信息系统的开发通常是一项耗资大,复杂程度高,时间相当长的工程。无论从管理信息系统本身,还是从其开发过程来看,都要求有一个规划性的设计,才能使研制的系统有良好的整体性,是开发过程有良好的阶段性,从而才能在性能和时间进程上受到好的效益。总体规划的重要性可以用下列关系概括:
好的总体规划+好的开发=优秀的信息系统
好的总体规划+差的开发=好的信息系统
差的总体规划+好的开发=差的信息系统
差的总体规划+差的开发=混乱的信息系统
1.3.2 总体规划的任务及特点
总体规划的任务是:
(1)从对象系统的全局出发,在总体上确定信息系统的结构。
(2)提出系统资源的分配计划和分布实施计划,指导具体系统的实施,达到在最短时间内见到效益。
(3)进行可行性分析
总体规划的重点是高层的系统分析,它是面向高层的、面向全局的需求分析,其特点是:
(1)侧重需求分析,对需求分析有较具体的准则。
(2)系统结构设计着眼于子系统的划分,对子系统的划分有明确的规划。
(3) 把系统实施计划看作设计任务中的决策内容,又明确规则支持系统优先级的评估。
(4) 整体上着眼于高层管理,兼顾中层与操作层规划方面的考虑。
在宏观上描述系统,对数据的描述在"数据库"级,对处理过程描述在"过程组"级。
1.3.3 总体规划的原则
管理信息系统的总体规划原则有以下五条。
1. 支持单位或部门的总目标
2. 面向单位各管理层次的要求
3. 方法上摆脱信息系统对组织机构的依从性
4. 使信息系统在结构上有良好的整体性
5. 便于实施
1.3.4 总体规划的步骤
管理信息系统的总体规划可分为四个基本步骤。
1. 定义管理目标
2. 定义管理功能
3. 定义数据分类
4. 定义信息结构
管理信息系统总体规划的工作流程可用图1表示。下
节对各项工作内容加以说明。










图1 工作流程
1.4总体规划的具体内容
1、总体规划的准备
总体规划设计较高的管理层次,要与多个管理部门接触,困难比较多。其过程相对复杂。所谓万事开头难。
2、组织机构调查
调查工作往往从组织机构开始。我们强调信息系统要尽可能摆脱对组织机构的依赖性,但现行组织机构即使不尽合理,或许要有变动,也是我们了解基本活动的入口点。
组织机构图实际情况往往很复杂,我们不可能也没必要收集所有信息。因此,在画组织机构图时,根据总体规划的范围,画出相关的部分就行了。
3、定义管理目标
为了确定意见信息系统的目标,需要调查了解单位或部门的目标和为了达到这个目标所采取的管理方法以及实现目标的约束条件。
目标调查就是要通过采访相关部门,帮助他们提炼、归纳、汇总目标、绘制出目标树。各子目标要服从它所属的目标,目标之间不能互相矛盾,也不应完全相关。子目标的指标是根据上级指标,本部门历年统计及同类组织的最好指标等数字来确定的。
4、定义管理功能
管理功能实质管理各类资源的各种相关的活动和决策的组合。管理人员通过管理这些资源支持管理目标。
管理方法强调识别管理功能应独立于组织机构,从单位或部门的全部管理工作中分析归纳相应的管理功能。这样设计的信息系统可以相对独立于组织机构,较少受体制变动的影响。
5.定义数据类
在总体规划中,把系统中密切相关的信息归成一类数据称为数据类。
识别数据类的目的,在于了解单位或部门目前的数据状况和数据要求,识别数据类的目的,在于了解单位或部门目前的数据状况和数据要求,查明数据共享的关系,建立数据类/功能矩阵,为定义信息结构提供基本依据。
6. 定义信息结构
有了数据类/功能矩阵之后,就可以定义信息系统的结构了,即划分子系统。
由于资源的限制,系统的开发总有个先后次序,不可能全面开花。划分子系统之后,根据单位或部门目标和技术约束确定子系统实现的优先顺序。
7.计算机逻辑配置方案
总体规划的后期,要考虑计算机逻辑配置方案,这是从系统需求的角度提出计算机配置的基本要求,并不涉及具体硬件型号。
计算机逻辑配置方案考虑一下几个方面:
1. 客观条件约束
包括资金,原有计算机系统,技术力量(开发和维护)
2. 处理方式
为实现系统要求,采取实施处理或批处理。
3. 联机存储量
包括应用软件、系统软件体积、信息系统联机存储数据量。一般应在估算的基础上增加50%-100%作为联机存储量。
4. 设备
包括终端类型及数量,打印机类型及数量,绘图设备等。
5. 软件
包括操作系统,数据管理系统,高级程序语言,软件包,汉字处理系统等。
8、可行性研究
信息系统的建设是一项投资大,时间长的复杂工程,可行性研究非常重要。
在下一节中详细论述其有关内容。

1.5 可行性研究
1.5.1 可行性研究
除了建立系统的必要性之外,建立信息系统的可行性研究应从以下三个方面考虑。
1. 技术可行性 技术可行性是指:(1)根据现有的技术条件,能否达到所提出的要求;(2)所需要的物理资源是否具备,能否得到。特别要注意,这里的技术条件是指已经普遍采用,确实可行的技术手段,而不是正在研究中没有把握的新技术。
技术条件包括以下几个方面:
(1) 硬件。包括计算机的存储量,运算速度,外部设备的功能,效率,可靠性及通信
设备的能力、质量是否满足要求。
(2) 系统软件。包括操作系统提供的接口能力是否符合要求,如实时处理能力或批处理能力是否具备,分时处理的响应时间是否可接受;数据库管理系统的功能是否足够;
程序设计语言的种类和表达能力;网络软件的性能是否满足要求。
(3) 应用软件。是否已有专用的软件。
(4) 技术人员。各类技术人员的数量、质量、来源。
2. 经济可行性
经济可行性就是要估计项目的成本和效益,分析项目从经济上是否合理。如果不能提供研究系统所需要的经费,或者不能改善单位的管理,就不应该开发该项目。即是说,经济可行性要解决两个问题:资金的可得性和经济合理性。
3. 社会可行性
社会可行性是指所建立的信息系统能否在该单位实现,在当前操作环境下能否很好的运行。
1.5.2 可行性报告
总体规划的最后阶段是撰写可行性报告。可行性报告包括总体方案和可行性论证两个方
面,一般内容有以下几点。
1、 引言。
2、 系统建立的背景、必要性和意义。
3、 意见系统的可候选方案可行性论证。
从技术、经济、社会三个方面对规划进行论证。
4、 几个方案的比较。
若结论认为是可行的,则给出系统开发的计划,包括各阶段人力、资金、设备的需求。

第二章信息系统的设计依据
2.1 资料是图书管理信息系统设计概述
2.1.1 系统概述
作为一个管理信息系统,资料室图书管理信息系统同样是为了带来更大的方便和提高工作效率,提供原有工作状态下无法提供或不容易实现的诸多功能,如统计报表与分析报告,改善了缘有工作条件,提供了更容易操作的界面功能,减少了工时,为将来进一步扩充系统功能奠定了基础。
资料室图书管理信息系统通过人迹结合进行收集,传递,储存,加工,维护和使用相关信息,实现方便、快捷、准确的管理。作为基于管理活动的系统,一般从横向来讨论信息系统的结构,组织的职能分工没有统一的模式,具体详述如下。
2.1.2 资料室图书管理信息系统的任务及功能要求
资料室图书管理主要针对图书的进出库、统计、查询及借阅、归还情况进行登记、储存等操作,应包括图书总库和借阅库两个数据库,彼此间相互关联。
图书库作为所有图书信息的集合,包括所有图书的相关信息,应包含图书编号、分类号、书名、出版社、编者(或作者)、单价、页数、版期-版次、标准书号、面积、主题词、来源、购书日期、注销、摘要共十五个字段。按要求,须具备以下的功能:
1.作各种修改,增减数据;
2.能打印所需帐页,如入库帐,分类账;
3.能按分类号、书名、作者、主题词、出版社、入库日期等分批查阅资料;
4.能计算某一时期的购书费用,统计出某一时期进新资料情况;
5.图书借出后,书库能查处是谁借出此书;
6.由加密功能,非管理人员不能进入书库进行图书信息的修改。
借阅库是用来管理图书出借与归还情况的数据库,包括姓名、书名,图书编号、借阅日期、和备注共五个字段,要求实现以下功能:
1.加密功能,非管理人员不能进入书库内进行借阅与归还图书的修改工作;
2.能方便的查出某人借书的细帐,能方便的查出某一本书是谁借出。
从以上基本要求出发,可见应实现的是对数据库的操作和管理,在众多的数据库语言中,如Delphi,Paradox,dBASE,FoxPro等等,选择了功能强大的Delphi5.0作为开发工具,以实现所要求的系统。下面对Delphi5.0和数据库系统作简要介绍。
2.2 Delphi5.0和数据库系统
2.2.1 关于Delphi
Delphi5.0是Inprise公司续Delphi4.0之后推出的又一个Windows可视化编程工具。Delphi5简化了Windows应用程序和浏览器、Web服务器、中间件以及后端大型数据库系统的集成,并支持XML和HTML4,加快了Internet和分布式计算应用系统的设计开发速度。Delphi5.0在开发Internet应用、数据库系统的方面也作了很多改进。
Delphi5.0是一种非常优良的编程语言,尤其以它在数据库管理方面的特长为人们所喜爱。他被称为第四代编程语言,以它基于窗口和面向对象的编程方法,与Windows操作系统紧密结合,强大的数据库支持,速捷的编译速度,同时兼备Visual C++功能强大和Visual Basic医学灵活的特点,一直为程序员至爱的编程工具。在Delphi的众多优势中,它在数据库方面的特长显得尤为突出:适应于多种数据库结构,从客户机/服务器模式到多层数据库结构模式;高效的数据库管理系统和新一代更先进的数据库引擎,最新的数据分析和提供大量的企业组件。
2.2.2 数据库系统概述
数据库系统提供了在某个集中的地方存储和维护数据信息的方法。数据库系统主要有三大部分组成:数据库管理系统(DBMS:他们是专门负责组织和管理数据信息的程序)、数据库应用程序(它是我们能够获取、显示和更新由DBMS存储的数据)、数据库(按一定结构组织在一起的相关数据的集合)。
一般来说,DBMS和数据库和数据库应用程序主流在同一台计算机上并在同一台计算机运行,称为单机型数据库应用系统。
DBMS主要有三种类型:层次数据库系统,网状数据库系统的关系数据库系统,其中,关系数据库系统应用得最为广泛。
关系数据库(Relational Database):一个关系数据库是由若干表组成。在Delphi中,数据库概念对应到位文件上是有些不同的。对于Paradox,dDASE,FoxPro这类数据库系统,数据库对应与某一个子目录,而其它类型如MsAccess,Btrieve,Sybased等则是指某个文件。这是因为前者的标为单独的文件,而后者的表是聚集在一个文件中的。
表(Table):一个表就是一组相关的数据按行排列,像一张表格一样。
字段(Field):在表中,每一列称为一个字段。每一个字段都有相应的描述信息,如数据类型,数据宽度等。
纪录(Record):在表中,每一行称为一条纪录;
索引(Index):为了加快访问数据库的速度,许多数据都使用了索引,类似于资料室为图书建立索引,使读者可以方便快捷地查阅到需要的图书。
2.3 Delphi的数据库功能
数据库支持是Delphi编程环境中重要特性之一。在Delphi中创建数据库程序,其过程和方法如同创建其它类型的Delphi应用程序一样简单、快捷。使用Delphi创建的数据库程序能在各种平台中访问多种数据库。从Paradox,dBASE这样的本地台式数据库到Oracle,Sybase,Microsoft SQL Server那样的远程数据库,你只需要在窗体中方以下有关数据库的构件,设置他们的特性,转眼间就生成了一个可以访问这些数据库数据的应用程序。如果你知道如何加入SQL语句或ObjectPascal代码,就可以创建更强大的数据库程序。
2.3.1 Delphi支持的数据库种类
根据使用Delphi的版本,BDE中包含所支持数据库的驱动程序。在数据库应用程序中通过BDE可以连接到相应的数据库上,这里的数据库又可以分为两种。一种是本地数据库,如Paradox,dBASE,FoxPro,Access等,一般用于编写单层的数据库应用程序,即本地数据库应用程序。另一种是远程数据库服务器,如Interbase,Oracle,Sybase,Informix,Microsoft SQL Server和DB2等,一般用于编写上层数据库应用程序(客户/服务器数据库应用程序)和多层数据库应用程序。
Delphi数据库应用程序是通过BDE获取他们所需的数据的,BDE与不同类型的数据源打交道。
2.3.2 Delphi5.0的数据库特性
Delphi5.0的部件板上提供了八页数据库应用程序开发涉及到的组件:
数据访问页(Data Access):用于直接访问数据库中的数据库表;
数据控制页(Data Control):用来与用户交互、显示、修改数据库中的数据;
数据分析页(Decision Cube):不见用于对数据库种的数据进行分型并提供柱型图、饼图、线性图等直观的图表显示方式;
多层数据库开发页(MIDAS):用于开发多层客户/服务器应用程序;
WEB应用程序开发页:实现基于Internet的数据库应用程序的开发及应用;
QReport页:实现数据库应用程序中各种报表的设计及输出;
InterBase部件页:提供了数据库应用程序直接访问InterBase数据库的功能;
Server部件页:该部件组提供了数据库应用程序与Office97中Word,Excel等部件的集成。
2.4 采用Delphi5.0进行开发的优势
资料室图书信息管理系统是一个对图书出入库、借阅、注销、统计和催还进行综合管理的信息系统。根据用户要求,结合对当前各类开发工具的认识,在综合比较的基础上,我选用了Delphi5.0作为本次设计的开发工具。
Delphi具有以下特点:1,有快捷的设计环境。它采用了OOP与IDE结合的编程方式,它提供用户广阔,快捷的环境。它有相对更多的控件,并可实现代码共享,可大大缩短程序编制时间。2,它的高效运行效率。Delphi的编译效率要优于VB和VC。3,有丰富的资源。由于Delphi的特点,对程序员语言的要求降低,激发了程序员的加盟意识,有很多免费资源,而且,后期维护也比较方便。4,强大的数据库支持。Delphi支持现在的大多数数据库,它的基于SQL语言的数据库访问方式,大大提高了编程速度。5,极好的兼容性。

第三章 图书管理系统分析
3.1 系统分析概述
系统分析的含义:"分析"通常是指对现有系统的内、外情况进行调查、研究、分解,以明确问题或机会所在,认识解决这些问题或把握这些机会的必要性,为确定有关活动的目标和可能的方案提供科学依据。
系统分析阶段的基本任务是:系统分析员与用户一起充分理解用户的要求,并把双方的理解用书面文档(系统说明书)表达出来。系统说明书审核通过之后,将成为系统设计的依据和将来验收系统的依据。
系统分析是研制信息系统最重要的阶段,也是最困难的阶段。
系统分析在整个系统开发过程中,是要解决"做什么"的问题,把要解决哪些问题、满足用户那些具体的信息需求调查、分析清楚,从楼及上,或者说从信息处理的功能需求上提出系统的方案,机楼及模型,,为下一阶段进行物理方案(即计算机和通信系统方案)设计,解决"怎么做"提供依据。通过对现行系统的调查分析,抽象出现型系统的逻辑模型,分析器存在的问题,进行必要的改动,记得到新系统的逻辑模型。即新系统的主要功能:新系统的数据要求。
系统分析阶段的主要活动有:系统初步调查、可行性研究、系统详细调查、新系统逻辑方案的提出。可行性研究报告是系统开发任务是否下达的决策依据。系统说明书是整个系统分析阶段的工作总结,是系统分析人员和用户交流的主要手段,是系统建设领导部门决定是否进入系统设计的主要依据,是系统设计阶段工作的重要依据。
系统论的思想强调系统的整体性、综合性、层次性,强调系统元素之间的有机联系。这也是我们常说的要全面地看问题,认识事物要由表及里,去伪存真,要从事物之间的练习曲认识事物,而不要鼓励的看待事务,不论技术人员与用户的业务有多大差距,人们认识事物的方法都是相通的。
作为技术和工具之一的工具实质一些合理的图表。直观的图表可以帮助系统分析眼理顺思路,也便于与用户交流,如现场工作流程图,作业流程图,数据流程图,系统结构图等。结构化系统分析是通过自上向下,逐层分解成小问题,然后分别解决,这就是分解。分而治之,正是系统工程的思路。分解时分层进行,先考虑问题最本质的属性,暂时略去具体细节,以后在逐层添加细节,直到最详细的内容,这就是抽象。
3.2结构化方法简介
管理信息系统的开发是一个复杂的系统工程。为了保证系统开发的顺利进行,需要有正确的开发策略和方法论作为指导,需要互利的组织和有利的管理协调。结构化方法是广泛应用的一种开发方法。
3.2.1 构化方法的由来
结构化方法产生于70年代中期。"结构化"一词最早出自序设计。即我们熟知的结构化程序设计。在结构化程序设计出现之前,程序员按照各自的习惯和思路编写程序,没有统一的标准,也没有统一的方法。同样一件事情,不同的程序员编写的程序所占内存空间,运行时间可能差异很大。更严重的是,这些程序的可读性和可修改性很差,一个程序员写的程序,别人可能看不懂,往往修改不如重写。
1966年波母(Bobm)和雅科比尼(Yacopini)提出结构化程序设计的理论,认为任何一个程序都可用图A所示三种基本逻辑结构来编制,戴克斯(E.Dijkstra)等人主张程序中避免使用GO TO语句,而今用上述三种结构反复套嵌来构造程序。在这一思想指导下,一个程序的详细执行过程可按"自顶向下,逐步求精"的方法确定,即把一个程序分成若干个功能模块,这些模块之间尽可能彼此独立,用作业控制语句或过程调用语句吧这些模块联系起来刑场一个完整的程序。这些方法大大提高了程序员的工作效率,改进了程序质量,增强了程序的可读性和克修改型,修改程序的某一部分时,对其他部分的影响也不是太大。可以说这种方法是程序用一种"艺术"成为一种"技术"。
人们从结构化程序设计中受到启发,把模块思想引入到系统设计中来,将一个系统设计成层次化的程序模块结构,这些模块相对独立,功能单一。这就是结构化系统设计的基本思想。
但是,结构化系统设计不能帮助系统设计人员建立一个直观的系统模型,机用户在实际得到并使用这个系统之前,就能够知道这个系统是不是他所要的计算机信息系统。用户关心的是这个系统如何实现这些功能,解决他要解决的问题。至于这个系统符合实现这些功能,并不是他最关心的问题。为了时所设计的系统满足用和的要求,在设计之前,先要正确理解和准确表达用户的要求,这就是系统分析阶段的基本任务。结构化系统分析,强调系统分析员与用户一起按照系统的观点对单位或部门活动由表及里的进行分析,调查分析清楚系统的逻辑功能,并用数据流程图等工具把系统功能描述清楚,用户可以判断未来的系统能否满足它的功能要求,而系统设计人员根据这种描述进行系统设计,保证系统功能的实现。这就是结构化方法的由来。

成立 不成立 成立 不成立
条件C 成立 不成立
条件C




(1)顺序结构 (2)判断结构 (3)循环结构
图A 程序的基本逻辑结构
3.2.2 结构化方法的基本思想
为保证系统开发的顺利进行,结构化方法强调遵循以下几个基本原则。
1. 面向用户的观点
用户的要求是系统开发的出发点和归宿。信息系统是为用户服务的,最终要交给管理人员使用。系统的成败取决于它是否符合用户的要求,用户对他是否满意。因此,必须动员、吸引管理人员积极参与系统的研制过程。实践证明用户的参与,尤其是领导的介入,是系统成功的关键。在整个研制过程中,系统研制人员应该始终与用户保持联系,从调查研究入手,充分理解用户的信息需求和业务活动,不断的让用户了解工作的进展情况,校准工作方向。
2. 严格区分工作阶段
每个阶段有明确的任务和应得到的成果混淆工作阶段,是研制工作延期甚至失败的重要教训之一。结构化方法强调按时间顺序、工作内容,将系统开发划分成若干个工作阶段,如系统分析阶段,系统设计阶段,实施阶段以及运行维护阶段等等系统分析阶段的任务是建立系统的逻辑模型,解决系统"做什么"的问题;系统设计阶段的任务是建立系统的物理模型,解决"怎么做"的问题。在完成系统设计的基础上,才能进入系统实施阶段。对于复杂的系统,还要强调和加强前期工作,强调分析、设计的深入细致,以避免后期返工,造成投资耗费和负社会效益。
3. 按照系统的观点,自顶向下的完成系统的研制工 作在系统分析阶段,按全局的观点对单位或部门进行分析,自上而下,从粗到精,由表及里,将系统逐层逐级进行分解,最后进行逆向综合,构成系统的信息模型。在系统设计阶段,先把系统功能当作一个大模块,然后逐层分解,完成系统模块结构设计。在实施阶段,先实现系统的框架,自上而下完善系统的功能。程序的编写遵循结构化程序设计的原则,逐步求精。
4. 充分考虑变化的情况
管理信息系统的环境在不断的变化之中。因此用户对系统的要求也在不断变化之中。结构化方法充分考虑这种变化的情况。在系统设计中,把系统的可变更性放在首位,运用模块结构方式来组织系统,是系统的灵活性和可变更性得以充分体现。
5. 工作成果文献化、标准化
系统开发是一项复杂的系统工程,参加的人员多,经历时间长。为保证工作的连续性,每个开发阶段的成果都要用文字,图表表示出来,资料格式要标准化。这些资料在开发过程中是开发人员、用户交流思想的工具,工作结束之后是系统维护的要求依据,因此,资料必须简单明确,无二义性,即便也研制人员阅读,又便于用户理解。
3.3 资料室图书管理信息系统结构图
结构化系统分析的基本思想,是将一个复杂的系统逐层分解成许多足够简单的基本处理(功能)单元。
从资料是图书管理信息系统的任务和基本要求出发,我们对整个系统做一整体规划。系统将涉及的数据库将包含两个表:图书库.dbf,借阅库.dbf。建立相关目录、窗口即定义有关字段,整个系统由系统登陆、图书信息管理、图书借阅管理、图书查询、报表与统计、系统管理还有关于组成。系统登陆模块主要实现加权管理和退出系统等功能;图书信息管理模块主要实现新书入库、图书信息修改、图书注销等功能;图书借阅管理模块主要实现图书借出管理、图书归还管理、图书催还管理等功能;图书查询模块主要实现按书名、按借阅人查询、综合查询等功能;报表与统计模块主要实现阶段统计、图书分类账、图书入库帐的统计和打印等功能;系统管理模块为增加、修改、删除系统操作员和管理员的有关信息提供了途径,并可实现界面背景的更换;关于模块有关于和帮助两项,对系统的设计及使用予以说明。
各部分组成如下:
1. 系统登陆
A. 登陆
B. 退出
2. 图书信息管理
A. 新书入库
B. 图书信息管理
C. 图书注销
3. 图书借阅管理
A. 图书借出管理
B. 图书归还管理
C. 图书催还管理
4. 图书查询
A. 按书名查询
B. 按借阅人查询
C. 综合查询
5. 报表与统计
A. 阶段统计
B. 图书分类统计
C. 图书入库帐统计
6. 系统管理
A. 人员管理
7. 关于
A. 关于
B. 帮助




结构图如下











图B 系统结构图




第四章 图书管理信息系统的开发过程
在前述分析的基础上,将进入系统开发阶段,综合运用相关学科知识,编写要求实现既定功能的数据库应用程序,主要内容包括;
1.数据库应用程序的功能要求;
2.程序结构的设计;
3.程序窗体的设计及代码添加说明;
4.系统的操作说明。
4.1 数据库应用程序的功能要求
资料是图书管理信息系统应用程序将实现资料是图书管理方面的各项功能。功过这个程序可以确定程序用户的权限;执行新增、删除、注销图书功能;执行借阅时的借出、归还、催还管理;执行不同方式查询功能;生成报表,如图书分类账、入库帐,执行统计功能;执行更换北京图片功能,可该系统管理人员相关信息功能。从上可以看出,整个程序可分为六个主控功能模块,其中除查询功能模块可不必执行系统用户登陆程序外,其他模块的进入均应通过输入正确的工号和密码,才能进行相形的操作。下面具体介绍各个模块的内容。
4.1.1 对各功能模块的分析
系统登陆模块具体可完成:用户登陆、系统退出功能。用户在需要近日出查询模块以外的其他模块进行操作时,必须输入符合权限设置的工号。
1. 登陆
本模块系统所有人员进行列表,工用户选择,并对用户输入的用户工号和密码进行和发行的正确性校验。如果用户输入的工号和密码正确,则用换确定登陆号,系统会自动将该用户等级为当前操作员,为后继模块的身份校验提供依据。
2. 退出
用户选择该项后,系统将自动关闭,并释放内存。
为了确保数据的安全,在数据库应用程序的商业运行中应该将存放密码的文件进行加密,加密可以按照一定的规则将文件进行转化。
图书信息管理模块包括:新书入库、图书信息修改、图书注销。
1. 新书入库
本模块主要实现对新购图书的入库管理。包括各项数据的合法性校验。当要求新增图书是,可以为新书入库设定所有信息,这些信息包括数据库要求的各个字段,在输入是应该符合数据库格式的要求。图书库含以下十四个字段:图书编号、分类号、署名、出版社、编者、担架、也属、面积、主题词、来源、购书日期、摘要。确认新书入库后,在数据库的图书库中将自动增加一条纪录,这条纪录中包含了输入的各项信息;取消新输入课后,用户输入的各项信息无效。
2. 图书信息修改
本模块主要实现对库内图书的信息修改,包括图书破损纪录的登记。可修改有关字段信息后删除失去意义的纪录,修改之前可通过左侧的查找功能,有图书编号、分类号、署名、出版社、作者、主题词等进行查询,给出要修改纪录的相关信息。
3. 图书注销
本模块主要实现对遗失图书后破损图书的注销管理。注销后的图书不能在进行流通和借阅。图书注销可有图书编号查询与这小图书,选定后予以注销。
图书节约管理模块包括:图书借出管理、图书归还管理、图书催还管理。
1. 图书借出管理
通过本模块主要实现对读者借阅的登记,为后记得图书催还提供依据,在图书借阅登记时,系统根据用户提供的图书信息,将图书从库内调出,并将该图书的基本信息列表,供读者参考,在缺任务午后,在登记读者的信息,将该纪录记入借阅库,并将该图书标记为出库图书,为后继的图书催还和遗失图书查询提供依据。确认图书接触后,在借阅库中自动增加一条纪录,同样包含了输入及已有的各项信息,取消操作后,原操作无效。
2. 图书归还管理
通过本模块主要实现对读者归还图书的管理。在读者归还图书时,管理原先根据所归还图书的信息从库内调出该调节月信息,对归还图书和库内图书信息进行比较无误后,将该读者的借书信息删除,将该图书入库,并标记为在库图书。
3. 图书催还管理
本模块主要实现对逾期未归还图书进行催还管理。管理员通过输入催还图书时间的范围。(当前时间-借书期限)即为当前图书催还时间。系统会根据输入的催还时间范围,将符合条件的图书从库内调出,并将其相应的图书借阅信息调出,共管理员参考,已进行相应的催还。
图书查询模块包括:按书名查询、按借阅人查询综合查询。
1. 按书名查询
本模块主要通过对指定的书名进行查询,为以下要求设计:
1)、读者知道要借图书的书名,将该图书的详细信息调出,供读者参考,确认是否为要借的图书。
2)、读者在查询完图书卡片后,可通过该模块查询图书是否别人借出,如果借出,则调出借阅人的信息。
2. 按借阅人查询
本模块主要通过对指定的借阅人进行查询,主要是为以下几类需求设计的:
读者要查询自己的图书借阅清单时,通过该模块可将该读者对应的借阅清单列出,供读者核对。
按借阅人查询式输入借阅人的姓名,可显示借阅书目及其具体内容。
3. 综合查询
该模块主要实现对库内图书进行各类模糊查询。主要实现包含方式查询,用户可将要查询图书的部分信息输入,系统会自动根据用户提供的信息将包含该信息的所有图书从库内调出,以供参考。综合查询分组合查询和模糊查询。组合查询可通过图书编号、分类号、出版社、编者、标准书号、借阅人的精确信息来查询纪录。模糊查询是Delphi提供的一种查找方法,记载各项信息不能精确匹配的情况下,输入图书编号、分类号、出版社、编者、标准书号、借阅人的部分信息,查询最接近的纪录交给用户。
报表及统计模块包括:阶段统计、图书入库帐、图书分类账。
1. 阶段统计中可输入与统计时间区间,执行统计功能时,给出统计数目的具体信息、购书费用及总册书。
2. 图书分类账统计可通过分类号、出版社、编者来查询要打印的书目。可统计规定时间区间内的入库图书情况,并打印相应报表,功能与分类账相同。

系统管理模块包括人员管理
本模块主要实现对系统管理员的登记和信息修改以及权限赋值。该模块使馆整个系统的安全性,所以只有系统维护员才能进入。
关于模块包含关于和帮助两项
该模块登记了系统的相关信息,包括设计者信息。
4.1.2 整个程序各个功能模块之间的关系






4.2 程序的结构设计
程序的结构设计结束后,只是完成了对程序在概念上的设计,还需要用软件对结构的各部分进行实现--及进行设计。
在进行具体的程序编写之前必须进行程序设计是完全必要的。根据程序结构化设计的要求:需要把整个项目分成若干个小的项目,分别用程序块实现小项目,并且每个小项目程序的编写互不相干,独立完成各自的功能;对人物的分配越细致越好,这样在程序的修改时不需要改动其他的部分。
根据前面对程序功能的设计,在程序上分别进行实现,程序结构图如图A。
整个程序由登陆窗体、欢迎窗体、书籍查询窗体、新书入库窗体、图书修改窗体、借阅查询窗体、借还书窗体、阶段统计窗体、图书分类账窗体、图书入库帐窗体人员管理窗体、关于窗体及帮助窗体。每个窗体中包括了实现相应功能模块的部件和代码。下面将对每个窗体及代码进行讲介绍。
4.3程序的窗体设计及有关说明
无论是规模较大的联机系统,还是单机信息处理系统,都涉及用户界面问题。用户界面是系统启动时最先出现的窗体,给用户一个直接的印象,因此用户界面的好坏关系到系统应用的方便、有效、便于用户使用。本系统尽可能使界面简洁好用。
下图为系统登陆界面

此图为系统欢迎界面


图书管理界面

程序为:
procedure TMainFrm.ConfirmBtnClick(Sender: TObject);
begin
NewBookPanel.Visible:=false;
BookManagePanel.Align:=alClient;
if BookTable.CanModify then
begin
BookTable.Insert;
BookTable.FieldByName('PurTime').asString:=Edit1.Text;
BookTable.FieldByName('SN').asString:=Edit2.Text;
BookTable.FieldByName('Title').asString:=Edit3.Text;
BookTable.FieldByName('Author').asString:=Edit4.Text;
BookTable.FieldByName('Publishing').asString:=Edit5.Text;
BookTable.FieldByName('Price').asString:=Edit6.Text;
BookTable.FieldByName('Pages').asString:=Edit7.Text;
BookTable.FieldByName('PrintTime').asString:=Edit8.Text;
BookTable.FieldByName('ISBN').asString:=Edit9.Text;
BookTable.FieldByName('Format').asString:=Edit10.Text;
BookTable.FieldByName('Series').asString:=Edit11.Text;
BookTable.FieldByName('Source').asString:=Edit12.Text;
BookTable.FieldByName('Remark').asString:=Edit13.Text;
BookTable.FieldByName('ClassifyID').asString:=Edit14.Text;
BookTable.FieldByName('Brief').asString:=DBMemo1.Text;
if MessageDlg('确定要添加纪录?', mtConfirmation,[mbYes,mbNo],0)=mrYes then
BookTable.Post
else
BookTable.Cancel;

图1 系统主界面说明
4.3.1 系统主界面
系统主界面如图1
由于本人的水平限制和时间限制,此界面没有经过处理,以实用为主。
系统类型定义
TwhichBorder=(wbTop,wbLeft,wbRight,wbBottom,wbLeftTop,wbLeftBottom,wbRightTop,wbRightBottom,wbNone);
Procedure TmainFrm.SetCanResize(value:Boolean);
begin
If FcanResize<>value then
FcanResize:value;
end;
Function TmainFrm.GetcanResize;
begin
Result:=FcanResize;
end;

4.3.2 系统欢迎界面

图2 欢迎界面
此界面在系统启动前出现2.5秒,作为程序名称介绍和欢迎界面。
需要在程序初始化时加入代码来启动。
begin
Application.Initialize;
WelcomeFrm:=TWelcomeFrm.create(Application);
WelcomeFrm.Show;
WelcomeFrm.Update;
Application.Title := 'Book';
Application.CreateForm(TManagerLoginFrm, ManagerLoginFrm);
Application.CreateForm(TMainFrm, MainFrm);
WelcomeFrm.hide;
WelcomeFrm.free;
Application.Run;
end.
并在主程序中加入休眠程序以使其停留2.5秒。
procedure TMainFrm.FormCreate(Sender: TObject);
begin
Sleep(2500);
end;

4.3.2 系统登陆模块的登陆窗体
根据资料室图书管理系统的工作需求,当需要进行除图书查询之外的模块操作时,必须进行登陆进入,即通过工号和密码的合法性检验,创建的登陆窗体如下:

图3 系统登陆界面
窗体使用了两个单选框,用于区别管理员和一般用户,并进行权限的区分。用户名的选择以下拉式菜单的形式出现,从管理员数据库中读取相关名字。
由于输入工号和密码,必须保证用户的数据安全,因此,将文本框的password char属性设置为"*"。
单击确定进入主界面,单击取消退出程序。
程序如下
procedure TManagerLoginFrm.RadioButton2Click(Sender: TObject);
begin
UserNameComboBox.Enabled:=false;
UserNameComboBox.Color:=clMenu;
IDEdit.Enabled:=false;
IDEdit.Color:=clMenu;
PasswordEdit.Enabled:=false;
PasswordEdit.Color:=clMenu;
Label4.Caption:='一般用户只能查询,不能修改纪录';
MainFrm.BookTable.ReadOnly:=true;
MainFrm.DebitTable.ReadOnly:=true;
end;
procedure TManagerLoginFrm.ConfirmBtnClick(Sender: TObject);
begin
if RadioButton1.Checked then
MainFrm.BookTable.Active:=true;
MainFrm.DebitTable.Active:=true;
ManagerLoginFrm.Hide;
MainFrm.Show;
MainFrm.BookManagePanel.Align:=alClient;
Mainfrm.StatusBar1.Panels[0].Text:='当前管理员';
if RadioButton2.Checked then
Mainfrm.StatusBar1.Panels[1].Text:=''
else
Mainfrm.StatusBar1.Panels[1].Text:=UserNameComboBox.Text;
Mainfrm.StatusBar1.Panels[2].Text:='操作类型';
if RadioButton2.checked then
Mainfrm.StatusBar1.Panels[3].Text:='一般用户'
else
Mainfrm.StatusBar1.Panels[3].Text:='管理员';
Mainfrm.StatusBar1.Panels[4].Text:='当前日期';
Mainfrm.StatusBar1.Panels[5].Text:='';
Mainfrm.StatusBar1.Panels[6].Text:='当前时间';
Mainfrm.StatusBar1.Panels[7].Text:='';
end;
procedure TManagerLoginFrm.CancelBtnClick(Sender: TObject);
begin
ManagerLoginFrm.Close;
end;
end.

4.3.3 图书信息管理模块窗体设计
1)数据库中图书库的记录包括购买日期、序号、分类号、书名、出版社、编者、单价等十四个字段。因此,需要在新书入库中用十四个部件来接收用户输入的图书信息。创建的窗体如图4:
除了面积以外的字段都是用数据库文本框(DBEdit ),面积字段用ComboBox部件,以显示一系列的固定值,这样有利于用户使用。在信息输入完成后,按确定将弹出确认对话框,按确定将信息写入数据表中,按取消则重新输入或退出。
程序为:
procedure TMainFrm.ConfirmBtnClick(Sender: TObject);
begin
NewBookPanel.Visible:=false;
BookManagePanel.Align:=alClient;
if BookTable.CanModify then
begin
BookTable.Insert;
bookTable.fieldbyname('PurTime').asstring:=datetostr(purtime.date);
BookTable.FieldByName('SN').asString:=Edit2.Text;
BookTable.FieldByName('Title').asString:=Edit3.Text;
BookTable.FieldByName('Author').asString:=Edit4.Text;
BookTable.FieldByName('Publishing').asString:=Edit5.Text;
BookTable.FieldByName('Price').asString:=Edit6.Text;
BookTable.FieldByName('Pages').asString:=Edit7.Text;
BookTable.FieldByName('PrintTime').asString:=Edit8.Text;
BookTable.FieldByName('ISBN').asString:=Edit9.Text;
BookTable.FieldByName('Format').asString:=ComboBox3.Text;
BookTable.FieldByName('Series').asString:=Edit11.Text;
BookTable.FieldByName('Source').asString:=Edit12.Text;
BookTable.FieldByName('Remark').asString:=Edit13.Text;
BookTable.FieldByName('ClassifyID').asString:=Edit14.Text;
BookTable.FieldByName('Brief').asString:=DBMemo1.Text;

if MessageDlg('确定要添加纪录?', mtConfirmation,[mbYes,mbNo],0)=mrYes then
BookTable.Post

else
BookTable.Cancel;
end;

图4为新书入库界面
图4 新书入库界面
2)图书信息修改窗体
图书信息修改应实现对库中已有图书的部分改动或删除,窗体内容与新书入库窗体大致相同。考虑到使用较为频繁,将其放在主界面中。对所要修改的图书的选择采用用ComboBox来选择关键字与用来输入查询值的数据文本框相结合的方法来取得查询结果。为防止误操作,资料的修改需队进行确认,使数据库进入可修改状态。修改按钮随之可用。结果产生后可进行修改,删除,注销等操作。窗体如下:
3)图书注销
此功能结合在资料修改窗体中,选择了要查询的资料后即可进行注销。




图5 图书信息修改窗体

4.3.4 图书借阅管理模块窗体设计
1) 借出书籍查询
此管理窗体只要由查询条件选择框和查询条件输入框组成。主要用来对已借出的书籍进行管理,查询,告诉这本书现在的去向等。
通过几个单选框,可以选定查询条件,再和查询条件输入框组合来进行资料的查询。由于一个条件可能会查出较多的纪录,故选用DBGrid部件,该部件能显示很多行的资料,配合DBNavigator效果更佳。窗体如图6






图6 图书借阅帐查询
程序如下:
procedure TMainFrm.DebitQueryBitBtnClick(Sender: TObject);
begin
DebitTable.Active:=true;
if RadioButton1.Checked then
begin
DebitQueryEdit.ShowHint:=true;
DebitQueryEdit.Hint:='请输入准确书名';
with DebitQuery do
begin
Close;
SQL.Clear;
sql.Add('select * from debittab where Title=:Title');
params[0].AsString:=DebitQueryEdit.Text;
Open;
end;
end;
if RadioButton2.Checked then
begin
Label16.Caption:='请输入借阅人';
DebitQueryEdit.ShowHint:=true;
DebitQueryEdit.Hint:='';
with DebitQuery do
begin
Close;
SQL.Clear;
sql.Add('select * from debittab where Name=:Name');
params[0].AsString:=DebitQueryEdit.Text;
Open;
end;
end;
if RadioButton3.Checked then
begin
Label16.Caption:='请输入日期';
DebitQueryEdit.ShowHint:=true;
DebitQueryEdit.Hint:='格式为年-月-日';
with DebitQuery do
begin
Close;
SQL.Clear;
sql.Add('select * from debittab where DebitData=:DebitData');
params[0].AsString:=DebitQueryEdit.Text;
Open;
end;
end;
if RadioButton4.Checked then
begin
with DebitQuery do
begin
Close;
SQL.Clear;
sql.Add('select * from debittab ');
Open;
end;
end;
end;


2)借书窗口
此窗口由主窗体的查询对话框和查询图书结果信息数据表格,以及下面的借阅登记表组成。结束人先在查询窗口输入查询值,以确认书库中是否还有书,并在图书信息中显示出此书较详细的资料,以供借阅者参考。此出和书籍查询一样,采用DBEdit来显示资料。在借阅者确定要借阅此书后,在右下角填入自己的资料,书名,序号,以及借阅的具体日期后,确定后资料输入借阅数据表中。

图7 图书借出窗口
程序如下:
procedure TMainFrm.BitBtn15Click(Sender: TObject);
begin
if ComboBox4.Text='书名' then
begin
Edit20.ShowHint:=true;
Edit20.Hint:='请在此输入书名';
with Query1 do
begin
Close;
SQL.Clear;
SQL.Add('select * from book where Title=:Title');
Params[0].AsString:=Edit20.Text;
Query1.Open;
end;
edit15.Text:=dbedit17.Text;
edit16.text:=dbedit19.Text;
end;
if ComboBox4.Text='图书序号' then
begin
Edit20.ShowHint:=true;
Edit20.Hint:='请在此输入序号';
with Query1 do
begin
Close;
SQL.Clear;
SQL.Add('select * from book where SN=:SN');
Params[0].AsString:=Edit20.Text;
Query1.Open;
end;
edit15.Text:=dbedit17.Text;
edit16.text:=dbedit19.Text;
end;
if ComboBox4.Text='分类号' then
begin
Edit20.ShowHint:=true;
Edit20.Hint:='请在此输入分类号';
with Query1 do
begin
Close;
SQL.Clear;
SQL.Add('select * from book where ClassifyID=:ClassifyID');
Params[0].AsString:=Edit20.Text;
Query1.Open;
end;
edit15.Text:=dbedit17.Text;
edit16.text:=dbedit19.Text;
end;
if ComboBox4.Text='编者' then
begin
Edit20.ShowHint:=true;
Edit20.Hint:='请在此输入编者名';
with Query1 do
begin
close;
SQL.Clear;
SQL.Add('select * from book where Author=:Author');
Params[0].AsString:=Edit20.Text;
Query1.Open;
end;
edit15.Text:=dbedit17.Text;
edit16.text:=dbedit19.Text;
end;
end;

procedure TMainFrm.BitBtn8Click(Sender: TObject);
begin
with debittable do
if MessageDlg('你确认选择了正确的记录吗?',
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
Delete;
end;

procedure TMainFrm.BitBtn4Click(Sender: TObject);
begin
debittable.CanModify;
if edit20.Text<>null then
begin
Debittable.Insert;
DebitTable.FieldByName('Name').asstring:=Edit10.Text;
DebitTable.FieldByName('SN').asstring:=DBEdit17.Text;
DebitTable.FieldByName('Title').asstring:=dbedit19.Text;
DebitTable.FieldByName('DebitDate').asstring:=datetostr(Debitdate.date);
DebitTable.FieldByName('Others').asstring:=othersedit.Text;
if MessageDlg('你确认输入的数据正确吗?',
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
DebitTable.Post;
edit10.Text:='';
edit15.Text:='';
edit16.Text:='';
end
else
edit10.SetFocus;
//DebitTable.Close;
end
else
begin
DebitTable.Insert;
DebitTable.FieldByName('Name').asstring:=Edit10.Text;
DebitTable.FieldByName('SN').asstring:=Edit15.Text;
DebitTable.FieldByName('Title').asstring:=edit16.Text;
DebitTable.FieldByName('DebitDate').asstring:=datetostr(Debitdate.date);
DebitTable.FieldByName('Others').asstring:=othersedit.Text;
if MessageDlg('你确认输入的数据正确吗?',
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
begin
DebitTable.Post;
edit10.Text:='';
edit15.Text:='';
edit16.Text:='';
end
else
Edit10.SetFocus;
end;
end;

3)图书归还管理窗体
图书归还管理窗体的创建过程与图书接触管理窗体基本相同,不同的是图书归还管理中只有归还日起与摘要为可编辑字段,功能按钮为图书归还、过期打印等。确定归还后,要显示此书什么时候借出,是否超期,此人还有多少本书没有归还。
图8 图书归还窗口
此窗口和图书归还窗口一样,都是输入条件来选择纪录。不同的是,当选择好纪录后,归还按钮产生delete事件,将纪录中符合条件的记录删除,并弹出提示框让用户确认。
4.3.5 图书统计与查询窗体
阶段统计窗体的形式左上方为统计选项,包括阶段统计,分类统计,入库帐统计,旁边是统计时间范围,统计的结果在下方以DBGrid的形式显示出来,并在中间显示购书费用和总册数。窗体形式与查询窗体相似。

图9 阶段查询窗口
分类帐窗体左边包含关键字ComboBox部件,提供用于各种的分类项目,如分类号、出版社、编者。下边为分类帐的统计数据表格的所有字段信息。当执行打印功能时,分类账报表如图

图10 分类账统计窗体
入库帐窗体的格式与阶段统计和分类统计窗体相似,只是在选项上有所不同,以实现不同的功能。它要实现统计指定时间范围的入库图书信息,所以安排了时间指定和图书信息,附以按分类号查询功能以及查询、统计、打印功能。
窗体实现的打印功能与分类帐不同在于报表表格的字段不同,就不再赘述了。







图11 入库帐统计
4.3.6 人员管理窗口
当用户需要设定权限后修改权限的有关信息时,可以在程序中调用该窗体,这个窗体需要用户输入密码工号或修改相应的信息,工号和用户名都不能重复,以便于管理。符合要求时,将密码存入指定的文件中。如果想修改或者注销系统操作员,可以按相应按钮,输入适合的信息后进行修改或注销。

图12 人员管理窗口
程序的窗体和代码编写完成后,即开始进行程序的调试、编译,最后执行程序。此间进行修改以达到设计功能。
4.4 系统操作说明
至此,系统的开发工作基本结束,但系统开发的最终目的是投入运行。该系统是一个对资料是图书进行综合管理的信息系统。它在实现对图书库及借阅库两个数据库进行管理的同时,提供一系列用户所要求的功能及管理信息系统本身所具有的优势。现在对系统的操作做简要的说明。
程序运行时,即进入系统主界面,有系统设计指导思想可知,如果用户要进行图书查询,无需进行登陆,即对管理员身份的合法性检验,而如果想进入其他功能模块进行相应的操作时,必须经输入用户工号和密码的合法性的检验。即查询模块是一个对任何身份的人都开放的模块,可以进行相应功能的操作。下面来寿命查询模块的操作。
4.4.1 对于图书管理模块的操作
运行程序后,进入系统主界面,由于图书查询是用比较多,故直接进入查询界面,选择查询条件和输入查询值后,单击查询按钮,即能在右图中看到查询结果。查询条件有书号、书名、分类号可选。此方法只适合返回结果单一的纪录。如果需要修改,则把"我要修改"打上钩,此时,数据文本编辑框处于可编辑状态,修还按钮也随之可用,用户即可在数据文本框内进行修改,合适后按修改按钮将修改后的信息发送到数据库中保存。如果想将这本书注销,则在查询后确定要注销的书,单击注销按钮即可。
如果想新书资料输入数据库,单击新书入库按钮,会弹出一窗口,这是将新书资料填如入相应的空格内,单击确定按钮,会谈出对话框让用户确定,单击确定,新书资料即被输入到数据库中。
查询模块是向所有人开放的,无需登陆,但若要进行其他的操作时,则需要进行系统登陆,取得相应权限。
4.4.2借阅管理
借阅查询窗口有四个单选框,分别对应书名、借阅人、借出日期和浏览整个记录四个选项。书名、借阅人、借出日期选中后,再在旁边的文本框中输入具体信息,单击查询钮,结果显示在下面的表格中。
借阅窗口若知道要借的书名,可先在查询栏种选择关键字和输入查询值,这时,具体的数据会显示在图书信息栏中,读者可藉此确定是否是要借此书,如果确定要借,再在下面的借阅栏中填上信息,单击借阅,将数据输入借
阅数据库中。
归还书籍则要简单些,只需输入关键字和具体值进行查询,在显示的表中选中要归还的书籍,删除即可。此曹左右系统操作员完成。
4.4.3资料统计查询
此窗口先是模糊查询选项,用来就行对所要查询的数据不太确定或是资料有相近之处的书籍的查询。可以购书时间,图书序号,图书分类号,书名,编者,出版社,标准书号,来源来进行查询,查询得到的值显示在下面的表单中。
统计窗口可进行阶段统计、分类统计、入库统计三种统计,可对一段时间的图书进行统计,系统计算出入库册数,单价总和。图书分类帐和图书入库帐实现统计和打印功能。根据需要,选择图书分类或图书入库功能,分别输入所要求字段值,统计结构,确认后,单击打印,出现所需格式的报表,即可进行打印操作。
4.4.4系统管理的操作
系统管理下的人员管理项作为简单的信息输入,确认操作后单击确定,否则单击取消。操作完毕后,切记退出系统,以保证系统数据的安全性。退出系统即关闭程序。

结束语
由本文的分析和当今科技发展趋势可知,由于计算机的飞速发展,经济的日益腾飞,对信息量的处理要求与日俱增。因此,各部门急切的要求实现人机系统管理系统化,发挥各自的特长,以实现对大量信息的有条不紊的管理。而作为图书信息聚集的资料室随着需要管理项目的增多,自然需要一个特定的管理工具,为此,该设计为开发资料是图书管理信息系统作了很多努力:在熟悉管理信息系统、设计任务要求,Delphi语言数据库理论的基础上,展开全面系统分析开发工作,实现了既定的开发要求。
在本设计中,对资料室管理信息系统的开发设计理论依据,开发过程进行了较详细的论述,重点介绍了管理信息系统,数据库系统及采用Delphi5.0进行开发系统的过程,实现了图书库信息的录入、修改、注销、查询、报表打印以及借阅库的图书借出、归还、查询等管理,比传统的管理方式更有效、方便、快捷,并且加强了管理的安全性。
当然,由于对管理信息系统的理解很不足,对Delphi语言的不够熟练,不能很好的发挥数据库的强大功能,难免存在不合理和不足的地方。不过,随着管理信息系统的不断发展,对Delphi语言的更深入的学习及其性能的不断优化,随着对系统要求的不断提高,可以更好地完善系统以满足客户不断变化的要求。








致谢
在毕业设计过程中,我的导师李崇维老师给了我以细心的指导,并提出了宝贵的意见,使我的设计能够如期完成,她严谨务实的作风给了我很深的印象,在此,对李老师从百忙中抽时间给予我的帮助指导表示我衷心的谢意。
同时对在设计的过程中给于我帮助的老师同学深表谢意。

参考文献
1) 邝孔武 管理信息系统分析与设计 西安电子科技大学出版社 1998
2) 刘韬,肖永顺,王宇 Delphi4.0数据库编程 人民邮电出版社 1999
3) 陈余年,方美琪 信息系统工程中的面向对象方法 清华大学出版社 1999
4) 万兆泉等 Delphi5.0编程指南 北京希望电子出版社 1999
5) 王忠,迟忠先 Delphi5.0开发指南 电子工业出版社 2000
6) 张晓东,杜宏生 Delphi5.0编程与开发实例 人民邮电出版社 2000
7) 杨彬等 Delphi4.0程序开发应用指南 人民邮电出版社 1998
8) 新智工作室 Delphi5数据库编程电子工业出版社 2000

 
我靠,楼上的程序是谁写的啊。
这么多“edit10”,“edit11”。呵呵。我是老师就打他不合格。[:D]
 
up,是的,好象..........
 
接受答案了.
 
靠,人家给贴出程序,居然把分给别人,不公平!!!!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部