毕业设计选题管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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.1 E-R图
图3
图4 3.2.2数据库表
表1
表2
表3
表4 角色表(roleinfo)
表5 权限表(rightinfo)
表6
4.典型功能模块的详细设计和实现过程
用户模块
登录功能代码:
public String doLogin()
{
Userinfo uu= userService.checkUser(user);
if(uu!=null)
{
ServletActionContext.getRequest().getSession().setAttribute("USER ", uu);
int roleId=uu.getRoleinfo().getRoleId();
Roleinfo r= roleService.getRoleWithRights(roleId);
String menuString=buildDTreeMenuString(r);
ServletActionContext.getRequest().getSession().setAttribute("MENU _STRING", menuString);
return"main";
}
else
{
return"input";
}
}
public Userinfo checkUser(Userinfo u) {
Userinfo uu=null;
String hql="from Userinfo where userid=? and pwd=?";
Object[] args = new Object[]{u.getUserid(),u.getPwd()};
List
if(list!=null && list.size()>0)
{
uu = list.get(0);
}
return uu;
}
public List list(String hql, Object[] args) {
List list= this.getHibernateTemplate().find(hql,args);
return list;
}
查询信息功能代码:
public String toList()
{
SPageBean spb = new SPageBean();
HttpServletRequest request = ServletActionContext.getRequest();
int offset = 0;
if (request.getParameter("pager.offset") == null) {
offset = 0;
} else {
offset =
Integer.parseInt(request.getParameter("pager.offset"));
}
int maxPageItems; 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";
}
public void getList(SPageBean spb) {
String hql="from Userinfo";
commonDao.listByPage(hql, spb);