5、系统的设计与实现
5.1 安全设计
数据库访问中,权限管理和数据安全性是保证系统正常运行的重要机制。为
此,该系统在设计时可考虑以下措施: 1,防火墙技术
防火墙技术是一种将内部网和访问网分开的方法,它实际上是一种隔离技术,可以就每个通过它的网络数据包,检查数据包收发双方的身份,根据预先的安全性设置确定该数据包是否能通过防火墙,阻止网络中的黑客来访问网络,以防止他们更改、拷贝、修改和破坏系统,导致整个系统瘫痪。 2、加密技术
1)充分利用windows 2000 server 与 sql server 2000的安全性机制和可靠性机制,当从客户机连接到Windows 2000 server平台上的sql server 2000时,操作系统和dbms都需要对访问用户加以验证。Sql server 2000支持2种安全访问模式:混合型安全模式和集成性安全模式。在此模式下要求用户通过Windows 2000 server和sql server 2000两级安全性 验证,以提高操作系统的安全性。
2)在系统中定义三种用户:住户、物业管理员、系统管理员。
业主用户只能根据住户编号实现在线行为,对物业管理数据库中的数据无权限修改,只允许访问自己所选择的相关物业管理信息:
物业管理员用户只能根据物业管理员账号和编号实现在线物业管理行为,只允许访问修改自己所负责分管的物业管理部门工作有关物业管理内容信息。物业管理员对物业管理数据库拥有全部权限,但只能查看不允许修改业主与物业管理员交流的数据,系统允许每个业主更好和物业管理用户修改自己的密码。用户使用系统必须经过用户名和密码验证,以保证每个用户的信息是相互独立的,防止非授权用户非法读写数据库,从而提高系统的安全性。
系统管理员给各用户进行授予不同的操作权限。比如住户只能查看住户信息、收费信息以及管理员信息,但无权修改信息。而对于物业管理员也是针对不同部门授予不同的权限,比如有些物业管理员可以对有关数据进行修改操作。但对物业管理员的相关信息只能以通过系统管理员来进行维护。
5.2系统实现环境
住宅小区物业管理系统软件的功能,但广义上讲,应该覆盖物业管理公司的整个办公自动化系统,它除了包含传统的资料维护。财产管理、入住装修管理,维护管理、人事管理、财务管理等功能以外,还应包括物业管理公司下属的保安部门的安防监控系统软件和应用于社区内部局域网上的软件 。
一个号的物业管理企业,不光要有先进的管理经验,关键还要选择一个好的物业管理系统软件,所以,在住宅小区物业管理系统应构建在一个号的网络,数据库。程序语言和操作系统平台。
住宅小区物业管理系统软件采用的是多层次结构,这种方式下的驱动程序把命令传达给服务器数据库引擎,并且把处理完的数据返回给前端的应用程序,其执行效果比自行访问的单一层次驱动程序更好,可以大大降低服务器的占用时间。
5.3系统一部分代码
首先,用户看到的是系统的主界面(JFraml),即系统的进入界面,主要有三个按钮控件组成。如果你是普通用户,则选择普通用户进入系统按钮,如果你是系统管理员用户,则选择管理员进入系统按钮。系统管理员用户进入管理系统,必须通过域名和密码的验证,否则不能进入管理系统。 普通用户进入系统按钮的代码如下:
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
zc.face.userInterface2 jf3=new zc.face.userInterface2(); jf3.setVisible(true); setVisible(false); }
管理员用户进入系统按钮的代码与普通用户进入系统按钮大代码相似。 如果现在你想退出系统,则可以选择推出系统按钮,将会弹出确认对话框,询问你是否决定退出系统(Are you sure to quit?).如果选择确定按钮,将会退出本系统。如果你现在又不想退出本系统,则选择取消按钮。
退出系统按钮的代码如下:
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) { javax.swing.JFramef=new javax.swing.JFrame(\
int returnValue=javax.swing.JOptionPane.CANCEL_OPTION;
returnValue=javax.swing.JOptionPane.showConfirmDialog(f,\to quit?\ if(returnValue==javax.swing.JOptionPane.OK_OPTION){ System.exit(0); } else
f.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
}
5.4 普通用户系统
用户选择进入普通用户系统,系统弹出普通用户界面(userInterface)。 userInterface界面上有各类待查询信息,在界面的上方有主菜单,分六部分:人员信息、住房信息、收费信息、房产信息、帮助、返回。 在人员信息中有两种:
sql查询 填充查询
sql查询代码如下:
private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) { String input=null;
javax.swing.JFrame f=new javax.swing.JFrame();
input=javax.swing.JOptionPane.showInputDialog( f,\请输入sql叙述如select*fromrenyuan\ System.out.println(\数据查询.........\
if((input!=null)&&(input.length()!=0)){System.out.println(input); //进行数据库查询 try{
Class.forName(\
}
catch(ClassNotFoundException ce){
System.out.println(\ } try{
Connectioncon=DriverManager.getConnection(\\
Statement stmt=con.createStatement(); ResultSet rs=stmt.executeQuery(input);
System.out.println(zc.face.MySqlUnit.printMetaData(rs)); System.out.println(zc.face.MySqlUnit.printResultSet(rs)); stmt.close(); con.close(); }
catch(SQLException e){
System.out.println(\ }
catch(IOException e2){
System.out.println(\ } } else
System.out.println(\输入正确的查询语句.\ }
在填充查询中又分三种:
按姓名; 按门牌号 ;按工作单位; 按姓名查询代码如下:
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent
evt) {
zc.face.renyuan1 jf=new zc.face.renyuan1( ); jf.setVisible(true); setVisible(false); }
按门牌号和工作单位查询代码与按姓名查询代码相似。
住房信息的菜单结构与人员信息大菜单结构相似,其查询代码也相似。 在收费信息和房产信息中有两种: sql查询 填充查询
其查询代码与人员信息查询代码相似:
如果用户想查询人员方面的信息,可以通过点击主菜单中的“人员信息”选项实现。
如果用户想查询某个人的具体信息,用户对数据库查询语句又比较熟悉,用户可以选择人员信息菜单下的“sql查询” 。在弹出的对话框中输入Select查询语句点击“确定”按钮进行查询。
如果用户想查询某个人的具体信息,用户对数据库又不熟悉,则可以选择人员信息菜单下的“填充查询” 。
如果用户只知道所要查询人的姓名,则可以点击“按姓名查询”。用户可以在弹出的人员信息查询界面1(renyuan1.java)的文本框中输入查询人姓名,点击“查询”按钮进行查询。如果用户想继续查询其他人员信息,则可以点击“继续查询”按钮继续进行查询。如果用户现在不想查询,则可以点击“取消”按钮,将会返回到普通用户界面。
查询按钮的代码如下:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { try{
Class.forName(\ }
catch(ClassNotFoundException )
{ System.out.println(\