书湘里物业管理系统.docx
- 文档编号:7578897
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:26
- 大小:622.87KB
书湘里物业管理系统.docx
《书湘里物业管理系统.docx》由会员分享,可在线阅读,更多相关《书湘里物业管理系统.docx(26页珍藏版)》请在冰豆网上搜索。
书湘里物业管理系统
大型数据库应用
课程设计说明书
书湘里物业管理系统
起止日期:
2008年5月15日至2008年6月15日
学生姓名
姚展鹏
班级
计本052班
学号
0540810238
成绩
指导教师
满君丰
计算机与通信学院
2008年6月28日
目录
1绪论1
1.1课题背景1
1.2控件开发相关技术介绍1
2系统分析2
2.1需求分析2
2.2工作流程2
3系统设计3
3.1系统功能结构图3
3.2模块功能设计4
4系统数据库设计5
4.1系统E-R图5
4.2数据表的设计5
4.3存储过程,触发器的设计7
4.3.1存储过程7
4.3.2触发器10
4.4数据库的连接10
5系统实现11
5.1系统界面的实现11
5.2系统主要功能实现11
5.2.1系统主界面和代码:
11
5.2.2员工基本信息的界面和代码:
14
5.2.3用户管理的主要界面和代码:
16
6总结和展望19
6.1收获与体会19
6.2未来的展望19
参考文献20
致谢21
课程设计检查表22
1绪论
1.1课题背景
今天,随着信息技术和因特网的发展,在住宅小区管理中运用传统的手工操作方式在现在这个数字化的时代已显得极不适应,因此,工作人员对于运用计算机来辅助协调和管理自身工作的需求正在逐步提高。
随着我国现代化技术的不断提高和普及,住宅小区也在不断的提高它的各个部门的管理质量,而物业管理系统则是住宅小区管理的一个重要部分。
本系统针对学校附近的书湘里住宅小区做出系统需求分析,为了提高工作的效率以及办公自动化而设计本系统。
通过本系统可以查询员工的值班时间,可以管理员工的工资以及添加修改删除员工的信息等功能,为工作带来了方便。
1.2控件开发相关技术介绍
本系统前台用Delphi语言。
Delphi是著名的Borland(现在已和Inprise合并)公司开发的可视化软件开发工具。
“真正的程序员用c,聪明的程序员用Delphi”,这句话是对Delphi最经典、最实在的描述。
Delphi被称为第四代编程语言,它具有简单、高效、功能强大的特点。
和VC相比,Delphi更简单、更易于掌握,而在功能上却丝毫不逊色;和VB相比,Delphi则功能更强大、更实用。
可以说Delphi同时兼备了VC功能强大和VB简单易学的特点。
它一直是程序员至爱的编程工具。
Delphi具有以下的特性:
基于窗体和面向对象的方法,高速的编译器,强大的数据库支持,与Windows编程紧密结合,强大而成熟的组件技术。
但最重要的还是ObjectPascal语言,它才是一切的根本。
ObjectPascal语言是在Pascal语言的基础上发展起来的,简单易学。
在Delphi众多的优势当中,它在数据库方面的特长显得尤为突出:
适应于多种数据库结构,从客户机/服务机模式到多层数据结构模式;高效率的数据库管理系统和新一代更先进的数据库引擎;最新的数据分析手段和提供大量的企业组件。
本系统采用的数据库是Oracle10g。
因ORICLE具有高性能,可靠性,安全性和可扩充性的优点,同时又引进了数据库和服务器增强功能以及其他一些新的特性,它实现了真正的客户机/服务器体系结构,具有丰富的编程接口,类似SQL中的数据仓库功能和很好的伸缩性。
在实际应用方面,它具有完全的Web功能,大大增强了数据库本身的实用性。
它能够满足各种类型机构和个人对数据库的需求,并且在操作的易用性,功能的可伸缩性,安全的可靠性等方面具有明显的优势,因此,我们首选它作为本次系统开发的后台语言。
2系统分析
2.1需求分析
(1) 分三种用户,给予不同的操作权限,根据不同的权限进行管理;
(2) 能够根据不同的需求对员工轮班时间情况进行查询;
(3) 能够根据不同的需求对员工基本信息情况进行查询;
(4) 能够查看员工工资的信息以及调整工资(月末结工资时打印输出);
(5)超级管理员能够对业主的购买信息进行统一管理;
(6) 超级管理员能够对房子信息进行统一管理;
(7)超级管理员能够对房子各种费用进行管理;
(8)超级管理员能够查询房子的详细信息并打印输出;
2.2工作流程
一般访客可以根据四种条件:
员工号码,员工姓名,开始时间,和完成时间进行员工轮班的查询,管理员分为普通管理员和超级管理员。
普通管理员登陆之后可以:
★ 管理员工基本信息的添加、修改和删除;
★ 管理轮班制度的添加、修改和删除;
★ 管理员工工资的调整以及查询工资的发放情况;
★ 能够在查询员工轮班情况中看到员工的图像。
超级管理登陆之后,除了普通管理员所以的外,还可以:
★ 管理用户基本信息的添加、修改和删除;
★ 对书湘里小区的住宅用户信息的查询、修改、添加和删除;
★ 管理住宅用户的各种交费情况;
★打印输出每月的员工工资发放情况;
★ 打印输出房子的详细信息。
3系统设计
3.1系统功能结构图
本系统编写的目的,是实现一个住宅小区的物业管理系统,为工作带来更高的工作效率以用方便员工的管理。
由于本程序的功能是和数据库相关的数据查询和数据操作,所以程序至少具有以下功能:
1.数据库的连接;
2.对数据表的基本操作,如插入、修改、删除;
3.根据条件进行查询;
4.程序界面显示数据的动态刷新,本例是运用按钮控件实现的。
鉴于以上的功能,本系统的系统结构图如下:
.
图3.1系统结构图
3.2模块功能设计
系统功能设计是使整个系统能基本实现员工轮班制度的查询,员工基本信息的查询和管理,员工工资的管理,小区住宅用户的查询和管理,房子基本信息的井底和管理和用户管理等管理功能,能够进行有效率的管理。
本系统共包括四大模块,分别是用户模块,员工管理模块,业主信息管理模块,房子信息管理模块。
每个模块的功能如下:
1.用户模块功能:
(1)用户的普通登陆;
(2)用户的超级管理员登陆;
(3)用户基本信息的添加、修改和删除。
2.员工管理模块功能:
(1)实现员工基本信息的查询;
(2)实现员工基本信息的添加、修改和删除;
(3)实现员工工资的管理;
(4)实现员工工资的调整;
(5)打印输出每月的员工工资发放情况。
3.业主信息管理模块功能:
(1)实现业主信息的查询;
(2)实现信息管理的增加、删除、修改功能;
(3)管理住宅用户的各种交费情况;
4.房子信息管理模块功能:
(1)房子基本信息的查询;
(2)房子基本信息的添加、修改和删除功能;
(3)打印输出房子的详细信息;
4系统数据库设计
4.1系统E-R图
图4.1数据库E-R模型图
4.2数据表的设计
根据该系统的特点,本次设计采用Oracle数据库,数据库名称为property,根据该系统的分析,包含以下几个表:
表4.1员工信息表Employees
列名
数据类型
长度
允许为空
说明
EmpId
CHAR
5
否
员工号码
EmpName
CHAR
10
否
员工姓名
EmpSex
NUMBER
1
否
员工性别
EmpAddr
CHAR
30
否
员工地址
EmpTell
CHAR
11
是
员工电话
EmpType
NUMBER
1
否
员工类型
EmpSDate
DATE
否
开始工作日期
EmpImage
VARCHAR2
500
是
员工相片
EmpJob
CHAR
10
否
员工工作职位
EmpIdenId
CHAR
18
否
员工身份证
表4.2用户信息表Users
列名
数据类型
长度
是否为空
说明
UserName
CHAR
10
否
用户名字
UserPwd
CHAR
10
否
用户密码
UserType
NUMBER
1
否
用户类型
表4.3业主信息表Owner
列名
数据类型
长度
是否为空
说明
OwnId
CHAR
5
否
业主编号
OwnName
CHAR
10
否
业主改名
OwnSex
NUMBER
1
否
业主性别
OwnHouse
CHAR
5
否
业主房子
OwnTell
CHAR
11
是
业主电话
OwnType
NUMBER
1
是
业主类型
OwnSDate
DATE
是
业主入住时间
EmpImage
BLOB
是
业主图像
表4.4房子信息表House
列名
数据类型
长度
是否为空
说明
HouseNum
CHAR
6
否
房子号码
HouseType
NUMBER
1
否
房子类型
HouseSize
NUMBER
3
否
房子大小
Selled
NUMBER
1
否
是否卖出
HouseMemo
CHAR
50
是
房子备注
表4.5房子交费情况表HoserRate
列名
数据类型
长度
是否为空
说明
HouseNum
CHAR
6
否
房子号码
ManageRate
NUMBER
3
否
物业管理费
Doorbell
NUMBER
3
否
可视门铃费
LDate
DATE
是
资费最后日期
表4.6员工工资表Salary
列名
数据类型
长度
是否为空
说明
EmpId
CHAR
5
否
员工号码
EmpName
CHAR
10
否
员工姓名
EmpSalary
INTEGER
否
员工工资
SalaryDate
DATE
工资最后时间
ChangeDate
DATE
调整工资时间
表4.7员工排班表AllotDate
列名
数据类型
长度
是否为空
说明
EmpId
CHAR
5
否
员工号码
SDate
DATE
是
开始时间
Fdate
DATE
是
结束时间
4.3存储过程,触发器的设计
为了提高该系统的运行环境,后台有关数据的操作使用了存储过程和触发器。
4.3.1存储过程
createorreplaceprocedureInsOrUpEmp_proc//添加、修改删除员工信息
(in_EmpIdinEmployees.Empid%type,
in_EmpNameinEmployees.Empname%type,
in_EmpSexinEmployees.Empsex%type,
in_EmpAddrinEmployees.Empaddr%type,
in_EmpTellinEmployees.Emptell%type,
in_EmpTypeinEmployees.Emptype%type,
in_EmpSdateinEmployees.Empsdate%type,
in_EmpJobinEmployees.empjob%type,
in_EmpiDenIdinEmployees.Empidenid%type,
in_typeinnumber,
out_numoutnumber
)
is
begin
ifin_type=1then
begin
Selectcount(*)intoout_numfromEmployeeswhereEmpId=in_Empid;
ifout_num=0then
begin
insertintoEmployees(Empid,EmpName,EmpSex,EmpAddr,EmpTell,
EmpType,Empsdate,Empjob,EmpiDenId)
values(in_Empid,in_EmpName,in_EmpSex,in_EmpAddr,in_EmpTell,
in_EmpType,in_Empsdate,in_Empjob,in_EmpiDenId);
commit;
out_num:
=1;
end;
else
out_num:
=4;
endif;
end;
elsifin_type=2then
begin
updateEmployees
setEmpName=in_empname,EmpSex=in_EmpSex,empAddr=in_EmpAddr,
EmpTell=in_EmpTell,EmpType=in_EmpType,EmpsDate=in_EmpSdate,
Empjob=in_EmpJob,Empidenid=in_EmpiDenId
whereEmpid=in_Empid;
commit;
out_num:
=2;
end;
elsifin_type=3then
begin
deletefromEmployeesWhereEmpid=in_Empid;
commit;
out_num:
=3;
end;
endif;
exceptionwhenothersthen
out_num:
=-1;
endInsOrUpEmp_proc;
//根据不同的条件对员工轮班信息进行查询
createorreplaceprocedureQuery_Allot
(IN_Charinchar,
IN_DateinAllotdate.Sdate%type,
RadioinNumber
)is
cursorcur_EmpIdis
selectAllotdate.empid,empname,sdate,fdatefromallotdate,employees
whereAllotdate.empid=employees.empidandemployees.empid=IN_Char;
cursorcur_EmpNameis
selectAllotdate.empid,empname,sdate,fdatefromallotdate,employees
whereAllotdate.empid=employees.empidandemployees.empname=IN_Char;
cursorcur_sDateis
selectAllotdate.empid,empname,sdate,fdatefromallotdate,employees
whereAllotdate.empid=employees.empid
andto_Char(AllotDate.Sdate,'YYYY-MM-ddhh')=to_Char(IN_Date,'YYYY-MM-ddhh');
cursorcur_fDateis
selectAllotdate.empid,empname,sdate,fdatefromallotdate,employees
whereAllotdate.empid=employees.empid
andto_Char(AllotDate.fdate,'YYYY-MM-ddhh')=to_Char(IN_Date,'YYYY-MM-ddhh');
begin
ifRadio=1then
DeletefromAllotQuery;
forcur_recincur_EmpIdloop
insertintoAllotQuery
values(cur_rec.empid,cur_rec.empname,cur_rec.sdate,cur_rec.fdate);
commit;
endloop;
elsifRadio=2then
DeletefromAllotQuery;
forcur_recincur_EmpNameloop
insertintoAllotQuery
values(cur_rec.empid,cur_rec.empname,cur_rec.sdate,cur_rec.fdate);
commit;
endloop;
elsifRadio=3then
DeletefromAllotQuery;
forcur_recincur_sDateloop
insertintoAllotQuery
values(cur_rec.empid,cur_rec.empname,cur_rec.sdate,cur_rec.fdate);
commit;
endloop;
elsifRadio=4then
DeletefromAllotQuery;
forcur_recincur_fDateloop
insertintoAllotQuery
values(cur_rec.empid,cur_rec.empname,cur_rec.sdate,cur_rec.fdate);
commit;
endloop;
endif;
endQuery_Allot;
4.3.2触发器
createorreplacetriggerDelSalary//删除员工信息时要先删除工资表对应的信息
beforedeleteonemployees
foreachrow
begin
DeletefromSalary
whereEmpid=:
old.Empid;
DeletefromAllotdate
whereEmpid=:
old.Empid;
endDelSalary;
createorreplacetriggerChangeSalary//调整工资时更新员工表的工资项
afterinsertorupdateonsalary
foreachrow
begin
updateEmployees
setEmpSalary=:
new.EmpSalary
whereEmpLoyees.Empid=:
new.Empid;
endChangeSalary;
4.4数据库的连接
应用程序与Oracle10g数据库的连接是通过ADOConnection控件进行数据库连接,具体连接代码如下:
Provider=OraOLEDB.Oracle.1;Password=123;PersistSecurityInfo=True;UserID=property;DataSource=orcl;ExtendedProperties=""
其他的调用存储过程控件、查询控件都通过这个连接控件连接上Oracle.
5系统实现
根据整个系统的总体设计以及子系统的相关模块功能的设计,我们进行了系统的软件开发。
详细设计和功能展示如下:
5.1系统界面的实现
界面是保证系统正常运行的一个重要因素,它影响到用户应用系统时的态度,影响到用户对产的品的评价,影响到产品的竞争力和寿命,进而影响到系统功能的发挥,所以必需对界面设计给予足够重视。
5.2系统主要功能实现
5.2.1系统主界面和代码:
下面为超级管理员登陆后的主界面:
图5.1系统主页面
查询员工轮班信息的代码:
ifEmpnum_RadioBtn.Checked=truethen
begin
ifQuery_Edit.Text=''then
begin
Application.MessageBox('请输入查询关键字','提示',mb_ok);
end
else
begin
//执行存储过程
Perproty_DataModule.Query_ADOStoredProc.Parameters.ParamByName('in_char').Value:
=Query_Edit.Text;
Perproty_DataModule.Query_ADOStoredProc.Parameters.ParamByName('Radio').Value:
=1;
Perproty_DataModule.Query_ADOStoredProc.ExecProc;
Perproty_DataModule.ADOQuery1.Close;
Perproty_DataModule.ADOQuery1.SQL.Clear;
Perproty_DataModule.ADOQuery1.SQL.Add('SelectAllotQuery.*,EMPIAGEfromAllotQuery,employeeswhereAllotQuery.Empid=Employees.Empid');
Perproty_DataModule.ADOQuery1.Open;
end
end
elseifEmpName_RadioBtn.Checked=truethen
begin
ifQuery_Edit.Text=''then
begin
Application.MessageBox('请输入查询关键字','提示',mb_ok);
end
else
begin
Perproty_DataModule.Query_ADOStoredProc.Parameters.ParamByName('in_char').Value:
=Query_Edit.Text;
Perproty_DataModule.Query_ADOStoredProc.Parameters.ParamByName('Radio').Value:
=2;
Perproty_DataModule.Query_ADOStoredProc.ExecProc;
Perproty_DataModule.ADOQuery1.Close;
Perproty_DataModule.ADOQuery1.SQL.Clear;
Perproty_DataModule.ADOQuery1.SQL.Add('SelectAllotQuery.*,EMPIAGEfromAllotQuery,employeeswhereAllotQuery.Empid=Employees.Empid');
Perproty_DataModule.ADOQuery1.Open;
end
end
elseifsDate_RadioBtn.Checked=truethen
begin
dtstring:
=datetostr(Query_DateTimePicker.date)+''+Timetostr(Query_DateTimePicker1.time);
dt:
=strtoDateTime(dtstring
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 书湘里 物业管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)