资源描述
摘 要
随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,企业要生存要发展,要高效率地把企业活动有机地组织起来,就必须加强企业管理,即加强对企业内部的各种资源(人、财、物等)的有效管理,建立与自身特点相适应的管理信息系统。
本文介绍了在PowerBuider环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个管理信息系统的过程。通过分析传统的人工管理图书馆的不足,创建了一套行之有效的计算机管理图书馆的方案。文章详细介绍了图书管理信息系统的系统分析部分,包括可行性分析、组织机构分析、管理职能分析、业务流程分析、数据流程分析、数据字典、处理描述等等;系统设计部分主要介绍了系统功能设计和数据库设计;系统实现部分列出了几个主要的程序框图,并附带了一些主要的窗口和程序。
本系统界面友好,操作简单,比较实用。
1简介
随着人类社会的发展,人类对知识的需求也不断地增长。在这种形势下,书籍就渐渐地成为人们获取并增长知识的主要途径,而图书馆就自然而然地在人们的生活中占据了一定的位置,如何科学地管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展,因此,开发一套完善的图书馆管理系统就必不可少了。
管理信息系统(简称MIS)是介于信息论,经济管理理论,统计学与运筹学及计算机科学之间的一门边缘性,综合性,系统性的交叉科学,它是随着管理科学,信息技术,计算机技术等的发展而产生和发展起来的。
图书馆管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端的应用程序的开发两个方面。对于前者要求建立数据的一致性和完整性,对于后者则要求应用程序功能的完备,易用等的特点。基于上述考虑本系统主要利用PowerBuilder 9.0作前端的应用开发工具 ,利用是SQL Server2005 作为后台的数据库,利用WINDOWS作为系统平台开发的图书管理系统。另外本图书馆管理系统利用软件工程化思想和方法,总体上是采用结构化生命法进行系统分析和设计的,而系统实现等步骤则采用了原型法和面对对象的方法。
2需求分析阶段
2.1 引言
进行系统设计,首先要对系统的现状进行分析。根据系统的目标、需求和功能,制定和选择一个较好的系统方案,从而达到一个合理的优化系统。每个学校都有图书馆,最初由于图书数量和种类较少,人工手动管理比较方便和灵活。随着社会的发展,图书的数量和种类越来越多,人工手动管理会降低工作的效率,希望建立一个图书管理系统,是为了解决人工手动管理图书信息在实践的问题,从而达到系统化、规范化、标准化的水平。该系统的建立不但给管理者带来了方便,也节省了工作时间从而提高了工作效率。
需求分析是在于要弄清用户对开发的数据库应用系统的确切要求。数据库设计的第一步是明确数据库的目的和如何使用,也就是说需要从数据库中得到哪些信息。明确目的之后,就可以确定您需要保存哪些主题的信息(表),以及每个主题需要保存哪些信息(表中字段)。
在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求划分系统功能模块。这样,就把一个大的系统分解成了几个小系统。这里把系统的层次划分为了四个部分:图书维护,人员信息管理,图书借阅管理,信息查询。能够实现以下功能:
进行新书入库、现有图书信息修改以及删除;
② 能够实现对读者基本信息的查询和编辑管理;
③能够进行借阅信息的查询功能;
④ 能够进行简单的密码修改;
2.2处理功能及要求
(1)能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括:
1) 图书信息的录入、删除及修改。
2) 图书信息的多关键字检索查询。
3) 图书的出借、返还。
(2)能够对一定数量的读者、管理员进行相应的信息存储与管理,这其中包括:
1) 读者信息的登记、删除及修改。
2) 管理员信息的增加、删除及修改。
3) 读者资料查询及密码修改。
(3)能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询。
2.3 E-R图
2.3.1用户信息E-R图
用户信息
权限
用户ID
密码
用户名
2.3.2图书信息E-R图
书名
图书ID
作者
价格
图书信息
出版日期
条形码
出版社
2.3.3图书借还E-R图
借还信息
是否归还
读者ID
图书ID
还书日期
借书日期
2.3.4读者信息E-R图
地址
读者信息
读者ID
电话
姓名
出生日期
性别
2.4系统功能图
图书管理系统
图书维护子系统
人员资源管理子系统
借还服务子系统
查询服务子系统
修改馆藏图书
删除无效用户
归还服务
修改用户信息
图书查询服务
个人信息查询
借阅服务
添加新用户及管理员
删除损毁图书
添加新到图书
3数据字典
表3-1 图书表boot_t
字段名
字段含义
数据类型
是否为空
b_id
图书ID
Varchar(20)
否
b_name
书名
Varchar(60)
否
auther
作者
Varchar(20)
否
publish_company
出版社
Varchar(60)
是
publish_day
出版日期
datetime
是
isbn
条形码
Varchar(60)
是
price
价格
Numeric(9,2)
是
表3-2 借还图书记录表jiehuant
字段名
字段含义
数据类型
是否为空
m_id
读者ID
Varchar(20)
否
b_id
图书ID
Varchar(20)
否
jiedate
借书日期
datetime
是
huandate
还书日期
datetime
是
remark
是否归还
Varchar(60)
否
表3-3 读者表membert
字段名
字段含义
数据类型
是否为空
m_id
读者ID
Varchar(20)
否
m_name
姓名
Varchar(60)
是
sex
性别
Varchar(2)
是
birthday
出生日期
Datetime
是
phone
电话
Varchar(60)
是
address
地址
Varchar(50)
是
表3-4 用户表people
字段名
字段含义
数据类型
是否为空
user_id
用户ID
Varchar(50)
否
user_name
用户名
Varchar(50)
是
password
密码
Varchar(50)
是
admin
权限
Varchar(50)
否
4系统模块
4.1登陆界面设计
图4-1登陆界面
4.1.1登录按钮clicked()事件
string user ,pass ,temp1,temp2,temp3
user = sle_1.text
b=user //全局变量中定义的
if len(user) = 0 or isnull(user) = true then
messagebox("提示","用户名不能为空!")
return
end if
select user_id into :temp1 from people where user_id = :user
using sqlca;
if sqlca.sqlcode <> 0 then
messagebox("提示","用户名不存在!")
return
end if
pass = sle_2.text
select password into :temp2 from people where user_id = :user
using sqlca;
if pass <> temp2 then
messagebox("提示","口令错误!")
return
end if
select admin into :temp3 from people where user_id = :user
using sqlca;
a=temp3
open(w_main)
close(w_1)
4.2主界面设计
图4-3主界面
4.2.1主界面的open()事件
if a = '1' then
w_main.cb_1.enabled=true
w_main.cb_2.enabled=true
w_main.cb_3.enabled=true
w_main.cb_4.enabled=true
w_main.cb_5.enabled=true
w_main.cb_7.enabled=true
w_main.cb_6.enabled=true
else
w_main.cb_1.enabled=false
w_main.cb_2.enabled=false
w_main.cb_7.enabled=false
end if
4.3密码修改设计
4-3密码修改界面
4.3.1确认按钮clicked()事件
string user_id,pass
int r
select user_id ,password into :b,:pass from people where password=:sle_1.text and user_id=:b
using sqlca;
if sqlca.sqlcode =0 then
if sle_2.text=sle_3.text then
update people set password=:sle_2.text where user_id=:b;
commit using sqlca;
messagebox("提示","密码修改成功!")
open(w_main)
close(w_7)
return
else
r=messagebox("提示","新密码有误!",question!,yesno!,2)
if r = 1 then
sle_1.text=""
sle_2.text=""
sle_3.text=""
else
open(w_main)
close(w_7)
return
end if
end if
else
r=messagebox("提示","旧密码有误!",question!,yesno!,2)
if r = 1 then
sle_1.text=""
sle_2.text=""
sle_3.text=""
else
open(w_main)
close(w_7)
return
end if
end if
4.4用户注册设计
4-4用户注册界面
4.4.1确定按钮clicked()事件
string ls_id,ls_name,ls_password,ls_admin,ls_temp
ls_id=sle_1.text
ls_name=sle_2.text
ls_password=sle_3.text
ls_admin=ddlb_1.text
string aa
if sle_1.text=''or sle_2.text=''or sle_3.text=''or ddlb_1.text=''then
messagebox("提示!","用户编号,用户名,密码或角色不能为空!")
return
end if
select user_id into :aa from people where user_id=:sle_1.text
using sqlca;
if sqlca.sqlcode=0 then
messagebox("提示!","此用户已存在!")
else
if ls_admin='2' then
insert into people
values(:ls_id,:ls_name,:ls_password,:ls_admin);
messagebox("提示!","创建新用户成功!")
open(w_main)
close(w_5)
else
if ls_admin='1'then
insert into people
values(:ls_id,:ls_name,:ls_password,:ls_admin);
messagebox("提示!","创建新管理用户成功!")
open(w_main)
close(w_5)
else
end if
end if
end if
commit;
4.5用户注销界面设计
4-5用户注销界面
4.5.1查询按钮clicked()事件
string s
integer i
i=tab_1.tabpage_2.ddlb_2.SelectItem(ddlb_2.text, 0)
choose case i
case 1
s="user_id"
case 2
s="user_name"
end choose
if s<>"" then
s=s+"= "+ "'"+tab_1.tabpage_2.sle_4.text+"'"
end if
tab_1.tabpage_2.dw_1.setfilter(s)
tab_1.tabpage_2.dw_1.filter()
4.5.2删除按钮clicked()事件
string s
integer i
i=tab_1.tabpage_2.ddlb_2.SelectItem(ddlb_2.text, 0)
choose case i
case 1
s="user_id"
case 2
s="user_name"
end choose
if s<>"" then
s=s+"= "+ "'"+tab_1.tabpage_2.sle_4.text+"'"
end if
tab_1.tabpage_2.dw_1.setfilter(s)
tab_1.tabpage_2.dw_1.filter()
5测试总结
通过这次的数据库课程设计,独立完成了图书销售管理系统的设计,从这次的系统设计中我领略了一下几点:1)数据库应用系统的开发设计是一个规范化的过程,需要遵循以定的方式方法与开发设计步骤;2)开发一个数据库应用系统,通常要经过调查分析、数据建模、功能设计、选择数据库系统、选择数据库访问技术等5个阶段;3)数据库关系模式的设计非常的重要,使整个系统的设计中心,其设计合理否,将全面影响整个系统的成功实现。
图书馆在正常运营中总是面对大量的读者信息、书籍信息以及两者相互作用产生的借书信息、还书信息。需要对读者资源、书籍资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利于提高管理效率。
根据这一要求,我们小组利用SQL Server2005和PowerBuilder 9.0制作了简易的图书馆管理系统。
通过了这次课程设计,我更加深入的了解了操纵数据库的知识。并且对数据库里面的存储过程有了比较深入的了解。经过大概1个多星期的奋斗,我完成了我们的图书馆管理系统的数据库课程设计任务。
这次数据库课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。从做这个数据库开始无论遇到什么困难,我都没有一丝的放弃的念头。出于对知识的渴望,出于对新技术的好奇,出于对一切未知的求知。
参考文献
[1] 王相林,《数据库理论与应用》,清华大学出版社,2003
[2] 石硕,《数据库应用》,机械工业出版社,2003
[3] 陈月波,《数据库理论与实践》,科学出版社,2003
[4]徐大伟.基于Web服务的分布式应用的事务处理[J].计算机系统应用,2007
[5]李伟群,邬家炜.基于J2EE的分布式Web应用系统框架设计[J].现代计算机:下半月版,2008
[6]孙卫琴.基于MVC的Java Web设计与开发[M].北京:电子工业出版社,2008
展开阅读全文