学生选课信息系统设计与实现_第1页
学生选课信息系统设计与实现_第2页
学生选课信息系统设计与实现_第3页
学生选课信息系统设计与实现_第4页
学生选课信息系统设计与实现_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、毕业设计(论文)题 目学生选课信息系统设计与实现 学 生: 指导老师: 院 系: 信息科学与工程学院 专 业: 网络工程 班 级: 网络工程 10 学 号: 31 2014 年 6 月学生选课信息系统的设计与实现学生选课信息系统的设计与实现目目 录录摘摘 要要.41 系统开发现状背景意义及当前开发管理系统的一些技术及原理系统开发现状背景意义及当前开发管理系统的一些技术及原理 .61.1开发的背景和意义开发的背景和意义.61.2 国内外的发展现状国内外的发展现状.61.3 相关理论及技术简介相关理论及技术简介.71.3.1B/S 构架简介.71.3.2 MVC 框架简介.71.3.3 JAVA技

2、术简介.81.3.4 ORACLE数据库简介.81.4 本文的组织和内容简介本文的组织和内容简介.82 2 对学生选了信息系统的调查和需求分析对学生选了信息系统的调查和需求分析.92.1 学生选课信息系统的可行性分析学生选课信息系统的可行性分析 .92.1.1 开发工具可行性分析.92.1.2 系统的操作及经济可行性分析.92.2 学生选课信息系统需求及业务分析学生选课信息系统需求及业务分析.92.2.1 学生选课信息系统功能需求分析.92.2.2 学生选课信息系统的安全性需求.102.3 学生选课系统的结构化分析学生选课系统的结构化分析.103 系统的总体框架设计和数据库设计系统的总体框架设

3、计和数据库设计.133.1 学生选课信息系统的设计思想学生选课信息系统的设计思想.133.2 学生选课信息系统的数据库设计学生选课信息系统的数据库设计 .143.2.1 数据库概念设计 .143.2.2 数据库逻辑设计及物理框架设计.164系统详细模块设计系统详细模块设计.194.1 前台模块设计及实现前台模块设计及实现.194.1.1 登陆模块的详细设计与实现.194.1.2 管理员模块的详细设计与实现.224.1.3 学生模块的详细设计与实现.254.1.3 教师模块的详细设计与实现.294.2 后台数据库的管理后台数据库的管理.315 学生选课信息系统的测试学生选课信息系统的测试 .32

4、5.1 系统各模块的测试系统各模块的测试.325.1.1 登陆界面的测试.325.1.2 管理员模块的测试.335.1.3 学生模块的测试.355.1.4 教师模块的测试.365.2 系统测试总结系统测试总结 .37总结总结.38致谢致谢.38参考文献:参考文献:.38摘摘 要要: :在现代化的大学教育体系中随着电脑的普及以及 internet 的飞速发展,使大学里的各项工作的效率得到极大的提升,作为现在的大学需要开发一套属于自己的管理系统。而设计一套完整的学生选课系统能够更佳便于学生在校的选课以及提高学校对选课信息的管理。学生选课系统能够使选课工作标准化,模块化、系统化,能够解决选课信息的紊

5、乱性,提高学校对信息的处理速度。管理员和学生可以在第一时间对选课信息进行快速精确的查询和修改。该系统主要实现:管理员对学生,课 程、教师及选修课相关信息的管理。管理员角色登陆能够完成对其它角色的最高权限的增、删、查、改。能够对选课信息进行管理。学生角色登陆能够在首页查看到自己所有能够选修的课程及对课程进行选修和退选,并对自身的基本信息的查询和更改。教师角色登陆能够查询自己开的课程的被学生选修的学生信息及对自身基本信息的修改。关键字关键字:java、oracle、E-R 图、web 界面、表Abstract:Abstract:With the university education syste

6、m modernized and the rapidly developing of the internet and the popularization of computers , so that the efficiency of the work of the university has been greatly improved, as a university need to open a new era of their own school educational and other information management systems . The design o

7、f a complete system to better facilitate student elective course students in school and to improve school management information on course designed for high efficiency system . Student elective course work system enables standardized, modular , systematic, can solve the imbalance of enrollment infor

8、mation, improve school of information processing speed. Administrators and students for the first time on the course fast and accurate information to query and modify .The system is achieved by: Administrators of the management courses, students , teachers and course information. Log in to complete

9、additional administrator role to the highest authority of the other roles , delete , search, change . Information on the course can be managed . Students landed roles in the home can all be able to see into their elective courses and elective courses and to withdraw from the election , and to query

