配色: 字号:
jsp学生选课系统mysql论文
2024-04-18 | 阅:  转:  |  分享 
  
















本科生毕业论文

题 目 的设计与实现 学生姓名 指导教师 学 院 专业班级 完成时间



摘 要 i

第1章 概述 1

1.1 项目开发的背景 1

1.2 项目开发的目的 1

第2章 可行性分析及总体设计原则 2

2.1 可行性分析 2

2.1.1 技术可行性 2

2.1.2 经济可行性 2

2.1.3 社会可行性 2

2.2 总体设计原则 3

第3章 系统分析 4

3.1 业务流程分析 4

3.2 数据流图 4

3.3 数据字典 6

第4章 系统设计 9

4.1 系统功能设计 9

4.2 系统数据库设计 10

4.2.1 概念结构设计 10

4.2.2 数据库表设计 13

4.3 系统开发工具与开发模式的选择 16

4.3.1 开发工具 16

4.3.2 开发模式 16

第5章 系统实现 18

5.1 登录界面 18

5.1.1 登录界面 18

5.1.2 登录流程 19

5.2 登陆首页面 20

5.3 密码修改模块 20

5.4 课程信息管理模块 21

5.5 老师信息管理界面 21

5.6 学生信息管理 22

5.7 课表信息管理 22

5.8 课表录入模块 23

第6章 软件测试与分析 24

6.1 系统测试的定义 24

6.2 系统测试的目的及意义 24

6.3 系统测试的重要性 24

6.4 系统测试的常用方法 25

6.5 测试环境与测试条件 26

6.6 系统运行情况 26

6.7 测试总结 26

第7章 总结与展望 27

参考文献 28

致 谢 29





摘 要

随着在校大学生人数的不断增加,教务系统的数据量也不断的上涨。针对学生选课这一环节,本系统从学生网上自主选课以及课程发布两个大方面进行了设计,基本实现了学生的在线信息查询、选课功能以及教师对课程信息发布的管理等功能,另外也初步解决了管理员在课程信息发布管理上的权限问题。本程序前台采用Dreamweaver进行页面制作,后台由SQL Server数据库支持,通过使用JSP语言实现动态网页的效果,达到对数据库的操作以完成使用者的要求。本文中除了有对程序的总体设计、详细设计、功能实现等主体部分外,在这之前还介绍了与网上选课系统相关的信息管理系统、网络编程技术、JSP编程语言、SQL Server数据库服务器等的基本内容及发展情况。



关键词:选课;JSP;SQLSERVER



























Abstract

The number of college students with increasing, the educational administration system data quantity also rise. Course for students of this aspect, the system from the Student Online Autonomous course and course released two major aspects of the design, the basic achievement of the students in online information, selection function as well as teachers of the curriculum management information function, also a preliminary settlement of the administrators in the curriculum information administration jurisdiction problem. Procedures for the future use of Dreamweaver page production, background by SQL Server database support, through the use of JSP language implementation of dynamic webpage effect, achieve the operation on the database to complete the requirements of users. In this paper, in addition to the program ''s overall design, detailed design, functional realization of the main component, before this also introduces online course selection system related information management system, network programming technology, JSP programming language, SQL Server database server such as the basic contents and development situation.



Key Word:Course choosing; JSP; SQLSERVER





概述

项目开发的背景

随着计算机的开发目的是使从转变成,为提供方便条件。对的实际情况进行调研之后,进行详细的需求分析,对现有的进行改进,开发出一套新型的系统,从中领悟系统开发的思想,掌握系统开发的流程和方法。随着系统的不断完善,的管理将越来越依赖于信息化的管理。所以系统开发将围绕的实际情况,使之能迅速适应的需要。

的现实意义:

可行性分析及总体设计原则

可行性分析

可行性分析也称为可行性研究,是在调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会等方面进行分析和研究,以避免投资失误,保证新系统的开发成功[2]。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。

