关闭

关闭

关闭

封号提示

内容

首页 ASP005图书管理系统的设计与实现.DOC

ASP005图书管理系统的设计与实现.DOC

ASP005图书管理系统的设计与实现.DOC

上传者: 诸葛不亮 2010-12-18 评分 0 0 0 0 0 0 暂无简介 简介 举报

简介:本文档为《ASP005图书管理系统的设计与实现doc》,可适用于IT/计算机领域,主题内容包含毕业设计论文我们拥有历届优秀的毕业设计余份并有三年的从事计算机专业毕业设计辅导的经验为广大毕业生解决了毕业难题也赢得了客户们的一致好评有需要购买毕业符等。

毕业设计论文我们拥有历届优秀的毕业设计余份并有三年的从事计算机专业毕业设计辅导的经验为广大毕业生解决了毕业难题也赢得了客户们的一致好评有需要购买毕业设计的同学请与我们联系!客服QQ:手机:(支持短信)我们有成品毕业设计(论文)余份出售也可以定做毕业设计(论文)价格面议!!摘要该图书馆信息管理系统严格按照软件工程的模式来进行设计,使用了ASP技术并采用MacromediaDreamweaverMX作为设计工具后台的数据库使用Access创建并使用了ADO方法来访问数据库。图书管理系统的设计方法比较多而利用ASP设计的比较少。而本次毕业设计就是希望通过ASP技术开发出交互功能更强的管理系统。系统使用了快速原型法来进行设计主要实现了管理员和读者两个模块管理员可以对图书进行管理和维护读者可以查阅书籍和自己的借阅信息等。系统发布之后管理员或读者就可以通过Web管理和访问数据库这样设计既有利于读者方便地操作也有利于管理员有效的管理。并且已经编码的脚本在运行时由脚本引擎解码增加了系统的安全性。总之此动态交互式的图书管理系统具有图书信息的动态管理功能在管理效率上有很大的提高基本上达到了设计目的。关键词:ASPADO快速原型法AbstractThislibrarymanagementsystemisdesignedstrictlyunderthemodeloftheSoftwareEngineeringScienceItusestheskillofASPanditsdesigntoolisMacromediaDreamweaversMXThebackgrounddatabaseiscreatedbyAccessandisaccessedbyADOmethodTherearemanydesigningmethodsofthelibrarymanagementsystem,butthatusingtheskillofASPisveryfewSotheaimofthisdesignisusingtheskillASPtodevelopamanagementsystemwithmorealternativeandhigherfunctionThesystemusesPrototypingMethodtobuildandrealizetwomainmoduleslibrarian’smoduleandthereader’sThelibrariancanmanageandmaintainbooksandthereadercansearchtheinformationofbooksandtheirownlendingmessagesAfterthesystemispublicized,thelibrarianandreadercanaccesstheWebsitethroughtheInternetformanagementorsearchInconclusion,thedesignmakesthereader’seasyoperationandmanager’sefficientmanagementAndthescriptengineerdecodestheencodedscriptwhileitisrunning,sothesafetylevelofsystembecomeshigherTosumup,thisdynamicalternativelibrarymanagementsystemhasthefunctionofdynamicmanagementofbooks,improvedtheefficiencyofmanagementandbasicallygottheaimofdesignKeywords:ASPADOPrototypingMethod目录TOCo""hzHYPERLINKl"Toc"文献综述与理论基础HYPERLINKl"Toc"ASP简介HYPERLINKl"Toc"ADO简介HYPERLINKl"Toc"脚本语言简介HYPERLINKl"Toc"VBScriptHYPERLINKl"Toc"JscriptHYPERLINKl"Toc"ASP与JSP、PHP的比较HYPERLINKl"Toc"ASPHYPERLINKl"Toc"JSPHYPERLINKl"Toc"PHPHYPERLINKl"Toc"数据库的基本概念HYPERLINKl"Toc"数据库系统的类型HYPERLINKl"Toc"数据库系统的结构HYPERLINKl"Toc"概述HYPERLINKl"Toc"设计目的HYPERLINKl"Toc"设计方法HYPERLINKl"Toc"设计思想HYPERLINKl"Toc"需求分析HYPERLINKl"Toc"背景概述HYPERLINKl"Toc"可行性分析HYPERLINKl"Toc"系统分析HYPERLINKl"Toc"总体设计HYPERLINKl"Toc"数据库设计HYPERLINKl"Toc"数据库的逻辑设计HYPERLINKl"Toc"后台数据库的配置HYPERLINKl"Toc"模块设计HYPERLINKl"Toc"详细设计HYPERLINKl"Toc"登录页面HYPERLINKl"Toc"主页面HYPERLINKl"Toc"借书页面HYPERLINKl"Toc"还书页面HYPERLINKl"Toc"浏览图书信息页面HYPERLINKl"Toc"图书信息查询页面HYPERLINKl"Toc"读者修改密码页面HYPERLINKl"Toc"结束语HYPERLINKl"Toc"致谢HYPERLINKl"Toc"参考文献HYPERLINKl"Toc"附录AHYPERLINKl"Toc"附录BHYPERLINKl"Toc"附录C文献综述与理论基础ASP简介ASP(ActiveServerPages)是一个服务器端的(Serverside)脚本执行环境,用户可用它产生和执行动态的、交互的、高性能的Web服务器应用程序。当脚本在服务器端而不是在客户端执行时,Web服务器将完成产生发往浏览器的HTML(HypertextMarkupLanguage)页的所有工作。ASP的工作模式是当浏览器向Web服务器提出文件(asp)的请求时,一个ASP脚本就开始执行,这时Web服务器调用ASP,把该文件全部读入并执行每一条命令,然后将结果以HTML页面形式送回浏览器。ASP的技术特点几年以前,业界在动态主页发布方面唯一的渠道是CGI(CommonGatewayInterface)模式。随后出现的ISAPI、NSAPI和JDBC等技术方案虽较CGI进步,但从企业网(Intranet)的技术现实来衡量,这些方案仍不适用于进行快速开发、及时维护和大面积的技术普及。ASP技术的出现,使动态交互式Web主页设计成为一件轻松愉快的工作。只要几行脚本语句,就能将后台的数据库信息发布到InternetIntranet上,在编程和网页脚本的可读性方面大大优于传统的技术方案。ASP是ActiveServerPages(动态服务器主页)的缩写,它是一个服务器端的脚本环境,在站点的Web服务器上解释脚本,可产生并执行动态、交互式、高效率的站点服务器应用程序。ASP可以胜任基于微软Web服务器的各种动态数据发布。从软件的技术层面看,ASP有如下的特点:>无需编译 ASP脚本集成于HTML当中,容易生成,无需编译或链接即可直接解释执行。>易于生成 使用常规文本编辑器(如WINDOWS下的记事本),即可进行*asp页面的设计。若从工作效率来考虑,不妨选用具有可视化编辑能力的VisualInterDev。>独立于浏览器 用户端只要使用可解释常规HTML码的浏览器,即可浏览ASP所设计的主页。ASP脚本是在站点服务器端执行的,用户端的浏览器不需要支持它。因此,若不通过从服务器下载来观察*asp主页,在浏览器端见不到正确的页面内容。>面向对象 在ASP脚本中可以方便地引用系统组件和ASP的内置组件,还能通过定制ActiveXServerComponent(ActiveX服务器组件)来扩充功能。>与任何ActiveXscripting语言兼容 除了可使用VBScript和JScript语言进行设计外,还可通过Plugin的方式,使用由第三方所提供的其它scripting语言。>源程序码不会外漏 ASP脚本在服务器上执行,传到用户浏览器的只是ASP执行结果所生成的常规HTML码,这样可保证辛辛苦苦编写出来的程序代码不会被他人盗取。从应用的层面看,ASP有如下的功能:>处理由浏览器传送到站点服务器的表单输入。>访问和编辑服务器端的数据库表。使用浏览器即可输入、更新和删除站点服务器的数据库中的数据。>读写站点服务器的文件,实现访客计数器、座右铭等功能。>提供广告轮播器、取得浏览器信息、URL表管理等内置功能。>由cookies读写用户端的硬盘文件,以记录用户的数据。>可以实现在多个主页间共享信息,以开发复杂的商务站点应用程序。>使用VBScript或JScript等简易的脚本语言,结合HTML码,快速完成站点的应用程序。通过站点服务器执行脚本语言,产生或更改在客户端执行的脚本语言。>扩充功能的能力强,可通过使用VisualBasic、Java、VisualC等多种程序语言制作ActiveXServerComponent以满足自己的特殊需要。ASP方法与传统静态主页的区别把信息系统纳入InternetIntranet的框架之后,首先要解决的问题是通过网页访问后台数据库信息。所有应用程序都被分割为页面的形式,用户的交互操作是以提交表单等方式来实现的,这就要求Web站点具有很强的动态数据发布能力。然而,目前Web的服务,仍以提供"静态"主页内容为主。所谓"静态",指的就是站点的主页内容是"固定不变"的,无法根据用户的需求和实际情况做出相应的变化。当浏览器通过Internet的HTTP协议向站点的Web服务器申请主页时,站点服务器就会将已设计好的静态的HTML文件传送给浏览器。若要更新主页的内容,只能用非在线的手动方式更新HTML的文件数据。ASP所设计出的是动态主页,可接收用户提交的信息并做出反应,其中的数据可随实际情况而改变,无须人工对网页文件进行更新即可满足应用需要。例如:当在浏览器上填好表单并提交HTTP请求时,可以要求在站点服务器上执行一个表单所设定的应用程序,而不只是一个简单的HTML文件。该应用程序分析表单的输入数据,根据不同的数据内容将相应的执行结果(通常是数据库查寻的结果集)以HTML的格式传送给浏览器。数据库的数据可以随时变化,而服务器上执行的应用程序却不必更改,客户端得到的网页信息会始终保持新鲜的魅力。ASP与组件对象的使用在利用ASP技术进行动态Web开发的时候,应遵循这样一个原则:即ASP的服务器端脚本必须与微软倡导的组件对象(ComponentObjectModel)配合使用才能开发出具有实用价值的信息产品。ASP脚本相当于一种粘合剂,把一个个具有特定功能的组件对象粘合在一起,以形成最终的软件产品。这一软件制作的工艺思想类似于硬件工厂生产板卡的过程,那一个个的组件对象就相当于集成电路的芯片,而ASP脚本只是焊接芯片的焊接剂,由此可见组件对象起着核心作用。组件对象模型COM是微软提出的一种基于二进制的Windows软件标准,它是由OLE技术逐渐发展而来的。在使用不同语言工具写成的组件对象之间,依据COM的标准可以进行交互。COM是技术概念和标准,其商业概念的称谓则使用ActiveX。上文提到的ADO就是系统提供的用于访问后台数据库的组件。此外,ASP本身还提供了五个内置的对象。这五个内置对象可被ASP脚本直接使用,它们是:> Request   取得用户信息> Response  传递信息给用户> Server   提供访问服务器的方法和属性> Application 在一个应用程序的多个主页之间保留和使用某些共同的信息> Session   在一个用户的多个主页之间保留和使用某些共同的信息其中,使用内置对象、可实现Web的交互功能,使用内置对象、可解决具有协作机制的应用问题。ASP的一大特色,是可以用来编写具有协作机制的应用程序,在多个用户的多个主页之间共享信息。使用内置的Application和Session对象可实现这些功能。Application对象保存一个应用程序共同的信息,使用此应用程序的所有用户都可以共同分享。为防止其被多个用户同时更改,提供lock和unlock方法来实现互斥,例如:Applicationlock 禁止其他用户更改Application的信息Applicationunlock允许其他用户更改Application的信息。Session对象比Application对象的使用外延范围小,它保存仅属于一个用户的一个应用程序的信息。ASP的应用程序可以只有一个首页,也可以有多个主页文件,所有的文件均位于一个虚拟路径下。Session对象可让同一个用户在多个主页之间共享信息。当用户第一次在一个应用程序中申请一个*asp主页时,ASP将为该用户分配一个SessionID号,它将唯一地标识用户的身份,从而能将同一应用程序的不同用户区分开来。  根据需要还可以自行定制具有某些特色的组件对象,以完成特殊的任务。用VisualBasic、VisualC、Delphi和Java等语言都可以编写。自制的组件对象分成两类:  一是由类打包而成的*dll文件,经注册器注册后,在ASP脚本中可通过"Set对象名=类名"来引用。对象在这种使用过程中是在服务器的后台运行的,其运行的结果通过系统自动生成的HTML作用到前端浏览器。  二是生成*ocx文件,一般用作可视化的对象ActiveX,可直接将其嵌入*asp主页中,在页面中插入时需使用HTML语言的标记加以引用。通常构件制作完成并按下载的要求打包后生成*cab文件。对象在这种使用方式下要先从服务器下载,然后在客户的前端浏览器运行。在第一次下载时被展开成相关的*dll和*ocx文件进行本地安装及注册。以后再使用时,就可直接从本地获得,免去了下载之苦,这也是ActiveX优于JavaApplet的地方。从长远来看,ASP和组件对象的配合使用无疑是一种引人入胜的新技术,更重要的是由此而提出了一种全新的软件设计方法,把硬件的工艺思想恰如其分地融合于软件的面向对象的分析、设计和施工之中,使面向对象的概念和方法从工具语言的层次一下子跃上了系统的应用层,在快速开发多层的客户服务器分布式应用系统中将会产生极好的效果。ADO简介ActiveX数据对象ADO(ActiveXDataObject)是一个ASP内置的ActiveX服务器组件(ActiveXServerComponent),用于数据库访问,可把它与ASP结合起来,建立提供数据库信息的网页内容,对数据库进行查询、插入、更新、删除等操作。要执行ADO,服务器端必须安装Windows NT Server和Internet InformationServer(IIS),而客户端只要有IE或Netscape较新版本的浏览器即可。实现Web数据库访问大致可分为两类,一类是以Web服务器作为中介,把浏览器和数据源连接起来,在服务器端执行对数据库的操作另一类是把应用程序和数据库下载到客户端,在客户端执行对数据库的访问。公共网关接口CGI(CommonGatewayInterface)当浏览器发出HTTP请求时,Web服务器执行相应的应用程序,访问站点数据库,并将查询结果以HTML格式送回到浏览器。这种方式有很多缺点,功能有限、开发困难,且不具备事务处理(Transaction)功能,这在很大程度上限制了它的应用。Internet数据库连接器IDC(InternetDatabaseConnector)这是一种简易方案,对数据库的操作仍然放在Web端,但用户可通过SQL(StructuredQueryLanguage)语句对数据库进行查询、输入、更新、删除等操作。IDC设计简易,不用编译就可直接执行,且支持对数据的多重查询(MultipleQuery)。先进数据库连接器ADC(AdvancedDataConnector)前两种方案中对数据库的操作都是在服务器端进行,而ADC是在浏览器端执行数据查询动作。当浏览器提出对数据库的操作请求时,ADC先将相应的数据库下载到浏览器端,在用户端对数据库进行操作。显然,这种方案效率很高。客户端对数据库的查询是由安装在客户端的ADCActiveXControl完成的,而这个ActiveXControl是由站点服务器自动下载并安装在客户端的。ADO与ASP这是一种完全的Web数据库访问方案,可把ADO与ASP结合起来,建立提供数据库信息的网页内容,在网页中执行SQL命令,对数据库进行查询、插入、更新、删除等操作。ADO中可用VBScript、JavaScript语言来控制数据库的访问(而ASP恰恰是脚本语言的解释环境)和查询结果的输出ADO中使用RecordSets对象对数据库进行操作可以连接多种支持ODBC的数据库。访库的技术实现方法ADO(ActiveXDataObjects)是一组优化的访问数据库专用对象集,为ASP提供了完整的站点数据库访问解决方案。它可作用于服务器端,以提供含有数据库信息的主页内容。通过执行SQL命令,让用户在浏览器画面中输入、更新和删除站点服务器的数据库信息。ADO使用内置的RecordSets对象作为数据的主要接口。ADO可使用VBScript、JScript语言来控制对数据库的访问,以及查询结果的输出显示。ADO可连接多种支持ODBC的数据库,如SQLServer、Oracle、Informix等。在使用时,首先需在控制面板的ODBC中建立相应的DSN(数据源名)。要选择系统数据源名,指定所用的驱动程序,如"SQLServer",在数据来源名称中输入DSN名,并选定服务器和数据库。使用ADO访问数据库的设计要领是掌握ASP脚本的几个典型语句,它们是:>定义数据库组件。有两种定义方法:使用"ServerCreateObject"建立连接的对象。SetConn=ServerCreateObject("ADODBConnection")使用标记建立记录集的对象。SetRS=ServerCreateObject(“ADODBRecordSets”)>用"Open"打开待访问的数据库:ConnOpen"DSN名称">设定SQL语句,使用"Execute"命令,即可开始执行访问数据库的动作:Set RS=ConnExecute("SQL语句")其中RS为结果集对象(RecordSets)。>利用RecordSets对象所提供的属性显示查询结果>关闭结果集对象,断开与数据库的连接:RSCloseConnClose脚本语言简介VBScriptMicrosoftVisualBasicScriptingEdition是程序开发语言VisualBasic家族的最新成员它将灵活的脚本应用于更广泛的领域包括MicrosoftInternetExplorer中的Web客户机脚本和MicrosoftInternetInformationServer中的Web服务器Script。VBScript使用ActiveX(R)脚本与应用程序对话。使用ActiveXScript浏览器和其他应用程序不再需要每个脚本部件的特殊集成代码。ActiveX脚本让用户可以编译Script、获取和调用入口点及管理开发者可用的命名空间。通过ActiveXScript语言厂商可以建立标准脚本运行时语言。Microsoft将提供VBScript的运行时支持。Microsoft正在与多个Internet组一起定义ActiveX脚本标准以使脚本引擎可以互换。ActiveX脚本可用在Microsoft(R)InternetExplorer和Microsoft(R)InternetInformationServer中。VBScript的数据类型只有一种称为Variant。Variant是一种特殊的数据类型根据使用的方式它可以包含不同类别的信息。因为Variant是VBScript中唯一的数据类型所以它也是VBScript中所有函数的返回值的数据类型。最简单的Variant可以包含数字或字符串信息。Variant用于数字上下文中时作为数字处理用于字符串上下文中时作为字符串处理。这就是说如果使用看起来象是数字的数据则VBScript会假定其为数字并以适用于数字的方式处理。与此类似如果使用的数据只可能是字符串则VBScript将按字符串处理。当然也可以将数字包含在引号("")中使其成为字符串。JscriptJScript是Microsoft公司对ECMA语言规范的一种实现。JScript完全实现了该语言规范并且提供了一些利用MicrosoftInternetExplorer的功能的增强特性。本教程的目的就是引导您学习使用JScript。JScript是一种解释型的、基于对象的脚本语言。尽管与诸如C和Java这样成熟的面向对象的语言相比JScript的功能要弱一些但对于它的预期用途而言JScript的功能已经足够大了。JScript不是任何其他语言的精简版(例如它只是与Java有点模糊而间接的关系)也不是任何事物的简化。不过它有其局限性。例如您不能使用该语言来编写独立运行的应用程序并且该语言读写文件的功能也很少。此外JScript脚本只能在某个解释器上运行该解释器可以是Web服务器也可以是Web浏览器。JScript是一种宽松类型的语言。这意味着您不必显式定义变量的数据类型。此外在大多数情况下JScript将根据需要自动进行转换。例如如果试图将一个数值添加到由文本组成的某项(一个字符串)该数值将被转换为文本。ASP与JSP、PHP的比较ASPASP是到现在开发人群中应用最广的一个技术ASP更精确的说是一个中间件这个中间件将Web上的请求转入到一个解释器中在这个解释器中将所有的ASP的Script进行分析再进行执行而这时可以在这个中间件中去创建一个新的COM对象对这个对象中的属性和方法进行操作和调用同时再通过这些COM组件再完成更多的工作。所以说ASP强大的不在于它的VBScript而在于它后台的COM组件这些组件来无限的扩充了ASP的能力。优势:、简单易学。Basic有谁不会?很少会有人举手所以有人在说这个开发基础是最广的。而且MS有一向做的非常好的联机手册本地化语言的帮助同时非常快的出现教学书籍这样会大大方便开发人员的学习和对技术的深入研究。、安装使用方便。装好一个Windows只要你安装了IIS那么ASP就可以使用了从没有什么需要你花心思去配置的。、开发工具强大而多样。ASP开发工具的多样化同时它们的功能也很强这一点已经被许多程序员所津津乐道。易用、简单、人性化这本就是微软的强项。、效率高。在低的访问量下ASP能体现出一定的效率这时它对机器的要求并不高。不足之处:、Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性(WinK已经不再支持Alpha了)都会因为与NT的捆绑而显现出来。、ASP由于使用了COM组件所以它会变的十分强大但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意那么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失。、由于ASP还是一种Script语言没除了大量使用组件外没有办法提高其工作效率。它必须面对即时编译的时间考验同时我们还不知其背后的组件会是一个什么样的状况。、无法实现跨操作系统的应用。、还无法完全实现一些企业级的功能:完全的集群、均横负载。JSPJSP简单的说就是Java只是它是一个特别的Java语言加入了一个特殊的引擎这个引擎将HTTPServlet这个类的一些对象自动进行初始化好让用户使用而用户不用再去操心前面的工作。同时这个引擎又引入了<JSP:*、<等一系列的特别语法使用这些语法来进行一些特定的操作如引用文件、URL转向、JavaBean引用等这样的操作这些都是由引擎自动完成初始化的工作。可以将这个引擎看作一个JSP到JavaServlet的生成器或是翻译器让用户不用再面对复杂的Servlet中的还没开始工作就要写的几十行代码。这就是JSP一个JavaServlet生成器。优势:、一处编写随处运行。这是一个程序员的梦想也是从前的程序员的噩梦为了在不同的平台间运行使许多程序员一行行的重写代码。在这一点上java已经给了我最完美的答案它做的要比PHP更出色除了系统之外代码不用做一点更改的。、系统的多平台支持。javaservletJSPWebServerApplicationServer……系统它可以让你在任意环境做开发在任意环境进行系统部署在任意环境扩展相比ASPPHP的局限性是显面易见的。、强大的可伸缩性。从只有一个小的jar文件就可以运行servletJSP到由多台服务器进行集群和均横负载到多台Application进行事务处理、消息处理一台服务器到无数以服务器Java显示了一个巨人的生命力。、多样化和功能强大的开发工具支持。这一点与asp很像java已经有了许多非常优秀的开发工具而且有许多可以免费得到并且其中的许多已经可以顺利的运行于多种平台之下。不足之处:、与ASP一样Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能为了极度的伸缩能力所以极大的增加了产品的复杂性。、运行的速度慢。、技巧还是技巧。一个短处就一定要付出代价的。Java的运行速度是用将class常驻内存来完成的所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。另一方面来说它还需要硬盘空间来存储一系列的java文件和class文件以及对应的版本文件。PHP如果说ASP是一个COM那么可以说PHP是一个纯粹的Script翻译器。优势:、一种能快速学习、跨平台、有良好数据库交互能力的开发语言。ASP比不上它的就是这种跨平台能力了而正是它的这种能力让UnixLinux有了一种与ASP媲美的开发语言。语法简单、书写容易、现在市面上也有了大量的书同时Internet上也有大量的代码可以共享对于一个初学者想学些“高深的Unix”下的开发来说是一个决好的入手点。、与Apache及其它扩展库结合紧密。PHP与Apache可以以静态编译的方式结合起来而与其它的扩展库也可以用这样的方式结合(除外的就是Windows平台了)。这样的方式的最大的好处就是最大化的利用了CPU时和内存同时极为有效的利用了apache的高性能的吞吐能力。同时外部的扩展也是静态联编从而达到了最快的运行速度。由于与数据库的接口也使用了这样的方式所以使用的是本地化的调用这也让数据库发挥了最佳效能。、良好的安全性。由于PHP本身的代码开放所以它的代码在许多工程师手中进行了检测同时它与apache编译在一起的方式也可以让它具有灵活的安全设定。所以到现在为止PHP具有了公认的安全性能。不足之处:、数据库支持的极大变化。由于PHP的所有的扩展接口都是独立团队开发完成的同时在开发时为了形成相应数据的个性化操作所以PHP虽然支持许多数据库可是针对每种数据库的开发语言都完全不同。这样形成针对一种数据库的工发工作在数据库进行升级后需要开发人员进行几乎全部的代码更改工作。而为了让应用支持更多种的数据库就需要开发人员将同样的数据库操作使用不同的代码写出n种代码库出来让程序员的工作量大大增大。、安装复杂。由于PHP的每一种扩充模块并不是完全由PHP本身来完成需要许多外部的应用库如图形需要GD库、LDAP需要LDAP库……这样在安装完成相应的应用后再联编进PHP中来。这也就是说一定要在FreeBSDLinuxUnix下运行PHP的原因。只有在这些环境下才能方便的编译对应的扩展库。这些都是一般开发人员在使用PHP前所先要面对的问题正是这样的问题让许多开发人员转而使用其它的开发语言毕竟Unix没有那么多的用户。数据库的基本概念什么是数据库系统简单地说数据库系统是一种计算机化的数据保存系统它以特有的数据存储方式将相关的数据内容整合在一起。我们可以将数据库本身想成是一个电子档案柜在这个电子档案柜内存放着一些电子数据文件。数据库系统主要的目的在于维护信息并在必要时提供协助取得这些信息。数据库系统的类型数据库系统被使用的范围非常广泛从一般的微电脑到大型主机都可以使用。一般来说大型主机多倾向于使用多用户的数据库系统而一般的微电脑、个人计算机则倾向于使用单用户数据库系统。这里所谓的单用户数据库系统是指同时最多只能有一个用户存取数据库的内容而多用户数据库系统则允许多个用户同时存取数据库的内容。数据库系统的种类非常多目前以关系型(Relational)数据库系统最为常见所谓的关系型数据库系统是以表(Table)的类型将数据提供给用户而所有的数据库操作都是利用旧的表来产生新的表。除了关系型数据库系统外其他常见的数据库系统类型还有InvertedListHierarchicNetwork等数据库系统。数据库系统的结构不同的数据库系统有着不同的系统结构毫无疑问一个数据库结构并不能完全用于所有的数据库系统在这里我们以被广泛认同的数据库结构ANSISPARC结构来进行说明。ANSISPARC结构在ANSISPARC结构中将数据库分为内部层(InternalLevel)、概念层(ConceptualLevel)以及外部层(ExternalLevel)等三层如图所示。图数据库结构图内部层是最接近数据库实体存储位置的一层与数据库数据实际存储方式有关在内部层中以具体的方式来表示整个数据库。外部层是最接近用户的部分与用户对数据的查看方式有关在外部层中以用户看得懂的方式来表示部分数据库的内容每个用户所查看的数据内容不同。概念层位于内部层与外部层之间以用户看得懂的方式来表示整个数据库提供每个用户一致的数据查看内容。不管是使用哪一种数据库系统都只会影响到ANSISPARC结构的外部层以及概念层内容而与内部层无关。例如对于关系型数据库系统而言在概念层中所看到的数据一定是以关系型的形式存在在外部视域中所看的数据有可能会以关系型的形式存在至于在内部层中的数据则一定不会是以关系型的形式存在。Mapping对应在图的详细结构图中可以发现在内部层与概念层之间以及概念层与外部层之间各有一个对应(Mapping)存在分别对应着上下两层的内容。图数据库详细结构图概念内部对应(ConceptualInternalMapping)位于概念层与内部层之间定义数据库的概念视域内容与实际存储内容之间的对应关系。如果改变了数据库的存储结构只要在这个对应中修改对应的内容就可以了而不需要改变概念视域与外部视域的内容。外部概念对应(externalconceptualmapping)位于外部层与概念层之间定义特定外部视域与概念视域的对应关系也就是定义外部视域所查看的部分数据库内容与整个数据库之间的关系。概述设计目的图书管理系统是目前计算机应用的最重要的方面之一通过对图书管理系统的开发一方面可以锻炼开发者软件开发的能力、增强实际应用能力另一方面设计一个简易的图书管理系统用于图书管理对于图书馆管理员来说无疑是一项具有重要意义的事务。本系统采用ActiveServerPages(动态服务器主页)来设计的通过交互的WEB应用技术的学习提高对BS系统的应用能力。设计方法系统采用快速原型法进行开发即在分析阶段提取和分析用户的需求后根据用户需求快速构造一个用户系统和工作模型利用模型与用户交流在交流中按用户的要求再对原型进行修改从而逐步确认直到目标系统的实现。其开发过程可概括为:设计思想图书管理系统的开发设计是从以下几点考虑的:实用性:为读者提供图书检索与为管理员提供方便的图书管理环境操作简单:系统应该适用于不同水平的使用者操作简易代码可读性:便于系统的维护和更新应用ASP技术实现动态远程管理系统的结构如图所示多数页面都是通过ASP脚本程序直接访问数据库和文件系统。图系统结构图需求分析对于软件开发人员来说他所设计的软件是否成功不仅仅取决于该软件能否正常运行更重要的是看它能否更好地满足用户的需求。因此在设计这个图书管理系统之前进行需求分析是非常必要的。背景概述随着信息时代的到来人们对信息的需求越来越大对信息处理的需求也越来越高。但是由于管理方式的不当处理数据的能力有限工作效率低各种图书信息不能得到充分的利用造成极大的浪费使得图书管理工作相对落后。解决这些问题的最好方法是实现管理的自动化用计算机处理来帮助人们进行图书管理。利用计算机中最为友好、最为方便的Windows界面进入系统使用鼠标、键盘轻松地完成数据的录入、浏览、查询等操作。可行性分析在开发任何一个系统之前都要对系统开发的可行性进行分析目的是为了避免盲目投资减少不必要的损失。可行性分析是在对当前系统有了初步了解的基础上完成的主要从技术、经济和社会三个方面分析讨论开发系统的可行性。技术可行性是指在现有技术条件下能否满足所提出的系统开发要求根据现有的计算机软硬件性能、环境条件、辅助设备、基础管理、技术人员的开发能力等方面来衡量现有技术条件能否达到系统目标所提出的要求。经济可行性是根据系统的要求要实现系统的功能需要投入多少人力和物力资源投入多少资金从经济上分析工程是否合算可行。社会可行性是一些社会或人的因素对系统的影响也就是说在具体的社会环境下系统能否按照既定的设计方案顺利运转起来社会可行性是人员、体制、社会环境所形成的限制条件进行研究了解他们可能对目标系统建立所造成的影响。从上面介绍的情况可以看出开发图书管理系统实现图书管理的计算机化是非常必要的也是可行的。因为使用计算机化的图书管理系统可以彻底改变管理工作的现状能提高工作效率能够提供更准确、及时、实用的信息能够从根本上解决图书管理中信息滞后、资源浪费等问题。系统分析第一步:对图书管理系统进行详细调查了解图书管理的处理流程。图书管理系统的流程一般是这样的图书管理分为两个模块管理员和读者模块。管理员对新办图书证的读者进行登记对新近购买的图书进行编号、入库并进行日常的书籍维护。管理员还要为读者提供借书、还书的服务。读者可以通过读者服务模块进行图书信息查询、读者信息的查询查看图书馆的图书信息等。第二步:抽象出图书管理系统的逻辑模型画出ER图。如图所示:NNNMM图ER图第三步:画出“做什么”的数据流程图。如图所示:图系统数据流图总体设计数据库设计数据库的逻辑设计根据前面的需求分析和设计的实际情况数据库中设定了超级管理员表、管理员表、图书信息表、借出图书表、未借图书表、借阅历史表等。按照数据库规范化设计的原则检查这些表可以看出表中的信息没有数据冗余也没有传递依赖符合规范化原则。设计的部分表格分别如下文所示。超级管理员表表超级管理员表字段名称数据类型说明姓名文本主键不能为空工作证号文本主键不能为空密码文本非空以姓名和工作证号两个字段为主键。设计中考虑到超级管理员的姓名、工作证号和密码都是字符串类型所以它们的数据类型都设计为“文本”型。管理员表表管理员表字段名称数据类型说明工作证号文本主键不能为空身份证号文本非空姓名文本非空密码文本非空在岗否是否是否以管理员的工作证号为主键。字段属性“在岗否”反映管理员的在岗情况。假如有管理员调离工作岗位的或有新的管理员进岗的可以通过这个字段来反映。字段的数据类型设为“是否”型。图书信息表表图书信息表字段名称数据类型说明书号文本主键不能为空书名文本非空作者文本非空出版社文本非空出版日期日期非空馆藏文本非空备注文本借出可借以图书的编号为主键即使三本同样的书但书的编号不同这样设计使得图书入库操作变的简便。字段“出版日期”的类型设为“日期”型。图书借出表表图书借出表字段名称数据类型说明书号文本主键不能为空书名文本非空读者证号文本主键不能为空借出日期日期主键不能为空应还日期日期非空以图书的编号、读者证号和借出日期为主键。这样设计是考虑到同一本书可以被许多人借同时一个人可以在不同的时间借同一本书或其他的书。未借图书表表未借借出表字段名称数据类型说明书号文本主键不能为空书名文本非空作者文本非空出版社文本非空馆藏否是否是否可借否是否可借借出类似于图书信息表的设计以图书的编号为主键。后台数据库的配置本系统是在WindowsXPProfessional下开发的采用的后台数据库是Access数据库服务器和Web服务器配置在同一台计算机上并配置了ODBC的系统数据源。具体配置步骤如下:新建一个空数据源取名为librarymdb在librarymdb中建立各项表格建立一个ODBC数据源名称为library,指向librarymdb步骤如下:首先选择“控制面板”中的“ODBC数据源管理”选项选择“系统DSN”选项卡单击“添加”按钮如图所示:图选择系统DSN然后在“创建新数据源”窗口中选择“MicrosoftAccessDriver(*mdb)”作为数据库驱动程序然后单击“完成”按钮如图所示:图选择驱动程序在“ODBCMicrosoftAccess安装”窗口中数据源名称为“library”这是ASP程序中将要引用的。单击“选择”按钮从弹出的文件窗口中选择librarymdb文件所在的位置其他选项都不变如图所示:图选择数据库单击“确定”按钮这样就完成了Access数据库的ODBC数据库设置。模块设计模块是数据说明、可执行语句等程序对象的集合是单独命名的而且可通过名字来访问如过程函数、子程序、宏等都可作为模块。模块化就是把程序划分为若干个模块将系统的总功能分为若干个子功能最后把这些子模块综合起来组成一个整体完成指定的功能满足问题的要求。根据前面对需求的分析依据系统功能设计原则图书管理系统的功能模块划分如图所示:图系统功能模块超级管理员作为图书管理系统的系统管理员具有以下功能:对系统的维护增添管理员、删除管理员对整个图书管理过程的管理管理员图书管理系统的管理员具有以下功能:书目的维护包括增添新书、图书信息的更新等图书的管理主要是借书、还书读者的管理增添读者信息、删除读者信息读者对所有馆藏图书的查询对自己的相关信息查询修改密码等详细设计登录页面如图所示:图超级管理员登录页面此模块涉及到的部分ASP文件如下:defaulthtm登录表单页面。超级管理员进入系统时首先访问的是defaulthtm页面。在该页以前的登录身份信息将被清除无论以前用户是否正确登录都需要在该页重新输入用户名和密码。当输入有错误的时候通过logonasp后台页面进行检查显示提示信息“用户名或密码有误请重新输入!”。后台的服务流程如图不符符合图管理员登录流程图主页面这个页面是管理员和读者进入系统的窗口。它由两个部分组成htm和bookrightasp。整个页面是通过一个框架来格式的位于顶部的htm在所有网页浏览中可见下面的bookrightasp页面随着浏览的位置不同而变化。bookrightasp的左边是管理员和读者的登录窗口右边是一个向上滚动的信息栏用于向读者显示最新的有关图书馆和图书的信息。右下角是一个动态的电子时钟既美化了页面又及时的提醒读者HowTimeGoesBy!如图所示:图主页面借书页面如图所示:图借书页面管理员通过输入书号、书名、读者证号,提交给lendcheckasp页面系统首先根据输入的信息到数据库中的“管理员信息”表进行检索执行SQL语句“select*from管理员where工作证号like'"name"'”。如果输入的书号、书名、读者证号分别存在于图书信息表和读者信息表中则进行判断。若图书已经借出还没有还回到图书馆中去那么显示提示信息“图书已经借出”否则通过lendcheckasp进行图书借出的相关操作。借书页面命名为lendbookasp在该页面中应用了CSS来控制整个页面。书号、书名和读者证号的输入框分别命名为“bookname”、“bookname”、“duzhe”类型均设为“text”,样式设为“input”。“借书”和“重填”按钮的样式设为“button”,“借书”的类型为“submit”,“重填”的类型为“reset”。当书号、书名或读者证号的输入框为空时按下“借书”按钮就会调用一个Jscript脚本这样就保证了图书能够正确无误的借出。同时在lendcheckasp中设定图书的“备注”属性为“借出”。这样管理员或读者在浏览信息时就可以清楚的了解图书的借阅情况。流程如图所示:图借书流程图还书页面如图所示:图还书页面还书窗口相对来说比较简单只需要提供书号和读者证号。这是因为在数据库中图书信息表是以“书号”为主键读者信息表是以“读者证号”为主键并且图书的借出窗口以及后台的lendcheckasp页面保证了图书的正确借出。当输入书号和读者证号后按“还书”按钮提交到Restorecheckasp页面。在restorecheckasp中首先执行SQL语句“select*from图书借出where书号like'"shuhao"'and读者证号like'"duzhe"'”当返回值为时系统提示错误返回值为时执行SQL语句将借书记录插入到图书借阅历史然后删除图书借出表中的图书借出信息最后更新图书信息表中“备注”属性。流程如图所示:图还书流程图浏览图书信息页面如图所示:图浏览图书信息页面管理员除了对图书的借出和归还进行管理还要对所有图书的信息有一个整体的把握以便为图书管理提供决策。这就需要对所有的图书进行信息的浏览也因此在系统中给出了这个页面。首先是对图书信息表的一次查询“select*from图书信息”并返回记录中的相关字段如<=rs("出版日期")>等再通过循环语句<rsmovenextloop>分别显示每条记录。图书信息查询页面如图所示:图图书信息查询页面系统为读者提供了模糊查询书籍的功能。如果输入内容为空系统将显示提示信息“查询内容不能为空”调用的脚本为:<SCRIPTlanguage=javascript>f

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +2积分

资料评价:

/65
2下载券 下载 加入VIP, 送下载券

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部