学生信息管理系统课程设计说明书(共24页)_第1页
学生信息管理系统课程设计说明书(共24页)_第2页
学生信息管理系统课程设计说明书(共24页)_第3页
学生信息管理系统课程设计说明书(共24页)_第4页
学生信息管理系统课程设计说明书(共24页)_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PAGE 第 PAGE 25页 宜春学院(xuyun)数学与计算机科学学院 课程设计说明书 课 程 名 称: JSP课程设计 课 程 代 码: 题 目: 学生(xu sheng)信息管理系统设计说明书 年级(ninj)/专业/班: 12软件工程 学 生 姓 名: 学 号: 指 导 教 师: 开 题 时 间: 2014 年 12 月 08 日完 成 时 间: 2014 年 12 月 27 目 录 TOC o h z t 标题(biot) 7,7,标题 8,8,标题 9,9 HYPERLINK l _Toc193451202 一、引 言 PAGEREF _Toc193451202 h 2 HYPE

2、RLINK l _Toc193451203 二、设计(shj)目的与任务 PAGEREF _Toc193451203 h 2 HYPERLINK l _Toc193451204 三、设计方案 PAGEREF _Toc193451204 h 3 HYPERLINK l _Toc193451210 四、结 论 PAGEREF _Toc193451210 h 11 HYPERLINK l _Toc193451211 五、致 谢 PAGEREF _Toc193451211 h 11 HYPERLINK l _Toc193451212 六、参考(cnko)文献 PAGEREF _Toc193451212

3、 h 11。 课程设计引 言随着Internet国际互联网的发展,越来越多的企业开始建造自己的网站。基于Internet的信息服务,商务服务已经成为(chngwi)现代企业一项不可缺少的内容。很多企业都已不满足于建立一个简单的仅仅能够发布信息的静态网站。现代企业需要的是一个功能强大的,能提供完善的电子商务服务的动态商务网站。同时人们的生活方式也在随着发生改变,传统的购物方式已不能满足人们的需求。 JSP是Sun公司推出的一种网站开发技术,Sun公司借助自己在Java上的不凡造诣,又把人们(rn men)引进JSP时代,JSP即Java Server Page,它可以在Servlet和JavaB

4、ean的支持下,完成功能强大的Web应用程序。所以,在我的毕业设计中,我采用了JSP作为开发工具,构建了一个能实现基本的信息管理的小型动态网站学生(xu sheng)信息管理系统。设计目的与任务该系统为广大高校的学生提供学生信息管理平台。它作为现代化管理工具,把同学们的信息在网上实现信息的保存,修改,插入操作,有效提高了管理的效率。为了完成所选项目的任务,要求实现以下目标:向广大的同学们介绍本系统在管理方面的优越性,可靠性,实用性,必要性利用B/S的体系结构建立管理系统的理论模型使用jsp进行功能模块的定制和交互界面的具体开发系统的维护方案通过以上内容的研究,将开发出一套使用方便,功能型强的学

5、生信息管理系统要完成的任务:根据系统的使用范围结合实际情况对系统需求分析文档进行编写根据需求分析,对系统的代码进行合理的编写代码的调试和运行三、设计方案31 学生信息管理系统需求分析1、软件功能总体需求描述及各子系统功能要求2、系统(xtng)角色分析按软件工程的方法完成系统所涉及(shj)角色的分析角色(ju s)分为1种:(1)用户: 对本系统拥有所有权限,包括增加,修改,查询,删除学生信息和班级信息的权限。3、系统用例分析及建模在这一节我们将以“体系结构”为中心,以“用例驱动”的分析方法采用UML来完成系统需求阶段模型的建立,在这一阶段的主要完成的任务是根据上一节中分析得出的系统参与者,

6、从参与者的角度出发完成用例的分析,采用面向对象的方法用UML为系统建立用例模型(1)用户(yngh)用例模型 4、系统(xtng)用例描述上一节从系统参与者的角度建立了整个(zhngg)系统的用例模型,下面我们将对前面得到的用例进行描述,在用例描述中我们将为每个用例进行编号,确定用例名称,对每个用例的功能进行简要的描述,明确每个用例的参与者以及执行该用例需要的前置条件和执行完用例的后置条件,并且会对每个用例的活动流程进行描述。学生信息管理学生信息增加用例描述用例编号:01 用例名称:增加学生信息功 能:向数据库中添加学生信息执行者:用户前置条件:用户已经登录(dn l)本系统后置(hu zh)

