资源描述
动态网页制作技术课程设计
课程设计报告书
题 目
小区物业管理系统
专 业
信息管理
指导老师
同组成员
计算机与数据科学学院
目录
一.需求分析 3
1.1开发背景 3
1.2开发意义 3
二.总体概述 4
2.1系统功能 4
2.1.1子模块详细设计 5
2.2界面设计 6
2.2.1管理员登录模块设计 6
2.2.2用户登录模块的设计 7
三.数据库设计 8
四.系统公共类部署 11
五.主要功能模块实现 20
5.1管理员功能模块 20
5.2普通用户功能模块 21
六.网站的发布 23
6.1网站的实现步骤 23
6.2系统实现的部分代码 28
七. 心得与体会 37
八.参考文献 39
出售ASP.NET各类课程设计/毕业设计,包括(课程设计文档、.NET程序、数据库),详情请咨询qq:1193390850,质量上乘,价格优惠
出售ASP.NET各类课程设计/毕业设计,包括(课程设计文档、.NET程序、数据库),详情请咨询qq:1193390850,质量上乘,价格优惠
一.需求分析
1.1开发背景
随着人民生活水平不断提高,人们对生活环境要求日益提高,尤其是对居住环境不断提出新的需求,为了适应这种形式,小区的经营者不仅首先要有坚实的硬件基础,还要有一套现代化的物业管理系统。而要实现这一功能,就职求物业管理者配备一套高效的管理住处网络系统,以便在小区内快速地发布和获取住处并以最快地速度响应用户的需求,及时为用户提供服务,为住户提供一个高效、舒适的居住、生活环境。住宅小区的物业管理准确地讲应当是指对以居住为主要功用的物业进行管理。除住宅外还应包括公寓、别墅等。
本物业管理系统的开发,是为了规范住宅小区的管理工作,为物业管理部门提供一套高效、快捷的应用软件。适用于管理以下物业,房产业主、大中小型物业管理公司、物业服务提供商、房地产开发商、物业中介公司等物业管理企业,用来管理公寓、住宅群体、智能小区、商品房、多层住宅、商业大厦、学校、医院、别墅区、部队营房区、各类小区等。
使用计算机进行小区物业信息的处理,具有如下的优点
(1)及时信息交流,改善服务质量
通过本系统对小区物管信息的规范管理,可以及时的掌握业主们的需求,并根据需求有针对性的改进业务,以提高服质量。
(2) 方便查询,提高工作效率。
1.2开发意义
随着时代的发展,计算机技术越来越深入各行各业,为广大的用户提供了更为周到和便捷的服务。目前各行各业广泛使用专用系统,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大。因此,设计开发好一个专用系统对一个机构(或部门)的发展十分重要。近年来,随着用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术的广泛应用,向用户提供的服务将越来越丰富,越来越人性化。近年来,一种将建筑艺术美学、科学信息技术与优质生活理念有机结合,共同为社会和人类提供舒适、安全、便捷、环保、智能生活环境的新型住宅群被创建并迅速推广,这种新型住宅被称为“智能社区”。智能社区的出现极大的改善了人们生活环境的层次,提高了人们生活质量和水平。与此同时,智能社区的发展对智能社区的物业管理提出了新的要求:一是加强对社区内部公共服务设施和智能设施的综合管理;二是充分利用社区内部公共服务设施和智能设施,以及结合先进的物联网技术,共同提升智能社区的物业管理水平。
物业管理行业是房地产行业的一个重要组成部分,随着房地产行业的快速发展,人们逐渐接受了物业管理这一管理模式。良好的物业管理已经成为楼盘销售的重要因素,也成为业主或租户选择物业公司的重要考虑因素。好的物业管理系统为一个小区内节省了很多的人力物力资源,不拘泥与传统的各种活动都需要小区物业管理员进行通知,收费等。小区物业管理系统不再需要小区管理员亲力亲为,而只需要在电脑上发布信息通知小区人员,缴费也不需要跑到营业厅进行,只需要在电脑上即可完成,为人们带来了很大的方便。
二.总体概述
2.1系统功能
根据系统功能的要求,小区物业系统分为五个主要模块。即用户信息管理、投诉管理、住户报修管理、物业缴费管理、住户停车车位管理。可以将系统分解成为几个功能模块来分别设计,功能模块间的关系如图2.1.1所示。
图2.1基本模块图
对于小区物业系统,根据系统功能分析,管理员可以直接登录后台,也可通过前台界面进入。所以从欢迎页面到登录页面,如果登录成功,则进入相应的功能页。
整个系统的页面逻辑结构示意图如图2.1.2所示。
图2.1.2系统页面图
2.1.1子模块详细设计
该系统主要是针对系统管理员的小区物业管理系统,没有设置其他用户登录,该系统有六个主要的功能模块构成其中有:
(1)小区公告信息管理:主要是对小区公告信息的增、删、改、查。
(2)用户信息管理:包括业主基本资料添加和管理模块。
(3)投诉管理:包括投诉添加和投诉管理,主要是内容上投诉的基本事项和处理详细内容。
(4)维修管理:报修添加和报修管理两个子模块,添加信息有报修事项和报修处理结果及产生的费用内容。
(5)缴费管理:是该系统的最重要组成模块,包括主要收费项目和缴费业主信息,包括指定业主的主要产生费用项目管理。
(6)停车车位管理:包括停车车位管理和信息管理,主要是车位基本信息方面的添加与查看。
2.2界面设计
2.2.1管理员登录模块设计
管理员界面
本系统的普通用户登陆成功与管理员登陆成功进入不同的页面,对于管理员来说,他的实现的功能要多于普通用户,一般普通用户只能实现查询的功能,不能进行增删改,对于管理员来说都要实现增删改的功能,所以在代码添加,页面设计总都是比较复杂的,管理员模块使用了treeview导航,然后在右侧添加contenthold控件,把所需要用的其他控件textbox,button,gridview等添加到该区域中。管理员在使用本系统后,很多事情不用再每家每户的去通知,亲自去收费,只需要在电脑上操作即可。
首先,可以在界面上进行小区公告,时事公告等的添加,如果添加过程中出现了错误,在公告查看界面可以进行编辑,修改出错的信息,为管理员提供了很大的方便,然后,缴费界面管理员可以对个用户的缴费情况进行处理,需要缴费的可以通知,交过费的在缴费添加界面添加缴费信息即可,投诉信息管理员也需要处理,有投诉的业主编号,也有投诉的内容,维修信息管理员管理员可以在维修信息页面添加,如果维修人员已经维修过,那么管理员可以在维修管理页面进行维修信息的修改,包括维修时间,维修人员,维修价钱等信息进行编辑。如图2.2.1所示。
图2.2.1管理员的功能图
输入:用户名,密码,
处理:如果登录成功,系统将自动从数据库中的管理员信息表中判断是否存在相同的用户名和密码等,如果有则进入系统,如果不存在或密码错误,则提示不是管理员或密码有错误的信息。
输出:登录成功,进入管理员的功能选择页面,若不成功,则显示错误信息页面
2.2.2用户登录模块的设计
用户界面
本系统的普通用户登陆成功与管理员登陆成功进入不同的页面,对于普通用户来说,他的实现的功能要少于管理员,一般普通用户只能实现查询的功能,不能进行增删改,所以普通用户的界面设计要比较简单一些,普通用户使用的模板页与管理员不同的,普通用户的模板页使用母版页、超链接添加了一些普通用户的功能,然后在把所需要用的其他控件textbox,button,gridview等添加到内容区域中, 其中的主要功能如下,公告信息:查看本小区的公告,但没有增、删、改的功能,维修功能:普通用户可以通过住户编号查询维修信息;在普通用户登陆成功界面,可以通过缴费编号等信息进行查询,同时也可以进行详细欠费信息查询,有用户名,编号,类别,状态以及金额,投诉功能:在普通用户登陆成功后,只能进行查询,普通用户的功能表如图2.2.2所示。
图2.2.2普通用户的功能
三.数据库设计
SQL数据库中,一个关系就对应一个基本表,一个或多个基本表对应一个存储文件。用户建立一个基本表后,可以对它进行增加、删除、修改、查询等操作。本系统数据库设计中使用的基本表如下,数据库名为:db_XQWY,数据库中包含的表总共有9个,分别为管理员信息表如下表4-1,用户信息表如下表4-2,用户登录表如下表4-3,公告信息表如下表4-,4,维修信息表如下表4-5,投诉信息表如下表4-6,缴费信息表如下表4-7, 停车位信息表如下表4-8,空余车位信息表件如下表4-9。每个表分别在不同的页面显示信息,方便用户查看不同的信息,提供了很大的便利。
表4-1管理员信息表
字段名
数据类型
长度
可否为空
说明
admi_id
int
32
否
管理员编号
name
Char
10
否
管理员姓名
mima
char
10
否
登录密码
表4-2用户信息表
字段名
数据类型
长度
可否为空
说明
Userid
varchar
10
否
用户id
name
varchar
10
否
用户姓名
sex
varchar
10
是
性别
Shenfen_number
varchar
18
是
用户身份证
tel
varchar
11
是
用户电话号
email
varchar
25
是
电子邮箱
address
Varchar
50
是
用户住址
表4-3用户登录表
字段名
数据类型
长度
可否为空
说明
Userid
varchar
15
否
用户登录号
pwd
varchar
25
否
用户密码
level
varchar
15
是
用户身份
表4-4公告信息表
字段名
数据类型
长度
可否为空
说明
tilte
varchar
25
否
公告标题
neirong
varchar
50
否
公告内容
faburen
varchar
20
否
发布人
time
datatime
24
否
发布时间
表4-5维修管理表
字段名
数据类型
长度
可否为空
说明
Weixiu_id
varchar
25
否
维修编号
Userid
varchar
10
否
用户编号
Time1
datatime
24
是
报修时间
neirong
varchar
25
否
报修内容
Time2
datatime
24
是
维修时间
renyuan
varchar
10
是
处理人
表4-6投诉管理表
字段名
数据类型
长度
可否为空
说明
Tousu_d
varchar
25
否
投诉编号
Userid
Varchar
10
否
用户编号
time1
datetime
24
是
投诉时间
time2
datetime
24
是
处理时间
neirong
varchar
25
否
处理内容
renyuan
varchar
25
是
处理人
jieguo
varchar
25
是
处理结果
表4-7缴费管理表
字段名
数据类型
长度
可否为空
说明
jilu_id
varchar
50
否
缴费编号
Userid
varchar
10
否
用户编号
time
datetime
24
是
缴费时间
name
varchar
50
是
缴费姓名
neirong
nvarchar
50
是
缴费内容
money11
money
11
否
缴费金额
beizhu
nvarchar
50
是
备注
表4-8停车位信息表
字段名
数据类型
长度
可否为空
说明
chewei_id
int
32
否
停车位编号
Userid
int
32
否
用户编号
zhanyong
char
10
是
是否被占用
表4-9空车位信息表
字段名
数据类型
长度
可否为空
说明
chewei_id
int
32
否
停车位编号
address
nchar
10
否
停车位地址
四.系统公共类部署
在开发项目中以类的形式来组织、封装一些常用的方法和事件,不仅可以提高代码的重用率,也大大方便了代码的管理。本系统中创建了一个公共类-Conn.cs类,主要用来访问SQL数据库,数据库操作类的主要功能是连接数据库。 首先在命名空间区域引用using System.Data;using System.Data.SqlClient;命名空间。 小区物业内部管理网中采用SQL数据库,下面给出链接SQL数据库的字符串以及连接数据库表的个各类。具体代码如下:
1.在网站中集中连接数据库,建立集中连接数据库的类:Conn.cs具体代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
/// <summary>
///Conn 的摘要说明
/// </summary>
public class Conn
{
public Conn()
{
//
//TODO: 在此处添加构造函数逻辑
//
}
public static SqlConnection CreateCon()
{
return new SqlConnection("Server=.;DataBase=db_XQWY;Integrated Security=true");
}
}
2.系统又分别添加了,发布公告类,投诉信息类,维修信息类,停车位信息类,用户信息类,缴费信息类以供下面各个功能模块的实现调用,具体代码如下:
Fabugonggao.cs代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
/// <summary>
/// fabugonggao 的摘要说明
/// </summary>
public class fabugonggao
{
public fabugonggao()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public DataSet GettDepartment()
{
SqlConnection MyConn = Conn.CreateCon();
string strSql = "select * from 公告信息表";
SqlDataAdapter MyDA = new SqlDataAdapter(strSql, MyConn);
DataSet MyDS = new DataSet();
MyDA.Fill(MyDS, "Departmentx");
return MyDS;
}
public void UpdateDepartment(string title, string time, string neirong,string faburen)
{
SqlConnection MyConn = Conn.CreateCon();
string updateString = "UPDATE 公告信息表 set time=@time neirong=@neirong faburen=@faburen where title=@title";
SqlCommand cmd = new SqlCommand(updateString, MyConn);
cmd.Parameters.AddWithValue("@time",time);
cmd.Parameters.AddWithValue("@faburen", faburen);
cmd.Parameters.AddWithValue("@title", title);
cmd.Parameters.AddWithValue("@neirong", neirong);
MyConn.Open();
cmd.ExecuteNonQuery();
MyConn.Close();
}
public void InsertDepartment(string title, string time, string neirong, string faburen)
{
SqlConnection MyConn = Conn.CreateCon();
string insertString = "INSERT INTO 公告信息表 (title,time,neirong,faburen)VALUES(@title,@time,@neirong,@faburen)";
SqlCommand cmd = new SqlCommand(insertString, MyConn);
cmd.Parameters.AddWithValue("@title", title);
cmd.Parameters.AddWithValue("@time", time);
cmd.Parameters.AddWithValue("@neirong", neirong);
cmd.Parameters.AddWithValue("@faburen", faburen);
MyConn.Open();
cmd.ExecuteNonQuery();
MyConn.Close();
}
public void DeleteDepartment(string title)
{
SqlConnection MyConn = Conn.CreateCon();
string deleteString = "DELETE FROM 公告信息表 where title=@title";
SqlCommand cmd = new SqlCommand(deleteString, MyConn);
cmd.Parameters.AddWithValue("@title",title);
MyConn.Open();
cmd.ExecuteNonQuery();
MyConn.Close();
}
}
tousu.cs代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
/// <summary>
/// jiaofei 的摘要说明
/// </summary>
public class tousu
{
public tousu()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public DataSet GettDepartment()
{
SqlConnection MyConn = Conn.CreateCon();
string strSql = "select * from 投诉管理表";
SqlDataAdapter MyDA = new SqlDataAdapter(strSql, MyConn);
DataSet MyDS = new DataSet();
MyDA.Fill(MyDS, "Departmentx");
return MyDS;
}
public void UpdateDepartment(int tousu_d, string Userid, string time1,string neirong,string time2, string renyuan, string jieguo)
{
SqlConnection MyConn = Conn.CreateCon();
string updateString = "UPDATE 投诉管理表 set Userid=@Userid, time1=@time1,neirong=@neirong,time2=@time2,renyuan=@renyuan,jieguo=@jieguo where tousu_d=@tousu_d";
SqlCommand cmd = new SqlCommand(updateString, MyConn);
cmd.Parameters.AddWithValue("@Userid", Userid);
cmd.Parameters.AddWithValue("@time1", time1);
cmd.Parameters.AddWithValue("@neirong", neirong);
cmd.Parameters.AddWithValue("@time2", time2);
cmd.Parameters.AddWithValue("@renyuan", renyuan);
cmd.Parameters.AddWithValue("@jieguo", jieguo);
cmd.Parameters.AddWithValue("@tousu_d", tousu_d);
MyConn.Open();
cmd.ExecuteNonQuery();
MyConn.Close();
}
public void InsertDepartment(int tousu_d, string Userid, string time1, string neirong, string time2, string renyuan, string jieguo)
{
SqlConnection MyConn = Conn.CreateCon();
string insertString = "INSERT INTO 投诉管理表 (tousu_d,Userid,time1,neirong,renyuan,jieguo)VALUES(@tousu_d,@Userid,@time1,@neirong,@renyuan,@jieguo)";
SqlCommand cmd = new SqlCommand(insertString, MyConn);
cmd.Parameters.AddWithValue("@tousu_d", tousu_d);
cmd.Parameters.AddWithValue("@Userid", Userid);
cmd.Parameters.AddWithValue("@time1", time1);
cmd.Parameters.AddWithValue("@neirong", neirong);
cmd.Parameters.AddWithValue("@time2",time2);
cmd.Parameters.AddWithValue("@renyuan", renyuan);
cmd.Parameters.AddWithValue("@jieguo", jieguo);
MyConn.Open();
cmd.ExecuteNonQuery();
MyConn.Close();
}
public void DeleteDepartment(int tousu_d)
{
SqlConnection MyConn = Conn.CreateCon();
string deleteString = "DELETE FROM 投诉管理表 where tousu_d=@tousu_d";
SqlCommand cmd = new SqlCommand(deleteString, MyConn);
cmd.Parameters.AddWithValue("@tousu_d", tousu_d);
MyConn.Open();
cmd.ExecuteNonQuery();
MyConn.Close();
}
}
jiaofei.cs代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
/// <summary>
/// jiaofei 的摘要说明
/// </summary>
public class jiaofei
{
public jiaofei()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public DataSet GettDepartment()
{
SqlConnection MyConn = Conn.CreateCon();
string strSql = "select * from 缴费管理表";
SqlDataAdapter MyDA = new SqlDataAdapter(strSql, MyConn);
DataSet MyDS = new DataSet();
MyDA.Fill(MyDS, "Departmentx");
return MyDS;
}
public void UpdateDepartment(int jilu_id, string Userid, string time,string name,string neirong,string money11,string beizhu)
{
SqlConnection MyConn = Conn.CreateCon();
string updateString = "UPDATE 缴费管理表 set Userid=@Userid, time=@time,name=@name,neirong=@neirong,money11=@money11,beizhu=@beizhu where jilu_id=@jilu_id";
SqlCommand cmd = new SqlCommand(updateString, MyConn);
cmd.Parameters.AddWithValue("@Userid", Userid);
cmd.Parameters.AddWithValue("@time", time);
cmd.Parameters.AddWithValue("@name", name);
cmd.Parameters.AddWithValue("@neirong", neirong);
cmd.Parameters.AddWithValue("@money11", money11);
cmd.Parameters.AddWithValue("@ beizhu", beizhu);
cmd.Parameters.AddWithValue("@jilu_id", jilu_id);
MyConn.Open();
cmd.ExecuteNonQuery();
MyConn.Close();
}
public void InsertDepartment(int jilu_id, string Userid, string time, string name, string neirong, string money11, string beizhu)
{
SqlConnection MyConn = Conn.CreateCon();
string insertString = "INSERT INTO 缴费管理表 (jilu_id,Userid,time,name,neirong,money11,beizhu)VALUES(@jilu_id,@Userid,@time,@name,@neirong,@money11,@beizhu)";
SqlCommand cmd = new SqlCommand(insertString, MyConn);
cmd.Parameters.AddWithValue("@jilu_id", jilu_id);
cmd.Parameters.AddWithValue("@Userid", Userid);
cmd.Parameters.AddWithValue("@time", time);
cmd.Parameters.AddWithValue("@name", name);
cmd.Parameters.AddWithValue("@neirong", neirong);
cmd.Parameters.AddWithValue("@money11", money11);
cmd.Parameters.AddWithValue("@beizhu", beizhu);
MyConn.Open();
cmd.ExecuteNonQuery();
MyConn.Close();
}
public void DeleteDepartment(int jilu_id)
{
SqlConnection MyConn = Conn.CreateCon();
string deleteString = "DELETE FROM 缴费管理表 where jilu_id=@jilu_id";
SqlCommand cmd = new SqlCommand(deleteString, MyConn);
cmd.Parameters.AddWithValue("@jilu_id", jilu_id);
MyConn.Open();
cmd.ExecuteNonQuery();
MyConn.Close();
}
}
tingchewei.cs代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
/// <summary>
///Department 的摘要说明
/// </summary>
public class Department
{
public Department()
{
//
//TODO: 在此处添加构造函数逻辑
//
}
public DataSet GettDepartment()
{
SqlConnection MyConn = Conn.CreateCon();
string strSql = "select * from tingchewei";
SqlDataAdapter MyDA = new SqlDataAdapter(strSql, MyConn);
DataSet MyDS = new DataSet();
MyDA.Fill(MyDS, "Departmentx");
return MyDS;
}
public void UpdateDepartment(int chewei_id, string yezhu_id, string zhanyong)
{
SqlConnection MyConn = Conn.CreateCon();
string updateString = "UPDATE tingchewei set yezhu_id=@yezhu_id,zhanyong=@zhanyong where chewei_id=@chewei_id";
展开阅读全文