图书馆书籍管理系统
- 格式:doc
- 大小:986.00 KB
- 文档页数:14
课程设计课程设计名称:卓越书籍信息管理系统专业班级:学生姓名:学号:指导教师:1需求分析1.1系统需求众所周之,书店里书籍种类繁多,数量又很大,而且现在的书店大都采用的是会员制。
为了便于书籍的管理和控制和对会员进行有效的管理,建立相应的信息管理系统就很必要.。
建立的卓越书籍信息管理系统主要有如下功能:1书籍信息的输入,如:书名,条码,定价,内容简介和借出时间2会员信息的输入,如:会员证号,姓名,性别和联系电话3信息的查询、修改1.2可行性分析1技术可行性系统的性质为MIS或财务软件,因而数据库的设计与操纵是系统设计的核心。
我们在大一和大二的时候除了学习有关计算机的基础知识,还学习了VB和VF等编程语言,同时在上学期我们在专业课老师的指导下用ASP和SQL技术做了一个学生信息管理系统,具备一定的系统分析与设计能力,熟悉数据库的设计与操纵。
2人员可能性我有学生信息管理系统的开发经验,目前时间充足,同时还有一定的相关知识和能力的积累,可以完成开发任务。
3时间、设备可能性系统设计与开发工作预计耗时三个星期,本人很有信心能够保证按时完成任务。
实验设备主要是计算机,可以使用机房机器或在宿舍借用同学机器来完成工作。
1.3 运行环境软件环境:Win9x/NT/2000/XP/2003硬件环境:硬件配置要求: CPU:1G Hz以上;内存: 128M 以上;硬盘: 20G 以上;网络: 10M 网卡1. 4开发工具和编程语言开发工具采用的开发工具是VF 。
开发语言集成开发语言的数据库管理系统,内嵌SQL查询语言。
2 概要设计2.1数据库设计本系统中所涉及到的主要实体共有4个数据表:表2.1-2.4表2.1管理员信息表:表2.2会员信息表:表2.3借书信息表:表2.4书籍信息表:2.2系统功能模块图根据系统功能模块的相互关系绘制卓越书籍信息管理系统的功能模块图2.1所示:图2.1卓越书籍信息管理系统功能模块3 详细设计3.1主程序设计卓越书籍信息管理系统主程序代码如下:set talk offset default to "E:\卓越书籍信息管理系统"_screen.autocenter=.t.clear alldo form 登陆.scxread events3.2系统功能模块设计及其部分代码:图3.1登陆界面1登陆模块,如图3.1输入用户名和密码,如果数据库中管理员信息表中记录与输入信息相符,登入主界面;不符则弹出弹出“输入错误,请重新输入!”信息。
实现代码如下:登陆:select 管理员信息n1=alltrim(thisform.text1.value)n2=alltrim(thisform.text2.value)locate for 用户名=n1if found()sele 密码from 管理员信息where 用户名=n1 into cursor tempif 密码=n2do form 主界面.scxthisform.releaseelsemessagebox('输入错误,请重新输入!',48,'注意')endifendif退出,其对应代码如下:quit图3.2主界面2主界面,如图3.2主界面包括查询,添加,修改。
密码修改几个功能按扭。
点击任一按扭,都会进入相应的界面。
对应代码如下:查询:do form 查询添加:do form添加修改:do form修改密码修改:do form密码修改退出:quit图3.3借书信息查询3查询模块,如图3.3在查询模块中,包括会员信息,书籍信息和借书信息三部分。
会员信息是按会员证号进行查询,书籍信息是按条码查询,借书信息查询可分为按证号查询和按姓名查询两种方式。
选择查询方式,然后输入对应内容。
如果可以从所建数据库中借书信息表中找到对应记录,则可调出该表中其他相应信息,实现查询功能。
对应代码如下:查询:m=alltrim(thisform.pageframe1.page3.text1.value)m1=thisform.pageframe1.page3.text3.valuem2=thisform.pageframe1.page3.text4.valuem3=thisform.pageframe1.page3.text5.valuedo casecase thisform.pageframe1.page3.optiongroup1.value=1select 借书信息loca for 证号=mif found()thisform.pageframe1.page3.text3.value=借书信息.条码thisform.pageframe1.page3.text4.value=借书信息.书名thisform.pageframe1.page3.text5.value=借书信息.借出时间endifcase thisform.pageframe1.page3.optiongroup1.value=2select 借书信息loca for 姓名=mif found()thisform.pageframe1.page3.text3.value=借书信息.条码thisform.pageframe1.page3.text4.value=借书信息.书名thisform.pageframe1.page3.text5.value=借书信息.借出时间endifendcase取消:THISFORM.RELEASE图3.4会员信息添加4添加模块,如图3.4在添加功能模块中,同样也包括会员信息,书籍信息和借书信息添加三部分。
会员信息的添加是在对应界面中输入要求输入的信息,如会员证号、姓名、性别和学号,然后找到所建数据库中的会员信息表中的尾记录,在其后边添加输入的新会员的信息。
对应代码如下:添加:N1=ALLTRIM(thisform.pageframe1.page1.TEXT1.V ALUE)N2=ALLTRIM(thisform.pageframe1.page1.TEXT2.V ALUE)N3=ALLTRIM(thisform.pageframe1.page1.TEXT3.V ALUE)N4=ALLTRIM(thisform.pageframe1.page1.TEXT4.V ALUE)SET EXACT ONDO CASECASE N1=""MESSAGEBOX('不能输入空值!',48,'注意')thisform.pageframe1.page1.TEXT1.SETFOCUSCASE N2=""MESSAGEBOX('不能输入空值!',48,'注意')thisform.pageframe1.page1.TEXT2.SETFOCUSCASE N3=""MESSAGEBOX('不能输入空值!',48,'注意')thisform.pageframe1.page1.TEXT3.SETFOCUSCASE N4=""MESSAGEBOX('不能输入空值!',48,'注意')thisform.pageframe1.page1.TEXT4.SETFOCUSOTHERWISEA=MESSAGEBOX('确认添加新纪录到表1!',1+64+0,'提示信息') IF A=1SELE 会员信息GO BOTTOMINSERT INTO 会员信息V ALUES(N1,N2,N3,N4)MESSAGEBOX('新用户信息添加成功!',64,'提示信息') ENDIFENDCASE取消:thisform.pageframe1.page1.TEXT1.V ALUE="" thisform.pageframe1.page1.TEXT2.V ALUE=""thisform.pageframe1.page1.TEXT3.V ALUE=""thisform.pageframe1.page1.TEXT4.V ALUE=""thisform.pageframe1.page1.SETFOCUS退出:thisform.release图3.5书籍信息修改5修改模块,如图3.5 在修改模块中,也有会员信息修改,书籍信息修改和借书信息修改三部分。
其中会员信息和借书的修改是修改会员证号外其他信息,书籍信息的修改是修改条码外的其他信息。
书籍信息修改界面,输入条码名,和新的书名,定价,和内容简介信息,点击“修改”,系统提示“是否修改信息”,点击“确定”,系统提示“用户信息修改成功!”。
点击“取消”,实现取消信息修改的命令对应代码如下:修改:N1=ALLTRIM(thisform.pageframe1.page2.TEXT1.V ALUE)N2=ALLTRIM(thisform.pageframe1.page2.TEXT2.V ALUE)N3=ALLTRIM(thisform.pageframe1.page2.TEXT3.V ALUE)N4=ALLTRIM(thisform.pageframe1.page2.TEXT5.V ALUE)SET EXACT ONDO CASECASE N1=''MESSAGEBOX('不能输入空值!',48,'注意')thisform.pageframe1.page2.TEXT1.SETFOCUSCASE N2=''MESSAGEBOX('不能输入空值!',48,'注意')thisform.pageframe1.page2.TEXT2.SETFOCUSCASE N3=''MESSAGEBOX('不能输入空值!',48,'注意')thisform.pageframe1.page2.TEXT3.SETFOCUSCASE N4=''MESSAGEBOX('不能输入空值!',48,'注意')thisform.pageframe1.page2.TEXT5.SETFOCUSOTHERWISEA=MESSAGEBOX('确认添加新纪录到书籍信息!',1+64+0,'提示信息')IF A=1SELE 书籍信息GO BOTTOMUPDATE 书籍信息set 书名=N2,定价=val(N3),内容简介=N4 WHERE 条码=n1 MESSAGEBOX('用户信息修改成功!',64,'提示信息')ENDIFENDCASE取消:thisform.pageframe1.page2.TEXT1.V ALUE=""thisform.pageframe1.page2.TEXT2.V ALUE=""thisform.pageframe1.page2.TEXT3.V ALUE=""thisform.pageframe1.page2.TEXT5.V ALUE=""thisform.pageframe1.page2.SETFOCUS4调试分析4.1模块测试在“添加记录”模块的运行测试中,通过输入数据,发现在“会员证号”、“定价”、“借出时间”等几个只能输入数字的文本框中应该做一些输入性限制,使用户无法输入汉字、标点符号等非数字型数据。