10、and change their basic information. Landing the role of teachers can check their open courses are electives students and student information changes to their basic information.Keywords: java, oracle, E-R diagram, web interface, Table1 1 系统开发现状背景意义及当前开发管理系统的一些技术及原理系统开发现状背景意义及当前开发管理系统的一些技术及原理11 开发的背景和

11、意义开发的背景和意义随着全球 Internet 的飞速发展的今天,教育系统的现代化已经是一种不可逆的发展趋势。通过电脑来对网上信息的管理已经成为现在教育的必须手段。现在教师与学生间的信息可以完成高效的传递。方便相互之间的沟通与合作。但是信息安全和同步中一直是研究的热点。现在的系统一般在建立资料是略显单独,缺乏共享性。有时因为管理员的主观原因而错失了用户的正真需求。对于正处于不断改革和创新阶段的教育体制应当吸取国内外的优秀教学体系,从而总结出一个是个中国的教学模式。教学应该通过软件的方式对教学信息进行集中地管理。所以学生选了信息系统在学校执行教务工作中是不可遗漏的一块。根据学校教务的实际问题出发

12、解决学生选课的难点问题,是工作人员从繁杂工作中解放出来。使教学管理更加规范化和现代化。在 Internet 的时代下,信息传递的快捷几乎可以达到实时的交换。在这样一个信息库下,学生选课系统可以极大他提高学校和教师及学生的工作效率。通过学生选课系统实现对个院系的选修课程进行第一时间的发布,学生和主教老师能在第一时间里获取选修课程的安排。从而建造一种现代化的办学环境。作为大学主要管理中的学生选课工作涉及的大学中的各个管理群体比较复杂,如果通过手工进行选课的话过程繁琐而且难免出错。所以作为新时代的大学必须拥有一套自己的选课系统来节约大量的人力资源,同时能够方便学生的选课操做极大的促进学生对选修的积极

13、性。1.2 国内外的发展国内外的发展现状现状通过网络化管理的学生系统在国内外的大学已经开发使用多年。各自的系统都能够完成选课业务中的基本功能。从系统架构上看大多数采用 C/S 的模式,实现对数据的分布操作和集中存储。选课系统能够尽可能的提高选课过程的工作效率,同时在稳定性和同步性面,追求数据的高速流通和集中管理以及快速共享。在国外对于现代化的这种系统的使用基本上可以说是无处不在,它不仅适应了社会对现代大学生的全面发展的需求,而且极大的改善了传统教育中的学校体制,使学校能够通过 Internet 进行跨地域以及跨校间的高速交流与相互合作管理。在国内随着信息化的深入,在教务系统中学生选课系统的建设

14、与使用在高校中呈现出不断完善的发展趋势。学生选课系统对于全日制的高校通过局域网就能够进行搭建和使用,使其搭建的成本低而且易于维护和完善。在现在的高校选课系统中多用的系统一般是 linux 或者 windows。开发语言基本使用的是面向对象的语言如 JAVA、C+、ASP 等。数据库常用的是 ORACLE 或者 SQL SERVER 等。1.3 相关理论及技术简介相关理论及技术简介本节主要讨论,现阶段对于开发管理系统方面主要用的一些相应用技术及系统理论等。有利于后面对系统构架及开发工具上的选择。1.3.11.3.1B/SB/S 构架简介构架简介B/S 架构从字面上理解是 Browser 和 Se

15、rver 的组合,它是通过网页和后台共同搭建的一种流行架构。B/S 架构跟随着万维网的发展而不断完善,与 C/S 构架相比它更具优越性。通过浏览器来实现用户界面,后台服务器基本完成的所有的事物逻辑运算,但也有少部分由前台来实现,从而构成三层结构模型。以这样搭建的系统架构对于客户端的负荷量是非常小的,由于需求的网络拓扑简单,后台数据又是集中管理。再管理难度方面也得到了很多的简化,极大的节约了人力和物理。对于局域网下开发的 B/S 架构的网络应用,能够实现不同角色,从不同的地方,以不同的登入方式对同一数据库进行访问和操操作。同时在结合 java 这样的面向对象的语言进行开发时 B/S 构架能够快速

16、、高效、便于的对软件进行管理。B/S 架构的最大特点是:WEB 服务器通过不同的方式与数据库相连生成各种如文本、图像、数据、视频等的信息,提供用户从流量器中进行访问。它的这种分步性的特点使业务能够被随时访问。同时通过增加网页就能够增加服务器的功能所以在扩展性方面更加的简便。对于维护方面通过简单的操作就能过使数据同步更新到所有用户中。所以B/S 架构是一个便于开发且共享性强的系统架构。1.3.21.3.2 MVCMVC 模型简介模型简介MVC 是由 jsp + servlet 技术的一种系统模型,它设计网页运用程序是一种以模型、视图、控制器相结合的形式来实现。模型主要负责在数据库中存储数据,是应

