实验报告管理系统报告.docx

上传人:b****8 文档编号:10695459 上传时间:2023-02-22 格式:DOCX 页数:23 大小:1.27MB
下载 相关 举报
实验报告管理系统报告.docx_第1页
第1页 / 共23页
实验报告管理系统报告.docx_第2页
第2页 / 共23页
实验报告管理系统报告.docx_第3页
第3页 / 共23页
实验报告管理系统报告.docx_第4页
第4页 / 共23页
实验报告管理系统报告.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

实验报告管理系统报告.docx

《实验报告管理系统报告.docx》由会员分享,可在线阅读,更多相关《实验报告管理系统报告.docx(23页珍藏版)》请在冰豆网上搜索。

实验报告管理系统报告.docx

实验报告管理系统报告

软件项目设计报告

实验报告管理系统

 

所在班级

12计卓

小组成员

218江灵瞳

143印海平

144钱晨晨

学院名称

信电工程学院

专业名称

计算机科学与技术

指导教师

胡局新

起止日期

1月

15日

 

1绪论

开发背景

实验教学是学生技能培养的重要环节之一,学生实验报告的质量在一定程度上反映了实验教学的质量,实验报告管理水平也反映了实验教学管理水平。

目前,大部分学校所提交的实验报告大多还停留在以纸为介质的方式上,这将严重制约着实验教学的开展。

首先,很多课程的实验结果在纸质实验报告中不能表现或不能完全表现,其次纸质实验报告的批改和分析也是实验授课老师的一个很重负担,如何提高学生实验报告的表象能力,提高教师批改实验报告的效率并及时发现和纠正实验报告中存在的问题是许多课程实验授课教师所面对的一个难题。

本次设计完成的工作

老师登录该系统可以上传、下载实验报告、查看学生做的实验报告并给学生打分、老师可以查看实验验课程、实验课程列表、查看实验提交情况等。

学生登录该系统可以上传、下载实验报告、查看实验课程和实验课程列表。

任务分工

组织结构:

为了完成学生信息管理系统的项目开发,班级组成了一个项目团队,人员分工:

为了明确项目团队中每个人的任务分工,现制定人员分工,如下表所示:

表人员分工

成员

角色

负责的模块内容

A

江灵瞳

学生的上传,下载,学生查看实验课程,查看实验列表

B

印海平

老师的上传,下载,和老师填写分数,数据库设计

C

钱晨晨

老师查看实验课程,查看实验列表,查看实验上交情况,登录

任务

我们三个人各自分工完成自己的模块内容,首先,江灵瞳构造整个系统的框架,然后印海平设计数据库,在我们一起先设计前台界面,之后我们就各自实现各自模块的功能。

 

2系统分析

需求分析

1)实验课程设置,设置课程编号、课程名、时间、次数、老师编号、老师名、实验班级;

2)实验列表设置,设置实验编号、实验名、班级、学生学号、学生名、老师名、实验路径、提交状态、分数;

3)树型类别设置,设置编号、名字、路径、学生名、老师名、树的状态。

可行性分析

引言

编写目的:

背景:

徐州工程学院是一所培养应用型人才的普通高等学院。

为了完善管理学校实验报告太多没有地方保存了,经决定开发实验报告管理系统。

可行性研究的前提

要求:

实验报告系统必须提供学生信息和教师信息的基础设置;提供强大的条件搜索功能个实验课程查询、实验列表出现等管理功能;可以分不同权限、不同用户对该系统进行操作。

另外,该系统还必须保证数据的安全性、完整性和准确性。

目标:

实验报告管理系统的目标是实现学生的纸质的实验报告太多没有地方长期保存,这样用一个系统可以将一个课程所有学生的实验报告进行管理方便存放。

条件、假定和限制:

时间的限制,我们必须在两周的时间里完成项目,在这期间系统分析员需要整理好分析结果,分配各组员的任务,每天需要人员跟踪记录整理文档。

程序开发人员须在5天的时间里进行系统设计、程序编码、系统测试、程序调试。

期间,还包括一个双休日假期。

结论

根据上面的分析,在技术上不会存在什么问题,因此项目延期的可能性很小。

只要在分配的时间里都能顺利地完成任务,再加上团队的凝聚力齐心协力,相信在这两周内会获得一个满意的结果。

用例图

图用例图

3系统设计与实现

系统目标

根据需求分析的描述以及与组建成员的沟通,现制定系统实现目标如下:

a.界面设计简洁、友好、美观大方。

b.操作简单、快捷方便。

c.数据存储安全、可靠。

d.信息分类清晰、准确。

e.强大的查询功能,保证数据查询的灵活性。