下面将分别从技术、经济、社会三个方面对网络教学平台的建设进行分析和研究。根据系统功能、性能及实现系统的各种约束条件,根据系统目标来衡量所需的技术是否具备,本系统是一个数据库管理和查询的系统,现有的技术已较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发的。

由以上分析可知,网络教学平台的开发在技术上是可行的。

具有信息化的处理设施,并且拥有支持本系统的应用平台。因此无需再投入资金购买其他设施。

系统的开发基于本人对程序开发的实践学习而来,学校无需资金投入,并且软件开发过程投入的成本不高,因此开发经费完全可以接受。

由以上分析可知,网络教学平台在经济上是可行的。

本系统的社会可行性主要从法律因素、用户使用可行性两方面进行研究。

(1)法律因素

本系统是根据的实际情况开发研制的,是通过大量的调研得出的,系统的软件设计是在独立的环境下完成的,无可供抄袭的软件产品。

(2)用户使用可行性

本系统对用户的要求,除了需要具备在Microsoft Windows平台上使用个人电脑的知识外,并不需要特别的技术能力。使用系统的管理员,需要具备对Tomcat服务器的使用能力,在投入使用前,无需对操作系统的人员进行培训。这样既减少投入成本又简化了操作环节。

由以上分析可知,本系统具有社会可行性。

本系统为了设计、实现和后期维护的方便,以及系统用户使用的便利,所以必须采取一定的设计原则[3]。其主要设计原则有:

简单性:在实现系统的功能的同时,尽量让系统操作简单易懂,这对于一个系统来说是非常重要的。

针对性:本系统设计是针对管理的需求定向开发设计,所以具有专业突出和很强的针对性。

实用性:要求本系统能够满足的需要,因此具有良好的实用性。

一致性:页面整体设计风格以及命名规则的一致性:整体框架和用图用色风格及变量、类名和其他元素的命名规则保持一致。功能一致性:完成同样的功能应该尽量使用同样的元素。 元素风格一致性:界面元素的美观风格、摆放位置在同一个界面和不同界面之间都应该是一致的。变量命名规则的一致性:变量应该用统一的规则进行命名,做到任意变量均能从上下文推断其义。

先进性:本系统采用、作为系统开发工具和数据库,两个软件具有良好的兼容性和系统稳定性。因此本设计具有良好的先进性 [7]。

系统分析

业务流程分析

在进行业务流程分析时,需要按照原有信息流动过程,逐个地调查分析所有环节的处理业务、处理内容、处理顺序和对处理时间的要求,弄清各个环节需要的信息、信息来源、流经去向、处理方法、计算方法、提供信息的时间和信息形态(报告、报单、屏幕显示)等[4]。

业务流程分析可以帮助开发者了解该业务处理过程,发现和处理系统调查工作中的错误和疏漏。业务流程分析是通过业务流程图来进行,即用一些规定的符号及连线来表示某个具体业务处理过程[5]。

具体的流程如图3.1所示。

图3.业务流程图



数据流程是指数据在系统中产生、传输、加工处理、使用、存储的过程[6]。数据流程分析是把数据在现行系统内部的流动抽象的独立起来,舍去了具体组织机构、信息载体、处理工具、物质、材料等,单从数据流动过程来考查实际业务的数据处理模式。

数据流程与数据流程分析是今后建立数据库系统和设计功能模块处理过程的基础。描述数据流程的工具是数据流程图以及其附带的数据字典、处理逻辑等图表。其中数据流程图是描述系统逻辑模型的主要工具,它以少数几种符号综合地反映出信息在系统中的流动、存储和传递[7]。

在业务流程分析的基础上,对数据流进行了分析,从数据流动过程考察了实际业务的数据处理模式。



图3.





图3.

图3.

由于论文的篇幅限制不能一一列举数据流图,只给出了一部分比较重要的,其他都是按照此方法绘制的。

系统数据流程的分析完成后,接下来用数据字典描述数据流图中一些主要的数据元素条目、数据流、处理过程、数据存储和外部实体[13]。

