




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程 设 计 32通讯簿管理系统1需求分析设计通讯簿管理系统的主要目的是为了实现对用户通讯信息的管理并提供方便快捷的查询途径。利用本系统,用户可以根据自己的需要进行通讯信息的管理和查询。本系统遵循软件工程标准,并按照软件工程的规定的流程进行项目的开发。1.1系统概述本系统是一个简易的通讯簿管理系统,系统的主要功能包括:新用户注册功能,用户登录功能。用户登录后,可以进行通讯簿查询、添加通讯记录、删除通讯记录、修改通讯记录等操作。最后选择退出功能可以退出整个系统1.2功能需求描述(1) 注册功能:用户在登录页面上点击“新用户注册”超链接,可以进入用户注册页面,用户需要填写用户名、密码性别、年龄、联系电话、地址等信息进行注册,注册成功后重定向到系统登录页面等待用户登录。(2) 登录功能:用户在登录页面上必须输入合法的用户名和密码之后才能进入系统,若输入信息非法,则自动重定向回登录页面等待用户登录。(3) 查询功能:当用户成功登录系统后,可以按用户名,对系统的所有用户的通讯信息进行查询操作。(4) 添加功能:用户可以添加新的用户操作,添加的用户信息作为通讯簿中的一个新的通讯记录储存,并且此用户在今后独立登录系统。(5) 删除功能:当用户成功登录系统后,可以进行删除现有用户的操作,用户信息不在保存在通讯簿中,并且该用户也不再是系统的合法用户。(6) 修改功能:当用户成功登录系统后,可以修改系统所有用户的个人信息。(7) 退出功能:用户单击“退出”超链接后可退出系统并重定向到系统登录页面,等待用户下一次登录。2. 总体设计在前面对用户需求的分析和研究的过程中,对于本系统中几个主要的功能模块大致有了一个抽象的认识。下面将通过总体设计,给出通讯簿管理系统的模块结构、流程描述和用户界面布局。2.1开发与设计的总体思想 为了提高通讯簿管理系统的适用范围,系统的界面设计应尽量做到简洁、友好、方便、易用,用户不需专门学习便可熟练操作。 本系统采用B/S模式,服务器端使用JSP进行动态网页的开发。2.2系统模块结构图依据需求分析结果,通讯簿管理系统可以分为3个模块:数据库访问模块、用户权限管理模块、用户功能模块,如图所示:数据库访问模块通讯簿管理系统用户权限管理模块用户功能模块2.3模块设计(1) 数据库访问模块:数据库访问模块功能树如图所示:加载驱动程序创建连接,执行查询语句通讯簿管理系统创建连接,执行非查询语句关闭连接(2) 用户权限管理模块:提供新用户注册功能、用户登录功能和用户退出功能。用户权限管理模块功能树如图所示:用户注册用户登录用户权限管理模块用户退出(3) 用户功能模块:包括查询通讯记录功能、添加新用户功能、修改用户信息和删除用户信息等功能。用户功能模块功能树如图所示:查询用户添加用户用户功能模块删除用户修改用户2.4系统流程描述开始 新用户注册用户登录查询用户修改用户删除用户添加用户退出2.5界面设计 通讯簿管理系统的界面设计仍要遵循简洁美观、方便易用的原则。为使用户在各个功能页面方便地跳转,并能随时查看运行结果,本系统采用了划分框窗的页面布局方式,将整个浏览器窗口划分为3个区域。其中,top区域主要负责显示各个功能页面的超链接,便于用户随时切换;left区域主要负责显示用户进行当前操作时输入信息的表单;right区域主要负责显示每次操作的运行结果。具体设计如下:系统登录页面设计效果图注册新用户页面设计效果图用户功能页面(查询用户页面)设计效果图修改用户信息页面设计效果图添加用户页面设计效果图删除用户页面设计效果图2.6数据库设计本系统采用MySQL数据库,在数据库中使用数据表userinfo来储存用户信息,表的结构如下表所示:3. 详细设计基于系统需求分析与系统总体设计结论,将分别阐述系统的详细设计和实现过程。3.1应用部署图3.2访问数据库的JavaBean由于在本系统的多个JSP页面中都需要访问数据库,因此使用一个JavaBean来专门完成数据库的连接、访问等操作。这样,既可以节省编码时间,也提高了代码的利用率。1. 模块描述负责完成与数据库的连接、访问、关闭等操作。2. 类的设计与实现(1) 名称:databaseTXB.java(2) 功能:负责完成与数据库的连接、访问、关闭等操作(3) 程序设计清单:package database;import java.sql.*;import java.lang.*;public class databaseTXB Connection connect=null;ResultSet rs=null;public databaseTXB()tryClass.forName(com.mysql.jdbc.Driver);catch(ClassNotFoundException e)System.err.println(e.getMessage();public boolean logInUser(String userName,String userPassword)/用户登录boolean userExist=false;tryconnect=DriverManager.getConnection(jdbc:mysql:/localhost:3306/db,root,123);Statement stmt=connect.createStatement();String strSql=select*from userinfo where userName=+change(userName)+and userPassword=+userPassword+;/建立查找用户名和密码的SQL语句rs=stmt.executeQuery(strSql);/执行该SQL语句,运回ResultSet对象if(rs.next()/分析ResultSet对象,确定用户是否存在userExist=true;connect.close();return userExist;catch(SQLException e)e.printStackTrace();return false;public ResultSet executeQuery(String sql)/执行SQL语句tryconnect=DriverManager.getConnection(jdbc:mysql:/localhost:3306/db,root,123);Statement stmt=connect.createStatement();rs=stmt.executeQuery(sql);catch(SQLException ex)System.err.println(ex.getMessage();return rs;public int executeUpdate(String sql)/修改用户int result=0;tryconnect=DriverManager.getConnection(jdbc:mysql:/localhost:3306/db,root,123);Statement stmt=connect.createStatement();result=stmt.executeUpdate(sql);catch(SQLException ex)System.err.println(ex.getMessage();return result;public static String change(String str)/处理中文转码trybyte byteStr=str.getBytes(ISO-8859-1);return new String(byteStr,GBK);catch(Exception e)return str;public void close()/关闭连接tryconnect.close();catch(SQLException e)System.out.println(e.getMessage();3.3用户权限管理模块用户权限管理模块主要提供新用户注册、用户登录及退出等功能。其中完成注册、登录功能的各JSP页面中均需访问数据库,因此直接调用了刚刚实现并发布好的DatabaseBean来完成数据库操作。1. 模块描述提供新用户注册功能、登录功能、退出功能。2. 源文件定义(1) login.html名称:通讯簿管理系统首页功能:系统登录页面,核对用户登录系统时的用户名和密码 用户登录 !- 用户登录用户名: 密码: 新用户注册(2) servletTXB.java名称:处理登录信息的servlet功能:调用databaseTXB.jsp中的logInUser方法,核对用户登录信息。当用户信息正确时,转到用户功能页面,不正确时,重定向回login页面。import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import database.databaseTXB;public class servletTXB extends HttpServlet /* * Constructor of the object. */public servletTXB() super();/* * Destruction of the servlet. */public void destroy() super.destroy(); / Just puts destroy string in log/ Put your code here/* * The doGet method of the servlet. * * This method is called when a form has its tag value method equals to get. * * param request the request send by the client to the server * param response the response send by the server to the client * throws ServletException if an error occurred * throws IOException if an error occurred */public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException response.setContentType(text/html);PrintWriter out = response.getWriter();out.println();out.println();out.println( A Servlet);out.println( );out.print( This is );out.print(this.getClass();out.println(, using the GET method);out.println( );out.println();out.flush();out.close();/* * The doPost method of the servlet. * * This method is called when a form has its tag value method equals to post. * * param request the request send by the client to the server * param response the response send by the server to the client * throws ServletException if an error occurred * throws IOException if an error occurred */public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException response.setContentType(text/html);PrintWriter out = response.getWriter();out.println();out.println();out.println( A Servlet);out.println( );out.print( This is );out.print(this.getClass();out.println(, using the POST method);databaseTXB database=new databaseTXB();String uN=request.getParameter(name);String userPS=request.getParameter(password);tryif(database.logInUser(uN, userPS)response.sendRedirect(home.jsp);elseresponse.sendRedirect(login.html);catch(Exception e)out.println(Error.);out.println( );out.println();out.flush();out.close();/* * Initialization of the servlet. * * throws ServletException if an error occurs */public void init() throws ServletException / Put your code here(3) register.jsp名称:新用户注册页面功能:负责显示新用户注册时填写注册信息的表单。用户注册用户注册用户名: 密码:性别: 男 女年龄: 联系电话: 电子邮件: 地址: (4) dealregister.jsp名称:新用户注册处理页面功能:将新用户的信息储存到userinfo表中注册处理页面 注册功! 请等候3秒,返回登录面. (5) logout.jsp名称:用户退出页面功能:负责登录用户的退出功能,将退出系统的用户信息从session中清除掉。用户退出页面3.4用户功能模块1. 模块描述提供用户查询、添加、删除、修改通讯记录功能。2. 源文件定义(1) home.jsp名称:系统功能主页面功能:划分区域,定义不同区域的功能和主要属性。系统功能主页面(2) top.jsp名称:top区域页面功能:负责在浏览器的top区域中显示各个功能页面的超链接,方便用户的跳转。top区域页面欢迎您使用通讯簿管理系统!查询用户添加用户删除用户修改用户资料刷新退出(3) left.html名称:查询输入页面功能:负责在left区域中显示查询输入表单,用户可在文本框中输入要查询的用户名,来找寻匹配的通讯记录 left.html !- 用户查询请输入查询的用户名: (4) dealleft.jsp名称:用户查询处理页面功能:获取需要查询的用户名,生成SQL语句,在userinfo表中查找到匹配的记录Insert title here id号 用户名 性别 年龄 联系电话 电子邮件 地址 (5) right.jsp名称:通讯簿显示页面功能:显示通讯簿系统中所有用户信息显示所有通讯记录 id号 用户名 性别 年龄 联系电话 电子邮件 地址 (6) insert.jsp名称:添加用户页面功能:负责在left区域中显示添加新用户的信息输入表单添加用户添加用户用户名: 密码:性别: 男 女年龄: 联系电话: 电子邮件: 地址: (7) dealinsert.jsp名称:添加用户处理页面功能:获取用户在添加用户页面insert.jsp中输入的信息,自动生成新用户的id号,并将其作为一条新纪录插入到userinfo表中。添加用户处理页面% int id=10000;String userName=;String userPassword=;String sex=;String age=;String phone=;String email=;String address=;if(request.getP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程造价预算编制实操案例详解
- 2025挖掘机租赁合同范本模板
- 工地持续供货合同范本
- 疫情点对点包车合同范本
- 仓储与运输合同范本
- 茶叶销售合同范本
- 美容产品合作合同范本
- 2025鞋类生产外协合同
- 2025授权销售合同协议范本
- 物业防水补漏合同范本
- 血液中乙醇的测定顶空气相色谱法
- 物业承接查验移交资料清单
- 工信部规《通信建设工程安全生产操作规范》
- 社会组织内部规范化治理课件
- 农村公路建设标准
- GB/T 13825-2008金属覆盖层黑色金属材料热镀锌层单位面积质量称量法
- GA/T 1237-2015人员基础信息采集设备通用技术规范
- 红十字急救培训-包扎课件
- 药物分析实验注意事项课件
- 沙盘游戏治疗课件
- 甘肃省烟花爆竹经营许可实施标准细则
评论
0/150
提交评论