您的当前位置:首页正文

毕业设计方案用户管理系统的设计方案与开发

来源:爱站旅游
导读毕业设计方案用户管理系统的设计方案与开发
个人收集整理资料, 仅供交流学习, 勿作商业用途

XXXX大学XX学院

毕业设计报告书

课程名称:软件开发毕业设计

题 目: 用户管理系统的设计与开发 系 名:XXXX系

专业班级:XXXX专业XXXX班 姓 名: 学 号: 指导教师:

年月日

课程设计任务书

学生姓名: 专业班级: 指导教师:工作单位:

设计题目:用户管理系统的设计与开发

初始条件:了解软件工程基本知识,掌握JAVA编程基础,了解基本的软件开发工具。

要求完成的主要任务:

个人收集整理资料, 仅供交流学习, 勿作商业用途

功能:用户可以注册,然后登陆,有错误提示等。登陆成功以后,会列出所有用户的记录信息。

登陆用户可对记录进行增加、修改、删除、查询等操作。 技术:jsp+servlet+tomcat6.0+mysql 设计报告撰写格式要求:

一、课程设计说明书<或报告书)正文内容 【设计题目】用户管理系统的设计与开发 【开发环境】windows XP

【开发工具】MyEclipse 7.0,tomcat 6.0,MySQL 【完成时间】 【设计思想】

描述确定设计内容后,自己如何思考的、确定设计的方案是什么?打算如何实现

【设计过程及设计步骤】

将设计的步骤及实施过程分步总结写出来

【测试运行】描述对于自己给定的数据,运行后的结果如何?

【评价与修订】 对自己设计内容及结果进行全面评价描述,包括:创造性、独

特性、满意程度及不足处,并提出改进意见;

【设计体会】 总结本次实训经验、教训、收获、体会,为今后的实践环节学习打好基础

【参考文献】 罗列在设计过程中查阅的文献名称 时间安排:

目录

第1章需求分析1 1.1设计题目1 1.2设计要求1 1.3设计任务1

1.4开发环境与工具2 第2章概要设计2 2.1 设计思想2 2.2系统功能设计2 第3章详细设计3

第4章设计运行结果与分析11 4.1 运行结果11

个人收集整理资料, 仅供交流学习, 勿作商业用途

4.1.1 用户登录界面11 4.1.2 添加用户12 4.1.3 修改用户信息12 4.1.4 删除用户13 4.1.5 查询用户13 4.2 结果分析14

第5章设计体会与小结15 参考文献15

附录……………………………………………………………………14

第1章 需求分析

1.1设计题目

用户管理系统的设计与开发。 1.2设计要求

