计算机应用专业毕业设计论文样板.docx
- 文档编号:12586584
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:41
- 大小:572KB
计算机应用专业毕业设计论文样板.docx
《计算机应用专业毕业设计论文样板.docx》由会员分享,可在线阅读,更多相关《计算机应用专业毕业设计论文样板.docx(41页珍藏版)》请在冰点文库上搜索。
计算机应用专业毕业设计论文样板
摘要
图书馆图书信息管理系统典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强,数据安全性好的数据库。
面对于后者则要求应用程序功能完备,易使用等特点。
经过以上分析,我们决定使用由Borland公司推出的Delphi开发工具。
Delphi是一种优秀的基于Windows的开发工具。
它继承了Pascal语言的严谨结构和优雅风格,以开发式的环境,完全地支持面向对象程序设计。
它有可视化的开发环境、简洁明快的编程语言、功能强大的组件、优化的源代码编译器、可扩展的数据库访问引擎、稳定性和高效性等特点。
关键字:
信息管理系统(MIS)、后台数据库、面向对象、数据库访问引擎。
第一章编程环境的简介
1.1面向对象的编程
Delphi是完全的面向对象的环境。
用户能用已经存在的组件创建新的对象,这些对象是可视的或不可视的,甚至可以是设计的窗体。
以可视化方式编写应用程序时,Delphi为大部分操作自动产生相关代码,如建立窗体,添加组件,事件处理等,这些代码包括类与对象的定义、属性设置、添加方法等等。
但当实际应用的需求超过Delphi所提供的功能时,我们也会根据需要编写创建自己的类与对象代码。
1.2实现菜单选项
菜单是程序最重要的特性之一,大多数程序都依赖一个定义良好的菜单使程序易于使用和维护,Delphi也提供了强大的创建菜单功能使程序更加标准。
菜单编辑器中,加亮显示的是当前正在编辑的菜单。
此时ObjectInspector属性对应当前菜单项,Caption属性是菜单项的显示文本,Name属性是菜单项的对象名称。
每次编辑完一个菜单项后,系统会自动在水平或垂直方向添加一个虚框,表示新添的菜单项。
还可以对菜单项进行移动、插入、删除、创建子菜单等操作。
1.3实现工具栏
Delphi6.0中使用工具栏的方法很多,包括CoorBar、ToolBr等组件构建工具栏。
CoorBa控件是一个可以在窗体上浮动的工具,同时也是其他Axtivex的容器。
通过在CoorBa中迁入其他空间,你可以向用户提供更好的灵活性和义用性。
ToolBr是工具条控件,是实现工具条的主体,是一个功能完善的工具栏组件,它带有自己的按钮(ToolButtn),并可将按钮设计成多种风格。
ToolBr组件在Win32选项卡上。
其属性及对象如下:
1、Align属性定义工具条在窗体中的位置。
2、ToolTipText属性是字符串类型,定义控件的提示字符。
3、Style属性定义按钮外观。
4、Imagelist属性定义与数据条对应的Imagelist控件名,该控件定义工具条按钮显示的图象。
1.4关于系统
本系统的要求如下:
●中央处理器:
IntelPentium166Mhz或更性能的CPU。
●操作系统:
MicrosoftWindows98/2000/Me,或WindowsNT4.0。
●物理内存:
64M
●硬盘空间:
Delphi6.0至少需要115MB。
●光驱
●VGA监视器
●鼠标或其他定位装置
●网络支持:
任何与MicrosoftWindows98/2000/Me兼容的网络。
第二章图书馆图书信息管理系统的简介
2.1图书馆图书信息管理系统的主要功能
每个学校都有图书馆,图书馆的系统主要可以分为两大块:
图书信息的服务系统和图书的综合管理系统。
图书的使用对象是借阅者,例如学生、教师;管理者是图书馆的管理员。
因此根据这些信息,本系统的主要功能就是:
实现图书馆图书信息的管理和维护,如用户信息管理、图书馆规则维护、新书入库、整理图书、修改图书、修改图书信息和进行查询等;以及服务系统的图书信息查询、图书的借出和归还等功能。
系统结构图
2.2系统结构
本系统是一个模拟系统,和实际的应用相比相对比较简单。
根据系统的功能要求,构造出的系统结构如上图所示。
2.3使用BDE连接桌面型数据库
本系统属于非服务器型数据库,也称为桌面数据库或非SQL数据库。
桌面型数据库属于本地型数据库,一般使用BDE方式连接,下图展示了它的连接方法:
用BDE连接桌面型数据库的一般方法
从图上可以看出,连接分三级:
数据集部分、数据源部分和数据控制部分。
第三章编程思路
3.1主要用到的控件
本系统主要利用Tquery控件来实现数据库查询功能,下面列出主要用到的控件。
1)主要的数据集控件是Tquery,同时还有Ttable。
2)数据访问控件:
TdataSource。
3)数据控制控件:
TDBGrid、TDBEdit、TDBMemo显示数据和提供交互修改界面。
4)TlistView控件用来显示查询结果。
5)其他控件有:
TmainMenu、Tpanel、TbitBtn、TstatusBar、Tmeno、Tedit、Tcombobox等。
3.2整体思路
在构造系统时,我们的思路是:
先从需求出发构造数据库表,然后再由数据库表结合需求划分系统功能模块。
这样,就把一个大的系统分解成了几个小系统。
这里把系统的层次划分成了三个部分:
一个是自由态:
即面向任何用户的界面,提供登录功能,以便不现身份的用户登录子系统;一个是一般用户态:
即图书服务子系统;还有一个是管理界面:
提供图书的管理和维护功能。
对于不同子系统之间的切换,我们采用了登录功能和用户注销功能。
系统划分了子系统后,下一步的工作是继续划分子系统的小模块。
先考虑在进入子系统时应该做什么,进子系统之后又应该做什么,提供那些服务等。
例如,对于图书信息服务子系统,在用户进入时首先得调用相关数据库表,找出用户的图书借阅情况;进入系统后,子系统得提供图书查询、图书借阅和还书的功能。
另外,针对本系统的特殊情况,同时也考虑系统的可移植性,在系统中增加了数据库路径的维护部分。
最后,考虑到系统安全性,还在系统中特别增加了“加密界面”的功能。
然后,就进入系统设计阶段。
对于系统的设计,要求严格按照上面的思路进行;首先,根据数据库和功能模块定制全局变量,并把其保存到一个单元文件中,然后顺序进行子系统的功能模块设计,直到最后完成。
在进行功能模块设计时,采用反复调试和修改的方法保证程序的正确性和可靠性。
第四章系统设计
4.1系统功能分析
本系统由两大子系统组成:
图书管理和维护子系统以及图书信息服务子系统。
4.1.1图书管理和维护子系统的功能包括:
1)新图书信息入库(建立信息库,以便查询和借阅)。
2)整理图书库(包括删除图书信息和统计图书信息)。
3)修改图书信息。
4)查询图书的借阅情况(包括借出情况查询、未借出情况查询和超时情况查询,同时还要知道:
如果某本图书被借出,那么可直接查询到借阅者的信息,以便催还等)。
5)图书馆的规则管理和维护(包括每人可借阅图书数目、第人每本书可持有天数以及每超时一天的罚金数目等)。
6)用户信息的管理和维护(例如删除已毕业学生信息、增加新生信息等)。
7)数据库路径的管理和维护,主要是为了提高系统的通用性而设置的。
4.1.2图书信息服务子系统的功能包括:
1)图书信息的查询(例如在借书前可先查询某图书是否被借出)。
2)图书的借阅(按图书馆的规则进行借阅,例如不超过5本,如果已有超过时借阅的图书,则在归还前不允许再借阅等等)。
3)图书的归还。
在本系统中,主要采用了“用户登录”和“注销”机制来进行子系统之间的切换,使用不同权限的用户能在对应的子系统下正常操作。
4.2系统功能模块设计
系统功能模块设计如图所示
系统功能模块
4..3数据流程图
使用数据流程图(DFD)可以反映出系统的主要功能、系统中数据的输入/输出情况、系统的处理流程以及系统与外部环境的关系等情况。
数据流程图是系统的总体设计图,它的绘制依据是现行系统的流程图。
如图所示是本系统主要的数据流程图。
系统数据流程图
第五章数据库设计
5.1数据库需求分析
数据库的需求分析是进行系统功能划分和系统设计最重要的一个环节,根据系统数据流程图,可以得到四个数据库表:
图书信息表(Book_info.db)、用户信息表(User_info.db)、学生信息表(Stud_info.db)和借出信息表(Borrow_into.db),以下为系统所需的数据项和数据结构的使用情况:
1)图书信息查询:
调用图书信息表、借出信息表、查询图书编号、书名、作者、出版社、类别、是否借出等基本信息表。
2)图书的借阅:
调用图书信息表和用户信息表,生成包括图书编号、学生证号和借出时间三项的借出等基本信息。
3)图书归还:
调用用户信息表和借出信息表,删除借出表中的相应信息等。
4)管理和维护图书信息:
包括图书编号、书名、作者、出版社、出版时间、类别等数据项目的管理和维护。
5)用户信息维护:
调用用户信息表,设置用户名、学生证号、等级数据项。
6)学生信息维护:
调用学生信息表,设置学生证号、姓名、性别、系别和专业数据项。
5.2数据库概念结构设计
数据库概念结构的设计是数据库应用程序开发一个非常关键的环节,它具有一定的独立性,通常采用E-R图的方法进行设计。
下面根据本系统的所使用的数据库以及系统的功能结构画出主要的E-R图,如图所示。
系统E-R图
5.3数据库逻辑结构设计
根据系统的E-R图,只设计了四个数据库表,分别记录图书基本信息、学生基本信息、登录用户信息和图书借出信息。
四个表的结构如下:
登录用户基本信息表
字段名
类型
是否必填字段
说明
姓名
Aplha(8)
是
主关键字
学生证号
Aplha(8)
否
等级
Aplha
(1)
是
Max:
1,Min:
0,Default:
1
图书基本信息表
字段名
类型(及长度)
是否必填字段
说明
图书编号
Aplha(8)
是
主关键字
书名
Aplha(40)
是
作者
Aplha(40)
否
出版社
Aplha(30)
否
出版时间
Date
否
书价
Money
否
Min:
0.00
类别
Aplha(10)
是
备注
Memo(200)
否
入库时间
Date
否
借阅次数
Longinteger
否
Default:
0
图书借出信息表
字段名
类型
是否必填字段
说明
图书编号
Aplha(8)
是
主关键字
学生证号
Aplha(8)
否
借出时间
Date
是
学生基本信息表
字段名
类型
是否必填字段
说明
学生证号
Aplha(8)
是
主关键字
姓名
Aplha(8)
是
性别
Aplha
(2)
否
系别
Aplha(20)
否
专业
Aplha(20)
否
第六章数据库结构的创建
数据库的结构我们采用DBD进行创建。
6.1数据库桌面(DBD)简介
Delphi提供了几个数据库工具以辅助数据库应用程序的开发,从而为创建功能强大的应用程序带来极大方便。
数据库工作平台(DatabaseDesktop,简称DBD)是Delphi提供的一个非常方便的数据库管理工具。
使用DBD可以实现创建、编辑、修改数据表、重建数据表的结构,完成数据输入及查询数据等操作。
6.2创建图书/学生基本信息表
图书基本信息表结构
学生基本信息表结构
6.3创建登录用户表及图书信息表
登陆用户信息表结构
图书借出信息表结构
第七章系统的窗体和模块的创建具体实现
7.1全局变量单元的建立
为了提高程序设计的灵活性,定义了本系统的一些全局变量和函数,并把它们保存在一个单独的文件中,下面是单元文件的代码:
unitglobal;
interface
usesdbtables;
var
username,userpwd:
string;
dbname:
string;
exbook_num:
integer;
p_books,p_days:
integer;
p_momey:
real;
p_betdays:
integer;
plvisible:
boolean;
functionisborrowed(b_no:
string):
boolean;
implementation
functionisborrowed(b_no:
string):
boolean;
vart:
ttable;
begin
t:
=ttable.create(nil);
t.databasename:
=dbname;
t.tablename:
='borrow_info.db';
t.open;
t.setkey;
t.fieldbyname('图书编号').asstring:
=b_no;
ift.gotokeythenresult:
=trueelseresult:
=false;
t.close;
t.free;
end;
end.
7.2登录窗口的创建
7.2.1用户登录设计窗体
为了区分不同的身份的用户(本系统简化了复杂性,用户只有学生和管理员),本系统采用了用户登录功能。
用户登录是从自由态主窗体进入的,它是实现两个功能:
用户身份的确认和进入不同子系统前要做的准备工作。
登录窗体如图所示
用户登录设计窗体
其代码如下:
unitlogin;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,StdCtrls,Buttons,ExtCtrls,db,dbtables;
type
Tloginfrm=class(TForm)
………………
………………
………………
7.2.2登录界面属性:
7.3主窗体的创建
7.3.1设计主窗体
主窗体是应用程序的核心部分,它和其他窗体有着紧密的关系,一般是由主窗体调用其他窗体,由其他窗体返回主窗体。
本系统根据不同的环境设置了三个主窗体界面,分别是:
自由态窗体界面、管理员窗体界面和用户态主窗体界面,但这三个界面是共一个窗体的,而不是三个窗体。
设计主窗体
其代码如下:
unitmain;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,ComCtrls,ExtCtrls,Menus,TFlatSpeedButtonUnit,StdCtrls,
Grids,DBGrids,DB,DBTables,DateUtils,ImgList,ToolWin;
………………
………………
………………
………………
………………
………………
………………
………………
………………
………………
………………
………………
………………
………………
………………
………………
………………
………………
………………
………………
7.3.2主窗体属性
7.4图书管理子系统相关窗口的创建
7.4.1新书入库窗口的创建
1、新图书入库设计窗口
新图书入库设计窗口
从上图可以看出该窗体的设计比较简单。
除了“图书类别”右边的是Tcombobox,“出版时间”右边的是TdateTimePicker和“备注”右下边是Tmemo外,其他的都是文本输入框。
2.功能的实现
当显示窗体时,系统首先根据当前书库自动按类别编好号,然后再做些清理工作。
在实现过程中用到了一个过程(autono)和一个函数nextbookno,其代码如下:
private
functionnextbookno(conststr:
string):
string;
procedureautono(conststype:
string);
procedureinsbook;//新书入库
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
newfrm:
Tnewfrm;
implementation
usesglobal;
{$R*.dfm}
functionTnewfrm.nextbookno(conststr:
string):
string;
vars,s1:
string;
i,j,k:
integer;
begin
s:
=str;
s1:
=copy(s,1,1);
delete(s,1,1);
i:
=length(s);
j:
=length(inttostr(strtoint(s)));
fork:
=1toi-jdos1:
=s1+'0';
result:
=s1+inttostr(strtoint(s)+1);
end;
………………
………………
………………
………………
………………
………………
………………
………………
………………
………………
………………
………………
………………
………………
3.新书入库窗口的属性
7.4.2整理图书信息窗口的创建
1.图书整理窗体-图书删除
图书整理窗体-图书删除
从图中可以看到该窗体有两个选项卡,该选项卡为:
图书删除和图书借阅情况统计。
2.功能的实现
图书删除提供两个删除方式:
定位删除和选择删除。
在删除过程中用到了一个判断能力函数checkbookno和两个过程:
delbook和listallbooks。
统计功能很简单,在实现时采用一个过程(booksumup)来实现。
其代码如下:
private
{Privatedeclarations}
functioncheckbookno(b_no:
string):
boolean;//检查图书是否存在
procedurelistallbooks;//显示所有图书
proceduredelbook(b_no:
string);//删除图书
procedurebooksumup;
public
{Publicdeclarations}
end;
var
delfrm:
Tdelfrm;
………………
………………
………………
………………
………………
………………
………………
………………
………………
………………
………………
………………
………………
………………
3.整理图书信息窗口的属性
7.4.3修改图书信息窗口的创建
1.修改图书信息设计窗口
修改图书信息设计窗口
在该设计窗体中,使用了Ttable、TdataSource控件,用来连接数据库。
2.功能的实现
本窗体中使用了Tcombobox,它要实现的功能是:
当用户从列表框中选择时,用程序实现定位,以便用户修改相位的图书信息。
其代码如下:
private
{Privatedeclarations}
procedurecancelmodified(vare:
TDBEdit);
public
{Publicdeclarations}
end;
var
modifyfrm:
Tmodifyfrm;
implementation
usesglobal;
{$R*.dfm}
proceduretmodifyfrm.cancelmodified(vare:
TDBEdit);
begin
ife.Modifiedthene.Undo;
end;
………………
………………
………………
………………
………………
………………
………………
………………
………………
………………
3.图书信息编辑属性
7.4.4查询窗口的创建
1.管理员查询窗体
管理员查询窗体
2.功能实现
本窗体要实现查询功能,包括:
借出情况查询、未借出情况查询和超时图书信息查询,如果是借出或超时的图书,还应知道是谁借走了,以便催还。
其代码如下:
private
{Privatedeclarations}
functionisextime(b_no:
string):
boolean;//判断图书是否超时未还
procedurequerybookinfo(flg:
integer);//根据不同的flg查询
public
{Publicdeclarations}
end;
var
mgrqfrm:
Tmgrqfrm;
implementation
usesglobal,owner;
{$R*.dfm}
functiontmgrqfrm.isextime(b_no:
string):
boolean;
vart:
ttable;
begin
t:
=ttable.Create(nil);
t.DatabaseName:
=dbname;
t.TableName:
='borrow_info.db';
t.Open;
t.SetKey;
t.FieldByName('图书编号').AsString:
=b_no;
t.GotoKey;
ift.FieldByName('借出时间').AsDateTime+p_days =true elseresult: =false; t.Close; t.Free; end; ……………… ……………… ……………… 7.4.5规则管理窗口的创建 1.规则管理设计窗口 规则管理设计窗口 2.功能实现 private {Privatedeclarations} proceduresetvalues; public {Publicdeclarations} end; var regfrm: Tregfrm; implementation usesglobal; {$R*.dfm} procedureTregfrm.setvalues; begin p_books: =strtoint(edit1.Text); p_days: =strtoint(edit2.Text); p_momey: =strtofloat(edit3.Text); p_betdays: =strtoint(edit4.Text); end; procedureTregfrm.BitBtn2Click(Sender: TObject); begi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 应用 专业 毕业设计 论文 样板
![提示](https://static.bingdoc.com/images/bang_tan.gif)