7、条件:增加的学生信息(xnx)能够保存到数据库主事件流:1、登录学生信息管理系统; 2、进入学生信息添加界面; 3、确定信息无误后进行添加; 32 系统分析与设计1、系统总体设计 从需求上来讲,学生信息管理系统在总体架构上并不复杂,因此可以使用简单的三层架构来实现。用户表示层业务逻辑层数据访问层为用户提交操作界面(比如登录,注册,添加,删除,修改,查询等)负责数据的生成,处理及转换数据的插入,删除,修改以及数据库中读出数据等操作 具体的系统(xtng)逻辑架构图2、学生信息管理系统静态结构(jigu)模型在本节中我们将根据前面(qin mian)定义的系统需求以及建立的学生信息管理系统用例模进

8、行进一步的分析,寻找发现系统中存在的类、类的相关的属性和方法,并且找出这些类之间的关系,同时为学生信息管理系统建立系统的静态模型,最终得到完整的系统类图以及它们之间的关系,这个过程也是面向对象分析的基本任务 13。(1)识别学生信息管理系统中的类用例识别法、实体识别法和名词识别法是在这阶段采用的主要方法,在这一阶段我们主要是对前面定义的需求以及建立的用例模型分析来找出系统中的持久类,持久类的确立也可以为我们后面的数据设计工作打下良好的基础。下面我们来描述学生信息管理系统涉及到的主要的实体类的属性和方法,主要包括了以下几种:用户信息类(StudentInformation)用户信息类描述了学生信

9、息管理系统中用户的基本信息,包括:用户姓名、密码。系统用户界面类以上分析得到的是系统的实体类,在系统在完成这些实体类的操作用户还需要通过界面来完成,这些用户与系统之间的交互的界面也属于系统类,一般称为界面类,一个好的系统通常具备友好的图形用户界面,因此,还需要找出并定义系统中的界面类。3、学生信息管理系统动态模型的建立前面建立的用例模型和类模型只是对系统具备的功能和需要处理的数据进行了描述,而一个系统的这些功能是如何实现的,对数据如何操作的并不能体现出来,而要使一个系统描述更完整,在面向对象的分析方法中还需要采用动态模型从另一个角度来对系统进行描述,系统的动态模型图主要由以下几种图组成:协作图

10、、时序图、状态图和活动图,它们对系统描述的侧重点各不相同,在接下来的分析中我们将采用状态图来描述对象在系统运行过程中状态的变化,用活动图和顺序图对系统用例进行进一步的描述 16 。(1)系统活动图1、登录活动图登录活动对任何一个系统来说都是最基本的活动之一,在学生信息管理系统中登录活动主要验证用户的用户名和密码如果验证通过就可以进入系统的主界面,根据需求及相关工作流程画出其活动图如图所示。图1 登录(dn l)活动图4、数据库设计(shj)1.概念设计2、逻辑设计 设计(shj)数据库的逻辑结构,与具体的DBMS无关,主要反映业务逻辑。3、物理设计(1)确定数据的存储结构:顺序存储和链式存储(

11、2)设计数据的存取路径:E:学生信息管理系统(3)确定数据的存放位置:E:学生信息管理系统Database(4)确定系统配置:MYSQL,ECLIPSE , WIN7系统4、数据库表设计数据库表结构设计如下所示:(1)用户信息表如下表所示:用户信息表列名:是否主键数据类型:长度备注:Id是int11本表主键,用户IduserName否Varchar20用户名password否Varchar20用户密码(2)学生表如下表所示: 学生表列名:是否主键数据类型:长度备注:Id是int 11本表主键,学生IdstuNo否varchar 20学号sex否varchar 5性别birthday否date

12、生日gradeId否int11班级idEmail否varchar20邮箱stuDesc否varchar1000描述(3)班级(bnj)表如下表所示: 班级(bnj)表列名是否主键数据类型长度备注: Id 是int11班级idgradeName否varchar20班级名称gradeDesc否varchar1000班级描述学生(xu sheng)信息管理系统的实现在系统实现部分主要完成两项工作:把前期面向对象设计的成果用jsp实现;测试并调试实现的程序。 在代码实现阶段以前期的分析与设计为基础,以用例为驱动来实现各个功能模块,除了功能上与设计阶段的各功能保持一致之外还应该注重代码的风格和系统的界面

