程序设计基础课程在线作业批改系统的设计与实现设计Word文档格式.docx
《程序设计基础课程在线作业批改系统的设计与实现设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《程序设计基础课程在线作业批改系统的设计与实现设计Word文档格式.docx(26页珍藏版)》请在冰豆网上搜索。
Abstract:
Inordertomaketheteachercorrectstudents'
papers,moreefficient,morescientific,anonlinehomeworksystemwasdevelopedbasedonJSP.Thesystemcanrealizethestudenttosubmithomeworkonline,theteachermarkinghomeworkonline,studentscanrefertoteachers'
feedback,leaveamessagetotheteachersputforwardtheirowndoubtsonline,andteacherscansolvetheproblemsofstudents.
Keywords:
onlinehomework;
structuredanalysis;
JSP
目录
1引言
检查学习计算机信息技术成效的方式有很多,作业是其中比较有效的方式之一。
布置作业、提交作业和批改作业是教师授课过程中一个非常重要的环节,它可以帮助教师布置和管理作业,掌握学生学习情况,以便于有针对性的帮助同学提高学习成绩,并及时发现学生在学习中遇到的问题以及自己教学中可能存在的问题,从而采取有效的措施对问题和不足进行解决。
同时通过在线的完成作业,学生可以对自己的作业有一个统一的管理,便于在以后的学习时进行查找,同时也可以了解自己一段时间内的各门功课的学习情况,通过及时调整自己的学习方法,达到提高学习成绩的目的。
程序设计基础课程在线作业批改系统的主要目标是实现学生在线提交作业,在线查阅教师批阅的反馈意见,并且能够向老师提问;
教师能够在线批阅,并且回答学生的问题。
这样既减轻了教师与学生的任务量,又提高了效率,同时也有利于教师与学生之间的相互通讯,更方便、更快捷地解决学生的疑难问题。
2需求分析
2.1系统的功能描述
在线作业批改系统有管理员,教师和学生三个功能模块。
管理员可以对课程,学生以及教师等进行管理操作;
教师可以批阅作业,查看留言并回复;
学生在线提交作业,查询作业批阅以及发表并查看留言。
此模块包括基本权限、课程管理、学生教师管理这三个部分。
1)基本权限:
此模块包括系统属性、密码修改这两个部分。
、系统属性:
系统的基本信息,如操作系统版本、操作系统类型,用户,目录,临时目录,JDK版本等。
、密码修改:
管理员可以对密码进行修改。
2)课程管理:
此模块包括课程管理和课程录入这两个部分。
、课程管理:
对课程的基本信息进行添加和删除的操作。
、课程录入:
对课程的基本信息进行录入。
3)学生教师管理:
此模块包括学生管理和教师管理这两个部分。
、学生管理:
对学生进行添加及删除的操作。
、教师管理:
对教师进行添加剂删除的操作。
此模块包括题库管理、作业管理、批阅作业,成绩统计、留言板这五个部分。
1)题库管理:
此模块包括题库管理和题目录入这两个部分。
、题库管理:
对课程进行选择。
、题目录入:
对课程的题型进行选择。
2)作业管理:
此模块包括作业管理和作业录入这两个部分。
、作业管理:
对作业进行删除,查看,以及添加的操作。
、作业录入:
对作业的章节及内容的录入。
3)批阅作业:
对学生的作业进行批阅。
4)成绩统计:
此模块包括成绩统计。
、成绩统计:
对学生作业的完成情况进行统计,学生的作业都会被打分,并且会被排名(用平均分进行降序排列)。
5)留言板:
查看学生的提问,并回答学生的问题。
此模块包括开始答题,分数查询、作业查询、留言板这四个部分。
1)完成作业:
学生完成教师布置的作业。
2)分数查询:
学生可以查询作业的完成情况及教师的反馈(以分数的形式反馈)。
3)作业查询:
学生可以查询作业进行回顾。
4)留言板:
学生可以向教师提问,并且可以看到教师的解答。
2.2可行性分析
可行性分析也称为可行性研究,其目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
下面将分别从经济、技术、操作三个方面对在线作业批改系统的建设进行分析和研究。
学校具有信息化的处理设施,并且拥有支持本系统的应用平台。
因此无需再投入资金购买其他设施。
系统的开发基于本人对程序开发的实践学习而来,学校无需资金投入,并且软件开发过程投入的成本不高,因此开发经费完全可以接受。
由以上分析可知,在线作业批改系统在经济上是可行的。
根据学校提出的系统功能、性能及实现系统的各种约束条件,根据新系统目标来衡量所需的技术是否具备,本系统是一个数据库管理和查询的系统,现有的技术已较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。
同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发的。
由以上分析可知,程序设计基础课程在线作业批改系统的开发在技术上是可行的。
2.2.3操作可行性
该系统界面美观,配置简单,易于操作。
3系统设计
3.1系统功能设计
系统总体分为三个模块,管理员,教师和学生登录模块。
登陆模块不同,对应的功能也不同。
图3.1系统功能模块图
3.2.业务流程设计
在进行业务流程分析时,需要按照原有信息流动过程,逐个地调查分析所有环节的处理业务、处理内容、处理顺序和对处理时间的要求,弄清各个环节需要的信息、信息来源、流经去向、处理方法、计算方法、提供信息的时间和信息形态(报告、报单、屏幕显示)等[4]。
业务流程分析可以帮助开发者了解该业务处理过程,发现和处理系统调查工作中的错误和疏漏。
业务流程分析是通过业务流程图来进行,即用一些规定的符号及连线来表示某个具体业务处理过程。
具体业务流程如图3.2所示。
图3.2业务流程图
3.3系统数据库设计
数据库是本系统的核心和基础。
它设计的好坏直接影响着整个系统的质量。
数据是一切系统设计的基础,通俗地说,数据库设计就像高楼大厦的根基一样,如果设计的不合理、不完善,将在系统开发过程中,甚至到后期的系统维护、功能变更和功能扩充时,引起较多问题,严重时甚至要重新设计,重做大量已完成工作。
从数据需求分析中得出系统的实体属性图。
管理员实体属性图如图3.3所示:
图3.3管理员实体属性图
课程实体属性图如图3.4所示:
图3.4课程实体属性图
分数实体属性图如图3.5所示:
图3.5分数实体属性图
作业实体属性图如图3.6所示:
图3.6作业实体属性图
学生实体属性图如图3.7所示:
图3.7学生实体属性图
教师实体属性图如图3.8所示:
图3.8学生实体属性图
题目实体属性图如图3.9所示:
图3.9题目实体属性图
E-R模型的组成元素有:
实体、属性、联系。
E-R模型用E-R图表示。
实体是用户工作环境中所涉及的事务,属性是对实体特征的描述。
(1)模型中的实体相当于实体集、一个表,而不是单个实体或表中的一行。
实体用矩形框表示,实体名称标注在矩形框内。
用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连接,在无向边旁标上联系的类型。
(2)属性是实体的性质。
用椭圆框表示,与实体之间用一条线相连表的主码是关键属性,关键属性项加下划线。
(3)各子系统模块中主键相同的字段之间存在着相互关联的关系。
(4)在程序中实现对他们的完整性和一致性控制。
从数据需求分析中得出系统的实体属性图,遵循三范式原则,对实体之间的依赖关系进行了整合,得出系统E-R图,如图3.10所示:
图3.10系统E-R图
说明:
图中用矩形表示实体。
实体之间的关系用菱形表示,用无向边把菱形与有关实体连接,在边上标明联系的类型。
实体的属性用椭圆表示,并用无向边把实体与属性联系起来。
表4.1管理员信息表
字段名
类型
长度
说明
id
Int
4
管理员编号(主键)
name
varchar
30
用户名
pwd
20
用户密码
用户表用于存放管理员的信息。
表4.2课程信息表
编号(主键)
名称
Xueshi
学时
Beizhu
50
备注
用于存放课程的基本信息。
表4.3分数信息表
分数编号(主键)
shiti_id
作业编号(外键)
Stu-id
学生编号(外键)
Grade
分数
分数信息表用来存放分数的基本信息。
表4.4作业信息表
数据类型
功能描述
Name
作业名称
Jieshao
100
介绍
Time
Datetime
8
时间
试题信息表用来存放作业的基本信息。
表4.5学生信息表
学号
varchar
登录名
Age
年龄
truename
姓名
sex
2
性别
Password
密码
Add
出生地
学生信息表用来存放学生的基本信息的。
表4.6教师信息表
Tea-id
教师号
教师信息表用来存放教师的基本信息的。
表4.7题目信息表
题目编号(主键)
题目名称
Leixing
题目类型
A
B
C
D
Daan
200
答案
fenshu
Kecheng-id
课程编号(外键)
题目信息表用于存放题目的信息。
4系统实现
4.1系统管理员登录模块
(1)登录模块
此模块主要功能是用于登录本系统,不同权限的用户登录本系统会进入不同的管理模块界面,因为在后台对该用户进行的判断,首先将从前台页面提交的用户名和密码进行接受,之后在后台进行处理,按照用户名在数据库中进行查询,如果查到该用户则将该用户的权限和密码全都取出来分别赋给两个字符串变量,判断从数据库中读出的密码与登录时输入的密码是否配比上,若两个密码相同则根据权限的值进入相应的页面,否则输出密码错误。
若用户未被管理员分配好权限那么也是无法登录本系统的。
如图4.1所示:
图4.1登录界面
(2)程序流图
图4.2登录程序流程图
4.1.2基本操作
基本操作包括系统属性和密码修改这两个部分。
如图4.3和图4.4所示:
图4.3系统基本信息图
图4.4系统基本信息图
4.1.3课程管理界面
系统管理员登录本系统后可以管理课程信息。
如图4.5和图4.6所示:
图4.5课程管理界面
图4.6课程管理录入界面
系统管理员登录本系统后,可以添加学生信息。
如图4.11所示:
图4.11添加学生界面
系统管理员登录本系统后,可以管理老师信息。
如图4.12所示:
图4.12教师管理界面
4.2学生模块
4.2.1答题界面
学生登录本系统后,可以进行,如图4.13所示:
图4.13答题界面
4.2.2成绩查询界面
成绩查询界面如图4.14所示:
图4.14成绩查询图
作业查询界面如图4.15所示:
图4.15作业查询图
(1)发表留言界面如图4.16所示:
图4.16发表留言图
(2)(2查看留言界面如图4.17所示:
图4.17查看留言图
4.3教师模块
4.3.1开始批阅界面
评分教师登录本系统后,可以开始批阅。
如图4.17所示:
图4.17作业批阅界面
系统管理员登登录本系统后,可以管理题库信息。
如图4.7和图4.8所示:
图4.7题目管理界面
图4.8课程管理录入界面
系统管理员登录本系统后,可以对作业进行管理。
如图4.9和图4.10所示:
图4.9作业管理界面
图4.10作业管理录入界面
打开留言板管理界面,教师可以查看学生留言,并且可以回复。
如图4.15所示:
图4.18留言板管理界面
5软件测试与分析
测试是开发时期最后一个阶段,是保证软件质量的重要手段。
软件测试就是在受控制的条件下对系统或应用程序进行操作并评价操作结果的过程,所谓控制条件应包括正常条件与非正常条件。
软件测试过程中应该故意地去促使错误的发生,也就是事情在不该出现的时候出现或者在应该出现的时候没有出现。
从本质上说,软件测试是"
探测"
,在“探测”中发现软件的毛病。
5.1软件测试的重要性
软件测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。
近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。
事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。
采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计。
测试是所有工程学科的基本组成单元,是软件开发的重要部分。
自有程序设计的那天起测试就一直伴随着。
统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%以上。
而在软件开发的总成本中,用在测试上的开销要占30%到50%。
如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。
5.2测试实例的研究与选择
程序测试的主要方法分为两大类,白盒测试和黑盒测试。
白盒测试:
一种是以程序的内部逻辑结构为依据而设计测试用例的方法,因而又称结构测试或玻璃盒测试,将软件看成一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查它与设计是否相符。
白盒测试就是要选取足够的测试用例,对源代码实行比较充分的覆盖,以便尽可能多地发现程序中的错误。
主要有两种方法:
一种称为逻辑覆盖法,另一种称为路径覆盖法。
黑盒测试:
也称功能测试,数据驱动测试等,它将待测对象堪称是一个黑盒子,在完全不考虑程序的内部结构和特性的情况下,只依据规格说明书检查程序的功能是否能正常使用。
黑盒测试主要是根据输入条件和输出条件的确定测试数据,来检查程序是否能产生正确的输出。
进行黑盒测试主要有下面几种方法:
等价分类法、边界值分析法、猜错法、因果图法。
本系统的测试综合了白盒测试、黑盒测试两种方法,但主要使用的是黑盒测试方法。
在测试当中遵循了“尽早地和不断进行测试”,“保证测试用例的完整性和有效性”原则。
通过测试达到以下测试目的:
1.功能检查:
检查功能是否争取,是否遗漏或实现不了应该实现的功能等。
2接口检查:
检查能否正确地接受信息或输出信息。
3数据检查:
检查数据结构或外部信息是否有(如数据文件)访问错误。
4性能检查:
检查性能需求能否得到满足。
5初始化、终止检查:
检查是否能进行正确地初始化或终止。
5.3测试环境与测试条件
处理器:
Inter(R)Core(TM)2DuoT5750
内存:
2GB
硬盘:
160G
操作系统:
WindowsXP
数据库:
SQLServer2000
5.4系统运行情况
通过对系统的全面测试,所有测试条目都已经通过,实现了基本要求,系统可以正常运行。
5.5系统评价
系统评价是指系统在正式运行了一段时间之后,对它在功能上、技术上和经济上所进行的审核评价。
针对本系统的评价如下:
(1)系统功能评价
根据本系统开发前所订的目标,在系统完成后经过测试运行,该系统达到了预定的开发目标,在实际使用中的功能可以满足用户需求。
(2)系统技术评价
本系统设计合理,功能达到了预期目标,且系统运行后稳定可靠,安全性高,具有实用性,大大提高了信访办公效率。
(3)系统经济评价
在规定时间内,该系统完成了系统分析时所确定的系统开发目标,达到了设计要求,投入使用后为用户节省了大量人力物力财力,提高了科学管理水平。
6总结
经过努力,我的毕业设计终于完成了。
此系统能够完成作业的布置提交与批阅,而且学生和教师可以通过留言板互动。
在完成此系统过程中,深入研究了一些开发中需要的关键技术,最后按照软件工程结构化分析方法进行系统的分析设计,其中工作主要有:
研究了JSP技术,深入分析了在Web信息系统中JSP的具体应用。
对系统作了详细的需求分析,分析过程中运用了软件工程的思想,设计了包括数据字典、系统数据流图等。
通过对业务的分析进行了数据库的设计,在数据库设计过程中详细调查了一些字段的取值并将具体选值给出。
详细研究了系统开发中的设计模式,分析和探讨了如何将设计模式有效应用于系统开发。
由于时间的关系,系统还有很多有待完善和优化的地方,如,课程与老师之间没有相应的对应关系,留言板上没有显示发表人的姓名,我会不断努力,将其改善,使在线作业批改系统更加完善。
致谢
在毕业设计完成之际,衷心感谢我的毕也设计指导老师—李老师。
从毕业设计选题、如何开展到如何深入的过程中,老师一直给予我悉心的指导。
当我每次有所疑惑,老师都会给予我悉心开导与帮助。
在此,再次衷心感谢老师,也感谢所有帮助过我的人。
参考文献
[1]陈雷,尚冰,杨光等.教师教学档案信息管理系统的设计研究[J].辽宁中医学院学报(第五卷第4期),2003年11月.
[2]滕佳东.管理信息系统[M].东北财经大学出版社.2008.2.
[3]甘仞初,颜志军,龙虹.信息系统分析与设计[M].北京:
高等教育出版社,2003.
[4]孙卫琴,李洪成.Tomcat与JavaWeb开发技术详解[M].北京:
电子工业出版社,2003年6月
[5]孙一林,彭波.Java数据库编程实例[M].北京:
清华大学出版社,2002年8月
[6]耿祥义,张跃平.JSP实用教程[M].北京:
清华大学出版社,2003年5月1日
[7]萨师煊,王珊.数据库网站概论[M].北京:
高等教育出版社,2002年2月
[8]刘长炯.MyEclipse8.5开发中文教程[M].北京:
新华大学出版社,2009年6月
[9]赵翀,孙宁.软件测试:
基于案例的测试[M].北京:
机械工业出版社,2011.04
[10]张海藩.软件工程导论(第五版)[M].北京:
清华大学出版社,2008.02
科技外文文献
12.隐式代码.
本章节包含了两个特性,允许简化代码。
它们的目标是不同的:
键值编码(12.1节)可以解决一个间接的方法调用,通过选择第一个有效的匹配实现,虽然属性(参看12.2节58页)可以让编译器生一些“粘合剂”,无聊的代码。
键值编码实际上被Cocoa提供的设施是被Cocoa,虽然属性的概念是语言本身的一部分,在objective-c2.0中增加的。
12.1键值编码
键值编码的实践是访问一个数据成员的值通过它的名称。
这是一种类似于关联数组(NSDictionary,参见11.1节54页),数据成员的名称是关键。
类NSObject提供了方法名为valueForKey:
和setValue:
forKey:
。
如果数据成员对象本身,勘探深度可以做,在这种情况下,关键必须是一个“keypath”,这些组件以圆点分隔。
方法使用valueForKeyPath:
forKeyPath:
由于语法,可以使用相同的代码来管理不同的一些对象类使用相