1、课程设计报告社区管理系统数据库设计课 程 数据库原理及应用 班 级 姓 名 学 号 指导教师 杨 慧 铜陵学院数学与计算机科学系时间:2012 年 5 月 7 日 至 2012 年 5 月 13 日社区管理系统II指导教师对课程设计(论文)的评语(工作态度、任务完成情况、能力水平、设计说明书(论文)的撰写和图纸质量等):成绩 指导教师签字 年 月 日社区管理系统III目 录第一章 开发背景 1第二章 功能描述 12.1 功能描述 .22.2 系统功能模型的建立 .2第三章 业务流程分析 3第四章 数据流程分析 44.1 数据流程图 44.2 数据字典 5第五章 概念模型设计 8第六章 逻辑模型
2、设计和优化 9第七章 物理设计和实施 10第八章 课程设计心得体会 17参考文献 18社区管理系统1第一章 开发背景 随着信息技术的飞速发展,特别是网络和数据库技术的发展,计算机已经成为当今处理信息的主要工具。数据库技术是计算机应用技术中的一个重要组成部分,对于大量的数据,使用数据库来存储管理将比通过文件来存储管理更高效。数据库技术在经过几代变革以后,出现了以关系数据库产品为主流的数据库时代。人们对于现实中的各种事物的管理已经越来越依靠计算机进行智能化管理,而不是靠手工输入进行统计管理。其次,当代社会,随着社会、科技、文化和经济的发展,特别是计算机网络技术和通信技术的大发 展,人们在随时随地,
3、都可以知道远在千里的信息。但是,现在许多居民小区的信息并没有在网上公布,如果,远在千里之外的人要了解这个居民小区的情况,则很困难。因此,在这种状况下,提供一种网络社区服务与管理系统对一个社区进行管理,使任何人在任何时候任何地点,都可以了解到小区的信息,并且使人们可以在这个平台上进行交流是势在必行。目前,在发达国家,对居民小区基本上是用软件进行统计管理,而在国内,除了在较发达的地区是用了电脑,在大多数的地方,基本上是用人工对人员信息进行统计。导致这种状况的原因除了许多人不懂电脑,硬件设备不到位的原因外,最主要的原因是国内从事这方面研究的人员太少。因此,在目前这种情况下,率先进行研究,是极具商业价
4、值的。社区管理系统2第二章 功能描述2.1 功能描述通过对小区的了解,获知社区管理系统应具备以下功能:(1)基本情况管理:包括社区概况、居民档案管理。(2)社区服务管理:提供居民健康档案、社区文体、志愿者信息管理和下岗职工管(包 括下岗人员档案、上岗培训记录和生活保障金发放)等功能。(3)民政工作管理:提供低保管理、残疾人管理、社区团体管理等更能。2.2 系统功能模型的建立根据社区管理系统要求实现的功能,建立系统功能模型图,如图 2-1 所示。社区管理系统民政工作管理综合治理社区服务管理基本管理服务社区概况居民档案管理居民健康档案社区文体志愿者信息管理下岗职工下岗人员档案上岗培训记录生活保障金
5、发放低保管理残疾人管理社区团体管理治安管理纠纷记录管理图 2-1 社区管理系统功能模型图社区管理系统3第三章 业务流程分析首先根据系统要求实现的功能进行基本分析,社区管理系统分为四个管理子系统,分别基本信息服务管理、社区服务管理子系统、民政工作管理管理和综合治理,然后找出系统实现的顺序,逐步进行分析,最终分析得出业务流程图。如图 3-1 所示。社区 服务 居民发保障金残疾人居民资料低保资料培训下岗工人下岗资料图 3-1 业务流程图社区管理系统4第四章 数据流程分析4.1 数据流程图模块1. 信息注册更新模块小区住户和外来人员的信息注册更新模块,如图 4-1 所示。图 4-1 信息更新流程图2.
6、 帐号管理模块 帐号管理模块,如图 4-2 所示。图 4-2 账号管理流程图3. 系统总体数据流程 根据系统需求分析,得出社区管理系统数据流程图,社区工作人员录入居民信息,社区工作计划,年总目标等信息,系统存储居民基本情况等信息,社区主任可以查询任一居民的信息和居民参加文体活动等等,并且可以统计入某一居民参加活动的次数,并以此来鉴定优秀市民。系统总体数据流程,如图 4-3 所示。居民档案低保管理残疾人管理纠纷调解下岗职工治安管理志愿者管理社区管理系统活动管理查询条件居民信息近期工作计划统计条件统计结果查询结果社区居委会图 4-3 系统总体数据流程图社区管理系统54.2 数据字典(1)数据流的描
7、述数据流编号:F1数据流名称:社区信息数据流来源:社区管理者数据流组成:社区名称+社区编号+社区文化等数据流编号:F2数据流名称:居民信息简 述:社区的居民档案信息数据流来源:居民数据流去向:居民信息判断数据流组成:姓名+身份证号+工作编号+ 残疾等级 + 健康状况等数据流量:1000/天高峰流量:3000/天数据流编号:F3数据流名称:居民信息无效提示简 述:社区管理员发现非法读者时的提示信息数据流来源:居民信息判断数据流去向:居民数据流组成:身份证号+姓名等数据流量:100/天 高峰流量:500/天数据流编号:F4数据流名称:社区文体信息数据流来源:社区管理员数据流去向:居民数据流组成:活
8、动名称+活动主题+活动地点+ 活动内容+参加人员+等数据流量:20/天 高峰流量:100/天数据流编号:F5数据流名称:残疾人信息数据流来源:残疾人信息判断数据流去向:社区管理员数据流组成:残疾证号+工作编号+残疾等级+ 保障金等数据流量:10 /天高峰流量:50 /天数据流编号:F6数据流名称:下岗职工信息数据流来源:下岗职工信息判断社区管理系统6数据流去向:居民数据流组成:身份证号+姓名等数据流量:100/天高峰流量:500/天数据流编号:F7数据流名称:纠纷调节记录 数据流来源:社区管理员数据流去向:居民数据流组成:时间+事务编号+处理结果+ 工作编号等数据流量:10 天 高峰流量:50
9、 /天(2)处理逻辑的描述 处理逻辑编号:P1处理逻辑名称:居民信息判断简 述:判断居民信息的合法性输入的数据流:居民信息处 理 描 述 :根据居民提供的档案信息,验证居民信息,验证通过则继续下移 处理查看数据库中是否有该居民的信息,验证不通过则返回给居民信息指明为非法居民 。输出的数据流:D 1 居民信息、 D2 无效提示信息处 理 频 率 :10 次/天处理逻辑编号:P2处理逻辑名称:下岗职工信息判断简 述:判断下岗职工信息的合法性输入的数据流:下岗职工信息处 理 描 述 : 根据居民提供的个人信息,验证居民信息,验证通过则继续下移 处理查看下岗职工数据中是否有该居民的信息,验证不通过则返
10、回给居民信息指明为非法居民 。输出的数据流:D 3 下岗职工信息信息、 D2 无效提示信息处 理 频 率 :10 次/天处理逻辑编号:P3处理逻辑名称:残疾人判断简 述:判断残疾人信息的合法性输入的数据流:残疾人信息处 理 描 述 :根据居民提供的档案信息,验证居民信息,验证通过则继续下移处理查看残疾人数据库中是否有该居民的信息,验证不通过则返回给居民信息指明为非法居民 。输出的数据流:D 4 残疾人信息、 D2 无效提示信息处 理 频 率 :10 次/天(3)数据存储的描述数据存储编号:F1社区管理系统7数据存储名称:居民资料简 述:居民的基本信息数据存储组成:姓名+身份证号+工作编号+ 残
11、疾等级 + 健康状况等关键字:身份证号相关联的处理:P1数据存储编号:F2数据存储名称:低保资料简 述:申请成为低保居民的个人资料数据存储组成:身份证号+姓名名+ 低保金+ 残疾等级关键字:身份证号相关联的处理: P3 数据存储编号:F3数据存储名称:下岗资料简 述:下岗居民的个人资料数据存储组成:身份证号+姓名名+ 生活保证金发放 +上岗培训记录等关键字:身份证号相关联的处理:P2 (4)外部实体的描述外部实体编号:S1外部实体名称:居民简 述:社区合法居住的人输入的数据流:D 2输出的数据流:D1外部实体编号:S2外部实体名称:下岗职工简 述:暂时无工作的人输入的数据流:D 2输出的数据流
12、:D3外部实体编号:S3外部实体名称:残疾人简 述:社区内残疾的人输入的数据流:D 2输出的数据流:D4社区管理系统8第五章 概念模型设计系统的总体概念模型,如图 5-1 所示。图 5-1 系统的总体概念模型社区管理系统9第六章 逻辑模型设计和优化根据系统的总体概念设计模型、E-R 图向关系模式的转化规则和数据库的范式理论,得到系统优化后的逻辑模型,如表 1表 5 所示。表 1 居民基本信息表身份证号 工作编号 残疾等级 志愿者 健康状况 姓名表 2 下岗培训基本信息表身份证号 培训类型号 时间表 3 文体活动信息表时间 内容 活动代号 工作编号表 4 残疾人信息表残疾证号 工作编号 保障金
13、残疾等级表 5 民事纠纷基本信息表时间 处理结果 事务编号 工作编号表 6 社区概况信息表社区名称 社区编号 社区文化社区管理系统10第七章 物理设计和实施7.1 数据库的物理设计得到系统逻辑模型后,就该进行数据库的物理设计和实施数据库了,物理设计主要是要确定数据库的存储路径、存储结构以及如何建立索引等,可以采用系统的默认设置。数据库实施主要包括在具体的 DBMS 中创建数据库和表的过程,本设计所选用的 DBMS 为SQL SERVER2000,有关创建数据库和关系表的 SQL 语句如下所示:创建数据库和关系表的 SQL 语句 Create database 社区管理系统管理系统 -创建数据库
14、Create Table 居民信息表(身份证号 varchar(50) Primary Key,工作编号 varchar(50) Null,残疾等级 varchar(50) Null,志 愿 者 varchar(50) Null,健康状况 varchar(50) Null,姓 名 varchar(50) Null,);Create Table 下岗培训基本信息表(身份证号 varchar(50) Primary Key,培训类型号 varchar(50) Null,时 间 varchar(50) Null,);Create Table 文体活动信息表(时 间 varchar(50) Prima
15、ry Key,内 容 varchar(50) Null,活动代号 varchar(50) Null,工作编号 varchar(50) Null,);Create Table 残疾人信息表(残疾证号 varchar(50) Primary Key,工作编号 varchar(50) Null,保 障 金 varchar(50) Null,残疾等级 varchar(50) Null,);Create Table 民事纠纷基本信息表(时 间 varchar(50) Primary Key,处理结果 varchar(50) Primary Key,社区管理系统11事务编号 varchar(50) Nul
16、l,工作编号 varchar(50) Null,);Create Table 社区概况信息表(社区名称 varchar(50) Primary Key,社区编号 varchar(50) Null,社区文化 varchar(50) Null,);7.2 社区管理系统的实现 1. 社区管理系统的登录界面社区管理系统的登录界面,如图 7-1 所示。图 7-1 社区管理系统登录界面“社区居民入口”的代码 private void button2_Click(object sender, EventArgs e)社区居民窗口 teacher = new 社区居民窗口();teacher.Show();“
17、关闭”代码如下:private void button3_Click(object sender, EventArgs e)this.Close();2. 社区首页界面 社区首页界面,如图7-2所示。社区管理系统12图7-2 社区首页界面3. “社区居民入口”界面 “社区居民入口”界面,如图 7-3 所示。 图 7-3 社区管理系统的登录界面“登录”的代码 private void button1_Click(object sender, EventArgs e)if (textBox1.Text = “ | textBox2.Text = “)MessageBox.Show(“输入登录信息不
18、完整,请重新输入!“, “信息提示“, MessageBoxButtons.OK, MessageBoxIcon.Information);社区管理系统13else string ConStr = “server=24C72387BA7E47E;User id=u1;pwd=123;database=社区管理系统“;SqlConnection con = new SqlConnection(ConStr);string SqlStr = “select * from 管理员 where 名称=“ + textBox1.Text + “ and 密码=“ + textBox2.Text + “;
19、SqlDataAdapter ada = new SqlDataAdapter(SqlStr, con);DataTable dt = new DataTable();ada.Fill(dt);int i = dt.Rows.Count;if (i 0)社区首页 u1 = new 社区首页();u1.Show();elseMessageBox.Show(“用户名或密码不正确,请重新输入!“, “信息提 示“, MessageBoxButtons.OK, MessageBoxIcon.Information);4 “社区概况”界面“社区概况”界面,如图 7-4 所示。图 7-4 社区概况界面(1
20、)“增加”的代码 private void button1_Click(object sender, EventArgs e)社区管理系统14if (textBox1.Text = “ | textBox2.Text = “ | textBox3.Text = “)MessageBox.Show(“输入的信息不完整,请重新输入!“, “信息提示“, MessageBoxButtons.OK, MessageBoxIcon.Information);else SqlConnection con = new SqlConnection(“server=24C72387BA7E47E;user id
21、=u1;pwd=123;database=社区管理系统“);StringBuilder strSQL = new StringBuilder();strSQL.Append(“insert into 社区概况信息表(社区名称,社区编号,社区文化)“);strSQL.Append(“values(“ + textBox1.Text.Trim().ToString() + “,“ + textBox2.Text.Trim().ToString() + “,“ + textBox3.Text.Trim().ToString() + “)“); using (SqlCommand cmd = new
22、SqlCommand(strSQL.ToString(), con) con.Open();cmd.ExecuteNonQuery();con.Close();con.Dispose();MessageBox.Show(“已成功向数据库表中插入一条记录!“, “信息提示“, MessageBoxButtons.OK, MessageBoxIcon.Information);textBox1.Text = “;textBox2.Text = “;textBox3.Text = “;(2)“删除”的代码 private void button4_Click(object sender, Event
23、Args e) 社区首页 u1 = new 社区首页();u1.Show(); private void button2_Click(object sender, EventArgs e)string ConStr = “server=24C72387BA7E47E;User id=u;pwd=123;database=社区管理系统“;SqlConnection con = new SqlConnection(ConStr);if (MessageBox.Show(“确定要删除此记录吗?“, “提示“, MessageBoxButtons.YesNo, MessageBoxIcon.Warni
24、ng) = DialogResult.Yes) con.Open();SqlCommand cmd = new SqlCommand(“delete from 社区概况信息表 where 社区编号=“ + textBox2.Text + “, con);社区管理系统15/SqlCommand cmd = new SqlCommand(“delete from teacher where 编号 =“+ Convert.ToInt32(boBox1.Text),con);cmd.Connection = con;cmd.ExecuteNonQuery();con.Close();MessageBo
25、x.Show(“成功删除数据!“); (3)“查询”的代码 private void button3_Click(object sender, EventArgs e) try string ConStr = “server=24C72387BA7E47E;User id=u1;pwd=123;database=社区管理系统“;SqlConnection con = new SqlConnection(ConStr);string SqlStr = “select * from 社区概况信息表“;SqlDataAdapter ada = new SqlDataAdapter(SqlStr, c
26、on);DataSet ds = new DataSet();ada.Fill(ds);this.dataGridView1.DataSource = ds.Tables0.DefaultView;catch return; 5.“更改密码”界面 “更改密码”界面,如图7-5所示。图7-5 更改密码界面社区管理系统16“修改”的代码 private void button1_Click(object sender, EventArgs e)string ConStr = “server=24C72387BA7E47E;User id=u1;pwd=123;database=社区管理系统“;Sq
27、lConnection con = new SqlConnection(ConStr);using (SqlCommand cmd = new SqlCommand()con.Open();cmd.Connection = con;cmd.CommandType = CommandType.StoredProcedure;SqlParameter par =new SqlParameter(“用户名“,this.textBox1 .Text),new SqlParameter(“密码“,this .textBox2 .Text );foreach (SqlParameter parms in
28、par) cmd.Parameters.Add(parms); con.Close();MessageBox.Show(“已经成功修改“);社区管理系统17第八章 课程设计心得体会两个星期的时间非常快就过去了,这两个星期不敢说自己有多大进步,获得了多少知识,但起码是了解了系统设计开发的部分过程。虽说上过数据库程序设计等相关课程,但是没有亲身经历过相关的设计工作细节,这次实习正是提供了一个很好的机会。通过这次课程设计发现这其中需要的很多知识我们没有接触过,去图书馆查资料的时候发现我们前面所学到得仅仅是皮毛,还有很多需要我们掌握的东西我们根本不知道。同时也发现有很多已经学过的东西我们没有理解到位,
29、不能灵活运用于实际,不能很好的用来解决问题,这就需要我们不断的大量的实践,通过不断的自学,不断的发现问题,思考问题,进而解决问题。在这个过程中我们将深刻理解所学知识,同时也可以学到不少很实用的东西。从各种文档的阅读到开始的需求分析,概念结构设计,逻辑结构设计,物理结构设计。亲身体验了一会系统的设计开发过程。很多东西书上写的很清楚,貌似看着也简单,思路非常清晰,但真正需要自己想办法去设计一个系统的时候才发现其中的难度。经常做到后面突然发现一开始的设计有问题,然后又回去翻工,在各种反复中不断完善自己的想法。我想有这样的问题不止我一个,事后想想是一开始着手做的时候下手过于轻快,或者说是根本不了解自己
30、要做的这个系统是给谁用的。因为没有事先做过仔细的用户调查,不知道整个业务的流程,也不知道用户需要什么功能就忙着开发,这就作为设计开发人员需要特别警惕避免的,不然会给后来的工作带来很大的麻烦,甚至可能会需要全盘推到重来。所以以后的课程设计要特别注意这一块的设计。按照要求,我们做的是社区管理系统。说实话,我对这个一无所知,不知道社区管理是怎么一个流程。盲目开始设计的下场我已经尝过了,结果就是出来一个四不像的设计方案,没有什么实际用处。没有前期的调查,仅从指导书上那几条着手是不够的。在需求分析过程中,我们通过上网查资料,去图书馆查阅相关资料,结合我们的生活经验,根据可行性的结果和客户的要求,分析现有
31、情况及问题。在两周的时间里,不断的对程序及各模块进行修改,编译,调试,运行,期间遇到很多问题。通过这次课程设计,我对调试掌握的更加熟练了,意识到了程序语言的规范性以及我们在编程时要有的严谨的态度。我们学习并使用了 SQL 语言,对数据库的修建,修改,删除方法有了一定的了解,通过导入表和删除表,更改表学会了对于表的一些操作。很多事情不是想象的那么简单,它涉及到的各种实体,属性,数据流程,数据处理等等。在做关系模型转换的时候碰到有些实体既可以认为是实体又可以作为属性,为了避免冗余,尽量按照属性处理了。不管做什么,我们都要相信自己,不能畏惧,不能怕遇到困难,什么都需要尝试,有些你开始认为很难得事在你
32、尝试之后可能会发现原来并没有你以前觉得的那样,自己也是可以。如果没有自信,没有目标就不可能把事情做好,在困难面前要勇于尝试,这是这次课程设计给我的最大感想!社区管理系统18参考文献1 孙鑫. JAVA WEB 开发详解. 北京:电子工业出版社, 2006 年 8 月2 刘军,张景安.数据库应用系统开发技术.机械工业出版社,2003 年 3 月3 飞思科技产品研发中心编著 .JSP 应用开发详解.电子工业出版社,2002 年 1 月4 荣钦科技.JSP 动态网站开发与实例.清华大学出版社,2006 年 6 月5 李长林等.JSP 组建动态网站基础与实例操作.电子工业出版社,2005 年 12 月
33、6 万峰科技.JSP 网站开发四“酷”全书.电子工业出版社,2005 年 9 月7 戴一波.Dreamweaver MX 2004 从基础到实践.北京:电子工业出版社,2005 年 9 月8 邓子云.JSP 网络编程从基础到实践.北京:电子工业出版社,2006 年 1 月9 Balachander Krishnamurthy Jennifer Rexford 编著.Web 协议与实践.北京:科学出版社,2003 年 6 月10Yu Feng,Jun Zhu.J2ME 程序设计.北京:中国电力出版社,2003 年 1 月11卢萧.软件工程.北京:北京交通大学出版社,2005 年 10 月12Kenneth D.Reed.协议分析.北京:电子工业出版社,2004 年 1 月