网上选课系统.docx

上传人:b****5 文档编号:5164828 上传时间:2022-12-13 格式:DOCX 页数:19 大小:1.79MB
下载 相关 举报
网上选课系统.docx_第1页
第1页 / 共19页
网上选课系统.docx_第2页
第2页 / 共19页
网上选课系统.docx_第3页
第3页 / 共19页
网上选课系统.docx_第4页
第4页 / 共19页
网上选课系统.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

网上选课系统.docx

《网上选课系统.docx》由会员分享,可在线阅读,更多相关《网上选课系统.docx(19页珍藏版)》请在冰豆网上搜索。

网上选课系统.docx

网上选课系统

目录

第1章绪论3

第2章需求分析3

2.1任务概述4

2.2用户特点4

2.3功能需求4

2.4界面需求5

2.5操作需求5

2.6输入输出需求5

第3章总体设计6

3.1设计思想6

3.2总体设计6

3.3系统层次结构图6

3.4接口设计6

3.5数据库设计7

3.6出错处理设计7

第4章数据库设计9

4.1E-R图9

4.2数据库关系模型设计9

4.3表的建立10

第5章详细设计12

5.1数据库系统实现12

5.2管理员模块实现13

第6章结论19

学习体会19

致谢19

参考文献19

第1章绪论

数据库是按照数据结构来组织、存储和管理数据的仓库。

在经济管理的日常工作中,常常需要把某些相关的数据放进这样的“仓库”,并根据管理的需要进行相应的处理。

它是从60年代初发展起来的计算机技术,经过四十来年的发展,数据库技术己经趋于成熟。

数据库的诞生和发展给计算计信息管理带来了一场巨大的革命,随着应用的扩展与深入,数据库的数量和规模越来越大,就应用而言,也呈现出多样化的应用空间,例如学校的各种管理信息系统、电子出版物、电子商务、远程教育系统等的出现,给web数据库技术提出了更多、更高的要求。

还有一些医学院校开发出的网上诊所、远程诊断系统等等,都是基于互联网的应用系统的开发,正蓬勃发展并且发挥着较大的作用。

网上选课系统是针对高等院校的在校学生和教师使用。

从学生角度来说,由于学校教学制度的改革,传统的教学模式已经不能适应大部分高等院校开始实行的学生自主选课模式的教学手段,如果仍然通过传统的纸上方式选课,一方面浪费大量的人力、物力资源,另一方面浪费时间以及在人为的统计过程中不可避免出现的差错等情况。

随着高校人数的增多,这种弊端会越来越多的暴露出来。

因此,利用网络,只要学生只要在计算机前输入自己的个人选课信息即可完成原来几倍的作业量。

从教师的角度来说,同样是节省了大量的工作量,由于教师课程发布的工作较学生选课而言更加的复杂,因此通过网上进行课程发布能大幅度的减少教师的工作量,减少错误的发生几率。

作为教师,也只要通过自己的电脑来操作即可,不用奔波于教务处和办公室之间。

课题研究背景

国外的教学科研软件与国内相比开发的早而且比较成熟。

早在七十年代末,美国就建成了NSFNET(国家科学基金网),其课题的申报及课题的进展情况汇报都在网上进行。

其网上教学教务管理系统也十分完善,世界各地的学生可以坐在家里通过互联网完成入学报名、选课、考试、毕业论文、取得学位这一学习生活的全过程。

目前,国际上已具规模的远程教育学校就有数百所之多,网上教育正在各地发挥着巨大的作用,为世界各国培养出大批人才。

所有这些都表明,基于Internet的校园网的应用已深入到校园内的各个方面。

课题研究意义

高等院校要想切实提高教学管理工作,就必须在管理制度的改革方面有新的突破,实现信息化管理。

而网上选课系统从课程形式、内容的多样性和选择性上提供了可能,充分体现了学生的自主性。

