《delphi小区物业管理系统课程设计558.pdf》由会员分享,可在线阅读,更多相关《delphi小区物业管理系统课程设计558.pdf(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 delphi 小区物业管理系统课程设计 信息科学与工程学院课程设计任务书 题 目:小区物业管理系统 姓 名:学 号:专业班级:课 程:Delphi 应用程序设计 指导教师:职称:讲 师 1 完成时间:2012 年 12 月-2013 年 1 月 信息科学与工程学院制 2012 年 12 月 30 日 2 课程设计任务书及成绩评定 课程设计的任务和具体要求 课程设计要求设计一个小型信息管理系统,应能反应出学生综合利用所学知识完成一定的设计任务的能力,反映出学生理论联系实践的动手能力。具体要求如下:(1)明确所要开发系统的设计任务;(2)做好需求分析,合理选择设计方案;(3)合理设计数据库中各个
2、表的结构及其关系;(4)能够设计出美观大方的程序界面;(5)养成良好的代码书写习惯;(6)在编写程序过程中应注意相关文档的编写;(7)综合应用 Delphi 各种组件实现程序功能;(8)认真撰写课程设计总结报告。指导教师签字:日期:3 指导教师评语 成绩:_ 指导教师签字:日期:4 课程设计所需软件、硬件等 硬件环境:CPU,主频 2.31GHz;内存 1G;硬盘 20G 以上;1024768 显示分辨率 软件环境:Delphi 7.0 和 SQL Server 2005 课程设计进度计划 起至日期 工作内容 备注 2012 年 11 月 至 2013 年 1 月 查找相关资料 确定设计题目
3、基础框架搭造 后期完善 参考文献、资料索引 序号 文献、资料名称 编著者 出版单位 1刘宇君.SQL server 数据库应用设计案例汇编.北京:中国铁道出版社,2007.86-132 2Delphi 应用程序设计 李目海 著 5 目 录 绪论4 1 系统分析4 1.1 系统目标4 1.2 开发环境 4 1.3可行性分析 5 2 数据库表的描述及其关系 5 2.1 数据需求5 2.2 系统E-R图6 2.3 数据字典7 2.4 数据库的建 6 立8 3 功能模块图8 4 主要功能的实现代码9 4.1 项目文件代码9 4.2 登陆界面10 4.3 登陆界面代码14 4.4 增加管理员代码15 4
4、.5 住户查询代码实现 16 4.6 增加住户代码实现17 4.7修改住户代码实现18 4 程序运行效果及其分析 7 19 5 课程设计总结22 绪论 随着我国经济发展和城市开发,物业管理已形成规模,其效益也越来越明显。在对地方政府经济效益而言,主要体现为:减少了大量的财政补贴,对住宅区开发企业而言,能提高物业市场竞争力,使开发企业的房产畅销,加速资金周转。同时,完善的物业管理能为开发商树立良好的企业形象,吸引更多的房地产交易商和消费者。在环境效益上,住宅区内的环境和布局、治安等与整个建设风貌融为一体,提高了房地产业的综合效益。小区物业管理是针对当代社会这一市场需要应运而生的。用计算机操作的小
5、区物业管理系统是为小区管理者和用户更好的维护各项物业管理业务处理工作而开发的管理软件。小区物业管理系统在现代社会是最热门的行业,是最关切老百姓实际生活的设计,各种人性化的配置,使管理者和业主对住宅小区中的事物能更方便、更快捷、更满意的得到答复。因此,开发这样一套小区物业管理系统软件成为很有必要的事情。论文首先介绍了课题研究的意义、国内外现状等。然后通过系统分析、系统设计、系统实现等几步详细说明了小区物业管理系统的开发。关键词:小区物业,管理系统,用户,Delphi 1 系统分析 1.1 系统目标(1)合理的设计数据库 8 尽量合理地减少数据库数据的冗余,使重复的数据保持在最小限度,这样将会少占
6、用存储空间,减少产生混乱影响的危险,还能提高计算机的运行速度。(2)设计出友好的界面 界面的友好与否是软件优劣的重要方面之一。窗口界面的各个控件布局要合理、美观。(3)强大的信息管理和查询、分析能力 可以对学生管理工作相关数据进行对方面查询,提高各个模块的数据交换。1.2 开发环境 本系统面向 Windows 操作系统,以 Microsoft SQL Server 2000 作为后台数据库,充分考虑了兼容性的问题,系统具有较好的课扩展性,并从数据库的应用和开发的实效性角度出发,采用 delphi7 作为开发工具,采用面向对象技术,系统具有高效性。1.3 可行性分析(1)技术可行性 随着计算机技
7、术的发展,要将对黎明小区的物业管理从原始的文档管理转化为信息化管理,是有很强的可行性的。而且很多新型小区已经实现了物业管理信息化,市面上也有很多免费的小区物业管理软件,所以要实现物业管理的信息化在技术上的可行性是毋庸置疑的。本设计要做的只是针对小区的真实的物业管理工作来开发出适用的物业管理系统,面向 Windows 操作系统,以Microsoft SQL Server 2000 作为后台数据库,并从数据库的应用和开发的实效性角度出发,采用 delphi7 做为开发工具,采用面向对象技术。在之前做过的课程设计中,都是通过这两种开发工具来实现的,因此在技术上不存在问题。(2)经济可行性 本系统对经
8、济上没有太多的要求,只要具备计算机及相应的运行软件即可开发。项目成功后,数据的处理加快,可以节省人力,节约时间。而且系统对于输入输出的规范,也提高了数据可用性,增强了数据安全系数,能够更方便、简单、快速地查询楼宇、门店、业主的各个方面的信息,方便快捷的缴费,登记、排查所有的安全隐患,所有的票据、协议的生成、打印等,对提高小区物业管理水平有一定得现实意义。(3)管理可行性 本系统以实际工作为原型,抽象相关人员工作原理,系统也设计到权限的 9 管理,对相关数据进行保密,数据的打印页更加简单,系统实施以后,管理者不会存在管理方面的问题。(4)操作可行性 本系统采用面向对象技术,开发出来的界面友好,几
9、乎人人都可以很简单地按照相关说明进行操作。系统能为物业管理者和业主提供高效、方便快捷的服务,工作量和出错率远远低于传统管理模式,同时新系统操作简单易上手,特别是与实际流程一致,用户可以很快熟悉和习惯。5)进度可行性 我所调查的组织是个规模小、核心流程连贯的小区,它的相对简单的业务活动,可以使我很快获得系统需求信息、系统的实现时按照又准备有条理的进度安排来进行的,可以再规定规定期限内完成。2.数据库表的结构描述及其关系 2.1 数据需求 根据系统的要求,首先将要记录的信息分类,要记录的信息如下:(1)住户表:住户编号、住户姓名、性别、电话、备注;(2)房屋表:房屋编号、所属楼栋、住户编号、住户姓
10、名、迁入时间、入住期限、备注;(3)车位表:车位编号、住户编号、租用时间、期限、备注;(4)缴费表:缴费记录、住户编号、住户姓名、备注;(5)报修表:住户编号、住户姓名、报修范围、时间、备注;(6)管理员表:管理员帐户、密码;根据这些需求,本系统需要 6 个表:“住户表”用于增加用户信息;“房屋表”用于增加修改用户房屋信息;“车位表”用于增加修改住户租用车位信息;“缴费表”用于记录住户所交各种费用;“报修表”用于记录住户报修信息;“管理员表”用于管理员登陆,增加,修改等操作。2.2 系统 E-R 图 住户 房屋 编号 姓名 性别 备注 电话 房屋编号 所属楼栋 住户编号 住户姓名 迁入时间 备
11、注 10 2.3 数据字典 住户表 编号 字段名称 数据结构 主键 允许空 1 住户编号 nvarchar 是 否 2 住户姓名 Nvarchar 否 3 性别 Nvarchar 否 4 电话 Nvarchar 否 管理车位 报修 入住期限 帐号 缴费 密码 缴费记录 住户姓名 住户编号 备注 时间 保修范围 住户姓名 住户编号 备注 车位编号 租用时间 期限 住户编号 备注 11 5 备注 Nvarchar 是 房屋表 车位表 编号 字段名称 数据结构 主键 允许空 1 房屋编号 nvarchar 是 否 2 所属楼栋 nvarchar 否 3 住户编号 Nvarchar 否 4 住户姓名
12、Nvarchar 否 5 迁入时间 nvarchar 否 6 入住期限 Nvarchar 否 7 备注 nvarchar 是 12 编号 字段名称 数据结构 主键 允许空 1 车位编号 nvarchar 是 否 2 住户编号 Nvarchar 否 3 租用时间 Nvarchar 否 4 期限 Nvarchar 否 5 备注 Nvarchar 是 缴费表 编号 字段名称 数据结构 主键 允许空 1 缴费记录 nvarchar 是 否 2 住户编号 nvarchar 否 3 住户姓名 Nvarchar 否 4 备注 Nvarch 否 13 报修表 管理员表 2.4 数 据库建立 直接打开 SQL2
13、005,新建一个数据 库 名 为“xqwy”然后在建好的数据库中根据需要新建表。3.功能模块图 ar 编号 字段名称 数据结构 主键 允许空 1 住户编号 nvarchar 是 否 2 住户姓名 nvarchar 否 3 报修范围 Nvarchar 否 4 时间 Nvarchar 否 5 备注 nvarchar 否 编号 字段名称 数据结构 主键 允许空 1 管理帐号 nvarchar 是 否 2 密码 nvarchar 否 物业管理用住户 楼房 缴费 报修 管理 14 4.主要功能的实现代码 1.项目文件代码 program Project2;uses Forms,windows,dialo
14、gs,Unit1 in Unit1.pas Form1,Unit2 in Unit2.pas Form2,Unit3 in Unit3.pas Form3,Unit4 in Unit4.pas Form4,Unit5 in Unit5.pas Form5,Unit6 in Unit6.pas Form6,Unit7 in Unit7.pas Form7,Unit8 in Unit8.pas Form8,Unit9 in Unit9.pas Form9,Unit10 in Unit10.pas Form10,Unit11 in Unit11.pas Form11,Unit12 in Unit12
15、.pas Form12,15 Unit13 in Unit13.pas Form13,Unit14 in Unit14.pas Form14,Unit15 in Unit15.pas Form15,Unit16 in Unit16.pas Form16,Unit17 in Unit17.pas Form17,Unit18 in Unit18.pas dm:TDataModule;$R*.res begin Application.Initialize;Application.CreateForm(Tdm,dm);Form2:=TForm2.Create(application);Form2.S
16、how;Form2.Update;sleep(1000);Form3:=TForm3.Create(application);form2.Free;if form3.ShowModal=100 then begin Application.CreateForm(TForm1,Form1);Application.Run;end;End.2.登陆界面 unit Unit1;interface uses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,16 Dialogs,StdCtrls,jpeg,ExtCtr
17、ls,Menus,unit4,unit5,unit6,Unit8,Unit9,Unit7,Unit10,Unit11,Unit12,unit13,unit14,unit15;type TForm1=class(TForm)MainMenu1:TMainMenu;N1:TMenuItem;N2:TMenuItem;N3:TMenuItem;N4:TMenuItem;N5:TMenuItem;N6:TMenuItem;N7:TMenuItem;N8:TMenuItem;N9:TMenuItem;N10:TMenuItem;N11:TMenuItem;N12:TMenuItem;N13:TMenuI
18、tem;N14:TMenuItem;N15:TMenuItem;N16:TMenuItem;N17:TMenuItem;N18:TMenuItem;Image1:TImage;Label1:TLabel;Label2:TLabel;N19:TMenuItem;N20:TMenuItem;procedure N4Click(Sender:TObject);procedure N2Click(Sender:TObject);procedure N6Click(Sender:TObject);procedure N7Click(Sender:TObject);procedure N10Click(S
19、ender:TObject);17 procedure N11Click(Sender:TObject);procedure N8Click(Sender:TObject);procedure N12Click(Sender:TObject);procedure N14Click(Sender:TObject);procedure N19Click(Sender:TObject);procedure N20Click(Sender:TObject);procedure N16Click(Sender:TObject);procedure N18Click(Sender:TObject);pri
20、vate Private declarations public Public declarations end;var Form1:TForm1;implementation$R*.dfm procedure TForm1.N4Click(Sender:TObject);begin close end;procedure TForm1.N2Click(Sender:TObject);begin Form4:=TForm4.Create(self);Form4.Show;end;procedure TForm1.N6Click(Sender:TObject);begin Form5:=TFor
21、m5.Create(self);Form5.Show;end;18 procedure TForm1.N7Click(Sender:TObject);begin Form6:=TForm6.Create(self);Form6.Show;end;procedure TForm1.N10Click(Sender:TObject);begin Form8:=TForm8.Create(self);Form8.Show;end;procedure TForm1.N11Click(Sender:TObject);begin Form9:=TForm9.Create(self);Form9.Show;e
22、nd;procedure TForm1.N8Click(Sender:TObject);begin Form7:=TForm7.Create(self);Form7.Show;end;procedure TForm1.N12Click(Sender:TObject);begin Form10:=TForm10.Create(self);Form10.Show;end;procedure TForm1.N14Click(Sender:TObject);begin Form12:=TForm12.Create(self);Form12.Show;end;procedure TForm1.N19Cl
23、ick(Sender:TObject);begin Form11:=TForm11.Create(self);Form11.Show;19 end;procedure TForm1.N20Click(Sender:TObject);begin Form13:=TForm13.Create(self);Form13.Show;end;procedure TForm1.N16Click(Sender:TObject);begin Form14:=TForm14.Create(self);Form14.Show;end;procedure TForm1.N18Click(Sender:TObject
24、);begin Form15:=TForm15.Create(self);Form15.Show;end;End 3.登陆界面代码 unit Unit3;interface uses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,Dialogs,StdCtrls,jpeg,ExtCtrls;type TForm3=class(TForm)Image1:TImage;Label1:TLabel;Label2:TLabel;Edit1:TEdit;Edit2:TEdit;Button1:TButton;Butt
25、on2:TButton;20 procedure Button1Click(Sender:TObject);procedure Button2Click(Sender:TObject);private Private declarations public Public declarations end;var Form3:TForm3;implementation uses Unit18;$R*.dfm procedure TForm3.Button1Click(Sender:TObject);begin dm.ADOQuery1.Close;dm.ADOQuery1.SQL.Clear;d
26、m.ADOQuery1.SQL.Add(select*from admin where 管理员=+edit1.Text+and+密码=+edit2.Text+);dm.ADOQuery1.Open;if dm.ADOQuery1.Eof then begin showmessage(用户号或密码不正确);end else begin form3.ModalResult:=100 /用户名和密码正确将激活主界面/end;end;procedure TForm3.Button2Click(Sender:TObject);begin form3.Close;end;end.4.增加管理员代码 21
27、procedure TForm4.Button1Click(Sender:TObject);begin if(edit1.Text)and(edit2.Text)then begin try with dm.ADOQuery1 do begin close;sql.Clear;sql.Add(insert admin values(:a,:b);/向管理员表中添加数据 parameters.ParamByName(a).Value:=trim(edit1.Text);/用户名 parameters.ParamByName(b).Value:=trim(edit2.Text);/密码 execs
28、ql;end;application.MessageBox(添加成功,提示,64);except application.MessageBox(用户已经存在,失败,64)end;end else application.MessageBox(用户或密码不能为空,提示,64);end;5.住户查询代码实现 procedure TForm5.Button1Click(Sender:TObject);begin if combobox1.Text=按住户编号查询 then begin with dm.ADOQuery2 do begin close;sql.Clear;sql.Add(select*
29、from 住户 where 住户编号=:A);Parameters.ParamByName(A).Value:=Edit1.Text;22 open;end;end else begin with dm.ADOQuery2 do begin close;sql.Clear;sql.Add(select*from 住户 where 姓名=:A);Parameters.ParamByName(A).Value:=Edit1.Text;open;end;end;end;procedure TForm5.Button2Click(Sender:TObject);begin form7:=TForm7.
30、Create(self);form7.ShowModal;form7.Free;end;end.6.增加住户代码实现 procedure TForm6.Button1Click(Sender:TObject);begin if Edit1.Text=then begin MessageBox(handle,住户编号不能为空!,警告,MB_OK+MB_ICONWARNING);Edit1.SetFocus;exit;end;if Edit2.Text=then 23 begin MessageBox(handle,姓名不能为空!,警告,MB_OK+MB_ICONWARNING);Edit2.Se
31、tFocus;exit;end;if Edit3.Text=then begin MessageBox(handle,电话不能为空!,警告,MB_OK+MB_ICONWARNING);Edit3.SetFocus;exit;end;if Edit6.Text=then begin MessageBox(handle,性别不能为空!,警告,MB_OK+MB_ICONWARNING);Edit6.SetFocus;exit;end;try with dm.ADOQuery2 do begin close;sql.Clear;sql.Add(insert 住户 values(:a,:b,:c,:d,
32、:e,:f);parameters.ParamByName(a).Value:=trim(edit1.Text);parameters.ParamByName(b).Value:=trim(edit2.Text);parameters.ParamByName(c).Value:=trim(edit6.Text);parameters.ParamByName(d).Value:=trim(edit3.Text);parameters.ParamByName(e).Value:=trim(edit4.Text);parameters.ParamByName(f).Value:=trim(edit5
33、.Text);execsql;end;application.MessageBox(添加成功,提示,64);except 24 application.MessageBox(添加失败,检查信息是否存在或正确,失败,64);end;end;7.修改住户代码实现 procedure TForm7.Button1Click(Sender:TObject);begin case messageDlg(确认修改?,mtconfirmation,mbyes,mbcancel,0)of mryes:try with dm.ADOQuery2 do begin edit;fieldbyname(住户编号).V
34、alue:=trim(Edit1.Text);fieldbyname(姓名).Value:=trim(Edit2.Text);fieldbyname(电话).Value:=trim(Edit3.Text);fieldbyname(性别).Value:=trim(Edit6.Text);fieldbyname(联系地址).Value:=trim(Edit4.Text);fieldbyname(备注).Value:=trim(Edit5.Text);post;end;application.MessageBox(修改成功,提示,64);except application.MessageBox(修
35、改失败,提示,64);end;mrcancel:end;end;5.程序运行效果及其分析 25 登陆界面可实现登录功能,可判断密码是否正确。登陆主界面,小区物业的基本操作都在此界面实现。26 住户查询,可实现住户查询,查询住户基本信息。增加住户,可以增加住户。打印界面,可以实现各个表的打印功能。27 6.课程设计总结 本次实验我对 delphi7 有了比较深刻的认识,每一步骤的执行都需要认真的考虑,我发现编一个优秀的软件决不是一蹴而就的事情,需要长时间的积累和经验。然后,在老师的辅导和同学的帮助下,我更加深入的去考虑这个系统。并花了大量的心思和努力去完成这个系统。在做这个系统的这段时间里,我学到了我以前没有掌握牢的知识。更重要的是了解了开发一个系统软件的步骤和方法策略。如何去思考问题,又如何去解决问题。经过这次设计,让我更好地巩固了书本里的理论知识,并将知识用于实践,掌握了使用 SQL Server 和 Delphi 进行系统设计的基本原则和基本方法,还使我在实际的编程中提高了编程能力,也加强了我综合运用所学知识和技能对实际问题的分析概括的能力。虽然在设计过程中遇到了很多问题,但最终将提开发出来了,这对我是一个很大的鼓励。以后我将更加深入地学习这方面的知识,并注重实践,争取将来能做出性能更好,功能更完善的系统。
限制150内