信息管理课程设计图书管理系统开发完整版附代码分析Word文件下载.docx
- 文档编号:3072804
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:25
- 大小:772.36KB
信息管理课程设计图书管理系统开发完整版附代码分析Word文件下载.docx
《信息管理课程设计图书管理系统开发完整版附代码分析Word文件下载.docx》由会员分享,可在线阅读,更多相关《信息管理课程设计图书管理系统开发完整版附代码分析Word文件下载.docx(25页珍藏版)》请在冰点文库上搜索。
2.2关系型数据库的实现
VisualFoxpro6.0本身就是一种关系数据库,它体积虽小但功能强大,支持多种平台,几乎拥有其它大型关系型数据库的所有功能,如触发器、存储过程等。
由于VisualFoxpro6.0本身已经是一个完整的数据库系统,所以在项目的开发阶段,单机即可开发大型数据库应用。
开发完成后,几乎不用更改,把开发出的应用系统升迁到网络中即可运行在其它数据库上。
VFP可以通过标准的SQL语句及自身的语言来访问数据库,从而实现数据检索。
2.3VisualFoxpro简介
MicrosoftVisualFoxPro6.0是创建高性能、优秀数据库组件和解决方案的优秀工具。
VisualFoxPro6.0提供给开发人员必要的工具管理数据--组织信息表格、运行查询、创建关系型数据库管理系统(DBMS)、为终端用户设计数据管理应用程序。
创建高性能的可重用组件。
VisualFoxPro6.0是一种优秀的组件创建工具,创建出的组件可以在客户机/服务器、Internet、intranet环境中使用。
这些组件是典型的控制服务器和处理本地异地数据的其他组件的中间级事务,
方便学习使用。
VisualFoxPro6.0较从前版本更容易学习和使用,它提供了更多的内置功能和在应用程序中使用的可重用组件,使那些使用MicrosoftFoxPro2.x的开发人员很容易掌握新版本。
更好的开发环境。
VisualFoxPro6.0有一套更好的开发环境。
改进的开发环境和开发工具使开发人员可以更充分地发挥他们的能力去进一步改进环境。
预编译类库提供了一般功能。
面向对象程序设计可以大大减少开发时间,因为开发人员可以根据应用程序的需要重用这些类。
重用的关键在于拥有一个庞大的已测试类库集。
面向对象应用程序框架。
面向对象应用程序框架由提供用于任何应用程序核心服务的类组成。
因为开发人员不需要在每次创建新应用程序时都重写那些代码,他们可以把精力集中在特定应用程序代码上。
开发和维护都更简单了,因为每个使用框架创建的应用程序具有相似的结构和行为。
对类库更好的管理。
VisualFoxPro中使用面向对象程序设计性能,开发人员可以创建可重用类库。
但是管理类是一项耗时耗力的工作。
VisualFoxPro6.0的工具简化了类库管理,因此开发人员可以在应用程序开发中简单地定位和使用相应的类。
创建更好的应用程序。
当VisualFoxPro开发人员在客户机/服务器和Internet应用程序中创建和使用组件时,创建牢固可靠的应用程序更为重要。
组件越是稳定可靠,就越是容易创建、测试、配置基于组件的应用程序。
应用程序之间更方便的数据共享。
使用OLE拖放工具(DragandDrop)在应用程序之间实现数据共享,更加便利地使用Windows平台。
向VisualFoxPro中增加这种数据共享能力使得开发人员可以创建用户界面更加友好的应用程序。
同时,还使开发环境更容易使用。
可视化数据库工具。
客户机/服务器开发中,此开发工具具有查询、设计、改变计划、存储调试的功能。
使用VisualFoxPro的开发人员可以使用可视化数据库工具与SQLServer、Oracle相联系。
三、系统分析
3.1系统功能设计
“图书馆借阅管理信息系统”的主要功能有:
读者登陆、图书借阅、图书采编、读者信息管理和系统维护。
系统功能如下图1:
图1.1系统结构图
各子系统功能如下所述:
读者登陆
读者访问系统时系统将检验读者的名字和密码,经过注册的读者允许进入系统。
图书借阅系统
读者查找到所需图书后,在图书保留期内到图书馆办理借阅手续。
图书借阅系统处理图书借阅、还书、续借等手续。
图书采编体统
图书采购入库,经过编目等处理后,将其目录信息存入数据库,提供给读者检索适用。
目录信息包括图书编号、图书类别、书名、作者、出版社、定价、出版日期和数量等。
系统维护模块
系统维护模块主要为图书馆管理人员提供图书统计信息和读者统计信息,以便于管理人员从宏观上掌握图书馆运行的总体情况。
3.2可行性分析
可行性分析是在进行初步调查后所进行的对系统开发必要性和可能性的研究,所以也称为可行性研究。
信息系统也应从技术可行性,经济可行性和社会可行性三方面来论证。
通过长时间的观察与实践,我认为图书馆管理系统的可行性分析如下:
(1)经济可行性分析
作为图书馆这样的非商业性质的场所,其经济成分比重相对较少,主要是支出的费用:
其中包括设备购置费、软件开发费用、管理和维护费、人员工资和培训费等。
由于各个图书馆实行统一操作,系统共享,其设备购置,人员工资,维护费用相对较少,前期的资金投入主要集中于购置图书上。
建立信息中心,可将来自各方面的信息集中管理,提高图书管理的计划性和预见性,快速地反馈市场信息。
(2)技术可行性分析
技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作,硬件、软件配置能否满足开发者的需要,各类技术人员的数量,水平,来源等。
图书馆管理系统的工作主要是在读者和图书馆之间架起一座桥梁,能相互沟通信息和处理信息。
这一特点非常适合计算机特点,通过网络internet技术,发挥计算机的信息传输速度快、准确度高的优势。
计算机硬件和软件技术的飞速发展,为系统的建设提供了技术条件。
(3)社会可行性分析
社会可行性有时也称为操作可行性,主要论证新系统在企业或机构开发和运行的可能性以及运行后可能一起的对企业或机构的影响,即组织内外是否具备接受和使用新系统的条件。
在当前信息技术飞速发展的大环境下,计算机技术和软件技术的更新是图书馆完全有可能也有能力采用这样先进的管理技术。
它对图书馆带来的影响可以看到:
对传统管理理念的冲击,可能引起管理层的变动和人员的调整。
对图书馆工作人员的要求提高,使图书馆在一定的可能下进行机构精简,迫使工作人员继续学习新知识,拓宽图书馆在市场环境下的生存空间。
对图书馆与读者之间业务方式的转变和扩充。
四、数据库逻辑设计
4.1数据库的概念
数据库是一种存储数据并对数据进行操作的工具。
数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。
计算机的数据库可以分为两类:
非关系数据库(flat-file)和关系数据库(relational)。
关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。
4.2数据库设计过程
创建任何一个数据库的第一步是仔细的规划数据库,设计必须
是灵活的、有逻辑的。
创建一个数据库结构的过程被认为是数据模
型设计。
(1)标识需要的数据;
(2)收集被标识的字段到表中;
(3)标识主关键字字段;
(4)绘制一个简单的数据图表;
(5)规范数据;
(6)标识指定字段的信息;
(7)创建物理表。
对设计的系统做整体的需求分析,提出一个逻辑结构和相应的物理结构,然后开始具体实施方案。
4.3数据库的需求分析
图书管理系统是为了方便管理人员对图书的管理,读者的管理,以及读者对图书的借阅归还等。
为了提高大家的时间和工作效率,节约运行费用而设计的。
所以设计数据库时必须满足这些条件。
图书管理系统的主要功能为:
图书管理,读者管理,图书查询,读者查询
其中图书管理分为:
图书入库,图书删除,图书借阅,图书归还,图书查询;
读者管理分为:
读者添加,更新,读者删除。
4.4数据库规划
(1)、系统流程
根据图书管理系统的需求,分析系统流程:
(2)、建立E-R
图书E-R
读者E-R
管理员E-R
部分处理E-R
管理员对读者和图书进行管理,是读者和图书数据库进行联系。
读者和图书之间需要一个过度的数据库进行联系。
3、建立表单
(1)、参照VFP自带的数据库,可以很方便地创建本系统,将要使用的本地数据库,利用项目管理器中的表单设计功能,对表单进行添加和属性的修改。
表说明如下:
Book_recno.dbf
借书登记表
Book_table.dbf
图书资料表
Group_table.dbf
图书类别查询中间表
Pass_word.dbf 管理员ID密码表
User_table.dbf
读者资料表
B_table.dbf
读者类别查询中间表
(2)、在项目中创建一个数据库,并把五个表添加到数据库中。
在图书表中,为书号建立主索引,为作者编号建立普通索引,通过该索引和作者表之间创建关联。
在作者表中,为作者编号设置主索引。
在读者表中,读者编号为主索引。
在借阅表中,为读者编号、书号字段创建普通索引,通过书号和图书表之间关联;
通过读者编号和读者表之间关联。
在用户表中,为读者编号建立索引,通过读者编号和读者表建立关联。
最终形成如下图所示的数据库。
4、界面设计
(1)、系统启动表单
在项目中创建一个表单,命名为启动。
如下图,添加一个标签控件,两个命令按钮,按照自己的喜好分别设置他们的属性。
在登录按钮的Click事件下写入如下代码:
ThisForm.Release
Doform身份验证
双击退出按钮,并在它的Click事件写下如下代码:
Clearevent
(2)、创建身份验证表单
在项目中创建,一个表单,保存为“身份验证”并按以下图添加控件,设置属性。
打开他的数据工作环境,把“用户”表添加到其中,在进入的click事件写入如下代码:
locatefor用户名=thisform.Combo1.value
ifalltrim(thisform.Text1.value)<
>
alltrim(密码)
messagebox("
读不起,密码有误!
你不能进入本系统"
0,"
请注意:
"
)
else
thisform.release
doform主表单
endif
在退出的click事件下写如下代码:
thisform.release
clearevent
(3)、创建住表单
创建一个表单保存为“主表单”并且设置它的ShowWindows属性为“2——作为顶层表单”
如图设置它的其他控件属性。
设置Form1对象的init事件代码为:
设置form1对象的destroy事件代码为
releasemenumenuxextended
设置form1对象的activate事件代码为
thisform.Label1.left=(thisform.width-thisform.Label1.width)/2
thisform.Label2.left=(thisform.width-thisform.Label2.width)/2
thisform.Label3.left=(thisform.width-thisform.Label3.width)/2
thisform.Label1.top=thisform.height/6
thisform.Label2.top=thisform.height*2/6
thisform.Label3.top=thisform.height*3/6
thisform.refresh
设置form1对象的Resize事件代码为:
(4)、创建主菜单
如下图创建主菜单表单,并且选择“显示”“常规选项”“顶层表单”
分别设置各个子菜单如下:
信息录入
读者服务
信息维护
信息查询
报表打印
然后分别在各自的过程中写入相应的调用表单的命令。
例如在读者登记菜单的过程中写入:
Doform读者信息
(5)、创建主程序文件
创建主程序文件,将其保存为“主程序”在代码编辑窗口中,输入以下代码:
clearall
settalkoff
setdefaulttoc:
\综合设计
doform启动
modifywindowsscreentitle"
图书管理系统"
readevent
quit
五、表单设计
1、图书登记表单
如下图,创建一个名为图书登记的表单,在他的数据环境中添加表作者和图书。
然后拖动相应的字段到表单中,按如图所示的位置放好。
添加一个按钮组如图。
设置按钮组的Click事件的代码为:
docase
casethis.value=1
gotop
casethis.value=2
ifnotbof()
skip-1
endif
casethis.value=3
skip
ifeof()
casethis.value=4
gobottom
casethis.value=5
sure=messagebox("
需要增加图书信息吗?
4+32+256,"
确认"
ifsure=6
appendblank
casethis.value=6
需要删除当前图书信息吗?
delete
pack
casethis.value=7
thisform.release
endcase
2、借书登记表单
如图新建一个表单,在他的数据环境中添加,图书表和借阅表,把相应的字段拖入表单中。
按如图所示的位置放好
如图添加一个命令按钮组并在他的click事件中写入如下代码:
需要增加借书信息吗?
需要删除当前借书信息吗?
设置文本框“txt书号”的lostfocus事件代码为:
select图书
locateforalltrim(书号)=alltrim(thisform.txt书号.text)
iffound()
thisform.txt书名.refresh
书库里无此书,请重输!
256,"
thisform.txt书号.setfocus
3、读者信息维护表单
创建一个表单,在其数据环境设计器中添加读者表,在表单上添加一个表格对象,一个命令按钮组对象,如图设置他们的属性。
设置按钮的Click事件代码为:
需要添加读者信息吗?
确定要删除当前读者信息吗?
)ifsure=6
delete
thisform.Grid1.refresh
4、读者借书信息查询表单
创建一个表单,如下图设置各个控件的属性。
在他的数据环境中添加,读者表和借阅表。
在他的查询按钮的click事件下输入如下代码:
setexacton
thisform.Grid1.recordsource="
select读者编号,读者姓名,书号,借书日期,还书日期,from借阅wherealltrim(读者编号)==alltrim(bo1.value)"
setexactoff
六、对自己开发的系统地评价
丛客观的角度上来说,我自己开发的这套系统还很不成熟,有着不少的漏洞与缺点。
比如说没有将管理人员与普通读者分开进行登陆,这样的话会让整个系统更专业,更人性化。
其次,我没有设立图书查询的模块,这在一个优秀的图书管理信息系统中是不可能出现的情况,因为我个人在VF上学艺不精,致使无法完成图书查询处的代码设计,故将其舍弃,实属万般无奈。
但我在图书编目、图书典藏、还有图书征订这几个模板的设计上还是下了一番苦心的。
仔细看看,还是有一定的可取之处。
总的来说,我所设计的图书管理信息系统还是可以适应小团体使用的。
七、总结
1.工作的评价
在为期一个星期的课设中,我始终以一个积极认真的态度来面对我的课题。
我想用我的态度来弥补一些我在技术和能力上的不足。
坦白的说,在课设刚开始的两天里,我也有过打堂鼓的思想,但是随着自己的系统日趋完善,我的自信心也逐渐恢复,让自己有了动力继续下去。
在设计开发过程中,有很多难题不可能靠我自己一个人解决,多亏了身边的同学与我的指导老师,给了我很多帮助。
希望自己在以后的学习生活中,可以改掉在课社中出现的浮躁问题,更上一层楼
2.收获、存在的问题以及建议
经过一个星期的开发和设计,学生成绩管理信息系统基本开发完成。
其功能基本符合用户的需求,能够完成大量的信息录入、自动生成统计报表功能,提供方便的查询功能和部分系统维护功能。
使用能户方便进行资料修改、更新、删除。
同时也考虑到减少数据冗余的问题,对于数据的一致性的问题也通过程序进行了有效的解决。
通过本次毕业设计,我基本掌握了VISUALFOXPRO编程,使我更进一步了解了面向对象编程的内涵,领略了VISUALFOXPRO的方便、高效使我觉得VISUALFOXPRO真的是很好的开发工具。
我也认识到自己在计算机许多专业知识方面还有许多欠缺。
在今后的日子里,我要加紧学习和工作,争取掌握更多的编程技巧,丰富和补充自己。
在开发过程中,通过老师的指导和帮助,我能按照进度一步一步地进行开发设计,并从老师身上学到很多东西。
老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益非浅。
无论在理论上还是在实践中,都给予我很大的帮助,这对于我以后的工作和学习都有一种巨大的帮助,在此对老师对我的指导和帮助表示诚挚的感谢!
这次毕业设计时间较短,本人对面相对象程序设计和VISUALFOXPRO开发工具的理解有限,学生成绩管理信息系统只能初步运用VISUALFOXPRO强大功能的一些基本控件。
因此,在设计过程中可能有漏洞或不尽如人意的地方,这有待于以后进一步完善。
请各位老师多提宝贵意见。
八、参考文献
[1]高林,周海燕.管理信息系统与案例分析.2004版.北京:
人民邮电出版社.11
月:
220页
[2][7-302-02799-4].张海潘.软件工程导论.[M]北京:
华大学出版社,1998:
356
页
[3]罗榜圣.管理信息系统.2005版.重庆:
重庆大学出版社,2005年9月:
323页.
[4]陈佳编著.信息系统开发方法教程.2000版.北京:
清华大学出版社,2000年3
338页
[5]薛成华主编.管理信息系统.2000版.北京:
清华大学出版社.2000年7月:
345
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息管理 课程设计 图书 管理 系统 开发 完整版 代码 分析