毕业设计选题管理系统.docx

上传人:b****8 文档编号:11337089 上传时间:2023-02-27 格式:DOCX 页数:24 大小:278.34KB
下载 相关 举报
毕业设计选题管理系统.docx_第1页
第1页 / 共24页
毕业设计选题管理系统.docx_第2页
第2页 / 共24页
毕业设计选题管理系统.docx_第3页
第3页 / 共24页
毕业设计选题管理系统.docx_第4页
第4页 / 共24页
毕业设计选题管理系统.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

毕业设计选题管理系统.docx

《毕业设计选题管理系统.docx》由会员分享,可在线阅读,更多相关《毕业设计选题管理系统.docx(24页珍藏版)》请在冰豆网上搜索。

毕业设计选题管理系统.docx

毕业设计选题管理系统

1.前言

每年毕业临近,都有大量的毕业生需要进行毕业设计,这其中的首要关节就是课题的选择,以往指导老师都是采用人工手写方式给学生们提供相关的课题供学生选择,如果指导老师带领的学生比较多,或者是当年毕业的学生比较多,这样就容易造成学生的课题选择很混乱,指导教师难于统计学生的课题选择情况等一系列问题,基于这些传统问题,我们需要一个能够自动统计、实时分配课题的一个管理平台来帮助学生、指导老师。

此系统的开发,主要的目的是使老师能更好的管理课程设计,也能使学生能更好的把自己想要选的课程正确无误的选出来。

使处在选课时期的学生能有条不紊的进行。

2.系统的需求分析

2.1功能需求

2.1.1毕业设计选题管理系统功能要求:

1.毕业设计题目维护和查询:

毕业设计题目的添加、修改;按照项目类型、名称、编号等查询;毕业设计选题查询、登记。

2.指导教师信息维护和查询:

指导教师信息的添加、修改、删除,查询;

3.毕业生选题管理:

学生选题登记;选题情况查询;

4.毕业生信息的维护和查询。

根据以上各功能模块需求将系统的功能细化为以下几点:

(1)前台学生选题

学生网上选题:

学生登录管理系统进行选题

(2)前台教师出题

教师网上出题:

教师进入毕业选题出题。

教师管理出题:

教师进入系统后对毕业设计题目进行修改和删除。

选题确认:

学生选好题目后,教师可以确认该题由选择该题的学生做。

(3)后台管理出题及选题情况

用户管理模块:

管理员可以对用户进行用户管理,对已存在的用户进行修改,查看等。

角色管理模块:

管理员可以对用户的角色进行管理,可以给用户分配角色,对角色分配权限。

2.2开发环境需求

操作系统:

window7或更高版本

因为毕业设计课题管理系统针对的用户是学生和教师,学生和教师普遍使用windows操作系统,所以选着windows7或更高版本的操作系统

web服务器:

apache-tomcat6

apache-tomcat6是开源的免费的web服务器,节省开发成本

数据库:

MySQL

MySQL是一款免费的数据库,节省成本

开发工具:

myeclipse8.5

myeclipse8.5功能强大的JavaEE开发工具,该管理系统选用JavaEE开发。

3.系统设计

3.1基本设计概念和处理流程

本系统采用结构化分析,设计顺序为自顶向下,层层逐步细化。

图1

3.2软件功能设计

 

 

图2

3.2数据库设计

3.2.1E-R图

图3

图4

3.2.2数据库表

用户表(user)

字段

类型

备注

userid

Varchar(20)primarykey

用户ID

Pwd

varchar(32)

用户密码

roleId

Int

外键

tname

Varchar(20)

姓名

sex

Varchar(5)

性别

Age

Int

年龄

表1

课题表(task)

字段

类型

备注

taskId

Intprimarykey

课题ID

taskname

varchar(20)

课题名

sflag

int

状态(是否被选)

taskText

varchar(50)

课题内容

表2

选择课题(chosetask)

字段

类型

备注

ctId

intprimarykey

学生选课题id

uId

varchar(10)

外键

taskId

Int

课题ID

表3

上传课题(puttask)

字段

类型

备注

ptId

intprimarykey

教师上传课题id

uId

varchar(10)

外键

taskId

Int

课题ID

表4

角色表(roleinfo)

字段

类型

备注

roleId

Intprimarykey

角色ID

rolename

varchar(10)

角色名

表5

