毕业设计方案用户管理系统的设计方案与开发.docx
- 文档编号:8619749
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:17
- 大小:714.82KB
毕业设计方案用户管理系统的设计方案与开发.docx
《毕业设计方案用户管理系统的设计方案与开发.docx》由会员分享,可在线阅读,更多相关《毕业设计方案用户管理系统的设计方案与开发.docx(17页珍藏版)》请在冰豆网上搜索。
毕业设计方案用户管理系统的设计方案与开发
XXXX大学XX学院
毕业设计报告书
课程名称:
软件开发毕业设计
题目:
用户管理系统的设计与开发
系名:
XXXX系
专业班级:
XXXX专业XXXX班
姓名:
学号:
指导教师:
年月日
课程设计任务书
学生姓名:
专业班级:
指导教师:
工作单位:
设计题目:
用户管理系统的设计与开发
初始条件:
了解软件工程基本知识,掌握JAVA编程基础,了解基本的软件开发工具。
要求完成的主要任务:
功能:
用户可以注册,然后登陆,有错误提示等。
登陆成功以后,会列出所有用户的记录信息。
登陆用户可对记录进行增加、修改、删除、查询等操作。
技术:
jsp+servlet+tomcat6.0+mysql
设计报告撰写格式要求:
一、课程设计说明书<或报告书)正文内容
【设计题目】用户管理系统的设计与开发
【开发环境】windowsXP
【开发工具】MyEclipse7.0,tomcat6.0,MySQL
【完成时间】
【设计思想】
描述确定设计内容后,自己如何思考的、确定设计的方案是什么?
打算如何实现
【设计过程及设计步骤】
将设计的步骤及实施过程分步总结写出来
【测试运行】描述对于自己给定的数据,运行后的结果如何?
【评价与修订】对自己设计内容及结果进行全面评价描述,包括:
创造性、独特性、满意程度及不足处,并提出改进意见;
【设计体会】总结本次实训经验、教训、收获、体会,为今后的实践环节学习打好基础
【参考文献】罗列在设计过程中查阅的文献名称
时间安排:
附录……………………………………………………………………14
第1章需求分析
1.1设计题目
用户管理系统的设计与开发。
1.2设计要求
(1>了解软件工程基本知识。
(2>掌握JAVA编程基础。
(3>了解基本的软件开发工具。
1.3设计任务
(1>设计一个用户管理系统,用户能够注册、登陆,登陆成功后,会列出所有用户的记录信息。
<2)登录用户能够对记录进行增加、删除、修改,查询操作。
1.4开发环境工具
WindowsXP系统,MyEclipse7.0,tomcat6.0,MySQL等开发工具。
第2章概要设计
2.1设计思想
本次课程设计通过使用MYSQL,Myeclisp7.0,Tomcat6.0等软件,首先设计一个用户管理系统,以达到用户能够注册、登陆,登陆成功后,会列出所有用户的记录信息的目的最后能实现登录用户能够对记录进行增加、删除、修改,查询操作等工作。
首先利用Mysql软件创建数据库,命名为db_user;然后,在db_user中创建表,命名为tb_user,在表中创建4个字段:
用户编号 进行数据库连接,最后在Myeclisp7.0工具中去运行编程结果以达到用户登录进行增加、删除、修改,查询操作。 2.2系统功能设计 2.2系统功能图 第3章详细设计 3.1创建数据库,在数据库中建立用户信息表: Createdatabasedb_user Usedb_user Createtabletb_user 3.2创建数据库连接: importjava.sql.Connection。 importjava.sql.DriverManager。 importjava.sql.SQLException。 publicclassDBConnection{ privatestaticStringdriverName="com.mysql.jdbc.Driver"。 privatestaticStringuserName。 privatestaticStringuserPass。 privatestaticStringurl="jdbc: mysql: //localhost: 3306/db_user"。 publicstaticConnectiongetConnection(String_url,String_userName, String_userPass>{ userName=_userName。 userPass=_userPass。 url=_url。 Connectionconn=null。 try{ Class.forName(driverName>。 conn=DriverManager.getConnection(url,userName,userPass>。 }catch(ClassNotFoundExceptione>{ //TODOAuto-generatedcatchblock e.printStackTrace(>。 }catch(SQLExceptione>{ //TODOAuto-generatedcatchblock e.printStackTrace(>。 } returnconn。 } publicstaticConnectiongetConnection(>{ returngetConnection(url,"root","123456">。 } publicstaticvoidcloseConnection(Connectionconn>{ if(conn! =null>{ try{ conn.close(>。 }catch(SQLExceptione>{ //TODOAuto-generatedcatchblock e.printStackTrace(>。 } } } } 3.3用户主要功能的实现: importjava.sql.Connection。 importjava.sql.PreparedStatement。 importjava.sql.ResultSet。 importjava.sql.SQLException。 importjava.sql.Statement。 importjava.util.ArrayList。 importcom.softeem.dto.UserDTO。 publicclassUserDAO{ privateConnectionconn。 privateStatementst。 privateResultSetrs。 privateStringsql。 publicvoidadd(UserDTOuser>{ conn=DBConnection.getConnection(>。 try{ st=conn.createStatement(>。 sql="insertintotb_user(userName,userPass,userAge>values('" +user.getUserName(>+"','"+user.getUserPass(>+"','" +user.getUserAge(>+"'>"。 intm=st.executeUpdate(sql>。 if(m! =0>{ System.out.println("添加成功">。 } DBConnection.closeConnection(conn>。 }catch(SQLExceptione>{ //TODOAuto-generatedcatchblock e.printStackTrace(>。 } } publicvoidupdate(UserDTOuser>{ conn=DBConnection.getConnection(>。 try{ st=conn.createStatement(>。 sql="updatetb_usersetuserName='"+user.getUserName(> +"',userPass='"+user.getUserPass(>+"',userAge='" +user.getUserAge(>+"'whereuserId='"+user.getUserId(> +"'"。 intm=st.executeUpdate(sql>。 if(m! =0>{ System.out.println("修改成功">。 } }catch(SQLExceptione>{ //TODOAuto-generatedcatchblock e.printStackTrace(>。 } } publicvoiddelete(intn>{ conn=DBConnection.getConnection(>。 try{ st=conn.createStatement(>。 sql="deletefromtb_userwhereuserId='"+n+"'"。 intm=st.executeUpdate(sql>。 if(m! =0>{ System.out.println("删除成功">。 } }catch(SQLExceptione>{ //TODOAuto-generatedcatchblock e.printStackTrace(>。 } } publicArrayList ArrayList conn=DBConnection.getConnection(>。 try{ st=conn.createStatement(>。 sql="select*fromtb_user"。 rs=st.executeQuery(sql>。 while(rs.next(>>{ UserDTOuser=newUserDTO(>。 user.setUserId(rs.getInt("userId">>。 user.setUserName(rs.getString("userName">>。 user.setUserPass(rs.getString("userPass">>。 user.setUserAge(rs.getInt("userAge">>。 list.add(user>。 } }catch(SQLExceptione>{ e.printStackTrace(>。 } returnlist。 } publicUserDTOselectById(intn>{ UserDTOuser=newUserDTO(>。 conn=DBConnection.getConnection(>。 try{ st=conn.createStatement(>。 sql="select*fromtb_userwhereuserId='"+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(SQLExceptione>{ e.printStackTrace(>。 } returnuser。 } publicArrayList ArrayList conn=DBConnection.getConnection(>。 PreparedStatementpst=null。 try{ if(property.equals("">||property==null||value.equals(""> ||value==null>{ sql="select*fromtb_user"。 pst=conn.prepareStatement(sql>。 }else{ sql="select*fromtb_userwhere"+property+"like? "。 pst=conn.prepareStatement(sql>。 pst.setString(1,"%"+value+"%">。 } System.out.println(sql>。 rs=pst.executeQuery(>。 while(rs.next(>>{ UserDTOuser=newUserDTO(>。 user.setUserId(rs.getInt("userId">>。 user.setUserName(rs.getString("userName">>。 user.setUserPass(rs.getString("userPass">>。 user.setUserAge(rs.getInt("userAge">>。 list.add(user>。 } }catch(SQLExceptione>{ e.printStackTrace(>。 } returnlist。 } publicbooleancheckLoginuser(UserDTOuser>{ booleanflag=false。 conn=DBConnection.getConnection(>。 try{ st=conn.createStatement(>。 //sql="select*fromtb_userwhereuserName='"+ //user.getUserName(> //+"'anduserPass='"+user.getUserPass(>+"'"。 //查询满足userName和userPass条件的记录 sql="selectcount(*>fromtb_userwhereuserName='" +user.getUserName(>+"'anduserPass='" +user.getUserPass(>+"'"。 //sql="selectuserPassfromtb_userwhereuserName='"+user.getUserName(>+"'"。 //执行sql语句 rs=st.executeQuery(sql>。 //对结果集进行遍历如果查询的记录条数大于0则说明数据库存在该条记录此时改变flag的值 while(rs.next(>>{ if(rs.getInt(1>>0>{ flag=true。 } } }catch(SQLExceptione>{ e.printStackTrace(>。 } returnflag。 } } 3.4测试过程: publicclassUserDAOTest{ @Test publicvoidtestAdd(>{ UserDTOuser=newUserDTO(>。 user.setUserName("admin">。 user.setUserPass("123456">。 user.setUserAge(43>。 UserDAOdao=newUserDAO(>。 dao.add(user>。 } @Test publicvoidtestUpdate(>{ UserDTOuser=newUserDTO(>。 user.setUserId(1>。 user.setUserName("test">。 user.setUserPass("1111111">。 user.setUserAge(111>。 UserDAOdao=newUserDAO(>。 dao.update(user>。 } @Test publicvoiddelete(>{ UserDAOdao=newUserDAO(>。 dao.delete(1>。 } @Test publicvoidtestSelectAll(>{ UserDAOdao=newUserDAO(>。 ArrayList for(inti=0。 i i++>{ System.out.println(list.get(i>.getUserId(>+"\t" +list.get(i>.getUserName(>+"\t" +list.get(i>.getUserPass(>+"\t" +list.get(i>.getUserAge(>>。 } } @Test publicvoidtestSelectById(>{ UserDAOdao=newUserDAO(>。 UserDTOuser=dao.selectById(6>。 System.out.println(user.toString(>>。 } @Test publicvoidtestCheckLoginuser(>{ UserDTOuser=newUserDTO(>。 user.setUserName("Lucy">。 user.setUserPass("123456">。 UserDAOdao=newUserDAO(>。 booleanflag=dao.checkLoginuser(user>。 System.out.println(flag>。 } } 第4章设计运行结果与分析 4.1运行结果 4.1.1用户登录界面 运行login.jsp得到的结果如下: 图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]软件工程概论,卫红春,清华大学出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 方案 用户 管理 系统 设计方案 开发