17、用程序数据处理的逻辑部分。视图从字面上就可以得出他是用来处理数据的一种呈现的部分,它通过模型数据来创建并以不同角色以不同的形式呈现出来。控制器从视图中读取数据,他还能控制不同用户的不同输入,最后向模型发生数据。从而解决用户的交换功能。MVC 分层能够简化对复杂应用程序的管理,同时在 MVC 分层中他能够让不同的开发人员对系统进行同时的开发。1.3.31.3.3 javajava 技术简介技术简介在面向对象的诚信设计中的多种开发语言中,发展最迅速的莫过于 java。java 由于它的高安全性,在不同的平台上的移植简单而且在开发上的高效率使它成为一个当今最流行的语言之一。在个人 PC、手机系统等的

18、系统中应用广泛。在全球拥有最大的开发群体。Java 的前景广阔,优势突出。1.3.41.3.4 oracleoracle 数据库简介数据库简介Oracle 在当前来看是一个最受欢迎的主流数据库,同时它对 B/S 架构的上的系统支持度高。它能够对数据进行完整的管理,在关心数据库方面它是一个关系完备的软件产品。Oracle 能够同时处理大量的数据运算速度快,保存永久,在数据的 share 和保真性方面处理的非常好。所以 ORACLE 是属于安全性和可用性强,稳定性与扩展性优越的数句库系统。1.4 本文的组织和内容简介本文的组织和内容简介本次设计主要涉及到系统的结构分析与各个部分的实现。完成用户面的

19、设计与后台数据的处理。该系统参考福建工程学院的选课系统中一些功能进行设计。实现选课系统的各项具体的实际需求。使用软件工程项目的项目开发流程来看,从软件的需求分析到网网结构的设计与实现,以及学生选课信息系统的设计与实现的工作。结果如下:第一章:阐述了本次设计的开发背景和意义以及发展状况。主要介绍相关的概念和设计时用到的技术和方法第二章:对学生选了信息系统的调查和需求分析。第三章:论述系统的总体框架和各个模块的设计工作以及 ORACLE 数据库中各表的建立。第四章:系统详细模块设计。第五章:对学生选课系统的总体运行以及各模块测试。2 2 对学生选了信息系统的调查和需求分析对学生选了信息系统的调查和

20、需求分析2.1 学生选课信息系统的可行性分析学生选课信息系统的可行性分析本节主要讲述系统开发需要的硬件、软件支持的条件,另外再通系统的基本要求再结合经济条件出分析开发的可行性。2.1.12.1.1 开发工具可行性开发工具可行性分析分析本次开发学生选课信息管理系统要求一台 win xp 或 win 7 或 win 8 的 PC 即可。对于电脑的要求是能够运行 java 的各工具和 oracle 及 tomcat 等。现在市面的出售的个人笔记本电脑就可以完成。所以在现在的条件下开发该系统在技术可行性方面是完全能够都到满足的。2.1.22.1.2 系统的操作及经济可行性分析系统的操作及经济可行性分析

21、本系统在人机界面方面充分以大众的习惯出发,尽量做到傻瓜式的操作界面,使操作人员能够最快速的适应操作界面。对于数据的插入方面能够实现快速化、规范化并且有良好的扩张性。是以经济实用的角度出发的一款产品,它能够通过网页进行登录可以最大限度的节约对电脑资源的占用。在投入使用的过后可以的大限度的节约人力和物力。再与开发成本相比前后,可以发现性价比是非常高的,所以在经济实用性方面可行性非常强。2.2 学生选课信息系统需求及业务分析学生选课信息系统需求及业务分析本节通过分析学生选课信息系统的要求结合前节可行性方面来分析各方面的需求2.2.12.2.1 学生选课信息系统功能需求分析学生选课信息系统功能需求分析

22、学生选课系统主要是为了实现不同院系的学生能够对自己系的选修课程完成选修和退选。但是对于与一个选课系统必须要求有课程的录入而每个课程必须要有自己的主教老师。所以系统的设计方面要对系统设计的登陆的角色必须要有管理员、学生、教师。这三种角色需求的描述如下。管理员:主要是完成学生及教师角色的创建和修改及删除。同时管理员能够进行对课程的排课和管理。在教师、课程的删除操作时必须保证对应的老师开的课程没有被学生选修。对于课程的删除也需要保证没有被学生选修。所以管理员担任着对选课信息系统的信息管理和维护作用。学生:在登陆系统中主要能够完成对本院系的选修课程进行查询并进行选修和对以选课程进行推选。同时对于学生自

