当前位置:文档之家› 户籍管理系统设计

户籍管理系统设计

目录1 绪论 (3)1.1 项目开发背景 (3)1.2 项目开发目的 (3)2 开发平台简介 (4)2.1 JB UILDER 2005 (4)2.2 J AVA语言的特点 (4)2.3 SQLS ERVER2000 (5)3 系统分析 (6)3.1 需求分析 (6)3.1.1 系统功能设计分析 (6)3.1.2 主要功能 (6)3.2 系统设计 (6)3.2.1 数据库设计 (6)3.2.2 系统功能结构图 (8)4 系统的具体实现 (9)4.1 登陆 (9)4.2 主窗体 (11)4.3 精确查询 (12)4.4 模糊查询 (14)4.5 开户管理 (14)4.6 删除人物 (17)4.7 新增人口登记 (19)4.8 修改户籍信息 (21)4.9 注册用户 (23)4.10 修改用户密码 (24)结论. (27)致谢. (28)参考文献. (29)1 绪论随着时代的发展、科学的进步,信息时代已经遍布全球,计算机已广泛地深入各行各业,起着越来越巨大的作用。

它运算速度快,体积小,可靠性高,通用性与灵活性强,以及很高的性能价格比等特点,把人们带入了一个一切都离不开计算机的新时代。

本文介绍的系统是户籍管理系统,包括登陆界面,户籍管理主界面,开户登记界面,新增人口界面,删除人口界面,修改户籍信息界面,用户管理界面,分别有增、删、查、改的功能。

1.1 项目开发背景近年来,随着计算机技术的发展和互联网时代的到来,我们已经进入了信息时代,随着人口的不断增长,户籍管理部门也应得到良好的发展,利用现代化管理工具使其变成半自动化必定会提高其工作效率。

1.2 项目开发目的户籍管理系统是针对户籍管理部门而开发的,为其改变人口信息仍需要手动处理和查询,个人的信息在处理中丢失或者不明确等现象而设计的。

通过这个户籍管理系统,可以让户籍管理部门提高工作质量和效率,从而达到更快捷、更准确、更方便的目的。

2 开发平台简介此系统的开发平台是WindowsXP,前台使用JBuilder2005开发,后台数据库为SQL Server 2000 ,下面对使用的软件做一下简介。

2.1 JBuilder 2005JBuilder 是Borland 公司开发的针对java 的开发工具,使用JBuilder 将可以快速,有效的开发各类java应用,它使用的JDK与sun公司标准的JDK不同,它经过了较多的修改,以便开发人员能够像开发Delphi应用那样开发java 应用。

JBuilder 支持最新的Java技术,包括Applets、JSP/Servlets、JavaBean 以及EJB (Enterprise JavaBeans) 的应用。

用户可以自动地生成基于后端数据库表的EJB Java类,JBuilder同时还简化了EJ B的自动部署功能•此外它还支持CORB/相应的向导程序有助于用户全面地管理IDL(分布应用程序所必需的接口定义语言Interface Definition Language) 和控制远程对象。

JBuilder能用Servlet和JSP开发和调试动态Web应用。

JBuilder拥有专业化的图形调试介面,支持远程调试和多线程调试,调试器支持各种JDK版本,包括J2ME/J2SE/J2EE JBuilder环境开发程序方便,它是纯的Java开发环境,适合企业的J2EE开发。

2.2 Java 语言的特点Java 是目前最流行的软件开发语言之一,由Sun Microsystem 公司推出,称为网络上的“世界语” 。

Java 适合开发基于多媒体、与平台无关、用面向对象的方法进行基于Internet 、Intranet 、Extranet 的Applet 和应用程序。

Java建立在C和C++基础之上,使熟悉C和C++勺程序员能很方便地进行Java编程。

但Java摈弃了C和C++中许多不合理的内容。

它具有简单高效、面向对象、不依赖于机器结构的特点,支持多线程、分布和并发机制。

用Java 开发的应用软件在可移植性、健壮性、安全性等方面大大优于已存在的其他编程语言。

Java 提供了丰富的类库,能最大限度地利用网络。

Java 可广泛用于面向对象的事件描述、处理面向对象的企业型的应用开发,还应用于In ternet系统管理、Web页面设计、In ternet可视化软件开发等方面。

2.3 SQL Server 2000SQL全称是“结构化查询语言(Structured Query Language) ”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SY STEM开发的一种查询语言,它的前身是SQUAR语言。

SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。

SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。

SQL 不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的接口。

它以记录集合作为操纵对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL 语句的输入,所以SQL语言可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的一个单独事件只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。

3 系统分析3.1 需求分析3.1.1 系统功能设计分析对应用系统项目的开发,首先要对程序要实现的功能和目标进行整体分析和规划,确保在后期开发中不会出现遗漏或重大缺陷。

因此在软件开发中,要严格按照软件工程的流程进行系统的分析和设计。

