软件工程毕业论文最新范本模板.docx
《软件工程毕业论文最新范本模板.docx》由会员分享,可在线阅读,更多相关《软件工程毕业论文最新范本模板.docx(38页珍藏版)》请在冰豆网上搜索。
软件工程毕业论文最新范本模板
泰山学院
本科毕业论文(设计)
基于B/S架构的泰山学院网上选课系统
所在学院信息科学技术学院
专业名称软件工程
申请学士学位所属学科工学
年级2011级
学生姓名、学号李长辉**********
指导教师姓名、职称卞峰讲师
完成日期2013年5月10日
摘要
近年来,随着在校大学生人数的不断增加,教务系统的数据量也不断上涨,加之现如今各高校对学生在校期间所修学分的重视程度,导致大多数高校的大学生在校期间因为担心自己的学分修不满进而影响到自己的毕业事宜,从而会在每个学期选修一到两门的公共选修课,另外,还会有一部分学生由于想拓宽一下自己的知识面,拓展一下自己的视野而去选择自己想要辅修的课程,这无疑更加大了系统的数据量和工作量,并且也加重了教务处工作人员的任务负担,单纯靠手工处理工作效率会非常的低,而且也不能达到最终的目的,因此,学生网上选课系统也就显示出了他本身的重要性,随之也就应运而生。
本学生网上选课系统采用ORACLE数据库,Tomcat服务器等开发环境,运用JSP技术,基于B/S模式,将学生网上选课与网上自动排课进行了有机结合,能够方便快捷高效的实现对学生选课情况的统计与选修课程的安排,简化了学生的选课流程,提高了工作效率。
关键词:
ORACLE数据库,Tomcat服务器,JSP技术,浏览器/服务器模式
ABSTRACT
Inrecentyears, withtheincreasingnumber ofcollegestudents, theeducationaladministrationsystemdataquantityalso rising, and now thestudentsduringtheschool credits valuedegree, causethemajorityof collegestudents duringtheperiodofschool becauseofconcernsabout their creditsand affecttheir dissatisfactionwiththe graduation matters, sowillbe electivePublicElectivecourse a door, totwo ineach semester inaddition, partofthestudents dueto broadenyour knowledge oftheirown will, expand yourhorizons and to wanttochoosetheirown minor courses, whichisundoubtedlyagreater amountofdata the system andworkload, and alsoincreasedthestaff oftheregistry task burden, simple onthework efficiency ofmanualprocessing willbeverylow, butalso cannotachievetheultimate objective。
Therefore, thestudent onlinecourseselectionsystem isalso demonstratedthe importanceof hisown, will also emergeasthetimesrequire.
The student onlinecourseselectionsystem usingORACLEdatabase, Tomcatserver developmentenvironment, JSPtechnology,basedontheB/SMode,the studentsonlineclasses and onlineautomatic coursescheduling areorganicallycombined, canconvenientlyand efficientlyrealize statistics courseforstudentswitchthe electivecourse arrangement, simplifiesthe studentenrollmentprocess, improveworkefficiency.
c:
\iknow\docshare\data\cur_work\http:
\fanyi。
\translate-##
Keywords:
ORACLEdatabase, Tomcatserver,JSPtechnology, thebrowser / ServerMode
1引言
1.1研究背景
随着计算机技术的发展,计算机应用越来越深入到人们日常生活的每个领域,计算机管理作为其中一个重要组成部分,也以它独特的优势,渐渐代替了原始的手工管理,学生选课信息作为学校管理的重要部分,由于其信息量大,给以后的查询、修改等操作带来不便,自然需要使用计算机来管理这些信息,这样一来,学生选课系统出现了[1]。
学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统在为同学节省了时间的同时,也减少了不必要的步骤,更方便了管理员的管理,网上选课系统为同学提供了一个自由选择的平台,学生可以选修规定范围内的课程,查看已修学分总数,还可以修改个人信息.该系统在方便了学生选课的同时,教师也可以不用像以前那样手工对学生的选课情况进行处理统计,因此也大大地简化了教师的工作量,让教师有更多的时间投入到备课以及科研工作当中去。
在这样一个社会发展的大趋势下,学生选课系统的出现无疑提高了学校的管理效率,并且快速地融入到了当今科技信息化时代当中去。
1.2研究意义
一直以来,人们使用人工的方式管理文件档案,但是这种管理方式存在着许多缺点:
效率低,保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难;而利用先进的计算机技术实现对学生选课信息的管理,可以代替过去传统的人工管理信息的方式,极大地提高了教师在管理学生选课信息时的工作效率,简化了教师的统计管理工作,在学生选课方面,学生选课系统能够为学生提供快捷方便的选课信息查询手段,让学生能够方便清晰的了解到参与选课的课程信息、课程剩余量、任课教师、课程学分以及考查方式等各方面信息,大大提高了学生的选课效率,加强了学生选课的目的性,并且利用计算机网络技术进行网上选课,可以存储所有学生选课所产生的大量的选课信息,并且成本低,不需要耗费大量的人力物力进行统计选课信息,极大地提高了教务管理的效率,因此,学生选课系统是学校科学管理的重要组成部分,是学校与现代化教育接轨的重要条件。
2相关技术介绍
2。
1JSP技术
JSP技术使用JAVA编程语言编写,将web页面的开发与程序逻辑的开发进行分离开来,该技术使用HTML技术来设计交互界面,使用JSP标记或脚本生成页面上的动态内容,绝大多数JSP页面依赖于可重用的、跨平台的组件来执行应用程序要求的复杂处理。
JSP技术封装了许多功能,这些功能是生成与JSP相关的HTML或XML的动态内容是所需要的[2].标准的JSP标记能够访问和实例化JavaBean组件,设置或检索组建的属性,下载Applet,以及执行使用其他方法难以实现的功能。
JSP标记具有可扩充性,允许开发者扩展JSP标记,开发人员也能够定制常用功能标记库。
由于页面制作者可以使用标记可中的功能,大大减少了对脚本语言的依赖,并降低了页面制作的复杂度。
由于JSP页面的内置脚本是基于Java语言的,而且所有的JSP都被编译成JavaServlet,所以JSP具有Java的特点,如健全的存储管理、安全性、跨平台特性、“一次编写,各处运行”等。
2.2ORACLE数据库
OracleDatabase是一款以分布式数据库为核心的数据库产品,开发者为美国的甲骨文公司。
由于它完整的数据管理功能、分布式处理功能以及它极强的兼容性和跨平台性,成为了当今世界上最流行的C/S或B/S体系结构的数据库之一。
Oracle中一些创新特性可最大限度地提高资源使用率和灵活性,并且采用的是并行服务器模式。
Oracle的特点如下:
(1)它具有完整的数据管理功能:
其中包括可以存储大量的数据、可以持久地保存数据、可以对数据进行共享、安全性较高[3]。
(2)它是一款具有完备关系的产品:
Oracle产品严格遵守信息准则、保证访问的准则、视图更新准则、数据物理性和逻辑性独立准则.
(3)Oracle具有比较完善的分布式处理功能
Oraclerdbms、sql*Net、SQL*CONNECT和其他非ORACLE的关系型产品构成的Oracle分布式数据库体现了它完善的分布式处理能力
(4)Oracle可以更加轻松地实现符合技术发展趋势的数据仓库操作
Oracle数据库的主要几点优点为:
(1)具有很强的可用性
(2)具有很强的可扩展性
(3)具有很强的数据安全性
(4)具有很强的稳定性
2。
3B/S结构
B/S结构即浏览器和服务器结构,它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构[4].在这种架构下,极少部分事务逻辑是在前端实现,大部分主要是在Server端实现,WEB浏览器是最主要的,是一种网络结构模式。
该架构就是用浏览器为应用程序客户端操作服务器,是由美国微软公司研发的,目前,该技术已经被世界各国所掌握,在世界上有自己一定的市场份额和客户群,国内公司B/S技术开发出的产品也很多,该结构所开发的项目维护和升级方式简单,所有的客户端只是浏览器,根本不需要做任何的维护,无论用户的规模有多大,有多少分支机构都不会增加人和维护升级的工作量,所有的操作只需要针对服务器进行,并且利用该结构进行开发大大降低了项目的开发成本,并且可以有更多的选择,但是B/S结构由于建立在广域网之上,面向的是所有的客户群,任何人都可以通过互联网访问到自己的程序,因此对安全的控制相对较弱一些。
B/S架构图如图2-3所示:
图2-3B/S结构原理图
3需求分析
3。
1概述
需求分析阶段的目的是对各种需求信息进行分析,消除错误,刻画细节等。
并且在该阶段对系统的功能也应该有一个初步的定论.当今社会,高校课程管理制度的改革,加上互联网技术的迅速发展以及普及,各高校更加青睐于建立一个完善的学生网上选课系统,将学生的选课工作搬到互联网上,使得教师更加清楚便捷地了解到学生的选课信息,这样一来,不仅大大提高了工作效率,更加节省了人力物力,并且保证了信息的安全性,方便了学生的选课工作,学生网上选课系统将以前没有互联网时选课所需要的步骤交给了互联网和系统去处理,并且节省了大量的不必要的时间,节省了大量的纸张,让选课变得轻而易举。
因此,我们很有必要去建立一个学生网上选课系统,结合以前学生选课的流程和目前选课所需要的必要步骤,我们可以得到建立这个选课系统的基本需求,根据以上信息,我们也可以初步确定本系统需要采用B/S模式,结合使用JSP技术和tomcat服务器,从而实现一个完善的系统的学生网上选课系统.
3.2系统需求分析
3。
2.1可行性分析
第一,对该系统技术上的可行性进行分析,学生网上选课系统主要运用JSP+Servlet技术、Oracle数据库技术以及Java编程语言,使用MyEclipse进行编译,在tomcat服务器上进行部署,在浏览器上进行运行,因此该系统主要是利用WEB界面与客户进行交互从而将学生选课、课程管理、教师管理有机的结合起来,并且在如今科技蓬勃发展互联网功能强大的时代,利用现有的技术知识来实现学生选课系统所具有的功能是一件比较简单的事情[5]。
第二,对该系统操作上的可行性进行分析,在以前,学生选课是需要进行手工进行以及处理,主要选课步骤无非就是公布参选课程信息,学生根据需求进行报名,教师对课程的报名情况进行统计并且处理,最后对参选课程进行人工排课,而这些在人工时代看似复杂的步骤如今在学生选课系统上都可以利用代码进行功能实现,并且可以尽量将步骤更加简化,使得选课操作更加便捷高效,因此利用学生选课系统在选课操作上也是能够轻易完成的。
第三,对该系统经济上的可行性进行分析,学生选课系统主要是利用MyEclipse开发工具进行代码开发,使用Oracle数据库进行存储数据信息,在tomcat环境下进行部署运行,所以该选课系统是不需要开发成本的,只需要一台计算机就可以完成项目的开发和测试。
因此,学生选课系统的开发完全符合经济的可行性[4].
3.2.2功能需求分析
本系统开发的目的是要实现学生的选课以及教师了解实时选课情况的功能。
学生网上选课系统可以为学生提供参加选课的课程信息,包括课程的学分、任课教师、上课地点、授课时间、考查方式以及课余量等信息,学生可以在线进行选课、查看已选课程以及退选课等。
对于教师,可以在线浏览自己被分配到的课程基本信息包括上课时间以及上课地点、实时查看选择自己所负责课程的学生信息。
该系统的管理员可以对课程信息进行管理以及增删改查操作,可以对学生以及教师的基本信息进行增删改查操作,可以在系统上发布通知,同时可以对院系、专业、教学楼以及教师等这些服务于课程和学生的基本信息进行基本的增删改查操作,而且管理员还可以对学生的选课和退课信息进行审核,因此,在本系统中,管理员拥有着最高的管理权限。
该系统所实现的主要功能如下:
(1)管理员对学生信息、教师信息进行管理
(2)管理员对课程信息进行管理
(3)管理员对通知进行管理
(4)管理员对院系信息、专业信息、教学楼信息、教室信息进行管理
(5)管理员对学生的选课和退课申请进行审核
(6)教师对自己负责教授的课程进行查看、查看选择由自己负责课程的学生名单以及基本信息
(7)学生浏览课程信息,包括任课教师、课程学分以及课余量
(8)学生进行选课操作,并且可以实时查看自己的选课结果
(9)学生查看自己已经选择的所有课程,并且可以对已经选择的课程进行退课操作,而且同样可以实时查看关注自己的退课审核结果。
(10)学生、教师、管理员可以修改自己的密码,学生和教师可以查看自己的个人信息以及系统的公告
3。
2.3系统性能需求分析
学生选课系统针对学生选课等一系列功能进行设计编写,系统最终应在满足选课操作、选课信息管理等所有基本功能的前提下,还要保证系统长时间运行的稳定性,频繁访问所产生的大量数据处理的准确性,以及系统使用的安全性、高效性,并且还要确保系统有较强的连贯性,从而做到能够让客户在使用的过程中简单易懂,熟练操作。
3.2。
4系统用例分析
系统用例是用来清晰地描述系统的参与者需要系统提供什么服务以及用户需要提供给系统的服务,其中每个参与者可以参与多个用例的实现,并且参与者与用例之间必然存在着某种联系[6].本系统中,总共包括管理员、教师、学生三个参与者,其中管理员可以实现教师信息管理、学生信息管理、课程信息管理、通知信息管理、院系信息管理、专业信息管理、教学楼信息管理、教室信息管理等功能,即对每个功能模块的增加、删除、修改和查询的操作,其中查询操作包括查询全部信息以及按条件查询信息,另外,管理员可以对学生的选课和退课申请进行审核操作;教师则可以实现查看个人基本信息、查看个人负责教授的课程信息、查看选择本人所教课程的学生信息、查看通知、修改个人密码等功能,而学生则可以实现查看查看个人基本信息、查看所有课程信息、进行选课并且可以查看个人选课结果、查看个人已选课程、退选自己的课程以及查看退课结果、修改个人密码、查看通知等功能。
本学生网上选课系统用例图如图3-1所示:
图3—1—1系统管理员用例图
图3—1-2教师系统用例图
图3—1—3学生系统用例图
3。
3需求分析总结
本泰山学院学生网上选课系统所要实现的功能是一个完备的网上选课系统都应具备的,管理员、教师与学生的成功登录应该进入专属于该角色的系统主界面,管理员登陆成功之后将进入系统管理员主界面,该主界面中包含的功能有学生信息管理、教师信息管理、课程信息管理、教学楼信息管理、教师信息管理、院系信息管理、专业信息管理、通知信息管理、课程审核管理等,管理员可以分别进行操作,而教师登录进入系统后,呈现的将是对于教师的系统主界面,其中的功能操作主要包含个人信息管理、个人所负责课程的浏览管理以及查看系统公告三个,如果登录所选择的角色是学生的话,那么登录成功之后所跳转的系统主界面中将包含可供学生选择操作的各项功能,其中学生可以选择个人信息管理、个人选课管理、个人退课管理或者查看通知进行操作,在个人选课管理中,学生可以查看所有的课程信息并且对课余量充足的课程的进行选课并且在选择每门课程之后可以在查看选课结果中查询自己的选课审核结果,在个人退课管理中,学生可以查看自己所有已经选择的课程信息并且可以根据自己的需要执行退课操作并且同样可以在查看退课结果中查询自己的退课审核结果。
系统框架图如图3—2所示:
图3-2系统框架图
图3—3管理员框架图
图3-4教师框架图
图3-5学生框架图
4系统设计
4.1总体设计
系统的开发过程总离不开系统的设计,所有的开发都是由系统设计为核心的[7].系统的开发过程也就是一个系统的生命周期,系统设计便是这一个系统生命周期中必不可少的一个重要阶段和组成部分,而一个完备良好的系统设计也必须要遵循实用、可靠、先进、可扩充、安全、可自适应、用户界面友好、健壮八大基本原则,也就要求系统在符合用户需求的前提下,必须具有必要的安全保护,并且具备较强的抗干扰能力和容错能力,能够很好地适应并能灵活应对不断发展和日渐完善的业务需求及开发方法。
本系统总结之前的需求分析,共分为三大功能管理模块,对应三个系统角色,分别为系统管理员,教师以及学生,其中系统管理员模块,有系统管理员登录操作,可以完成学生信息管理、教师信息管理、课程信息管理、院系信息管理、专业信息管理、教室信息管理、教学楼信息管理、通知信息的管理,具体操作为各项信息的增删改查操作,同时也可以对学生的选课和退课操作进行审核操作,包括同意与不同意选退课,因此管理员模块拥有该系统最高的权限;而教师模块是由教师登录,并且可以完成查看个人所教授的课程信息和选择个人教授课程的学生信息、查看通知、对个人基本信息进行查看和密码修改的操作;对于学生模块,由学生用户登录,进入系统之后可以查看个人信息、修改个人密码、浏览课程信息并提交选课申请、查看个人选课结果、查看个人所选课程并可提交退课申请、查看个人退课结果以及查看通知公告。
图4—1系统整体流程图
4.2系统详细设计
4.2。
1数据库设计
数据库设计是一个系统能够顺利运行并代替人工完成各项功能的基础,在系统的研发过程中,数据库的建立以及系统的数据关系的确定都属于数据库设计的范畴,是系统开发过程中必不可少的一项核心技术,其主要含义是指在给定的一个应用环境中,能够建立一个可以有效存储数据并且满足用户各种应用需求的最优数据库模式,从而搭建好一个可以更人性化服务于客户的数据库应用系统。
数据库设计的过程主要包括在一个数据库系统中对数据库结构的设计以及对数据库中包含各类信息的表的构建,完成数据库设计过程的前提是得到一个操作系统的支持,而数据库最佳设计只能是不断探索求精的,这个过程更加需要使数据库对象之间的关系结构化。
一般在数据库设计之前需要绘制E-R图表从而确定各个对象与属性之间的关系以及对象与对象之间一对多、多对多的关系,之后则需要对表和字段进行设计,其中应该把数据库将来可能产生的各种变化以及他们之间的关系考虑在内[8],另外,例如各个数据表的主键、外键设置,一个数据表内的唯一约束、检查约束、默认约束等,都是符合数据表设计的标准化和规范化原则的表现。
本系统采用的是Oracle数据库。
4.2.1。
1数据库概念设计
通过以上需求分析和系统设计,该系统数据库设计主要包括一下数据库实体:
管理员实体,学生实体,教师实体,院系实体,专业实体,教学楼实体,教室实体,课程实体以及公告实体,并且各数据库实体以及各实体所包含字段如下:
(1)管理员实体:
ID(自动编号)、管理员账号、管理员密码这三个字段.
(2)学生实体:
学生学号、学生密码、学生姓名、学生性别、院系编号、院系名称、专业编号、专业名称、年级这九个字段。
(3)教师实体:
教师工号、教室用户名、教师密码、教师姓名、教师性别、教师联系方式这六个字段。
(4)院系实体:
ID(自动增长)、院系名称这两个字段.
(5)专业实体:
ID(自动增长)、专业名称、院系编号、院系名称这四个字段。
(6)教学楼实体:
ID(自动增长)、教学楼名称这两个字段.
(7)教室实体:
ID(自动增长)、教室号码、教学楼编号、教学楼名称这四个字段。
(8)课程实体:
ID(自动增长)、课程名称、课程学分、课程教学周、上课时间、院系编号、院系名称、教师编号、教师姓名、上课地点、课程总容量、课余量这12个字段。
(9)公告实体:
ID(自动增长)、公告内容、发布时间(系统时间)这三个字段。
管理员实体和其他各实体之间存在一对多的关系,其关系图如图4—2所示:
图4—2数据库E—R图
4.2.1.2数据库逻辑设计
根据E-R图,本数据库设计所包含的数据表主要有:
管理员信息表t_manager,院系信息表t_department,专业信息表t_major,学生信息表t_student,教学楼信息表t_teachbuilding,教室信息表t_classroom,课程信息表t_course,教师信息表t_teacher,公告信息表t_announce,学生选课表t_selectcourse,学生退课表t_backcourse,教师教学表t_teachcourse.表的结构如下:
(1)管理员表t_manager,表中各字段设置如表4—1所示:
表4—1管理员信息表
字段
类型
属性
空
注释
mid
int
unsigned
否
主键,编号
musername
Varchar2(100)
管理员用户名
mpassword
Varchar2(100)
登录密码
(2)院系信息表t_department,该表中各字段设置如表4-2所示:
表4-2院系信息表
字段
类型
属性
空
注释
deid
int
unsigned
否
编号,主键,自动增长
dename
Varchar2(100)
院系名称
(3)专业信息表t_major,该表中各字段设置如表4-3所示:
表4—3专业信息表
字段
类型
属性
空
注释
mid
int(4)
unsigned
否
编号,主键,自动增长
mname
Varchar2(100)
专业名称
(4)学生信息表tb_cj,该表中各字段设置如表4-4所示:
表4—4学生信息表
字段
类型
属性
空
注释
stuid
Varchar2(100)
unsigned
否
学号,主键
stupass
Varchar2(100)
密码
stuname
Varchar2(100)
学生姓名
stusex