23、身的信息能够完成对所有信息的查询及对基本信息的修改如姓名、住址等。在进行登陆密码修改时,新密码必须进行第两次确认。教师:在登陆后主要是可以通过系统查看有多少学生选修了自己开的的课程。然后,能够对自身的所有信息的查询及对基本信息的修改如姓名、住址等。在进行登陆密码修改时,新密码必须进行第两次确认。所以通过这三者的需求系统主要是能够完成四大模块的设计。一、对登陆界面的设计,登陆界面能够选择以什么角色进行登陆并进行登陆明密码的检测。如果登陆名密码出错会跳出登录名密码错误。二、作为管理员的登陆后的主界面,主要是能够完成学生、教师、课程的管理及维护。三、作为学生登陆后的主界面。在该页面中能够实现学生对自

24、身能够选修的课程的查询和选修与退选,拥有个人信息的查询和修改入口。四、作为教师的登陆后的主界面,教师能够在主要看到自己开的选修课程的被选情况。然后是具备对个人信息的查询和修改的入口。2.2.22.2.2 学生选课信息系统的安全性需求学生选课信息系统的安全性需求本次设计的系统是基于 B/S 架构开发的 web 软件,数据是 oracle 这样的大型数据库在数据的遍历及查询方面速度快。所以系统一般拥有大量的用户群体,所以在登陆时应该解决数据库的安全访问用来防止网络攻击。在使用 IIS+java+oracle 的方式下进行登陆系统时应该启用 session 认证。在浏览器访问为解决在不同的界面地址不

25、同单登陆后的地址在新的网下可以直接被访问所以需要解决这种安全漏洞。2.3 学生选课系统的结构化分析学生选课系统的结构化分析系统界面结构出发主要是完成登陆界面的设计,而登陆界面要有选择登陆的角色,管理员、学生、教师。这三者登陆后主要为三大结构,三个主页拥有各个功能的选择与操作。系统界面结构图如 图 2.-1图 2-1 系统界面结构图在程序结构中主要是使用 MVC 的模型,系统拥有三个基本部分:控制器、模型及视图,三者的关系和功能如图 图 2-2图 2-2 MVC 架构模型功能关系图学生选课信息系统管理员登陆学生登陆教师登陆学生管理教师管理各系课程管理选课程管理选课操作个人信息查询个人信息修改密码

26、修改备选课程信息查询个人信息查询个人信息修改密码修改对于数据结构需要有立学生表、教师表、课程表,如果对于学生系别应该在增加一个院系表,通过院系的 ID 号来筛选学生所在系的所以该系选修课程。课程表中的元素“院系”与院系表的 ID 关联。同样各表之间的都能够通过主键或者外键进行关联。3 3 系统的总体框架设计和数据库设计系统的总体框架设计和数据库设计3.1 学生选课信息系统的设计思想学生选课信息系统的设计思想通过前一章对系统的调查和需求分析,可以总结得出系统的数据流向方向为:不同角色通过人机界面输入数据或者数据请求,然后 WEB 页面接收指令或数据并对其进行处理分析,页面将分析结果数据发往后台,

27、后台再对数据进行处理,根据数据的特定格式生成 SQL 语句,从而对数据库进行访问和操作,最后将结果通过视图界面返回给用户。所以数据流的大体结构如图 图 3-1 数据流结构图用用户户浏浏览览器器视视图图(a as sp px x)A Ac ct ti io on n(调调用用d dl ll l) )A Ac ct ti io on n(J Ja av va aS Sc cr ri ip pt t) )业业务务逻逻辑辑接接口口数数据据操操作作图 3-1 数据流结构图系统结构设计主要根据 MVC 的架模型进行对视图、模型、控制器进行设计和开发。视图主要是提供人机界面与用户之间实现交互数据,并对用户数

28、据进行初步的处理,使数据能够以准确的格式在控制器中进行处理。不同的请求调用不同的控制层函数,然后控制层对数据进行处理,将处理后的数据发往数据模型,找到实现的方法。从而完成对数据库的查询和操作。本系统采用的是 B/S 的架构,服务器与客户端,从拓扑的结构来看采用的是点对多点的结构。服务器主要包括 tomcat 网络服务器和 oracle 数据库服务器,它们共同承担数据库的各种功能如数据传输和存储等,通过监听网络和客户终端机连接。从总体的设计上看本系统包括四大模块分别是:登陆模块、学生首页、教师首页和管理员的管理界面。各自的功能可以参考图 2.1。3.2 学生选课信息系统的数据库设计学生选课信息系

