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