权限表(rightinfo)

字段

类型

备注

rightCode

varchar(20)primarykey

权限

rightParentCode

varchar(30)

父权限

rightType

varchar(20)

rightText

varchar(50)

RightUrl

varchar(30)

url地址

RightTip

varchar(50)

表6

角色权限表(roleright)

rr_id

Intprimarykey

主键

rr_roleid

Int

外键role表

rr_rightCode

varchar(20)

外键rightinfo表

表7

4.典型功能模块的详细设计和实现过程

用户模块

登录功能代码:

publicStringdoLogin()

{

Userinfouu=userService.checkUser(user);

if(uu!

=null)

{

ServletActionContext.getRequest().getSession().setAttribute("USER",uu);

introleId=uu.getRoleinfo().getRoleId();

Roleinfor=roleService.getRoleWithRights(roleId);

StringmenuString=buildDTreeMenuString(r);

ServletActionContext.getRequest().getSession().setAttribute("MENU_STRING",menuString);

return"main";

}

else

{

return"input";

}

}

publicUserinfocheckUser(Userinfou){

Userinfouu=null;

Stringhql="fromUserinfowhereuserid=?

andpwd=?

";

Object[]args=newObject[]{u.getUserid(),u.getPwd()};

Listlist=commonDao.list(hql,args);

if(list!

=null&&list.size()>0)

{

uu=list.get(0);

}

returnuu;

}

publicListlist(Stringhql,Object[]args){

Listlist=this.getHibernateTemplate().find(hql,args);

returnlist;

}

查询信息功能代码:

publicStringtoList()

{

SPageBeanspb=newSPageBean();

HttpServletRequestrequest=ServletActionContext.getRequest();

intoffset=0;

if(request.getParameter("pager.offset")==null){

offset=0;

}else{

offset=Integer.parseInt(request.getParameter("pager.offset"));

}

intmaxPageItems;if(request.getAttribute("maxPageItems")==null){

maxPageItems=5;

}else{

maxPageItems=Integer.parseInt(request.getParameter("maxPageItems"));

}

spb.setOffset(offset);

spb.setPageSize(maxPageItems);

infoService.getList(spb);

request.setAttribute("SPB",spb);

return"list";

}

publicvoidgetList(SPageBeanspb){

Stringhql="fromUserinfo";

commonDao.listByPage(hql,spb);

}

publicvoidlistByPage(Stringhql,SPageBeanspb){

finalStringhql1=hql;

finalSPageBeanspb1=spb;

if(hql!

=null)

{

inttotal=(Integer)this.getHibernateTemplate().execute(newHibernateCallback(){

publicObjectdoInHibernate(Sessionsess)throwsHibernateException,

SQLException{

StringqString="";

if(hql1.toLowerCase().indexOf("select")!

=-1)

{

intidx=hql1.toLowerCase().indexOf("from");

qString="selectcount(*)"+hql1.substring(idx,hql1.length());

}

else{

qString="selectcount(*)"+hql1;

}

QuerycQuery=sess.createQuery(qString);

cQuery.setCacheable(true);

longo=(Long)cQuery.uniqueResult();

intii=(int)o;

returnii;

}

});

spb.setTotal(total);

Listdata=(List)this.getHibernateTemplate().execute(newHibernateCallback(){

publicObjectdoInHibernate(Sessionsess)throwsHibernateException,

SQLException{

Queryquery=sess.createQuery(hql1);

query.setFirstResult(spb1.getOffset());

query.setMaxResults(spb1.getPageSize());

returnquery.list();

}

});

spb.setDatas(data);

}

}

publicclassSPageBean{

privateintoffset;

privateintpageSize;

privateinttotal;

privateListdatas;

publicintgetTotal(){

returntotal;

}

publicvoidsetTotal(inttotal){

this.total=total;

}

publicListgetDatas(){

returndatas;

}

publicvoidsetDatas(Listdatas){

this.datas=datas;

}

publicintgetOffset(){

returnoffset;

}

publicvoidsetOffset(intoffset){

this.offset=offset;

}

publicintgetPageSize(){

returnpageSize;

}

publicvoidsetPageSize(intpageSize){

this.pageSize=pageSize;

}

}

上传课题功能代码:

publicStringtoadd()

{

return"add";

}

publicStringdoadd()