29、统的数据库设计本节主要从数据库的概念设计、逻辑架构和物理架构来阐述学生选课信息系统的数据的设计。概念主要通过 E-R 图来讲述。逻辑架构主要通过主键约束、外键约束和属性约束来讲述。物理架构通过表格的形式直接明了的进行描述。3.2.13.2.1 数据库概念设计数据库概念设计从前面的系统模块分析角度出发,系统涉及到的实体应该包括:管理员、学生、教师、选修课程、院系。一下通过 E-R 来论述各个实体的相关属性和联系。图中用下划线来表示主键。mnnap1j 1l m cb dk图 3-2 实体 ER 图学生管理员教师课程院系隶属隶属执教管理管理选修管理师生教师id密码姓名性别职称院系 id备注名称院系

30、主任联系电话课程 id课程名学分选课人数课程院系课时管理员 id密码姓名学号姓名专业密码性别电话班级身份证邮箱院系从图 3-2 可以看出各个实体间的关系。管理员能够对其它实体进行管理,从关系上看与其实体之间是多对多的管理与被管理关系。院系实体和学生实体、课程实体之间的关系式是一对多的从属关系,学生实体和课程实体构成多对多的选修与被选修的关系,学生实体和教师实体则是多对多的师生关系。教师与课程之间则是多对多的执教与被执教的关系。对于个实体的属性则可以通过 E-R 得到确认,列如教师的属性有:教师ID(该属性为本实体的主键) 、密码、姓名、性别、职称。3.2.23.2.2 数据库逻辑设计及物理框架

31、设计数据库逻辑设计及物理框架设计通过上一章的 E-R 图出发可以得到数据库的关系数据模型如下:管理员:(管理员 ID、密码、登陆名)选修课程:(课程号、课程名、学分、课时、课程所属院系、选此课程的学生数量)选课信息:(课成 id、课程、学号、教师工号、成绩)院系:(院系 ID、名称、院系主任、主任电话、备注)从这五个实体上数据库总共需要建立五个表:学生表、教师表、管理员表、选修课程表以及院系表。六个表的主键约束如下:学生表的主键为学号;教师表的主键为教师 ID;管理员表的主键为管理员 ID;选修课程表的主键为课程号;选课信息表的主键为选课 ID;院系表的主键为院系 ID。外键约束如下:学生表和

32、选课信息表:“选课信息_学号”为外键,参照学生表中的学号这个属性。在数据库中这个外键约束应该起到受限删除、修改和插入等的策略。学生表和院系表:“学生_所在院系”为外键,参照院系表中的院系 ID 这个属性。在数据库中这个外键约束应该起到受限删除、修改和插入等的策略。选课信息表和选修课程表:“选课信息_课程号”为外键,参照课程表中的课程号这个属性。在数据库中这个外键约束应该起到受限删除、修改和插入等的策略。选修课程表和院系表:“选修课程_课程所属院系”为外键,参照院系表中的院系ID 这个属性。在数据库中这个外键约束应该起到受限删除、修改和插入等的策略。属性约束如下:在学生表和教师表的性别这个属性只

33、能取“男”或“女”;在学生表、院系表和课程表中的院系这个名称只能取学校已有的系别,可选项可参考下一章中提到的院系选择。通过上面的论述各表的属性设计如下各表:表 3.1 学生表字段名字段类型字段中文名备注stt_idChr(10)学号主键d_idint专业标识stu_pwdvarchar2(16)密码stu_sexvarchar2(2)性别男/女stu_namevarchar2(20)姓名stu_idnttynanber身份证号码stu_departmentvarchar2(20)所在院系stt_clasvsrchsr2(20)隶属班级stu_contactChar(11)联系方式stu_emi

34、levarchar2(20)电子邮件stu_addressvarchar2(20)地址表 3.2 教师表字段名字段类型字段中文名备注t_idChar(10)教师 id主键t_namevarchar2(16)姓名t_pwdvarchar2(20)登录密码t_sexvarchar2(2)性别男/女t_identitychar2(18)身份证号t_titlevarchar2(20)职称表 3.3 管理员表字段名字段类型字段中文名备注user_noChet(6)管理员 id主键user_pwdvarchar2(20)用户名user_nanevsrchsr2(2 0)密码表 3.4 选修课程表字段名字段

