学生 导师 教务管理员 审核未通过 导师发布课题 审核通过 审核毕设课题 学生选择课题 导师确认 导师下达任务书 完成开题报告 审核开题报告 完成中期报告 提出修改意见 完成毕设报告 审核毕业设计 完成毕业设计 3-4 毕业选题流程图
如图3-4所示,毕业选题工作流如下:
1. 在毕业设计阶段,首先导师发布自己的课题供学生选择。
17
图
2. 教务管理员要对导师发布的课题进行审核,审核通过才可向学生发布课题,如果未通过则导师继续修改将要发布的课题。
3. 导师的毕业课题通过之后,学生开始选择选择属于自己的导师的课题。
4. 在学生选择完导师之后,需要经过导师的确认是否选择的课题是否适合该学生。
5. 导师对相应的学生下达毕业设计任务书。
3.3 登录模块流程设计
在登录模块中首先由用户输入用户名和密码,然后发送HTTP请求到服务器进行登录验证,如果失败则返回错误信息并让用户继续输入用户名和密码,如果成功则由服务器端从数据库提取该用户的导航列表并通过HTTP返回到客户端页面生成该用户的导航栏。图3-5为登录模块流程。
图3-5 登录模块流程图
学生与项目,导师,课程之间的关系都是多对多的关系,这就构成了学生与导师以及项目之间比较复杂的关系。在该E-R图中,学生与导师,项目,课程之间的关系都通过了关系实体对象建立。使各个实体的关系较为清晰,
18
如图3-6所示。
图3-6 学生模块E-R图
3.4 学生模块数据库设计
导师与课题(项目)是一对多的关系及一个导师到可以负责多个项目和多个课题,导师与学生是一对多的关系及一个导师可以带多个学生。这就构成了学生与导师以及课题(项目)之间一对多的复杂关系,如图3-7所示。
19
图3-7 导师模块E-R图
3.5 导师模块数据库设计
表3-1所示系统中的用户的登陆信息都被保存在一个单独的表中,通过表中的角色字段可以到各个独立的角色信息表中查询用户的详细信息。usr_id为本表的主键和索引,role_id用来表示用户的角色以区分用户的权限,其余两个字段分别用来存储用户名和密码。
20
表3-1 用户表字段描述
表名 用户表 字段名 usr_id role_id Username Password 被参照表 role 说明 用户角色 用户名 密码
表3-2所示学生信息表主要描述了学生的详细信息,学生表中的部分字段如班级,政治面貌等都通过外部关键字进行了约束。
表3-2 学生信息表字段描述
表名 学生信息表 字段名 stu_id stu_name class_id politics_id Sex nation_id tch_id role_id stu_head stu_birthday stu_qq stu_email 被参照表 class politics nation teacher role 说明 学号 姓名 班级id 政治面貌id 性别 民族id 导师id 角色id 学生头像 出生日期 Qq email
表3-3所示导师信息表也主要描述了导师的详细信息,系统的其他用户可以通过查询此表对导师的信息进行了解,并作为学生选择导师的参考。
表3-3 导师信息表字段描述
表名 导师信息表 字段名 tch_id tch_name maj_id 21
被参照表 department 说明 教师id 教师姓名 专业id