它既倡导开设多种类型的课程,可打破原有的系别、班级限制,重新组合上课,以满足不同水平、不同兴趣学生的需要,又倡导“三个自主”的原则,即在教师指导下,学生具有自主选择课程内容,自主选择任课教师,自主选择上课时间的自由度,这就给我们学校课程教学提出了新的研究课题。

此外,一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,效率低、出错频率高。

另外,时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

第2章需求分析

2.1任务概述

选课系统用于管理学校的课程、学生、教授相关信息,除了基本的查询、添加功能外,还应有统计功能。

同时操作方面应尽量简单。

2.2用户特点

1)系统管理员:

该用户可以对课程信息、学生信息、教授信息进行维护,同时用户自己也能修改自己的密码与基本信息。

2)学生:

该用户可以自行选课、退课、查看可表、查看成绩、查看应缴费用,同时用户自己也能修改自己的密码与基本信息。

3)教授:

该用户可以选择要上的课程,取消课程,查看、等级学生成绩,同时用户自己也能修改自己的密码与基本信息。

2.3功能需求

功能需求图如下图3-1所示:

图2-1系统功能需求

用例图:

图2-2

各模块具体说明如下:

1)登陆页面:

用户输入合法的用户名和密码完成登陆,如果用户名或密码错误,应输出提示。

2)学生页面:

显示当前用户的名字,以及相关功能连接、按钮。

3)教授页面:

显示当前用户的名字,以及相关功能连接、按钮。

4)管理员页面:

显示当前用户的名字,以及相关功能连接、按钮。

2.4界面需求

界面简洁美观。

2.5操作需求

操作简洁,符合人们通常使用习惯。

2.6输入输出需求

要求输入数据合法,如果非法会跳出出错提示。

第3章总体设计

3.1设计思想

该选课系统用于对课程信息、教授信息、学生信息的维护与查看统计。

能够方便管理员对各种信息的维护,教授、学生对自己相关需求功能的使用,它将具有以下特点:

Ø运行速度快

Ø占用资源少

Ø界面简洁

Ø操作简单

3.2总体设计

1)以用户登陆后的界面为平台,将各模块功能放于该页面

2)采用SSH框架

3)灵活性要求:

视图与业务逻辑分开,低耦合。

采取接口方式编程便于系统的维护以及移植。

4)输入输出要求:

要求输入数据合法,如果非法会跳出出错提示。

3.3系统层次结构图

图3-1系统层次结构图

3.4接口设计

用户接口:

通过鼠标与键盘操作。

内部接口:

使用数据流提供的接口操作各个模块。

3.5数据库设计

概念结构设计是指将需求分析得到的用户需求抽象为信息结构。

描述概念模型的有力工具是E-R模型。

本系统E-R图如下图所示:

图3-2用户E-R图图3-3教授E-R图

图3-4学生E-R图图3-5课程E-R图

图3-6学生选课E-R图图3-7教授选课E-R图

图3-8管理员E-R图图3-9系统E-R图

3.6出错处理设计

以下列出了可能的错误情况及其对应的错误信息:

1)用户名或密码有误,提示:

您输入的用户名或密码有误,请重新输入。

2)管理员模块:

a)课程信息维护:

Ø如果增加一门已存在的课程,输出提示:

该课程已存在。

Ø如果删除一门不存在的课程,输出提示:

该课程不存在。

b)教授信息维护:

Ø如果增加一名已存在的教授,输出提示:

该教授已存在。

Ø如果删除一名不存在的教授,输出提示:

该教授不存在。

c)学生信息维护:

Ø如果增加一名已存在的学生,输出提示:

该学生已存在。

Ø如果删除一名不存在的学生,输出提示:

该学生不存在。

a)修改密码:

输入的原密码不正确,应提示错误

3)学生模块:

如果选择的课程冲突,输出提示:

课程已选择。

4)教授模块:

如果选择的课程冲突,输出提示:

课程已选择。

第四章数据库设计

4.1E-R图

图4-1

4.2数据库关系模型设计

E-R图向关系模型转换:

一个实体型转换为一个关系模式,实体的属性即为关系模式的属性,实体的标识符即为关系模式的键。

根据E-R图,本系统的关系模型为:

1)用户(用户ID,登陆ID,密码,权限);

2)教授(教授ID,姓名,性别,电话,传真,系别,地址,email)

3)学生(学生ID,姓名,性别,电话,系别,地址,email)

4)管理员(管理员ID,姓名,性别,电话,email)

5)课程(课程ID,课程名,课程性质,上课日期,节次,学分,系别)

6)教授选课(教授选课ID,教授ID,课程ID)

7)学生选课(学生选课ID,教授ID,课程ID,学生ID,成绩)

4.3表的建立

(1).Pupils表:

图4-2

(2).Gives表:

图4-3

(3).Scores表:

图4-4

(4).Subjects表:

图4-5

(5).Models表:

图4-6

(6).Managers表:

图4-7

(7).Departments表:

图4-8

(8).Teachers表:

图4-9

第五章详细设计

5.1数据库系统实现

(1)学生表(Pupils)

CreatetablePupils

(PNOchar(9)primarykey,

PNAMEchar(8)notnull,

PWvarchar(20)check(len(PW)>=6),

PSEXchar

(2)check(PSEXin('男','女')),

PZYvarchar(50),

DNOchar

(2),

foreignkey(DNO)referencesDepartments(DNO)

);

(2)教师表(Teachers)

CreatetableTeachers

(TNOchar(9)primarykey,

TNAMEchar(8)notnull,

TZCvarchar(20),

PWvarchar(20)check(len(PW)>=6),

DNOchar

(2),

foreignkey(DNO)referencesDepartments(DNO)

);

(3)系科表(Departments)

CreatetableDepartments

(DNOchar

(2)primarykey,

DNAMEvarchar(50)notnull);

(4)课程表(Subjects)注意:

保证SNO自动编号;

CreatetableSubjects

(SNOsmallintprimarykey,

SNAMEvarchar(50)notnull,

SCREDITsmallint,

SLIMITSsmallintcheck(SLIMITS>0),

SBRIEFvarchar(200),

TNOchar(9),

VERIFYFLAGtinyintdefault'0'

);

(5)成绩表(Scores)

CreatetableScores

(PNOchar(9),

SNOsmallint,

GRADEint,

foreignkey(PNO)referencesPupils(PNO),

foreignkey(SNO)referencesSubjects(SNO)

);

(6)授课表(Gives)注意:

GID要自动编号

CreatetableGives

(GIDintprimarykey,

TNOchar(9),

SNOsmallint,

TERMvarchar(20),

CLASSTIMEvarchar(30),

CLASSROOMvarchar(30),

foreignkey(TNO)referencesTeachers(TNO),

foreignkey(SNO)referencesSubjects(SNO)

);

(7)管理员表(Managers)

CreatetableManagers

(MNOchar(9)primarykey,

MNAMEchar(8)notnull,

PWvarchar(20)check(len(PW)>=6)

);

(8)功能表(Models)注意:

保证FNO自动编号;

CreatetableModels

(FNOsmallintprimarykey,

FSTATUSBITcheck(FSTATUS=0orFSTATUS=1),

FINFOvarchar(50)

);

5.2管理员模块实现

图5-1

图5-2

<%Stringsql="select*frommodels";

ResultSetrs=exe_db.exeSqlQuery(sql);

%>

 

系统功能状态列表

功能标识

功能说明

当前状态

设置