35、类型字段中文名备注c_idint课程号主键c_namevarchar2(30)课程名称c_timeint学时c_scoreint学分c_countint选修人数d_idint院系标识t_idChar(10)执教老师表 3.5 选课信息表字段名字段类型字段中文名备注s_idint选课号主键c_idint课程号外键c_gradenumber(4,2)课程成绩srt_ldChdr(10)学号外键tt_ldChar(10)教师号外键表 3.6 院系表字段名字段类型字段中文名备注d_idint院系号主键d_nameVarchar2(50)院系名称d_chairmanVarchar2(10)系主任d_te

36、lVarchar2(11)电话d_momeVarchar2(255)备注在 oracle 数据库中创建 sa 的用户密码为 123456 并赋给 sa 用户 connect 及resource 权限代码如下:链接后建立的各表上述各表,详细代码附附录。4 4系统详细模块设计系统详细模块设计4.1 前台模块设计及实现前台模块设计及实现本节主要讲述系统设计所需要的模块,并讲述各个模块的详细实现方法等。下面各节使用主要程序流程图和部分的代码来讲述模块的设计。4.1.14.1.1 登陆模块的详细设计与实现登陆模块的详细设计与实现登陆模块是作为给系统的直接前台的 web 页面,通过前面章节的叙述登陆的角色

37、需要有管理员、学生和教师。通过 radio button 来选择登陆的角色身份。页面通过输入用户名和密码来登录系统。管理员输入的用户名为管理员 id(user_no),密码即user_pwd;学生的用户名为学号(stu_id);密码即为 stu_pwd;教师用户名为教工号(t_id),密码即 t_pwd。当用户填好用户名及密码再点击登陆时 web 页面收集信息将它发往后台数据了库进行认证。当认证成功后则跳转到各自的首页。该模块的流程图如 图 4_1。是否是 是否是否否否开始登陆角色选择(管理员、学生、教师)判断是否是管理员判断是否是学生判断是否是教师用户名不存在或密码错误,返回首页输入用户名及

