作业提交系统.docx
《作业提交系统.docx》由会员分享,可在线阅读,更多相关《作业提交系统.docx(65页珍藏版)》请在冰豆网上搜索。
![作业提交系统.docx](https://file1.bdocx.com/fileroot1/2023-6/3/2df9fd68-0b64-4b76-bc75-8785e82d22a5/2df9fd68-0b64-4b76-bc75-8785e82d22a51.gif)
作业提交系统
软件工程课程设计报告
(2014年度第一学期)
课程名称:
软件工程课程设计
题目:
作业提交系统
院系:
计算机与信息技术学院
班级:
软件工程
组号:
组长:
赵佳
组员:
史鸿羽,尚佩,王前
*******
设计周数:
4周
小组成绩:
日期:
2014年09月18日
《软件工程》课程设计任务书
一、目的、要求
通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。
具体如下:
●学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;
●熟悉自动化的软件开发工具RationalRose2003等,并将其运用于软件开发的全过程;
●进一步加强和提高软件工程文档的编写能力;
●培养协作能力和团队精神。
二、任务分配
任务
负责人
参与人
备注
需求分析
赵佳
史鸿羽
二人共同讨论课题,系统功能,粗略分析用例
总体设计
史鸿羽
赵佳
参与人负责E-R图,总体结构设计图纠错
详细设计
王前
无
根据需求分析制作流程图
系统实现与测试
尚佩
无
实现Java代码在eclipse上的实现
三、设计成果要求
●建立系统分析与设计模型;
●初步建立系统原型,实现关键的功能;
●编写课程设计报告。
*******
日期:
2014年9月18日
《软件工程》课程设计成绩评定
一、指导教师评语
二、成绩
学号
姓名
成绩
备注
2012242115
赵佳
2012242067
史鸿羽
2012242065
尚佩
2012242078
王前
*******
日期:
2014年9月18日
摘要:
作业提交系统是基于b/s结构,在tomcat平台上使用JSP与MicrosoftSQL2005开发的,主要目的是解决学校机房管理上机作业的问题。
因为传统的对学生作业管理是在服务器上建立一个FTP服务器,然后对学生用户设置一个专门的帐号,只允许对作业进行上传/下载,然后学生将作业上传到服务器里面对应的班级文件夹下面。
这种传统的方法可能导致学生之间相互抄袭,因为上传的作业别的同学也可以看到,而且局域网共享本身就存在很大的安全隐患,很多病毒都是通过共享传染到其他机器,影响整个机房的正常运行,传统方式无法解决的问题有:
不能防止学生乱上传作业,不能防止学生找错班级文件夹,不能对作业进行限制如大小,类型,上传时间等,教师布置作业要通过黑板写字,教师打分之后只能记在本子上,不能通过局域网发布出来让学生看,教师下载作业必须到服务器上拷贝。
而这套系统正是出于这个目的,为了解决上面的问题而设计的。
系统对于复杂的问题都采用程序的方式解决了。
系统分了管理员、教师、学生用户,管理员须进行的操作是录入,删除,修改,增加学生和教师的相关信息。
而教师只需要发布作业,对作业的要求进行限制,不必去服务器上建文件夹来存放你的作业,并且程序自动创建目录。
下载作业也只须要点一下就会将作业全部打包下载回来,在局域网内的任何一台计算机都可以进行各种操作。
学生则再也不会将作业上传错,上传到别的班级中,也不允许上传非法的文件,对一次未上传完成的作业也可以先暂存后下节课再下载回来接着做。
关键字:
作业提交数据库管理JSP
1课程设计的目的与要求
通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。
具体如下:
(1)学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;
(2)熟悉自动化的软件开发工具RationalRose2003,并将其运用于软件开发的全过程;
(3)进一步加强和提高软件工程文档的编写能力;
(4)培养协作能力和团队精神。
2设计正文
2.1概述
2.1.1课题题目:
作业提交系统
2.1.2系统的主要目标
本系统目标是实现作业提交系统所需的各种基本功能,包括:
(1)学生用户的主要需求功能是登陆作业系统公告界面;登录密码可以自己修改;查看教师发布的作业公告,以及管理员发布的系统公告;然后完成作业后提交;如果完不成可以先暂存;遇到不懂的可以提出相关疑问;待老师批改完后,可以查看自己的成绩;也可以查看个人资料;
(2)教师用户主要功能是登陆作业系统公告界面;登录密码可以自己修改;发布作业公告;查看系统公告;待学生完成后进行批改;对学生作业进行点评;然后录入分数;对学生提出的疑问进行解答;也可以查看个人资料;
(3)管理员主要功能是登陆作业系统管理界面;登录密码可以自己修改;管理教师和学生的个人信息,包括录入,删除,修改;发布系统公告;还有作业信息的管理,即当作业到一定量的时候,进行必要的删除;可以管理其他管理员;还可以注销其他用户,包括注销教师,学生,以及管理员;也可以查看个人资料;
2.1.3系统的开发环境及运行环境:
操作系统:
Windows7
建模工具:
RationalRose2003
数据库系统:
SQLServer2005
运行环境:
JDK1.6.0_43
开发工具:
eclipse3.2
Web服务器:
TOMCAT6.0平台
2.2系统需求分析
学生选课系统主要满足来自三方面的需求,这三个方面分别是学生用户、教师用户和管理员用户,也即是三类用户角色。
(1)学生用户的主要需求功能是登陆作业系统公告界面;登录密码可以自己修改;查看教师发布的作业公告,以及管理员发布的系统公告;然后完成作业后提交;如果完不成可以先暂存;遇到不懂的可以提出相关疑问;待老师批改完后,可以查看自己的成绩;也可以查看个人资料;
(2)教师用户主要功能是登陆作业系统公告界面;登录密码可以自己修改;发布作业公告;查看系统公告;待学生完成后进行批改;对学生作业进行点评;然后录入分数;对学生提出的疑问进行解答;也可以查看个人资料;
(3)管理员主要功能是登陆作业系统管理界面;登录密码可以自己修改;管理教师和学生的个人资料,包括录入,删除,修改;发布系统公告;还有作业信息的管理,即当作业到一定量的时候,进行必要的删除;可以管理其他管理员;还可以注销其他用户,包括注销教师,学生,以及管理员;也可以查看个人资料;
本系统将管理员用户、教师用户、学生用户的身份及权限进行严格的划分,让管理员拥有最高权限,可以查看、维护系统中的所有信息,如添加学生,添加教师,添加管理员,注销用户等;让教师拥有下发作业,以及提交学生成绩的权限;让学生拥有对作业进行提交和暂存的权限;而修改密码模块的权限每个用户都可拥有,用以修改自己的密码信息。
通过进行严格的权限划分,可以更好地进行管理,也可更好地保护用户信息安全。
2.2.1.用例图
图2.2.1作业提交系统用例图
用例图说明:
(1)系统的外部角色有:
学生用户、教师用户和管理员。
(2)系统主要用例的文档描述:
①学生管理用例:
学生用户可见的功能,包含查看公告,作答作业,提出疑问,查看成绩功能。
②教师管理用例:
教师用户可见的功能,包含了发布作业公告,批改学生作业,提交成绩和解答疑问功能。
③信息管理用例:
管理员可见的功能,这个用例进一步分为三个用例:
学生信息管理用例、教师信息管理用例和管理员信息管理用例。
④学生信息管理用例:
信息管理用例可见的功能,实现学生信息的管理功能,包含了添加学生、修改学生信息和注销学生三个用例。
⑤教师信息管理用例:
信息管理用例可见的功能,实现教师信息的管理功能,包含了添加教师、修改教师信息和注销教师三个用例。
⑥修改密码用例:
所有用户都可见的功能,用于修改用户的密码信息
(3)系统关键用例的正常事件流图和异常事件流图
表2-1修改密码用例的正常事件流图和异常事件流图
用例名称
修改密码
参与者
管理员、教师、学生
描述
管理员、教师、学生用户进行密码修改
启动
单击“修改密码”链接
前置条件
用户成功登录
主事件流
用户
系统
1.进入用户修改密码界面,输入旧密码一次
,新密码两次
2.系统检查密码格式是否相符
3.系统检查旧密码是否正确
4.如果正确,进行密码修改,转入密码修改成功界面
异常流
异常流
密码检查未通过
系统
返回密码修改界面,提示旧密码不正确,新密码格式不符,两次不同等密码
异常
用户旧密码错误
表2-2提交成绩用例的正常事件流图和异常事件流图
用例名称
提交成绩用例
参与者
教师用户
描述
提交选自己开设课程的学生的成绩
启动
进入提交成绩界面
前置条件
用户成功登录
后置条件
尚未提交过成绩
主事件流
用户
系统
1.单击提交成绩
2.系统提交成绩页面
3.填写学生成绩,单击提交成绩
5.更新学生成绩,提示提交成功
异常流
异常流
用户已经提交过该门课程成绩
系统
提示该课程成绩已提交,不能再次提交
2.2.2.类图
图2.2.2作业提交系统类图
类图说明:
(1)BaseUser类是一个系统角色用户的基类,主要功能有两个:
modifyPWD()用于修改用户的密码;
loginCheck()用于用户登录验证。
(2)Admin类继承自BaseUser类。
主要功能有:
Adminregis()用于管理员登陆
Adminlog()用于注销学生和教师信息
Adminmanage()用于学生和教师信息管理
Adminrelease()用于发布公告
Adminoperation()用于作业管理
Adminadmin()用于管理管理员
(3)Student类继承自BaseUser类,主要功能有:
Studentregis()用于学生登录;
Studentlookann()用于学生查看公告;
Studentsubmit()用于学生提交作业;
Studettempo()用于学生作业暂存;
Studetquiz()用于学生提问
Studentlookper()用于学生查看成绩
(4)Teacher类继承自BaseUser类,主要功能有:
Teacherregis()用于教师登陆;
Teacherrelease()用于发布作业公告;
Teachercorrect()用于教师批改作业;
Teachersubmit()用于教师提交成绩
Teacherremark()用于教师点评作业;
Teacheranswer()用于教师解答学生疑问
(5)task类是一个作业类,主要功能有:
Taskdepart()用于区分作业科目;
Taskperformance()用于表明作业成绩;
Taskremark()用于点评作业;
(6)Submit类是一个提交类,主要功能有:
Studentsubmit()用于学生提交作业;
Teachersubmit()用于教师提交成绩;
2.2.3.时序图
(1)管理员修改教师信息
图2.2.3.1管理员修改教师信息时序图
(2)学生用户作答作业
图2.2.3.2学生用户作答作业时序图
(3)教师用户提交成绩
图2.2.3.3教师用户提交成绩时序图
2.2.4.协作图
(1)教师提交成绩
图2.2.4.1教师提交成绩协作图
(2)管理员修改教师信息
(3)图2.2.4.2管理员修改教师信息协作图
(3)学生用户作答作业
图2.2.4.3学生用户作答作业协作图
2.2.5E-R图
图2.2.5作业提交系统E-R图
2.3系统总体设计
2.3.1设计问题域子系统
本系统的目标是在Internet/Intranet上来实现网上作业提交,可以实现学生在线提交作业的无纸化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务,随时随地的可以让学生联机操作提交。
系统采用了模块化的设计方法:
选择了JSP语言环境使用Microsoftserver2005做为数据库平台。
本系统整体上可划分为若干个功能模块。
系统安全可靠也是一个重要的设计原则。
本系统的配置是采用Windows7作为网络操作系统,Microsoftserver2005作为数据库服务器。
所以操作系统Windows7的安全防护机制及数据库Microsoftserver2005的安全机制是本系统采用的安全防护方式。
(1)总体设计图
图2.3.1作业提交系统的总体设计图及其部分细化命令部分
(2)各模块功能
表3-1各模块功能
功能模块
包含子功能模块
功能
管理员模块
学生管理子模块
对学生信息的录入,修改,删除操作,注销学生用户,对到达一定量的已批改的学生作业进行删除等
教师管理子模块
对教师信息的录入,修改,删除操作,注销教师用户等
管理员管理子模块
对管理员信息的录入,修改,删除操作,注销管理员用户等
教师模块
发布作业公告,查看系统公告,批改作业,录入成绩,点评作业,解答疑问等
学生模块
查看公告,作业提交,作业暂存,提问查看成绩等
公有模块
实现用户的身份验证,即登陆,密码修改,查看个人资料,退出登录等功能
图2.3.1.2
2.3.2设计数据管理子系统
(1)数据库表
序号
数据库表
数据表存储的内容
1
Student
存储学生的信息
2
Teacher
存储教师的信息
3
Admin
存储管理员的信息
4
Task
存储作业的信息
5
Tasknotice
存储作业公告的信息
6
Logoff
存储注销的信息
7
Download
存储下载的信息
8
Quizanswer
存储提问解答的信息
表3-2
(2)数据表之间的关系
图2.3.1.2数据库关系图
(3)数据库表结构
(1)学生表Student的详细数据字段:
表3-3Student学生用户表
序号
字段名
字段类型
说明
备注
1
stuID
nvarchar(20)notnull
学生学号
关键字
2
stuPwd
nvarchar(20)notnull
学生密码
3
stuName
nvarchar(20)notnull
学生姓名
4
stuDepart
int
学生系院号
5
stuGrade
int
学生年级
6
stuClass
int
学生班级
7
stuSex
nvarchar(4)notnull
学生性别
(2)教师表Teacher的详细数据字段:
表3-4Teacher教师用户表
序号
字段名
字段类型
说明
备注
1
teaID
nvarchar(20)notnull
教师编号
关键字
2
teaPwd
nvarchar(20)notnull
教师密码
3
teaName
nvarchar(100)notnull
教师姓名
4
teaDepart
int(4)
教师系院号
5
teaSex
nvarchar(4)
教师性别
6
teaCourse
nvarchar(20)
教师课程
(3)作业task的详细数据字段:
表3-5task作业信息表
序号
字段名
字段类型
说明
备注
1
stuID
nvarchar(20)notnull
学生编号
关键字
2
teaID
nvarchar(20)notnull
教师编号
关键字
3
tasksubject
nvarchar(100)notnull
作业科目
4
taskgrade
int
作业成绩
5
taskremark
nvarchar(50)
作业点评
6
Submittime
nvarchar(10)notnull
作业提交时间
7
Correcttime
nvarchar(10)notnull
作业批改时间
(4)作业公告tasknotice的详细数据字段:
表3-6tasknotice作业公告信息表
序号
字段名
字段类型
说明
备注
1
teaID
nvarchar(20)notnull
教师编号
关键字
2
tsaID
nvarchar(20)notnull
作业公告编号
关键字
3
Releasetime
nvarchar(10)notnull
发布时间
4
memoryspace
intnotnull
存储量
(5)系统管理员表Users的详细数据字段:
表3-7Users管理员表
序号
字段名
字段类型
说明
备注
1
adminName
nvarchar(20)notnull
系统管理员用户名
关键字
2
adminPwd
nvarchar(20)
系统管理员密码
(6)注销logoff的详细数据字段
序号
字段名
字段类型
说明
备注
1
stuID
nvarchar(20)notnull
学生编号
关键字
2
teaID
nvarchar(20)notnull
教师编号
关键字
3
adminName
nvarchar(20)notnull
系统管理员用户名
关键字
4
logofftime
nvarchar(10)notnull
注销时间
5
logoffnumber
Nvarchar(100)
注销人数
表3-8logoff注销表
(7)下载download的详细数据字段:
表3-9download下载信息表
序号
字段名
字段类型
说明
备注
1
stuID
nvarchar(20)notnull
学生学号
关键字
2
tsaID
nvarchar(20)notnull
作业公告编号
关键字
3
downloadtime
nvarchar(10)notnull
发布时间
(8)quizanswer提问解答的详细数据字段:
表3-10quizanswer提问解答信息表
序号
字段名
字段类型
说明
备注
1
stuID
nvarchar(20)notnull
学生编号
关键字
2
teaID
nvarchar(20)notnull
教师编号
关键字
3
quiznum
nvarchar(100)notnull
问题编号
关键字
4
quiztime
nvarchar(10)notnull
提问时间
5
answertime
nvarchar(10)notnull
解答时间
2.3.3设计人机交互子系统
(1)用户分类
本系统的用户可分为三类:
1)管理员用户;
2)教师用户;
3)学生用户。
(2)用户描述
1)管理员用户的描述:
管理员用户在整个作业提交系统中起到管理和维护的作用,对学生和教师的信息进行管理和维护以及发布公告,注销用户等职责。
2)教师用户的描述:
教师用户在本系统中具有发布作业公告、批改作业、点评作业的权限,并且录入学生成绩,解答学生疑问。
3)学生用户的描述:
作业提交系统主要是针对学生提交作业的,学生在本系统中具有查看公告、作业提交、暂存作业、提交作业,向老师提问以及查看成绩的功能。
(3)设计命令层次
1)系统的人机交互子系统的内容和准则:
本作业提交系统的人机交互子系统在根据不同的用户身份登陆到不同的页面,然后按照不同的用户只能进行用户权限内的操作,其结构图如下:
2.3.3.1系统层次
2)通过采用树形结构,细化命令的组织方式,如下:
2.3.3.2细化命令组织方式
2.4详细设计
学生选课系统是实现学生网上选课、教师提交成绩以及学校教务管理员维护信息的一个平台,整个学生选课系统共分为4个大模块:
管理员模块,教师模块,学生模块和公有模块,其中复杂的方法和模块的详细设计流程图如下。
(1)用户系统登录流程图
2.4.1用户系统登录流程图
(2)用户密码修改流程图
2.4.2用户密码修改流程图
(3)教师提交成绩流程图
2.4.3教师提交成绩流程图
(4)管理员修改教师信息流程图
2.4.4管理员修改教师信息流程图
(5)学生用户作答作业流程图
2.4.5学生用户作答作业流程图
2.5系统实现
本系统采用了三层架构来实现,即分为用户界面层(UI)、业务逻辑层(BLL)和数据访问层(DAL),用户界面层是展示给用户的界面,方便用户与系统进行交互;业务逻辑层是对系统业务实体的封装,完成系统业务功能;数据访问层直接与数据库打交道,为业务逻辑层提供底层的数据库操作。
2.5.1系统登陆
主要代码:
Stringsql="";
if(qx.equals("管理员")){
sql="select*fromglywhereyhm='"+yhm+"'andmm='"+mm+"'";
}elseif(qx.equals("学生")){
sql="select*fromxueshengwhereyhm='"+yhm+"'andmm='"+mm+"'";
}elseif(qx.equals("教师")){
sql="select*fromjiaoshiwhereyhm='"+yhm+"'andmm='"+mm+"'";
}
System.out.println("sql="+sql);
db.open();
ResultSetrs=db.query(sql);
out.println("