询、联机检索、公共查询等子系统,功能涵盖了图书馆的各个业务环节。各子系统之间共享书目数据库,整个系统统一、和谐、数据沉余最小。子系统之间数据资源高度共享和一致,数据资源具有较高的集成性,系统功能也具有较高的集成性。随着计算机和网络技术的发展,各图书馆业务的深入开展和新业务的增加,图书馆新情况的产生,要求图书馆集成系统应充分考虑和适应这些变化。在这方面,各个系统都有自己的特色,大多表现在对网络化服务功能的开拓和加强方面。这主要通过几个方面来体现:提供网际应用,支持资源的共建、共享,实现联机编目、馆际互借、馆际文献查询等。还包括能实现个人图书馆、信息服务台、用户服务、文献预约、各类请求。
1.4 文献综述
目前的图书馆管理系统种类繁多,但依据各自不同的规模和功能需要,大体上所采取的技术体系采用VB + microsoft Access/ SQL Server技术,或者DEPHI + SQL Server,几乎有很少使用JSP体系结构技术。 1.4.1 技术综述
尽管有着众多的网络开发体系,但如何决定一个系统使用何种方法开发仍然是基于系统的基本需求,本文不详细描述各种开发体系的性能优劣,这里选取了二家不同规模的图书馆管理系统,将各系统选用的开发体系列表比较如下:
表1.1 各系统选用的开发体系列表
系统名称 开发语言 青岛大学图书管管理系统 海尔图书馆管理系统 ASP.NET Microsoft SQL Server IIS 6.0 2005 VB Microsoft Access 数据库 Web服务器 IIS 6.0 Windows Server 2000 Windows Server 2000 操作系统 - 2 -
1.5 总体设计原则
本系统为了设计、实现和后期维护的方便,以及系统用户使用的便利,所以必须采取一定的设计原则。其主要设计原则有:
简单性:在实现系统的功能的同时,尽量让系统操作简单易懂,这对于一个系统来说是非常重要的。
针对性:本系统设计是针对图书馆管理的需求定向开发设计,所以具有专业突出和很强的针对性。
实用性:要求本系统能够满足图书馆管理的需求,因此具有良好的实用性。
一致性:页面整体设计风格以及命名规则的一致性:整体页面布局和用图用色风格及变量、类名和其他元素的命名规则保持一致。功能一致性:完成同样的功能应该尽量使用同样的元素。 元素风格一致性:界面元素的美观风格、摆放位置在同一个界面和不同界面之间都应该是一致的。变量命名规则的一致性:变量应该用统一的规则进行命名,做到任意变量均能从上下文推断其义。
先进性:本系统采用JSP技术、SQL等被广泛采用系统开发技术和数据库,因此本设计具有良好的先进性,具体表现在其具有良好的可扩展性,可开发性。
第二章 系统开发工具介绍
2.1 JSP 介绍
本系统主要使用JSP、SERVLET技术对系统进行设计和开发。JSP,即Java Server Page,Java应用页面程序。作为开发动态页面的一种技术,JSP是当前大中型企业应用软件首选的开发路线之一。而且JSP是J2EE的重要组成部分,开发人员可以在JSP中获得J2EE的众多优点。学习JSP也是J2EE入门的必经之路。
- 3 -
JSP既依赖于也得益于J2EE技术。“一次编写,随处运行”的可移植性使用户可以专注于JSP的开发,而无须考虑系统层面的问题;Java的开放特性使市面上涌现出了众多的Web框架可供采纳;面向对象的设计,为更加轻松地构筑安全稳定的Web在线系统提供了基础保障。
JSP秉承了J2EE高贵的血统,却又带着平易近人的个性。JSP本质上是一个Java程序,具备Java语言一切无与伦比的优势。相比依赖于VBScript代码的ASP,以及依赖于Perl语言的PHP等其他Web编程语言,JSP有着严格的Java语法支持,可以和Java Bean无缝整合。
ASP采用了解析执行的机制,而JSP则是先编译后执行。因此,在第一次访问时JSP比ASP要慢,但是JSP的执行则比每次都解析执行的ASP快若干个数量级。微软随后推出了ASP.NET,号称提供了丰富的面向对象类库,引入中间语言的概念来支持多种语言,完整地集成了XML及Web Service的支持,利用代码托管机制避免危害服务器,并期盼以此代替ASP。事实上ASP.NET的框架设计与J2EE框架十分类似,虽然弥补了ASP之前的缺陷,但是,其对于Windows平台的依赖性以及.NET本身的封闭性却依然存在。尽管现在有Mono计划将所有的开发转移到Linux,但是由于各种原因,Mono有着众多的制肘,并不被业界看好。当然,对于Windows环境下的中小型应用程序,ASP.NET确实是不错的选择。
JSP是线程高度并行的,可以充分利用硬件资源。另外,Java语言与平台无关,开发者可以将JSP部署在几乎任何操作系统上,UNIX系统可以为JSP提供稳定可靠的安全运行环境;利用集群技术还可以把多台主机联合起来服务于JSP应用程序。因此,JSP对于高可靠性、高性能要求的企业级应用系统有较强的吸引力。
从开发者的角度考虑,JSP是开发Web应用程序的首选。JSP支持JavaBean组件,也就获得了众多Java厂商的有力支持,开发者可以利用JavaBean来完成所有Java能实现的功能,如数据库连接池、图形绘制、文件IO操作、XML解析、WebService调用与发布等。Java的开放性也使系统框架如雨后春笋般涌现,Struts,Webwork,Tapstry,Velocity,Hibernate等开源框架为Web应用开发者简化了开发流程,提高了代码质量,从而降低了学习门槛和开发成本。JSP遵循J2EE规范所采用的分层结构也使得代码容易组织维护,各个独立的层次分别针对特定的
- 4 -
编程领域,在某个领域发生变化的时候,只需要在对应层次进行针对性的修改,而不会影响到其他层次的代码。
而相对于Servlet这种Java类,JSP又有着特定的优势。从前面的例子可以看出,要完成一个简单JSP页面具有的功能,需要编写大量的Servlet代码,而且,从代码上根本看不出来生成的HTML文档结构。另外,JSP中双引号等特殊字符,在Servlet中都需要进行转义处理,又进一步降低了程序的可读性。Servlet不能有效地利用原型页面。事实上,在JSP中,还可以使用标签等特性,进一步将JSP中的 Java代码导致的不利因素削弱。
总之,使用JSP可以降低开发门槛,提高程序可读性,开发出高性能的跨平台企业级软件。所以在线汽车销售网站采用了JSP技术。
2.2 SQL2005数据库介绍
SQL Server 2005 是由微软公司研制和发布的关系型数据库。它使用集成的商业智能工具,帮助企业、部门以及个人等各种用户完成信息系统、电子商务、决策支持等工作,提供了一个联机事务处理、数据仓库、电子商务应用的数据库和数据分析平台。
SQL Server 2005主要由四个部分组成,四个部分被称为四个服务,分别为数据库引擎、分析服务、报表服务和集成服务,这些服务之间相互应用,关系示意图如下图2-1所示:
图2-1SQL Server2005系统体系结构示意图
- 5 -
其中,数据库引擎是SQL Server 2005的核心服务,负责完成业务数据的存储、处理、查询和安全管理。实际上,它本身也是一个复杂的系统,包括Service Broker、复制、全文搜索、通知服务等。分析服务提供联机分析处理和数据挖掘功能,可以支持用户建立数据库。而关于联机事务处理则是由数据库引擎负责完成的。报表服务则是为用户提供了支持Web的企业级报表功能。集成服务是一个数据集成平台,可以完成有关数据的提取、转换、加载等。 SQL Server 2005通过使用Transaction-SQL(T-SQL)语句,几乎可以完成SQL Server数据库中的各种操作。T-SQL是一种交互式查询语言,它是在标准SQL语言的基础上,增加了程序流控制结构、全局变量、局部变量形成的扩展的SQL语言。T-SQL除了具备查询功能外,还具有部分高级语言面向过程的程序设计功能。
第三章 系统分析
3.1 业务流程分析
系统管理员进入用户登录界面后,在登录功能区输入系统管理员的用户账号与密码,登录成功后跳转到系统主窗体。系统可以查看图书信息,并对其进行查找或删除等操作;查看读者信息,对不符合系统规定的进行删除操作;添加图书借阅信息,并对其进行编辑或删除等操作。结束各项操作后退出,回到系统主窗体。
- 6 -