38、密码判断是用户密码是否准确跳转到管理员主页判断是用户密码是否准确跳转到学生主页跳转到教师主页图 4_1 系统登陆对应用户角色的判断部分代码如下:else if(prelogin.equals(act) String upower=request.gt Parmeter(upower);session.setAttribute(upower,upower);String userName=request.get Para meer(use);String password=request.get Para meer(mima);session.set Attrte(username,usme);

39、session.set Atbute(pawrd,paord);tryif(管理员.equals(upower) response.sendRedirect(security?act=adminlogin);else if (学生.equals(upower) resp ose.sedRedect(secity?act=login);else if(教师.eqas (upower) response.sendRedirect(security?act=teacherlogin);else .sendRedirect(security?act=login);catch(ApplicationEx

40、ception e) ;用户判断密码是否准确的部分代码如下:public Student checkStu(Student stu) Student student;student=getStuChById(stu.getStuId();/根据学号取出学生信息f(!(st.geStuPwd().eqals(su.getStPd()结束 return student;4.1.24.1.2 管理员模块的详细设计与实现管理员模块的详细设计与实现管理员的功能呢模块由 7 个子模块组成,分别是增加学生、学生管理、增加教师、教师管理、增设课程、课程管理和选课管理。增加学生这个模块主要是完成对学生的一个添加

41、过程,添加的信息是 tb_student 里的所有信息等。学生管理是对学生的一个修改和删除的一个管理形式,修改能够对学生这个主体的主键(学号)外的所有信息进行修改。增加教师这个模块主要是完成对新加入学校的教师人员的一个添加过程,添加的信息是教师表里的所以信息包括教职工号等。教师管理是对学生的一个修改和删除的一个管理形式,修改能够对教师这个主体的主键(工号)外的所有信息进行修改。删除需要确保该教师开的课程没有被学生选修才能删除该教师。增加课程这个模块主要是完成增设课程的一个操作增设过程中课程的任课教师和课程系别只能是下拉框里的选项(教师为取值在 tb_teacher 中,系别取值在 tb_dep

42、t 中),添加的信息是选修课表里的所以信息包括课程 id 等。课程管理是对课程的一个修改和删除的一个管理形式,修改能够对课程这个主体的主键(工号)外的所有信息进行修改。删除需要确保该课程没有被学生选修才能删除该选修课程。选课信息管理的功能是对学生已经选修的选修课程的更改和删除的操作。修改只能对课程和教师进行更改。该模块的部分功能流程图如 图 4_2 管理员选择操作,图 4_3 增加学生流程图 ,图 4_4 教师删除流程图图 4_2 管理员选择操作是否开始管理验证登陆管理员选择操作(学生管理、教师管理、课程管理、选课信息管理)结束开始选择增加学生操作输入学生信息判断学号是否重复添加学生成功图 4

43、_3 增加学生流程图是否图 4_4 教师删除流程图添加学生的部分代码如下:String stuId = request.get Parameter(stutid).trim();int deptId = Integer.parseInt(request.get Paraeter(deptid).trim();String stuPwd = request.getParameter(studentpwd).trim();String stuName = request.get Parameter(studentname).trim();结束开始选择要删除的教师该教师开的课程是否被选修删除成功该教

44、师不能被删除结束String stuSex = request.getParameter(studentsex).trim();String stuIdentity = request.getParameter(studentidentity).trim();String stuClass = request.getParameter(studentclass).trim();String stuPhone = request.getParameter(studentphone).trim();String stuEmile = request.getParameter(studentemil

45、e).trim();String stuAddress = request.getParameter(studentaddr).trim();Student stu = new Student();Dept dept = new Dept();stu.setStuPwd(stuPwd);stu.setStuIdentity(stuIdentity);stu.setStuPhone(stuPhone);stu.setStuEmile(stuEmile);stu.setStuAddress(stuAddress);/一般来说,控制器只能调用业务逻辑,是否需要数据存取,也就是DAO的调用,那是ser

46、vice层应该考虑的问题。StudentService studentService = new StudentServiceImpl();try stuService.ad(stu); catch(ApplicationException e) ; DeptService deptService=new DeptServiceImpl(); request. request.getRequestDispatcher(jsps/stu/input_stu. ; return; act=loadall);4.1.34.1.3 学生模块的详细设计与实现学生模块的详细设计与实现学生模块主要包括五个部

47、分分别是:首页、查询个人信息、修改个人信息、个人选课情况、修改密码。首页的功能是能够列出学生所属系的所有选修课程,并能够点击选修按钮,进行对相应选修课程的一个选修操作。查询个人信息是对个人基本信息的一个查询过程。修改个人信息只能够学生本身的基本信息的修改不能对学号、系别的一个修改而密码修改放在单独的一个模块中进行。个人选课情况可以列出所以学生主体所以的选修课程,可以看到选修课的课时和学分等并能够对已选的课程进行退选的操作。修改密码对修改成功的要求是输入原密码并输入新密码,新密码需要进行再次确实输入。惟有当原密码准确和第一次第二次的新密码是匹配才能胜利进行的将密码修改成功。部分功能流程图。如图:

48、图 4_5 学生选课流程图 ,图 4_6 密码修改流程图是否 图 4_5 学生选课流程图开始进入学生选课模块系统通过学生所在院系列出该学生所有的可选的课程学生进行课程选修判断学生是否选修已经选修提示该学生已经选修改课程结束选课成功否是否是开始选择密码修改过模块输入原密码和两次新密码判断原密码是否准确判断两次输入密码是否匹配密码修改成功结束新密码不匹配密码输入错误 图 4_6 密码修改流程图学生选课的部分代码如下:int courseId = Integer.parseInt(request.getParameter(courseid);String studentId=(String)sess

49、ion );String teacherId = request.;Select select = new Select();Course c = new Course();c.setCourseId(courseId); select.setCourse(c); s.setStuId(studentId); select.setStudent(s); Teacher t = new Teacher(); t.setTeachId(teacherId); select.setTeacher(t); SelectService selectService = new SelectServiceI

50、mpl(); try selectService.addSelect(select); catch(ApplicationException e) CourseService courseService = new CourseServiceImpl(); StudentService studentService = new StudentServiceImpl(); request.setAttribute(courseList, courseService.loadall();代码详细附附件4.1.34.1.3 教师模块的详细设计与实现教师模块的详细设计与实现教师模块主要包括五个部分分别

51、是:首页、查询个人信息、修改个人信息、查询选课情况、修改密码。首页的功能是能够列出自己所开的所有选修课程,能够通过首页查看到有多少人选修了自己的那些课程查询个人信息是对个人基本信息的一个查询过程。修改个人信息只能够对本身的基本信息的修改不能对工号等主要约束条件进行修改而密码修改放在单独的一个模块中进行。查询选课信息可以查看到有哪些学生选了那些课程,并且可以看到学生所在的班级。修改密码对修改成功的要求是输入原密码并输入新密码,新密码需要进行再次确实输入。惟有当原密码准确和第一次第二次的新密码是匹配才能胜利进行的将密码修改成功。部分功能流程图 如图: 图 4_7 教师选修信息查询流程图。图 4_7

52、 教师选修信息查询流程图教师查询选课信息的部分代码如下:else if(prekeepGrade.equals(act)String teacherId=(String)session.开始进入选课信息查询模块系统筛选出登陆账号所对应的教师的所有选课信息结束 SelectService selectService = new SelectServiceImpl();request.setAttribute(selectList, selectService.getSelectByTeacherId(teacherId);request.getRequestDispatcher(jsps/tea

53、cher/show_selected_teacher.jsp). getSelectByTeacherId(teacherId)方法:public List getSelectByTeacherId(String teacherId) conn = DBUtils.getInstance().getConn();List selectList=null;String sql=select * from tb_select where t_id=+teacherId+;try pstmt = conn.prepareStatement(sql);rset = pstmt.executeQuery

54、();selectList = new ArrayList();CourseDao courseDao = new CourseDaoImpl();StudentDao studentDao = new StudentDaoImpl();TeacherDao teacherDao = new TeacherDaoImpl();while(rset.next() Select sl = new Select();sl.setsId(rset.getInt(sl_id);sl.setCourse(courseDao.getCourseById(rset.getInt(c_id);sl.setStu

55、dent(studentDao.getStuById(rset.getString(stu_id); sl.setGrade(rset.getDouble(s_grade); sl.setTeacher(teacherDao.getTeacherById(rset.getString(t_id); selectList.add(sl); catch (SQLException e) e.printStackTrace(); finally DBUtils.getInstance().return selectList;4.2 后台数据库的管理后台数据库的管理后台数据库管理主要是对数据库进行直接

56、的操作。通过 PLSQL 来进行对数据库的访问。访问名用 sa 密码是:123456.。sa 具有基本的操作的权限。连接数据库后能够多对学生表、教师表、选修课程表、管理员表。选修表进行更改。可以对表进行所有的操作。系统管理员通过数据库管理进行增加和删除。管理员现在存在的用户 admin 账号是:000101,密码是:123456.。5 5 学生选课信息系统的测试学生选课信息系统的测试5.1 系统各模块的测试系统各模块的测试测试的过程是为了保证系统运行的稳定性和同步性的不可缺少阶段。是对开发的系统的最后的复查,通过对各模块的测试来解决系统的运行故障,能够在使用最少的人力资源来发现和消除系统的潜在

57、问题。从而确保系统的正常运行。5.1.15.1.1 登陆界面的测试登陆界面的测试登陆界面选择登陆的角色。输入用户和密码,通过后台数据库的验证如果验证通过的话怎跳转到相应角色的操作首页。如果错误的话则跳出用户名或密码错误的提示并停留在登陆页面,在测试时系统能够实现角色的选择与身份的认证,能够完成登陆页面的所有功能。登陆界面图 如图 5_1。当密码或用户名错误时会出现如图 图 5_2 登陆报错图。图 5_1 系统登陆界面登陆时先输入用户名密码,然后选择登陆的角色。最后单击登陆的 button,如果用吗密码准确则成功登陆系统,图用户名或密码错误时跳出 如图 5_2.图 5_2 登陆报错图5.1.25

58、.1.2 管理员模块的测试管理员模块的测试管理员模块功能:这个模块中主要完成对学生、教师、课程及选课信息的管理维护功能。测试时主要测试对学生、教师、课程的增加、修改和删除。在系统测试时这些功能的、都能实现,并且能够满足各前文中提到的规则。如单老师开了课程且被学生选择了对教师的删除时是受约束的。图 5_3 为学生管理模块;图 5_4 教师约束条件删除;图 5_5 选了课信息管理图。图 5_3 学生管理模块系统管理员无法对开课老师且相应的课程已经被选的学生教师。下图为当选择一个满足前面要求的教师的删除情况。如图 图 5_4 教师约束条件删除图 5_4 教师约束条件删除当删除教师时且教师满足已开课且被选择了时,系统会提示“名为 XXX 的教师已经有开课记录,如需删除改名教师信息,请先删除名下信息!” 。图 5_5 选了课信息管理图选课管理可以对学生多选修课的已选课程进行删除和修改,图 5_5 显示删除一个学生的某个选课信息,如果确定则删除,也可以进行取消。5.1.35.1.3 学生模块的测试学生模块的测试学生首页能够列出本系的课程并能够对从、课程进行选修。在选课情

温馨提示

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

评论

0/150

提交评论