还剩42页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
长春工业大学高职高专自学考试毕业设计、毕业论文摘要随着科技日新月异的发展,Internet已经成为人们生活、工作、学习越来越离不开的平台科技的发展也带动着社会各个阶层的发展随着计算机技术的飞速发展,采用日趋成熟的数据库技术和管理信息系统理论建立管理信息系统,显得日益迫切和必要本文所介绍的小区人口信息管理系统是一个适合小区物业人员的管理平台,它包括业主管理,物业工作人员信息管理和系统后台信息管理等本系统为现代小区管理人员提供了更好更简洁的管理方式,代替了传统的人工小区管理模式,以提高工作效率为业主提供更好的服务本系统是采用MyEclipse
7.5+MicrosoftSQLServer2000开发工具实现的该论文重点介绍了小区人口信息管理系统的设计及实现过程包括系统分析、系统设计、系统实现、系统测试等关键词人口信息管理、业主、SQLServer2000AbstractERPisbuiltoninformationtechnologytheInternethasbecometheplatformofpeopleslivesworkandstudytheycantdepartfromit.ThedevelopmentofscienceandtechnologyalsodrivesthedevelopmentofsocialclassesWiththedevelopmentofthecomputertechnologyatfullspeedadoptingmaturedatabasetechnologyandthemanagementinformationsystemtheorytosetupthemanagementinformationsystemseemsurgentandessentialdaybyday.ThepopulationinformationmanagementsystemofDongShangareadescribedinthisarticleisasuitablemanageplatformofDongShangareaadministrativestaffwhichincludestheownersmanagementpropertystaffinformationmanagementandsystembackgroundinformationmanagement.Thesystemprovidesabetterandmoreconcisemanagementforthemodernareamanagersinsteadsofthetraditionalmanagementmodelofartificialareaimprovesefficiencyandprovidesbetterservicesfortheowners.ThissystemadoptsMyEclipse
245556666.1011131313161616161718199第六章
21212121212222226.
1.1课题背景计算机的应用已普及到经济和社会生活的各个领域,使原本的旧的管理方法越来越不适应现在社会的发展,许多人还停留在以前的手工操作,这大大地阻碍了人类经济的发展近年来,随着小区人口的日益增多,信息也越来越频繁随之而来的是信息管理工作日趋复杂繁重,要耗费大量人力、物力和财力,而现有小区人口信息的管理水平不高,一直以来人们使用传统人工的方式管理信息,这种管理方式存在着许多缺点如:效率低、保密性差另外时间一长将产生大量的文件和数据这对于查找、更新和维护都带来了不少的困难这样的机制已经不能适应时代的发展,已愈来愈成为管理工作的一个瓶颈在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代现代信息社会,人们越来越重视信息的交流与沟通,更加注重时间的有效利用选用信息化的管理工具,将极大地提高人们生活、工作的质量,小区人口信息管理型工具信息化的需求将不可避免地越来越大在科学技术的不断提高计算机科学日渐成熟的今天,计算机已经成为我们学习和工作的得力助手今天,计算机的价格已经十分低廉,性能却有了长足的进步,它已经被应用于许多的领域,计算机之所以如此流行的原因主要有以下几个方面首先,计算机可以代替人工进行许多的复杂的劳动其次,计算机可以大大的提高人们的工作效率第三,计算机可以节省许多资源第四,计算机可以使敏感文档更加安全
1.2研究的目的和意义实现小区人口信息与资料的计算机管理是一件非常有意义的工作人们在社会交往与工作中会产生许多需要及时处理与保存的有关信息与资料,利用计算机系统可以实现有效的管理本系统是利用数据库管理技术,建立具有一定管理与分析统计功能的东尚小区人口信息管理系统,以期承担东尚小区人口信息的有效管理通过东尚小区人口信息管理系统的设计与实现工作,可以获得对数据库与信息管理等技术的充分了解与认识,并在一定程度上掌握数据库与信息管理系统的开发技术,从而提高自己的计算机应用开发能力
1.3项目描述本系统(东尚小区人口信息管理系统)是基于J2EE技术,采用MVC开发模式,基于网络B/S架构设计的WEB应用系统它要求建成以人口信息为基础,形成一个适用于东尚小区的现代化人口信息管理系统它可划分为3大功能模块,即业主管理、物业工作人员管理、系统后台管理其中,业主管理主要完成对小区业主信息的维护;物业工作人员管理主要完成对小区物业工作人员信息的管理;系统后台管理主要是对系统的必要数据字典和小区管理员进行的管理第二章开发工具与环境简介
2.1J2EE简介J2EE(Java2EnterpriseEdition)是建立在Java2平台上的企业级应用的解决方案J2EE技术的基础便是Java2平台,不但有J2SE平台的所有功能,同时还提供了对EJB,Servlet,JSP,XML等技术的全面支持,其最终目标是成为一个支持企业级应用开发的体系结构,简化企业解决方案的开发,部署和管理等复杂问题事实上,J2EE已经成为企业级开发的工业标准和首选平台J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:保留现存的IT资产、高效的开发、状态管理服务、持续性服务、分布式共享数据对象CACHE服务、支持异构环境、可伸缩性、稳定的可用性J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上事实上,sun设计J2EE的初衷正是为了解决两层模式client/server的弊端,在传统模式中,客户端担当了过多的角色而显得臃肿,在这种模式中,第一次部署的时候比较容易,但难于升级或改进,可伸展性也不理想,而且经常基于某种专有的协议通常是某种数据库协议它使得重用业务逻辑和界面逻辑非常困难现在J2EE的多层企业级应用模型将两层化模型中的不同层面化分成许多层一个多层化应用能够为不同的每种服务提供一个独立的层,以下是J2EE典型的四层结构:运行在客户端机器上的客户层组件、运行在J2EE服务器上的Web层组件、运行在J2EE服务器上的业务逻辑层组件、运行在EIS服务器上的企业信息系统Enterpriseinformationsystem层软件Servlet是Java平台上的CGI技术Servlet在服务器端运行,动态地生成Web页面与传统的CGI和许多其它类似CGI的技术相比,JavaServlet具有更高的效率并更容易使用对于Servlet,重复的请求不会导致同一程序的多次转载,它是依靠线程的方式来支持并发访问的JSPJavaServerPage是一种实现普通静态HTML和动态页面输出混合编码的技术从这一点来看,非常类似MicrosoftASP、PHP等技术借助形式上的内容和外观表现的分离,Web页面制作的任务可以比较方便地划分给页面设计人员和程序员,并方便地通过JSP来合成在运行时,JSP将会被首先转换成Servlet,并以Servlet的形态编译运行,因此它的效率和功能与Servlet相比没有差别,一样具有很高的效率EJB定义了一组可重用的组件EnterpriseBeans开发人员可以利用这些组件,像搭积木一样建立分布式应用在装配组件时,所有的EnterpriseBeans都需要配置到EJB服务器一般的Weblogic、WebSphere等J2EE应用服务器都是EJB服务器中EJB服务器作为容器和低层平台的桥梁管理着EJB容器,并向该容器提供访问系统服务的能力所有的EJB实例都运行在EJB容器中EJB容器提供了系统级的服务,控制了EJB的生命周期EJB容器为它的开发人员代管了诸如安全性、远程连接、生命周期管理及事务管理等技术环节,简化了商业逻辑的开发EJB中定义了三种EnterpriseBeans SessionBeans、EntityBeans、Message-drivenBeansJDBCJavaDatabaseConnectivity,Java数据库连接API是一个标准SQLStructuredQueryLanguage,结构化查询语言数据库访问接口,它使数据库开发人员能够用标准JavaAPI编写数据库应用程序JDBCAPI主要用来连接数据库和直接调用SQL命令执行各种SQL语句利用JDBCAPI可以执行一般的SQL语句、动态SQL语句及带IN和OUT参数的存储过程Java中的JDBC相当于Microsoft平台中的ODBCOpenDatabaseConnectivity
2.2MVC开发模式如何划分J2EE架构是每一个JSP项目开发之前必须仔细规划的步骤,以三层开发架构为例,最典型的结构应该是MVC架构,下面详细介绍该架构的每一层M层model模型层,维护数据并提供数据访问的方法,相当于JAVA中的业务逻辑层,不仅仅是数据实体,还指访问数据实体的业务逻辑可以是JavaBeans、EJB该层内主要包括每一个与数据库直接打交道的方法,如查询表中所有数据的方法V层view视图层,完成部分数据的处理功能,并提供所有数据的视图,可以是JSP、SWING、GUIC层control层,控制视图的实现,转发来自客户视图的请求并不处理请求,请求由M层处理和处理用户请求事件,可以是Servlet、ActionServlet如此划分主要是为了增强企业应用的健壮性、可扩展性和效率,让程序在开发阶段有一个比较清晰的整体结构图
2.3开发工具虽然现在开发工具种类繁多且各有特点,但从易用性,开发速度,应用程序的运行速度方面考虑,本系统选用MyEclipse
7.
52.4数据库数据库是人口信息管理的核心组成部分,所有信息处理子系统都将基于某种数据库平台,以便将其处理的信息资源完整、安全地保存起来,并且对其进行各种管理和利用选择一个数据库平台是非常重要的根据人口信息管理应用的实际需要,在选择数据库平台时,应考虑下列因素
(1)性能数据库的数据处理能力
(2)开放性数据库是否能在多种操作系统下使用
(3)安全性数据库是否具有高度的安全性
(4)可靠性数据库是否具有高度的可靠性
(5)并行性数据库是否并行运行在多节点上
(6)可操作性数据库在使用前是否需要复杂的培训数据库平台选用的是Microsoft公司的SQLServer2000SQLServer2000拥有大型数据库系统基本特征,但保持了windows环境下界面友好,操作简单的优点,成为windows环境下开发中、小型B/S系统较流行的数据库系统
2.5系统平台
2.
5.1系统模式本系统采用B/S模式作为开发模式
2.
5.2硬件环境服务器端高性能的计算机一台,普通的双绞线作为连接客户端普通的计算机或者工作站,普通的双绞线作为连接
2.
5.3软件环境服务器端安装MicrosoftSQLServer2000的服务器版本,安装了MyEclipse
7.5等可视化开发工具软件,安装windowsXP系统客户端安装IE等浏览器安装windowsXP系统第三章系统分析
3.1现状调查信息技术是当今最活跃,发展最迅速,影响最广泛,渗透力最强的科学技术领域之一信息化是一场深刻的革命,在社会许多领域对传统的生产、生活和思维方式产生着巨大冲击,并促进着经济和社会的快速和均衡发展管理信息系统ManagementInformationSystem简称MIS是信息科学的一个分支,是由人和计算机组成的,能进行信息的收集、传递、储存、加工、维护和使用的系统人口信息管理系统是MIS中的一个重要分支,它实现的是计算机管理系统在人口管理中的具体应用人口信息系统是管理员的主要管理软件,直接影响业务的方便性及管理的规范性随着信息时代的发展,对效率的要求日益提高,人口不断的移动、迁入、迁出,不仅给管理带来了不便,而且不能及时的查询、登记所需的信息,使各种数据得不到充分的利用,因此,必须加强管理,积极采用先进的科学技术和管理方法来提高人口信息管理的工作效率人口管理具有自身的特点人员流动大在软件角度看,数据较多,对存储和速度要求高但正由于员工较少,使用软件控制管理人员信息非常必要
3.2需求分析东尚小区人口信息管理系统是东尚小区信息系统的重要组成部分,它包含几个功能模块,如业主管理、物业工作人员管理、系统后台管理等业务系统人口信息的网络化管理,对提高人口管理的办事效率、加大信息资源的共享、规范行政办事手续、提供准确的统计分析起着划时代的意义东尚小区人口信息管理系统要求建成以人口信息为基础,形成一个适用于东尚小区的现代化人口信息管理系统针对人口信息管理涉及的信息录入、查询、分析进行管理;以人口信息管理业务为背景,通过调研、分析现有的管理模式和已有的管理软件,建立系统模型本系统为人口管理工作提供方便、快捷的信息管理方式,较好地满足东尚小区人口管理的实际需求
3.3性能要求设计一个人口信息管理系统实现对小区人口的录入、编辑、查询和删除等功能,针对人口信息管理涉及的信息录入、查询、分析进行管理东尚小区人口信息管理系统可划分为3大功能模块,即业主管理、物业工作人员管理、系统后台管理其中,业主管理主要完成对小区业主信息的维护;物业工作人员管理主要完成对小区物业工作人员信息的管理;系统后台管理主要是对系统的必要数据字典和小区管理员进行的管理系统界面简洁,友好,便于用户的操作;综合运用MyEclipse
7.5和SQLServer2000等开发工具,完成数据库开发、系统设计等工作;界面和后台数据库连接良好,方便数据的统计及处理,实现对人口信息的管理功能本系统通过数据库,统一管理信息,产生人口管理及盘点计算,减少员工重复性动作和帮助管理人员规范化管理
3.4可行性分析通过对各个方面进行了具体的了解和分析之后,现对开发东尚小区人口信息管理系统的可行性进行分析
3.
4.1技术可行性该系统功能比较简单,易于实现系统所需硬件设备,市场上销售且价格较低,甚至可以使用原有的设备,软件上,操作系统采用Windows系列操作系统,数据库管理系统采用SQLServer2000,开发工具采用MyEclipse
7.5,对系统开发人员要求较高,需要掌握编程知识以及数据库基本知识这些软件在MIS开发中已被大量应用,技术上都比较成熟,因此在技术上是可行的
3.
4.2经济可行性该系统对硬件没有什么特殊要求,软件是运用MicrosoftSQLSERVER2000数据库系统和MyEclipse
7.5工具开发实现的这些软件已经很普及,费用相当低;系统的维护、运行基本上不用花费什么人力物力;系统掌握也极其简单,不用花费人员培训费用开发成本和使用的各项成本都比较低因此对开发本管理系统的开发经费不存在问题综上所述,开发本管理系统在技术上、经济上都是可行的第四章系统设计
4.1系统业务流程图管理员进入程序流程图:当你输入正确的账号与密码时将进入系统,但是如果密码错误就会回到登入界面重新登录进入系统业务流程如图
4.1所示:图
4.1进入系统业务流程
4.2系统规划与设计在经过对人口管理的流程进行详细的了解和分析后,我们了解到一个功能完全的东尚小区人口信息管理系统必须有以下几个功能东尚小区人口信息管理系统可划分为3大功能模块,即业主管理、物业工作人员管理、系统维护其中,业主管理主要完成对小区业主信息的管理;物业工作人员管理主要完成对小区物业工作人员信息的管理;系统维护主要是对系统的必要数据字典和小区管理员进行的管理
4.
2.1系统功能概述能够实现对小区业主的录入、编辑、查询和删除等功能;完成对物业工作人员的录入、编辑、查询和删除;生成对小区业主资料和物业工作人员的报表;对系统的必要数据字典进行修改;修改系统管理员的信息
4.
2.2系统模块设计
1、系统登录模块功能本模块的主要功能是对用户身份进行验证,只有系统的合法用户才能进入系统;
2、业主管理模块功能实现业主基本信息、业主通讯录信息的查询,更新,包括增加、删除、修改功能;
3、物业工作人员管理模块功能实现物业工作人员信息的查询,更新,包括增加、删除、修改功能;
4、系统维护模块功能实现小区管理员的查询,更新,包括增加、删除、修改功能;必要的数据字典维护包括增加、删除、修改和查询功能
4.3系统结构设计
4.
3.1系统结构图图
4.2系统总体结构图
4.
3.2系统数据流程图系统主要数据流程图图
4.3管理员进入系统数据流程
4.
3.3数据字典以下六个表表
4.1-表
4.6是业主资料数据表的数字字典1数据元素条目表4-1数据元素
(2)数据结构条目表4-2数据结构条目表
(3)数据流表4-3数据流条目表
(4)数据存储表4-4数据存储条目
(5)数据处理表4-5数据处理表上图和表是东尚小区人口信息管理系统业主信息的数据流程图以及用到的数据项物业人员将业主家庭信息表、基本信息资料表、通讯信息表及物业工作人员录入到人口信息管理系统,同时系统进行各种信息归档,并进行数据的备份入库处理,实施人员信息的综合管理
4.4数据结构设计
4.
4.1系统数据库E-R图图
4.4E-R模型
4.
4.2系统数据库表结构数据库(peopleInformation)包括业主家庭信息homeInformation数据表、业主基本信息peopleInformation数据表、业主通讯录信息addressListInformation数据表、物业工作人员信息(workerInformation)数据表、小区管理员信息(managerInformation)数据表、系统页面信息systempage数据表、类别信息(sort)和类别明细信息(sortdetail)数据表表4-7业主家庭信息homeInformation数据表字段名称描述字段类型主键字段大小homeId住户编号char是8buildingNumber楼号char2unit单元char2floor楼层char2siteId户号char2houseOwnerNationalId房主身份证char18houseOwnerName房主姓名char10telNumber联系电话char11perNumber家庭人数int4lodgmentType住所类型char2remark备注varchar100表4-8业主基本信息peopleInformation数据表字段名称描述字段类型主键字段大小homeId住户编号char8name姓名char10nationalId身份证char是18sex性别char2nativePlace籍贯varchar30telNumber联系电话charremark备注varchar100photo照片varchar40表4-9业主通讯录信息addressListInformation数据表字段名称描述字段类型主键字段大小nationalId身份证char是18fax传真char20phone手机char20qqQQchar20E-mailemailchar50表4-10物业工作人员信息(workerInformation)数据表字段名称描述字段类型主键字段大小nationalId身份证char是18name姓名char10sex性别char2birthday出生日期datetime8homeAddress家庭住址varchar50duty职务char2telNumber联系电话char11remark备注varchar100表4-11小区管理员信息(managerInformation)数据表字段名称描述字段类型主键字段大小id个人编号bigint是8name姓名char10username用户名char20password密码varchar10telNumber联系电话char11homeAddress家庭住址varchar50permission权限char1表4-12系统页面信息systempage数据表字段名称描述字段类型主键字段大小pageId页面编号int是4blockId模块编号int4blockName模块名称char20pageUrl页面地址varchar80pageName页面名称char20表4-13类别信息(sort)数据表字段名称描述字段类型主键字段大小sortId类别编号char是10sortName类别名称varchar30表4-14类别明细信息(sortdetail)数据表字段名称描述字段类型主键字段大小sortId类别编号char是10sortdetailId类别明细编号char是2sortdetailName类别明细名称varchar30第五章系统实现
5.1登陆界面的设计与实现用户登录模块根据管理员的账号与密码,登录系统,进入主界面;若密码输入错误,则无法登录;根据管理员的权限,限制管理员可操作的界面图
5.1用户登录界面图
5.2字典维护管理界面的设计与实现字典维护模块在字典维护界面可以点击“住所类型”、“职务”、“楼号”后面的查看按钮进而可以对其进行详细的操作1住所类型界面对住所类型进行管理,可以进行“新增”、“删除”、“修改”和“查询”操作;2职务界面对职务进行管理,可以进行“新增”、“删除”、“修改”和“查询”操作;3楼号界面对楼号进行管理,可以进行“新增”、“删除”、“修改”和“查询”操作,还可点击特定楼号后面的查看按钮,进而对“单元”,“楼层”,“户号”进行“新增”、“删除”、“修改”和“查询”操作图
5.2字典维护界面
5.3小区管理员管理界面的设计与实现管理员信息管理模块对管理员的信息进行“新增”、“删除”、“修改”和“查询”操作其功能如下
①新增管理员在管理员信息窗口单击“新增”按钮,打开管理员信息-新增窗口,输入管理员的相关信息,点击保存按钮
②修改管理员在管理员信息列表中点击一条记录后面的修改图标,进入管理员信息-修改窗口,对其资料进行修改
③查询管理员在管理员信息窗口中进行查询,可以通过输入姓名、用户名和选择权限进行模糊查询
④删除管理员警告数据删除之后不可恢复!在管理员信息列表中点击一条记录后面的删除图标,然后执行“删除”命令,为了安全起见,系统将先做出询问是否真的删除当前选定的资料,如果您确实要删除,请单击“是”,否则请单击“否”图
5.3管理员信息界面图
5.4物业工作人员管理界面的设计与实现物业工作人员信息管理模块对物业工作人员的信息进行“新增”、“删除”、“修改”和“查询”操作其功能如下
①新增物业工作人员在物业工作人员信息窗口单击“新增”按钮,打开物业工作人员信息-新增窗口,输入物业工作人员的相关信息,点击保存按钮对于具有列表选择功能的项目,如“职务”,可以用鼠标选择录入(如要添加或者删除下拉列表中的选项,请单击“系统维护”模块下的“字典维护”进入数据字典信息窗口进行编辑编辑完成之后单击“保存”按钮进行存储)
②修改物业工作人员在物业工作人员信息列表中点击一条记录后面的修改图标,进入物业工作人员信息-修改窗口,对其资料进行修改
③查询物业工作人员在物业工作人员信息窗口中进行查询,可以通过输入身份证、联系电话和选择性别、职务进行模糊查询
④删除物业工作人员警告数据删除之后不可恢复!在物业工作人员信息列表中点击一条记录后面的删除图标,然后执行“删除”命令,为了安全起见,系统将先做出询问是否真的删除当前选定的资料,如果您确实要删除,请单击“是”,否则请单击“否”图
5.4物业工作人员信息界面图
5.5业主基本信息管理界面的设计与实现业主基本信息管理模块对业主的基本信息进行“新增”、“删除”、“修改”和“查询”操作,其中包括业主的“家庭信息”和“个人信息”,其功能如下
①新增业主信息在业主基本信息窗口单击“新增”按钮,打开业主基本信息-新增窗口,输入家庭信息与个人信息,点击保存按钮对于具有列表选择功能的项目,如“住所类型”、“楼号”、“单元”、“楼层”、“房号”等,可以用鼠标选择录入(如要添加或者删除下拉列表中的选项,请单击“系统维护”模块下的“字典维护”进入数据字典信息窗口进行编辑编辑完成之后单击“保存”按钮进行存储)同户新增业主信息在业主基本信息列表中点击一条记录后面的同户新增图标,打开业主基本信息-同户新增窗口,输入个人信息点击保存按钮(其中家庭信息不可修改,也不允许修改)
②修改业主信息在业主基本信息列表中点击一条记录后面的修改图标,进入业主基本信息-修改窗口,对其资料进行修改
③查询户口资料在业主基本信息窗口中进行查询,可以通过输入住户编号、楼号、单元、楼层、户号、房主身份证、房主姓名、身份证、姓名和选择住所类型、性别进行模糊查询
④删除业主信息警告数据删除之后不可恢复!在业主基本信息列表中点击一条记录后面的删除图标,然后执行“删除”命令,为了安全起见,系统将先做出询问是否真的删除当前选定的资料,如果您确实要删除,请单击“是”,否则请单击“否”图
5.5业主基本信息界面图
5.6业主通讯录信息管理界面的设计与实现业主通讯录信息管理模块对业主的通讯信息进行“新增”、“删除”、“修改”和“查询”操作,其中包括业主的传真、手机、QQ、电子邮件等联系信息其功能如下单击“业主通讯录”命令,即可进入通讯录信息窗口在此您可新增、修改、删除或查询通讯录中的记录
①新增通讯录新增通讯录中的记录信息,请在“通讯录信息”窗口上单击“新增”按钮,进入通讯录编辑窗口,输入业主的身份证(在身份证输入的过程中,下拉列表会显示出数据库中所有和当前输入身份证号模糊匹配的数据,选中姓名输入框后,其内容可根据输入的身份证号自动填充对应的姓名)、姓名基本信息及传真、手机、QQ、E-mail等通讯资料后单击“保存”按钮完成输入注意您直接输入的联系人在业主个人信息表中必须存在对应的数据,否则无法保存成功
②修改通讯录在业主通讯录列表中点击一条记录后面的修改图标进入业主通讯录-修改窗口修改完相应的资料后请单击“保存”保存退出,或者单击“重置”按钮,取消刚才的修改
③查询通讯录要查找联系人,系统提供可根据住户编号、联系人姓名、身份证或手机号查找途径帮助您取得需要的资料
④删除通讯录要删除一条记录,请在业主通讯录列表中点击一条记录后面的删除图标进行删除警告记录删除之后不可恢复!图
5.6业主通讯录信息界面图
5.7报表资料管理界面的设计与实现报表资料包括业主基本信息资料、业主通讯录资料、业主详细报表资料和物业工作人员资料三部分1业主基本信息资料可根据住户编号、身份证、姓名等查询出业主报表资料;2业主通讯录资料可根据住户编号、身份证、姓名等查询出业主通讯录报表资料;3业主详细资料可打印特定业主的详细信息4物业工作人员信息资料可根据身份证、姓名等查询出物业工作人员报表资料图
5.7业主基本信息报表资料界面图第六章系统测试
6.1系统测试的目的测试是程序的执行过程,目的在于发现错误,设计测试的目标是想以最少的时间和人力系统地找出系统中潜在的各种错误和缺陷软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情,另一方面是确认软件以正确的方式来做了这个事件第二是提供信息,比如提供给开发人员或项目经理的反馈信息,为风险评估所准备的信息第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的因此软件测试的第三个目的是保证整个软件开发过程是高质量的
6.2系统测试的原则测试时进行代码审查,从数据类型,变量声明,数据结构进行审查,然后进行功能测试,从输入一些简单的数据开始执行一遍,观测运行期间变量的变化,运行中值的变化范围改变测试方案来变换另一个角度进行测试,发现错误并记录,修改代码,测试条件使程序通过多层分支,判别运行结果从而完成模块测试总体测试是组装软件的系统技术,本系统测试采用渐增集成测试,即测试单一模块,将测试完的模块加入系统中,进行一次系统测试,依次类推将所有模块加入系统中,在具体测试时,采用自顶向下的结合方式,从主控模块开始,沿各控制层向下移动,逐渐把所有模块结合了在测试过程中使用到调试技术
1.采用Debugger调试语句,跟踪数据;
2.利用MyEclipse
7.5中调试工具,从调试窗口观测变量的变化;
3.设置断点BreakPoint,运行程序在设置的断点处停止运行,返回调试状态,观察程序在断点附近的状况、变量及对象属性的取值等
6.3测试的过程软件测试是一个极为复杂的过程,对整个测试过程进行有效的管理软件测试过程与整个软件开发过程基本上是平行进行的,测试与纠错通常是反复交替进行的
6.
3.1功能测试功能测试的主要内容是按实际操作的数据向系统的各个功能模块输入数据,检测输出结果是否符合预期要求
6.
3.2系统测试在对各个模块的测试完成后对整个系统作一个完整的测试,以检验各模块在联合运行时运行结果是否符合预期要求
6.4主要功能测试
6.
4.1登陆系统输入正确的账号与密码,方可登录系统,进入主界面;若密码输入错误,则无法登录,一直处于登陆页面如图
6.1所示:图
6.1登录页面
6.
4.2业主信息管理进入“业主基本信息”,如图
6.2所示,对业主信息进行编辑,点击“新增”按钮,提示“身份证不能为空”如图
6.3所示图
6.2业主基本信息图
6.3新增页面保存成功后,返回到业主基本信息窗口,已新增一行信息,如图
6.4所示图
6.4新增后的数据窗口删除信息,点击“删除”图标出现警告窗口,如图
6.5所示图
6.5删除警告信息删除成功后,返回到业主基本信息窗口,已删除刚新增的一行信息,如图
6.6所示图
6.6删除后的数据窗口由上测试可知,系统符合小区人口信息管理需求,界面简洁,友好,便于用户的操作;界面和后台数据库连接良好,方便数据的统计及处理,实现对人口信息的管理功能系统稳定,易维护且安全性高总结通过这次毕业设计的工作,紧张的时间和繁重的工作任务使我认识到自身的许多不足之处本次论文,从总体架构的构思,到最后的完成都投入了我大量的时间和精力,此次设计工作,除了让我巩固了三年来学的知识,使理论知识与实践相结短合,同时也让我学到了更多的知识,为以后的工作学习打下良好的基础在毕业设计当中我了解到,在开发一个项目时一定要先做好规划,按照软件的开发过程,从需求分析、系统设计到具体设计和调试,详细地进行每一个环节在这段时间里,我通过查看相关资料和书籍,让自己头脑中模糊的概念逐渐清晰,使系统一步步完善起来,每一次改进都是我学习的收获,每一个问题的解决都给作者新的体会本次设计,从课题的选取到最后功能的实现,中间遇到了很多的问题,面对难题,我勇往之前,不断的翻阅书籍,从中我学到了许多原来没有接触到的知识,例如我更加深入的了解了基于UML建模语言的强大功能,知道数字水印效果是如何实现的,更清楚的了解购物车的实现原理及工作过程等,从而进一步加深了自己对ASP.NET的了解和应用同时,此次论文的大部分工作是由我自己完成的,在一定程度上提高了自己的动手能力,锻炼了自己独立解决问题和解决问题的能力,有一部分难题我请教了老师和同学,在他们的帮助下,我学到了更多,设计的进展相对提高当然,由于时间和技术上的原因,该系统还是存在一些问题和不足的地方,比如在数据容量方面,由于没有经过大量数据的测试,数据库能承受多大负荷还不能确定,在美工方面,由于缺少美工经验,所以很多页面看起来可能会不那么漂亮美观,在一些细小的处理上可能还缺少进一步的考虑本次毕业设计,仍存在着许多的问题,仍有许多需要的改进的地方,例如书评部分并没有很好的完成,管理员后台的管理也不是非常的完善等,总之,在今后的工作学习中,我会继续努力,使它的功能更加的完善,使之成为一个令自己比较满意的作品在这次毕业设计,让作者在整个系统的开发过程中学到了很多东西,提高了编程方面的能力,巩固了作者的专业知识,学会了分析问题、解决问题的方法几个月来对东尚小区人口信息管理系统的开发,使作者对JavaEE有了更深一步的认识,同时更进一步的掌握了SQLServer2000数据库方面的知识,积累了系统的开发经验,这将对作者以后的工作起到重要作用通过本次毕业设计,让我能够更好的锻炼自己,为走上社会实际工作岗位做好了充足的准备,为今后的职业发展打下良好的基础面对今后的各项挑战,我将会更好的付诸于行动!我相信自己明天会更加的美好!参考文献
[1]张伟,举一反三—JAVA程序设计实战训练.人民邮电出版社,2004年10月
[2]吴亚峰,纪超,JavaSE编程指南,人民邮电出版社,2007年1月
[3]孙卫琴,Java面向对象编程,电子工业出版社,2006年7月
[4]张晓东,JAVA数据库高级编程,清华大学出版社,2004年4月
[5]刘晓华,张健,周慧贞,JSP应用开发详解,电子工业出版社,2008年10月
[6]邱哲,王俊标,马斗,StrutsWeb设计与开发大全,清华大学出版社,2006年6月
[7]王国辉,马文强,Hibernate应用开发完全手册,人民邮电出版社,2007年9月
[8]李刚,轻量级JavaEE企业应用实战—Struts2+Spring+Hibernate整合开发,电子工业大学出版社,2009年9月
[9][美]BruceEckel,ThinkingInJava,英文第4版,机械工业出版社,2007年
[10]KenArnold,JamesGosling,DavidHolmes,JAVA程序设计,人民邮电出版社2006年5月
[11]RogersCadenheadLauraLemay,21天学通JAVA,人民邮电出版社,2006年9月
[12]BruceEckel,ThinkinginJAVA,机械工业出版社,2007年1月
[13]LauraLemayRogersCadenhead,JAVA2编程21天自学通,清华大学出版社,2002年4月
[14]IvorHorton,Java2编程指南,电子工业出版社,2003年1月
[15]KenArnold,JamesGosling,DavidHolmes,JAVA程序设计,人民邮电出版社,2006年5月附录A代码packagepub;importjava.sql.*;importjava.util.*;publicclassFindUser{Connectioncon=null;PreparedStatementps=null;ResultSetrs=null;publicFindUser{DBCondb=newDBCon;con=db.conn;}//用户管理//定义一个方法根据(id,pwd)完成登录查找publicboolean登录查找StringidStringpwd{booleanflag=false;try{ps=con.prepareStatementselect*fromDLwhereid=andpwd=;ps.setString1id;ps.setString2pwd;rs=ps.executeQuery;ifrs.next{//System.out.println空间看;flag=true;}rs.close;ps.close;con.close;}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}returnflag;}//根据id查询用户publicboolean查询Stringid{booleanflag=false;try{ps=con.prepareStatementselect*fromDLwhereid=;ps.setString1id;rs=ps.executeQuery;ifrs.next{flag=true;}}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}returnflag;}publicDenglu查询1Stringid{Dengludl=null;try{ps=con.prepareStatementselect*fromDLwhereid=;ps.setString1id;rs=ps.executeQuery;ifrs.next{dl=newDenglu;dl.setIdrs.getStringid;dl.setPwdrs.getStringpwd;}}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}returndl;}//添加用户publicint添加登录者StringidStringpwd{inti=0;try{ps=con.prepareStatementinsertintoDLvalues;ps.setString1id;ps.setString2pwd;i=ps.executeUpdate;//System.out.println成功;}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}returni;}//删除用户publicint删除登录者Stringid{inti=0;try{ps=con.prepareStatementdeletefromDLwhereid=;ps.setString1id;i=ps.executeUpdate;}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}returni;}//根据用户名修改密码publicint修改登录者StringidStringpwd{inti=0;try{ps=con.prepareStatementupdateDLsetpwd=whereid=;ps.setString1pwd;ps.setString2id;i=ps.executeUpdate;}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}returni;}//查询用户所有记录publicArrayList查询所有登录者{ArrayListal=newArrayList;Denglud=null;try{ps=con.prepareStatementselect*fromDL;rs=ps.executeQuery;whilers.next{d=newDenglu;d.setIdrs.getStringid;d.setPwdrs.getStringpwd;al.addd;}rs.close;ps.close;con.close;}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}returnal;}}packagepub;importjava.sql.*;importjava.util.*;publicclassGLDL{Connectioncon=null;PreparedStatementps=null;ResultSetrs=null;publicGLDL{DBCondb=newDBCon;con=db.conn;}//根据id和pwd查询管理员publicboolean管理员登录StringidStringpwd{booleanflag=false;try{ps=con.prepareStatementselect*fromGLwhereid=andpwd=;ps.setString1id;ps.setString2pwd;rs=ps.executeQuery;ifrs.next{flag=true;}}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}returnflag;}//根据id查询管理员publicboolean查询管理员Stringid{booleanflag=false;try{ps=con.prepareStatementselect*fromGLwhereid=;ps.setString1id;rs=ps.executeQuery;ifrs.next{flag=true;}}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}returnflag;}//根据id查询管理员publicGL查询管理员1Stringid{GLg=null;try{ps=con.prepareStatementselect*fromGLwhereid=;ps.setString1id;rs=ps.executeQuery;ifrs.next{g=newGL;g.setIdrs.getStringid;g.setPwdrs.getStringpwd;}}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}returng;}//根据id删除管理员publicint删除管理员Stringid{inti=0;try{ps=con.prepareStatementdeletefromGLwhereid=;ps.setString1id;i=ps.executeUpdate;}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}returni;}//添加管理员publicint添加管理员StringidStringpwd{inti=0;try{ps=con.prepareStatementinsertintoGLvalues;ps.setString1id;ps.setString2pwd;i=ps.executeUpdate;}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}returni;}//修改管理员publicint修改管理员StringidStringpwd{inti=0;try{ps=con.prepareStatementupdateGLsetpwd=whereid=;ps.setString1pwd;ps.setString2id;i=ps.executeUpdate;}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}returni;}//查询管理员的所有信息publicArrayList查询所有管理员{ArrayListal=newArrayList;GLgl=null;try{ps=con.prepareStatementselect*fromGL;rs=ps.executeQuery;whilers.next{gl=newGL;gl.setIdrs.getStringid;gl.setPwdrs.getStringpwd;al.addgl;}}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}returnal;}}packagepub;importjava.sql.*;importjava.util.*;publicclassZhuHu{Connectioncon=null;PreparedStatementps=null;ResultSetrs=null;publicZhuHu{DBCondb=newDBCon;con=db.conn;}//添加住户方法publicint添加住户Strings1Strings2Strings3Strings4Strings5Strings6Strings7Strings8{inti=0;try{ps=con.prepareStatementinsertintoZHvalues;ps.setString1s1;ps.setString2s2;ps.setString3s3;ps.setString4s4;ps.setString5s5;ps.setString6s6;ps.setString7s7;ps.setString8s8;i=ps.executeUpdate;}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}returni;}//根据小区号小区名单元号门牌号姓名查询住户publicboolean查询住户1Strings1Strings2Strings3Strings4Strings5{booleanflag=false;try{ps=con.prepareStatementselect*fromZHwhere小区号=and小区名=and单元号=and门牌号=and姓名=;ps.setString1s1;ps.setString2s2;ps.setString3s3;ps.setString4s4;ps.setString5s5;rs=ps.executeQuery;ifrs.next{flag=true;}}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}returnflag;}//根据小区号小区名单元号门牌号姓名查询住户publicZH查询修改Strings1Strings2Strings3Strings4Strings5{ZHzh=null;try{ps=con.prepareStatementselect*fromZHwhere小区号=and小区名=and单元号=and门牌号=and姓名=;ps.setString1s1;ps.setString2s2;ps.setString3s3;ps.setString4s4;ps.setString5s5;rs=ps.executeQuery;ifrs.next{zh=newZH;zh.set小区号rs.getString小区号;zh.set小区名rs.getString小区名;zh.set单元号rs.getString单元号;zh.set门牌号rs.getString门牌号;zh.set姓名rs.getString姓名;zh.set身份证号rs.getString身份证号;zh.set性别rs.getString性别;zh.set入住时间rs.getString入住时间;}}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}returnzh;}//修改住户信息publicint修改住户Strings1Strings2Strings3Strings4Strings5Strings6Strings7Strings8{inti=0;try{ps=con.prepareStatementupdateZHset小区名=单元号=姓名=身份证号=性别=入住时间=where小区号=and门牌号=;ps.setString7s1;ps.setString1s2;ps.setString2s3;ps.setString8s4;ps.setString3s5;ps.setString4s6;ps.setString5s7;ps.setString6s8;i=ps.executeUpdate;}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}returni;}//删除住户publicint删除住户Strings1Strings2Strings3Strings4Strings5{inti=0;try{ps=con.prepareStatementdeletefromZHwhere小区号=and小区名=and单元号=and门牌号=and姓名=;ps.setString1s1;ps.setString2s2;ps.setString3s3;ps.setString4s4;ps.setString5s5;i=ps.executeUpdate;}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}returni;}//根据小区号查询住户publicArrayList小区号查询Stringid{ArrayListal=newArrayList;ZHzh=null;try{ps=con.prepareStatementselect*fromZHwhere小区号=;ps.setString1id;rs=ps.executeQuery;whilers.next{zh=newZH;zh.set小区号rs.getString小区号;zh.set小区名rs.getString小区名;zh.set单元号rs.getString单元号;zh.set门牌号rs.getString门牌号;zh.set姓名rs.getString姓名;zh.set身份证号rs.getString身份证号;zh.set性别rs.getString性别;zh.set入住时间rs.getString入住时间;al.addzh;}}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}returnal;}//根据小区名查询publicArrayList小区名查询Stringid{ArrayListal=newArrayList;ZHzh=null;try{ps=con.prepareStatementselect*fromZHwhere小区名=;ps.setString1id;rs=ps.executeQuery;whilers.next{zh=newZH;zh.set小区号rs.getString小区号;zh.set小区名rs.getString小区名;zh.set单元号rs.getString单元号;zh.set门牌号rs.getString门牌号;zh.set姓名rs.getString姓名;zh.set身份证号rs.getString身份证号;zh.set性别rs.getString性别;zh.set入住时间rs.getString入住时间;al.addzh;}}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}returnal;}//根据单元号publicArrayList单元号查询Stringid{ArrayListal=newArrayList;ZHzh=null;try{ps=con.prepareStatementselect*fromZHwhere单元号=;ps.setString1id;rs=ps.executeQuery;whilers.next{zh=newZH;zh.set小区号rs.getString小区号;zh.set小区名rs.getString小区名;zh.set单元号rs.getString单元号;zh.set门牌号rs.getString门牌号;zh.set姓名rs.getString姓名;zh.set身份证号rs.getString身份证号;zh.set性别rs.getString性别;zh.set入住时间rs.getString入住时间;al.addzh;}}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}returnal;}//根据门牌号publicArrayList门牌号查询Stringid{ArrayListal=newArrayList;ZHzh=null;try{ps=con.prepareStatementselect*fromZHwhere门牌号=;ps.setString1id;rs=ps.executeQuery;whilers.next{zh=newZH;zh.set小区号rs.getString小区号;zh.set小区名rs.getString小区名;zh.set单元号rs.getString单元号;zh.set门牌号rs.getString门牌号;zh.set姓名rs.getString姓名;zh.set身份证号rs.getString身份证号;zh.set性别rs.getString性别;zh.set入住时间rs.getString入住时间;al.addzh;}}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}returnal;}//根据姓名查询publicArrayList姓名查询Stringid{ArrayListal=newArrayList;ZHzh=null;try{ps=con.prepareStatementselect*fromZHwhere姓名=;ps.setString1id;rs=ps.executeQuery;whilers.next{zh=newZH;zh.set小区号rs.getString小区号;zh.set小区名rs.getString小区名;zh.set单元号rs.getString单元号;zh.set门牌号rs.getString门牌号;zh.set姓名rs.getString姓名;zh.set身份证号rs.getString身份证号;zh.set性别rs.getString性别;zh.set入住时间rs.getString入住时间;al.addzh;}}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}returnal;}//根据性别查询住户信息publicArrayList性别查询Stringid{ArrayListal=newArrayList;ZHzh=null;try{ps=con.prepareStatementselect*fromZHwhere性别=;ps.setString1id;rs=ps.executeQuery;whilers.next{zh=newZH;zh.set小区号rs.getString小区号;zh.set小区名rs.getString小区名;zh.set单元号rs.getString单元号;zh.set门牌号rs.getString门牌号;zh.set姓名rs.getString姓名;zh.set身份证号rs.getString身份证号;zh.set性别rs.getString性别;zh.set入住时间rs.getString入住时间;al.addzh;}}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}returnal;}//根据省份证号查询用户信息publicArrayList身份证号查询Stringid{ArrayListal=newArrayList;ZHzh=null;try{ps=con.prepareStatementselect*fromZHwhere身份证号=;ps.setString1id;rs=ps.executeQuery;whilers.next{zh=newZH;zh.set小区号rs.getString小区号;zh.set小区名rs.getString小区名;zh.set单元号rs.getString单元号;zh.set门牌号rs.getString门牌号;zh.set姓名rs.getString姓名;zh.set身份证号rs.getString身份证号;zh.set性别rs.getString性别;zh.set入住时间rs.getString入住时间;al.addzh;}}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}returnal;}//查询所有用户publicArrayList查询所有{ArrayListal=newArrayList;ZHzh=null;try{ps=con.prepareStatementselect*fromZH;rs=ps.executeQuery;whilers.next{zh=newZH;zh.set小区号rs.getString小区号;zh.set小区名rs.getString小区名;zh.set单元号rs.getString单元号;zh.set门牌号rs.getString门牌号;zh.set姓名rs.getString姓名;zh.set身份证号rs.getString身份证号;zh.set性别rs.getString性别;zh.set入住时间rs.getString入住时间;al.addzh;}}catchSQLExceptione{//TODOAuto-generatedcatchblocke.printStackTrace;}returnal;}}东尚小区人口信息管理系统物业工作人员管理业主管理系统维护业主基本信息业主通讯录管理员信息数据字典数据元素条目名称身份证别名nationalId说明业主身份的编号有关编码说明xxxxxxxxxxxxxxxxxx数据值类型数字类型离散长度18有关数据结构业主信息数据流条目名称业主选择单说明业主基本资料统计数据流来源居民户口簿信息数据流去向业主通讯录数据存储条目名称业主资料说明业主资料统计结构楼号、单元、楼层、户号、姓名、身份证、性别等有关数据流业主信息业主资料表数据处理名称录入业主信息说明填写业主家庭与基本信息处理查询业主信息,并予以录入,提出对信息编辑家庭户口编号业主身份证号姓名性别联系电话联系方式通讯录传真QQE-mail身份证号居住数据结构条目名称业主信息说明业主资料统计结构住户编号楼号单元楼层户号姓名身份证联系电话等有关数据存储业主基本信息数据表、业主家庭信息数据表。