社区管理系统的设计与实现.docx
- 文档编号:6542490
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:34
- 大小:747.06KB
社区管理系统的设计与实现.docx
《社区管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《社区管理系统的设计与实现.docx(34页珍藏版)》请在冰豆网上搜索。
社区管理系统的设计与实现
课程设计报告
社区管理系统的设计与实现
课程《数据库原理及应用》
班级
姓名
学号
指导教师
时间:
2012年5月21日至2012年5月25日
指导教师对课程设计(论文)的评语(工作态度、任务完成情况、能力水平、设计说明书(论文)的撰写和图纸质量等):
成绩
指导教师签字年月日
参考文献32
第一章开发背景
随着信息技术的飞速发展,特别是网络和数据库技术的发展,计算机已经成为当今处理信息的主要工具。
数据库技术是计算机应用技术中的一个重要组成部分,对于大量的数据,使用数据库来存储管理将比通过文件来存储管理更高效。
数据库技术在经过几代变革以后,出现了以关系数据库产品为主流的数据库时代。
人们对于现实中的各种事物的管理已经越来越依靠计算机进行智能化管理,而不是靠手工输入进行统计管理。
其次,当代社会,随着社会、科技、文化和经济的发展,特别是计算机网络技术和通信技术的大发展,人们在随时随地,都可以知道远在千里的信息。
但是,现在许多居民小区的信息并没有在网上公布,如果,远在千里之外的人要了解这个居民小区的情况,则很困难。
因此,在这种状况下,提供一种网络社区服务与管理系统对一个社区进行管理,使任何人在任何时候任何地点,都可以了解到小区的信息,并且使人们可以在这个平台上进行交流是势在必行。
第二章功能描述
社区管理部门希望借助社区管理系统实现以下功能:
(1)基本情况管理
包括社区概况、居民档案管理等;
(2)社区服务管理
提供居民健康档案,社区文体、志愿者信息管理和下岗职工管理(包括下岗人员档案、上岗培训记录和生活保证金发放等)功能;
(3)民政工作管理
提供低保管理、残疾人管理、社区团体管理等功能;
(4)综合治理
包括治安管理和纠纷调解记录管
(5)系统维护
用户管理、系统设置、更改密码等功能。
第三章业务流程分析
先根据系统要求实现的功能进行基本分析,社区管理系统分为四个管理子系统,分别基本信息服务管理、社区服务管理子系统、民政工作管理管理和综合治理,然后找出系统实现的顺序,逐步进行分析,最终分析得出业务流程图,业务流程图如图:
图3-1业务流程图
第四章数据流程分析
4.1、数据流程图
根据系统需求分析,得出社区管理系统第0层数据流程图,社区工作人员录入居民信息,社区工作计划,年总目标等信息,系统存储居民基本情况等信息,社区主任可以查询任一居民的信息和居民参加文体活动等等,并且可以统计入某一居民参加活动的次数,并以此来鉴定优秀市民。
图4-1数据流程图
4.2、数据字典
(1)数据流的描述
数据流编号:
S001
数据流名称:
用户信息
简述:
描述用户个人基本信息
数据流来源:
普通用户、管理员
数据流去向:
用户信息判断
数据流组成:
编号+姓名+身份等
数据流量:
600/天
高峰流量:
1000/天
数据流编号:
S002
数据流名称:
管理员管理
简述:
管理员修改居民信息
数据流来源:
居民信息判断
数据流去向:
居民
数据流组成:
编号+姓名+身份等
数据流量:
100/天
高峰流量:
500/天
(2)处理逻辑的描述
处理逻辑编号:
P001
处理逻辑名称:
居民信息判断
简述:
判断居民信息的合法性
输入的数据流:
档案信息
处理描述:
根据居民提供的档案信息,验证居民信息,验证通过则继续下移处理查看社区内信息,验证不通过则返回给居民信息指明为非法居民。
输出的数据流:
D001社区信息、D002无效提示信息
处理频率:
10次/天
处理逻辑编号:
P002
处理逻辑名称:
社区查询
简述:
查询居民所要查找的社区信息
输入的数据流:
D001社区信息
处理描述:
根据居民提供的档案信息,到社区系统中查找是否有相关社区信息,有则进行查阅处理,如没有则返回居民无所查信息。
输出的数据流:
D001社区信息+D003无所查信息
处理频率:
1000次/天
(3)数据存储的描述
数据存储编号:
F001
数据存储名称:
居民信息
简述:
居民的基本信息
数据存储组成:
身份证+姓名+志愿者+健康状况
关键字:
身份证号
相关联的处理:
P001
数据存储编号:
F002
数据存储名称:
社区存储信息
简述:
保存社区信息
数据存储组成:
居民档案+社区文化+社区概况+志愿者信息+民政信息
关键字:
相关联的处理:
P002,P003,P005
(4)外部实体的描述
外部实体编号:
S001
外部实体名称:
居民
简述:
查询社区信息的人
输入的数据流:
D002,D003
输出的数据流:
D001
第五章概念模型设计
概念模型图:
图5-1概念模型图
第六章逻辑模型设计和优化
将概念模型转化逻辑模型,如图6-1所示。
图6-1逻辑模型图
第七章物理设计和实施
7.1创建居民基本信息表
居民基本信息表的结构如表1所示。
表1居民基本信息表
列名数据类型长度容许空
身份证号char20notnull
工作编号int4notnull
残疾等级int4null
志愿者char20null
健康状况char2null
姓名char10null
创建居民基本信息表的SQL语句如下:
createtable居民
(
身份证号char(20)notnull,
工作编号intnotnull,
残疾等级intnull,
志愿者char(20)null,
健康状况char
(2)null,
姓名char(10)null,
constraintPK_居民primarykeynonclustered(工作编号))
7.2创建下岗培训基本信息表
下岗培训基本信息表的结构如表2所示。
表2下岗培训基本信息表
列名数据类型长度容许空
培训类型号int4notnull
内容char1000null
意向char50null
创建下岗培训基本信息表的SQL语句如下:
createtable下岗培训(
培训类型号intnotnull,
内容char(1000)null,
意向char(50)null,
constraintPK_下岗培训primarykeynonclustered(培训类型号)
)
7.3创建培训信息表
培训信息表的结构如表3所示。
表3培训信息表
列名数据类型长度容许空
身份证号int4notnull
培训时间int4notnull
时间datetime8null
创建培训信息表的SQL语句如下:
createtable培训(
身份证号intnotnull,
培训类型号intnotnull,
时间datetimenull,
constraintPK_培训primarykey(身份证号,培训类型号)
)
7.4创建文体活动信息表
文体活动信息表的结构如表4所示。
表4文体活动信息表
列名数据类型长度容许空
时间datetime8null
内容char1000null
活动代号int4notnull
工作编号int4null
创建文体活动信息表的SQL语句如下:
createtable文体活动(
时间datetimenull,
内容char(1000)null,
活动代号intnotnull,
工作编号intnull,
constraintPK_文体活动primarykeynonclustered(活动代号)
)
7.5创建残疾人信息表
残疾人信息表的结构如表5所示。
表5残疾人信息表
列名数据类型长度容许空
残疾证号int4notnull
工作编号int4null
保障金int4null
残疾等级int4null
创建残疾人信息表的SQL语句如下:
createtable残疾人(
残疾证号intnotnull,
工作编号intnull,
保障金intnull,
残疾等级intnull,
constraintPK_残疾人primarykeynonclustered(残疾证号)
)
7.6创建民事纠纷基本信息表
民事纠纷基本信息表的结构如表6所示。
表6民事纠纷基本信息表
列名数据类型长度容许空
时间datetime8null
处理结果char100null
事务编号int4notnull
工作编号int4null
创建民事纠纷基本信息表的SQL语句如下:
createtable民事纠纷(
时间datetimenull,
处理结果char(100)null,
事务编号intnotnull,
工作编号intnull,
constraintPK_民事纠纷primarykeynonclustered(事务编号)
)
7.7创建社区概况信息表
社区概况信息表的结构如表7所示。
表7社区概况信息表
列名数据类型长度容许空
社区名称char10null
社区编号int4notnull
社区文化char1000null
创建社区概况信息表的SQL语句如下:
createtable社区概况(
社区名称char(10)null,
社区编号intnotnull,
社区文化char(1000)null,
constraintPK_社区概况primarykeynonclustered(社区编号)
)
7.8创建普通用户表
普通用户表的结构如表8所示。
表8普通用户表
列名数据类型长度容许空
登录名char(10)10notnull,
身份证号char(10)10notnull,
密码char(10)10notnull,
创建普通用户表的SQL语句如下:
createtable普通用户(
登录名char(10)notnull,
身份证号char(10)notnull,
密码char(10)notnull,
constraintPK_普通用户primarykeynonclustered(登录名)
)
7.9创建管理员用户表
管理员用户表的结构如表9所示。
表9管理员用户表
列名数据类型长度容许空
登录名char(10)10notnull,
身份证号char(10)10notnull,
密码char(10)10notnull,
创建管理员用户表的SQL语句如下:
createtable管理员用户(
登录名char(10)notnull,
身份证号char(10)notnull,
密码char(10)notnull,
constraintPK_管理员用户primarykeynonclustered(登录名)
)
第八章系统测试
8.1登录界面
登录界面如图8-1所示。
图8-1登陆界面
对应代码:
privatevoidbtnLogin_Click(objectsender,EventArgse)
{try
{
if(txtUserName.Text=="")//判断用户是否输入了用户名
{
MessageBox.Show("用户名不能为空");
}
else
{
if(txtPwd.Text=="")
{
MessageBox.Show("密码不能为空");//判断用户是否输密码}
else
{SqlConnectioncon=DBCon.createCon();//创建数据库连接
con.Open();
//SqlCommandcmd=newSqlCommand("selectcount(*)from普通用户where登录名='"+txtUserName.Text+"'and密码='"+txtPwd.Text+"'",con);
//inti=Convert.ToInt32(cmd.ExecuteScalar());//获取返回值
//if(i>0)
//{
if(cmbLogin.Text=="")
{
MessageBox.Show("请选择登录界面");
cmbLogin.Focus();
return;
}
elseif(cmbLogin.Text=="普通用户使用界面")
{SqlCommandcmd=newSqlCommand("selectcount(*)from普通用户where登录名='"+txtUserName.Text+"'and密码='"+txtPwd.Text+"'",con);
inti=Convert.ToInt32(cmd.ExecuteScalar());
if(i>0)
{frmMainmain=newfrmMain();
main.adminname=txtUserName.Text;
t=txtUserName.Text;
main.admintime=DateTime.Now.ToShortDateString();
main.Show();
this.Hide();
}
else
{MessageBox.Show("用户名密码错误!
");
}
}
else
{SqlCommandcmd=newSqlCommand("selectcount(*)from管理员用户where登录名='"+txtUserName.Text+"'and密码='"+txtPwd.Text+"'",con);
inti=Convert.ToInt32(cmd.ExecuteScalar());
if(i>0)
{ptMainptmain=newptMain();
ptmain.adminname=txtUserName.Text;
ptmain.Show();
this.Hide();
}
else
{MessageBox.Show("用户名密码错误!
");
}
}
//}
//else
//{MessageBox.Show("用户名或者密码错误!
");//弹出提示
//}
}}}
catch(Exceptionex)
{MessageBox.Show(ex.ToString());}}
privatevoidbtnCancel_Click(objectsender,EventArgse)
{this.Close();}
8.2系统主界面的实现
系统主界面如图8-2所示。
图8-2系统主界面
对应代码:
privatevoidptMain_Load(objectsender,EventArgse)
{
toolStripStatusLabel2.Text=adminname;
toolStripStatusLabel5.Text=DateTime.Now.ToString();
}
privateboolcheckChildFrmExist(stringchildFrmName)
{
foreach(FormchildFrminthis.MdiChildren)
{
if(childFrm.Name==childFrmName)//用子窗体的Name进行判断,如果存在则将他激活
{
if(childFrm.WindowState==FormWindowState.Minimized)
childFrm.WindowState=FormWindowState.Normal;
childFrm.Activate();
returntrue;
}
}
returnfalse;
}
privatevoidtoolStripMenuItem1_Click(objectsender,EventArgse)
{
if(MessageBox.Show("确定退出本系统吗?
","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Asterisk)==DialogResult.OK)
{
this.Close();
}
}
}
privatevoid居民档案ToolStripMenuItem_Click(objectsender,EventArgse)
{
//通过窗体名称查询该窗体是否已经存在,如存在则显示,否则就新创建一个
if(this.checkChildFrmExist("居民档案")==true)
{
return;
}
居民档案readerinfo=new居民档案();
readerinfo.MdiParent=this;
readerinfo.Show();
}
privatevoid居民信息添加删除ToolStripMenuItem_Click(objectsender,EventArgse)
{
//通过窗体名称查询该窗体是否已经存在,如存在则显示,否则就新创建一个
if(this.checkChildFrmExist("居民信息添加或删除")==true)
{
return;
}
居民信息添加或删除bookinfo=new居民信息添加或删除();
bookinfo.MdiParent=this;
bookinfo.Show();
}
privatevoid社会文体信息修改ToolStripMenuItem_Click(objectsender,EventArgse)
{
//通过窗体名称查询该窗体是否已经存在,如存在则显示,否则就新创建一个
if(this.checkChildFrmExist("社会文体信息修改")==true)
{
return;
}
社会文体信息修改bookoverdate=new社会文体信息修改();
bookoverdate.MdiParent=this;
bookoverdate.Show();
}
privatevoid民事纠纷信息修改ToolStripMenuItem_Click(objectsender,EventArgse)
{
if(this.checkChildFrmExist("民事纠纷信息修改")==true)
{
return;
}
民事纠纷信息修改bookoverdate=new民事纠纷信息修改();
bookoverdate.MdiParent=this;
bookoverdate.Show();
}
privatevoid居民信息添加ToolStripMenuItem_Click(objectsender,EventArgse)
{
居民信息添加或删除f=new居民信息添加或删除();
f.MdiParent=this;
f.Show();
}
privatevoid社区文体ToolStripMenuItem_Click(objectsender,EventArgse)
{
社会文体信息修改f=new社会文体信息修改();
f.MdiParent=this;
f.Show();
}
privatevoid民事纠纷ToolStripMenuItem_Click(objectsender,EventArgse)
{
民事纠纷信息修改f=new民事纠纷信息修改();
f.MdiParent=this;
f.Show();
}
privatevoid修改密码ToolStripMenuItem_Click(objectsender,EventArgse)
{
管理员修改密码f=new管理员修改密码();
f.name=adminname;
f.MdiParent=this;
f.Show();
}}}
privatevoid退出系统ToolStripMenuItem_Click(objectsender,EventArgse)
{
if(MessageBox.Show("确定退出本系统吗?
","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Asterisk)==DialogResult.OK)
{
this.Close();//退出系统}}
8.3居民信息
居民信息界面如图8-3所示。
图8-3居民信息界面
对应代码:
privatevoid查询_Click(objectsender,EventArgse)
{(txt1.Text==""&&txt2.Text=="")
{
return;}
if(txt1.Text!
=""&&txt2.Text==""){
SqlConnectioncon=DBCon.createCon();
SqlDataAdaptersda=newSqlDataAdapter("select身份证号as身份证号,工作编号as工作编号,残疾等级as残疾等级,志愿者as志愿者,健康状况as健康状况,姓名as姓名from居民档案where身份证号like'"+txt1.Text+"%'",con);
DataSetds=newDataSet();
sda.Fill(ds,"table");
this.dataGridView1.DataSource=ds.Tables[0].DefaultView;
try//有时找不到匹配的记录,有异常
{
show();
}
catch(Exceptionex)//
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 社区 管理 系统 设计 实现