毕业设计论文基于MVC架构的网上选课系统的设计与实现.docx
- 文档编号:4155553
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:47
- 大小:352.62KB
毕业设计论文基于MVC架构的网上选课系统的设计与实现.docx
《毕业设计论文基于MVC架构的网上选课系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《毕业设计论文基于MVC架构的网上选课系统的设计与实现.docx(47页珍藏版)》请在冰点文库上搜索。
毕业设计论文基于MVC架构的网上选课系统的设计与实现
中图分类号:
TP319
本科生毕业论文(或设计)
(申请学士学位)
论文题目基于MVC架构的网上选课系统的设计与实现
作者姓名张楠
所学专业名称计算机科学与技术
指导教师刘士喜
2009年6月10日
学号:
**********
论文答辩日期:
2009年5月30日
指导教师:
(签字)
滁州学院本科毕业设计(论文)原创性声明
本人郑重声明:
所呈交的设计(论文)是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
年月日
注:
本页放在学位论文封面后,目录前面。
基于MVC架构的网上选课系统的设计与实现
摘要:
近年来,由于高校在校人数的增多以及对学生信息统一管理的需要,学生选课管理面临着巨大的工作量。
学校每学期的学生选课都需要进行综合统计,但是每次的选课工作都是人工收集和统计选票,这样既花费大量的时间,还容易出现误差。
为解决这些问题,本文设计了一个基于MVC架构的网上选课系统,不仅使学生选课处理效率高,而且能够避免出错。
对MVC进行了简要的描述,说明了使用MVC的优越之处。
通过用例图和活动图对系统进行需求分析,并阐述了本系统实施的可行性。
在分析本系统业务流程的基础上,进行系统设计。
提出了本系统的总体结构和后台数据库,详细描述了系统的各功能模块的实现细节。
最后给出本系统的优点和不足。
关键词:
MVC;网上选课;用例图;活动图
Thedesignandrealizationforon-linecourseselectionmanagementbasedonMVCstructure
Abstract:
Inrecentyears,withtheincreasingofstudentsinuniversityandthedemandofUnifiedmanagementofstudents’information,selectingcourseforstudentsisfacinggiantworkload.Everysemesterselectingforstudentsneedstocarryonthesynthesisstatisticinuniversity,however,collectingandcountingvotingthroughmanualworkwhichnotonlyspendsmuchtime,butalsomanyerrorsoccureasily.Inordertosolvetheseproblems,theauthordesignsanon-linecourseselcectionmanagementwhichbasedonMVC.Itnotonlyhashighprocessingefficiencyforstudentstoselectcourse,butalsomanymistakescanbeavoided.ThispaperdescribesMVCbriefly,andshowstheadvantageofusingMVC.ThissystemdemandwiththeUseCaseDiagramandActivityDiagramisanalyzed,andthefeasibilityofthissystem’simplementationisexplained.Inthebaseofanalysisofthissystem’sbusinessprocesses,thesystemdesignisisgiven,andthegrossstructureandDatabaseofthissystemispresented,andtherealizationofeveryfunctionmoduleofthissystemisdescribedindetails.Finally,thestrengthsandweaknessesofthissystemispresented.
Keywords:
MVC;on-linecourseselection;UseCaseDiagram;ActivityDiagram
1绪论
1.1系统的研究现状
目前对于网上选课系统的研究已经越来越深入,也越来越成熟,主要是基于B/S模式,采用JAVA、ASP等编程语言和ORACLE、SQLServer、ACCESS等数据库相结合进行设计和实现。
基于JAVA平台和ORACLE9i技术的网上选课系统,分析了基于WEB选课系统的需求,对系统进行了全面分析,并采用JAVA+ORACLE9i技术的具体设计方案,提出了设计过程中问题的解决办法。
系统以Apache+Tomcat为应用服务器,Oracle9i为后台数据库,DreamweaverMx和Jbuilder9为开发工具[1]。
随着高校教育教学改革的不断深入,众多院校采用选课制。
本文采用统一建模语言(UML)完成了该系统的分析和设计,提出了分布式3层体系结构的设计方案,并简要介绍了该系统的设计思想和功能模块[2]。
为了全面推进素质教育,越来越多的中等职业学校都采用了学分制教学管理制度。
这种制度需要面对的一个重要问题就是学生的选课操作问题,如果采用人工的方法既费时又费力,因而需要选用一种新的选课方式解决这个问题。
本系统是在学校校园网平台的基础上使用ASP.NET及数据库技术开发出的、适合于中等职业学校使用的网上选课系统,可以比较好地解决此问题[3]。
随着通讯技术和计算机网络技术的不断发展,高校教学管理网络化已成为一个发展趋势。
针对高校教务管理改革中的一个重点问题——学生选课设计了一个切实可行的系统,并对基于ASP的网上选课系统开发的基本原理和系统结构作了阐述,讨论了如何利用ASP实现对数据库的动态操作,并介绍该在线选课系统的几个主要功能模块的设计过程并实现了该选课系统,选课效果良好[4]。
基于ASP.NET和SQLServer2005的网上选课系统的系统模块、逻辑体系结构、系统优化及实现的关键技术。
在WindowsServer2003+IIS6.0+.net的平台上,以SQLServer2005为后台数据库,采用ASP.NET为基本开发工具,充分考虑了系统的安全性,实现了教师和所教课程的添加、修改、删除,还实现了学生注册、确认和分班的综合管理[5]。
基于MVC架构采用JSP+Servlet+JavaBean和SQLServer2000相结合的网上选课系统,能较安全,快捷的实现网上选课功能并且较易开发、复用度高、代码耦合度低,易维护。
1.2系统的研究目标
开发高校学生网上选课系统的目标是为了方便学生的选课操作、教师的评选操作,提高选课的效率和灵活性,实现对选课数据进行统一的管理,较易维护。
1.3MVC概述
1.3.1MVC简介
为了能有效的控制开发,MVC模式成为分析和设计Web应用程序最常用的模式,它为软件的分层及实现提供了一种稳定而成熟的结构方案和开发方法。
MVC是英文Model、View、Controller的缩写,它不是一种技术,而是一种系统框架。
MVC包含:
模型(Model)代表企业数据和业务规则,用来控制访问和数据更新。
视图(View)代表模型的内容,它通过模型访问企业数据并指定这些数据的显示。
视图负责模型状态改变后呈现给用户的数据也相应改变。
控制(Controller)把与视图交互转化成模型执行的动作。
1.3.2MVC的优点
MVC架构有如下优点:
多视图使用同一模型。
模型与视图分离允许多视图使用同一企业模型。
容易支持新类型的客户端。
支持一个新类型的客户端,只需写一个视图和控制,然后把它连接到现存的企业模型中。
有利于开发中的分工。
在MVC模式中,由于按层把系统开,那么就能更好的实现开发中的分工。
网页设计人员可以进行开发视图层中的JSP,对业务熟悉的开发人员可开发业务层JavaBean,而其它开发人员可开发控制层Servlet。
有利于组件的重用。
分层后更有利于组件的重用。
如控制层可独立成一个能用的组件,视图层也可做成通用的操作界面。
1.3.3JSP+Servlet+JavaBean技术简介
JSP是一种实现普通静态HTML和动态HTML混合编码的技术。
JSP设计的目的在于简化表示层的表示。
在JSP中编写静态的HTML更加方便,不必再用Println语句来输出每一行HTML代码。
更重要的是借助内容和外观的分离,页面制作中不同性质的任务可以方便地分开[6]。
Servlet是一种独立于操作系统平台和网络传输协议的服务器端的Java应用程序,它用来扩展服务器的功能,可以生成动态的Web页面。
Servlet与传统Java应用程序最大的不同在于:
它不是从命令行启动的,而是由包含Java虚拟机的Web服务器进行加载。
它最大的用途是通过动态响应客户机请求来扩展服务器功能。
其基本的工作流程如下:
客户机将请求发送到服务器。
服务器上的Web容器实例化(装入)Servlet,并为Servlet进程创建线程。
JavaBean组件是一些可移植、可重用,并可以组装到应用程序中的Java类。
可以通过在JavaBean中封装事务逻辑、数据库操作等,然后将JavaBean与JSP语言元素一起使用,可以很好地实现后台业务逻辑和前台逻辑的分离,使得JSP页面更加可读、易维护。
2系统规划
2.1需求分析
2.1.1系统功能概述
基于项目的总体规划,可以将本系统划分为以下4个模块:
用户登陆模块:
负责验证系统中各级别用户的登录信息,并根据登陆用户的不同级别转向不同的页面。
学生功能模块:
负责学生的选课、查看课程成绩、课程简介、教学进度表以及更改学生信息的操作。
教师功能模块:
负责审批学生选课、公布学生成绩、编辑课程简介和教学进度表以及更改学生信息的操作。
管理员功能模块:
负责课程、班级和学生信息的添加、修改和删除等操作。
其中,用户登陆模块中涉及到用户身份级别的处理:
不同身份的用户对系统的使用权限有所不同。
系统管理员登录后可以对学生、教师、课程、班级等系统信息进行管理和维护,教师登陆后可以查看学生选课情况并给出所带学生课程成绩,学生登录后可以进行选课并查看自己某门课程的成绩。
在功能实现方面,基于MVC的思想,用JSP实现系统的首页,提供用户登录信息输入接口;Servlet实现验证用户登陆信息(若正确则根据用户级别转向不同的页面);JavaBean实现整个系统与数据库的连接和关闭操作。
学生登录模块功能分析:
学生登录以后,可以选报课程:
系统会根据学生所在系及课程的先修课列出满足该生选报条件的课程;可以查看自己的成绩,包括该生每门课程的名称、学分以及总学分。
如果教师还未给出成绩,则系统会有相关提示;可以查看该课程的课程简介、教学进度表的相关信息;可以更改自己的个人信息,包括密码、电话号码,其中要求密码不能为空。
在功能实现方面,基于MVC的思想,用JSP实现学生登陆成功后显示的功能页面以及相关信息查询、更新学生注册信息页面;Servlet实现学生选课和查看成绩等操作;JavaBean实现学生选择课程。
教师登录模块功能分析:
教师登陆以后,可以对学生选课申请进行审核,以及给自己所带的学生进行打分。
教师可以查看有哪些学生选择了自己所教授的课程,其中系统列出了该教师所带课程的班级以及选报了该课程的所有学生信息,当该课程结束时教师可以给出所有选择该课程学生的成绩。
当教师给出了学生某门课程的成绩之后,系统会根据成绩来判断该生是否通过了该课程,如果该成绩大于或等于60分,则在该生的学分上加上该课程的学分。
在功能实现方面,基于MVC的思想,用JSP实现教师登陆成功后显示的功能页面以及查看相关信息、给学生打分的页面;Servlet实现执行批准学生选课和给学生打分等操作;JavaBean实现批准学生选课和打分等逻辑方法。
管理员模块功能分析:
管理员在本系统中拥有最高权限,可以对学生、教师、课程、班级等信息进行管理和维护。
在班级管理系统中“新增班级”是该模块的关键环节,其中班级号不能为空且输入的班级号未曾注册,同时还要保证同一教师不能在同一时间上两门课程,否则系统提示相关错误信息。
在功能实现方面,基于MVC的思想,用JSP实现管理员成功登陆后的功能页面、以及添加、查看、更新相关信息的页面;Servlet实现执行添加、删除、修改学生信息、教师信息、课程信息、班级信息等操作;JavaBean实现封装关于学生信息、教师信息、课程信息、班级信息的业务逻辑方法。
2.1.2需求分析的方法简介
本系统采用例驱动的分析方法进行需求分析。
下面简要介绍一下此方法:
UML(统一建模语言,UnifiedModelingLanguage)是一种定义良好、易于表达、功能强大且普遍适用的可视化建模语言。
它融入了软件工程领域的新思想、新方法和新技术。
它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。
用例建模是UML建模的一部分,也是UML里最基础的部分。
用例建模的最主要功能就是用来表达系统的功能性需求或行为。
用例建模可分为用例图和用例描述。
用例图由参与者(Actor)、用例(UseCase)、系统边界、箭头组成,用画图的方法来完成。
用例描述用来详细描述用例图中每个用例,用文本文档来完成。
活动图是UML的另一个组成部分,活动图描述了满足用例要求所要进行的活动以及活动间的约束关系,活动图有利于识别并发活动。
在进行用例建模的同时可以辅以活动图进行详细说明系统所进行的并发活动。
当用例图和活动图结合起来时,系统的功能性需求就能够被完整地表达出来,并且简单明了[7]。
2.1.3用例图描述
采用用例驱动方法分析需求,首先识别出系统的参与者主要有系统管理员、教师和学生,每一种参与者都有不同的权限,其中系统管理员权限最大,负责整个系统的维护。
下面就对整个系统建立用例模型来表达需求:
系统管理员:
主要负责对教师、学生、课程、班级的信息进行维护等。
图2-1用例图—系统管理员
对图2-1用例图中的用例进一步描述如下:
添加学生:
录入学生的基本信息,并设置初始密码。
删除学生:
对于已毕业或其他情况不属于本学校的学生信息进行删除操作。
修改学生:
对学生的信息有误之处进行修改并录入数据库。
添加教师:
录入教师的基本信息,并设置初始密码。
删除教师:
对于已退休或其他情况不属于本学校的教师信息进行删除操作。
修改教师:
对教师的信息有误之处进行修改并录入数据库。
添加课程:
录入课程的基本信息。
删除课程:
对于已不开设的课程信息进行删除操作。
修改课程:
对课程的信息有误之处进行修改并录入数据库。
添加班级:
录入班级的基本信息。
删除班级:
对于已不开设的班级信息进行删除操作。
修改班级:
对班级的信息有误之处进行修改并录入数据库。
学生:
从系统管理员处获得密码进入系统,主要完成选修课程、查看学分、更改信息等操作。
其用例图如图2-2:
图2-2用例图—学生
对图2-2用例图中的用例进一步描述如下:
选修课程:
学生登录系统之后可以选修自己的喜欢的课程。
查看学分:
系统根据学生信息列出该生的所有课程所获学分及总学分。
更改信息:
学生进入该功能页面后,可以修改密码及其他个人信息。
教师:
主要完成挑选学生及公布成绩等功能。
其用例图如下:
图2-3用例图—教师
对图2-3用例图中的用例进一步描述如下:
挑选学生:
登陆系统后,进入挑选学生的功能页面,审批学生选课同时可以进行编辑课程简介和教学进度表信息。
公布成绩:
对于选修该课程的学生给出成绩。
更改信息:
教师进入该功能页面后,可以修改密码及其他个人信息。
2.1.4系统活动描述
学生选课的活动描述
图2-4活动图—学生选课
学生登陆以后,可以选报课程,系统会根据学生所在系及课程的先修课等信息来判断学生是否具备条件,如果具备条件,学生可以注册课程进行选报;教师根据提交的选报该课程的学生信息进行审核及挑选,最后在该课程结束时给出所有学生的成绩。
管理员对各种信息进行维护的活动描述
管理员登陆以后,可以对学生、教师信息进行添加、修改和删除等操作,并将结果录入到数据库中。
a)
b)
图2-5活动图—信息维护
以管理员身份登录后,管理员负责对学生、教师、课程、班级的信息进行管理及维护,管理员对于毕业或其他原因不属于本校的学生信息进行删除,对于录入有误的学生信息进行更新,同时对于新增的学生进行信息添加;对于退休或其他原因不属于本校的教师信息进行删除,对于录入有误的教师信息进行更新,同时对于新增的教师进行信息添加。
2.1.5非功能性需求
学生网上选课系统的非功能性需求如下:
1.使用简单。
用户使用单一的Browser软件(如微软公司的InternetExplorer简称IE和网景公司的NetscapeNavigator),通过鼠标即可访问数据信息。
2.易于维护。
用户端无需专用软件,系统的维护工作简单。
3.信息共享度高。
实现系统内的信息传递,加快运转速度。
4.扩展性好。
可直接接入Intranet和Internet,具有良好的扩展性。
5.可在局域网或广域网上运行。
2.2可行性分析
在网上选课系统的目标及需求确定之后,就可以对这个系统的可行性进行分析,从该系统开发的必要性和可能性两个方面进行讨论。
2.2.1开发的必要性
随着计算机应用的不断深入,信息产业的兴起,互联网的发展及应用,网上办公的作用日益明显。
各行各业几乎都与计算机有着密切的联系,都实现了不同程度的自动化操作。
网上选课系统对学生选修课程进行了规范、科学的设计,快捷有效地实现了学生对课程的选修。
同时,该系统也录入了学生、教师、课程、班级等的基本信息,可以为学校的管理带来方便。
2.2.2开发的可能性
1.技术可行性:
使用现如今已经成熟的MVC架构,系统数据库选择SQLServer2000,在系统中的核心部分使用Servlet+JavaBean技术,实现JSP+Servlet+JavaBean和SQLServer2000的有机集合。
2.经济可行性:
开发高校学生的网上选课系统属于高校的信息化建设,开发过程所需要的经济费用是极其少的,在使用过程中也只需要浏览器的支持,其他环节并不涉及到经济问题,所以其在经济上是非常可行的,可以使整个选课的管理更高效快捷。
3.社会可行性:
学校的各级人员都对学校的信息化建设持支持的态度,并积极地为信息化建设的开展而做自己能做的事;学校的组织管理制度已经非常成熟,暂时不会有大的变动;学校的工作人员文化水平都相对较高,这对信息化建设是非常有利的。
3系统分析
3.1业务流程分析
通过调查,以滁州学院计算机系为例,可以分析学生网上选课的整个过程,得到如图3-1的业务流程图:
图3-1网上选课系统的业务流程图
系统管理员对学生、教师、课程、班级信息进行管理和维护并录入系统数据库。
学生对选修的课程进行注册、修改个人信息并将相关信息录入数据库,同时学生可以查看可选报课程的课程简介和教学进度表的相关信息以及自己所有课程的学分情况,这些信息当被查看时自动以列表形式显示给学生。
教师在系统中对选报其所带课程的学生进行审核并对修完所带课程的学生进行打分,系统自动根据该教师所带班级及课程信息列出选报并需审核的学生信息,在公布成绩时,系统自动根据该教师所带班级及课程信息列出需打分的学生信息;同时教师可以对该课程的课程简介和教学进度表进行编辑。
系统根据教师给学生的成绩自动在该生的原始学分上加分并计算出其总学分,同时将结果录入系统数据库,从而避免了大量的手工输入以及由此可能产生的失误。
3.2数据流程分析
由图3-1中的业务流程图,可以得到本网上选课系统的数据流程图,如图3-2所示:
图3-2网上选课系统的数据流程图
4系统设计
4.1系统结构设计
通过对业务流程的分析,结合现实情况,可以设计出整个学生网上选课系统的总体结构。
由于本系统存在三种不同权限的用户,每种权限的用户进入系统后是其权限对应的不同页面,所以在进行系统结构设计时要分别考虑。
1.系统管理员的页面结构设计
图4-1系统管理员页面的结构图
系统管理员有四个模块可以操作,分别是学生信息管理模块、教师信息管理模块、课程信息管理模块和班级信息管理模块。
学生信息管理模块的下层模块分别是添加学生信息模块、删除学生信息模块、更新学生信息模块;教师信息管理模块所包含的模块分别是添加教师信息模块、删除教师信息模块、更新教师信息模块;课程信息管理模块所包含的模块分别是添加课程信息模块、删除课程信息模块、更新课程信息模块;班级信息管理模块所包含的模块分别是添加班级信息模块、删除班级信息模块、更新班级信息模块。
2.
学生功能页面结构设计
图4-2学生功能页面的结构图
学生功能页面有三个模块可以操作,分别是选修课程模块、修改信息模块和查看学分管理模块。
以学生身份登录后进入选修课程功能页面:
系统根据学生信息情况给出该生可以选报的课程;修改信息功能页面:
修改个人密码和编辑个人资料;查看学分:
可以查看自己所有课程的学分情况及总学分。
3.教师功能的页面结构设计
图4-3教师功能页面的结构图
教师功能页面有三个模块可以操作,分别是挑选学生模块、公布成绩模块、更改信息模块。
挑选学生管理模块完成教师对申请该课程学生的审核及批准操作;公布成绩模块完成给学生打分的操作;更改信息模块完成修改密码及编辑个人材料的操作。
4.2数据库设计
根据以上的分析可以设计出本系统的数据库,所用到的数据库表说明如下:
表4-1管理人员表admin
序号
字段说明
字段名
字段类型
长度
主键
备注
1
管理人员ID
id
varchar
50
是
2
姓名
name
varchar
50
3
密码
password
varchar
50
4
联系电话
tel
varchar
50
5
电子邮箱
e_mail
varchar
50
表4-2学生基本信息表student
序号
字段说明
字段名
字段类型
长度
主键
备注
1
学号
id
varchar
50
是
2
姓名
name
varchar
50
3
密码
password
varchar
10
4
籍贯
jiguan
varchar
100
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 MVC 架构 网上 选课 系统 设计 实现