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

上传人:b****4 文档编号:4982183 上传时间:2023-05-07 格式:DOCX 页数:19 大小:20.08KB
下载 相关 举报
毕业设计选题管理系统.docx_第1页
第1页 / 共19页
毕业设计选题管理系统.docx_第2页
第2页 / 共19页
毕业设计选题管理系统.docx_第3页
第3页 / 共19页
毕业设计选题管理系统.docx_第4页
第4页 / 共19页
毕业设计选题管理系统.docx_第5页
第5页 / 共19页
毕业设计选题管理系统.docx_第6页
第6页 / 共19页
毕业设计选题管理系统.docx_第7页
第7页 / 共19页
毕业设计选题管理系统.docx_第8页
第8页 / 共19页
毕业设计选题管理系统.docx_第9页
第9页 / 共19页
毕业设计选题管理系统.docx_第10页
第10页 / 共19页
毕业设计选题管理系统.docx_第11页
第11页 / 共19页
毕业设计选题管理系统.docx_第12页
第12页 / 共19页
毕业设计选题管理系统.docx_第13页
第13页 / 共19页
毕业设计选题管理系统.docx_第14页
第14页 / 共19页
毕业设计选题管理系统.docx_第15页
第15页 / 共19页
毕业设计选题管理系统.docx_第16页
第16页 / 共19页
毕业设计选题管理系统.docx_第17页
第17页 / 共19页
毕业设计选题管理系统.docx_第18页
第18页 / 共19页
毕业设计选题管理系统.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

毕业设计选题管理系统

1.前言

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

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

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

2.系统的需求分析

功能需求

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

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

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

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

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

3.毕业生选题管理:

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

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

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

(1)前台学生选题

学生网上选题:

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

(2)前台教师出题

教师网上出题:

教师进入毕业选题出题。

教师管理出题:

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

选题确认:

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

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

用户管理模块:

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

角色管理模块:

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

开发环境需求

操作系统:

window7或更高版本

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

web服务器:

apache-tomcat6

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

数据库:

MySQL

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

开发工具:

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

3.系统设计

基本设计概念和处理流程

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

图1

软件功能设计

图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=(user);

if(uu!

=null)

{

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

introleId=().getRoleId();

Roleinfor=(roleId);

StringmenuString=buildDTreeMenuString(r);

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

return"main";

}

else

{

return"input";

}

}

publicUserinfocheckUser(Userinfou){

Userinfouu=null;

Stringhql="fromUserinfowhereuserid=andpwd=";

Object[]args=newObject[]{(),()};

Listlist=(hql,args);

if(list!

=null&&()>0)

{

uu=(0);

}

returnuu;

}

publicListlist(Stringhql,Object[]args){

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

returnlist;

}

查询信息功能代码:

publicStringtoList()

{

SPageBeanspb=newSPageBean();

HttpServletRequestrequest=();

intoffset=0;

if("")==null){

offset=0;

}else{

offset=(""));

}

intmaxPageItems;if("maxPageItems")==null){

maxPageItems=5;

}else{

maxPageItems=("maxPageItems"));

}

(offset);

(maxPageItems);

(spb);

("SPB",spb);

return"list";

}

publicvoidgetList(SPageBeanspb){

Stringhql="fromUserinfo";

(hql,spb);

}

publicvoidlistByPage(Stringhql,SPageBeanspb){

finalStringhql1=hql;

finalSPageBeanspb1=spb;

if(hql!

=null)

{

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

publicObjectdoInHibernate(Sessionsess)throwsHibernateException,

SQLException{

StringqString="";

if().indexOf("select")!

=-1)

{

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

qString="selectcount(*)"+(idx,());

}

else{

qString="selectcount(*)"+hql1;

}

QuerycQuery=(qString);

(true);

longo=(Long)();

intii=(int)o;

returnii;

}

});

(total);

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

publicObjectdoInHibernate(Sessionsess)throwsHibernateException,

SQLException{

Queryquery=(hql1);

());

());

return();

}

});

(data);

}

}

publicclassSPageBean{

privateintoffset;

privateintpageSize;

privateinttotal;

privateListdatas;

publicintgetTotal(){

returntotal;

}

publicvoidsetTotal(inttotal){

=total;

}

publicListgetDatas(){

returndatas;

}

publicvoidsetDatas(Listdatas){

=datas;

}

publicintgetOffset(){

returnoffset;

}

publicvoidsetOffset(intoffset){

=offset;

}

publicintgetPageSize(){

returnpageSize;

}

publicvoidsetPageSize(intpageSize){

=pageSize;

}

}

上传课题功能代码:

publicStringtoadd()

{

return"add";

}

publicStringdoadd()

{

if(task)==true)