f.为管理员提供真实的数据信息。

g.对用户输入的数据,系统进行严格的数据检查,尽可能排除认为的错误。

系统功能结构

图系统功能结构

功能流程及工作流程

学生模块:

a.查看实验课程

系统操作人员打开学生模块主界面,输入相关的信息(学号、密码)进入模块,点击学年按钮就可以看到所需要的信息。

b.查看实验列表

系统操作人员打开学生模块主界面,输入相关信息进入模块,点击课程就可以看到所要的信息。

c.下载实验报告模板

当该学生进入自己的界面时,找到要做实验报告的课程,点击下载按钮。

d.上传实验报告

当学生做完实验报告后,进入系统,点击上传按钮。

教师模块:

a.查看实验课程

系统操作人员打开学生模块主界面,输入相关的信息(工号、密码)进入模块,点击学年按钮就可以看到所需要的信息。

b.查看实验列表

系统操作人员打开老师模块主界面,输入相关信息进入模块,点击课程就可以看到所要的信息

c.查看提交情况

教师进入教师界面,点击自己教的课程,点击查看按钮。

d.上传实验报告模板

当该老师进入自己的界面时,找到要做实验报告的课程的实验名称,点击上传按钮。

e.下载学生实验

当该老师进入自己的界面时,找到实验列表详情,点击下载按钮。

f.打分

当该老师进入自己的界面时,下载学生的实验报告看完后,在实验列表详情中点击打分按钮。

系统流程图

图系统流程图

构建开发环境

a.操作系统:

windows7或XP

b.java开发包:

c.数据库:

MYSQL

d.分辨率:

最佳效果为1024*768像素

文件夹组织结构

图文件夹组织结构

学生模块的实现

packageclassExperclass{

privateintEid;

privateStringcourseID;

privateStringcourseName;

privateStringcourseTime;

privateStringcoursePeriod;etConn();

privatePreparedStatementstrat=null;

publicDataGrid>experclass(Stringcoursetime)

throwsException{

DataGrid>dg=

newDataGrid>();

etParameter("page");

intpage=(_page==null"1":

_page);

String_rows=().getParameter("rows");

introws=(_rows==null"20":

_rows);

Stringsql="select*fromexperclasstablewhereCourseTime='"+coursetime+"'andTeacherID='"+

().getSession().getAttribute("TeaId")+"'";

etSession().getAttribute("userclassname")+"'";

"==============sql==========="+sql);

List>datamap=(sql,page,rows);

(datamap);

StringcountSQL="selectcount(*)fromexperclasstablewhereCourseTime='"+coursetime+"'andTeacherID='"+

().getSession().getAttribute("TeaId")+"'";

(countSQL));

returndg;

}

publicDataGrid>stuexperclass(StringcourseTime)throwsException{

etParameter("page");

intpage=(_page==null"1":

_page);

String_rows=().getParameter("rows");

introws=(_rows==null"20":

_rows);

etSession().getAttribute("userclassname")+"'";

List>datamap=(sql,page,rows);

(datamap);

StringcountSQL="selectcount(*)fromexperclasstablewhereCourseTime='"+courseTime+"'andClassName='"+

().getSession().getAttribute("userclassname")+"'";

(countSQL));

returndg;

}

publicDataGrid>stuexperContentlist(StringcourseId)throwsException{

etParameter("page");

intpage=(_page==null"1":

_page);

String_rows=().getParameter("rows");

introws=(_rows==null"20":

_rows);

etSession().getAttribute("userId");

List>datamap=(sql,page,rows);

(datamap);

StringcountSQL="selectcount(*)fromexpercontenttableast1joinexpertablesubmitast2on=where='"+courseId+"'andStudentID="+().getSession().getAttribute("userId");

(countSQL));

returndg;

}

publicExperContentqueryExperContent(StringexperimentID)throwsException{

fromexpercontenttableast1joinexpertablesubmitast2on=where='"+experimentID+"'andStudentID='"+().getSession().getAttribute("userId")+"'";

strat=(sql);

ResultSetrs=();

ExperContentcontent=null;

if()){

content=newExperContent();

("ExperimentID"));

("ExperimentName"));

("ExperimentContent"));

("ExperimentPeriod"));

("TeacherName"));

eplace("\\","/"));

}

returncontent;

}

