长春大学课程设计说明书——户籍管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
长春大学
课程设计说明书
题目名称户籍管理系统
院(系)计算机科学技术学院
专业(班级)软件12401
学生姓名阮雪峰
指导教师王薇
起止日期2014.7.7—2012.7.29
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊1、研究背景
随着城市人口规模的扩大和公安部门对城市及农村人口管理工作规范性的逐渐增强,户籍管理工作的业务量急剧增大。传统的手工方法,存在效率低、易出错等缺点,已经难以满足当前户籍管理工作的要求。
因此,结合当前日益成熟的计算机相关技术,开发一个专门针对户籍管理的系统已经非常必要了。户籍管理信息系统是公安部门不可缺少的一部分,更是适应现代户籍制度并推动户籍管理走向科学化、规范化、自动化的必要条件。该管理系统能够为用户提供充足的信息和快捷的查询手段,以帮助用户了解户籍工作的情况。它大大改善了公安部门管理、查询户籍的基础工作环境,在一定程度上反映出户籍管理的现代化管理模式。因此人口户籍管理信息系统的开发迫在眉睫。
2、需求分析
需求收集和分析是数据库设计的第一个阶段,这个阶段的一个重要而困难的任务是收集将来应用所涉及到的数据。必须把所有可能用到数据都考虑进去,要确定基本数据、数据结构处理的流程,组成一份详尽的数据字典,为以后进一步设计打下基础,在仔细调查企业户籍管理系统的基础上,通过与本单位户籍管理人员、相关领导的多次沟通与测试,得到本系统所处理的数据流程。如图2.1
图 2.1数据流程图
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊确定了户籍管理系统需要实现的功能:
(1)实现户口迁入、落户。
(2)迁出。
(3)注销录入的全过程。
(4)查询和维护户籍信息的档案数据。
(5)实现户口信息的保存
3、系统概要设计
3.1 系统的各功能模块
通过系统功能需求分析,得到如图所示的系统功能模块图。如图3.1.1。
图 3.1.1 系统功能模块图
3.2 系统的数据库设计
3.2.1 E——R图。图3.2.1
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
图 3.2.1 E——R图3.2.2数据表设计
表1 户口信息表HK
表2 人口信息表RK
表3 管理员信息表GL
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
表4 人口迁入信息表 RIN
4、系统详细设计和实现
4.1 连接数据库
public class DBOperation
{
private Connection con;
public Connection getConnection()
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:HR");
}
catch (Exception e)
{
e.printStackTrace();
}
return con;
}
4.2 登陆界面设计
输入用户名、密码:
private JPanel getJContentPane() {
if (jContentPane == null) {
jLabel2 = new JLabel();
jLabel2.setBounds(new Rectangle(0, 0, 600, 400));
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊
//jLabel2.setIcon(new
ImageIcon(getClass().getResource("/DengLu.jpg")));
jLabel2.setText("");
jLabel1 = new JLabel();
jLabel1.setBounds(new Rectangle(167, 198, 58,
23));
jLabel1.setText("密码:");
jLabel = new JLabel();
jLabel.setBounds(new Rectangle(167, 158, 58, 23));
jLabel.setText("用户名:");
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getJButton(), null);
jContentPane.add(getJButton1(), null);
jContentPane.add(getJButton2(), null);
jContentPane.add(jLabel, null);
jContentPane.add(get用户名(), null);
jContentPane.add(get密码(), null);
jContentPane.add(jLabel1, null);
jContentPane.add(jLabel2, null);
}
return jContentPane;
}
创建登陆按钮对象并创建事件,实现登陆功能:
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new Rectangle(169, 227, 70, 23));
jButton.setMnemonic(KeyEvent.VK_ENTER);
jButton.setToolTipText("输入用户名、密码登陆");
jButton.setText("登录");
jButton.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent e) {
String user=用户名.getText();
String password=new String(密
码.getPassword());
if(user.equals(""))
JOptionPane.showMessageDialog(null,"用户
名不能为空!");
else
{
if(db.CheckUser(user, password))