DELPHI课程设计任务书1.docx
《DELPHI课程设计任务书1.docx》由会员分享,可在线阅读,更多相关《DELPHI课程设计任务书1.docx(15页珍藏版)》请在冰点文库上搜索。
DELPHI课程设计任务书1
课程设计任务书
题目:
图书管理系统
学号:
2008121101
姓名:
张
专业:
计算机科学与技术
课程:
DELPHI应用程序设计
指导教师:
职称:
完成时间:
2010年12月----2010年12月
计算机科学系制
2010年12月20日
课程设计任务书及成绩评定
课程设计的任务和具体要求
《Delphi应用程序设计》是一门实践性较强的课程,在学完该课程之后进行综合课程设计,有助于加深学生对Delphi编程理论方面的理解,从而更好地掌握使用Delphi语言开发应用系统的技术;有助于学生将课堂所学的知识和实践有机结合起来,初步掌握应用系统开发的步骤和方法,提高分析和解决实际问题的能力,从而培养学生理论与实践相结合和实践创新的能力。
学生在学习完上述课程之后,应能依据所学的知识及课外查阅的资料完成预定的综合课程设计任务。
指导教师签字:
日期:
指导教师评语
成绩:
指导教师签字:
日期:
课程设计所需软件、硬件:
硬件:
电脑一台
软件:
sqlserver2005、DELPHI7.0
课程设计进度计划
起至日期
工作内容
备注
2010-12-12
至
2010-12-29
选题、构思、创建数据库、界面设计、程序编写、调试、修改、完善
参考文献、资料索引
序号
文献、资料名称
编著者
出版单位
1.DELPHI应用程序设计李目海著电子科技大学出版社
2.数据库系统概论王珊、萨师煊高等教育出版社
3.DELPHI7.0程序设计上机指导童爱红、张琦著清华大学出版社
4.《Delphi程序设计实用教程》叶核亚著电子工业出版社
5.《Delphi数据库程序设计教程》刘瑞新张志纲张兵义编著机械工业出版
一、引言
图书馆作为一种信息资源的集散地,包含很多信息数据的管理,随着图书数量的不断增多和图书馆规模的不断扩大,管理这些庞大的图书资源显得非常困难。
根据调查得知,传统的图书管理主要方式是手工管理,比如对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行;对借阅者的借阅权限以及借阅天数等用人工计算、手抄进行。
这种传统的数据信息处理方式,不仅工作量大,容易出错,而且由于数据繁多,容易丢失,不易查找。
基于这些问题,本文所设计的图书管理系统,针对校内图书馆情况,对图书进行管理,可以使图书管理工作规范化、系统化、科学化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改。
二、系统需求分析
图书管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
图书管理系统需要满足来自三方面的需求,第一方面是图书馆工作人员通过图书馆管理系统来管理各类图书,使得图书馆的各项工作能够有序地进行,从而满足学生的需求;第二个方面是学生们能通过该系统来查询图书馆中的各类图书,来确定自已需要的书籍的借阅情况,为借阅做好准备;第三个方面是对图书馆数据库管理的需求,数据库在DBMS中扮演着极其重要的角色,所以能对系统数据库进行安全和全面地管理也成为了图书管理者的一个重要需求。
这三个方面形成了学校图书馆管理系统的一个有机工作整体,采用计算机平台进行自动化信息处理,可方便快捷地共享信息、交流信息,高效地协同工作。
在软、硬件方面对系统的需求,软件要求易学,界面友好,容易掌握,可以很简单方便的管理各种图书信息。
硬件需求的配置要求不能太高,这样可以很好的适应当前的学校图书馆。
三、系统功能模块设计
系统完成功能主要有:
系统管理:
管理用户登录,退出系统
读者管理:
管理读者的相关信息,读者查询系统
图书管理:
管理图书馆的图书、新书入库、图书查询
借阅管理:
图书的借阅和图书的归还
关于系统:
系统借书的规则
主要功能模块流程图
四、数据库表的结构:
图书表:
借阅信息表:
登录信息表:
读者信息表:
五.功能实现:
登陆按钮代码:
form2:
=tform2.Create(self);
form2.Show;//调出登录窗口
退出系统代码:
returnvalue:
=application.MessageBox('确定退出吗?
','提示',mb_iconquestion+
mb_yesnocancel+mb_defbutton1);//提示窗口
casereturnvalueof
mryes:
form1.Close;
mrno:
action:
=nil;
mrcancel:
action:
=nil;
2.登录界面:
有label、edit、combobox、button、adoquery等组件。
实现代码:
withadoquery1do
begin
close;
sql.clear;
sql.add('select*fromloginwhere借书证号码=:
借书证号码and密码=:
密码and权限=:
权限');
parameters.ParamByName('借书证号码').Value:
=trim(edit1.Text);
parameters.ParamByName('密码').Value:
=trim(edit2.Text);
parameters.ParamByName('权限').Value:
=trim(combobox1.Text);
ifedit1.Text=''then
begin
application.MessageBox('请输入用户名','提示信息',64);
edit1.SetFocus;
exit;
end;
ifedit2.Text=''then
begin
application.MessageBox('请输入密码','提示信息',64);
edit2.SetFocus;
exit;
end;
ifcombobox1.Text=''then
begin
application.MessageBox('请选择您的身份','提示信息',64);
combobox1.SetFocus;
exit;
end;
open;
end;
ifadoquery1.RecordCount<>0then
begin
Username:
=edit1.Text;
Pwd:
=edit2.Text;
limit:
=combobox1.Text;
application.MessageBox('登录成功','提示信息',64);
form1.show;
form2.Close;
ifform2.ComboBox1.Text='管理员'then
begin
form1.N1.Enabled:
=true;
form1.N2.Enabled:
=true;
form1.N3.Enabled:
=true;
form1.N4.Enabled:
=true;
form1.N5.Enabled:
=true;
form1.N7.Enabled:
=true;
form1.N10.Enabled:
=true;
form1.N11.Enabled:
=true;
end
else
form1.N1.Enabled:
=true;
form1.N2.Enabled:
=true;
form1.N7.Enabled:
=true;
form1.N3.Enabled:
=true;
form1.N10.Enabled:
=true;
form1.N11.Enabled:
=true;
form1.N4.Enabled:
=true;
form1.N9.Enabled:
=true;
end
else
application.MessageBox('输入的用户名或密码错误','提示信息',64);
except
application.MessageBox('登陆失败','提示信息',64);
end;
end;
3.新书入库界面:
label、edit、adotable等组件。
实现代码:
ifedit1.Text<>''then
begin
adotable1.Insert;
adotable1['图书编号']:
=edit1.Text;
adotable1['图书名称']:
=edit2.Text;
adotable1['作者']:
=edit3.Text;
adotable1['出版社']:
=edit4.Text;
adotable1['价格']:
=edit5.Text;
adotable1.Post;
edit1.Text:
='';
edit2.Text:
='';
edit3.Text:
='';
edit4.Text:
='';
edit5.Text:
='';
end
else
showmessage('均不能为空');
4.查询界面:
实现代码:
begin
adoquery1.close;
ifradiobutton1.Checkedthen
adoquery1.sql.clear;
adoquery1.sql.add('select*frombookwhere图书编号=:
图书编号');
adoquery1.parameters.ParamByName('图书编号').Value:
=trim(edit1.Text);
ifedit1.Text=''then
begin
application.MessageBox('请输入书号','提示信息',64);
edit1.SetFocus;
exit;
end;
adoquery1.Open;
end;
ifadoquery1.RecordCount<>0then
begin
bkno:
=edit1.Text;
end
else
application.MessageBox('不存在此书号的书','提示信息',64);
ifradiobutton2.Checkedthen
begin
adoquery1.sql.clear;
adoquery1.sql.add('select*frombookwhere图书名称=:
图书名称');
adoquery1.parameters.ParamByName('图书名称').Value:
=trim(edit1.Text);
ifedit1.Text=''then
begin
application.MessageBox('请输入书名','提示信息',64);
edit1.SetFocus;
exit;
end;
adoquery1.open;
end;
ifadoquery1.RecordCount<>0then
begin
bkname:
=edit1.Text;
end
else
application.MessageBox('输入的书名不存在','提示信息',64);
读者管理(新用户注册)界面:
实现代码:
ifedit1.Text<>''then
begin
adotable1.Open;
adotable1.Insert;
adotable2.Insert;
adotable1['借书证号码']:
=edit1.Text;
adotable1['姓名']:
=edit2.Text;
adotable1['年龄']:
=edit3.Text;
adotable1['性别']:
=edit4.Text;
adotable1['单位']:
=edit5.Text;
adotable2['借书证号码']:
=edit1.Text;
adotable2['密码']:
=edit9.Text;
adotable2['权限']:
=combobox1.Text;
adotable1.Post;
adotable2.Post;
edit1.Text:
='';
edit2.Text:
='';
edit3.Text:
='';
edit4.Text:
='';
edit5.Text:
='';
edit9.Text:
='';
end
else
showmessage('均不能为空');
6.图书借阅界面:
实现代码:
begin
adotable1.Open;
adotable1.Insert;
adoquery1.Open;
adoquery1.Insert;
adotable1['借书证号码']:
=form2.Edit1.Text;
adotable1['图书编号或名称']:
=edit1.Text;
adotable1['借阅日期']:
=now();
adotable1['应归还日期']:
=now()+30;
adotable1.Post;
adoquery1.Close;
end;
8.图书归还界面:
实现代码:
begin
adotable2.Insert;
adotable1.Delete;
application.MessageBox('归还成功','提示信息',64);
end;
六、心得体会:
在期末课程设计中,我选择的是设计一个图书管理系统,这对我来说是一次尝试与创新的过程,也可以说是一个挑战的过程,毕竟以前没有作过,缺少经验。
现在利用自己学到的知识设计并制作一个图书管理系统,这本身就是一个知识转化为生产力的过程,我很兴奋。
在具体的设计与实施中,我看到并感受到了一个管理系统从无到有的过程,对具体的设计步骤、思路、方法、技巧都有了进一步的了解,并感受深刻。
在设计中基本能按照规范的方法和步骤进行,首先对现有的系统进行调查,并查阅有关资料,最后确定设计方案,然后设计并制作,实施过程中我深刻的认识到认真执行管理系统软件标准的重要性。
同时,对这学期所学的DELPHI应用程序设计和数据库系统概论两门课程有了更进一步的掌握,也很好的锻炼了我的动手实践能力。