小区人口信息管理系统的设计与实现本科毕业设计.docx
《小区人口信息管理系统的设计与实现本科毕业设计.docx》由会员分享,可在线阅读,更多相关《小区人口信息管理系统的设计与实现本科毕业设计.docx(28页珍藏版)》请在冰豆网上搜索。
![小区人口信息管理系统的设计与实现本科毕业设计.docx](https://file1.bdocx.com/fileroot1/2023-1/31/ced646ad-5e7b-4e1e-a5ce-0b952de0f50f/ced646ad-5e7b-4e1e-a5ce-0b952de0f50f1.gif)
小区人口信息管理系统的设计与实现本科毕业设计
小区人口信息管理系统的设计与实现
摘要
随着人口的迅速增长、居住形式的小区化、人口的不断流动、迁入、迁出给小区人口的管理带来极大不便,迫切的需要一种更加高效的管理方式代替传统的手工管理模式。
利用计算机技术进行人口的管理与信息的统计,就能提供给人们一种更加高效的管理方式。
小区人口管理系统利用计算机技术,结合数据库系统,搭建一个网络管理平台,对人口流动以及迁入迁出进行统计与计算、存储居民基本信息,服务于人口普查、记录弱势群体的生活状况,给予爱心援助、为物业提供更加高效的小区人口管理模式。
系统能够智能化分析,提供人口变动的相关报表依据,掌握人口动态,有利于更加清晰便捷的掌握人口的发展规律,给今后的人口发展策略的调整提供有利的依据。
关键词:
人口流动;数据库系统;效率;统计报表;计算机技术
TheDesignandImplementofCommunityPopulationInformationManagementSystem
Abstract
Withtherapidgrowthofthepopulation,liveintheformofacommunity,theconstantflowofpopulation,immigrationandemigrationtothemanagementdistrict'spopulationhascausedgreatinconvenience,theurgentneedforanalternativetothetraditionalmanualmanagementmodemoreefficientmanagement.Useofcomputertechnologyforpopulationmanagementandstatisticalinformationtobeabletoprovidepeopleamoreefficientmanagement.
Communitypopulationmanagementsystemusingcomputertechnology,combinedwithadatabasesystem,tobuildanetworkmanagementplatform,andmovedtovacateonmigrationstatisticsandcomputing,storageresidentsbasicinformationservicesinthecensus,thelivingconditionsofvulnerablegroupsrecorded,givingloveandassistance,providemoreefficientmanagementmodelforpopulationmanagementcommunityproperty.Intelligenceanalysissystemcanprovidetherelevantstatementsofchangesinpopulationcontrolpopulationdynamics,conducivetothedevelopmentofaclearergraspofthelawandconvenientpopulation,toadjustfuturepopulationdevelopmentstrategytoprovideafavorablebasis.
Keywords:
Populationmovements;Databasesystem;Efficiency;Statisticalreports;Computertechnology
第1章前言
1.1课题背景
随着人口的快速增长、以及外出务工人员的增多,使得对流动人口的信息管理变得困难,流动人口信息更新不及时。
另一方面,传统的人工管理的方式,在大数据量、信息更新频繁的情况下,凸显出其效率以及保密性低下等问题。
除此之外,人工管理的方式,很容易出错,甚至可能是资源文件的遗失。
并且,随着时间的推移,堆积的资料会越来越多,保存难是一方面,更重要的是管理的难度成倍增长、效率低、更容易出错;传统的纸质文档管理,给查找、更新、以及资料的维护带来更多的困难。
所以,需要引入一种更加高效便捷的方式去处理这些问题。
利用计算机的现代化处理方式,通过数据库系统对数据进行存储,程序对业务逻辑进行计算及处理,可以更好的弥补传统的人工管理方式的不足,使得数据的保存以及维护更加便捷高效。
1.2研究的目的及意义
实现小区人口信息的计算机管理,能更好的提高工作效率,避免人为的失误造成不必要的后果,也使得数据的保存更加安全便捷。
通过计算机处理,对人口信息进行统计和分析,可以对今后的人口发展趋势、人口分布进行相关科学预测等。
1.3项目描述
系统基于J2EE技术,利用SSH(struts2、spring、hibernate)进行框架搭建的Web项目。
系统通过配置Filter对访问链接进行安全过滤;另外对登录安全进行相关管理,不允许单个用户在多个地方进行登录操作,保证数据的一致性等。
本系统核心模块:
小区业主管理、物业工作人员管理、社区救助对象的管理、系统后台管理。
其中,系统后台管理包括对系统常量的相关维护。
第2章技术与原理
2.1数据库存储技术
数据库系统承载着系统数据的存储、更新、查询等重要功能,是人口信息管理系统的核心组成部分。
本系统采取Mysql数据库,对于小型的B/S系统简单实用、功能完善,是一个比较成熟的数据库系统。
2.2面向对象的分析与设计
OOAD(ObjectOrientAnalysis&Design,面向对象的分析与设计)是现代软件企业广为采用的一项有效技术,OOAD方法要求在设计中映射现实世界中指定问题域的对象和实体。
面向对象技术能够构建与现实世界对应的问题模型,并保持他们的结构、关系和行为模式。
面向对象编程,能够简化编程思想,更加适应需求变化。
2.3Ajax异步请求技术
AJAX即“AsynchronousJavaScriptandXML”(异步的JavaScript与XML技术),指的是一套综合了多项技术的浏览器端网页开发技术。
传统的表单验证,是当提交一个表单的时候就向Web服务求提交一个请求,然后Web服务器响应并返回一个处理页面。
这种方式不仅浪费带宽,而且没有很好的用户体验。
用ajax技术,进行异步请求,实现页面无刷新效果,对表单数据异步校验,给用户更佳体验。
2.4AOP面向方面编程
面向方面的程序设计(aspect-orientedprogramming,AOP)通过预编译方式和运行期动态代理实现程序功能的统一维护,是函数式编程的一种衍生范型。
系统利用AOP编程,将公共部分抽象出来(如操作日志记录、性能统计、安全控制、事务处理、异常处理等),利用AOP动态组建技术集成到系统中,更加专注于核心业务的开发,避免大量重复代码,使得系统更加干净高效。
第3章需求建模
3.1现状调查
随着信息时代的发展,对效率的要求日益提高。
人口不断的流动、迁入、迁出,不仅给管理带来了不便,而且不能及时的查询、登记所需的信息,使各种数据得不到充分的利用。
因此,必须加强管理,积极采用先进的科学技术和管理方法来提高人口信息管理的工作效率。
3.2需求分析
本系统核心模块:
小区业主管理、物业工作人员管理、社区救助对象的管理、流动人口及常住人口的管理、系统后台管理。
其中,系统后台管理包括对系统常量的相关维护。
人口信息的网络化管理,对提高人口管理的办事效率、加大信息资源的共享、规范行政办事手续、提供准确的统计分析具有划时代的意义。
针对人口信息管理涉及的信息查询、录入、分析等进行管理;以人口信息管理业务为背景,通过调研、分析现有的管理模式和已有的管理软件,建立系统模型。
本系统的诞生是为人口管理工作提供方便、便捷的信息管理方式,较好的满足各物业对小区人口管理的实际需求。
系统需要满足一定的信息统计和分析的功能,为今后小区物业的发展提供一定的数据支持;系统设计能够实现对小区人口信息的录入、编辑、查询和删除等功能,针对人口信息管理涉及的信息录入、查询分析等进行有效的管理;系统界面友好、简介、便于客户操作,给予客户一流的体验,能真正提高人口管理的工作效率。
3.3需求建模
图3-1系统基本用例图
图3-2系统登录活动图
图3-3系统核心包图
图3-4系统用户登录安全类图
图3-5基于hibernate的分页工具类图
3.4可行性分析
通过各个方面的深入了解和分析后,现对此人口信息管理系统进行可行性分析。
3.4.1技术可行性
使用Mysql数据库存储管理数据,操作方便,适用于小型的应用管理系统;
掌握eclipse工具的使用,会使用快捷键以提高开发速度、以及JavaEE的开发流程;
SSH(struts2、spring3.x、hibernate3.x)框架的整合使用,提高应用程序的可扩展性,更好的对系统进行升级改造;加强系统的安全性能;
Java的基本api的使用;JavaServlet、Filter等技术的应用,提高系统的开发速度,利用最合适的方法完成开发任务;
数据输入验证:
据输入时通过Javascript进行本地输入验证(Ajax异步校验),提高用户体验的同时,合理的利用网络带宽,避免表单的无效提交(如用户注册功能的用户名重复判断,通过ajax技术,只需要异步提交用户名,并获取反馈的判断信息即可);
数据交换格式:
Json格式,易于阅读和编写,同时也易于机器解析和生成,网络上存在很多UI框架,可直接解析json,构造数据表格,用户界面更加美观,同时也提高了开发速度,确保系统能够顺利进行下去;
系统的MVC三层架构,代码逻辑与业务分离,更方便日后的维护和扩展,在对业务逻辑进行修正或更改的时候不需要设计到表现层的代码和数据库逻辑代码;
系统权限控制、日志记录等功能作为一个切面进行编程,利用AOP技术动态的组建到services层代码中,这样更能专注于sevices层的代码开发。
业务逻辑更加清晰;
使用接口开发等Java开发规范等,规范开发是为了日后更加方便维护,同时,也能够提高代码的可读性,提高开发效率以及代码的质量;
以上涉及的技术不是很难,技术上完全可以实现。
3.4.2经济可行性
Mysql数据库可免费使用,能够满足基本的需求;eclipse做为开源的IDE工具;系统的使用很简单,只需要简单的培训即可;
综上所述,此人口信息管理系统的开发在技术、经济上是可行的。
第4章架构设计
4.1系统核心功能架构
图4-1系统核心功能架构图
系统核心是对常住的业主进行管理、流动人口管理以及对弱势群体的爱心援助管理。
因为对弱势群体的救助是一个很重要的方面,也是国家很重视的一块,一个高效的管理方式,能够更好的落实对弱势群体的救助工作。
流动人口管理也是很重要的一个环节,流动人口的急剧增长,使得管理起来更加麻烦。
所以,需要更加高效的管理方式来应对当前常住人口管理以及流动人口管理不便的现状,更好的服务于社会。
4.2MVC编程架构
图4-2MVC编程架构图
MVC(ModelViewController),是指模型(model)-视图(view)-控制器(controller)。
是一种软件设计典范,用一种业务逻辑和数据显示分离的方法组织代码,将业务逻辑集聚到一个部件里,在界面和用户围绕数据的交互能被改进和个性化定制的同时而不需要重新编写业务逻辑,MVC被独特的发展起来用于映射传统的输入、处理以及输出功能在同一个逻辑的图形化用户界面的结构中。
4.3SSH系统框架
基于J2EE技术,利用SSH(struts2、spring3.x、hibernate3.x)框架搭建的Web项目。
考虑到系统的可维护性,前期对系统整体框架进行优化以及对代码的重构,抽象出公共的部分作为公共服务,提高代码的质量,使整体架构更加清晰。
利用Struts2作为MVC中的Controller层,分离表现与业务逻辑;利用Spring基于JavaBeans的采用控制反转(InversionofControl,IoC)原则的配置管理,使得应用程序的组建更加快捷简单,程序设计更加灵活,能更好的适应需求的变化。
其架构如下图所示:
图4-3Spring功能架构图
利用Hibernate,采用面向对象的方式,操作数据库。
简化查询语句,更能适用多种数据库,能够跨数据库平台,加强了系统的可移植性。
4.4数据结构设计
4.4.1系统数据库部分E-R图
1
N
M
M
图4-3常住居民基本信息E-R模型
4.4.2系统数据库表及关系
数据库包括小区物业管理人员信息表(manager_info)、居民基本信息表(resident_base_info)、居民家庭信息表(resident_family_info)、居民扩展信息表(resident_extension_info)、居民通讯录(resident_contact)、常量信息表(constant_info)、社区救助两劳人员信息表(CA_two_labor_officers_info)、社区救助优抚对象信息表(CA_preferential_treatment_info)、社区救助低保人员信息表(CA_subAllowance_info)、社区救助失业人员信息表(CA_unemployed_info)、社区救助残疾人信息表(CA_disability_info)、社区救助老年人信息表(CA_old_people_info)、系统页面信息表(system_page_info)。
图4-5表之间的引用关系
4.4.3主要数据表结构
表4-1居民基本信息表(resident_base_info)
名称
代码
数据类型
长度
主要的
居民基本信息Id
resident_base_info_id
int
TRUE
低保人员信息Id
sub_allowance_info_id
int
FALSE
居民扩展信息Id
resident_extension_info_id
int
FALSE
两劳人员信息Id
two_labor_officers_info_id
int
FALSE
残疾人信息Id
disability_info_id
int
FALSE
优抚对象信息Id
preferential_treatment_id
int
FALSE
失业人员信息Id
unemployed_info_id
int
FALSE
居民家庭信息Id
resident_family_info_id
int
FALSE
老年人信息Id
old_people_info_id
int
FALSE
居民通讯录Id
resident_contact_info_id
int
FALSE
楼号
building_number
varchar(12)
12
FALSE
户(门)号
site_number
varchar(12)
12
FALSE
户口类别(此处为常量引用)
residence_registration_code
int
FALSE
姓名
name
varchar(12)
12
FALSE
曾用名
original_name
varchar(12)
12
FALSE
户主姓名(可查询选择)
householder_name
varchar(12)
12
FALSE
与户主关系(作为常量引用)
householder_relation_code
int
FALSE
身份证号
identity_card_number
varchar(20)
20
FALSE
出生日期(自动通过身份证号计算)
birth_date
char(10)
10
FALSE
签发机关
issuing_authority
varchar(50)
50
FALSE
签发日期
sign_date
char(10)
10
FALSE
户籍状态(作为常量引用)
residence_status_code
int
FALSE
登记日期
register_date
char(10)
10
FALSE
文化程度(可作为常量引用)
degree_of_education
int
FALSE
出生地(现不做自动化处理)
birth_address
varchar(50)
50
FALSE
性别(作为常量引用)
sex_code
int
FALSE
身高(m)
height
char(4)
4
FALSE
血型(作为常量引用)
blood_type_code
int
FALSE
健康状况(作为常量引用)
health_status_code
int
FALSE
户籍所在地
residence_address
varchar(50)
50
FALSE
籍贯
native_place
varchar(50)
50
FALSE
民族(作为常量引用)
nation_code
int
FALSE
住址
address
varchar(50)
50
FALSE
联系电话
contact_phone
varchar(12)
12
FALSE
其他住址
other_address
varchar(50)
50
FALSE
宗教信仰
religion_faith
varchar(20)
20
FALSE
婚姻状况(此处作为常量引用)
marital_status_code
int
FALSE
兵役情况(此处作为常量引用)
military_service_status_code
int
FALSE
职业
professional
varchar(20)
20
FALSE
政治面貌(此处作为常量引用)
politics_status_code
int
FALSE
备注
remark
text
FALSE
添加时间
add_time
datetime
FALSE
添加人ID
add_user_id
int
FALSE
修改时间
modify_time
datetime
FALSE
修改人ID
modify_user_id
int
FALSE
是否启用
is_enable
bool
FALSE
表4-2社区救助低保人员信息表(CA_subAllowance_info)
名称
代码
数据类型
长度
主要的
低保人员信息Id
sub_allowance_info_id
int
TRUE
居民基本信息Id
resident_base_info_id
int
FALSE
低保证号
sub_allowance_number
varchar(20)
20
FALSE
低保原因(此处可以作为常量)
sub_allowance_cause_code
int
FALSE
开始时间
sub_allowance_startDate
char(10)
10
FALSE
结束时间
sub_allowance_endDate
char(10)
10
FALSE
保障金额
sub_allowance_money
float(8,2)
8
FALSE
备注
sub_allowance_remark
text
FALSE
添加时间
add_time
datetime
FALSE
添加人ID
add_user_id
int
FALSE
修改时间
modify_time
datetime
FALSE
修改人ID
modify_user_id
int
FALSE
是否启用
is_enable
bool
FALSE
表4.3社区救助失业人员信息表(CA_unemployed_info)
名称
代码
数据类型
长度
主要的
失业人员信息Id
unemployed_info_id
int
TRUE
居民基本信息Id
resident_base_info_id
int
FALSE
失业档案号
unemployed_FN
varchar(20)
20
FALSE
失业日期
unemployed_date
char(10)
10
FALSE
原职业Code(此处作为常量引用)
original_professional_code
int
FALSE
原工作单位
original_work_unit
varchar(50)
50
FALSE
就业状况Code(此处作为常量引用)
employment_status_code
int
FALSE
求职意向Code(此处作为常量引用)
job_intension_code
int
FALSE
要求月收入
required_monthly_income
float(8,2)
8
FALSE
备注
remark
text
FALSE
添加时间
add_time
datetime
FALSE
添加人ID
add_user_id
int
FALSE
修改时间
modify_time
datetime
FALSE
修改人ID
modify_user_id
int
FALSE
是否启用
is_enable
bool
FALSE
表4-4社区救助老年人信息表(CA_old_people_info)
名称
代码
数据类型
长度
主要的
老年人信息Id
old_people_info_id
int
TRUE
居民基本信息Id
resident_base_info_id
int
FALSE
工作时间
start_work_date
char(10)
10
FALSE
退休时间
retire_date
char(10)
10
FALSE
退休金(pension)
pension
float(8,2)
8
FALSE
居住情况(此处作为常量引用)
reside_status_code
int
FALSE
退休单位(此处作为常量)
retirement_unit_code
int
FALSE
配偶情况(此处作为常量引用)
partner_status_code
int
FALSE
目前状况(此处作为常量引用,同上即可)
current_status_code