小区物业管理系统介绍(doc 16页)课程设计说明书N O.1图1 系统功能模块结构图沈 阳 大 学课程设计说明书 N O.3本小组5名成员分工合作,共同完成了红光苑住宅小区的物业管理信息系统的创建,我主要负责系统数据库的创建、系统工程的创建以及主窗体的设计。
2.3数据库设计系统设计是对整个管理系统功能进行分析,并划分和构建系统功能模块,而数据库设计则是分析和创建保存管理系统设计的数据库结构设计,两者对整个系统的开发具有同等重要的关键作用。
数据库结构设计的好坏将直接影响系统的运行效率和系统开发进度,合理的数据库结构设计不仅可以提高系统运行效率,也有利于保证数据的完整性和一致性,也有利于系统的实现。
我们将数据库的设计总结为两个步骤:(1)绘制系统数据流图。
系统数据流图根据用户日常工作流程,绘制出系统的各个操作节点,对每一个操作节点,绘制出与该操作相关的数据。
然后根据数据流图分析总结出系统数据字典,总结出系统管理流程中使用到的各个数据以及包含的数据项。
(2)设计数据库结构。
根据(1)中得到的数据字典,为数据库规划需要的数据表,并设计每个数据表的结构。
第一步,绘制系统数据流图,具体方法如下:根据系统功能模块结构图和管理流程,绘制如图2所示的系统数据流图。
根据系统数据流图以及一般小区物业管理系统的需求,总结出下面的数据字典:图2 系统数据流图系统用户登录陆系统用户管理 楼盘信息管理 住户信息管理收费项目管理 报修项目管理 投诉项目管理 系统用户数据 楼盘数据 住户数据收费项目数据保修项目数据投诉项目数据沈阳大学课程设计说明书N O.4系统用户数据:包含的数据项有系统用户名称、登录口令和身份。
楼盘数据:包含的数据项有门牌号、户型、出售否、出租否、户主姓名、产权证编号、土地使用证编号、面积等。
住户数据:包含的数据项有门牌号、户主姓名、常住人口、联系电话、备注等。
收费项目数据:包含的数据项有门牌号、水、电、气、物管、时间等。
报修项目数据:包含的数据项有项目编号、内容、时间、维修否、维修人、备注等。
投诉项目数据:包含的数据项目有项目编号、内容、时间、投诉人、负责人、备注等。
第二步,数据库结构设计,具体方法如下:数据库结构设计要求根据数据字典、使用的数据库管理系统和系统开发工具,设计出数据库中各个数据表的具体结构。
我们小组将使用Visual Basic来实现小区物业管理系统,而小区物业管理使用的数据库一般属于小型数据库,所以可以使用Visual Basic自带的可视化数据管理器来创建数据库。
(1)系统用户数据表。
系统用户数据表命名为“系统用户数据”,并使用“用户名”字段创建索引,索引命名为SysUser,设置为惟一的、主要的索引。
添加Admin和Administrator作为默认的系统管理员。
表1 系统用户数据表结构字段名称类型大小字段是否固定允许零长度必要字段顺序位置用户名Text 15 可变否是0口令Text 6 固定否是 1身份Text 10 可变否是 2(2)楼盘数据表。
楼盘数据表命名为“楼盘数据”,并使用“门牌号”字段创建索引,索引命名为DoorNumber,设置为惟一的、主要的索引。
表2 楼盘数据表结构字段名称类型大小字段是否固定允许零长度必要字段顺序位置门牌Text 9 固定否是0 号户主Text 15 可变是是 1 户型Text 30 可变否是 2 出租Boolean 是 3 出售Boolean 是 4 Text 50 可变是是 5 产权号土地Text 50 可变是是 6 号面积Single 是7沈阳大学课程设计说明书N O.5(3)住户数据表。
住户数据表命名为“住户数据”,并使用“门牌号”字段创建索引,索引名为DoorNumber,设置为惟一的、主要的索引。
表3 住户数据表结构字段名称类型大小字段是否固定允许零长度必要字段顺序位置门牌号Text 9 固定否是0户主Text 15 可变否是 1常住人Text 50 可变是是 2电话Text 11 可变是否 3备注Text 100 可变是否 4(4)收费项目数据表。
收费项目数据表命名为“收费数据”,“编号”设置为自动增加,并用于创建索引,索引名为ChargeIndex,设置为惟一的、主要的索引。
表4 收费项目数据表结构字段名称类型大小字段是否固定允许零长度必要字段顺序位置门牌号Text 9 固定否是 1水Single 是 2电Single 是 3气Single 是 4物管Single 是 5时间Date/Time 是 6(5)报修项目数据表。
报修项目数据表命名为“报修数据”,“编号”设置为自动增加,并用于创建索引。
索引名为RepairIndex,设置为唯一的、主要的索引。
表5 报修项目数据表结构字段名类型大小字段是允许零必要字顺序位称否固定长度段置编号Long 是0内容Text 50 可变否是 1时间Data 是 2报修人Text 15 可变是是 3维修否Boolean 是 4维修人text 15 可变否是 5沈阳大学课程设计说明书N O.6(6)投诉项目数据表。
投诉项目数据表命名为“投诉数据”,“编号”设置为自动增加,并用于创建索引。
索引名为ApealIndex,设置为唯一的、主要的索引。
表6 投诉项目数据表结构字段名称类型大小字段是否固定允许零长度必要字段顺序位置编号Text 是0内容Text 50 可变否是 1时间Data 是 2投诉人Text 15 可变是是 3负责人Text 15 可变否是 4各个数据表创建完成之后,使用创建的数据库“物管数据库.mdb”创建一个ODBC 数据源,并命名为“物管数据DSN”。
2.4创建系统工程启动visual basic,并选择创建一个标准EXE工程,在属性窗口中将工程命名为“小区物业管理系统.vbp”。
选择“工程”——“引用”菜单命令,打开“工程引用”对话框,并选中“Microsoft activex data objects libray 2.0”然后选择“工程”——“不见”菜单命令打开“工程部件”对话框,并在“部件”选项卡中选中“Microsoft ado data control 6.0”和“Microsoft datagrid control 6.0”。
选择“工程”——“添加模块”菜单命令,为工程添加一个标准模块,在属性窗口中将模块命名为currentuser data ,保存为mdlSysUserdata.bas,并在其代码窗口中输入下面的语句定义3个公共变量,分别保存系统当前用户的用户名、口令和身份:Public CurrentUserName As String '保存当前用户用户名Public CurrentUserPassword As String '保存当前用户登录口令Public CurrentUserStatus As String '保存当前用户身份2.5实现系统主窗体具体操作如下:第一步,创建系统主窗体:为工程添加一个MDI窗体,将窗体Caption属性设置为“红光苑住宅小区管理系统”,窗体命名为“frmSysMain”,保存为“frmSysMain.frm”为窗体创建如下图所示的菜单系统:沈阳大学课程设计说明书N O.7各个菜单项的标题和名称如表:表7 系统菜单标题和名称标题名称标题名称文件Mnufile 住户信息Mnuuserinf退出Mnuexit 编辑Mnuedituser系统Mnusys 查询Mnuuserquery用户管理Mnusysuser 物业管理Mnutownmanage修改口令Mnupassword 收费Mnucharge信息管理mnuinf 报修mnumaintain楼盘信息Mnubuildinf编辑Mnueditbuild查询Mnubuildquery投诉mnuappeal第二步,实现按权限启用系统功能。
在窗体加载时,根据当前用户权限决定应该隐藏的系统功能菜单,实现代码如下:Private Sub MDIForm_Load()'根据用户身份决定是否隐藏可执行管理操作的菜单If CurrentUserStatus <> "管理员" ThenmnuEditUser.Visible = False '隐藏住户管理菜单mnuSysUser.Visible = False '隐藏系统用户管理菜单mnuEditBerth.Visible = False '隐藏停车场车位管理菜单mnuEditBuild.Visible = False '隐藏楼盘数据管理菜单mnuCharge.Visible = False '隐藏物业管理收费菜单End IfEnd Sub第三步,实现退出系统功能。
在窗体关闭时,首先请求用户确认,然后检查窗体是否关闭。
在所有打开的子窗体被关闭时,才允许退出系统,实现代码如下:Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer)'请求用户确认退出操作If MsgBox("你选择了退出红光苑住宅小区管理系统,是否退出?", _vbYesNo, "红光苑住宅小区管理系统") = vbNo ThenCancel = 1 '撤消关闭窗体操作End If'判断在关闭了所有子窗体之后才能退出系统If Not Me.ActiveForm Is Nothing ThenMsgBox "请关闭所有打开的子窗体再退出系统", _vbCritical, "红光苑住宅小区管理系统"Cancel = 1 '撤消关闭窗体操作沈阳大学课程设计说明书N O.8 End IfEnd SubPrivate Sub mnuExit_Click()Unload MeEnd Sub第四步,集成系统功能模块。
在用户执行菜单命令时,需要打开相应的系统功能模块,所以需要在菜单的Click实现工程中执行系统功能模块的show 方法,并执行SetFocus使其成为当前窗体,实现代码如下:Private Sub mnuAppeal_Click()UserAppeal.ShowUserAppeal.SetFocusEnd SubPrivate Sub mnuBuildQuery_Click()BuildingInfQuery.ShowBuildingInfQuery.SetFocusEnd SubPrivate Sub mnuCharge_Click()UptownManage.ShowUptownManage.SetFocusEnd SubPrivate Sub mnuEditBerth_Click()EditBerth.ShowEditBerth.SetFocusEnd SubPrivate Sub mnuEditBuild_Click() EditBuildingInf.ShowEditBuildingInf.SetFocusEnd SubPrivate Sub mnuEditUser_Click()frmAddDenizen.ShowfrmAddDenizen.SetFocusEnd SubPrivate Sub mnuMaintain_Click()MaintainReport.ShowMaintainReport.SetFocusEnd SubPrivate Sub mnuParking_Click()ParkingManage.ShowParkingManage.SetFocus沈阳大学课程设计说明书N O.9 End SubPrivate Sub mnuPassword_Click()PasswordChange.ShowPasswordChange.SetFocusEnd SubPrivate Sub mnuSysUser_Click()SysUserManage.ShowSysUserManage.SetFocusEnd SubPrivate Sub mnuUserQuery_Click()DenizenQuery.ShowDenizenQuery.SetFocusEnd Sub3.设计结果与分析(1)系统登录窗体,运行结果如下:(2)系统主窗体运行结果如下:沈阳大学课程设计说明书N O.10系统测试是一项庞大而又需要细致用心的任务,以上为我所负责的模块测试结果,在小组成员实现各个功能模块时,都分别独立运行进行了测试,最后将SystemLogon(系统登录窗体)设置为启动窗体,选择“文件”——“生成小区物业管理信息系统.exe”菜单命令,生成系统的可执行文件,并运行对系统进行总体测试。