{

SPageBeanspb=newSPageBean();

HttpServletRequestrequest=();

intoffset=0;

if("")==null){

offset=0;

}else{

offset=(""));

}

intmaxPageItems;if("maxPageItems")==null){

maxPageItems=5;

}else{

maxPageItems=("maxPageItems"));

}

(offset);

(maxPageItems);

(spb);

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

return"list";

}

else

{

return"add";

}

}

publicbooleandoAdd(TaskInfot){

Serializableret=(t);

returnret!

=null;

}

管理员模块

管理员对角色管理功能:

publicclassRoleActionextendsActionSupport{

privateIRoleServiceroleService;

privateIRightServicerightService;

privateRoleinforole;

publicvoidsetRoleService(IRoleServiceroleService){

=roleService;

}

publicvoidsetRightService(IRightServicerightService){

=rightService;

}

publicRoleinfogetRole(){

returnrole;

}

publicvoidsetRole(Roleinforole){

=role;

}

publicStringtoList()

{

Listroles=();

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

return"list";

}

publicStringtoAssign()

{

Listrights=();

Roleinfor=());

for(Rightinforight:

rights)

{

if().contains(right))

{

("checked");

}

}

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

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

return"assign";

}

publicStringdoAssign()throwsException

{

HttpServletRequestrequest=();

String[]newRights=("CheckBox_Rights");

(),newRights);

HttpServletResponseresponse=();

("role!

="+()+"&message=ok");

returnnull;

}

}

publicclassRightServiceImpl_HimplementsIRightService{

privateICommonDAOcommonDao;

publicvoidsetCommonDao(ICommonDAOcommonDao){

=commonDao;

}

publicListgetAllRights(){

Stringhql="fromRightinfo";

Listlist=(hql);

returnlist;

}

}

管理员对用户管理功能:

(增、删、改、查)

publicStringdelete()

{

intuid=().getParameter("userid"));

booleanflag=(uid);

if(flag)

{

return"list1";

}

else

{

return"list";

}

}

etParameter("userid"));

Userinfouu=(uid);

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

return"edit";

}

publicStringedit()

{

booleanflag=(user);

if(flag)

{

return"list";

}

else

{

return"edit_error";

}

}

publicStringdetail()

{

intuid=().getParameter("userid"));

Userinfouu=(uid);

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

return"detail";

}

publicStringadd()

{

if(user)==true)

{

Listuser=();

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

return"list";

}

else

{

return"add";

}

}

publicStringtoadd()

{

return"add";

}

publicStringdoLogin()

{

Userinfouu=(user);

if(uu!

=null)

{

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

introleId=().getRoleId();

Roleinfor=(roleId);

StringmenuString=buildDTreeMenuString(r);

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

return"main";

}

else

{

return"input";

}

}

publicbooleanaddUser(Userinfou){

Serializableret=(u);

returnret!

=null;

}

publicListlist(){

Stringhql="fromUserinfo";

Listlist=(hql);

returnlist;

}

publicUserinfodetail(intuserid){

Userinfouu=null;

Stringhql="fromUserinfouleftouterjoinfetchwhere=";

Object[]args=newObject[]{userid};

Listlist=(hql,args);

if(list!

=null&&()>0)

{

uu=(0);

}

returnuu;

}

publicUserinfotoedit(intuserid){

Userinfouu=null;

Stringhql="fromUserinfouleftouterjoinfetchwhere=";

Object[]args=newObject[]{userid};

Listlist=(hql,args);

if(list!

=null&&()>0)

{

uu=(0);

}

returnuu;

}

publicbooleanupdate(Userinfou){

try{

(u);

returntrue;

}

catch(Exceptionex)

{

returnfalse;

}

}

publicbooleandelete(intuid){

try{

Userinfou=(Userinfo),uid);

(0);

returntrue;

}

catch(Exceptionex)

{

returnfalse;

}

}

5.软件测试及运行评价

测试步骤

(1)主页测试

(2)用户登录测试

(3)用户信息管理测试

(4)角色权限管理测试

(5)课题上传测试

模块测试

模块

预计测试功能

输入、输出功能

造成差别的原因

主页

正常显示,各个连接正常显示

一致

用户登陆、注册

验证用户名(ID,满足系统设定要求)和密码的一致性

一致

用户信息管理

对用户进行增,删,改,查显示正确的页面和数据

一致

角色权限管理

给用户分配角色权限

一致

课题上传

录入课题的所用信息保存在数据库中

一致

6.软件实习总结

通过实习,更加深入了解掌握了开发平台的配置,对编程有了进一步的掌握。

明白了开发一个项目的工作顺序。

对项目的业务熟悉是开发项目的首要条件。

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

当前位置:首页 > 表格模板

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2