(1>了解软件工程基本知识。

(2>掌握JAVA编程基础。 (3>了解基本的软件开发工具。

1.3设计任务

(1> 设计一个用户管理系统,用户能够注册、登陆,登陆成功后,会列出所

有用户的记录信息。

<2)登录用户能够对记录进行增加、删除、修改,查询操作。 1.4开发环境工具

Windows XP系统,MyEclipse 7.0,tomcat 6.0,MySQL等开发工具。

第2章 概要设计 2.1 设计思想

本次课程设计通过使用MYSQL,Myeclisp 7.0,Tomcat 6.0等软件,首先设计一个用户管理系统,以达到用户能够注册、登陆,登陆成功后,会列出所有用户的记录信息的目的最后能实现登录用户能够对记录进行增加、删除、修改,查询操作等工作。首先利用Mysql软件创建数据库,命名为db_user;然后,在db_user中创建表,命名为tb_user,在表中创建4个字段:用户编号个人收集整理资料, 仅供交流学习, 勿作商业用途

2.2系统功能设计

系统功能 用户登录 用户管理 修改用户信息 删除用户信息 查询用户 添加用户 2.2系统功能图

第3章 详细设计

3.1创建数据库,在数据库中建立用户信息表: Create database db_user Use db_user

Create table tb_user,userPass varchar(50>,userAge int)

个人收集整理资料, 仅供交流学习, 勿作商业用途

3.2创建数据库连接:

import java.sql.Connection。 import java.sql.DriverManager。 import java.sql.SQLException。 public class DBConnection { private static String driverName = \"com.mysql.jdbc.Driver\"。 private static String userName。 private static String userPass。 private static String url =

\"jdbc:mysql://localhost:3306/db_user\"。 public static Connection getConnection(String _url, String _userName, String _userPass> { userName = _userName。 userPass = _userPass。 url = _url。

Connection conn = null。 try { Class.forName(driverName>。 conn = DriverManager.getConnection(url, userName, userPass>。 } catch (ClassNotFoundException e> { // TODO Auto-generated catch block e.printStackTrace(>。 } catch (SQLException e> { // TODO Auto-generated catch block e.printStackTrace(>。 } return conn。 } public static Connection getConnection(> { return getConnection(url, \"root\。 } public static void closeConnection(Connection conn> { if (conn != null> { try { conn.close(>。 } catch (SQLException e> { // TODO Auto-generated catch block e.printStackTrace(>。 } }

个人收集整理资料, 仅供交流学习, 勿作商业用途

} }

3.3用户主要功能的实现:

import java.sql.Connection。

import java.sql.PreparedStatement。 import java.sql.ResultSet。 import java.sql.SQLException。 import java.sql.Statement。 import java.util.ArrayList。 import com.softeem.dto.UserDTO。 public class UserDAO { private Connection conn。 private Statement st。 private ResultSet rs。 private String sql。 public void add(UserDTO user> { conn = DBConnection.getConnection(>。 try { st = conn.createStatement(>。 sql = \"insert into tb_user(userName,userPass,userAge> values('\" + user.getUserName(> + \"','\" + user.getUserPass(> + \"','\" + user.getUserAge(> + \"'>\"。 int m = st.executeUpdate(sql>。 if (m != 0> { System.out.println(\"添加成功\">。 }

DBConnection.closeConnection(conn>。 } catch (SQLException e> { // TODO Auto-generated catch block e.printStackTrace(>。 } } public void update(UserDTO user> { conn = DBConnection.getConnection(>。 try { st = conn.createStatement(>。 sql = \"update tb_user set userName='\" + user.getUserName(> + \"',userPass='\" + user.getUserPass(> + \"',userAge='\"

个人收集整理资料, 仅供交流学习, 勿作商业用途

+ user.getUserAge(> + \"' where userId='\" + user.getUserId(> + \"'\"。 int m = st.executeUpdate(sql>。 if (m != 0> { System.out.println(\"修改成功\">。 } } catch (SQLException e> { // TODO Auto-generated catch block e.printStackTrace(>。 } } public void delete(int n> { conn = DBConnection.getConnection(>。 try { st = conn.createStatement(>。 sql = \"delete from tb_user where userId='\" + n + \"'\"。 int m = st.executeUpdate(sql>。 if (m != 0> { System.out.println(\"删除成功\">。 } } catch (SQLException e> { // TODO Auto-generated catch block e.printStackTrace(>。 } } public ArrayList selectAll(> { ArrayList list = new ArrayList(>。 conn = DBConnection.getConnection(>。 try { st = conn.createStatement(>。 sql = \"select * from tb_user\"。 rs = st.executeQuery(sql>。 while (rs.next(>> { UserDTO user = new UserDTO(>。 user.setUserId(rs.getInt(\"userId\">>。 user.setUserName(rs.getString(\"userName\">>。 user.setUserPass(rs.getString(\"userPass\">>。 user.setUserAge(rs.getInt(\"userAge\">>。 list.add(user>。 } } catch (SQLException e> {

} public UserDTO selectById(int n> { UserDTO user = new UserDTO(>。 conn = DBConnection.getConnection(>。 try { st = conn.createStatement(>。 sql = \"select * from tb_user where userId='\" + n + \"'\"。 rs = st.executeQuery(sql>。 while (rs.next(>> { user.setUserId(rs.getInt(\"userId\">>。 user.setUserName(rs.getString(\"userName\">>。 user.setUserPass(rs.getString(\"userPass\">>。 user.setUserAge(rs.getInt(\"userAge\">>。 } } catch (SQLException e> { e.printStackTrace(>。 } return user。 } public ArrayList selectByProperty(String property, String value> { ArrayList list = new ArrayList(>。 conn = DBConnection.getConnection(>。 PreparedStatement pst = null。 try { if (property.equals(\"\"> || property == null || value.equals(\"\"> || value == null> { sql = \"select * from tb_user\"。 pst = conn.prepareStatement(sql>。 } else { sql = \"select * from tb_user where \" + property + \" like ?\"。 pst = conn.prepareStatement(sql>。 pst.setString(1, \"%\" + value + \"%\">。 } System.out.println(sql>。 rs = pst.executeQuery(>。

个人收集整理资料, 仅供交流学习, 勿作商业用途

e.printStackTrace(>。 }

return list。

} public boolean checkLoginuser(UserDTO user> { boolean flag = false。 conn = DBConnection.getConnection(>。 try { st = conn.createStatement(>。 // sql = \"select * from tb_user where userName='\" + // user.getUserName(> // + \"' and userPass='\" + user.getUserPass(> + \"'\"。 //查询满足userName和userPass条件的记录 sql = \"select count(*> from tb_user where userName='\" + user.getUserName(> + \"' and userPass='\" + user.getUserPass(> + \"'\"。 // sql=\"select userPass from tb_user where userName='\"+user.getUserName(>+\"'\"。 //执行sql语句 rs = st.executeQuery(sql>。

//对结果集进行遍历 如果查询的记录条数大于0 则说明 数据库存

在该条记录此时改变flag的值

while (rs.next(>> { if (rs.getInt(1> > 0> { flag = true。 } } } catch (SQLException e> { e.printStackTrace(>。 } return flag。 } }

个人收集整理资料, 仅供交流学习, 勿作商业用途 while (rs.next(>> { UserDTO user = new UserDTO(>。 user.setUserId(rs.getInt(\"userId\">>。 user.setUserName(rs.getString(\"userName\">>。 user.setUserPass(rs.getString(\"userPass\">>。 user.setUserAge(rs.getInt(\"userAge\">>。 list.add(user>。 }

} catch (SQLException e> { e.printStackTrace(>。 }

return list。

个人收集整理资料, 仅供交流学习, 勿作商业用途

3.4测试过程:

public class UserDAOTest { @Test public void testAdd(> { UserDTO user = new UserDTO(>。 user.setUserName(\"admin\">。 user.setUserPass(\"123456\">。 user.setUserAge(43>。 UserDAO dao = new UserDAO(>。 dao.add(user>。 } @Test public void testUpdate(> { UserDTO user = new UserDTO(>。 user.setUserId(1>。 user.setUserName(\"test\">。 user.setUserPass(\"1111111\">。 user.setUserAge(111>。 UserDAO dao = new UserDAO(>。 dao.update(user>。 } @Test public void delete(> { UserDAO dao = new UserDAO(>。 dao.delete(1>。 } @Test public void testSelectAll(> { UserDAO dao = new UserDAO(>。 ArrayList list = dao.selectAll(>。 for (int i = 0。 i < list.size(>。 i++> { System.out.println(list.get(i>.getUserId(> + \"\\" + list.get(i>.getUserName(> + \"\\" + list.get(i>.getUserPass(> + \"\\" + list.get(i>.getUserAge(>>。 } } @Test public void testSelectById(>{ UserDAO dao=new UserDAO(>。

} @Test public void testCheckLoginuser(>{ UserDTO user=new UserDTO(>。 user.setUserName(\"Lucy\">。 user.setUserPass(\"123456\">。 UserDAO dao=new UserDAO(>。 boolean flag=dao.checkLoginuser(user>。 System.out.println(flag>。 } }

第4章 设计运行结果与分析 4.1 运行结果

4.1.1 用户登录界面

运行login.jsp得到的结果如下:

个人收集整理资料, 仅供交流学习, 勿作商业用途 UserDTO user=dao.selectById(6>。

System.out.println(user.toString(>>。

个人收集整理资料, 仅供交流学习, 勿作商业用途

图 3.1.1 用户登陆界面 4.1.2 添加用户

点击页面的增加选项,弹出如下窗口,添加新用户,用户名为admin,设置密码,用户年龄。设置完成后,点击增加按钮。 添加用户成功后,显示页面如下:

图3.1.2 增加用户 4.1.3 修改用户信息

点击页面的“编辑“按钮,修改用户名为”admin “的用户信息,将其用户密码修改为123456。

修改页面如下图

个人收集整理资料, 仅供交流学习, 勿作商业用途

图3.1.3 修改用户信息 修改成功后,页面显示如下图

图3.1.3 修改后用户信息 4.1.4 删除用户

点击“删除”按钮,删除用户姓名为“a”,即删除。 4.1.5 查询用户

查询某用户信息,查询结果如图:

图3-7 用户信息

个人收集整理资料, 仅供交流学习, 勿作商业用途

图3.1.5查询结果 4.2 结果分析

本次课程设计基本达到了任务要求,用户在登录界面登录后,经过运行和调试能够成功的注册、登陆,登陆成功后,会列出所有用户的记录信息。最后登陆对用户信息进行添加,删除,修改以及最后进行查询,都达到了预期的结果,如3.1中设计结果的运行和所得出的视图。同时设计过程中依然存在许多不足,主要是对开发工具的不能熟练掌握和功能的运用,从而导致用户界面不够好,编程和运行时出现了些问题。用jsp开发和java语言来进行编程以及对开发工具Myeclipse的使用得到了添加,删除,修改以及查询最终得到了用户界面基本符合课程设计的要求。

个人收集整理资料, 仅供交流学习, 勿作商业用途

第5章 设计体会与小结

通过近两个星期的软件开发工具的课程设计,让我学到了很多东西,尤其是让我学会了使用jsp的开发和进一步熟悉和掌握了java语言的编程以及对开发工具Myeclipse的使用。在这次课程设计中,经过指导老师近两个星期的讲解,不断的丰富我们软件开发工具的知识,让我受益匪浅同时也检验了我所学习的知识,重要的是让我在平时中没有理解和掌握的东西有了进一步深入的理解。在设计过程中,我也遇到了很多问题和困难,在与同学们相互探讨,相互学习的过程中让我逐渐掌握了解决这些困难的技巧。我觉得课程设计,主要在于通过理论与实际的结合,提高我们平时课堂中学不到的东西,如何理论联系实际。通过实践可以我意识到了的课堂学习与实际工作学习的差距,平时我们更应该去好好学习去掌握每个知识点才能为我们的实际动手能力打下良好的基础。本次课程设计我深深的感受到平时学习中存在的不足,让我体会深刻,在以后的学习中我们应更加努力。课程设计过程中我的实际能力不好,因此碰到很多问题,通过对问题的解决我的动手能力才慢慢开始熟练起来。

只有理论联系实际才能出真知,在今后的学习过程中我将继续努力去熟练掌握我们所学的课堂知识,在实际中的运用过程中才能发挥自如。两个星期的学习让我学到了很多,感受也很深,做任何事都要一步步的熟练掌握从无到有,才能得出想要的结果和成果。今后我将继续好好学习。

参考文献

[1] 软件工程方法与实践,窦万峰,机械工业出本社,2018年7月 [2] 数据库原理与应用,夏冰冰,国防工业出版社,2009.12 [3]软件工程概论,卫红春,清华大学出版社,2007.9

个人收集整理资料, 仅供交流学习, 勿作商业用途

附录: 部分源代码

package com.softeem.dto。 /**

* version 1122 * @author 姜贝 * */

public class UserDTO { private int userId。 private String userName。 private String userPass。 private String userSex。 private int userAge。 private String userEmail。 public UserDTO(> { } public int getUserId(> { return userId。 } public void setUserId(int userId> { this.userId = userId。 } public String getUserName(> { return userName。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top