




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软 件 学 院课程设计报告书课程名称 Java高级框架应用开发 设计题目 X学院学生党员管理系统 专业班级 软件工程106 学 号 1020010615 姓 名 萧翎 指导教师 郭鹏飞 2013 年 1 月目录1 设计时间12 设计目的13设计任务13.1 必备功能说明13.2开发语言与开发环境14 设计内容14.1需求分析24.1.1总体目标24.1.2具体目标24.1.3系统数据建模24.1.4系统功能建模34.1.5数据字典34.2总体设计54.3详细设计54.3.1模块设计54.3.2流程设计54.3.3数据库设计74.3.4主要源代码84.4运行与测试175 总结与展望21参考文献22 成绩评定221 设计时间2013年1月21日至2013年1月24日2 设计目的X学院学生党员信息数据量大,庞大的数据信息给管理人员带来了很大的麻烦,编写X学院学生党员管理系统不仅是有效处理学生党员档案日常活动的需要,还能让学生查找自己的信息更方便。本系统用于用户对学生党员信息进行简单的管理,针对于安全系数要求不高,操作不是很复杂的小型客户开发。通过此系统,可以更加快捷地实现对学生党员信息的查询,添加、更新,删除等操作。此外,本系统对于系统要求配置较高,运行速度较快,对于数据库管理要求较低。本系统数据库采用sqlserver2000进行数据存储,该数据库可实现关系较为简单的数据管理。3设计任务3.1 必备功能说明:(1)功能描述:用户以合法身份登录系统后,才能进行所有操作;登录系统时,有两种权限:管理员权限和普通用户权限。管理员用户可以添加、查看、修改和删除党员信息,普通用户只能添加、查看和修改党员信息;(2)添加党员:合法用户可以添加党员信息(包括学号、姓名、积极分子时间、发展对象时间、预备党员、转正、党课成绩等);(3)查看党员信息:合法用户可以查看党员信息(包括学号、姓名、党课成绩、积极分子时间、发展对象时间、预备党员信息、批次等);(4)修改党员信息:合法用户可以修改党员信息(包括学号、姓名、党课成绩、积极分子时间、发展对象时间、预备党员信息、批次等);(5)删除党员信息:合法用户可以删除党员信息(所有信息均可删除);(6)查询某年某批次的所有积极分子的信息(包括姓名、学号、转正时间、谈话情况、党课成绩等)。3.2开发语言与开发环境 MyEclipse、Java 、数据库(sqlserver2000)4 设计内容 4.1需求分析4.1.1总体目标 计算机与人们的生活关系越来越来密切,学生党员管理系统开发的目的是通过网络编程技术和数据库连接技术融合起来,查询学生党员的信息,并对其进行操作,从而使用户对学生党员信息进行更好的管理,节省时间。管理员预先设计好学生党员的信息,用户登陆网页后便可对党员信息进行操作,操作结束后系统会生成结果反馈出来。4.1.2具体目标本系统主要实现以下功能:(1) 添加信息:合法用户登陆网页后进行党员信息的添加。(2) 删除信息:合法用户登陆网页后进行党员信息的删除。(3) 查询信息:合法用户登陆网页后进行党员信息的查询。(4) 修改信息:合法用户登陆网页后进行党员信息的修改。4.1.3系统数据建模查看查看查询查询增加增加删除谈话积极预备密码账号批次学号成绩密码姓名用户信息选择 管理员信息选择 X学院学生党员管理系统登录 登录普通用户 管理员 图41 学生党员管理系统E-R图4.1.4系统功能建模D1 数据记录 D2 数据记录 P1.1.2登 录失 败P1.1.3新数据添 加P1.1.4原有数据修改操作用 户 权 限P1.1.1通 过验 证P2.1.1原有数据修改操作P2.1.2新数据录 入P2.1.3还 原数 据P2.1.4数 据查 询档案用户E1普通用户E2管理员图42 数据流图4.1.5数据字典(1)数据元素名字:学生党员管理档案描述:一个学生从积极分子到预备党员的基本信息数据类型:字符型,数值型定义:学生党员档案=学生基本信息档案+党员信息档案(2)数据流名字:添加、更改、删除信息描述:确保学生党员档案信息的准确编号:F1组成:序号、姓名、学号、专业、学院、性别、成绩、密码名字:查看描述:查询大学生档案的信息编号:F2组成:序号、姓名、学号、专业、学院、性别、积极分子时间、发展对象信息、预备党员名字:查询描述:查询了解学生党员积极分子时间和批次的情况编号:F3组成:序号、姓名、积极分子时间、批次名字:权限分配描述:确保大学生档案的安全性编号:F4组成:密码、用户名(3)数据存储名字:数据记录描述:一个学生党员档案信息编号:D组成:序号、姓名、学号、积极分子时间、发展对象信息、预备党员时间、批次名字:学生基本信息描述:有关学生基本档案信息编号:D1组成:序号、学号、姓名名字:党员信息描述:有关学生党员的信息编号:D2组成:序号、姓名、学号、积极分子时间、发展对象时间、预备党员时间、批次、党课成绩名字:权限信息描述:有关用户登录的基本信息编号:D3组成:序号、用户名、权限号名字:用户信息描述:有关用户的基本信息编号:D5组成:姓名、用户名、密码(4)数据处理名字:学生基本信息管理描述:一个学生基本信息的输入、更新、删除编号:P1输入/输出数据流:学生的基本信息名字:党员信息管理描述:一个学生党员的信息输入、更新、删除编号:P2输入/输出数据流:党员信息名字:权限信息管理描述:有关用户操作权限的情况编号:P3输入/输出数据流:权限号,对象名字:用户管理描述:对录入和使用学生党员管理系统的用户信息进行权限的分配编号:P5输入/输出数据流:用户名、密码4.2总体设计 X学院学生党员信息管理系统结构图如下:X学院学生党员管理系统系统普通用户登录登 录系统管理员登录系统增加党员信息增加党员信息查看党员信息查看党员信息条件查询党员信息条件查询党员信息修改党员信息系统删除党员信息系统修改党员信息系统 图43 系统结构图4.3详细设计4.3.1模块设计登录login.jsp用户名和密码正确 N Y 普通用户管理员管理员 判断 普通用户欢迎界面welcomea,jsp欢迎界面welcomeb,jsp查询信息condi.jsp增加信息add.jsp查询信息condi.jsp增加信息add.jsp查看信息showb.jsp查看信息showa.jsp修改信息update.jsp删除信息showa.jsp 图44 流程图4.3.2流程设计本系统采用struts2和hibernate框架,用了和数据库有关的最基本的方法定义,包括增、改、查等。主要的action类与页面设计如下: 表41 包与类的定义 包名 类名 功能 loginaAction.java 管理员登录 com.action loginbAction.java 普通用户登录 crudAction.java 增、删、查、改 com.dao logindao.java 数据库接口 com.daoImp loginnerImp.java 数据库各种定义方法 com.hibernate HibernateSessionFactory.java hibernate会话工厂 com.vo Login.java 与数据库表对应的类com.vo Quanxian.java 与数据库表对应的类 表42 页面设计表页面名称 作用login.jsp 登录页面welcomea.jsp 管理员登录成功的页面welcomeb.jsp 普通用户登录成功的页面showa.jsp 管理员查看页面showb.jsp 普通用户查看页面add.jsp 添加信息页面condi.jsp 条件查询页面update.jsp 修改信息页面success.jsp 添加信息成功页面 4.3.3数据库设计表43 登录表 login 列名 数据类型 长度 允许空 文字描述 did int 4 N 用户序号name varchar 50 N 姓名username varchar 50 N 用户名password varchar 50 N 密码qid int 4 Y 权限chengji int 4 Y 成绩talkcase varchar 50 Y 谈话情况jijitime datetime 8 Y 积极分子时间fazhantime datetime 8 Y 发展对象时间yubeitime datatime 8 Y 预备党员时间pici int 4 Y 批次 表44 权限表 quanxian 列名 数据类型 长度 允许空 文字描述 qid int 4 N 权限序号 object varchar 50 N 登录对象 图45 用户权限表图46 用户信息表4.3.4主要源代码(1) struts配置文件代码(strutsxml) /welcomea.jsp/login.jsp/welcomeb.jsp/login.jsp/success.jsp/showa.jsp/showb.jsp/update.jsp/condi.jsp(2) web配置文件代码(webxml)login.jspstruts2org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterstruts2/*(3) loginaAction.java登录代码package com.action;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import org.apache.struts2.ServletActionContext;import com.bean.Login;import com.daoImp.loginnerImp;import com.opensymphony.xwork2.ActionSupport;public class loginaAction extends ActionSupport private Login loginner;public Login getLoginner() return loginner;public void setLoginner(Login loginner) this.loginner = loginner;public String execute() throws ExceptionInteger qid=1;loginnerImp logindao=new loginnerImp();HttpServletRequest request=ServletActionContext.getRequest();HttpSession session=request.getSession();boolean b=logindao.search(loginner.getUsername(), loginner.getPassword(),qid.toString();if(b)return SUCCESS;elsereturn INPUT;(4) crudAction.java处理代码package com.action;import java.util.List;import javax.servlet.http.HttpServletRequest;import org.apache.struts2.ServletActionContext;import com.daoImp.loginnerImp;import com.vo.Login;public class crudAction loginnerImp logindao = new loginnerImp();private Login loginner;private int id;private int idd;public int getIdd() return idd;public void setIdd(int idd) this.idd = idd;public int getId() return id;public void setId(int id) this.id = id;public Login getLoginner() return loginner;public void setLoginner(Login loginner) this.loginner = loginner;public String find() HttpServletRequest request = ServletActionContext.getRequest();List list = logindao.find();request.setAttribute(data, list);if (idd = 1)return showa;elsereturn showb;public String add() logindao.add(loginner);return success;public String delete() logindao.delete(id);return showa;public String updateopen() / 先得到数据,并且传递到页面进行显示loginner = logindao.search(id);HttpServletRequest request = ServletActionContext.getRequest();request.setAttribute(updateopen, loginner);return update;public String update() Login temp = logindao.search(id);/ 原来的对象数据temp.setName(loginner.getName();/ 设置新的数据temp.setUsername(loginner.getUsername();logindao.update(temp);return success;public String findByCondition() / 查询某年某批次的党员情况List list = logindao.findByCondition(loginner.getJijitime(), loginner.getPici();HttpServletRequest request = ServletActionContext.getRequest();request.setAttribute(condition, list);return condition;(5) loginnerIml java数据库处理代码package com.daoImp;import java.sql.Timestamp;import java.util.List;import org.hibernate.Criteria;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.Transaction;import org.hibernate.criterion.Restrictions;import com.dao.logindao;import com.hibernate.HibernateSessionFactory;import com.vo.Login;public class loginnerImp implements logindao public boolean search(String username, String userpass, String qid) Session session = HibernateSessionFactory.getSession();/ 开始使用HibernateQuery query = session.createQuery(from Login where username=? and password=? and qid=? ).setString(0, username).setString(1, userpass).setString(2, qid); / 开始建立查询List list = query.list();if (list.size() 0)return true;elsereturn false;public Login search(int did) Session session = HibernateSessionFactory.getSession();Login temp = (Login) session.load(Login.class, did);/ 找出did所对应的记录return temp;public void add(Login loginner) / TODO Auto-generated method stubSession session = HibernateSessionFactory.getSession();Transaction tc = session.beginTransaction();/ 开启事务try session.save(loginner);/ 保存mit();/ 提交事务 catch (Exception e) tc.rollback();/ 回滚e.printStackTrace();session.close();public boolean delete(int did) / TODO Auto-generated method stubSession session = HibernateSessionFactory.getSession();Login temp = (Login) session.load(Login.class, did);/ 找出did所对应的记录session.delete(temp);return true;public boolean update(Login loginner) / TODO Auto-generated method stubSession session = HibernateSessionFactory.getSession();Transaction tc = session.beginTransaction();/ 开启事务try session.update(loginner);mit(); catch (Exception e) tc.rollback();e.printStackTrace();return false;return true;public List find() / TODO Auto-generated method stubSession session = HibernateSessionFactory.getSession();/ 开始建立查询Query query = session.createQuery(from Login);List list = query.list();return list;public List findByCondition(Timestamp jijitime,Integer pici)Session session=HibernateSessionFactory.getSession();Criteria cri=session.createCriteria(Login.class);/全部/增加约束条件过虑if(jijitime!=null&!jijitime.equals() cri.add(Restrictions.like(jijitime,%+jijitime+%);if(pici!=null&!p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电竞公司合规检查管理细则
- 电竞公司分部财务审批规章
- 湖北省鄂州市部分高中联考协作体2026届高二化学第一学期期末经典模拟试题含答案
- 电子商务法律法规及合规性要求
- 新三农村建设发展规划指南
- (2025年标准)果树合伙经营协议书
- (2025年标准)国外培训退款协议书
- (2025年标准)广告投放协议书
- (2025年标准)广告定金协议书
- 电子商务平台运营管理与市场拓展策略研究
- 土地使用权法律风险尽职调查指南
- 2025年内容分发网络(CDN)行业当前市场规模及未来五到十年发展趋势报告
- 故宫博物馆院课件
- 2025年8月16日贵州省黔东南州事业单位遴选笔试真题及答案解析(专业水平测试)
- 2025-2026秋季学年第一学期学生国旗下演讲稿(20周):第一周 新程启航礼润心田-开学典礼
- 2025年北京市中考语文真题(含答案)
- 小学英语“教学评一体化”实施
- CS4000高级过程控制实验装置设备操作说明书
- 上海港港口拖轮经营人和港口拖轮名录
- 企业安全标准化班组建设PPT课件
- 超长混凝土结构温度应力分析
评论
0/150
提交评论