publicDataGrid>getexperlist(StringcourseId)throwsException{

etParameter("page");

intpage=(_page==null"1":

_page);

String_rows=().getParameter("rows");

introws=(_rows==null"20":

_rows);

etConn();

privatePreparedStatementstrat=null;

publicExperDaoListImpl()throwsException{

super();

etParameter("page");

intpage=(_page==null"1":

_page);

String_rows=().getParameter("rows");

introws=(_rows==null"20":

_rows);

Stringsql="select*fromexpertablesubmitwhereExperimentID='"+experid+"'andCourseID='"+

courid+"'";

etSession().getAttribute("userclassname")+"'";

"==============sql==========="+sql);

List>datamap=(sql,page,rows);

(datamap);

StringcountSQL="selectcount(*)fromexpertablesubmitwhereExperimentID='"+experid+"'andCourseID='"+

courid+"'";

(countSQL));

returndg;

}

publicbooleanaddfron(Stringexperid,Stringcourid,Stringstuid,

floatTestscores)throwsException{

etConn();

privatePreparedStatementstrat=null;

publicUpfileDao()throwsException{

super();

}

publicUpfileQueryFileClass(Stringcourid)throwsException{

etSession().getAttribute("userId")+"'";

strat=(sql);

intn=();

if(n>0){

return"success";

}

return"false";

}

publicStringteaSaveFileRoad(Stringexperid,Stringpath,Stringcourid)

throwsException{

etConn();

privatePreparedStatementstrat=null;

publicUpfileDao()throwsException{

super();

}

publicUpfileQueryFileClass(Stringcourid)throwsException{

etSession().getAttribute("userId")+"'";

strat=(sql);

intn=();

if(n>0){

return"success";

}

return"false";

}

publicStringteaSaveFileRoad(Stringexperid,Stringpath,Stringcourid)

throwsException{

etConn();

privatePreparedStatementstrat=null;

publicDataGrid>experclass(Stringcoursetime)

throwsException{

DataGrid>dg=

newDataGrid>();

etParameter("page");

intpage=(_page==null"1":

_page);

String_rows=().getParameter("rows");

introws=(_rows==null"20":

_rows);

Stringsql="select*fromexperclasstablewhereCourseTime='"+coursetime+"'andTeacherID='"+

().getSession().getAttribute("TeaId")+"'";

etSession().getAttribute("userclassname")+"'";

"==============sql==========="+sql);

List>datamap=(sql,page,rows);

(datamap);

StringcountSQL="selectcount(*)fromexperclasstablewhereCourseTime='"+coursetime+"'andTeacherID='"+

().getSession().getAttribute("TeaId")+"'";

(countSQL));

returndg;

}

publicDataGrid>stuexperclass(StringcourseTime)throwsException{

etParameter("page");

intpage=(_page==null"1":

_page);

String_rows=().getParameter("rows");

introws=(_rows==null"20":

_rows);

etSession().getAttribute("userclassname")+"'";

List>datamap=(sql,page,rows);

(datamap);

StringcountSQL="selectcount(*)fromexperclasstablewhereCourseTime='"+courseTime+"'andClassName='"+

().getSession().getAttribute("userclassname")+"'";

(countSQL));

returndg;

}

publicDataGrid>stuexperContentlist(StringcourseId)throwsException{

etParameter("page");

intpage=(_page==null"1":

_page);

String_rows=().getParameter("rows");

introws=(_rows==null"20":

_rows);

etSession().getAttribute("userId");

List>datamap=(sql,page,rows);

(datamap);

StringcountSQL="selectcount(*)fromexpercontenttableast1joinexpertablesubmitast2on=where='"+courseId+"'andStudentID="+().getSession().getAttribute("userId");

(countSQL));

returndg;

}

publicExperContentqueryExperContent(StringexperimentID)throwsException{

fromexpercontenttableast1joinexpertablesubmitast2on=where='"+experimentID+"'andStudentID='"+().getSession().getAttribute("userId")+"'";

strat=(sql);

ResultSetrs=();

ExperContentcontent=null;

if()){

content=newExperContent();

("ExperimentID"));

("ExperimentName"));

("ExperimentContent"));

("ExperimentPeriod"));

("TeacherName"));

eplace("\\","/"));

}

returncontent;

}

publicDataGrid>getexperlist(StringcourseId)throwsException{

etParameter("page");

intpage=(_page==null"1":

_page);

String_rows=().getParameter("rows");

introws=(_rows==null"20":

_rows);

Css的学习:

虽然说在标签中也可以定义样式,但是这么做看起来不是那么明智,我在学CSS时还是比较努力的,所有的样式效果都测试过,并且写了相应的案例,只是过了不到3个月就忘了一大半,很多时候都是查文档才能写出来的,虽然CSS对于我们来说不必要非常精通,但是我觉得掌握的东西越多,以后的工作就越轻松,所以在考试结束后也会去看看前面的笔记和案例。

 

Javascript:

js 我认为是最重要的,甚至于超过servlet

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1