1、实验报告管理系统报告软件项目设计报告实验报告管理系统所在班级12计卓小组成员218 江灵瞳143 印海平144 钱晨晨学院名称信电工程学院专业名称计算机科学与技术指导教师胡局新起止日期年1月15日1 绪论开发背景 实验教学是学生技能培养的重要环节之一,学生实验报告的质量在一定程度上反映了实验教学的质量,实验报告管理水平也反映了实验教学管理水平。目前,大部分学校所提交的实验报告大多还停留在以纸为介质的方式上,这将严重制约着实验教学的开展。首先,很多课程的实验结果在纸质实验报告中不能表现或不能完全表现,其次纸质实验报告的批改和分析也是实验授课老师的一个很重负担,如何提高学生实验报告的表象能力,提高
2、教师批改实验报告的效率并及时发现和纠正实验报告中存在的问题是许多课程实验授课教师所面对的一个难题。 本次设计完成的工作老师登录该系统可以上传、下载实验报告、查看学生做的实验报告并给学生打分、老师可以查看实验验课程、实验课程列表、查看实验提交情况等。学生登录该系统可以上传、下载实验报告、查看实验课程和实验课程列表。 任务分工组织结构:为了完成学生信息管理系统的项目开发,班级组成了一个项目团队,人员分工:为了明确项目团队中每个人的任务分工,现制定人员分工,如下表所示:表 人员分工 成员 角色 负责的模块内容A 江灵瞳学生的上传,下载,学生查看实验课程,查看实验列表B 印海平老师的上传,下载,和老师
3、填写分数,数据库设计C 钱晨晨老师查看实验课程,查看实验列表,查看实验上交情况,登录 任务 我们三个人各自分工完成自己的模块内容,首先,江灵瞳构造整个系统的框架,然后印海平设计数据库,在我们一起先设计前台界面,之后我们就各自实现各自模块的功能。2 系统分析需求分析1)实验课程设置,设置课程编号、课程名、时间、次数、老师编号、老师名、实验班级;2)实验列表设置,设置实验编号、实验名、班级、学生学号、学生名、老师名、实验路径、提交状态、分数;3)树型类别设置,设置编号、名字、路径、学生名、老师名、树的状态。可行性分析引言编写目的:背景:徐州工程学院是一所培养应用型人才的普通高等学院。为了完善管理学
4、校实验报告太多没有地方保存了,经决定开发实验报告管理系统。可行性研究的前提要求:实验报告系统必须提供学生信息和教师信息的基础设置;提供强大的条件搜索功能个实验课程查询、实验列表出现等管理功能;可以分不同权限、不同用户对该系统进行操作。另外,该系统还必须保证数据的安全性、完整性和准确性。目标:实验报告管理系统的目标是实现学生的纸质的实验报告太多没有地方长期保存,这样用一个系统可以将一个课程所有学生的实验报告进行管理方便存放。条件、假定和限制:时间的限制,我们必须在两周的时间里完成项目,在这期间系统分析员需要整理好分析结果,分配各组员的任务,每天需要人员跟踪记录整理文档。程序开发人员须在5天的时间
5、里进行系统设计、程序编码、系统测试、程序调试。期间,还包括一个双休日假期。结论根据上面的分析,在技术上不会存在什么问题,因此项目延期的可能性很小。只要在分配的时间里都能顺利地完成任务,再加上团队的凝聚力齐心协力,相信在这两周内会获得一个满意的结果。 用例图图 用例图3 系统设计与实现系统目标根据需求分析的描述以及与组建成员的沟通,现制定系统实现目标如下:a.界面设计简洁、友好、美观大方。b.操作简单、快捷方便。c.数据存储安全、可靠。d.信息分类清晰、准确。e.强大的查询功能,保证数据查询的灵活性。f.为管理员提供真实的数据信息。g.对用户输入的数据,系统进行严格的数据检查,尽可能排除认为的错
6、误。系统功能结构图 系统功能结构功能流程及工作流程学生模块:a.查看实验课程系统操作人员打开学生模块主界面,输入相关的信息(学号、密码)进入模块,点击学年按钮就可以看到所需要的信息。b.查看实验列表系统操作人员打开学生模块主界面,输入相关信息进入模块,点击课程就可以看到所要的信息。c.下载实验报告模板当该学生进入自己的界面时,找到要做实验报告的课程,点击下载按钮。d.上传实验报告当学生做完实验报告后,进入系统,点击上传按钮。教师模块:a.查看实验课程系统操作人员打开学生模块主界面,输入相关的信息(工号、密码)进入模块,点击学年按钮就可以看到所需要的信息。b.查看实验列表系统操作人员打开老师模块
7、主界面,输入相关信息进入模块,点击课程就可以看到所要的信息c.查看提交情况教师进入教师界面,点击自己教的课程,点击查看按钮。d.上传实验报告模板当该老师进入自己的界面时,找到要做实验报告的课程的实验名称,点击上传按钮。e.下载学生实验当该老师进入自己的界面时,找到实验列表详情,点击下载按钮。f.打分当该老师进入自己的界面时,下载学生的实验报告看完后,在实验列表详情中点击打分按钮。系统流程图图 系统流程图构建开发环境a.操作系统:windows 7或XPbjava开发包:c数据库:MY SQLd.分辨率:最佳效果为1024*768像素文件夹组织结构图 文件夹组织结构 学生模块的实现package
8、 class Experclass private int Eid; private String courseID; private String courseName; private String courseTime; private String coursePeriod;etConn(); private PreparedStatement strat=null; public DataGridMap experclass(String coursetime) throws Exception DataGridMap dg = new DataGridMap(); etParame
9、ter(page); int page = (_page=null1:_page); String _rows = ().getParameter(rows); int rows = (_rows=null20:_rows); String sql=select * from experclasstable where CourseTime=+coursetime+ and TeacherID=+ ().getSession().getAttribute(TeaId)+; etSession().getAttribute(userclassname)+; =sql=+sql); ListMap
10、 datamap = (sql, page,rows); (datamap); String countSQL = select count(*) from experclasstable where CourseTime=+coursetime+ and TeacherID=+ ().getSession().getAttribute(TeaId)+; (countSQL); return dg; public DataGridMap stuexperclass(String courseTime) throws Exception etParameter(page); int page =
11、 (_page=null1:_page); String _rows = ().getParameter(rows); int rows = (_rows=null20:_rows); etSession().getAttribute(userclassname)+; ListMap datamap = (sql, page,rows); (datamap); String countSQL = select count(*) from experclasstable where CourseTime=+courseTime+ and ClassName=+ ().getSession().g
12、etAttribute(userclassname)+; (countSQL); return dg; public DataGridMap stuexperContentlist(String courseId) throws Exception etParameter(page); int page = (_page=null1:_page); String _rows = ().getParameter(rows); int rows = (_rows=null20:_rows); etSession().getAttribute(userId); ListMap datamap = (
13、sql, page,rows); (datamap); String countSQL = select count(*) from expercontenttable as t1 join expertablesubmit as t2 on = where =+courseId+ and StudentID=+().getSession().getAttribute(userId); (countSQL); return dg; public ExperContent queryExperContent(String experimentID) throws Exception from e
14、xpercontenttable as t1 join expertablesubmit as t2 on = where =+experimentID+ and StudentID=+().getSession().getAttribute(userId)+; strat=(sql); ResultSet rs=(); ExperContent content=null; if() content=new ExperContent(); (ExperimentID); (ExperimentName); (ExperimentContent); (ExperimentPeriod); (Te
15、acherName); eplace(, /); return content; public DataGridMap getexperlist(String courseId) throws Exception etParameter(page); int page = (_page=null1:_page); String _rows = ().getParameter(rows); int rows = (_rows=null20:_rows); etConn(); private PreparedStatement strat=null; public ExperDaoListImpl
16、() throws Exception super(); etParameter(page); int page = (_page=null1:_page); String _rows = ().getParameter(rows); int rows = (_rows=null20:_rows); String sql=select * from expertablesubmit where ExperimentID=+experid+ and CourseID=+ courid+; etSession().getAttribute(userclassname)+; =sql=+sql);
17、ListMap datamap = (sql, page,rows); (datamap); String countSQL = select count(*) from expertablesubmit where ExperimentID=+experid+ and CourseID=+ courid+; (countSQL); return dg; public boolean addfron(String experid, String courid, String stuid, float Testscores) throws Exception etConn(); private
18、PreparedStatement strat=null; public UpfileDao() throws Exception super(); public Upfile QueryFileClass(String courid) throws Exception etSession().getAttribute(userId)+; strat=(sql); int n = (); if(n0) return success; return false; public String teaSaveFileRoad(String experid, String path, String c
19、ourid) throws Exception etConn(); private PreparedStatement strat=null; public UpfileDao() throws Exception super(); public Upfile QueryFileClass(String courid) throws Exception etSession().getAttribute(userId)+; strat=(sql); int n = (); if(n0) return success; return false; public String teaSaveFile
20、Road(String experid, String path, String courid) throws Exception etConn(); private PreparedStatement strat=null; public DataGridMap experclass(String coursetime) throws Exception DataGridMap dg = new DataGridMap(); etParameter(page); int page = (_page=null1:_page); String _rows = ().getParameter(ro
21、ws); int rows = (_rows=null20:_rows); String sql=select * from experclasstable where CourseTime=+coursetime+ and TeacherID=+ ().getSession().getAttribute(TeaId)+; etSession().getAttribute(userclassname)+; =sql=+sql); ListMap datamap = (sql, page,rows); (datamap); String countSQL = select count(*) fr
22、om experclasstable where CourseTime=+coursetime+ and TeacherID=+ ().getSession().getAttribute(TeaId)+; (countSQL); return dg; public DataGridMap stuexperclass(String courseTime) throws Exception etParameter(page); int page = (_page=null1:_page); String _rows = ().getParameter(rows); int rows = (_row
23、s=null20:_rows); etSession().getAttribute(userclassname)+; ListMap datamap = (sql, page,rows); (datamap); String countSQL = select count(*) from experclasstable where CourseTime=+courseTime+ and ClassName=+ ().getSession().getAttribute(userclassname)+; (countSQL); return dg; public DataGridMap stuex
24、perContentlist(String courseId) throws Exception etParameter(page); int page = (_page=null1:_page); String _rows = ().getParameter(rows); int rows = (_rows=null20:_rows); etSession().getAttribute(userId); ListMap datamap = (sql, page,rows); (datamap); String countSQL = select count(*) from expercont
25、enttable as t1 join expertablesubmit as t2 on = where =+courseId+ and StudentID=+().getSession().getAttribute(userId); (countSQL); return dg; public ExperContent queryExperContent(String experimentID) throws Exception from expercontenttable as t1 join expertablesubmit as t2 on = where =+experimentID
26、+ and StudentID=+().getSession().getAttribute(userId)+; strat=(sql); ResultSet rs=(); ExperContent content=null; if() content=new ExperContent(); (ExperimentID); (ExperimentName); (ExperimentContent); (ExperimentPeriod); (TeacherName); eplace(, /); return content; public DataGridMap getexperlist(Str
27、ing courseId) throws Exception etParameter(page); int page = (_page=null1:_page); String _rows = ().getParameter(rows); int rows = (_rows=null20:_rows); Css的学习:虽然说在标签中也可以定义样式,但是这么做看起来不是那么明智,我在学CSS时还是比较努力的,所有的样式效果都测试过,并且写了相应的案例,只是过了不到3个月就忘了一大半,很多时候都是查文档才能写出来的,虽然CSS对于我们来说不必要非常精通,但是我觉得掌握的东西越多,以后的工作就越轻松,所以在考试结束后也会去看看前面的笔记和案例。Javascript:js我认为是最重要的,甚至于超过servlet
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1