1 系统相关技术
1.1ASP.NET 技术
该系统采用基于ASP.NET的动态网页开发技术来进行开发,ASP.NET 技术中的 ADO.NET 组件技术是目前网络应用系统中访问数据库最为成熟和先进的技术。
1.2 系统页面生成技术
主要采用 Dataset 对象和 DataGrid 控件实现显示用户对系统请求的处理结果。
1.3 系统安全控制技术
系统对用户的登陆密码全部采用了 32 位的 MD5 加密技术进行加密。根据登录系统的用户角色,对目录有访问控制,可限制特定人对特定目录的访问。同时,采用 Session 和 Cokies 等技术对非登陆用户进行了相应的权限处理。
2 系统分析与设计
2.1 系统功能需求分析
本系统为学校管理人员、学生和教师服务,系统开发过程中具有三种登录权限,为每一个不同的登录对象设置独立的角色,以便能够拥有不同的登录权限,操作不同的系统功能。因此,系统主要包括的功能模块为教务管理员模块、学生模块和教师模块。
2.2 系统功能设计
(1) 登录模块。该模块主要根据用户的登录信息进行验证,根据角色权限分别进入学生子系统、教务管理子系统、教师子系统。
(2) 教务管理功能模块。该系统主要完成毕业信息发布、教师信息管理、学生信息管理、毕业设计题目审核、毕业设计进度管理、设计指导资格审核。(3) 教师功能模块。该系统主要完成个人信息管理、信息公告、毕业设计指导资格申请、审核学生选题及设计、评定学生毕业设计成绩。(4) 学生功能模块。该系统主要完成个人信息管理、浏览信息公告、毕业设计成绩查询、毕业设计题目申请、毕业设计递交。
2.3 系统体系架构实现
本文所采用的分布式软件系统架构,为降低 Web 服务器的处理工作量,选择了易于用户升级的 B/S 软件系统架构,将软件系统架构分为三层,其中Web服务层和应用服务层共同构成,用于处理用户输入的逻辑业务请求,数据库服务器处理用户的数据请求。
2.4 数据库设计与实现
依据系统的需求分析结果,根据面向对象设计思想,对现实世界的事务进行抽象,并对其进行建模。系统可抽象出教务管理员、文件、教师、公告、选题、学生、问题、指导意见等对象,并为这些对象建立相应的 ER 图和数据表。
3 系统实现
3.1 系统安全控制技术
系统对用户的登陆密码全部采用了 32 位的 MD5 加密技术进行加密,并且比起一般 MD5 加密算法更加安全可靠。采用Session 和 Cokies 等技术对非登陆用户进行了相应的处理。屏蔽了直接输入地址访问系统的后台管理页面以及通过外部链接地址访问本系统的后台管理页面。
3.2 数据库表和访问实现
数据库连接方式采用 ODBC 驱动来连接,系统移植性大大增强。过程包括创建数据库链接 (Connection)、创建数据对象(Recordset)、关闭数据连接。
3.3 系统模块功能实现
3.3.1 登录模块实现
系统登录先调用 login.aspx 页面输入用户类型、用户名、密码 ,login_confirm 函数调用数据库信息进行操作处理后,分别跳转到 Teacher.aspx,Student.aspx,admin.aspx,Error.aspx 页面。
3.3.2 学生模块实现
学生登录验证通过后进入 student.aspx 管理子系统,该子系统的主要功能是为学生用户提供选择课题、上传文件、修改个人信息、发送消息、申请递交论文等内容,该模块最重要的功能是学生选择课题,在考虑了每个老师有可带人数的限制条件后,学生 - 题目匹配问题的实际模型如下图所示:
在进行学生选题匹配的过程中,考虑教师因素、学生因素和选题人数等因素,采用了 KM 算法进行匹配,具体的匹配流程如下:处理当老师可带人数已满的时候,还有学生要加入的冲突问题,本文选用一旦发生冲突时,直接取消新匹配的加入。
3.3.3 教师模块实现
教师登录验证通过后进入 Teacher.aspx 管理子系统,该子系统的主要功能是为提供选择课题、审核学生的毕业设计论文及上传文件、向学生发送消息、评定学生的成绩等功能,其中最为重要的一个功能是实现学生和教师实时的指导交流功能,该功能主要通过 Send_message()方法和 Receive_message()方法来实现。
3.3.4 教务模块实现
Admin.aspx 该子系统的主要功能是管理学生的选题、管理公告信息、管理用户信息、管理师生之间的指导消息等功能,教务管理员分配选题流程分为三个阶段来进行:①学生可以自己录入自己比较感兴趣的题目,然后由教务管理员发给老师来审核。②对于那些没有明确研究内容的学生而言,通过老师录入的题目预选一个或几个题目暂时确定自己的研究方向。③如果通过以上两个阶段后还有学生没有定题,可以规定一个时间段,让还未定题的学生再参加一次题目的预选。