JSP在线选课系统 毕业设计.doc_第1页
JSP在线选课系统 毕业设计.doc_第2页
JSP在线选课系统 毕业设计.doc_第3页
JSP在线选课系统 毕业设计.doc_第4页
JSP在线选课系统 毕业设计.doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大连交通大学软件学院高等职业技术学院毕业实习实践报告姓 名: 学 号: 班 级: 实习单位: 实习时间: 完成日期: 年 月 日毕业实践鉴定表姓 名性 别专业班级实习开始时间实习结束时间实习单位名称计划实习内容1 实现学生,教师信息的建立与维护2 实现课程信息,教师信息的查询于统计功能;3 实现学生选课功能模块;4 实现教师课程信息发布模块;5 实现教师课程信息的维护模块;6 实现管理员后台管理功能;7 .本课题在设计工程中突出实用性;8 毕业论文应具体论述系统开发的必要性、数据库结构、基本算法的合理性和系统的应用价值及存在的问题等。个人实习总结(摘要)实习部门负责人评语 签名: 年 月 日实习单位意见(按优、良、中、及格、不及格五个等级评定) 盖 章 年 月 日就业指导办公室审核 签名: 年 月 日目 录前 言1设计的可行性1.1系统的产生和发展情况1.2网上选课系统的产生和可行性分析1.2.1 网上选课系统的产生1.2.2 网上选课系统的可行性2 相关软件及技术介绍2.1 Myeclipse 6.52.2 MySQL 5.02.3 Tomcat 5.52.4 HTML 语言介绍2.5 JSP 介绍2.6 J2EE 技术介绍2.7 Struts 框架2.8 Hibernate 框架3系统概述3.1 项目范围3.2 设计策略4系统总体设计4.1 系统结构设计4.1.2 模块间的调用关系4.1.3系统功能结构5 数据库设计说明5.1数据库系统分析5.2 数据库逻辑设计5.3 数据库设计6 详细设计6.1 教师/学生/管理员登录功能6.2 学生选课功能6.3 教师添加课程:6.4 管理员操作7 设计过程中的问题及解决7.1 数据库的连接7.2 参数的传递7.3 公共数据8 总结前 言 随着网络时代的到来B/S结构的管理系统已经成熟的运用在学校、企业、银行、科研机构、政府等各行各业并扮演着不可或缺的角色。B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。相对于C/S结构属于“胖”客户端,需要在使用者电脑上安装相应的操作软件来说,B/S结构是属于一种“瘦”客户端,大多数或主要的业务逻辑都存在在服务器端,因此,B/S结构的系统不需要安装客户端软件,它运行在客户端的浏览器之上,系统升级或维护时只需更新服务器端软件即可,这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。 B/S结构系统的产生为系统面对无限未知用户提供了可能。当然,与C/S结构相比,B/S结构也存在着系统运行速度较慢,访问系统的用户不可控的弱点。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。数据库是从60年代初发展起来的计算机技术。经过四十来年的发展,数据库技术己经趋于成熟。Web数据库在新的Internet环境中发生了很大的变化。就数据应用而言呈现出多样化的空间,如数字图书馆、电子出版物、电子商务、远程教育系统等的出现,给web数据库技术提出了更多、更高的要求。同时,随着国内高校校园网的建设,基于互联网的应用系统的开发正在蓬勃发展并发挥着较大的作用。例如,我国许多高校的网上招生系统,学校的各种管理信息系统,学校选课系统,还有一些医学院校开发出的网上诊所、远程诊断系统等等,都是基于校园网的应用系统。网上选课系统是针对在校学生和教师使用,从学生的角度来说,由于学校教学制度的改革,现在大部分高等院校开始实行的是学生的自主选课模式,传统的教学模式(学生按照学校安排好的课程上课)已经不能适应新型的教学手段,如果仍然通过纸上的方式选课,一方面浪费的大量的人力、物力资源,另一方面浪费时间以及在人为的统计过程中不可避免出现的差错等情况。随着高校人数的增多,这种弊端会越来越多的暴露出来。因此,利用网络,使学生只要在计算机前输入自己的个人选课信息即可完成原来几倍的作业量。从教师的角度来说,同样是节省了大量的工作量,由于教师提出代课申请完成课程发布的工作较学生选课而言更加的复杂,因此通过网上进行课程发布能大幅度的减少教师的工作量,减少错误的发生几率。作为教师,也只要通过自己的电脑来操作即可,不用再奔波于教务处和办公室之间。1设计的可行性1.1系统的产生和发展情况所谓MIS(管理信息系统-Management Information System)系统 ,是一个由人、计算机及其他外围设备等组成的能进行信息的收集、传递、存贮、加工、维护和使用的系统,是一门新兴的科学,其主要任务是最大限度的利用现代计算机及网络通讯技术加强企业的信息管理,通过对企业拥有的人力、物力、财力、设备、技术等资源的调查了解,建立正确的数据,加工处理并编制成各种信息资料及时提供给管理人员,以便进行正确的决策,不断提高企业的管理水平和经济效益。目前,企业的计算机网络已成为企业进行技术改造及提高企业管理水平的重要手段。随着我国与世界信息高速公路的接轨,企业通过计算机网络获得信息必将为企业带来巨大的经济效益和社会效益,企业的办公及管理都将朝着高效、快速、无纸化的方向发展。MIS系统通常用于系统决策,例如,可以利用MIS系统找出目前迫切需要解决的问题,并将信息及时反馈给上层管理人员,使他们了解当前工作发展的进展或不足。换句话说,MIS系统的最终目的是使管理人员及时了解公司现状,把握将来的发展路径。与传统的管理系统相比,在MIS中,处理的对象是抽象成数据的信息,因此,MIS有着自己的巨大优势:1、解决结构化问题。 2、以高速度低成本完成数据的处理业务,追求系统处理问题的效率。3、实现一个相对稳定的、协调的工作环境。4、应用科学的、客观的处理方法,符合实际情况。传统的MIS系统的核心是CS(Client/Server客户端/服务器)架构,而基于Internet的MIS系统的核心是BS(Browser/Server浏览器/服务器)架构。BS架构比起CS架构有着很大的优越性,传统的MIS系统依赖于专门的操作环境,这意味着操作者的活动空间受到极大限制;而BS架构则不需要专门的操作环境,在任何地方,只要能上网,就能够操作MIS系统。这也就给交互式信息的产生创造了先决条件。使得通过互联网的信息传递更加的便捷。1.2网上选课系统的产生和可行性分析1.2.1 网上选课系统的产生MIS系统的飞速发展,技术的成熟以及应用领域的不断扩大,为网上信息的交互提供了一个良好的平台和方便的操作界面。由于MIS系统基于用户需求的设计方法,使得该系统的使用更加的人性化、个人化、更贴近用户。网上选课系统是针对在校学生和教师使用,从学生的角度来说,由于学校教学制度的改革,现在大部分高等院校开始实行的是学生的自主选课模式,传统的教学模式学生按照学校安排好的课程上课已经不能适应新型的教学手段,如果仍然通过纸上的方式选课,一方面浪费的大量的人力、物力资源,另一方面浪费时间以及在人为的统计过程中不可避免出现的差错等情况。随着高校人数的增多,这种弊端会越来越多的暴露出来。因此,利用网络,使学生只要在计算机前输入自己的个人选课信息即可完成原来几倍的作业量。从教师的角度来说,同样是节省了大量的工作量,由于教师提出代课申请完成课程发布的工作较学生选课而言更加的复杂,因此通过网上进行课程发布能大幅度的减少教师的工作量,减少错误的发生几率。作为教师,也只要通过自己的电脑来操作即可,不用再奔波于教务处和办公室之间。以MIS系统的构建思想来实现网上选课系统可以最大程度的做到实用性,可扩展性和可维护性相结合,安全性以及规范化原则。技术可行性:以MIS技术为开发基础。1.2.2 网上选课系统的可行性(1)技术可行性-本系统需要掌握JavaScript语言、HTML语言、Jsp语言、MVC编程结构思想、Struts框架应用、Hibernate 框架应用、MySQl数据库设计的一般原理和使用方法。这些知识在大学专业课的学习中大部分都已学习加上自学的一些技术知识和勇于专研不断努力学习的精神完全能做到技术可行。() 经济可行性-由于本系统是为方便大学生选课的在线选课系统,安装服务软件后,即可使用系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力,物力。所带来的效益远远大于系统软件的开发成本。在经济上完全可行。() 操作可行性-界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可靠;统计准确;适应力强;容易扩充。(4)硬件软件设施可行性-现有一台笔记本电脑,以及大量相关方面知识的书籍。对于软件技术要求,现在的Jsp以及J2EE平台、数据库程序设计语言已非常成熟完全可以做到硬件软件设施可行。2 相关软件及技术介绍2.1 Myeclipse 6.5MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。在结构上,MyEclipse的特征可以被分为7类:1. JavaEE模型2. WEB开发工具3. EJB开发工具4. 应用程序服务器的连接器5. JavaEE项目部署服务6. 数据库服务7. MyEclipse整合帮助对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse6.0以前版本需先安装Eclipse。MyEclipse6.0以后版本安装时不需安装Eclipse。2.2 MySQL 5.0MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL的官方网站的网址是:与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。由于这四个软件都是自由或开放源码软件(FLOSS),因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。2.3 Tomcat 5.5Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。目前最新版本是6.0。Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的 改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。 这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。2.4 HTML 语言介绍HTML(HyperText Mark-up Language)即超文本标记语言或超文本链接标示语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML的结构包括头部(Head)、主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。HTML文档制作不是很复杂,且功能强大,支持不同数据格式的文件镶入,这也是WWW盛行的原因之一,其主要特点如下:1 简易性,HTML版本升级采用超集方式,从而更加灵活方便。2 可扩展性,HTML语言的广泛应用带来了加强功能,增加标识符等要求,HTML采取子类元素的方式,为系统扩展带来保证。3 平台无关性。虽然PC机大行其道,但使用MAC等其他机器的大有人在,HTML可以使用在广泛的平台上,这也是WWW盛行的另一个原因。用什么可以编辑HTML?HTML其实是文本,它需要浏览器的解释,HTML的编辑器大体可以分为三种,1 基本编辑软件,使用WINDOWS自带的记事本或写字版都可以编写,当然,如果你用WPS来编写,也可以。不过存盘是请使用.htm或.html作为扩展名,这样浏览器就可以解释执行了。2 半所见即所得软件,这种软件能大大提高开发效率,它可以使你在很短的时间内做出HOMEPAGE,且可以学习HTML,这种类型的软件主要有HOTDOG,还有国产的软件网页作坊。3 所见即所得软件,使用最广泛的编辑器,完全可以一点不懂HTML的知识就可以做出网页,这类软件主要有FRONTPAGE98,DREAMWEAVER。2.5 JSP 介绍JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。 JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。JSP可用一种简单易懂的等式表示为:HTML+Java=JSP。2.6 J2EE 技术介绍J2EE Java2平台企业版(Java 2 Platform,Enterprise Edition) J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。 J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,,企业内部或外部难以互通的窘境。一、J2EE的概念目前,Java 2平台有3个版本,它们是适用于小型设备和智能卡的Java 2平台Micro版(Java 2 Platform Micro Edition,J2ME)、适用于桌面系统的Java 2平台标准版(Java 2 Platform Standard Edition,J2SE)、适用于创建服务器应用程序和服务的Java 2平台企业版(Java 2 Platform Enterprise Edition,J2EE)。J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如编写一次、随处运行的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。J2体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。2.7 Struts 框架Struts最早是作为Apache Jakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServer Pages 、Servlet、标签库以及面向对象的技术水准。Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。这个框架之所以叫Struts,是为了提醒我们记住那些支撑我们房屋,建筑,桥梁,甚至我们踩高跷时候的基础支撑。这也是一个解释Struts在开发Web应用程序中所扮演的角色的精彩描述。当建立一个物理建筑时,建筑工程师使用支柱为建筑的每一层提供支持。同样,软件工程师使用Struts为业务应用的每一层提供支持。它的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。我们仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。如果想混合使用Servlets和JSP的优点来建立可扩展的应用,Struts是一个不错的选择。早期Smalltalk 程序语言便采用了MVC(Model-View -Controller) 模式( Patterns ) 以增加程序代码弹性,MVC模式将程序代码整理切割为三部份,Model 部分是业务与应用领域( Business domain) 相关逻辑、管理状态之对象,Controller 部分接收来自View 所输入的资料并与Model 部分互动,是业务流程控制( Flow Control) 之处,View 部分则负责展现资料、接收使用者输入资料。在Java 应用中,JFC/Swing、AWT、JSP 皆是可用作View 之技术规格,而JavaBean 与Enterprise JavaBean 规格则可用于Model 程序代码,一旦应用程序以MVC 模式加以适当(的)分割,Model 部分程序代码可在不同使用者接口外观(的)应用程序中重复使用。2.8 Hibernate 框架Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。3系统概述3.1 项目范围网上选课系统从功能上划分一共有4个主模块,其中信息管理部分包含了4个子模快,具体的结构示意如下列所示: 身份验证选课信息管理信息浏览信息查询信息修改修改删除信息添加课程发布从对象上划分一共有教师、学生、管理员三部分,主要操作为课程发布和选课。3.2 设计策略硬件环境:服务器端/客户端:处理器:Intel Core 内存: 1G硬盘空间:160G软件环境:服务器端/客户端: 操作系统:Windows XP网络协议:TCP/IP浏览器:Internet Explore 6.0制作工具:Myeclipse 6.5、MySQL5.5 、Tomcat 5.5、Dreamweave 8、Jsp、 HTML(Hyper Text Markup Language)用MyEclipse6.5 集成开发工具完成网上选课系统的业务逻辑、持久化层代码的编写,用HTML、jsp语言设计网页的外观构架和输出输入功能实现,在网页编辑器中嵌入JavaScript语言对网页中提交的数据进行验证处理,在系统的后台,用MysQL 5.5作为数据库支持,提供基本的表信息,使用时,启动Tomcat 5.5 打开浏览器(Internet Explore),在地址栏中输入“http:/localhost:8080/OnlineChoose”(由于服务器和客户端都在同一台计算机上所以使用http:/localost:8080 访问本地),回车后,即可进入网上选课系统的主页,进行操作。4系统总体设计4.1 系统结构设计身份验证:通过登录才可进入选课系统,登录信息提交后检验登录者的身份是否合法,合法,则转入对应的操作界面。在本系统中,只有三种身份:学生、老师、管理员。选课:用于学生的网上选课,查看被选专业的课程,完成该学期的选课任务。信息管理:信息浏览:信息浏览包括学生:已选课程浏览、备选课程浏览 。教师:已发布课程信息浏览。已选课程浏览是为学生提供的查看自己已经选择的课程信息。被选课程浏览用于学生修改、重新选择课程。已发布课程信息浏览用于各老师查询自己已经发布的课程信息,主要用于浏览、核对。信息查询:信息查询包括教师个人信息查询、课程查询、选课名单查询。课程查询即通过 课程编码(唯一)来查询该课程的相关介绍,包括课程名称、所属院系、上课时间、上课地点、选课人数、总人数、学时、学分、任课教师等内容。教师个人信息是通过教师ID来查询对应的老师个人信息,包括教师账号、教师密码、教师姓名、教师性别、所属教研室、所属学院等。通过选课名单的查询可以查看选择某一门课程的学生情况。信息修改:修改:信息修改包括选课信息的修改,课程发布信息的修改,密码的修改,学生信息的修改,教师信息的修改。选课信息的修改用于学生修改所选课程删除已选课程。教师修改已发布课程信息。管理员添加学生信息、修改学生信息、删除学生信息、添加教师信息、修改教师信息、删除教师信息。课程发布:课程发布用于教师发布新的课程信息,新课程信息发布后,当学生选课时即可看到发布的信息(以列表的形式同其他课程信息一起列出)。4.1.2 模块间的调用关系管理员登录身份验证模块录入学生信息模块修改删除学生信息模块录入教师信息模块修改删除教师信息模块块数据库模块 数据库访问模块录入教师信息模块1.管理员功能模块 如图 4-1 所示:图 4-1管理员功能模块学生登录身份验证学生信息显示模块学生修改信息模块学生查看课程信息模块学生选课模块块退课功能模块数据库模块 数据库访问模块2.学生功能模块 如图 4-2 所示:图 4-2学生功能模块教师登录身份验证教师信息显示模块教师修改信息模块教师发布课程信息模块查看已选课程学生块数据库模块 数据库访问模块3.教师功能模块 如图 4-3 所示:图 4-3教师功能模块4.1.3系统功能结构1.管理员界面 如图 4-4 所示:管理员界面学生管理教师管理课程管理图 4-4 管理员界面2.学生操作界面 如图 4-5 所示:学生操作界面选定课程查看课程退订课程图 4-5 学生操作界面3教师操作界面 如图 4-6 所示:教师操作界面查看课程发布课程图 4-6 教师操作界面5 数据库设计说明数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。在线选课系统的核心就是用来存储所有信息的数据库。本系统用的是轻量级开源数据库MySQl 5.0。5.1数据库系统分析本系统的数据库实体主要有“学生”、“管理员”、“教师”、“课程”等。其中“教师”与“课程”存在“开设”联系,并且一个教师可以开设N门课程,即“教师”与“课程”之间是一对多的关系。一个学生可以学习N门课程,一门课程可以有M个学生学习,即“学生”与“课程”之间是多对多的关系。 教师员1开设N 课程选修 学生 教师管理员教师信息NMM整个数据库可以用一个E-R图表示,如图 5-1 所示:图5-1 数据库ER图ER图中的实体图:1学生实体 如图 5-2 所示:学生所属学院学生ID学生姓名性别学号班级学生密码图 5-2 学生实体2教师实体 如图 5-3 所示:教师所属学院教师密码所属教研室教师账号教师姓名教师ID教师性别图 5-3 教师实体课程所属学院总人数上课地点学分课程ID上课时间选课人数学时课程名称3课程实体 如图 5-4 所示:图 5-4 课程实体4选课实体 如图 5-5 所示:选课学生ID课程ID图 5-5 选课实体5管理员实体 如图 5-6 所示:管理员管理员ID账号密码图 5-6 管理员实体 5.2 数据库逻辑设计 数据库逻辑设计就是将ER图转换为关系模型的过程,即将所有实体和关系转换成一系列的关系模式。转换过程中常见规则有:(1)一个实体型转换为一个关系模式;(2)一个一对一的联系可转换成一个独立的关系模式,也可与任意一端对应的关系模式合并;(3)一个一对多的联系可以转换成一个独立的关系模式,也可与多的那一端对应的关系模式合并;(4)一个多对多的关系转换成一个关系模式。根据以上四条规则,下面将ER图转换成关系模型。对于“教师”、“课程”和两者之间的关系,就可以根据规则(3)转换成两个关系模式教师(教师ID,教师账号,教师密码,教师姓名,教师性别,所属教研室,所属学院)课程(课程ID,教师ID,课程名称,上课时间,上课地点,选课人数,学时,学分,总人数)对于“学生”、“课程”和它们之间的“选修”关系就可以规则(4)转换成三个关系模式。学生(学生ID,学号,学生姓名,学生性别,班级,学生密码,所属学院)课程(课程ID,教师ID,课程名称,上课时间,上课地点,选课人数,总人数,所属学院,学时,学分)选课(学生ID,课程ID)管理员(管理员ID,管理员帐号,管理员密码)5.3 数据库设计经过数据库系统分析和逻辑设计后,数据库的结构已经非常清晰,剩下的就是用一种数据库软件实现这样的结构。本系统数据库采用ERStudio 8.0 辅助实现。如图 5-1、5-2 所示: 图 5-1数据库表关系图 5-2数据库表关系(1)student_tab表。student_tab表用来存储学生的个人信息,使用学生编号作为主键包括学号,学生姓名,学生性别,学生班级,学生密码,所属院系,如表5-3 所示: 表5-3 student_tab 表ColumnDomainDatatypeNulls(PK)stu_idINTIDENTITYstu_noVARCHAR100NULLstudent_tab_nameVARCHAR100NULLstudent_tab_sexVARCHAR10NULLstudent_tab_classVARCHAR100NULLstudent_tab_pwdCHAR10NULLstudent_tab_collegeVARCHAR100NULL(2)teacher_tab表。teacher_tab表用来存储教师的个人信息,教师编号作为主键包括教师账号,教师密码,教师姓名,教师性别,所属教研室,所属学院,如表5-3-4所示:表5-4 teacher_tab 表ColumnDomainDatatypeNulls(PK)teacher_idINTIDENTITYtea_accoutVARCHAR200NULLteacher_tab_pwdVARCHAR100NULLteacher_tab_nameVARCHAR100NULLteacher_tab_sexVARCHAR10NULLroom_typeVARCHAR100NULLcollegeVARCHAR100NULL(3)course_tab表。course_tab表用来存储课程信息,course_tab表以课程编号为主键,设置课程编号自动增加1(通过建表的时候对属性列设置“标识”,并设置“标识递增量”为1)。表中开课教师Id为外键,所有“Teacher_Id”的值必须是Teacher表中的“Teacher_Id”值 包括上课时间,上课地点,选课人数,总人数,所属学院,学时,学分,课程名称,教师ID(外键)。如表5-5 所示:表5-5 course_tab 表ColumnDomainDatatypeNulls(PK)course_tab_idINTIDENTITYtimeVARCHAR255NULLaddressVARCHAR200NULLchoose_stu_numINTNULLcourse_tab_allstuINTNULLcourse_tab_collegeVARCHAR100NULLperiodVARCHAR10NULLcreditVARCHAR10 NULLcourse_tab_nameVARCHAR100 NULL(FK)teacher_tab_idINTNULL(4)elective_tab表。elective_tab表用于存储学生的选课信息,在elective_tab表中学生编号是外键,course_tab_id即是主键又是外键。如表5-6 所示:表5-6 elective_tab 表ColumnDomainDatatypeNulls(PK+FK)course_tab_idINTNOT NULL(PK+FK)stu _id INTNOT NULL(5)admin表。admin表用来存放系统管理员信息,包括管理员ID,管理员账号,管理员密码。如表5-7 所示:表5-7 admin 表ColumnDomainDatatypeNulls(PK)admin_idINTIDENTITYadmin_nameVARCHAR50NULLadmin _pwdVARCHAR100NULL6 详细设计6.1 教师/学生/管理员登录功能在登录页面对应的地方输入用户名、密码,确认后登录。先用javaScript判断输入信息是否为空为空返回错误提示若不为空。 提交表单提交后Struts 框架通过拦截提交表单地址查找映射文件 struts-config.xml,对应的Action处理类,中通过调用在Hibernate框架基础上构建的持久化层中的数据库查询方法对输入的账号密码与数据库中进行比对。若检索到的记录集为空,则说明教师账号/学号/管理员账号信息错误,从而转到相应的出错处理程序,若记录集不为空,则转入教师/学生/管理员登录成功的操作页面,并将姓名,密码,/学号,姓名/管理员账号以session对象保存起来。出错及处理:在该模块中可能发生的错误有学号或密码错误,系统这时会提醒“用户名或密码错误”实例截图:1 学生登录功能介绍:本页面主要功能为学生的登录窗口。拥有两个可输入框分别输入学生的账号和密码。有三个按钮分别是登录重置和注册。输入完账号密码点击登录即可提交。点击重置可以清空输入框。点击注册跳转到注册界面。如图6-1所示:图6-1 学生登录界面2登录出错界面 功能介绍:当提交的账号和密码不错再或者不匹配时回返回登录窗口要求用户从新输入并显示错误信息 “用户名或密码错误”。 如 图6-2 所示:图6-2 登录错误提示界面3 登录成功界面功能介绍:当所输入的账号和密码相匹配时通过验证返回登录成功界面即学生功能界面该界面显示了学生的姓名。现在可选的课程 列出了课程名、总人数、剩余人数学时、学分、任课教师、上课地点和上课时间等。并且每条后面都有选课的超级链接。如图6-3 所示:图6-3 登陆成功进入选课界面4教师登陆页面 功能介绍:本页面主要功能为教师的登录窗口。拥有两个可输入框分别输入学生的账号和密码。有三个按钮分别是登录重置和注册。输入完账号密码点击登录即可提交。点击重置可以清空输入框。点击注册跳转到注册界面如图6-4所示 :图6-4 教师登录界面5教师登录错误界面功能介绍:当提交的账号和密码不错再或者不匹配时回返回登录窗口要求用户从新输入并显示错误信息 “用户名或密码错误”。如 图6-5 所示:图6-5 教师登录错误界面6教师登录登陆成功进入管理界面功能介绍:当所输入的账号和密码相匹配时通过验证返回登录成功界面即教师功能界面该界面显示了教师的姓名。教师现在可以查看已被学生选的自己所发布的课程。还可以点击发布课程发布新课程。图6-6 所示:图6-6 教师管理界面7管理员登录界面功能介绍:本页面主要功能为管理员的登录窗口。拥有两个可输入框分别输入管理员的账号和密码。有一个登录按钮。输入完账号密码点击登录即可提交。如 图6-7 所示:图6-7 管理员登录界面8管理员登录成功进入后台管理界面 功能介绍:当所输入的账号和密码相匹配时通过验证返回登录成功界面即管理员功能界面该界面显示了当前管理员的姓名。管理员现在可以选择管理教师、管理学生或者管理课程 点击后跳转到相应管理界面 如 图6-8 所示:图6-8 管理员后台管理界面6.2 学生选课功能学生登录界面以及代码与教师登录界面相似在这里不再复述当学生成功登录后可以使用选课功能。1学生选课功能界面功能介绍:当所输入的账号和密码相匹配时通过验证返回登录成功界面即学生功能界面该界面显示了学生的姓名。现在可选的课程 列出了课程名、总人数、剩余人数学时、学分、任课教师、上课地点和上课时间等。并且每条后面都有选课的超级链接。点击所要选的课程后面的选课链接。如图6-9 所示:图6-9 学生选课功能界面2点击选课即可选择该课程功能介绍:显示待选课程信息课程名、总人数、剩余人数、学时、学分、任课教师、上课地点和上课时间等。并提示上次选课操作是否成功,本系统仅限选择一门课程 如 图6-10所示:图6-10 选课成功界面3查看已选课程信息功能介绍:查看已选的课程信息。显示该课程的课程名、学分、学时、上课地点和上课时间等。如 图6-11 所示:图6-11 查看已选课程信息6.3 教师添加课程:1教师添加课功能介绍:本界面面显示了教师的姓名。教师现在可以查看已被学生选的自己所发布的课程。还可以点击发布课程发布新课程。点击发布课程。如图6-12所示:图6-12 教师管理界面2教师发布课程信息功能介绍:本页面用于教师对课程信息的发布。具有填写课程名称、上课时间、上课地点、学时、学分、总人数的输入框。有一个添加按钮。点击用于提交所输内容。如 图6-13所示 :图6-13 发布课程信息3课程信息发布成功 功能介绍:本页面用于查看已选记录和发布课程。并且提示上条课程信息是否发布成功如图6-14所示:图6-14 课程信息添加成功界面4查看已选该老师课程记录功能介绍:该界面显示了教师的姓名。教师现在可以查看已被学生选的自己所发布的课程。显示了该课程的名称,选择该课程学生的姓名、性别、学号和所属班级。如图6-15 所示: 图6-15 查看选该教师课程及学生信息6.4 管理员操作1添加教师/编辑教师信息操作界面功能介绍:本页面主要用于添加教师信息和编辑教师信息。具有用于添加教师姓名的输入框、选择教师性别的下拉菜单、用于填写教师账号的输入框和选择教师院系的下拉菜单以及用于提交输入信息的添加按钮。还有显示教师信息的区域用于显示教师姓名、性别、账号、所属学院以及修改和删除操作的快捷方式如图6-16

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论