数据元素条目如表3.1所示:

表3.1数据元素





数据结构条目如表3.2所示:

表3.2数据结构





数据流条目如表3.3所示:

表3.3数据流





数据存储条目如表3.4所示:

表3.4数据存储





处理过程条目如表3.5所示:

表3.5处理过程



外部实体条目如表3.6所示:

表3.6外部实体





由于论文篇幅的限制,不在此一一列举,其他所有的数据字典条目都是根据数据流图绘制的。



通过对进行全面的调查分析的基础上,制定出系统的系统总体规划。系统设计包括系统总体设计、系统详细设计、系统数据库设计、系统开发工具、开发技术和开发模式等[14]。

管理系统功能模块图如所示:



图4.1 功能模块图

图4.功能模块图

图4.功能模块图

系统数据库设计

数据库设计是系统设计中非常重要的一个环节[15]。数据是一切系统设计的基础,通俗地说,数据库设计就像高楼大厦的根基一样,如果设计的不合理、不完善,将在系统开发过程中,甚至到后期的系统维护、功能变更和功能扩充时,引起较多问题,严重时甚至要重新设计,重做大量已完成工作。

概念结构设计

根据系统分析的结果,具体分析不同实体用户,描述不同实体之间的关系,得出系统数据实体图和E-R图。

实体属性图如图4.所示:



图4.实体属性图



学生信息实体属性图如图4.所示:



图4.实体属性图



实体属性图如图4.所示:



图4.实体属性图

课程信息实体属性图如图4.所示:



图4.信息实体属性图









课表信息属性图如图4.所示:





图4.实体属性图























数据库表设计

Int 编号 4 √ Name varchar 登陆账号 50 Pwd varchar 登陆密码 50

(2)课程信息表(t_kecheng)

课程信息表主要存储管理员发布的课程信息,主要字段包括:课程编号、课程名称、课程介绍等。

表4.14课程信息表(t_kecheng)

字段名 数据类型 字段描述 长度 主键 id Int 编号 4 √ bianhao varchar 课程名称 50 mincheng varchar 课程介绍 5000 keshi varchar 课时 4



(3)学生信息表(t_xuesheng)

学生表主要存储学生的基本信息,主要字段包括:ID、学号、姓名、性别、年龄、登录帐号、登录密码等。

表4.15学生信息表(t_xuesheng)

字段名 数据类型 字段描述 长度 主键 id Int 编号 4 √ xuehao varchar 学号 50 xingming varchar 姓名 50 xingbie varchar 性别 50 nianling Int 年龄 4 banji varchar 班级 50 loginname varchar 登录帐号 50 loginpw varchar 登陆密码 50

(4)老师信息表(t_laoshi)

老师信息表主要存储老师的基本信息,主要字段包括:ID、老师编号、姓名、性别、年龄、登录帐号、登录密码等。

表4.16老师信息表(t_laoshi)

字段名 数据类型 字段描述 长度 主键 id Int ID 10 √ bianhao varchar 老师编号 50 xingming varchar 姓名 50 xingbie varchar 性别 50 nianling Int 年龄 50 zhicheng varchar 职称 50 loginname varchar 登录账号 50 loginpw varchar 登陆密码 50

(5)课表信息表(t_kebiao)

老师信息表主要存储课表的基本信息,主要字段包括:ID、课程ID、上课时间、节次、上课教室、老师ID、登录密码等。

表4.17老师信息表(t_kebiao)

字段名 数据类型 字段描述 长度 主键 id Int ID 10 √ kecheng_id Int 课程ID 4 shijian varchar 上课时间 50 jieci varchar 节次 50 jiaoshi varchar 上课教室 50 laoshi_id Int 老师ID 4

(6)学生选课信息表(t_xuesheng_xuanke)

老师信息表主要存储学生选课的基本信息,主要字段包括:ID、学生ID、课表ID等。

表4.18老师信息表(t_xuesheng_xuanke)