13、设计,在代码实现时良好的程序风格比较重要同时系统的界面设计也应该得到重视,用户界面设计的一条总的原则是:以人为本,以用户的体验为准。学生信息管理系统部分功能模块的实现(1)学生信息管理系统登录功能模块该界面主要用来完成对登录用户身份的验证。运行系统首先进入登录界面,输入用户名、密码,验证通过后进入主界面。该模块通过对用户帐号和用户密码的验证来完成对用户登录身份的验证,登录界面如图所示。 学生信息管理系统登录(dn l)界面图核心(hxn)代码:package com.dao;import java.sql.Connection;import java.sql.PreparedStatement

14、;import java.sql.ResultSet;import com.model.User;public class UserDao /登陆(dng l)验证public User login(Connection conn,User user) throws ExceptionUser resultUser = null;String sql = select * from t_user where userName=? and password=?;PreparedStatement pstmt = conn.prepareStatement(sql);pstmt.setString

15、(1, user.getUserName();/设置第一个问号的内容pstmt.setString(2, user.getPassword();ResultSet rs = pstmt.executeQuery();if(rs.next()resultUser = new User();resultUser.setUserName(rs.getString(userName);resultUser.setPassword(rs.getString(password);return resultUser;package com.model;public class User private in

16、t id;private String userName;private String password;public User() super();/ TODO Auto-generated constructor stubpublic User(String userName, String password) super();this.userName = userName;this.password = password;public int getId() return id;public void setId(int id) this.id = id;public String g

17、etUserName() return userName;public void setUserName(String userName) this.userName = userName;public String getPassword() return password;public void setPassword(String password) this.password = password;package com.servlet;import java.io.IOException;import java.sql.Connection;import javax.servlet.

18、ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import com.dao.UserDao;import com.model.User;import com.util.DbUtil;import com.util.StringUtil;public class LoginSer

19、vlet extends HttpServlet DbUtil dbUtil = new DbUtil();UserDao userDao = new UserDao();Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException this.doPost(request, response);Overrideprotected void doPost(HttpServletRequest request, Ht

20、tpServletResponse response)throws ServletException, IOException String userName = request.getParameter(userName); String password = request.getParameter(password); request.setAttribute(userName, userName); request.setAttribute(password, password); if(StringUtil.isEmpty(userName) | StringUtil.isEmpty

21、(password) request.setAttribute(error, 用户名或密码(m m)为空!); request.getRequestDispatcher(login.jsp).forward(request, response); return; User user = new User(userName,password); Connection conn = null; try conn = dbUtil.getCon();User currentUser = userDao.login(conn, user);if(currentUser = null)request.s

22、etAttribute(error, 用户名或密码(m m)错误!);/服务器端跳转request.getRequestDispatcher(login.jsp).forward(request, response);else/获取(huq)session HttpSession session = request.getSession();session.setAttribute(currentUser,currentUser);/客服端跳转response.sendRedirect(index.jsp); catch (Exception e) / TODO Auto-generated

23、catch blocke.printStackTrace(); finally try dbUtil.closeCon(conn); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();(2)学生(xu sheng)信息管理系统班级信息管理模块 这部分能对班级的信息进行(jnxng)增,删,改,查,基本上满足动态网站的要求: 班级(bnj)信息管理界面图核心(hxn)代码:package com.model;public class Grade private int id;private Strin

24、g gradeName;private String gradeDesc;public Grade() super();/ TODO Auto-generated constructor stubpublic Grade(String gradeName, String gradeDesc) super();this.gradeName = gradeName;this.gradeDesc = gradeDesc;public int getId() return id;public void setId(int id) this.id = id;public String getGradeN

25、ame() return gradeName;public void setGradeName(String gradeName) this.gradeName = gradeName;public String getGradeDesc() return gradeDesc;public void setGradeDesc(String gradeDesc) this.gradeDesc = gradeDesc;package com.dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sq

26、l.ResultSet;import com.model.Grade;import com.model.PageBean;import com.util.StringUtil;public class GradeDao public ResultSet gradeList(Connection con,PageBean pageBean,Grade grade)throws ExceptionStringBuffer sb=new StringBuffer(select * from t_grade);if(grade!=null & StringUtil.isNotEmpty(grade.g

27、etGradeName()sb.append( and gradeName like %+grade.getGradeName()+%);if(pageBean!=null)sb.append( limit +pageBean.getStart()+,+pageBean.getRows();PreparedStatement pstmt=con.prepareStatement(sb.toString().replaceFirst(and, where);return pstmt.executeQuery();public int gradeCount(Connection con,Grade

28、 grade)throws ExceptionStringBuffer sb=new StringBuffer(select count(*) as total from t_grade);if(StringUtil.isNotEmpty(grade.getGradeName()sb.append( and gradeName like %+grade.getGradeName()+%);PreparedStatement pstmt=con.prepareStatement(sb.toString().replaceFirst(and, where);ResultSet rs=pstmt.e

29、xecuteQuery();if(rs.next()return rs.getInt(total);elsereturn 0;/* * delete from tableName where field in (1,3,5) * param con * param delIds * return * throws Exception */public int gradeDelete(Connection con,String delIds)throws ExceptionString sql=delete from t_grade where id in(+delIds+);PreparedS

30、tatement pstmt=con.prepareStatement(sql);return pstmt.executeUpdate();public int gradeAdd(Connection con,Grade grade)throws ExceptionString sql=insert into t_grade values(null,?,?);PreparedStatement pstmt=con.prepareStatement(sql);pstmt.setString(1, grade.getGradeName();pstmt.setString(2, grade.getG

31、radeDesc();return pstmt.executeUpdate();public int gradeModify(Connection con,Grade grade)throws ExceptionString sql=update t_grade set gradeName=?,gradeDesc=? where id=?;PreparedStatement pstmt=con.prepareStatement(sql);pstmt.setString(1, grade.getGradeName();pstmt.setString(2, grade.getGradeDesc()

32、;pstmt.setInt(3, grade.getId();return pstmt.executeUpdate();package com.servlet;import java.io.IOException;import java.sql.Connection;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse

33、;import net.sf.json.JSONArray;import net.sf.json.JSONObject;import com.dao.GradeDao;import com.model.Grade;import com.model.PageBean;import com.util.DbUtil;import com.util.JsonUtil;import com.util.ResponseUtil;public class GradeListServlet extends HttpServletDbUtil dbUtil=new DbUtil();GradeDao grade

34、Dao=new GradeDao();Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException this.doPost(request, response);Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException Str

35、ing page=request.getParameter(page);String rows=request.getParameter(rows);String gradeName=request.getParameter(gradeName);if(gradeName=null)gradeName=;Grade grade=new Grade();grade.setGradeName(gradeName);PageBean pageBean=new PageBean(Integer.parseInt(page),Integer.parseInt(rows);Connection con=n

36、ull;trycon=dbUtil.getCon();JSONObject result=new JSONObject();JSONArray jsonArray=JsonUtil.formatRsToJsonArray(gradeDao.gradeList(con, pageBean,grade);int total=gradeDao.gradeCount(con,grade);result.put(rows, jsonArray);result.put(total, total);ResponseUtil.write(response, result);catch(Exception e)

37、e.printStackTrace();finallytry dbUtil.closeCon(con); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();package com.servlet;import java.io.IOException;import java.sql.Connection;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.htt

38、p.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import net.sf.json.JSONObject;import com.dao.GradeDao;import com.dao.StudentDao;import com.util.DbUtil;import com.util.ResponseUtil;public class GradeDeleteServlet extends HttpServletDbUtil dbUtil=new DbUtil();GradeDao gradeDao=new G

39、radeDao();StudentDao studentDao=new StudentDao();Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException this.doPost(request, response);Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response)throws Ser

40、vletException, IOException String delIds=request.getParameter(delIds);Connection con=null;trycon=dbUtil.getCon();JSONObject result=new JSONObject();String str=delIds.split(,);for(int i=0;i0)result.put(success, true);result.put(delNums, delNums);elseresult.put(errorMsg, 删除(shnch)失败);ResponseUtil.writ

41、e(response, result);catch(Exception e)e.printStackTrace();finallytry dbUtil.closeCon(con); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();package com.servlet;import java.io.IOException;import java.sql.Connection;import javax.servlet.ServletException;import javax.servlet.htt

42、p.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import net.sf.json.JSONArray;import net.sf.json.JSONObject;import com.dao.GradeDao;import com.model.Grade;import com.model.PageBean;import com.util.DbUtil;import com.util.JsonUtil;import com.util

43、.ResponseUtil;import com.util.StringUtil;public class GradeSaveServlet extends HttpServletDbUtil dbUtil=new DbUtil();GradeDao gradeDao=new GradeDao();Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException this.doPost(request, respon

44、se);Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException request.setCharacterEncoding(utf-8);String gradeName=request.getParameter(gradeName);String gradeDesc=request.getParameter(gradeDesc);String id=request.getParameter(id);Grade grade=new Grade(gradeName,gradeDesc);if(StringUtil.isNotEmpty(id)grade.setId(Integer.parseInt(id);Connection con=null;trycon=dbUtil.getCon();int saveNums

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论