《毕业设计选题管理系统.pdf》由会员分享,可在线阅读,更多相关《毕业设计选题管理系统.pdf(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1.1.前言前言每年毕业临近,都有大量的毕业生需要进行毕业设计,这其中的首要关节就是课题的选择,以往指导老师都是采用人工手写方式给学生们提供相关的课题供学生选择,如果指导老师带领的学生比较多,或者是当年毕业的学生比较多,这样就容易造成学生的课题选择很混乱,指导教师难于统计学生的课题选择情况等一系列问题,基于这些传统问题,我们需要一个能够自动统计、实时分配课题的一个管理平台来帮助学生、指导老师。此系统的开发,主要的目的是使老师能更好的管理课程设计,也能使学生能更好的把自己想要选的课程正确无误的选出来。使处在选课时期的学生能有条不紊的进行。2.2.系统的需求分析系统的需求分析功能需求2.1.12.
2、1.1 毕业设计选题管理系统功能要求:毕业设计选题管理系统功能要求:1.毕业设计题目维护和查询:毕业设计题目的添加、修改;按照项目类型、名称、编号等查询;毕业设计选题查询、登记。2.指导教师信息维护和查询:指导教师信息的添加、修改、删除,查询;3.毕业生选题管理:学生选题登记;选题情况查询;4.毕业生信息的维护和查询。根据以上各功能模块需求将系统的功能细化为以下几点:(1)前台学生选题学生网上选题:学生登录管理系统进行选题(2)前台教师出题教师网上出题:教师进入毕业选题出题。教师管理出题:教师进入系统后对毕业设计题目进行修改和删除。选题确认:学生选好题目后,教师可以确认该题由选择该题的学生做。
3、(3)后台管理出题及选题情况用户管理模块:管理员可以对用户进行用户管理,对已存在的用户进行修改,查看等。角色管理模块:管理员可以对用户的角色进行管理,可以给用户分配角色,对角色分配权限。开发环境需求操作系统:操作系统:window7window7 或更高版本或更高版本因为毕业设计课题管理系统针对的用户是学生和教师,学生和教师普遍使用windows操作系统,所以选着 windows7 或更高版本的操作系统webweb 服务器:服务器:apache-tomcat6apache-tomcat6apache-tomcat6 是开源的免费的 web 服务器,节省开发成本数据库:数据库:MySQLMySQ
4、LMySQL 是一款免费的数据库,节省成本开发工具:开发工具:功能强大的 JavaEE 开发工具,该管理系统选用JavaEE 开发。3.3.系统设计系统设计基本设计概念和处理流程基本设计概念和处理流程本系统采用结构化分析,设计顺序为自顶向下,层层逐步细化。图 1软件功能设计选题管理用户登录指导老师上传题目指导老师选学生学生选题学生信息管理教师信息管理图图 2 2数据库设计3.2.1 E-R3.2.1 E-R 图图年龄姓名性别用户IdroleId密码用户1选择1拥有1课程nFlag课题内容课程ID课题名图图 3 3角色ID角色1拥有n功能功能编码父级功能编码角色名功能指标功能地址功能类型图图 4
5、 4功能文本说明3.2.23.2.2 数据库表数据库表用户表(user)字段useridPwdroleIdtname类型备注Varchar(20)primary key用户 IDvarchar(32)IntVarchar(20)用户密码外键姓名sexAgeVarchar(5)Int表表 1 1性别年龄课题表(task)字段taskIdtasknamesflagtaskText类型Int primary keyvarchar(20)intvarchar(50)表表 2 2选择课题(chosetask)字段ctIduIdtaskId类型int primary keyvarchar(10)Int表表
6、 3 3上传课题(puttask)字段ptIduIdtaskId类型int primary keyvarchar(10)Int表表 4 4角色表(roleinfo)备注教师上传课题 id外键课题 ID备注学生选课题 id外键课题 ID备注课题 ID课题名状态(是否被选)课题内容字段roleIdrolename类型Int primary keyvarchar(10)表表 5 5备注角色 ID角色名权限表(rightinfo)字段rightCoderightParentCoderightTyperightTextRightUrlRightTip类型varchar(20)primary keyvar
7、char(30)varchar(20)varchar(50)varchar(30)varchar(50)表表 6 6备注权限父权限url 地址角色权限表(roleright)rr_idrr_roleidrr_rightCodeInt primary keyIntvarchar(20)表表 7 7主键外键 role 表外键 rightinfo 表4.4.典型功能模块的详细设计和实现过程典型功能模块的详细设计和实现过程用户模块登录功能代码:登录功能代码:publicpublic String doLogin()Userinfo uu=(user);ifif(uu!=nullnull)().getS
8、ession().setAttribute(USER,uu);intint roleId=().getRoleId();Roleinfo r=(roleId);String menuString=buildDTreeMenuString(r);().getSession().setAttribute(MENU_STRING,menuString);returnreturn main;elseelsereturnreturn input;publicpublic Userinfo checkUser(Userinfo u)Userinfo uu=nullnull;String hql=from
9、Userinfo where userid=and pwd=;Object args=newnew Object(),();List list=(hql,args);ifif(list!=nullnull&()0)returnreturn uu;uu=(0);publicpublic List list(String hql,Object args)List list=().find(hql,args);returnreturn list;查询信息功能代码:查询信息功能代码:publicpublic String toList()SPageBean spb=newnew SPageBean()
10、;HttpServletRequest request=();intint offset=0;ifif()=nullnull)offset=0;elseelse intint maxPageItems;ifif(maxPageItems)=nullnull)offset=();maxPageItems=5;elseelse(offset);(maxPageItems);(spb);(SPB,spb);returnreturn list;maxPageItems=(maxPageItems);publicpublic voidvoid getList(SPageBean spb)String h
11、ql=from Userinfo;(hql,spb);publicpublic voidvoid listByPage(String hql,SPageBean spb)finalfinal String hql1=hql;finalfinal SPageBean spb1=spb;ifif(hql!=nullnull)intint total=(Integer)().execute(newnew HibernateCallback();publicpublic Object doInHibernate(Session sess)throwsthrows HibernateException,
12、SQLException String qString=;ifif().indexOf(select)!=-1)elseelseQuery cQuery=(qString);(truetrue);longlong o=(Long)();intint ii=(intint)o;returnreturn ii;qString=select count(*)+hql1;intint idx=().indexOf(from);qString=select count(*)+(idx,();(total);List data=(List)().execute(newnew HibernateCallba
13、ck()publicpublic Object doInHibernate(Session sess)throwsthrows HibernateException,SQLException Query query=(hql1);();();returnreturn(););(data);publicpublic classclass SPageBean privateprivate intint offset;privateprivate intint pageSize;privateprivate intint total;privateprivate List datas;publicp
14、ublic intint getTotal()publicpublic voidvoid setTotal(intint total)publicpublic List getDatas()publicpublic voidvoid setDatas(List datas)publicpublic intint getOffset()publicpublic voidvoid setOffset(intint offset)=offset;returnreturn offset;=datas;returnreturn datas;=total;returnreturn total;public
15、public intint getPageSize()publicpublic voidvoid setPageSize(intint pageSize)=pageSize;returnreturn pageSize;上传课题功能代码:上传课题功能代码:publicpublic String toadd()publicpublic String doadd()ifif(task)=truetrue)SPageBean spb=newnew SPageBean();HttpServletRequest request=();intint offset=0;ifif()=nullnull)offs
16、et=0;returnreturn add;elseelse intint maxPageItems;ifif(maxPageItems)=nullnull)offset=();maxPageItems=5;elseelse(offset);(maxPageItems);(spb);().setAttribute(SPB1,spb);returnreturn list;maxPageItems=(maxPageItems);elseelsereturnreturn add;publicpublic booleanboolean doAdd(TaskInfo t)Serializable ret
17、=(t);returnreturn ret!=nullnull;管理员模块管理员模块管理员对角色管理功能:管理员对角色管理功能:publicpublic classclass RoleAction extendsextends ActionSupportprivateprivate IRoleService roleService;privateprivate IRightService rightService;privateprivate Roleinfo role;publicpublic voidvoid setRoleService(IRoleService roleService)
18、publicpublic voidvoid setRightService(IRightService rightService)=rightService;=roleService;publicpublic Roleinfo getRole()returnreturn role;publicpublic voidvoid setRole(Roleinfo role)=role;publicpublic String toList()publicpublic String toAssign()List rights=();Roleinfo r=();forfor(Rightinfo right
19、:rights)List roles=();().setAttribute(ROLES,roles);returnreturn list;ifif().contains(right)(checked);().setAttribute(ROLE,r);().setAttribute(RIGHTS,rights);returnreturn assign;publicpublic String doAssign()throwsthrows ExceptionHttpServletRequest request=();String newRights=(CheckBox_Rights);(),newR
20、ights);HttpServletResponse response=();(role!=+()+&message=ok);returnreturn nullnull;publicpublic classclass RightServiceImpl_H implementsimplements IRightServicepublicpublic List getAllRights()privateprivate ICommonDAO commonDao;publicpublic voidvoid setCommonDao(ICommonDAO commonDao)=commonDao;Str
21、ing hql=from Rightinfo;List list=(hql);returnreturn list;管理员对用户管理功能:管理员对用户管理功能:(增、删、改、查)(增、删、改、查)publicpublic String delete()etParameter(userid);publicpublic String edit()Userinfo uu=(uid);().setAttribute(USER2,uu);returnreturn edit;intint uid=().getParameter(userid);booleanboolean flag=(uid);ifif(f
22、lag)elseelsereturnreturn list;returnreturn list1;publicpublic String detail()publicpublic String add()ifif(user)=truetrue)List user=();().setAttribute(USERS,user);returnreturn list;intint uid=().getParameter(userid);Userinfo uu=(uid);().setAttribute(USER1,uu);returnreturn detail;booleanboolean flag=
23、(user);ifif(flag)elseelsereturnreturn edit_error;returnreturn list;elseelsereturnreturn add;publicpublic String toadd()publicpublic String doLogin()Userinfo uu=(user);ifif(uu!=nullnull)elseelsereturnreturn input;().getSession().setAttribute(USER,uu);intint roleId=().getRoleId();Roleinfo r=(roleId);S
24、tring menuString=buildDTreeMenuString(r);().getSession().setAttribute(MENU_STRING,menuString);returnreturn main;returnreturn add;publicpublic booleanboolean addUser(Userinfo u)Serializable ret=(u);returnreturn ret!=nullnull;publicpublic List list()String hql=from Userinfo;List list=(hql);returnretur
25、n list;publicpublic Userinfo detail(intint userid)Userinfo uu=nullnull;String hql=from Userinfo u left outer join fetch where=Object args=newnew Objectuserid;List list=(hql,args);ifif(list!=nullnull&()0)uu=(0);returnreturn uu;publicpublic Userinfo toedit(intint userid)Userinfo uu=nullnull;String hql
26、=from Userinfo u left outer join fetch where=Object args=newnew Objectuserid;List list=(hql,args);ifif(list!=nullnull&()0)returnreturn uu;uu=(0);publicpublic booleanboolean update(Userinfo u)trytrycatchcatch(Exception ex)returnreturn falsefalse;(u);returnreturn truetrue;publicpublic booleanboolean d
27、elete(intint uid)trytrycatchcatch(Exception ex)Userinfo u=(Userinfo),uid);(0);returnreturn truetrue;returnreturn falsefalse;5.5.软件测试及运行评价软件测试及运行评价测试步骤(1)主页测试(2)用户登录测试(3)用户信息管理测试(4)角色权限管理测试(5)课题上传测试模块测试模块模块主页预计测试功能预计测试功能正常显示,各个连接正常显示用户登陆、注册验证用户名(ID,满足系统设定要求)和密码的一致性用户信息管理对用户进行增,删,改,查显示正确的页面和数据角色权限管理给用户分配角色权限一致无一致无一致无输入、输出功能输入、输出功能一致造成差别的原因造成差别的原因无课题上传录入课题的所用信息保存在数据库中一致无6.6.软件实习总结软件实习总结通过实习,更加深入了解掌握了开发平台的配置,对编程有了进一步的掌握。明白了开发一个项目的工作顺序。对项目的业务熟悉是开发项目的首要条件。
限制150内