字段名 数据类型 字段描述 长度 主键 id Int ID 4 √ xuesheng_id Int 学生ID 4 xuesheng_id Int 课表ID 4







系统开发工具与开发模式的选择

开发工具

JSP、JSP拥有Java程序设计语言一次编写,各处执行的特点Struts框架为开放者提供了一个统一的标准框架,通过使用Struts作为基础,开发者能够更专注于应用程序的商业逻辑Struts能充分满足应用开发的需求,简单易用敏捷迅速Oracel10G数据库作为后台数据库,Oracel10G系统具有强大的网上功能,可以在互联网上发布数据库中的数据。在Oracel10G系统中,允许用户简单的使用一些向导和工具把数据库的数据发布到网络上,并且可以根据需要来调度修改已经发布的数据。在大家所了解数据库系统中,Oracel10G,经过三十多年的发展,已经成为最重要的数据处理技术,被广泛应用到多种项目的开发与设计中,决定采用此数据库系统来完成系统的设计。

开发模式

目前,在大多数结构的Web应用中,浏览器直接通过HTML或者JSP的形式与用户交互,响应用户的请求。虽然很直观,但是大多数管理信息系统操作的数据量都是惊人的,随着代码的增多会使JSP页面臃肿不堪,Web服务器的负荷过重。因此,在中间层上采用基于模型视图控制器(MVC,Model-View-Controller)的设计模式。MVC之间的关系如图4.所示,Model层用来实现业务逻辑,View层用来显示用户界面,Controller层主要负责View层和Model层之间的控制关系。具体实现时,把Servlet用作应用程序的控制器,把JSP文档作为视图,JavaBeans被用来表示模型。所有的请求都被发送给作为控制器的Servlet,它接受请求,并根据请求信息将它们分发给适当的JSP来响应。同时,Servlet还根据JSP的需求生成JavaBeans的实例并输出给JSP环境。JSP可以通过直接调用方法或使用UseBean的自定义标签得到JavaBeans中的数据。这种设计模式很好地实现了数据层与表示层的分离,使开发工作更加容易和迅速[1]。在这种设计模式下,各层次之间的数据传递如图4. 所示。



图.13 MVC之间的关系图

图.14 数据传递图





图5.1登录界面

登录流程



图5.2登录流程图



登陆首页面

超级管理员输入用户名和密码后,系统判断合法性正确后,登录到本系统,系统首页如下图所示:



图5.3管理员登录首页

密码修改模块

超级管理员登录本系统后,为了保证系统安全性,可以修改自己的密码,界面如下图所示:







图5.4管理员维护界面



课程信息管理模块

该模块负责维护所有的课程信息,界面如下图示:



图5.5课程管理界面

老师信息管理界面

该模块负责管理所有的老师信息,设计界面如下图所示:



图5.6老师信息管理界面



学生信息管理

超级管理员登录本系统后,可以管理学生的信息,如下图所示:



图5.7学生信息界面

课表信息管理

本模块是系统的核心所在,管理员负责管理课表信息,然后学生登陆系统后可以在线选课,设计界面如下图所示:





图5.8在线讨论管理界面









课表录入模块

录入新的课表信息,设计界面如下图所示:



图5.8在线讨论管理界面









软件测试与分析

测试是开发时期最后一个阶段,是保证软件质量的重要手段。软件测试就是在受控制的条件下对系统或应用程序进行操作并评价操作结果的过程,所谓控制条件应包括正常条件与非正常条件。软件测试过程中应该故意地去促使错误的发生,也就是事情在不该出现的时候出现或者在应该出现的时候没有出现。从本质上说,软件测试是探测,在探测中发现软件的毛病。

系统测试的定义

软件测试是为了发现错误而执行程序的过程。它不仅是软件开发阶段的有机组成部分,而且在整个软件工程(即软件定义、设计和开发过程)中占据相当大的比重。软件测试是软件质量保证的关键环节,直接影响着软件的质量评估。软件测试不仅要讲究策略,更要讲究时效性。验收测试作为软件测试过程的最后一个环节,对软件质量、软件的可交付性和软件项目的实施周期起到"一锤定音"的作用。

