实训报告
项目名称 小区物业管理系统 专业班级 _ 姓名 学号
指导教师 实训地点
起止日期 完成时间 2011 年 12月 16日
目 录
1。概述
1.1 软件项目名称 1.2 软件特点
1.3 软件主要社会应用
2.项目可行性分析
2.1引言
2。2技术可行性报告 2.3系统经济可行性报告 2.4社会因素可行性分析
3.软件综合实训项目开发计划书 4.需求分析
4。1 功能需求 4.2 性能需求
5。概要设计
5.1系统总体设计 5。2数据库设计
5。2.1概念结构设计 5.2。2逻辑结构设计 5.2.3物理结构设计
6。详细设计
6。1系统管理模块详细设计 6。2日常模块详细设计
7.系统的实现 8。运行与测试
9.实训总结(包含实训日志) 10。参考文献 附件:主要代码
1.概述
1.1 软件项目名称
小区物业管理系统
1.2 软件特点
小区物业管理系统采用了当前的主流计算结构模式进行开发,前台开发工具选用Eclipse.Eclipse是一种可视化的、面向对象的java开发语言,Eclipse具有易用、通用和开发效率高的特点.后台的数据库开发工具选用了MySQL,它能够处理大量数据,同时保持数据完整性并提供许多高级管理和数据分配功能。
该软件提供了以下功能:基本信息设置、信息查询、打印报表、系统管理,这些功能保证了软件在使用上的方便,同时该软件实现了优美简洁的界面设计,保证了用户在体验上的舒适。
1。3 软件主要社会应用
“物业管理信息系统\"通过计算机网络和专业软件对物业实施即时、规范、高效的管理。在引入该系统后住户档案将由电脑管理,通过在水、电、煤气上设置读数装置可以实现远程自动抄表,减少了业主的麻烦。随着房地产开发的持续升温,各个小区的各家各户繁杂的服务越来越庞大,物业管理业务的复杂性也随之上升,再加上智能化小区这个概念的引入,物业管理逐渐趋于信息化高效率化,因此许多物业管理公司已引入了该系统,服务中心在接到业主报修后,会立刻打出工程部的报修单,提高了日常维修的服务质量。每月电脑会自动将各项费用汇总,并打印出统一的收费通知,大大节省了物业管理公司的人力、物力投入,降低了成本。物业管理系统基本已成了当代建筑群必备的一个管理软件。
2.项目可行性分析
2。1引言
目前国家建设部房地产业司已将是否使用计算机进行管理列入了物业管理公司评定级别的项目之中。此举大大推动了“物业管理信息系统”的发展。随着人们生活水平的提高和房地产业的不断的完善,大型的房地产企业结构中,物业管理的部门结构成为其中的一个细化。而物业管理部门成为与业户零距离接触的终端部门,物业管理系统的作用不但使得繁重的手工工作变的简单化,并且能够使得业户对物业的了解更加透明化。
随着房地产开发的持续升温,各个小区的各家各户繁杂的服务越来越庞大,物业管理业务的复杂性也随之上升,再加上智能化小区这个概念的引入,物业管理逐渐趋于信息化高效率化,因此许多物业管理公司已引入了“物业管理信息系统”,即通过计算机网络和专业软件对物业实施即时、规范、高效的管理。在引入该系统后住户档案将由电脑管理,通过在水、电、煤气上设置读数装置可以实现远程自动抄表,减少了业主的麻烦。服务中心在接到业主报修后,会立刻打出工程部的报修单,提高了日常维修的服务质量。每月电脑会自动将各项费用汇总,并打印出统一的收费通知,大大节省了物业管理公司的人力、物力投入,降低了成本.
2.2技术可行性报告
小区物业管理系统采用了当前的主流计算结构模式进行开发,前台开发工具选用Eclipse。Eclipse是一种可视化的、面向对象的java开发语言,Eclipse具有易用、通用和开发效率高的特点。后台的数据库开发工具选用了MySQL,它能够处理大量数据,同时保持数据完整性并提供许多高级管理和数据分配功能。这两种开发工具功能强大,有较好的接口,作为本系统开发工具是可行的。
面向对象编程的概念
面向对象的程序设计(Object-Oriented Programming,简记为OOP)是Eclipse诞生的基础.OOP立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者。它通过给程序中加入扩展语句,把函数“封装”进java编程所必需的“对象”中。面向对象的编程语言使得复杂的工作条理清晰、编写容易。说它是一场革命,不是对对象本身而言,而是对它们处理工作的能力而言。对象并不与传
统程序设计和编程方法兼容,只是部分面向对象反而会使情形更糟。除非整个开发环境都是面向对象的,否则对象产生的好处还没有带来的麻烦多。而Eclipse是完全面向对象的,这就使得Eclipse成为一种触手可及的促进软件重用的开发工具,从而具有强大的吸引力。
MySQL简介
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购.而2009年,SUN又被Oracle收购。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言.MySQL软件采用了GPL(GNU通用公共许可证).由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库.
2。3系统经济可行性报告
随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行.21世纪是一个充满竞争和挑战的世纪。在这个世纪中,高效化、系统化、规范化、自动化已成为现代企业的代名词。做为我国支柱产业之一的房地产业在当今智能化小区的发展的驱动下,在当今信息时代的推动下,拥有自己的一套特色的小区物业管理系统是非常必要的,与小区内繁多的硬件设施相比较,传统的手工式的管理方式已经无法适合当今的庞大的数据处理和精确的运算需求,所以一套精美完善的小区物业管理系统是提高工作效率节省人力物力的有效解决方案。传统的管理方式,对物业管理人员要求数量多,耗资高,错误率高,工作人员流动和对新人的培训经费也是不小的开支。一套完善的小区物业管理系统可持续使用并能随着时代和工作的需求不断更新,一期投入终身受用,按长期的使用计算,开发系统的造价平均到每年与传统式的管理方式的年耗资本相对比,性价比是可行的。开发这套系统的经济可行性是很高的。
2。4社会因素可行性分析
对于这套小区物业管理系统而言,在投入使用前,会由开发并能熟练操作本系统的工程人员对用户群进行专业系统的培训。培训内容应包括,熟练掌握系统的各个功能和
简单的系统维护,在开发设计程序的过程中直观的界面和控件的文字解释完全能使得用户充分理解起功能和意义,在计算机普及的今天,用户对本系统的操作完全可以看做是一种简单的,配合形式的手工操作,因为本系统最适合用于微型机,可以说几乎任何人都可以使用和管理。所以本系统的操作是完全可行的。
3。软件综合实训项目开发计划书
3.1概述
3。1。0编写目的
编写这份项目开发计划目的是让该项目能在规定的时间内有效率的完成,以及分配小组各成员的任务,让他们在规定时间内各司其职。
3。1。1项目名称 小区物业管理系统
3。1.2项目建设的内容和规模
项目内容:根据项目的需求分析,在规定时间内完成该系统的设计、实现与测试,争取把该系统打造成一个高效率高通用性的系统。
3.1.3经济技术指标
规划时间:两个星期 规划地点:E512机房 开发人数:8
3。1。4项目主要开发条件
(1)本项目符合中华人民共和国各项法律法规。
(2)本项目的物质条件俱全(电脑、开发工具、开发地点等)。
3。2项目概述
3。2.1工作内容
主要有项目的可行性研究、项目的开发计划、需求分析、概要设计、详细设计和项目完成后的测试这几个主要任务。
3。2。2项目开发人员
项目组长:曹海 项目小组成员:
曹海、欧立可、唐波、李春宣、邓敏求、周细雨、黄进、程希
3。2.3产品介绍
该程序的名称是小区物业管理系统,采用的java语言开发,辅以MySQL数据库,存储媒介为可移动硬盘。
3。3实施计划
3.3.1工作任务的分门与人员分工
任务安排:
项目组长负责完成项目可行性研究报告和项目开发计划的起草工作。黄进负责需求分析,欧立可和唐波负责项目的概要设计,李春宣和邓敏求负责项目的详细设计,周细雨负责软件的测试,程希负责系统的实现。
3.3.2进度
第15周确定项目的题目和准备项目的前期工作,完成项目小组的人员安排。15周星期一、星期二完成项目的可行性分析和项目的开发计划,星期三、星期四完成项目的需求分析.第16周完成项目的详细设计及测设,并于16周周五上交报告。
4.需求分析
4。1 功能需求
物业管理系统是一个涉及多方面的系统工程,它包含了管理、服务、工程、财务等多个职能系统。开发智能小区物业管理系统应该满足以下要求:一是全面性,满足常规管理工作的需求;二是智能化,实现数据采集、处理自动化的要求;三是先进性,系统体现时代的需要,使管理更细致、深入,决策更科学。作为智能小区管理信息系统中必不可少的一部分,物业管理系统在其中应该实现的功能有: (1)无纸化管理
应实现物业管理各种文件在电脑上的编辑、发送和接收,在电脑上取代以往的人工报审,有纸操作;提供一个足够开放的平台,实现充分的数据共享和内部通讯.如对于内部的多个部门以及分布在不同地方的多个管理处,可以突破层次和部门分隔导致的沟通障碍来实现信息的实时共享。
(2)灵活方便的万能查询功能
对于用户来讲,查询的要求是千变万化的,为了适应用户的这种要求,系统应支持对所有的事件记录、费用数据等进行检索、统计、总览,从而对日常管理的计划、控制和决策起到实际的支持作用。
(3)敏感数据修改的日志跟踪和分级的权限控制
对应保密或较敏感的数据修改提供跟踪,能清楚地记录数据每次更的情况(更改人、时间、值、数额等),提供敏感数据更改的依据。根据操作人员的不同权限:财务经理有权修改费用单价;收费员只能录入读数进行计算;管理处的工作人员仅能看到本管理处的数据。
(4)形象丰富的决策分析 系统快速、自动、强大的统计汇总功能和丰富的报表打印系统,使各种数据的统计汇总、分析表格一应俱全,物业公司的领导可以随时查阅最新的详细情况,并依次快速、准确地做出决策。同时智能小区物业管理系统应该能够给物业公司内部管理提供全面的解决方案,并从不同层次满足住宅小区发展商的需求。包括下面四个层次: ①业务处理:
用于基层办事人员,如收款员、管理员、保安员、维修员等,包括各种物业档案、台帐等静态数据的录入、查询、打印报表;每月各种收费数据的录入、计算、打单、收款;日常工作日志及数据的录入、查询、打印。 ②运行控制:
用于基层干部,如管理处的财务经理、物业经理、保安经理、工程经理等,包括雇佣和培训工作人员,日常工作(设备保养、维修、保安巡逻、清洁)的调度、工作进展的定期考评与分析、事件提醒等。 ③管理控N.-
用于管理处主任及公司管理人员,包括对每一项工作实际与计划的对比,如收费结果统计比较、设备完好率统计比较、安全达标结果统计比较等. ④领导决策:
用于公司最高领导决策层,包括企业发展战略的分析、新市场开发分析及人力资源政策分析等。根据物业管理系统的总体功能需求及用户层次要求,整个系统主要分为以下几个功能模块:系统管理、住户管理、房产管理、设备管理、收费管理和社区服务,如下图3—I所示:
系统管理:本模块的主要功能是对用户的使用权限进行分配以及数据的备份,由用户管理模块和数据管理模块(如图3-2所示)。它为各类型的用户赋予账号和初始密码,用户管理可以让管理员用户对用户信息进行增加、修改和删除;同时数据管理提供了用户相关信息的备份处理,保障信息的安全性和完整性。
住户管理:本模块的功能是对住户的所有相关信息进行管理(如图3-3所示),它主要包括住户信息录入、住户信息查询、住户信息修改、住户信息删除等。
房产管理:本模块主要是从楼宇管理与房屋管理两方面对小区中的所有房产进行管理(如图3—4所示)。楼宇管理模块包括楼宇信息的录入、楼宇信息查询、楼宇信息修改、楼宇信息删除;房屋管理模块包括房屋基本信息录入、房屋信息查询、房屋信息修改、房屋信息删除等模块。
设备管理:本模块主要是对小区内的所有设备信息进行管理,确保设备的安全和及时对损坏设备进行维修。主要包括设备基本信息的录入、查询、修改、删除等,并将设备的维修信息单独列出供用户进行查询、添加、修改和删除等操作,方便用户了解情况。
收费管理:本模块对住户的水费、电费、煤气费等相关费用进行统筹管理,便于住户及时交费和查询。
社区服务:本模块主要是为各位业主提供诸如停水停电通知、缴费通知、社区活动通知等社区相关服务的,它所提供的服务项目主要有短信群发、提醒服务以及建议意见等(如图3-7所示)。
4。2 性能需求
(1)可扩展性
为了适应日后的发展,小区物业管理系统必须具有良好的扩展性和适应性。 (2)安全性
为保证数据安全和服务安全,系统必须构建安全平台,为用户提供安全的数据传输及身份认证机制。
4.2.1系统建模
1。用例图
通过对以上功能模块的分析,系统的角色主要分为两类:住户和系统管理员。住户可以进入系统公共信息管理模块,了解住房信息以及小区内的公共信息等;系统管理员可以使用住户管理、房产管理、设备管理、车位管理以及收费管理模块,为小区内的日常工作服务,也可以使用系统管理模块,主要是用来进行用户权限的配置,具备最高的权限。全局用例图如图3-8所示。
接着再对其中的每个用例进行进一步的分析,找出其中更具体的用例。比如:系统管理包括用户管理用例和数据管理用例;房产管理包括楼宇管理用例和房屋管理用例,楼宇管理中又包含楼宇信息录入、查询、修改和删除等用例。
2。类图
根据物业管理系统的用例分析,对这个系统而言,在系统边界以外与系统
进行交互的活动者是系统管理员和普通用户,考虑系统问题域和系统责任边界, 确定所用到的类主要包括:楼宇信息、房屋信息、住户信息、个人收费信息等. 在整个系统中,系统管理员处于主动位置,它管理相关的事项和其他类。 我们可以从系统管理员和普通用户两类对象开始进行执行路线追踪,以发现系 统中各种消息连接。
物业管理系统的各类间的关联可根据系统功能用例来确定,比如住户信息 类和收费信息类之间是l:l的关联.关联须谨慎确定,以保证数据的完整性, 防止以后频繁的修改而影响系统的开发进度. 通过分析,本系统的类图,如图3—9所示。
3.顺序图
顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序, 同时显示对象之间的交互。如图3-10所示,是楼宇信息管理模块的顺序图.
管理员用户通过添加消息,进入添加楼宇信息界面,在此界面中显示需要 添加的楼宇信息,例如楼字号、楼层号等;通过编辑消息,进入编辑楼宇信息 界面,在编辑完成后保存,管理员用户通过查询消息进入查询楼宇界面,检查 添加消息是否成功.
4.状态图
状态图用来描述一个特定对象的所有可能状态及其引起状态转移的事件。 大多数面向对象技术都用状态图表示单个对象在其生命周期中的行为。一个状 态图包括一系列的状态以及状态之间的转移。不是所有的类都有状态图,以住 户类为例,住户的状态图如图3-11所示。
从状态图中可以看到住户的所有状态:查询、添加、删除、修改。当住户处 于编辑状态之前,先要查询并确认住户的类型,然后进行编辑;处于增加、删 除状态前同样应该先查询并确认后,在进行增加、删除。
5。概要设计
5.1系统总体设计
小区物业管理系统总体设计包含了住户基本信息实体E—R图、房产基本信息实体E-R图、住户投诉基本信息实体E—R图、系统结构图。
5.2数据库设计
数据库的设计包含了用户表、住户基本信息表、房屋基本信息表、处理故障表、收费信息表。
6.详细设计
6。1系统管理模块详细设计
系统管理模块主要包含了用户管理和数据管理。
用户管理的功能是根据用户使用权限分别提供可以执行的相关操作。在本模块中,系统管理员用户不仅可以添加用户权限组,还可以对权限组内的用户进行添加、修改和删除
数据管理主要实现了数据的安全性和高可用性。
6。2日常模块详细设计
日常模块主要有登陆界面、住户管理、房产管理、设备管理、收费管理。
7。系统的实现
该系统的是用java语言实现的各个模块功能,有前台的登陆界面,后台的数据处理模块和中间的逻辑处理模块。
8。运行与测试
该系统的各个模块均运行正常,用户登陆界面运行后简洁美观,逻辑实现模块处理数据准确无误,数据库对数据的增删改查均正常,经测试该系统是一个高效的实用性强的系统。
9.实训总结
在实训期间我们小组主要围绕小区物业管理系统进行了一系列的研究和讨论.详细说明了在J2EE平台上开发和设计系统的方法、后端数据库的建立以及数据库连接等内容,并设计和实现了小区物业管理系统,主要进行了以下几方面的工作:
首先介绍小区物业管理系统在现代社会生活中的现状和重要性,结合我国的具体实际,阐述建立具有小区特色的物业管理系统的意义和研究情况,提出了本系统的主要研究内容和方向,并规划出本文的集构。
其次,对系统中的相关技术进行了比较详细的阐述,特别是J2EE的结构体 系和技术体系进行重点介绍;并对计算机模式进行了分析和对比,从中选出一 个比较适合本系统开发应用的模式使用。同时简单介绍了数据挖掘相关知识和 常用方法。
最后,在对系统的需求进行了比较全面的分析之后完成对系统的总体设计, 将系统划分为六大功能模块进行描述提出了系统的主要模块,并详细介绍了它 们的设计与实现情况.
我们小组成员在有限的时间里经过努力,该小区物业管理系统已初具规模,界面比较实用,系统稳定性良好,通过网络实验测试用户连接功能良好。系统的查询功能完备,可以满足用户的各种查询要求.查询信息准确无误,完整详细、迅速方便。系统的可操作性很好,不同类型的用户都可以很方便的进行相关的操作,相信可以给小区物业管理工作带来一定的帮助。作为可在网络上直接进行操作的物业管理系统,数据对象的访问控制让我们的敏感数据得到较好的保护,使得只有相应的授权用户才能得到相应的操作权限,一些重要的业主信息等得到较好的利用的同时,又具有很高的安全性。该系统直接面对小区物业管理人员,实现物业管理工作网络处理、协作功能,使小区内的数据电子化,简化工作流程,提高工作效率。与用户的接口实现简单、安全,可操作性强。可以节省许多资源,可以迅速查询和打印所需信息,节省大量人力,简单、明了、安全、
高效,可以大大的提高人们的工作效率,具有很高的实用价值:
实训日志:
2011.12.5号即第十五周周一在E512机房确定小组成员和该次实训的项目(小区物业管理系统);
2011.12.8号即第十五周周四在E512机房听冯剑老师讲实训案例:工资管理系统需求建模启发;并确定小组各人员的具体分工,其中黄进负责需求分析、欧立可负责概要设计、李春萱负责详细设计、周细雨负责软件的测试,我负责项目的可行性研究和项目的开发计划。
2011。12.9号即第十五周周五在E512机房听冯剑老师讲案例:工资管理系统设计引导。并于机房查找该我们小组负责项目的相关资料。
2011.12。14号即第十六周周三在E512机房继续听冯剑老师讲案例:工资管理系统的数据库设计参考示范。进一步确定小组各个成员的分工,调整如下:我负责该项目的前四个部分即概述、可行性分析、项目开发计划和部分需求分析,黄进负责具体的需求分析,欧立可负责概要设计中的数据库设计,唐波负责概要设计中的系统总体设计,李春萱负责详细设计中的系统管理模块,邓敏求负责详细设计中的日常模块详细设计,程希负责系统的实现这部分,周细雨负责项目的运行与测试,至此,小组个成员已分工明确。 2011.12.16号第十六周周五上交报告。
10。参考文献
[1]智能化住宅小区物业管理系统软件设计概述.Lucia.http://www.chnibs.com,2002,10
[2]李焕哲,刘晓亮,郭大权等.J2EE体系结构探讨.河北省科学院学报,2003. [3]陈国华,詹宏昌,张文海.JSP技术及其在安全管理信息系统中的应用.中国安全科学学报,2003,13(1):45‘49
[4]覃桂敏,王力.J2EE开发过程中性能问题的研究.计算机工程,2004,30(12):84’86
[5]孟庆强,宗平.J2EE与三层Web应用开发.计算机与现代化,2004,103(3):50'53 [6]Michael Girdley Rob Woolen Sandra L.Emerson.J2EE Appl ications and BEA WebLogicServer.北京:电子工业出版社,2005
[7]William Crawford,Jonathan Kaplan.J2EB Design Patterns[M] [8]于景.基于STRUTS架构的外汇交易管理系统的设计与实现:[硕士学位论文].大连:大连理工大学计算机学院,2005
附件:主要代码
链接数据库的代码(前台界面与后台数据库的桥梁): package org.biye。util; import java。sql。Connection; import java。sql。DriverManager; import java.sql.SQLException; import java。util。Properties;
public class ConnectionUtils {
private static String driver; private static String url; private static String user; private static String password; static {
try {
Properties props = new Properties();
//从配置文件中读取配置信息
props。load(ConnectionUtils.class.getClassLoader()
。
getResourceAsStream(”org/biye/util/db.properties\"));
driver = props.getProperty(”driver”); //driver=com。mysql。jdbc。Driver
url = props.getProperty(”url\");
//url=jdbc\\:mysql\\://127。0.0。1\\:3306/test
{
Connection con = DriverManager.getConnection(url, user,
user = props。getProperty(\"user”);//user=root
password=props.getProperty(\"password\");//password=jin Class。forName(driver); } catch (Exception e) {
} }
public static Connection getConnection() throws SQLException
password);
return con;
} }
登入界面代码为:
public void actionPerformed(ActionEvent e) {
if (e。getActionCommand()。equals(”登入”)) {
If (idField。getText().trim()。equals(”\")|| new String
(passwdField。getPassword()).trim().equals(””)) {
JOptionPane.showMessageDialog(jf, \"户号、密码不能为空!”);
}
String roomId = idField.getText()。trim();
String passwd = new String(passwdField。getPassword())。return;
trim();
try {
SocketUtil.createSocket();
ObjectOutputStream oos=SocketUtil.getOutputStream();
MyObject obj=new MyObject(MyObject。LOGIN_OBJECT); obj。addData(\"roomId”,roomId); obj。addData(\"passwd\",passwd); oos.writeObject(obj); oos.flush();
ObjectInputStream ois=SocketUtil。getInputStream();
User user=(User)ois.readObject(); if (user。getMark()。equals(\"0\")) {
jf.dispose();
new Enroll(user).showMe();
JOptionPane.showMessageDialog(null, \"您还未登记,请
登记!\");
} else if (user。getMark()。equals(\"1”)) {
MyObject ob = new MyObject(MyObject。
RINSERT_OBJECT);
ob.addData(\"roomId”, user.getRoomId()); oos。writeObject(ob); oos.flush();
Resident r = (Resident) ois.readObject(); if (r == null) {
JOptionPane。showMessageDialog(null, ”您还未登
记,请再点击登录!”);
String mark = 0 + \"”;
MyObject o = new MyObject(MyObject。HH_OBJECT);
o。addData(”mark\", mark); o。addData(\"roomId\", roomId); oos.writeObject(o); oos。flush();
} ArrayList residentList.add(r); jf。dispose(); new CFrame(residentList)。showMe(); }else if(user.getMark()。equals(\"2\")){ JOptionPane.showMessageDialog(null, \"密码错误!\"); }else if(user。getMark()。equals(\"3\")){ JOptionPane.showMessageDialog(null, \"没有此用户! \"); } } catch (Exception e1) { } e1.printStackTrace(); } else if (e.getActionCommand()。equals(”取消”)) { System.exit(0); } else if (e。getActionCommand().equals(\"注册\")) { new RegisterFrame().showMe(); jf。dispose(); } } 住户信息登记界面部分代码: public void actionPerformed(ActionEvent e) { if (e。getActionCommand()。equals(\"确定”)) { String roomId = id1。getText()。trim(); String name = proprietor1。getText()。trim(); String telphone = telephone1。getText().trim(); String family1 = jtf2。getText()。trim(); String family2 = jtf3.getText().trim(); String family3 = jtf4.getText().trim(); String family4 = jtf5。getText().trim(); System.out。println(roomId1 + \"==========”); if (!(roomId.equals(roomId1))) { JOptionPane.showMessageDialog(jf, ”前后户号不同!”); return; } else { if (name。equals(\"”) || telphone。equals(””)) { JOptionPane。showMessageDialog(jf, \"户名与电话不能为空!”); } else { try { SocketUtil.createSocket(); ObjectOutputStream oos = SocketUtil.getOutputStream(); MyObject obj = new MyObject(MyObject.ENROLL_OBJECT); obj.addData(”roomId\", roomId); obj。addData(\"name”, name); obj.addData(”telphone\", telphone); obj。addData(\"family1”, family1); obj.addData(\"family2”, family2); obj.addData(”family3\", family3); obj。addData(\"family4\", family4); oos。writeObject(obj); oos。flush(); ObjectInputStream ois = SocketUtil。getInputStream(); Resident re = (Resident) ois.readObject(); if (re != null) { ArrayList MyObject o = new MyObject(MyObject。HH_OBJECT); o.addData(”mark”, mark); o.addData(\"roomId”, roomId); oos。writeObject(o); oos.flush(); jf.dispose(); new CFrame(list).showMe(); JOptionPane。 showMessageDialog(null, \"该住户信息已存在,请核对,要修改的请点击修改!”); } else { String a = 0 + \"”; String b = 0 + ””; String c = 0 + \"\"; String d = 0 + ”\"; String e1 = 0 + ””; String f = 0 + ”\"; String g =0 + ””; String h =0+ ””; Resident r = new Resident(); r.set房号(roomId); r.set房主(name); r。set电话(telphone); r。set家人1(family1); r.set家人2(family2); r.set家人3(family3); r.set家人4(family4); r.set是否在家(a); r.set火灾监控(b); r。set防盗监控(c); r.set煤气监控(d); r。set水控制(e1); r.set电控制(f); r.set气控制(g); r.set家电管理(h); ArrayList〈Resident〉 list = new ArrayList list.add(r); String mark=1+\"\"; MyObject o = new MyObject(MyObject。HH_OBJECT); o.addData(\"mark”, mark); o.addData(”roomId”, roomId); oos.writeObject(o); oos.flush(); jf.dispose(); new CFrame(list)。showMe(); 。showMessageDialog(null,成功!\"); } } catch (Exception e1) { e1。printStackTrace(); } 登记 JOptionPane \" } } } else if (e.getActionCommand()。equals(\"取消\")) { System.exit(0); } } 实训评分表 项目名称: 指标 方案的合理性与创造性 评价 设计与测试结果 设计说明书的质量 答辩陈述与回答问题情况 实训表现情况 资料齐全情况 综合成绩 教师签名: 日 期: 因篇幅问题不能全部显示,请点此查看更多更全内容