{

if(taskService.doAdd(task)==true)

{

SPageBeanspb=newSPageBean();

HttpServletRequestrequest=ServletActionContext.getRequest();

intoffset=0;

if(request.getParameter("pager.offset")==null){

offset=0;

}else{

offset=Integer.parseInt(request.getParameter("pager.offset"));

}

intmaxPageItems;if(request.getAttribute("maxPageItems")==null){

maxPageItems=5;

}else{

maxPageItems=Integer.parseInt(request.getParameter("maxPageItems"));

}

spb.setOffset(offset);

spb.setPageSize(maxPageItems);

taskService.getTaskinfo(spb);

ServletActionContext.getRequest().setAttribute("SPB1",spb);

return"list";

}

else

{

return"add";

}

}

publicbooleandoAdd(TaskInfot){

Serializableret=commonDao.add(t);

returnret!

=null;

}

管理员模块

管理员对角色管理功能:

publicclassRoleActionextendsActionSupport{

privateIRoleServiceroleService;

privateIRightServicerightService;

privateRoleinforole;

publicvoidsetRoleService(IRoleServiceroleService){

this.roleService=roleService;

}

publicvoidsetRightService(IRightServicerightService){

this.rightService=rightService;

}

publicRoleinfogetRole(){

returnrole;

}

publicvoidsetRole(Roleinforole){

this.role=role;

}

publicStringtoList()

{

Listroles=roleService.getList();

ServletActionContext.getRequest().setAttribute("ROLES",roles);

return"list";

}

publicStringtoAssign()

{

Listrights=rightService.getAllRights();

Roleinfor=roleService.getRoleWithRights(role.getRoleId());

for(Rightinforight:

rights)

{

if(r.getRights().contains(right))

{

right.setChecked("checked");

}

}

ServletActionContext.getRequest().setAttribute("ROLE",r);

ServletActionContext.getRequest().setAttribute("RIGHTS",rights);

return"assign";

}

publicStringdoAssign()throwsException

{

HttpServletRequestrequest=ServletActionContext.getRequest();

String[]newRights=request.getParameterValues("CheckBox_Rights");

roleService.updateRoleRights(role.getRoleId(),newRights);

HttpServletResponseresponse=ServletActionContext.getResponse();

response.sendRedirect("role!

toAssign.action?

role.roldId="+role.getRoleId()+"&message=ok");

returnnull;

}

}

publicclassRightServiceImpl_HimplementsIRightService{

privateICommonDAOcommonDao;

publicvoidsetCommonDao(ICommonDAOcommonDao){

monDao=commonDao;

}

publicListgetAllRights(){

Stringhql="fromRightinfo";

Listlist=commonDao.list(hql);

returnlist;

}

}

管理员对用户管理功能:

(增、删、改、查)

publicStringdelete()

{

intuid=Integer.parseInt(ServletActionContext.getRequest().getParameter("userid"));

booleanflag=userService.delete(uid);

if(flag)

{

return"list1";

}

else

{

return"list";

}

}

//编辑用户

publicStringtoedit()

{

intuid=Integer.parseInt(ServletActionContext.getRequest().getParameter("userid"));

Userinfouu=userService.detail(uid);

ServletActionContext.getRequest().setAttribute("USER2",uu);

return"edit";

}

publicStringedit()

{

booleanflag=userService.update(user);

if(flag)

{

return"list";

}

else

{

return"edit_error";

}

}

publicStringdetail()

{

intuid=Integer.parseInt(ServletActionContext.getRequest().getParameter("userid"));

Userinfouu=userService.detail(uid);

ServletActionContext.getRequest().setAttribute("USER1",uu);

return"detail";

}

publicStringadd()

{

if(userService.addUser(user)==true)

{

Listuser=userService.list();

ServletActionContext.getRequest().setAttribute("USERS",user);

return"list";

}

else

{

return"add";

}

}

publicStringtoadd()

{

return"add";

}

publicStringdoLogin()

{

Userinfouu=userService.checkUser(user);

if(uu!

=null)

{

ServletActionContext.getRequest().getSession().setAttribute("USER",uu);

introleId=uu.getRoleinfo().getRoleId();

Roleinfor=roleService.getRoleWithRights(roleId);

StringmenuString=buildDTreeMenuString(r);

ServletActionContext.getRequest().getSession().setAttribute("MENU_STRING",menuString);

return"main";

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1