系统测试的目的及意义

软件危机曾经是软件界甚至整个计算机界最热门的话题。为了解决这场危机,软件从业人员、专家和学者做出了大量的努力。现在人们已经逐步认识到所谓的软件危机实际上仅是一种状况,那就是软件中有错误,正是这些错误导致了软件开发在成本、进度和质量上的失控。有错是软件的属性,而且是无法改变的,因为软件是由人来完成的,所有由人做的工作都不会是完美无缺的。问题在于我们如何去避免错误的产生和消除已经产生的错误,使程序中的错误密度达到尽可能低的程度。

系统测试的重要性

软件测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。

事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计。测试是所有工程学科的基本组成单元,是软件开发的重要部分。自有程序设计的那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%以上。而在软件开发的总成本中,用在测试上的开销要占30%到50%。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。

系统测试的常用方法

程序测试的主要方法分为两大类,白盒测试和黑盒测试。

白盒测试:一种是以程序的内部逻辑结构为依据而设计测试用例的方法,因而又称结构测试或玻璃盒测试,将软件看成一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查它与设计是否相符。白盒测试就是要选取足够的测试用例,对源代码实行比较充分的覆盖,以便尽可能多地发现程序中的错误。主要有两种方法:一种称为逻辑覆盖法,另一种称为路径覆盖法。

黑盒测试:也称功能测试,数据驱动测试等,它将待测对象堪称是一个黑盒子,在完全不考虑程序的内部结构和特性的情况下,只依据规格说明书检查程序的功能是否能正常使用。

黑盒测试主要是根据输入条件和输出条件的确定测试数据,来检查程序是否能产生正确的输出[16]。进行黑盒测试主要有下面几种方法:等价分类法、边界值分析法、猜错法、因果图法。

本系统的测试综合了白盒测试、黑盒测试两种方法,但主要使用的是黑盒测试方法。在测试当中遵循了“尽早地和不断进行测试”,“保证测试用例的完整性和有效性”原则。通过测试达到以下测试目的:

1功能检查。

检查功能是否争取,是否遗漏或实现不了应该实现的功能等。

2接口检查。

检查能否正确地接受信息或输出信息。

3数据检查。

检查数据结构或外部信息是否有(如数据文件)访问错误。

4性能检查。

检查性能需求能否得到满足。

5初始化、终止检查。

检查是否能进行正确地初始化或终止。

测试环境与测试条件

处理器:Inter(R) Core (TM)2 Duo T750

内存:2GB

硬盘:160G

操作系统:Windows XP

数据库:

系统运行情况

系统评价是指系统在正式运行了一段时间之后,对它在功能上、技术上和经济上所进行的审核评价。针对本系统的评价如下:

(1)系统功能评价

根据本系统开发前所订的目标,在系统完成后经过测试运行,该系统达到了预定的开发目标,在实际使用中的功能可以满足用户需求。

(2)系统技术评价

本系统设计合理,功能达到了预期目标,且系统运行后稳定可靠,安全性高,具有实用性,大大提高了信访办公效率。

(3)系统经济评价

在规定时间内,该系统完成了系统分析时所确定的系统开发目标,达到了设计要求,投入使用后为用户节省了大量人力物力财力,提高了科学管理水平。

测试总结

通过对系统的全面测试,所有测试条目都已经通过,实现了基本要求,系统可以正常运行。

本文在分析管理流程的基础上,用和设计并实现了管理系统。通过系统调试结果显示,本系统基本完成了功能需求,界面美观友好,操作方便。但由于时间仓促加上缺乏系统开发经验,系统在设计过程中不可避免地遇到了各种各样的问题,如:

第一,有些数据输入时没有及时的进行数据格式校验,不能保证数据绝对正确性。