3.1.2 主要功能在本系统中主要包含以下功能模块:1. 登陆模块该模块的功能主要是对用户的ID 和密码进行审核,如果正确进入系统,否则提示密码错误,且分为两种权限:一是普通用户,该用户只能浏览人口的户籍信息和修改自己的密码,而不能对户籍进行增加、删除、修改的功能;二是管理员,该用户可以完成整个系统的所有功能包括对户籍管理的增、删、查、改和对用户的管理。

2. 主窗体此模块将显示整个系统的总体功能以及菜单,可以使用户很容易适应本系统,也可以使用户很快捷的使用本系统。

3. 户籍管理模块该模块主要是实现对人口户籍的信息进行增、删、查、改的功能。

4. 用户管理模块此模块是完成对用户管理的增、删、查、改的功能。

3.2 系统设计3.2.1 数据库设计数据源名:test,数据库名:hj,共有3个数据表。

包括:upeople表--- 用来存储帐号、密码及权限的记录。

(表3-1)hjid表用来存储户籍号、户籍类别、户主姓名及地址。

(表3-2 )hjxx表一一用来存储户籍成员信息的表。

(表3-3)322 系统功能结构图4系统的具体实现4.1登陆登陆窗体(Welcome由标签、文本框、密码框以及按钮等控件组成。

图4-1登陆窗体本系统分为两个权限,即:管理员一一本系统的管理者,能够进行所有操作,并且可以分配权限。

用户ID:001,密码为:111。

普通用户一一屏蔽了系统的大部分功能,只能对登记和病历进行完全操作,其他功能只能够浏览。

用户ID : 002,密码为:123。

输入用户ID、密码,单击“确定”后,如果用户ID和密码都正确会提示登陆成功并关闭本窗体显示主窗体,否则,提示信息:用户名或密码错误请重新输入。

确定按钮代码如下:dbc onn db = new dbc onn();ResultSet rs = null;Stri ng sql ="";String uid = jTextField1.getText();String upassword = new String(jPasswordField1.getPassword()); boolean flag = false;sql = "select * from upeople where userid='" + uid +"'and userpassword='" + upassword + "'";try {rs = db.Query(sql);if (rs.next()) {flag = true;id=jTextField1.getText();N = rs.getString("username");MYPOWER = rs.getInt(4);} else {JOptionPane.showMessageDialog(null ," 用户/ 密码错误,请重新输入!");}} catch (Exception e2) {}if (flag) {if (MYPOWER == 1) {power = " 管理员";............. // 显示主窗体} else {// 显示主窗体}db.close();4.2 主窗体主窗体(MainUI)由菜单,标签组成图4-2主窗体登陆成功后进入本窗体,根据不同身份会隐藏部分功能,为了更快捷的接受本系统,主窗体设有五个标签显示总体功能。

点击菜单会弹出相应窗体,相关代码如下:Selectl aa = new Select1();aa.setVisible(true);aa.setSize(545 ,625);int w(WToolkit.getDefaultToolkit().getScree nSize().width -aa.getWidth()) / 2;int(WToolkit.getDefaultToolkit().getScree nSize().height -aa.getHeight()) / 2;aa.setLocatio n(w , h);aa.validate();4.3 精确查询精确查询(Select1 )由标签、按钮、表格等控件组成。

图4-3精确查询窗体精确查询(Select1 )由标签、按钮、表格等控件组成。

单击查询按钮调用查询方法,相关代码如下:public void UpdateRecord() {Vector vec = new Vector(1 ,1);DefaultTableModel model = new DefaultTableModel();JdbTable jdbTable1 = new JdbTable(model); tableScrollPane1.getViewport().add(jdbTable1); model.addColu mn (" 姓名");model.addColumn(”户主或关系");dbconn db = new dbconn(); String a=jTextField1.getText(); String sql="";if(jRadioButton1.isSelected()){ s ql="select * from hjxx where 户号二'"+a+"'"}else if (jRadioButton2.isSelected()){sql="select * from hjxx where}try {ResultSet rs = db.Query(sql);while (rs.next()) { vec = newVector();vec.add(rs.getString("vec.add(rs.getString(" 身份证号='"+a+姓名")); 户主或关系"));model.addRow(vec);}} catch (Exception ea) { ea.printStackTrace(); }tableScrollPane1.getHorizontalScrollBar(); System.out.println(jdbTable1.getRowCount()); jdbTable1.setGridColor(Color.blue); jdbTable1.setDragEnabled(true);jdbTable1.setSelectionForeground(Color.red);jdbTablel.setSelecti on Backgro un d(Color.gree n);jdbTablel.setShowVerticalLi nes(true);jdbTable1.setEditable(false);jdbTable1.setAutoResizeMode(0);jdbTable1.setFont(newjava.awt.Font("Dialog" , Font.PLAIN , 14));}4.4模糊查询模糊查询(Select2 )由标签、按钮、表格等控件组成。

相关主题