图书馆管理信息系统
以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
资料介绍:
系统创新部分以及一些特点
1)首先本软件是基于.net平台构建的,这是以前从未有过的。
2)软件很好的解决了一个关于时间冲突的问题。
时间冲突问题阐述如下:
图书馆管理信息系统是一个网络版的系统,其运作方式是有一台主数据服务器、还有若干个负责各项功能的客户端。举个例子:图书馆可能有若干台客户端电脑用于还书管理、还可能有若干台用于借书管理、还可能有若干台用于图书、读者信息维护等。因为每台电脑的系统时间可能会发生改变,这就会造成数据错误。比如张某于2月10日在负责借书的A号电脑上借了一本书,可能A的系统时间被误设定为2月5日。如果张某的最大借书时间为一个月,则他应该还书的时间就被误设定为3月5日。
笔者在开发过程中也参考了一些相关的图书馆软件,发现有的系统根本没有注意到这个问题。有的是在软件客户端设定一个时间校准的提示或者干脆就手工输入时间。这样无疑给操作人员增加了负担,而且校准还不一定正确。
在本系统中,所有的时间都是基于服务器时间的。即软件中必要的与时间有关的操作。都采用标准的T-SQL函数GETDATE()从数据服务器返回时间。这就避免了功能上的错误,也避免了给操作人员带来的不必要负担。
3)用ADO.NET的开放式并发进行并发控制
在图书馆系统的使用过程中,可能同时有多台客户机在操作同一个数据行。比如负责修改图书信息的A号电脑正在修改编号为XXX的书籍,而编号为B的电脑正试图删除编号为XXX的书籍。这样做肯定会有一些冲突,这就要讨论并发控制。
当多个用户试图同时修改数据时,需要建立控制机制来防止一个用户的修改对同时操作的其他用户所作的修改产生不利的影响。处理这种情况的系统叫做“并发控制”。
在以前的编程模型中,大多使用保守式并发控制,即在从获取记录直到记录在数据库中更新的这段时间内,该行对用户不可用。ADO.NET的数据集DataSet是一个断开式的模型,不适合保守式并发。在我所编写的图书馆管理信息系统中,使用了开放式并发控制(参见附录中我翻译的英文文章),即只有当实际更新数据时,该行才对其他用户不可用。更新将在数据库中检查该行并确定是否进行了任何更改。如果试图更新已更改的记录,则将导致并发冲突。
4)全部数据层都基于存储过程构建
使用存储过程,可以减少网络流量,提高程序的速度以及安全性。具体内容请参见笔者文章里对存储过程的研究讨论。
3 系统设计过程及原理阐述
管理信息系统(以下简称MIS)服务于现代化的企事业管理,是提供企事业工作效率和经济效益的计算机网络系统。 本文来自think58 [来源:http://www.think58.com]
管理信息系统涉及的因素非常多、非常复杂,开发起来具有一定的难度。如果掌握了一套行之有效的开发方法,以及把握好MIS开发中的重点,开发中就可以大量的解约人力、财力等。
我个人经过大量的研究、实践。认为在MIS开发中,首先数据库技术是MIS开发中的重要技术。数据库开发成败直接影响到整个MIS的开发。所以,构架一个优秀的MIS一定要有好的数据库设计。本文讨论的重点就是数据库设计理论。主要是两方面,一是基本的数据库理论;二是.NET平台上的ADO.NET数据访问技术。
其次,在MIS开发过程中,所使用的开发工具和应开发应用程序的种类也很重要。这里就不能不提到Microsoft公司的.NET Framework平台。.NET Framework 是一种新的计算平台,它简化了在高度分布式 Internet 环境中的应用程序开发。它提供一个一致的面向对象的编程环境、提供一个将软件部署和版本控制冲突最小化的代码执行环境等等非常优秀的特点。在以后介绍开发过程中将简单阐述。
再次,界面的设计也是MIS的一个重点。界面一定要具有易学性及易使用性。在当今流行的程序设计中,设计包含用户界面的应用程序时有两种选择:Windows 窗体和 Web 窗体。两者在开发环境中都具有完全的设计时支持,并且可以提供丰富的用户界面和高级应用程序功能以解决业务问题。要根据应用程序的具体功能来选择到底开发何种应用程序。我所开发的这个图书馆管理信息系统是这两者的结合。在管理功能方面,我使用了传统的WinForms技术。而在读者使用方面的功能模块,是用webForms开发的。
3.1 数据库设计
数据库技术是20世纪60年代后期产生何发展起来的一项计算机数据管理技术,现广泛运用与各种信息处理以及科学研究上。数据库技术已经成为当今时代非常重要的技术。
当今流行的数据库系统主要是以关系数据库为代表的第二代数据库系统。
当今流行的大型数据库管理系统主要有SQL Server、Oracle、Sybase等。
图书馆管理信息系统选用的是SQLserver2000数据库管理系统。
选择它的原因有:SQLserver2000功能强大,能完整实现数据库系统的所有功能。再者,我们选用的系统开发平台是微软公司的.Net Framework平台,它很好的支持了其公司的数据库产品SQLserver2000,而且为了加快数据处理速度,.NET Framework平台中还专门有一个SQL Server数据提供程序(System.Data.SqlClient)。
3.1.4数据库的保护
数据库的保护主要内容是数据库的备份恢复、数据的事务性、以及如何进行并发控制。其中备份和恢复容易理解,这里主要阐述其它两项。
(1) 事务是一组操作序列.但是从用户的角度看来,事务是一个不可分割的操作序列。事务中的操作要么都做,要么都不做.事务不应该丢失,不应该被分割完成。
举个例子,从某个银行帐户向另一个帐户转入资金。这个过程分两步,首先将资金从一个帐户扣除,然后转入另一帐户。这个过程中,如果资金扣除以后由于一些因素导致失败。则资金就从一个帐户上扣除但没有转到另一个帐户上,就导致了两个用户都失去了这笔资金。如果将这两步组成一个事务,充分利用事务的共进共退性就可以避免这一点。
SQLserver2000事务语句主要包括BEGIN TRANSACTION(开始一个事务),COMMIT TRANSACTION(提交事务),ROLLBACK TRANSACTION(回滚事务)。
(2) 数据库并发控制:在图书馆管理信息系统中,同时可能有多个客户端在进行数据操作。当多个用户试图同时修改数据时,需要建立控制机制来防止一个用户的修改对同时操作的其他用户所作的修改产生不利的影响。处理这种情况的系统叫做“并发控制”。处理并发的技术主要是封锁。ADO.NET数据结构基于断开的数据,使用开放式并发。
3.2 使用存储过程
在使用 SQL Server 2000 创建应用程序时,T-SQL 编程语言是应用程序和 SQL Server 数据库之间的主要编程接口。使用 T-SQL 程序时,可用两种方法存储和执行程序。可以在本地存储程序,并创建向 SQL Server 发送命令并处理结果的应用程序;也可以将程序在 SQL Server 中存储为存储过程,并创建执行存储过程并处理结果的应用程序。
SQL Server 中的存储过程与其它编程语言中的过程类似,原因是存储过程可以:
• 接受输入参数并以输出参数的形式将多个值返回至调用过程或批处理。
• 包含执行数据库操作(包括调用其它过程)的编程语句。
• 向调用过程或批处理返回状态值,以表明成功或失败(以及失败原因)。
使用 SQLServer 中的存储过程而不使用存储在客户计算机本地的 Transact-SQL 程序的优点有:
• 允许模块化程序设计。
只需创建过程一次并将其存储在数据库中,以后即可在程序中调用该过程任意次。存储过程可由在数据库编程方面有专长的人员创建,并可独立于程序源代码而单独修改。
• 允许更快执行。
如果某操作需要大量 T-SQL 代码或需重复执行,存储过程将比 T-SQL 批代码的执行要快。将在创建存储过程时对其进行分析和优化,并可在首次执行该过程后使用该过程的内存中版本。每次运行 T-SQL 语句时,都要从客户端重复发送,并且在SQL Server每次执行这些语句时,都要对其进行编译和优化。
• 减少网络流量。
一个需要数百行 T-SQL 代码的操作由一条执行过程代码的单独语句就可实现,而不需要在网络中发送数百行代码。
• 可作为安全机制使用。
即使对于没有直接执行存储过程中语句的权限的用户,也可授予他们执行该存储过程的权限。
此外在web编程方面,存储过程在安全问题上还可以防止动态SQL漏洞攻击,笔者经过一些调查,发现现在很多网站都有动态sql漏洞。只需要将密码字段的值设定为(' or '1'='1)即可使用该网站的管理功能。 think58 [来源:http://www.think58.com]
我所开发的图书馆管理信息系统,无论在windows窗体编程和asp.net Web编程上都使用存储过程与数据库交互。
3.3 .NET Framework平台概述
图书馆管理信息系统的开发是基于.NET Framework平台的,所有在这里我们简单的介绍一下.NET Framework平台以及它的一些重要的技术
.NET Framework 是一种新的计算平台,它简化了在高度分布式 Internet 环境中的应用程序开发。.NET Framework 旨在实现下列目标:
• 提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在 Internet 上分布,或者是在远程执行的。
• 提供一个将软件部署和版本控制冲突最小化的代码执行环境。
• 提供一个保证代码(包括由未知的或不完全受信任的第三方创建的代码)安全执行的代码执行环境。
• 提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。
• 使开发人员的经验在面对类型大不相同的应用程序(如基于 Windows 的应用程序和基于 Web 的应用程序)时保持一致。
• 按照工业标准生成所有通信,以确保基于 .NET Framework 的代码可与任何其他代码集成。
[资料来源:http://think58.com]
1)首先本软件是基于.net平台构建的,这是以前从未有过的。
2)软件很好的解决了一个关于时间冲突的问题。
时间冲突问题阐述如下:
图书馆管理信息系统是一个网络版的系统,其运作方式是有一台主数据服务器、还有若干个负责各项功能的客户端。举个例子:图书馆可能有若干台客户端电脑用于还书管理、还可能有若干台用于借书管理、还可能有若干台用于图书、读者信息维护等。因为每台电脑的系统时间可能会发生改变,这就会造成数据错误。比如张某于2月10日在负责借书的A号电脑上借了一本书,可能A的系统时间被误设定为2月5日。如果张某的最大借书时间为一个月,则他应该还书的时间就被误设定为3月5日。
笔者在开发过程中也参考了一些相关的图书馆软件,发现有的系统根本没有注意到这个问题。有的是在软件客户端设定一个时间校准的提示或者干脆就手工输入时间。这样无疑给操作人员增加了负担,而且校准还不一定正确。
在本系统中,所有的时间都是基于服务器时间的。即软件中必要的与时间有关的操作。都采用标准的T-SQL函数GETDATE()从数据服务器返回时间。这就避免了功能上的错误,也避免了给操作人员带来的不必要负担。
3)用ADO.NET的开放式并发进行并发控制
[版权所有:http://think58.com]
在图书馆系统的使用过程中,可能同时有多台客户机在操作同一个数据行。比如负责修改图书信息的A号电脑正在修改编号为XXX的书籍,而编号为B的电脑正试图删除编号为XXX的书籍。这样做肯定会有一些冲突,这就要讨论并发控制。
当多个用户试图同时修改数据时,需要建立控制机制来防止一个用户的修改对同时操作的其他用户所作的修改产生不利的影响。处理这种情况的系统叫做“并发控制”。
在以前的编程模型中,大多使用保守式并发控制,即在从获取记录直到记录在数据库中更新的这段时间内,该行对用户不可用。ADO.NET的数据集DataSet是一个断开式的模型,不适合保守式并发。在我所编写的图书馆管理信息系统中,使用了开放式并发控制(参见附录中我翻译的英文文章),即只有当实际更新数据时,该行才对其他用户不可用。更新将在数据库中检查该行并确定是否进行了任何更改。如果试图更新已更改的记录,则将导致并发冲突。
4)全部数据层都基于存储过程构建
使用存储过程,可以减少网络流量,提高程序的速度以及安全性。具体内容请参见笔者文章里对存储过程的研究讨论。
3 系统设计过程及原理阐述
管理信息系统(以下简称MIS)服务于现代化的企事业管理,是提供企事业工作效率和经济效益的计算机网络系统。 本文来自think58 [来源:http://www.think58.com]
管理信息系统涉及的因素非常多、非常复杂,开发起来具有一定的难度。如果掌握了一套行之有效的开发方法,以及把握好MIS开发中的重点,开发中就可以大量的解约人力、财力等。
我个人经过大量的研究、实践。认为在MIS开发中,首先数据库技术是MIS开发中的重要技术。数据库开发成败直接影响到整个MIS的开发。所以,构架一个优秀的MIS一定要有好的数据库设计。本文讨论的重点就是数据库设计理论。主要是两方面,一是基本的数据库理论;二是.NET平台上的ADO.NET数据访问技术。
其次,在MIS开发过程中,所使用的开发工具和应开发应用程序的种类也很重要。这里就不能不提到Microsoft公司的.NET Framework平台。.NET Framework 是一种新的计算平台,它简化了在高度分布式 Internet 环境中的应用程序开发。它提供一个一致的面向对象的编程环境、提供一个将软件部署和版本控制冲突最小化的代码执行环境等等非常优秀的特点。在以后介绍开发过程中将简单阐述。
再次,界面的设计也是MIS的一个重点。界面一定要具有易学性及易使用性。在当今流行的程序设计中,设计包含用户界面的应用程序时有两种选择:Windows 窗体和 Web 窗体。两者在开发环境中都具有完全的设计时支持,并且可以提供丰富的用户界面和高级应用程序功能以解决业务问题。要根据应用程序的具体功能来选择到底开发何种应用程序。我所开发的这个图书馆管理信息系统是这两者的结合。在管理功能方面,我使用了传统的WinForms技术。而在读者使用方面的功能模块,是用webForms开发的。
think58.com [资料来源:THINK58.com]
3.1 数据库设计
数据库技术是20世纪60年代后期产生何发展起来的一项计算机数据管理技术,现广泛运用与各种信息处理以及科学研究上。数据库技术已经成为当今时代非常重要的技术。
当今流行的数据库系统主要是以关系数据库为代表的第二代数据库系统。
当今流行的大型数据库管理系统主要有SQL Server、Oracle、Sybase等。
图书馆管理信息系统选用的是SQLserver2000数据库管理系统。
选择它的原因有:SQLserver2000功能强大,能完整实现数据库系统的所有功能。再者,我们选用的系统开发平台是微软公司的.Net Framework平台,它很好的支持了其公司的数据库产品SQLserver2000,而且为了加快数据处理速度,.NET Framework平台中还专门有一个SQL Server数据提供程序(System.Data.SqlClient)。
3.1.4数据库的保护
数据库的保护主要内容是数据库的备份恢复、数据的事务性、以及如何进行并发控制。其中备份和恢复容易理解,这里主要阐述其它两项。
(1) 事务是一组操作序列.但是从用户的角度看来,事务是一个不可分割的操作序列。事务中的操作要么都做,要么都不做.事务不应该丢失,不应该被分割完成。
举个例子,从某个银行帐户向另一个帐户转入资金。这个过程分两步,首先将资金从一个帐户扣除,然后转入另一帐户。这个过程中,如果资金扣除以后由于一些因素导致失败。则资金就从一个帐户上扣除但没有转到另一个帐户上,就导致了两个用户都失去了这笔资金。如果将这两步组成一个事务,充分利用事务的共进共退性就可以避免这一点。
本文来自think58
[资料来源:http://THINK58.com]
SQLserver2000事务语句主要包括BEGIN TRANSACTION(开始一个事务),COMMIT TRANSACTION(提交事务),ROLLBACK TRANSACTION(回滚事务)。
(2) 数据库并发控制:在图书馆管理信息系统中,同时可能有多个客户端在进行数据操作。当多个用户试图同时修改数据时,需要建立控制机制来防止一个用户的修改对同时操作的其他用户所作的修改产生不利的影响。处理这种情况的系统叫做“并发控制”。处理并发的技术主要是封锁。ADO.NET数据结构基于断开的数据,使用开放式并发。
3.2 使用存储过程
在使用 SQL Server 2000 创建应用程序时,T-SQL 编程语言是应用程序和 SQL Server 数据库之间的主要编程接口。使用 T-SQL 程序时,可用两种方法存储和执行程序。可以在本地存储程序,并创建向 SQL Server 发送命令并处理结果的应用程序;也可以将程序在 SQL Server 中存储为存储过程,并创建执行存储过程并处理结果的应用程序。
SQL Server 中的存储过程与其它编程语言中的过程类似,原因是存储过程可以:
• 接受输入参数并以输出参数的形式将多个值返回至调用过程或批处理。
• 包含执行数据库操作(包括调用其它过程)的编程语句。
• 向调用过程或批处理返回状态值,以表明成功或失败(以及失败原因)。
本文来自think58
[资料来源:THINK58.com]
使用 SQLServer 中的存储过程而不使用存储在客户计算机本地的 Transact-SQL 程序的优点有:
• 允许模块化程序设计。
只需创建过程一次并将其存储在数据库中,以后即可在程序中调用该过程任意次。存储过程可由在数据库编程方面有专长的人员创建,并可独立于程序源代码而单独修改。
• 允许更快执行。
如果某操作需要大量 T-SQL 代码或需重复执行,存储过程将比 T-SQL 批代码的执行要快。将在创建存储过程时对其进行分析和优化,并可在首次执行该过程后使用该过程的内存中版本。每次运行 T-SQL 语句时,都要从客户端重复发送,并且在SQL Server每次执行这些语句时,都要对其进行编译和优化。
• 减少网络流量。
一个需要数百行 T-SQL 代码的操作由一条执行过程代码的单独语句就可实现,而不需要在网络中发送数百行代码。
• 可作为安全机制使用。
即使对于没有直接执行存储过程中语句的权限的用户,也可授予他们执行该存储过程的权限。
此外在web编程方面,存储过程在安全问题上还可以防止动态SQL漏洞攻击,笔者经过一些调查,发现现在很多网站都有动态sql漏洞。只需要将密码字段的值设定为(' or '1'='1)即可使用该网站的管理功能。 think58 [来源:http://www.think58.com]
我所开发的图书馆管理信息系统,无论在windows窗体编程和asp.net Web编程上都使用存储过程与数据库交互。
3.3 .NET Framework平台概述
图书馆管理信息系统的开发是基于.NET Framework平台的,所有在这里我们简单的介绍一下.NET Framework平台以及它的一些重要的技术
.NET Framework 是一种新的计算平台,它简化了在高度分布式 Internet 环境中的应用程序开发。.NET Framework 旨在实现下列目标:
• 提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在 Internet 上分布,或者是在远程执行的。
• 提供一个将软件部署和版本控制冲突最小化的代码执行环境。
• 提供一个保证代码(包括由未知的或不完全受信任的第三方创建的代码)安全执行的代码执行环境。
• 提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。
• 使开发人员的经验在面对类型大不相同的应用程序(如基于 Windows 的应用程序和基于 Web 的应用程序)时保持一致。
• 按照工业标准生成所有通信,以确保基于 .NET Framework 的代码可与任何其他代码集成。
[资料来源:http://think58.com]