1.1 选题背景
随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现图书信息的管理势在必行。目前图书管理的借阅工作部分大多数还是手工管理,工作效率很低,并且不能及时了解图书的种类和读者们比较需求的图书等,不能更好的适应当前读者的借阅要求。手工管理还存在这许多弊端,由于不可避免的人为因素,造成数据的遗漏、误报。计算机信息化管理有着储存量大,速度快等许多优点,提供给我们的处理信息及时快捷,因此我们利用计算机提供给我们的信息对读者的借阅过程形成一整套动态的管理能够极大地提高图书管理管理的效率,这也是图书管理的科学化、正规化管理,与世界接轨的重要条件。
1.2 管理信息系统简介
管理信息系统就是我们常说的MIS(Management Information System),在强调管理,强调信息的现代社会中它变得越来越普及。MIS是一门新的学科,它跨越了若干个领域,比如管理科学、系统科学,运筹学、统计学以及计算机科学。在这些学科的基础上,形成信息收集和加工的方法,从而形成一个纵横交织的系统。 管理信息系统是现代信息管理工作不可缺少的一部分,是适应现代高图书信息管理尺度的要求、推动信息管理走向科学化、规范化的必要条件。只有信息管理规范了,才能给人们提供更好的生活环境及便利的生活空间。 信息是管理上的一项极为重要的资源,管理工作的成败取决于能否做出有效的决策,而决策的正确程度则在很大程度上取决于信息的质量。
在21世纪,人类将步入知识经济时代,知识经济时代是图书发展日新月异和知识、信息呈爆炸膨胀的时代。有所谓信息威胁之说,这是指人类面临的要处理的信息量大到难以处理的地步,以至造成混乱的结果。 计算机的出现解决了这个问题,由于计算机迅速、准确为信息收集、加工、使用、查询提供可能。
随着以计算机技术、通信技术、网络技术为代表的现代信息技术的飞跃发展,人类正在从工业时代向信息时代迈进,人们越来越重视信息资源的开发和利用,“信息化”已成为一个国家经济和社会发展的关键环节,信息化水平的高低已成为衡量一个国家现代化水平和综合国力的重要标志。
管理信息系统是一个由人和计算机等组成的,能进行管理信息的收集、传递、加工、保存、维护和使用的系统,它能实测国民经济和企业的行为、帮助实现其规划目标。管理信息系统功能包括:信息收集、信息存储、问题处理、对话及信息输出、信息管理机构。
1.3 计算机信息系统的发展
从 1945 年美国第一台电子数字积分计算机ENIAC 诞生以来,短短四、五十年,计算机技术发展异常迅速,应用日益广泛。从硬件上由电子管、晶体管、集成电路、大规模、超大规模集成,价格降低、可靠性增强。计算机尤其是微型计算机逐渐普及,从开始 4 位微处理器的微型机到现今 32 位高档微机,主频速度越来越快。随着硬件的发展,软件也不断更新,由 2 进制代码到机器语言汇编语言、高级程序语言,到现今面对对象的非过程化语言,人们不必关心问题的解法和计算过程描述,只需告诉它干什么,至于如何干,则由软件自动完成,这给软件开发人员带来及大的便利。软件开发人员不必化大多时间和精力在描述程序的具体细节上,提高效率,减少手工编程中的误差。计算机的应用也由原先单纯的数值计算,到数据处理如办公自动化,辅助教学,工业的自动控制、人工智能,可以说渗透到生产生活的各个领域。计算机的应用提高了效率,降低了成本,节省人力物力。但要发挥其巨大作用,还需提高人们的应用水平。
1.4 管理信息系统的发展现状
现代社会、社会化趋势的扩大和社会产品需求使企业在生产经营活动中涉及的内外部信息积聚膨胀,随着科学技术突飞猛进和生产迅速发展,使人类知识量增长速度不断加快,信息量的增加,外部环境变化的变快,人工已无法胜任。如何收集足够的信息资源,强有力的信息并加以利用,积极的开发和及时利用信息爆炸有效的信息资源,已成为现代社会的难题。计算机的出现解决了这个问题,由于计算机迅速、准确为信息收集、加工、使用、查询提供可能。计算机技术与通信技术结合极大的促进现代信息技术的发展,各国加快信息进程,国际社会建设信息高速公路的热潮和中国工人“金”字号工程为代表的国家信息工程项目的开展,使中国的企业信息化面临新的形势。
电子计算机适应现代社会管理信息量迅速增长,信息寿命短,要求及时转换的问题。信息系统由电子数据处理,信息报告系统,决策支持系统进一步发展到专家系统及支持领导层的决策执行信息程序,在竞争中支持战略决策的战略信息系统。当今社会现代信息技术广泛迅速的渗透到社会生活的各领域但目前在管理信息系统应用还很不完善,属于起步阶段。计算机对管理工作的支持,不仅是数据处理、而且是辅助决策的工具,能够从海量的信息中收集、整理,分析提供给管理者、决策有关的信息,相关的决策分析,甚至可和管理者交互对话,生成决策。目前各个行业的计算机处理信息管理,很大一部分仍停留在单项业务理,处在电子数据处理阶段,各单位由事务处理到系统处理转向支持系统还建立起真正的具有预测控制和支持决策功能的管理信息系统。虽然信息系统已有一定发展,在业务处理过程控制办公自动化方面已有长足进步,但很不完善。要充分利用计算机处理信息,必须从目前情况入手,着眼于未来,开发适合本单位、行业的小型管理系统,甚至是其中一步分,如工资管理系统,然后逐步完善,不断扩充。管理信息系统的特点之一就是数据集中统一,采用数据库。利用数据库技术可解决数据共享问题。数据库用一定数据模型组织数据,使数据面向系统,程序独立于数据,实现数据独立性,减少数据冗余和不一致性,且易编程、扩充、移走。尤其 20 世纪 70 年代后期产生的分布式、面对对象数据库,使数据和数据操作方法作为对象由数据库管理,系统更好用,减少出问题的可能性.其属性继承性可在对象中共享数据和操作,极大的方便了用户。总而言之管理信息系统是集科学化、计算机及系统方法为一体的综合性边缘性学科。
1.5 开发管理信息系统应注意的问题
成功地开发一套管理信息系统,不仅需要具备一定的理论基础,而且还需要对开发过程中所面临的问题有一个充分、清醒的认识,例如:社会因素、文化背景、企业体制、起点环境等。特别是在中国当前IT行业飞速发展的形势下,更要强调这些方面对管理信息系统开发的影响。
1.6 可行性分析
(1)经济可行性研究是对组织的经济现状和投资能力进行分析,对系统建设运行和维护费用进行估算,对系统建成后可能取得的社会和经济效益进行估计。由于公司XXXX图书管理系统是作为毕业设计由我们读者自己开发的,在经济上的投入甚微,系统建成之后将为今后实现公司图书管理系统提供很大的方便,估算新系统的开发费用和今后的运行、维护费用,估计新系统将获得的效益,并将费用与效益进行比较,看是否有利。
开发、运行和维护费用主要包括:
购买和安装设备的费用:计算机硬件、系统软件、 机房、电源、空调等;
软件开发费用:若由实习单位的技术人员开发,则该项费用可以计入下面的人员费用一项;
人员费用:系统开发人员、操作人员和维护人员的工资、培训费用等;
消耗品费用:系统开发所用材料、系统正常运行所用消耗品,例如水、电费,打印纸、软盘、色带等开支。
(2)技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。公司XXXX图书管理系统用的是JSP开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面:由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。
运行可行性是对组织结构的影响,现有人员和机构和环境对系统的适应性及人员培训补充计划的可行性。当前我们公司信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行性的。根据新系统目标来衡量所需的技术是否具备,一般可从硬件、软件的性能要求、环境条件、技术人员水平和数量等方面去考虑和分析,其中开发人员的技术力量应首先考虑能力与水平,并考虑近期内可以培养和发展的技术人员。
(3)运行可行性
对新系统运行后给现行系统带来的影响(包括组织机构、管理方式、工作环境等)和后果进行估计和评价。同时还应考虑现有管理人员的培训、补充,分析在给定时间里能否完成预定的系统开发任务等。
按上述三方面进行可行性分析、研究后,就可整理并编制出新系统开发的可行性报告,它是总体规划工作的阶段性成果。
使用本系统,能使公司加强对资金的管理,对其图书中商品信息及时反馈。利于公司及时采取经营策略。本系统的开发,是典型的Mis开发,主要是对数据的处理,包括数据的收集,数据的变换,及数据的各种报表形式的输出。采用流行的JSP+SQLSERVER2000体系,已无技术上的问题。
1.7 系统开发步骤
一般说来,管理信息系统的建立与应用可以划分成总体规划、系统开发和系统运行三个阶段,其中系统开发阶段还可进一步分为系统分析、系统设计和系统实施等工作环节。上述各个阶段排列成一个严格的线性开发序列,在每个工作阶段均产生完整的技术文档作为下一阶段工作的指导和依据,每一阶段都应对文档进行评审,确信该阶段工作已完成并达到要求后才能进入下一阶段,同时在以后的工作中不能轻易改变前面经过评审的成果。
上述开发方式的主要优点是便于开发工作的组织和管理,并且可大大降低管理信息系统开发的复杂性。国内外许多系统开发的实例都证明这是一种行之有效的开发方式。
国外曾有人对一些软件项目开发各阶段的工作量进行了统计,结果表明,在开发过程中各工作阶段所占全部工作量的比重分别达到系统分析:系统设计:编程:模块调试:系统调试=20%:15%:20%:25%:20%。由此可见,程序编写在开发工作中只占很小比例,而调试工作却占整个开发工作量的一半左右,因此“系统开发就是编程”的习惯说法显然是片面的。另据统计,在建立管理信息系统的三个阶段中,总体规划和系统开发阶段的工作量约占整个工作量的2/3,而运行、维护阶段要占1/3,这说明一个管理信息系统开发后,仍应十分重视它的维护工作,以便使系统不断完善并充分发挥其作用。
本系统采用面向对象的软件开发方法,以Java Server Pages 2.0开发环境作为主要开发工具,使用Microsoft SQLserver2000作为关系数据库,配合功能强大的SQL查询语言实现建立关系数据库,访问数据库,对数据库的更新,较好地实现了预定的需求功能。
2.1 Java Server Pages开发环境
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
(1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。
(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
Java Server Pages 2.0通过事件来执行对象的操作。一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。例如,命令按钮是一个对象,用户单击该按钮时,将产生一个“单击”事件,而产生该事件时将执行一段程序,用来实现指定的操作。
2.2 MYSQL简介
MySQL是一个精巧的SQL数据库管理系统,虽然它不是开放源代码的产品,但在某些情况下你可以自由使用。由于它的强大功能、灵活性、丰富的应用编程接口(API)以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,特别是与Apache和PHP/PERL结合,为建立基于数据库的动态网站提供了强大动力。
MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。
MySQL 主要目标是快速、健壮和易用。最初是因为我们需要这样一个SQL服务器,它能处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL就开发出来。自1996年以来,我们一直都在使用MySQL,其环境有超过 40 个数据库,包含 10,000个表,其中500多个表超过7百万行,这大约有100 个吉字节(GB)的关键应用数据。
MySQL建立的基础是业已用在高要求的生产环境多年的一套实用例程。尽管MySQL仍在开发中,但它已经提供一个丰富和极其有用的功能集。
3、系统分析
3.1 模块设计
根据本系统的需求,结合实际管理情况,本系统应用有如下功能模块:
1.基本信息设置:如操作人员的编辑,操作人员密码的修改.
2.用户的管理.
3.图书信息管理.
4.查询图书管理.
5.添加图书管理.
6.修改图书管理.
7.删除图书
3.2 功能模块图
系统整体流程图
3.3 数据库设计概述
计算机信息系统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。
对于数据库应用开发人员来说,为使现实世界的信息流计算机化,并对计算机化的信息进行各种操作,就是如何利用数据库管理系统、系统软件和相关硬件系统,将用户的要求转化成有效的数据结构,并使数据库结构易于实现用户新的要求的过程。 确切的说,数据库设计是指对于一个给定的应用环境,提供一个确定最优数据模型与处理模式的逻辑设计,以及一个确定数据库存储结构与存取方法的物理设计,建立起既能反映现实世界信息和信息联系,满足用户数据要求和加工要求,又能被某个数据库管理系统所接受,同时能实现系统目标,并有效存取数据的数据库。
3.4 数据库设计周期
根据软件工程的思想,数据库设计的周期可以划分为六个阶段:
1、规划阶段
确定开发的总目标,给出计划开发的软件系统的功能、性能以及可靠性等方面的设想。
2、需求分析阶段
认真细致地了解用户对数据的加工要求,确定系统的功能与边界。本阶段的最终结果能够提供一个可作为设计基础的系统说明书,包括对软硬件环境的要求和一整套完善的数据流程图。
3、设计阶段
把需求分析阶段所确定的功能细化,主要工作是概念设计阶段、逻辑设计阶段、物理设计阶段,然后,对每个阶段内部设计详细的流程。
4、程序编制阶段
以一种或几种特定的程序设计语言表达上一阶段确定的各模块控制流程。程序编制时应遵循结构化程序设计方法。
5、调试阶段
对已编好的程序进行单元调试(分调),整体调试(联调)和系统测试(验收)。
6、运行和维护阶段
这是整个设计周期最长的阶段,其工作重点是收集和记录系统实际运行的数据。在运行中,必须保持数据库的完整性,必须有效地处理数据故障和进行数据库恢复。同时解决开发过程的遗留问题,改正错误进行功能完善。
数据是系统的灵魂所在,整个系统的运行基础是系统数据库,因而数据库的设计质量对整个系统的功能与效率有很大影响,所以我们在进行数据文件和数据库设计时,充分考虑了数据存储的完整性、可靠性、安全性和数据的一致性及便于操作等方面的问题。
一个完整的信息系统的建设并不是一步到位的。在实际的建设过程中,在时间上各子系统有先建、后建之分,在开发人员的分配上有他建、我建之别,这就涉及到各子系统之间的兼容问题。在现有的软件水平下,追求应用系统间的相互兼容存在困难,但对于数据的兼容也就是数据的共享来说,既非常重要,又相对应用系统的兼容较易实现。在提高数据共享性方面,可主要从数据的一致性方面来考虑。在我们的数据库系统建设中,着重考虑了以下两个标准保证数据的一致性:
1)字段标准:字段标准不统一是造成数据库难以共享的一个主要原因,因为字段的设计处于数据库设计的最底层,或者可以说是最基本的一层,如果这一层都不能统一的话,会直接影响到数据库中数据的共享。
2) 代码标准:代码的引入为保持数据库中数据的一致性提供了一个重要手段。
此外本数据库设计主要遵循以下原则:
数据库文件的实用性。
数据库文件的安全性。
数据库文件的独立性。
节省磁盘空间。
数据库设计是要在一个给定的应用环境(DBMS)中,通过合理的逻辑设计和有效的物理设计,构造较优的数据库模式、子模式,建立数据库和设计应用程序,满足用户的各种信息需求。
物理结构设计的原则如下:
(1) 尽可能的减少数据冗余和重复。
(2) 结构设计与操作设计相结合。
(3) 数据结构具有相对的稳定性。
基于以上设计原则,本系统设计了一个数据库,包含基本信息表(如员工类别、存货等)及几个实体联系建模后的表(如散件销售、整机销售等)。为了加快系统访问的速度把这些表放在一个数据库中。
图书信息表
列名 数据类型 是否允许为空 说明
Id varchar(50) 否 主键
A1 varchar(50) 否 图书名
A2 varchar(50) 否 分类
A3 varchar(10) 是 出版社
A4 varchar(50) 是 价格
A5 int 是 图片
A6 varchar(50) 是 分类id
分类信息表
列名 数据类型 是否允许为空 说明
Id varchar(50) 否 楼层号,主键
A1 varchar(50) 否 分类名
评价信息表
列名 数据类型 是否允许为空 说明
Id varchar(50) 否 主键
A2 varchar(50) 否 评价人id
A3 varchar(50) 否 评价内容
A4 varchar(50) 否 评价人
A5 varchar(50) 是 商品id
用户信息表
列名 数据类型 是否允许为空 说明
Id varchar(50) 否 主键
Login_name varchar(50) 否 登录名
User_name varchar(50) 否 角色
Password varchar(50) 否 密码
Update_time varchar(50) 是 添加时间
3.5 SQL查询语言及使用
SQL语言是结构化语言(Structure Query Language)的缩写,是一种用于数据库查询和编程的语言,已经成为关系型数据库普遍使用的标准,使用这种标准数据库语言对程序设计和数据库的维护都带来了极大的方便,广泛地应用于各种数据查询。JSP和其他的应用程序包括SQLserver2000、Foxpro、Orcale、MYSQL等都支持SQL语言。
SQL语言的常用操作有:建立数据库数据表(CREATE TABLE),如本系统中的学生及成绩备份就用到该语句;从数据库中筛选一个记录集(SELECT),这是最常用的一个语句,功能强大,能有效地对数据库中一个或多个数据表中的数据进行访问,并兼有排序、分组等功能;在数据表中添加一个记录(INSERT);删除符合条件的记录(DELETE);更改符合条件的记录(UPDATE);
JSP中的数据库操作对象都提供了对SQL语句的支持。其一般的用法是以JSP的各种控件接收用户对数据库访问的请求,在事件响应程序代码中将其转换成对数据库的SQL查询语句,并以字符串的形式存在,然后将其传递给相应的数据库操作对象,最终完成对数据库的访问。