第二,由于时间关系,系统功能实现不够完善,使用不是很方便。

当然系统中还存在很多的不足,与目前市场上主流的管理系统软件相比还有很大的差距,还有许多需要改进的地方。本系统的开发设计针对于当前实际需要设计了一些模块供使用,但是在未来随着规模的不断扩大,还可以开发更多的功能模块来满足其需求。在实际操作方面,随着业务量的不断增加,系统的操作将越来越人性化,使用户可以迅速上手。

Java Web开发详解.电子工业出版社,2007年.

[10] ArtTaylor.JDBCDatabasePrograming with J2EE.电子工业出版社.2004.4

[11] 刘晓华.JSP 应用开发详解.北京电子工业出版社.2005

[11] 李永亮,黄凯锋.基于Jsp的电子商务购物车的实现研究.2006.11

[12] 万峰科技.JSP网站开发四酷全书.电子工业出版社.2005.9

[13] 邱旭东,刘文浩.基于JSP的MVC开发模式研究及应用[J].中国科学信息技术2006. 12-13.

[14] Jim Budzynski.E-business:Model for success or failure.AgriMarketing,2001(3):30

[15] 王选.软件设计方法.北京: 清华大学出版社,1992.



致 谢

四季更替,当大学生活的第四个夏天来到时,我的大学生活也即将画上了一个句号。有结束必有开始,大学毕业后又将面临着新的考验。

回忆过去的点点滴滴,我不禁浮想联翩:刚上大学时欢乐心情和兴奋的场景还历历在目。一切都是那么新鲜,那么富有吸引力。有快乐也有艰辛,有收获也有失落。衷心感谢信息学院所有支持帮助过我的老师,谢谢你们多年来的关心和爱护。同窗的友情同样难忘,你们与我共同走过了人生中不平凡的道路,给我留下了值得珍藏的美好记忆。???

最后,我要特别感谢老师。本论文是xx老师耐心的指导和热情帮助下完成的,老师认真负责的工作态度,严谨的治学精神和精深的理论水平都使我受益匪浅。他无论在理论上还是在实践中,都给予我很大的帮助,使我专业技能的应用水平得到很大提高,这对于我以后的工作和学习都有益处。值此论文完成之际,特别向指导老师表示衷心的感谢和崇高的敬意,谢谢他细心而又耐心地辅导,使得我得以顺利的完成毕业设计开发工作,同时也要感谢其他帮助过我的老师和同学,他们在我成长过程中给予了我很大的帮助,在此一并表示感谢。

由于本人水平有限,加上时间紧促,本文一定有不少缺点和不足,恳请各位老师给予帮助和指正。

























- ii -







- ii -



学生选课系统的设计与实现



- 8 -







- 1 -





数据元素条目

总编号:1-101

编号:101

名称:课程编号

说明:课程的编号

数据值类型:离散

长度:50

有关数据结构:课程信息表 如:10001



数据结构条目

名称:老师信息表

说明:创建老师信息记录时的数据 总编号:2-01

结构: 编号:01

编号

姓名

密码 有关数据流、数据存储:

姓名 P9操作员管理

性别 数量:每月约20份





数据流条目

名称:修改密码 总编号:3-10

说明:将修改后的密码记录存储到管理员信息表中 编号:10

数据流来源:

数据流去向:P7管理员维护 流通量:10份/周

包含的数据结构:

管理员信息表



数据存储条目

名称:管理员信息表 总编号:4-03

说明:存储管理员的相关信息 标号:D7

结构:

编号

用户名

密码



有关的数据流: P7→D7 信息量:2份/年





处理过程条目

名称:课表管理 总编号:5-15

说明:管理课表信息 编号:P2

输入:P2课表信息

输出:D2插入课表信息表

处理:P2



外部实体条目

名称:管理员 总编号:6-001

说明:管理员 编号:001

输入数据流: 个数:1个

输出数据流:















































































































献花(0)
+1
(本文系zy_360tsg原创)