<%while(rs.next()){%>

图5-3

<%

//获取保存在session中的用户UserID值,根据这个值判断用户是否登录

Stringn_ID=(String)session.getAttribute("UserId");

if(n_ID!

=null)

{

StringstrSql="select*fromManagerswhereMNO='"+n_ID+"'";

ResultSetrs=exe_db.exeSqlQuery(strSql);

if(rs.next())

{

try

{

Stringn_MNAME=request.getParameter("MNAME");

Stringn_PW=request.getParameter("PW");

%><%Stringpaw=(String)session.getAttribute("paw");

if(!

n_PW.equals(paw)){n_PW=MD5.md5(n_PW);}

%><%

//将用户资料更新到数据库中

strSql="updateManagerssetMNAME='"+n_MNAME+"',PW='"+n_PW+"'"

+"whereMNO="+n_ID;

exe_db.exeSql(strSql);

out.println("个人信息修改成功!

");

out.println("

");

}

catch(Exceptionex)

{

out.println("个人信息修改失败");

out.println("

");

}

}

}

else

{

out.println("您还未登录!

");

%>

图5-4

图5-5

 

第6章结论

课程设计是对数据库知识的综合实践。

通过一个星期的高校网上选课系统的课程设计使我加深了对数据库的基本原理与应用的认识,提高了分析问题、解决问题的能力。

本系统使在web方式下实现的选课系统。

系统实现从数据库的设计开始,根据用户需求设计E-R模型,再转换成数据库的逻辑结构,最终实现了这个选课系统。

(1)数据库的逻辑结构设计是从E-R模型来出发的,但是根据实际实现的要求,做了一些调整,比如:

PW的长度改成50以便容纳生成的MD5的长度,否则会出错。

数据库中的数据冗余是不可避免的,但是却保证了数据库的一致性。

(2)系统实现过程用到了视图、存储过程以及事务,这些的使用简化了代码、提高了效率。

在老师和同学的帮助下,我实现了选课的基本功能,但是也还是存在很多问题:

比如数据库的设计上还有缺陷,有些没有必要的冗余存在,数据库的一致性还有可能被一些操作破坏;代码的重用性不够,有很多代码是重复使用的等等

第7章

学习体会

在短短的一个星期之内,我一边加深数据库的理论知识,一边把理论应用于实践,在实践中发现并解决问题,真正做到了学以致用。

我在课程设计期间学到了很多东西,不仅是专业知识,还有认真严谨的态度,更主要的一点是持之以恒的精神!

通过这次课程设计,我学会了很多网页制作的东西,平时在课上学到的东西,原来都不知道如何将他们连起来,而通过课程设计我对理论知识很好的用到了实践中。

以前从来没有完整的做过一个网页制作,觉得很难,无从下手,这次的课程设计让我对网页制作产生了浓厚的兴趣。

这次课程设计让我受益匪浅

 

致谢

通过对客户信息管理系统的开发,查找了相关知识的文档和书籍,巩固了以前所学的知识,可以说是一次复习,也是一次考试,我在其中获益良多。

同时,在王红艺老师的指导下和自身对技术的努力钻研中,我也掌握了软件开发的基本方法,了解了当今软件开发的一些新技术。

在这里,非常感谢王老师的指导,还有我的好哥们汪杰的无私帮助,牺牲休息时间来助我一臂之力,我还会努力做到更好,谢谢你们!

参考文献

[1]邓子云,张赐.JSP网络编程[M].北京:

电子工业出版社,2005

[2]刘中兵,李伯华.JSP数据库项目案例导航[M].北京:

清华大学出版社,2006.

[3]李曙光.JSP开发实例完全剖析[M].北京:

中国电力出版社,2006.

[4]邓文渊.ASP.NET2.0(C#)大学实用教程机械工业出版社2009-01出版.

[5]沈士根、汪承焱、许小东,Web程序设计:

ASP.NET.实用网站开发清华大学出版社2009-05出版.

[6]林信良.JSP&Servlet学习笔记[M].清华大学出版社,2012

[7]张军.JSP网络应用开发例学与实践[M].北京:

清华大学出版社,2006.

[8]魏茂军,张文建.JSP案例开发[M].北京:

中国水利水电出版社,2005.

[9]汪孝宜,刘中兵,徐佳晶.JSP数据库开发实例精粹[M].北京:

电力工业出版社,2006.

忽略此处..

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 交通运输

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1