1、delphi 课程设计任务书 你的需要北京大学课程设计任务书 题目: 学生宿舍管理系统 学号: 姓名: 专业: 课程: delphi程序设计 指导教师: 职称: 完成时间:2011年6月-2011年7月课程设计任务书及成绩评定课程设计的任务和具体要求在现代的高校宿舍管理工作中,由于高校扩招,学生人数巨增,传统的管理方法已经不适合高校宿舍管理的需要,以前在管理方面采用的管理系统有一些落后,随着学生人数的不断增加,该系统在数据管理方面有一些混乱,越来越不能适宜管理的需要,因此需要一个功能更完善,操作更方便,容量更大的管理信息系统。因此宿舍管理系统是各大高校所需要使用的一个管理系统由于宿舍系统是一个
2、比较大型的信息管理系统,它需要专业的工作人员才能完成复杂的功能,而且不同的高校的管理内容和方式有所不同信息系统分析与设计是学习完信息系统分析与设计课程后进行的一次全面的综合练习。其目的在于加深对信息系统基础理论和基本知识的理解,初步掌握使用信息系统分析、设计的基本内容和方法,提高解决实际问题的能力。作为学习,我们设计这个管理系统不可能作一个标准的应用系统,而只是制作了一个有一般代表意义的小型宿舍管理系统这样既深化了理论知识也提高了实践能力 指导教师签字:_ 日期:_指导教师评语成绩:_ 指导教师签字:_ 日期:_课程设计所需软件、硬件等 此管理系统采用delphi7设计前台界面,SQL Ser
3、ver 2005开发数据库所以采用的软件及语言如下:系统:Windows XP语言:SQL语言、Pascal语言开发工具:SQL Server 2005,delphi7等课程设计进度计划起至日期工作内容备注2010年12月1日5日2010年12月6日9日2010年12月10日11日2010年12月12日23日2010年12月24日27日确定课题并搜集相关资料分析后台数据库需求总体功能的设计各个功能模块的设计撰写课程设计略参考文献,资料索引序号文献、资料名称编著者出版单位1李目海, delphi应用程序设计, 枣庄学院计算机科学系2陈豫龙 何旭洪, delphi数据库系统开发实例导航(第二版),
4、 人民邮电出版社3刘子锐, delphi数据开发自学教程,人民邮电出版社一、摘要宿舍管理系统是目前各所高校后勤管理之中的重要部分,如何能科学有效的开展学生公寓管理工作,是当前高校领导人和后勤管理人员关心的问题因此, 公寓管理工作的信息化和科学化有着十分重要的实践意义,此次开发的大公寓管理信息系统, 旨在实现对现有的宿舍管理系统中遇到的宿舍信息情况和大量数据进行数据存储的基础上,设计并完成对其宿舍信息的分类查询,添加,删除,修改和打印报表在深入研究的过程中,尽可能实现方便友好的操作界面和数据报表该系统运用 DELPHI7技术, 以 Microsoft SQL Server 2005 为后台数据库
5、, 开发了一套为高校服务的公寓管理信息系统。利用该系统大大的加强管理部门的相互沟通能力,提高工作效率,减少不必要的重复劳动,加速信息的记录、查阅以及传播速度,实现人性化管理和沟通服务管理的一种实用型管理软件。管理信息系统是一个由人和计算机软件硬件资源组成的人机系统,能进行管理信息的收集、传递、加工、保存、维护和使用,提供信息支持单位的运行、管理和决策的功能。在强调管理、调信息的现代社会中,管理信息系统变得越来越普及,可以说它是一门新的学科,跨越了若干个领域,如管理科学、系统科学、统计学以及计算机科学等,并在这些学科的基础上,形成信息收集和加工的方法,从而形成一个纵横交织的系统。在传统的业务流程
6、中,数据信息附着于业务流程之上,这是一种效率很低的数据处理方法;实现了办公自动化之后,虽然很多业务数据电子化了,但是不借助数据库的帮助,数据信息仍然附着于业务流程之上,虽然可以以文件等形式将电子化的数据存储,但是数据的再利用效率很低,而且也无法从这些无序的数据中提取进一步的信息;当建立了数据库系统之后,数据终于脱离业务流程而独立存在。人们不但可以通过管理信息系统将其储存于数据库之中,而且还可以对其方便地再利用。随着社会对人才需求的增加,以及高校的全面扩招,在校学生人数剧增,这给高校的后勤管理,特别是对学生公寓的管理带来很大的压力。学生公寓的管理是一项非常烦琐的工作,但又是高校发展毕不可少的一部
7、分。在学生公寓管理工作中,很大一部分是重复性的劳动,完全可以通过计算机信息技术来取代人工进行这些工作,从而是管理人员将更多的精力集中在如何提高服务质量方面。学生公寓管理系统就是为了满足这个需求而开发的一个管理信息系统。二、目录1. 摘要 42. 目录 53. 正文 6 3.1 系统功能设计 6 3.2 数据库设计 7 3.3 系统主界面设计 7 3.4 系统功能模块设计 7 3.5 其它设计功能 15 4. 实验中出现的问题及解决方法 16 5. 结束语 16三、正文 1.系统功能设计用户登录界面 系控制界面 右图为查询管理子模块:在本系统中,将实现以下功能: 学生住宿信息管理 删除记录管理
8、学生综合信息查询2. 数据库设计 在sql server 2005中建立了一个学生宿舍管理数据库,数据表如下所示: 用户信息表(账户,密码,身份)住宿学生(学号,姓名,性别,专业,宿舍号,入住时间)宿舍(宿舍号,宿舍电话)夜归(学号,宿舍号,晚归时间,晚归原因)离校(学号,宿舍号,离校时间,返回时间)来访者(姓名,身份证,来访时间,离开时间)3.系统主界面设计 包括菜单栏(mainmenu)、状态栏(toolbar)、工具栏(statusbar)三大部分,其中还添加了imagelist,timer等组件,进行辅助的设计。4.系统功能模块设计 1)用户登录模块 用户登录窗体如图所示:各组件的添加
9、省略,下面只给出主要的代码: “登录”按钮代码:procedure TForm2.ComboBox2Click(Sender: TObject);begin if combobox2.Text=游客 then begin button3.Enabled:=false; button1.Enabled:=true end else begin button1.Enabled:=false; button3.Enabled:=true; end;end; 2)添加用户功能模块 用户管理窗口 “添加用户”按钮代码:procedure TForm4.Button2Click(Sender: TObje
10、ct);begin With ADOQuery1 do begin Close; SQL.Clear; SQL.Add(Insert Into user_info(user_na,user_pwd,user_des); SQL.Add(Values(+edit1.Text+,+edit2.Text+,+combobox1.Text+) ); ExecSQL; showmessage(添加成功); end;end; 3)管理功能模块 下面宿舍信息管理子功能为例,其他管理只给出窗体设计功能代码类似。宿舍管理“插入”按钮代码: procedure TForm9.Button2Click(Sender
11、: TObject);begin if (edit1.Text=) or (edit2.Text=) then showmessage(不能为空) else begin adotable1.append; ADOTable1.FieldByName(dorm_no).asstring:=vartostr(edit1.Text); ADOTable1.FieldByName(dorm_tel).asstring:=vartostr(edit2.Text); adotable1.post; endend;“显示所有”按钮代码:procedure TForm9.Button6Click(Sender
12、: TObject);beginadotable1.Filtered:=false;MessageBox(handle,查询完毕!,提示,MB_OK or MB_ICONINFORMATION);edit1.Text:=;edit2.Text:=;edit3.Text:=;end;“查找”按钮代码:procedure TForm9.Button5Click(Sender: TObject);beginif adotable1.Active then begin if not ADOTable1.Locate(dorm_no,Edit3.Text,loCaseInsensitive, loPar
13、tialKey) then showmessage(对不起,没有您要查找的记录!) else begin ADOTable1.Filter:=dorm_no=+QuotedStr(Edit3.Text); ADOTable1.Filtered := True; end end else showmessage(系统错误);end;“删除”按钮代码:procedure TForm9.Button3Click(Sender: TObject);begin if messagedlg(确实要删除吗?,mtinformation,mbyes,mbno,0)=mryes then adotable1.D
14、elete else edit3.Text:=;end;“返回”按钮代码:procedure TForm9.Button1Click(Sender: TObject);begin edit1.Text:=; edit2.Text:=; edit3.Text:=; FreeOnRelease; form9.Visible:=false; form1.Show;end; 4)查询功能模块 下面是查询功能模块,首先是学生信息查询,主要同过label组件与edit组件进行分类查找,来访信息查询与宿舍信息查询由于数据单一,所以只进行单方面的查找,离校与夜归学生查询采用了combobox组件与edit组件
15、配合,实现分类查寻,具体代码设计如下:第一个“查找”按钮代码:procedure TForm10.Button2Click(Sender: TObject);begin if adotable1.Active then begin if not ADOTable1.Locate(s_no,Edit1.Text,loCaseInsensitive, loPartialKey) then showmessage(对不起,没有您要查找的记录!) else begin ADOTable1.Filter:=s_no=+QuotedStr(Edit1.Text); ADOTable1.Filtered :
16、= True; end end else showmessage(系统错误);end;“显示所有”按钮代码:procedure TForm10.Button5Click(Sender: TObject);beginadotable1.Filtered:=false;MessageBox(handle,查询完毕!,提示,MB_OK or MB_ICONINFORMATION);edit1.Text:=;edit2.Text:=;edit3.Text:=;end;以上两个模块的功能与第一个类似,在此省略介绍。“查找”按钮代码:procedure TForm15.Button1Click(Sende
17、r: TObject);begin if adotable1.Active=true then begin if combobox1.Text=学号 then if adotable1.Locate(s_no,edit1.Text,loCaseInsensitive, loPartialKey) then begin ADOTable1.Filter:=s_no=+QuotedStr(Edit1.Text); ADOTable1.Filtered := True end else showmessage(对不起,没有您要查找的记录!); if adotable1.Active=true the
18、n if combobox1.Text=姓名 then if adotable1.Locate(s_name,edit1.Text,loCaseInsensitive, loPartialKey) then begin ADOTable1.Filter:=s_name=+QuotedStr(Edit1.Text); ADOTable1.Filtered := True end else showmessage(对不起,没有您要查找的记录!); if adotable1.Active=true then if combobox1.Text=宿舍号 then if adotable1.Locate
19、(s_dorm_no,edit1.Text,loCaseInsensitive, loPartialKey) then begin ADOTable1.Filter:=s_dorm_no=+QuotedStr(Edit1.Text); ADOTable1.Filtered := True; end else showmessage(对不起,没有您要查找的记录!); end;end;此模块设计与上面的类似,在此省略介绍。 5) 报表的设计主要采用Ehlib组件包进行开发,只要设置一些组件的属性即可,简单易懂,在此省略具体设计步骤,设计图如上面所示。 6)其它设计功能 采用互斥对象方法避免应用程序
20、重复启动var mutex:THandle;begin mutex:=createmutex(NIL,TRUE,form1); if getlasterrorERROR_ALREADY_EXISTS then begin Application.Initialize; Form3:=TForm3.Create(application); Form3.Show; form3.Update; sleep(100); Application.CreateForm(TForm2, Form2); Application.CreateForm(TForm1, Form1); Application.Cr
21、eateForm(TForm16, Form16); Application.CreateForm(TForm17, Form17); form1.StatusBar1.Panels1.Text:= 小贺; Application.CreateForm(TForm4, Form4); Application.CreateForm(TForm6, Form6); Application.CreateForm(TForm8, Form8); Application.CreateForm(TForm9, Form9); Application.CreateForm(TForm10, Form10);
22、 Application.CreateForm(TForm11, Form11); Application.CreateForm(TForm12, Form12); Application.CreateForm(TForm13, Form13); Application.CreateForm(TForm14, Form14); Application.CreateForm(TForm15, Form15); form3.Free; Application.Run; end; else showmessage(应用程序已启动!); releasemutex(mutex);4. 实验中出现的问题及
23、解决方法 技术水平不是很扎实。有很多的新的控件、新的知识要学习、所以做起来没想象中的容易,不过最终可以克服。在调试的过程中遇到了许多错误,话费了大量时间进行修改、整理,浪费了整体的开发时间。由于自己有好多delphi知识掌握的不好,花费了大量时间学习,导致好多功能没有完成,好在主要功能基本完成。5. 结束语 通过此次课程设计,不但复习、巩固了delphi课程的有关知识,并且还总结了许多软件设计的经验,其中,自己有如下感悟:1.在软件设计的初期一定要构思好软件的框架,设计好各个功能模块,具体的功能界面设计等等,总之,要花费大量时间设计好总体构思,在此基础上再进行开发设计。2.在做课程设计的过程中,发现自己在DELPHI中有许多地方掌握的不扎实,学习编程必须要动手实践才能有真的提高。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1