1、图书馆管理系统分析与设计 第一章 引 言 随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。从而使我们从繁杂的事务中解放出来,提高了我们的工作效率。目前图书馆的借阅工作部分还是手工管理,工作效率很低,并且不能及要求。手工管理还存在这许多弊端,由于不可避免的人为因素,造成数据的遗漏、误报。计算机信息化管理有着储存量大,速度快等许多优点,提供给我们的处理信息及时快捷,因此我们利用计算机提供给我们的信息对学生们的借阅过程形成一整套动态的管理。 管理信息系统(简称MIS)是介于信息论,经济管理理论,统
2、计学与运筹学及计算机科学之间的一门边缘性,综合性,系统性的交叉科学,它是随着管理科学,信息技术,计算机技术等的发展而产生和发展起来的。图书馆管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端的应用程序的开发两个方面。对于前者要求建立数据的一致性和完整性,对于后者则要求应用程序功能的完备,易用等的特点。基于上述考虑本系统主要利用PowerBuilder 9.0作前端的应用开发工具 ,利用SQL SERVER 2000 作为后台的数据库,利用WINDOWS作为系统平台开发的图书管理系统。另外本图书馆管理系统利用软件工程化思想和方法,总体上是采用结构化生命法进行系统分析和设计
3、的,而系统实现等步骤则采用了原型法和面对对象的方法。第1节 管理信息系统的定义MIS的定义有很多种,研究者们从各自的角度出发给出了不同的定义。MIS的一个定义是:一个MIS是能够提供过去、现在和将来预期信息的一种有条理的方式,这些信息涉及到内部业务和外部情报。它按适当的时间间隔供给格式相同的信息,支持一个组织的计划、控制和操作功能,以便辅助决策制定过程。MIS的另一个定义是:MIS是一个由人、计算机等组成的能进行信息收集、传送、储存、维护和使用的系统,能够实测企业的各种运行情况,并利用过去的历史数据预测未来,从企业全局的角度出发辅助企业进行决策,利用信息控制企业的行为,帮助企业实现其规划目标。
4、第2节 管理信息系统的主要功能1.信息处理信息处理对组织的数据和信息进行收集、存储、传输、加工、查询等操作,以实现向管理人员及时提供所需的可靠、准确信息的功能。2.辅助事务处理和辅助组织管理辅助事务处理,包括具有通用性的事务处理(如计划的制定与管理、人事管理、财务管理等)和各类特殊事务处理(如物资管理、销售规律3、教学管理、群众来信来访管理等)。3.支持决策实测企业运行情况、预测企业未来行为、辅助企业决策人员进行决策是管理信息系统的重要功能,管理信息系统主要是辅助结构化决策问题。第3节 管理信息系统的结构MIS的结构有以下几种:总体结构:信息源、信息处理器、信息用户、信息管理者。物理结构:物理
5、组成、处理功能、用户需要的输出。层次结构:用于执行控制的信息系统、管理控制的信息系统、战略计划的信息系统。职能结构:一般企业的职能子系统有市场销售、生产管理 、物资供应、人事管理、财务管理、信息管理、高层管理等子系统。空间分布结构:集中式系统、分布式系统。第4节 管理信息系统开发方法MIS(管理信息系统)的开发方法有三种:生命周期法、原型法和面向对象的开发方法等:生命周期法(Life Cycle Method)是20世纪60年代发展起来的一种应用广泛且比较成熟的管理系统开发方法,就是用按照MIS的生命周期来开发的一种方法,把MIS开发分成五个形状:总体规划,系统分析,系统设计,系统实施和系统的
6、运行维护。原型法(Prototyping Method)是80年代随着计算机软件技术的发展,特别是在关系数据库系统(RDBS)、第四代程序生成语言(4GL)和各种系统开发生成环境产生的基础之上,提出的一种从设计思想、工具、 手段都全新的系统开发方法。原型法是凭借着系统开发人员对用户要求解,在强有力的软件环境支下,给出一个实实在在的系统原型,然后与用户反复协商修改,最终形成实际系统。面向对象(Object Oriented)的开发方法于20世纪80年代开始兴起的,是一种基于问题对象的自底向上的一种系统开发方法,这种方法的特点是以对象为基础,对象是分析问题和解决问题的核心。第5节 管理信息系统开发
7、过程1系统开发准备系统开发准备工作主要包括提出系统开发要求、成立系统开发小组、制订系统开发计划等工作。 2系统调查新系统的系统分析与系统设计工作都要建立在对现行系统调查的基础上,即必须调查现行系统的运行情况、问题等,明确用户的需求,特别是合作开发和委托开发方式。 调查的主要内容有: (1)现行系统概况:该组织的发展历史、目前组织的规模、工作状况、管理水平、与外界的主要联系等。调查该项内容的目的主要是为了划分系统界限、系统与外界的输入输出接口等。 (2)组织机构:画出组织的组织结构图,弄清组织的行政关系、人员编制、工作范围、地理位置等,发现不合理问题及新系统启动后可能对现有组织的影响。 (3)业
8、务流程:按照业务种类的不同和处理时间的先后不同,深入了解现行系统的业务流程,画出现行系统业务流程图,并与业务人员反复讨论,得到认可。调查中要注意定性与定量相结合,注意人、财、物、信息的流向、规格、频率、要求以及需要解决的问题等。 (4)报表、数据处理:了解各种统计报表、数据的格式、内容、处理时间及上报时间、频率、规律,存在的问题,对新系统的要求、希望等并收集各种报表。 (5)问题:现行系统中存在的主要问题和薄弱环节,可以按照严重程度分成不同的等级。新系统的建立应能解决大部分问题,并改善薄弱环节。 (6)新系统的功能和目标:了解各级领导和各类业务工作人员对新系统功能的要求,为进一步完善新系统的目
9、标做准备。 (7)其他:如对新系统的各种约束条件,需要说明的其他问题等。 3系统分析系统分析(又称逻辑设计)是管理信息系统开发的关键环节,要求在系统调查的基础上,对新系统的功能进行细致的分析,并建立一个新系统的逻辑模型。新系统的逻辑模型由系统数据流程图、概况表、数据字典、吃理逻辑表达式及有关说明组成。最后要完成系统分析报告(也称为系统逻辑设计说明书)。系统逻辑模型就像在根据需要建设一座学校前,按照学校教育的层次(初等、中等、高等)、规模、投资、地理环境、技术水平等条件的要求和约束,先由建筑设计院进行设计,保证学校建成后的各种功能得以实现,之后才能进行工程设计和施工一样。在系统设计阶段要做认真、
10、细致的分析、研究工作,避免新系统在功能上存在先天不足或缺陷。 因为新系统模型是建立在对现行系统的分析及要求的基础上的,所以系统调查工作要进行得深入、细致、全面。用户可以对新系统的逻辑模型提出意见,双方经过讨论、修改,最后达成共识,并完成系统分析报告(系统逻辑设计说明书),经有关领导审批通过之后,转入系统设计(又称系统物理设计)阶段。 4系统设计系统设计又称系统物理设计。系统设计要根据系统分析报告中的系统逻辑模型综合考虑各种约束,利用一切可用的技术手段和方法进行各种具体设计,确定新系统的实施方案,解决“系统怎么做”的问题。 结构化系统设计是指利用一组标准的图表工具和准则,确定系统有哪些模块,用什
11、么方法连接,如何构成良好的系统结构,并进行系统输入、输出、数据处理、数据存储等环节的详细设计。这一阶段的重点是设计好系统的总体结构,选择最经济合理的技术手段。系统设计阶段的文件是系统设计报告(又称系统物理设计说明书)。 管理信息系统的开发是一项系统工程,为了保证系统的质量,设计人员必须遵守共同的设计原则,尽可能地提高系统的各项指标(系统可变性、可靠性、工作质量、工作效率、经济性等)。 5系统实施与转换系统实施阶段的主要工作包括:系统硬件的购置与安装、程序的编写(购买)与调试、系统操作人员的培训、系统有关数据的准备和录入、系统调试和转换。 在系统实施阶段要成立系统实施工作量到小组,组织各专业小组
12、组长和有关部门的领导共同编制新系统实施计划。可以应用各种项目管理的软件和方法进行管理,实行项目经理负责制,保证系统实施工作的顺利进行和成功。硬件的购置和安装包括计算机硬件、外设、网络、电源、机房、环境等有关设备的购买、验收、安装与调试工作等,这些工作主要由专业技术人员完成。数据准备与录入工作主要是指由手工操作转入计算机处理所需的各种数据的整理、录入及计算机系统中为新系统所用数据的转换工作。数据准备与录入工作要注意数据的准确性,在整理、录入、校验等各个环节把好关,为系统的顺利转换打好基础。 在进行以上各个环节的同时展开人员培训工作,包括管理信息系统只是的普及教育、新制度的学习、计算机操作训练等。
13、使所有人员了解新系统的基本功能、新系统对使用人员的要求、建立管理信息系统的目的、管理信息系统的建立可以为组织和个人带来的帮助和便利、个人在新系统中应该承担的工作等,是用户关心、支持新系统的实现。 6系统维护和评价 管理信息系统是一个复杂的人机系统。系统外部环境与内部因素的变化,不断影响系统的运行,这时就需要不断地完善系统,以提高系统运行的效率与服务水平,这就需要从始至终地进行系统的维护工作分页标题#e# 系统评价主要是指系统建成后,经一段时间的运行后,要对系统目标与功能的实现情况进行检查,并与系统开发中设立的系统预期目标进行对比,及时写出系统评价报告。 系统维护与评价阶段是系统生命周期中的最后
14、一个阶段,也是时间最长的一个重要阶段,就像汽车的维护工作好可以延长汽车的使用寿命和提高其使用效率一样,系统维护工作的好坏可以决定系统的生命周期的长短和使用效果。第二章 需求分析为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么?”这个问题。第1节 功能需求图书管理系统涉及图书信息、系统用户信息、读者信息、图书借阅信息等多种数据管理。从管理的角度出发可将图书
15、管理分为三类:图书信息管理、系统管理、读者数据管理。图书信息管理包括图书入库、图书增删、图书借还和查询操作,系统管理主要是用户密码管理,读者数据管理包括读者类别管理和读者个人数据的录入、修改、删除、借书和还书等。典型的图书管理系统主要应具有以下功能:图书入库管理:录入新的图书信息。图书信息管理:主要是对已有图书的修改、删除。图书借还管理:实现对图书的借出和归还的信息管理。图书查询管理:通过各种查询方式来进行查询,比如书号、作者等。系统用户管理:实现用户密码的管理。读者数据管理:读者个人数据的录入、修改、删除、刷新等功能。第2节 现行系统存在问题的分析目前的图书馆多为手工管理,手续繁琐,耗费大量
16、的人力,而且由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。第3节 解决方案看到以上的问题,利用计算机来改进图书馆的管理就很有必要了。图书馆信息系统的建立,需要进行用户的需求调查与分析,以确定系统目标,提出解决问题的详细方案,这是系统建设的重要环节。用户需求要有四个方面:图书馆工作人员通过计算机来管理各类图书,分类编号,调整图书结构,增加图书库存,适应学生的需求
17、;学生们能通过计算机来查询浏览图书馆中的图书,来确定自己需要的书籍,为借阅做好准备;工作人员对学生们的借书证发放;对图书的借阅管理。在软、硬件方面对系统的需求,软件要求易学,界面友好,容易掌握,可以很简单方便的管理各种图书信息。硬件的配置要求不能太高,这样可以很好的适应当前的学校图书馆。在开发方式上对系统的需求,系统设计开发的周期要短,在短时间内完成,减少开发成本,提高开发效率,方便、简单、实用作为系统开发的指导思想。第三章 总体结构设计要完成一个图书馆管理系统,就需要更多相关的信息。因为各种原因的限制,还有开发成本,所以本系统仅实现基本的管理功能。所以必须使用前应进行二次开发。第一节 系统目
18、标设计实现内部图书借阅管理的系统化、规范化和自动化是系统开发的总目标。图3.1 图书管理业务流程图能够对图书进行注册登记,也就是将图书的基本信息(如:书名、作者、价格等)预先存入数据库中,供以后检索。能够对借阅人进行注册登记,包括记录借阅人的姓名、地址、电话等信息。提供方便的查询方法。如:以书名、作者、出版社、出版时间(确切的时间、时间段、某一时间之前、某一时间之后)等信息进行图书检索,并能反映出图书的借阅情况;以借阅人编号对借阅人信息进行检索;以出版社名称查询出版社联系方式信息。提供统计分析功能。可以展现出图书类型比例、库存与借出比例。提供旧书销毁功能,对于淘汰、损坏、丢失的书目可及时对数据
19、库进行修改。读者可以登录系统查找所需要的书,同时可以查看自己已经借到的书。能够对使用该管理系统的用户进行管理,按照不同的工作职能提供不同的功能授权。提供较为完善的差错控制与友好的用户界面,尽量避免误操作。第2节 系统功能分析图书馆管理系统数据分为两种:数据输入部分,数据输出部分和数据处理部分。数据输入部分主要包括图书基本信息的录入、借阅人基本信息的录入、用户基本信息的录入。数据输出部分主要是各种统计查询,包括:根据图书信息(如书名、作者、出版社等)查阅图书及其借阅信息、统计输出图书类型比例等。数据处理部分主要涉及借阅和归还的处理,如一本书借出后,必须在数据库中将该书标记为已借出,以防出现数据库
20、中有书但图书馆无书的情况;一本书归还后,同样必须在数据库中将其标记为已经归还,以便再次借出。图3.2 图书管理系统功能模块图第3节 系统各功能模块设计在系统功能分析的基础上,考虑PowerBuilder程序编制的特点,得到如图所示的系统功能模块图: 图3.3图书借阅管理系统图第4节 数据流图(1)图书基本信息登记/修改 图3.4 系统数据流图 说明:出版社信息人工录入后,存放在出版社信息库中,便于今后书籍信息的录入以及出版社信息的查询。分类信息由图书馆进行分类定制,存放在图书分类信息库中,用于图书的分类管理。登记新书时,当涉及到出版社和分类的填写时,只需做相应的选择即可,并存放在图书信息库中。
21、(2)借阅人基本信息登记/修改图3.5 借阅人信息修改说明:录入借阅人基本信息后存放在借阅人信息库中。(3)图书查询图3.6 图书查询说明:输入查询条件后,检索图书信息库,并反应出查询结果。(4)图书统计 图3.7 图书统计说明:根据选择的统计条件,检索图书分类信息库或图书信息库,并反应出统计结果。(5)图书借阅图3.8 图书借阅说明:输入借阅人编号,通过检索借阅人信息库,核实借阅人身份。输入图书编号,通过检索图书信息库,核实图书信息。进行图书借出处理后,在图书借阅库中进行登记,并将借出图书的在借标志设为“是”。(6)图书归还图3.9 图书归还说明:输入图书编号,检索在借信息库,反应出图输借阅
22、情况。进行归还操作后,修改在借信息库中相关条目,同时在图书信息库中修改相关图书在借标志为“否 第三章数据库设计 一、 需求分析二、 概念设计三、 逻辑设计四、 物理设计五、 实施阶段六、 运行和维护一、需求分析1.1 系统目标图书管理信息系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强.数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。系统开发的总体任务是实现各种信息的系统化,规范化和自动化。1.2 需求定义图书馆管理系统开发。系统开发的总的设计目标是实现图书管理的系统化、规范化和自动
23、化,实现对图书资料的集中统一的管理。本系统主要实现对图书馆信息的管理,主要功能为管理有关读者、图书、借阅、查询、删除和管理员的信息等。本系统结构分为读者信息管理、图书信息管理,读者管理可以浏览读者的信息,可以对读者信息进行维护。图书管理可以浏览图书的信息,可以对图书信息进行维护。借阅管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。本系统主要解决的问题是利用关键字对数据库进行查询。本系统的宗旨是提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施。1.3 功能需求 (1)有关读者种类标准的制定、种类信息的输入、包括种类编号、种
24、类名称、借书数量、借书期限等。(2)读者有关信息的修改、查询等。(3)读者基本信息的输入,包括读者编号、读者姓名、班级、院系等。(4)读者基本信息的查询、修改(5)书籍信息的输入,包括书籍编号、书籍名称、书籍所属类别、作者、出版社、出版日期、在库数、价格(6)借书信息包括借书证号、书籍编号、借出日期、拖欠日期、罚款种额(7)图书管理 书籍号、管理员编号、销书数量、销书日期。一、 概念设计根据需求分析我们规划出实体有:管理员信息实体、图书信息实体、读者信息实体、借阅信息实体、管理信息实体。各个实体具体的描述E-R实体如下。1、图书管理员信息模块2、借阅者信息模块3、图书信息模块4.管理信息模块5
25、、完整的ER图三、逻辑结构设计1、数据库逻辑设计:从ER模型到理论关系模型的转换,通过E_R模型到关系模型的转换我们可以得到如下关系模式(1)借阅关系属性:借书证号、书的编号、借出日期、归还日期、推迟日期、应罚款总额主键:借书证号、编号(2)管理员与图书关系属性:管理员编号 、书的编号、销毁日期、销毁数量主键:管理员编号、图书编号2、数据库逻辑结构(1).书籍信息表由大量图书构成记录图书数据结构如下:(2、)读者信息表:读者记录的数据结构如下(3)借阅信息表:借阅数据构成(4)管理员信息表:其结构如下(5)管理表:有队图书管理的信息构成四、 物理设计从理论关系模型到实施数据库建立、物理文件的安
26、排和、建立索引1、 建立索引为提高在表中搜索元组的速度,在实际现实的时候应该基于键码建立索引是个表中建立索引的表项:(1) 读者信息(读者图书证号)(2) 书籍信息(书籍编号)(3) 管理员书籍(管理员编号,图书编号)(4) 管理员(管理员编号)(5) 借阅信息(读者图书证号,图书编号)2、 将上面的逻辑结构设计转换为SQL sever 2005据支持的实际数据模型,也就是数据库的逻辑结构。图书管理系统数九库各个表中的的设计如下:(1) 建立图书馆数据库(MyLibrary)create database MyLibraryon(name=Mylibrary_data1,filename=d:
27、Mylibrary_data1.mdf,size=10,maxsize=50,filegrowth=4),(name=Mylibrary_data2,filename=d:Mylibrary_data2.ndf,size=8,maxsize=20,filegrowth=2)log on(name=Mylibrary_log1,filename=d:Mylibrary_log1.ldf,size=10,maxsize=20,filegrowth=2)go查看数据库建立信息:sp_helpdb MyLibrarygo(2)在MyLibrary表中建立管理员表(adminis)use MyLibra
28、rygoCreate table admins(Id nvarchar(10) not null,adNam nvarchar(20) not null,GLSk nvarchar(10) not null,constraint pk_adminsprimary key(Id)go查看表信息:select*from adminssp_help admins(2) 在数据库中建立图书表(BOOk)use MyLibrarygoCreate table Book(Ip nvarchar(10) not null,bookName nvarchar(20) not null,author nvarc
29、har (20) not null,LB nvarchar(10) not null,publisher nvarchar(10) not null,pubilshdata nvarchar(8) not null,buydata nvarchar(8) not null,stocknum int not null,price decimal(6,2) not null,constraint pk_Bookprimary key(Ip)go结果:(3)建立读者信息表(Reader):Create table Reader(ReadId nvarchar(10) not null,Name nv
30、archar(20) not null,Class nvarchar (10) not null,Department nvarchar(10) not null,constraint pk_Readerprimary key(ReadId)go显示:sp_help Reader(4)在数据库中建立借阅信息表(loanInfo):use MyLibrarygoCreate table loanInfo(Ip nvarchar(10) not null,ReadId nvarchar(20) not null,loandate nvarchar (20) not null,bakedate nv
31、archar(10) not null,latedate nvarchar(10) not null,penalsum int not null,constraint pk_loanInfoprimary key(Ip)go(5)建立管理员管理书的管理表(Manage)Create table Manage(Ip nvarchar(10) not null,Id nvarchar(10) not null,bookName nvarchar(20) not null,Booksdestroyeddate nvarchar(8) not null,destroyNum int not null,
32、constraint pk_Manageprimary key(Ip)sp_help Manage五、 实施阶段1、在数据库中用DML语言对adminis表加入数据insert adminsvalues (001,张三,IT计算机)values (002,李四,经济学)select * from admins3、 用DML语言对BOOk表添加数据insert Bookvalues (00001,C语言,谭浩强,IT计算机,电子工业出版社,20090801,20100101,50,20.00)insert Bookvalues (00003,贸易关系,谭浩强,经济学,电子工业出版社,200908
33、01,20100101,50,20.00)select * from Book4、 用DML语言对Reader表添加数据insert Readervalues (00001,王五,10级计应三班,电子与信息工程系)select * from Reader5、用DML语言对loanInfo表添加数据insert loanInfovalues (00001,00001,20110112,20110212,10,5)select * from loanInfo5、 用DML语言对Manage表添加信息insert Managevalues (00001,001,C语言,20110112,20)sel
34、ect * from Manage六、 运行和维护1、 对数据库性能的监测、分析和改善。在数据库运行过程中,监督系统运行,对监测数据进行分析,找出改进系统性能的方法是数据库管理员的又一重要任务。目前有些数据库管理系统产品提供了监测系统性能参数的工具,数据库管理员利用这些工具方便地得到系统运行过程中一系列性能参数的值。数据库管理员应仔细分析这些数据,判断当前系统运行状况是否是最佳,应当做哪些改进。例如调整系统物理参数,或对数据库进行重组织或重构造等。2、 数据库的转储和恢复。数据库的转储和恢复是系统正式运行后最重要的维护工作之一。要针对不同的应用要求制定不同的转储计划,以保证一旦发生故障能尽快将
35、数据库恢复到某种一致的状态,并尽可能减少对数据库的破坏。3、 数据库的安全性和完整性。各级环境数据库系统主管单位应保证以下安全保护措施的正常执行。(1) 环境数据库系统重要部分的冗余或备份措施。(2) 计算机病毒防治措施。(3) 网络攻击防范、追踪措施。(4) 环境数据库系统运行和用户操作日志记录保存60 日以上措施。(5) 记录环境数据库系统用户网络地址的措施。(6) 环境数据库系统身份登记和识别确认措施。4、 数据库的重组和重构。数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物理存储情况变坏,降低了数据的存取效率,数据库性能下降,这时DBA(数据库管理员)就要对数据库进行重组织
36、,或部分重组织(只对频繁增、删的表进行重组织)。DBMS(数据库管理系统(database management system))一般都提供数据重组织用的实用程序。在重组织的过程中,按原设计要求重新安排存储位置、回收垃圾、减少指针链等,提高系统性能。部分修改数据库的模式和内模式实现数据库的重组。 第五章 图书管理系统的具体实施第一节 PowerBuilder开发工具简介数据库应用是当前计算机应用的一个非常重要的方面,而在目前的数据库应用技术中普遍采用的就是客户机/服务器体系结构,在这种体系结构中,所有的数据和数据库管理系统都在服务器上,客户机通过采用标准的SQL语句等方式来访问服务器上数据库中
37、的数据。由于这种体系结构把数据和对数据的管理都统一放在了服务器上。就保证了数据的安全性和完整性,同时也可以充分利用服务器高性能的特点。正因为客户机/服务器体系结构的这些优点,因而得到了非常广泛的应用。PowerBuilder是完全按照客户机/服务器体系结构研制设计,在客户机/服务器结构中,它使用在客户机中,作为数据库应用程序的开发工具而存在。由于PowerBuilder采用了面向对象和可视化技术,提供可视化的应用开发环境,使得我们利用PowerBuilder,可以方便快捷地开发出利用后台服务器中的数据和数据库管理系统的数据库应用程序。在当前,网络技术迅速发展,随之发展的还有OLE,OCX,跨平
38、台等技术,而在PowerBuilder的最新版PowerBuilder 9.0中提供了对这些技术的全面支持。总之在数据库开发工具领域,PowerBuilder是其中非常优秀的一个,利用它我们可以开发出功能强大的数据库应用程序。第二节 SQL Server后台数据库管理系统本系统的开发选择了SQL数据库。SQL是MS SQL Server的简述,是世界上及国内比较流行的关系数据库管理系统。它适用于中小型事物处理及客户端/服务端结构的应用系统。它功能强大操作简便,日益为广大数据库用户所喜爱。越来越多的开发工具提供了与SQL Server的接口。SQL Server 是一个关系数据库管理系统,它最初
39、是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的。于1988 年推出了第一个OS/2 版本,在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能、具有使用方便、可伸缩
40、性好与相关软件集成程度高等优点。可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。MS SQL Server不但可以应用于大中型数据库管理中,建立分布式关系数据库,并且也可以开发桌面数据库。事实上,SQL Server数据库处理的基本结构,采取关系型数据库模式,尽管如此,相信大家都可以轻易的发现,在SQL Server的数据库处理方式,则是使用面向对象的操作方式与精神,也就是说,SQL Server的所有功能,都可以基于系统已经建立好的一些对象来达成,是相当OO(面向对象)的一个系统结构。
41、分页标题#e#SQL Server 企业管理器是 SQL Server 的主要管理工具,它提供了一个遵从 MMC 标准的用户界面,使用户得以:定义 SQL Server 实例组。将个别服务器注册到组中。为每个已注册的服务器配置所有 SQL Server 选项。在每个已注册的服务器中创建并管理所有 SQL Server 数据库、对象、登录、用户和权限。在每个已注册的服务器上定义并执行所有 SQL Server 管理任务。通过唤醒调用 SQL 查询分析器,交互地设计并测试 SQL 语句、批处理和脚本。它支持中小型数据库,多用户的高性能和事物处理,支持分布式数据库和分布处理,能够实现安全性和完整性控
42、制,具有可移植性、可兼容性和可联结性,它具有良好的数据管理能力和良好的开发性。第三节 Powerbuilder 9应用程序开发的基本步骤我们要开发应用程序时,首先要对它进行分析。无论哪种、哪方面的应用程序,都要先建立一个应用对象。下面我们介绍以下PowerBuilder 9应用程序开发的基本步骤:(1)首先要建立应用对象。(2)创建窗口。在窗口里放置各种控件和编写事件响应的脚本。(3)创建菜单。窗口里的菜单可包括菜单条,下拉式菜单,级联菜单和弹出式菜单为菜单编写事件响应的脚本。(4)创建用户对象。如果想要重复使用某个控件的功能,可以把窗口上经常放置的控件定义为用户对象。(5)创建数据窗口。数据
43、窗口可以检索数据库中的数据,可以建立各种报或统计表,可以修改数据库。(6)创建函数、结构、事件。为了能够更好地支持脚本,编写自定义的函数,定义结构类型变量,也可以为对象和控件定义自己的事件。(7)运行与调试。可以在开发环境中随时运行应用程序,发现错误后,可以用调试工具进行调试。(8)当应用程序开发完毕后,可以把它编译成可执行的文件,让用户比较容易地建立应用系统的运行环境。第四节 编码规范在软件开发过程中 ,为了减少在软件开发过程中的错误,应该遵守一定标准。给对象命名要有一定的规范,部件名称可以达到40个字符,窗口的命名:W_功能代码_功能描述。数据窗口的命名:DW_功能代码_功能描述。菜单命名
44、:W_功能代码_功能描述。标识符命名时,应该使标识符有一定的字面含义,有助于程序的调试和脚本的可读性的提高。本系统中使用的命名规范为:变量作用域+变量类型+”_”+具有一定字面含义的名称。例如:li_selectrow反映出的含义:”l”代表是本地变量,是local的缩写,”i”代表是integer类型的变量,selectrow表示该变量是用来记录一个行号的计数器。第五节 创建祖先窗口和全局函数为充分利用PB的面向对象的特性。程序开发时一般创建几个模板窗口。将功能窗口上的某些常用功能封装在模板窗口中。然后将这些模板窗口作为祖先窗口。所有的子孙窗口都可以通过继承的方法来生成。这样就减少了代码的书
45、写量。使得整个程序界面保持整齐。当修改祖先窗口时,所有的子孙窗口都会自动修改。所以,祖先窗口的确定要十分谨慎。全局函数与局部函数的作用类似。唯一不同的是全局函数的作用域是整个程序周期。不论你在任何一个模块的代码中都可以调用它。所以我们可以把某些常用功能写成全局函数。在程序的其他地方反复调用。一、 函数setmenu(character lev)功能介绍:通过传入的gi_right值,将某些菜单项设为“非使能”,以限制某些功能的使用。gi_right值即不同职责的权限(读者-1、普通图书管理员1、高级图书管理员 2、 超级管理员3)。二、 函数countdaycountday (date date1,date date2)功能介绍:通过传入的date1(起始日期)值与date2(结束日期)值,计算出中间相差的天数,返回值为integer型。代码分析:int dayday=(integer(year(date2) - integer(year(date1)*365 +& (integer(month(date2) - integer(month(date1)*30 +& (integ