软件实习毕业设计管理系统报告.docx
- 文档编号:3569154
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:19
- 大小:961.53KB
软件实习毕业设计管理系统报告.docx
《软件实习毕业设计管理系统报告.docx》由会员分享,可在线阅读,更多相关《软件实习毕业设计管理系统报告.docx(19页珍藏版)》请在冰豆网上搜索。
软件实习毕业设计管理系统报告
目录
1背景说明5
1.1软件项目的需求分析5
2系统分析与设计5
2.1需求与功能分析5
2.2开发设计思想与原则6
2.3系统模块设计6
2.4模块及功能设计7
3数据库(表)设计8
3.1数据库概念模型设计8
3.2数据库逻辑结构设计11
3.3数据字典11
4系统功能的详细设计与代码实现12
4.1公共模块12
4.2管理员模块17
4.3教师模块17
4.4学生模块20
5参考文件20
6小结20
1背景说明
学业设计管理在高校的所有管理工作中占有较重的分量。
现在高校毕业生的
人数越来越多,而且高校暂时也没有这样的毕业设计管理信息系统,这样老师花费管理毕业生设计的时间越来越多,工作也越来越繁重了。
所以从事毕业设计管理的老师与学生很长一段时间都是通过手工来处理这些繁重的工作。
随着互连网络的不断发展,很多高校都开始利用了网络来进行毕业设计的管
理工作,但由于一直没有开发出比较好的毕业设计管理系统或者那些系统跟网络的结合不够,导致在毕业设计管理方面还存在一些问题。
例如:
我们学院就是因为还没有一个较完整的毕业设计管理系统,而影响了学院对学生的毕业设计的管理效率,许多老师出的课题及学生的选题以及相关信息下达和发布,还得由辅导员通知学生。
鉴于此,通过老师的帮助,我对一些高校的毕业设计管理系统进行研究,再根据我们学校的实际情况和自己的能力开发了本毕业设计管理系统。
开发一个管理高校毕业设计的系统,可以使得毕业设计的管理工作从繁重的
手工操作中解脱出来,节省了大量的时间,也提高了工作效率。
各类用户还可以利用浏览器及时查看公告和通知,以及查询和打印相关信息。
老师通过对毕业设计各环节加强管理与监控,及时传递相关信息,来保证毕业设计的管理效率和质量。
实现教学管理的科学化、程序化、标准化,增强使用计算机网络进行相应管理的能力,提升计算机管理的综合实力
1.1软件项目的需求分析
该系统是针对教师对毕业生毕业设计管理而做的一个系统,它涉及到的用户有学生,教师,教研室或系主任和管理员这四个用户。
教师和教研室主任他们的基本操作都是一样的,只是教研室主任的操作比教师多,所以他们可以用同一个表格,只要对他们区别一下就可以。
在这个系统中,还有用到院系,班级,资料,课题,通知公告这些信息,在相应的权限下对它们进行查询、上传、添加、删除和更改等不同的操作。
为了能让该系统很好地运行,就要设计好数据库。
因此,该系统设计了8个数据表,分别是通知公告信息表,课题信息表,老师信息表,资料信息表,管理员信息表,学生信息表,院系表和班级表。
2系统分析与设计
2.1需求与功能分析
高校毕业设计管理信息系统的设计目的是将高等院系毕业生的毕业设计和论
文等信息通过网络的形式进行管理。
本系统将用户分为4种类型,管理员、普通教师、教研室(系)主任和学生。
本系统需要满足以下要求:
1.系统可在Windows操作系统平台上运行,并具有友好的用户界面。
2.系统对于用户只允许以一种身份登陆,并具备相应的权限。
3.只有管理员可以对学生、教师、院系、班级等基本信息进行维护和操作。
4.学生可以选课并操作自己的个人信息。
5.普通教师可以对自己的毕业课题和个人信息进行管理。
6.室(系)主任可以对本系室所有教师的毕业课题(含自己课题)、新闻公
告和通知、资料的上传、课题的发布及个人信息进行管理。
7.各用户可以浏览和查询各种信息和下载资料。
8.在系统的首页查看新闻通知、滚动公告、课题、当前的日期和时间和下载
资料。
2.2开发设计思想与原则
该系统主要是针对毕业设计管理的一些功能进行设计的,同时借助功能强
大的多条件查询的查询功能使各用户能及时、准确地了解自己所需要信息。
帮助各用户更有效、更全面地管理和使用本系统。
本系统的开发设计原则是:
1.统一各种原始数据格式。
2.删除不必要的管理冗余,实现管理规范化、科学化。
3.程序代码标准化,软件统一化,确保软件的可维护性和实用性。
4.界面精良简单化,做到实用、方便,尽量满足该系统所有用户的不同需要。
2.3系统模块设计
1.总体结构设计
该高校毕业设计管理信息系统分五个模块进行管理,即公共模块(首页和帮
助信息)、管理员模块、学生模块,老师模块和教研室(系)主任模块。
教研室(系)主任,学生和老师的登陆账号和密码都是由管理员模块给出。
在该系统的首页,有通知发布、毕业课题浏览和查询、滚动公告、资料下载
等栏目。
查看使用这些栏目无需登陆,任何人都可以通过点击查看相关的详细内容。
图一系统功能结构图
2.4模块及功能设计
该系统的五个模块的设计(管理员模块、学生模块,老师模块和教研室(系)
主任模块、公共模块)具体功能如下(系统功能结构见图一):
(1).管理员模块:
管理员凭登录名和密码登陆。
当管理员成功登录后,可
以修改自己的密码,还可以对学生、老师和教研室(系)主任及院系班级进行相应的操作(即添加、修改、删除和查询等)。
(2).学生模块:
学生需要凭登录名和密码才可以登陆,登陆以后可以自行
修改自己的密码。
在登陆进去以后,学生可以查看和修改自己的基本信息,以及进行毕业选题,还可以查看该课题的具体信息即发布教师的基本信息。
(3).教师模块:
老师凭登录名和密码登陆后,可以修改密码,可以查看及
编辑个人信息,可以查看自己课题被选中的情况即选中课题、学生的学号、名字、专业、班级及联系方式,还可以对发布自己的课题进行相关的管理。
(4).教研室(系)主任模块:
主任凭登陆账号和密码登陆以后,可以查看
自己相关的信息。
可以发布通知和公告,并对它们进行相应的管理;可以把同学和老师们需要用的资料上传到首页,供大家下载;也可以把通过审核的毕业设计课题发到网上让同学们查看和选题,同时也可以发布自己的课题并进行相关的管理操作。
(5).公共模块(首页和帮助信息):
在首页中,包含通知、课题浏览、滚
动公告、课题搜索、资料下载五个专区,学生和教师都可通过此界面进行查阅、下载。
通过帮助信息,可以让管理员,教研室主任,老师和学生更加熟悉这个系统的操作和功能。
3数据库(表)设计
3.1数据库概念模型设计
主要数据表的E/R模型图见图四至图十:
图二通知公告新闻实体与教师实体图关系
图三课题信息实体图与教师信息图关系
图四老师信息实体图与院系实体图关系
图五班级实体图与院系实体图的关系
图六资料信息实体图与教师信息图关系
图七学生信息实体图与班级信息实体图的关系
图八学生信息实体图与课题信息图的关系
3.2数据库逻辑结构设计
(1).数据库的需求分析
该系统是针对教师对毕业生毕业设计管理而做的一个系统,它涉及到用
户有学生,教师,教研室或系主任和管理员这四个用户。
教师和教研室主任他们的基本操作都是一样的,只是教研室主任的操作比教师多,所以他们可以用同一个表格,只要对他们区别一下就可以。
在这个系统中,还有用到院系,班级,资料,课题,通知公告这些信息,在相应的权限下对它们进行查询、上传、添加、删除和更改等不同的操作。
为了能让系统很好地运行,就要设计好数据库。
因此,该系统设计了8个数据表,分别是通知公告信息表,课题信息表,老师信息表,资料信息表,管理员信息表,学生信息表,院系表和班级表。
(2).数据表概念设计:
通知公告信息表,表名称为notice,主要用于存储通知公告和新闻详细
信息。
课题信息表,表名称为information,主要用于存储课题的详细信息。
老师信息表,表名称为teacher,主要用于存储老师详细信息。
学生信息表,表名称为student,主要用于学生详细信息。
资料信息表,表名称为data,主要用于存储上传资料的详细信息。
管理员信息表,表名称为admin,主要用于存储管理员信息。
院系信息表,表名称为department,主要用于存储院系信息。
班级信息表,表名称为classes,主要用于存储班级信息。
3.3数据字典
表一数据项按各子系统分类列表
编号
数据项名称
说明部分
编号
数据项名称
说明部分
1
学生学号
整数类型;有唯一性
2
学生姓名
文本类型长度为10字符
3
学生性别
枚举类型:
男、女
4
学生登陆密码
整数类型
5
学生年龄
整数类型18…100
6
教师姓名
文本类型长度为10字符
7
教师性别
枚举类型:
男、女
8
教师登陆密码
整数类型
9
教师工号
整数类型有唯一性
10
院系名
整数类型
11
班级名
整数类型
12
课题号
整数类型;有唯一性
13
课题名
文本类型长度为10字符
14
发布院系
整数类型
15
发布时间
整数类型
16
通知新闻
文本类型
17
上传资料名
文本类型
18
资料大小
布尔类型
表二数据结构
编号
数据结构名
属性
1
学生信息
学生学号、姓名、性别、年龄、登陆系统密码
2
教师信息
教师职工号、姓名、性别、登陆系统密码
3
院系信息
院系名称、班级名称
4
课题信息
课题名称、课题号、发布院系、发布名称
5
上传资料
资料名称、资料大小、上传时间
6
学生修改密码
旧密码、新密码、确认新密码
7
教师修改密码
旧密码、新密码、确认新密码
4系统功能的详细设计与代码实现
4.1公共模块
公共模块包括首页和帮助信息。
公共模块有五个专区,而帮助信息是介绍了该系统的功
能和使用方法。
它们的界面如图九和图十:
图九首页界面
图十帮助信息界面
该模块的关键代码:
publicclassLoginActionextendsAction{
publicActionForwardexecute(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{
//获取来自AdminLoginForm对象的数据
LoginFormloginForm=(LoginForm)form;
Stringusername=Chinese.toChinese(loginForm.getUsername());
Stringpassword=loginForm.getPassword();
Stringpower=loginForm.getPower();
//初始化各个对象
ActionMessageserrors=newActionMessages();
StringpageForward="ToLoginError";
HttpSessionsession=request.getSession();
Vectorloginadmin=newVector();
Vectorvector=newVector();
Vectorloginteacher=newVector();
if(power.equals("admin")){//如果登陆的是管理员,则进行密码和用户名的匹配验证
/*
*如果管理员输入的用户名和密码经验证不匹配,则生成封装了关键字error.login.failed的消息的ActionMessage对象,并将其包含进ActionMessage对象中。
*/
if(!
AdminDAO.checkAdmin(username,password)){
errors.add("loginFailed",newActionMessage(
"error.login.failed"));
if(!
errors.isEmpty()){
saveErrors(request,errors);
}
pageForward="ToLoginError";
/*
*反之,如果输入的密码和用户名是匹配的,则取出该用户的信息,存放到session中
*/
}else{
//使用AdminDAO.search方法,从数据库中查到当前登录用户信息存入session中
loginadmin=AdminDAO.search(username,password);
session.setAttribute(Constants.LOGIN_ADMIN_KEY,loginadmin);
//使用StudentDAO.searchStudents方法,从数据库中查到所有学生信息存入Vector中,将Vector存入session中
VectorstuVector=StudentDAO.searchStudents();
session.setAttribute(Constants.STUDENT_LIST_KEY,stuVector);
//使用TeacherDAO.searchTeachers方法,从数据库中查到所有教师信息存入Vector中,将Vector存入session中
VectorteaVector=TeacherDAO.searchTeachers();
session.setAttribute(Constants.TEACHER_LIST_KEY,teaVector);
//从数据库中查到所有的院系信息
VectordepVector=DepartmentDAO.searchDepartment();
session.setAttribute(Constants.DEPARTMENT_LIST_KEY,depVector);
//从数据可中查到所有班级的院系信息
VectorclaVector=ClassesDAO.searchClasses();
session.setAttribute(Constants.CLASSES_LIST_KEY,claVector);
//转发页面设置为ToAdmin
pageForward="ToAdmin";
}
}elseif(power.equals("student")){
/*
*如果学生输入的用户名和密码经验证不匹配,则生成封装了关键字error.login.failed的消息的ActionMessage对象
*并将其包含进ActionMessage对象中。
*/
if(!
StudentDAO.checkStudent(username,password)){
errors.add("loginFailed",newActionMessage(
"error.login.failed"));
if(!
errors.isEmpty()){
saveErrors(request,errors);
}
pageForward="ToLoginError";
/*
*反之,如果输入的密码和用户名是匹配的,则取出该用户的信息,存放到session中
*/
}else{
//使用StudentDAO.search方法,从数据库中查到当前登录用户信息存入session中
vector=StudentDAO.search(username,password);
session.setAttribute(Constants.LOGIN_STUDENT_KEY,vector);
pageForward="ToStudent";
}
}elseif(power.equals("teacher")){
/*
*如果教师输入的用户名和密码经验证不匹配,则生成封装了关键字error.login.failed的消息的ActionMessage对象
*并将其包含进ActionMessage对象中。
*/
if(!
TeacherDAO.checkTeacher(username,password)){
errors.add("loginFailed",newActionMessage(
"error.login.failed"));
if(!
errors.isEmpty()){
saveErrors(request,errors);
}
pageForward="ToLoginError";
/*
*反之,如果输入的密码和用户名是匹配的,则取出该用户的信息,存放到session中
*/
}else{
loginteacher=TeacherDAO.search(username,password);
VectordataVector=DataDAO.searchDates(username);
session.setAttribute(Constants.DATAS_LIST_KEY,dataVector);
session.setAttribute(Constants.LOGIN_TEACHER_KEY,loginteacher);
Teacherteacher=(Teacher)loginteacher.get(0);
Stringt_id=Chinese.toChinese(teacher.getT_id());
VectornoticeVector=NoticeDAO.getNotice(username);
session.setAttribute(Constants.NOTICE_LIST_KEY,noticeVector);
VectorinformationVector=InformationDAO.searchInformation(username);
session.setAttribute(Constants.INFORMATION_KEY,informationVector);
VectoruninformationsVector=InformationDAO.searchUnchekedInformation();
session.setAttribute(Constants.UNINFORMATIONS_LIST_KEY,uninformationsVector);
Vectorinformations=InformationDAO.serchInforStu(t_id);
session.setAttribute(Constants.INFORMATIONS_STUDENT_LIST_KEY,informations);
inttype=teacher.getType();
if(type==0){
pageForward="ToTeacher";
}elseif(type==1){
pageForward="ToTeacher1";
}
}
}
return(mapping.findForward(pageForward));
}
}
4.2管理员模块
当管理员成功登陆后,就进入管理员首页。
在管理员首页可以查看新闻通知,也可以看到自己相应的操作。
管理员首页的界面如图十一:
图十一管理员首页
4.3教师模块
教师登陆后,到达的页面是教师的首页。
它的界面如图十二:
图十二教师首页
该模块的关键代码:
publicclassDataUploadActionextendsAction{
publicActionForwardexecute(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{
//获取当前登录教师的信息
HttpSessionsession=request.getSession();
Vectorloginteacher=(Vector)session.getAttribute(Constants.LOGIN_TEACHER_KEY);
Teacherteacher=(Teacher)loginteacher.get(0);
//新建用到的对象,并初始化
StringpageForward="ToErrorPage";
ActionMessageserrors=newActionMessages();
StringfilePath=servlet.getServletContext().getRealPath("/root");//取得存放文件地址的路径
//获取来自DataUploadForm对象的数据
DataUploadFormdataUploadForm=(DataUploadForm)form;
FormFilefile=dataUploadForm.getFile();//取得上传的文件
//得到文件名
Stringtitle=file.getFileName();
//得到文件大小
floatsize=(float)(file.getFileSize()/1024.0);
//得到上传时间
Stringuploadtime=(newGetDate()).getDate();
InputStreamstreamIn=null;
OutputStreamstreamOut=null;
Fileonefile=newFile(filePath);
try{
if(!
onefile.isDirectory()){
onefile.mkdirs();
}
streamIn=file.getInputStream();//把文件读入
Stringurl=filePath+"/"+title;//存放路径+文件名称组成完整路径
streamOut=newFileOutputStream(url);//建立一个上传文件的输出流,将上传文件存入web应用的根目录
i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 实习 毕业设计 管理 系统 报告