图书出纳管理系统.doc_第1页
图书出纳管理系统.doc_第2页
图书出纳管理系统.doc_第3页
图书出纳管理系统.doc_第4页
图书出纳管理系统.doc_第5页
免费预览已结束,剩余17页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

东华理工大学长江学院课程设计报告课程设计题目:图书出纳管理系统 学生姓名:张平丽班 级:083223专 业:信息管理与信息系统指导教师:郭树蕻 2011年 5 月 21日一、绪 论1.1图书管理系统简介当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书馆信息而设计的。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。基于这些问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。1.2系统设计目的和内容图书管理系统主要目的是对图书馆种类繁多的书籍进行管理,并且合理管理好用户的借还信息。提高图书馆的工作效率,降低管理成本。其开发主要包括后台数据库的建立和维护,以及前端应用程序的开发。前者要求建立起数据一致性各完整性强、数据安全性好的数据库。而后者则要求应用程序具有功能完备、易用等特点。因此本系统结合开放式图书馆的要求,采用.NET技术各SQL SERVER 2000数据库进行系统的开发。1.3系统需求分析1 书目查询管理:根据一定的条件对图书进行查询,并可以查看图书的详细信息,查询范围出版社、书名、作者等查询项目进行任意条件的组合查询。2 权限维护管理:系统管理员可以在此模块中,对已有的图书信息进行修改,并对用户信息进行管理。3、用户信息管理:用户登录该系统后,可以进行图书的借阅和归还操作,还可 修改密码、查询借阅信息等。1.4系统总体设计二、数据库简介2.1 SQL语言介绍2.1.1 SQL基础SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL通常使用于数据库的通讯。ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。使用SQL的常见关系数据库管理系统有:Oracle、 Sybase、 Microsoft SQL Server、 Access、 Ingres等等。虽然绝大多数的数据库系统使用SQL,但是它们同样有它们自立另外的专有扩展功能用于它们的系统。但是,标准的SQL命令,比如Select、 Insert、 Update、 Delete、 Create和 Drop常常被用于完成绝大多数数据库的操作。MS SQL Server 就是用的Transact- SQL。SQL语言有着非常突出的优点,主要是:1. 非过程化语言2. 统一的语言3. 是所有关系数据库的公共语言非过程化语言:SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集,所有SQL 语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。SQL不要求用户指定对数据的存放方法, 这种特性使用户更易集中精力于要得到的结果;所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引。统一的语言:SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户。SQL为许多任务提供了命令,其中包括:1.查询数据2.在表中插入、修改和删除记录3.建立、修改和删除数据对象 4.控制对数据和数据对象的存取5.保证数据库一致性和完整性以前的数据库管理系统为上述各类操作提供单独的语言,而SQL 将全部任务统一在一种语言中。所有关系数据库的公共语言:由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS(关系数据库管理系统)转到另一个,所有用SQL编写的程序都是可以移植的。一个成功的信息管理系统,是建立在许多条件之上的,而数据库是其中一个非常重要的条件和关键技术。信息管理系统所涉及的数据库设计分五个步骤:数据库需求分析、概念设计、逻辑设计、物理设计与加载测试。(1) 数据库需求分析的任务是将业务管理单证流化为数据流,划分主题之间的边界,绘制出DFD图,并完成相应的数据字典。(2) 概念设计的任务是从DFD出发,绘制出本主题的实体关系图,并列出各个实体与关系的纲要表。(3) 逻辑设计的任务是从E-R图与对应的纲要表出发,确定各个实体及关系的表名属性。(4) 物理设计的任务是确定所有属性的类型、宽度与取值范围,设计出基本表的主键,将所有的表名与字段名英文化(现在很多软件能支持中文字段,如MS SQL Server,我就是用的中文字段名),实现物理建库,完成数据库物理设计字典。(5) 加载测试工作贯穿于程序测试工作的全过程,整个录入、修改、查询、处理工作均可视为对数据库的加载测试工作。要设计出一个好的信息管理系统数据库,除满足系统所要求的功能外,还必须遵守下列原则:1 基本表的个数越少越好。2 主键的个数越少越好。键是表间连接的工具,主键越少,表间的连接就越简单。3 字段的个数越少越好。4 所有基本表的设计均应尽量符合第三范式。2.2 数据库系统设计数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。数据库设计的步骤是:(1) 数据库结构定义:目前的数据库管理系统(DBMS)有的是支持联机事务处理CLTP(负责对事务数据进行采集、处理、存储)的操作型DBMS,有的可支持数据仓库、有联机分析处理CLAP(指为支持决策的制定对数据的一种加工操作)功能的大型DBMS,有的数据库是关系型的、有的可支持面向对象数据库。针对选择的DBMS,进行数据库结构定义。(2) 数据表定义:数据表定义指定义数据库中数据表的结构,数据表的逻辑结构包括:属性名称、类型、表示形式、缺省值、校验规则、是否关键字、可否为空等。关系型数据库要尽量按关系规范化要求进行数据库设计,但为使效率高,规范化程度应根据应用环境和条件来决定。数据表设计不仅要满足数据存储的要求,还要增加一些如反映有关信息、操作责任、中间数据的字段或临时数据表。(3) 存储设备和存储空间组织:确定数据的存放地点、存储路径、存储设备等,备份方案,对多版本如何保证一致性和数据的完整性。(4) 数据使用权限设置:针对用户的不同使用要求,确定数据的用户使用权限,确保数据安全。三、数据库设计数据库设计有几个范式,一般我们要做到的是第三范式,即数据表中没有冗余字段以及同一个表中的字段没有函数依赖关系,冗余字段即在一个表中已经保存过的信息,在另一个表中就不应该存在,如果需要的话,可以通过表间的关联来得到,函数依赖性就是一个表中的字段间不应该有计算关系,如一个表中有单价字段、数量字段,就不应该有一个总金额字段。如果程序运行过程中需要总金额,可以实时计算。不过在一些较常用的表中,我们可以适当地保留冗余字段,这样,在程序运行过程中可以减少由于表间互相关联而使用速度降低等问题。这就是所谓的第四范式。数据表设计时,最好不要使用用户输入的信息作为主键,每一个数据表自己定义一个主键,添加信息是由程序自动添加,这样就可以减少数据更新时产生的错误。表与表相关联的外键最好是由程序自动生成的主键,这样数据库就比较规范了。另外,数据表设计时一般都应该有一些标志字段,标志字段可以定义成CHAR(1)或BIT型。建议实际应用中定义成CHAR(1)字段可以存储多种可能的状态,在最初设计时,可能我们没有考虑到的一些情况,在程序后来的开发中,可以通过设计标志字段为不同的 值来解决,这样就避免了修改数据库结构。数据库初期设计时一定要谨慎,把所有可能的情况都考虑进去,即使当时没有用到,也要将它留在数据库中作为备用字段以便将来扩充。程序一旦开始编码,就应该尽量避免再修改数据库。因为如果数据库结构一旦改变,所有与修改的数据表相关的业务都有可能受到影响,而某些影响还很难看到,这样就容易形成一个恶性循环。错误越改越多,越改越乱,最终导致程序的失败。PB的数据窗口与其他语言的数据控件不一样,它的很多东西是预编译的。即使你一个模块已经调试无误,但只要数据库结构改动。相应的模块就一定要重新修改,否则一定会出问题。图书借阅管理系统数据库中各个表的设计结果如下面几个表格所示。每个表格表示为数据库中的一个表。USER表:Warehouses表:Goods:Records:Store:四、开发语言简介4.1 ASP.NET简介ASP.NET不仅仅是下一版本的ActiveServerPage(ASP);它是统一的Web 开发平台,用来提供开发人员生成企业级Web应用程序所需的服务。ASP.NET的语法在很大程度上与ASP 兼容,同时它还提供一种新的编程模型和结构,用于生成更安全、可伸缩和稳定的应用程序。可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强该 ASP应用程序的功能。 ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和 JScript.NET.)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NET 框架。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。 ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio .NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI 和完全集成的调试支持。 在创建ASP.NET应用程序、Web窗体和Web 服务时,开发人员可以选择下列两个功能,或者以他们认为合适的任何方式将它们结合起来使用。每个功能都能得到同一结构的支持,使您能够使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义,这里只是列出几种可能性而已。“Web窗体”用于生成功能强大的基于窗体的Web页。生成这些页时,可以使用ASP.NET服务器控件来创建公共UI 元素,以及对它们进行编程以用于执行常见的任务。这些控件使您能够用可重复使用的内置或自定义组件生成Web窗体,从而简化页面的代码。有关更多信息,请参阅 Web窗体页。有关如何开发ASP.NET服务器控件的信息,请参阅开发ASP.NET服务器控件。XMLWebservices提供了远程访问服务器功能的途径。通过使用Web 服务,企业可以公开其数据或业务逻辑的编程接口,然后客户端和服务器应用程序就可以获得和操作这些编程接口。 这些模型中的每一个模型都可以充分利用所有ASP.NET功能,以及.NET框架和.NET 框架公共语言运行库的强大功能。这些功能以及使用它们的方法概述如下:如果您具有ASP开发技能,则新的ASP.NET编程模型对您来说将会是非常熟悉的。不过,与ASP相比,ASP.NET 对象模型变化显著,它更为结构化并且面向对象。但这也意味着ASP.NET不是完全向后兼容的;几乎所有现有的ASP页都必须经过一定程度的修改后才可以在ASP.NET下运行。此外,用VisualBasicScripting 版本编写的现有ASP页通常将不会直接移植到ASP.NET中。不过,在大多数情况下,只需对少数几行代码进行必要的修改。从ASP.NET应用程序访问数据库是向Web站点访问者显示数据的常用技术。ASP.NET使得为此目的而对数据库的访问比以往更加方便。它还使您能够从您的代码管理数据库。有关更多信息,请参阅通过ASP.NET访问数据。4.2 ASP.NET的几个特点:1、缺省语言 在ASP+中,将使用VisualBasic而不是VBScript为缺省语言。这意味着我们可以摆脱vbscript的语言限制,我们的代码将是编译后运行的(而不是原来的解释执行)。这意味asp+页面具有组件方式的性能。2、服务器端控件 Windows95 Windows98 WindowsNT4 Windows2000 加上runat=Server就变成服务器端控件 Windows95 Windows98 WindowsNT4 Windows2000 服务器端控件能在服务器端脚本中被自由运用传统的asp代码 IfLen(Request.Form(selOpSys)0Then strOpSys=Request.Form(selOpSys) strName=Request.Form(txtName) Response.Write(Youselected&strOpSys_ &formachine&strName&.) EndIf asp+代码 IfLen(selOpSys.value)0Then Response.Write(Youselected&selOpSys.value_ &formachine&txtName.value&.) EndIf 一个服务器端的form代码 MachineName: OperatingSystem: Windows95 Windows98 WindowsNT4 Windows2000 运行后将自动被解释成客户端代码 YouselectedWindows98formachinetizzy. MachineName: OperatingSystem: Windows95 Windows98 WindowsNT4 Windows2000 3、服务器端事件 服务器端控件具有事件,可以像操作客户端事件一样操作服务器端件,asp+自动翻译服务器端事件到客户端举例: onserverclick事件 SubShowValues(SenderAsObject,ArgsAsEventArgs) divResult.innerText=Youselected_ &selOpSys.value&formachine_ &txtName.value&. EndSub MachineName: OperatingSystem: Windows95 Windows98 WindowsNT4 Windows2000 五、图书管理系统的设计与实现5.1 登陆阶面的实现此阶面简单的设计了一控件。实现代码如下: 前台代码:图书管理信息系统用户名: 密码: 后台代码:protected void btn_login_Click(object sender, System.EventArgs e)/从文件Web.config中读取连接字符串string strconn= ConfigurationSettings.AppSettingsdsn;/连接本地计算机的WMS数据库SqlConnection cn= new SqlConnection (strconn);cn.Open ();/构造SQL语句,该语句在Users表中检查用户名和密码是否正确string mysql= select * from Users where Uid=+tbx_uid.Text +and UPassword=+tbx_upassword.Text +;/创建Command对象SqlCommand cm=new SqlCommand (mysql,cn);/执行ExecuteReader ()方法SqlDataReader dr=cm.ExecuteReader ();if(dr.Read ()lbl_message.Text= ;/保存当前用户名及用户权限Sessionuid=druid.ToString ();Sessionupower=drupower.ToString ();Sessionudep=drudep.ToString ();lbl_message.Text=欢迎您!+Sessionuid;if(Sessionupower.ToString ()=1)/进入仓库总管界面Response.Redirect (goodsmanage.aspx);else if(Sessionupower.ToString ()=2)/进入分仓库管理员界面Response.Redirect (goodsreserve.aspx);else if(Sessionupower.ToString ()=3)/进入仓库采购员界面Response.Redirect (orderlist.aspx);elselbl_message.Text =对不起,您的用户名/密码不正确,请重新输入;/关闭连接cn.Close();5.2 主阶面的实现此窗体是普通用户登陆的主窗体下面是超级用户进放时的主窗体:5.3 人员信息维护窗体5.4 出版社信息维护5.5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论