《毕业设计(论文)学生选课管理系统.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)学生选课管理系统.doc(50页珍藏版)》请在三一办公上搜索。
1、 编号 毕业设计(论文)题目:学生选课管理系统学生姓名学 号系 部软件与服务外包学院专 业计算机网络技术班 级网络0811指导教师评阅教师2011 年 5 月摘 要本论文主要描述基于b/s模式的学生选课系统的实现。本系统是一个典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。前部分系统分析主要是讲解本系统数据库的实现与整体系统各个模块的设计实现,后半部分主要是描述系统的各个部分实现,主要包括登陆,排课,选课三个主要模块实现。学生选课系统主要包括登陆,排课,选课三个基础功能,登陆系统主要是验证用户信息与用户类别,然后赋予相应的权限。随之而带的是学生
2、与教师的信息管理功能。信息管理模块也有两个部分,主要是个人信息管理与院系课程管理,即学生与教师的个人信息管理,院系与课程的信息管理。为了实现选课的合理性与功能的优异性,这也要求本系统必须拥有一个科学的课程管理功能。重点也是这部分课程管理,当管理员对新课进行排课的时候,会在数据库中先检查新课排课的合法性即为冲突检测,然后进行发布,同时学生便可获知新课的信息。当院系学生需要选课时,通过数据库会先进行一次添加,如果时间或人数发生冲突,便会添加失败。如果成功,会在选课人数做修改,即为成功选课,教师也同时会得到这名选课的同学的信息。本论文中的系统可基于IIS 6.0 + Sql Server 2005
3、+ Windows Server 2003进行实现,可以方便老师、学生方便的排课与选课。实现全校学生选课在线查询。还可以对新来的学生信息进行信息录入。由于学生上课情况复杂,本系统利用信息返汇,实现信息修改,及时调整学生的基本情况。关键词:选课;学生;排课;管理目 录摘 要I第一章 绪论11.1 选课背景和意义11.2 国内外的发展状况21.3 论文的工作和内容介绍3第二章 相关技术介绍52.1 B/S结构简介52.2 Microsoft SQL Server 2005简介62.3 IIS 6.0 和 Windows Server 2003相关简介72.4 ASP的特点与功能92.4.1 ASP
4、方法与传统静态主页的区别92.4.2 ASP的特点与功能102.5 Ajax技术简介11第三章 系统分析143.1 业务分析143.1.1 系统需求分析143.1.2 业务流程分析153. 2 数据分析183.3 功能模块分析203.4 网络拓扑结构分析213.5 安全性分析22第四章 系统统计244.1 系统结构统计244.2 数据库设计254.2.1 概念结构设计254.2.2 逻辑结构设计264.2.3 数据表设计284.3 功能设计304.4 软件的运行环境32第五章 系统实现335.1 系统实现概况335.2 登陆模块335.3 排课模块355.4 选课模块375.5 系统测试395
5、.5.1 登陆模块395.5.2 排课模块405.5.3 选课模块40第六章 总结与展望41结论41展望41致 谢43参考文献44第一章 绪论1.1 选课背景和意义数据库是从60年代初发展起来的计算机技术。经过四十来年的发展,数据库技术己经趋于成熟。Web数据库在新的Internet环境中发生了很大的变化。就数据应用而言呈现出多样化的空间,如数字图书馆、电子出版物、电子商务、远程教育系统等的出现,给web数据库技术提出了更多、更高的要求。同时,随着国内高校校园网的建设,基于互联网的应用系统的开发正在蓬勃发展并发挥着较大的作用。例如,我国许多高校的网上招生系统,学校的各种管理信息系统,学校选课系
6、统,还有一些医学院校开发出的网上诊所、远程诊断系统等等,都是基于校园网的应用系统。国外的教学科研软件与国内相比开发的早而且比较成熟。早在七十年代末,美国就建成了NSFNET(国家科学基金网),其课题的申报及课题的进展情况汇报都在网上进行。其网上教学教务管理系统也十分完善,世界各地的学生可以坐在家里通过互联网完成入学报名、选课、考试、毕业论文、取得学位这一学习生活的全过程。目前,国际上已具规模的远程教育学校就有数百所之多,网上教育正在各地发挥着巨大的作用,为世界各国培养出大批人才。所有这些都表明,基于Internet的校园网的应用已深入到校园内的各个方面。在高等学校的教务管理工作中,课程表的编排
7、是一项十分复杂、棘手的工作。在排课过程中,除了满足大量的制约条件以外,还必须解决许多冲突与矛盾,例如:两位教师不能同一时间在同一班级上课、一位教师不能在同一时间上两门课等等。利用计算机辅助进行课表编排工作,既提高了排课工作的科学性,又可大大减轻管理人员的工作强度,提高工作效率,从而使学校教务管理现代化迈上了一个新台阶。我国不少高校都实行了学分制,它的核心是允许学生自由选课,即把学习的自主权交给学生。在这里,学生选课时的制约因素比较复杂,工作量也很大,而且往往需要在较短的时间内完成。运用计算机辅助选课,即能实时地对大量选课数据进行检验和统计,十分方便地输出选课结果,同时也避免了人工处理时容易产生
8、的错误。从系统开发的复杂程度来看,计算机辅助排课与选课是高校教务系统中的两个关键子系统,目前不少教务系统尚未很好地解决排课与选课问题。本文主要对高校教务管理系统中计算机课表编排与选课子系统的基本功能、设计思想、需求分析以及实现技术进行探讨。学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日
9、渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对选课信息进行管理,有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。1.2 国内外的发展状况所谓MIS(管理信息系统-Management Information System)系统,是一个由人、计算机及其他外围设备等组成的能进行信息的收集、传递、存贮、加工、维护和使用的系统,是一门新兴的科学,其主要任务是最大限度的利用现代
10、计算机及网络通讯技术加强企业的信息管理,通过对企业拥有的人力、物力、财力、设备、技术等资源的调查了解,建立正确的数据,加工处理并编制成各种信息资料及时提供给管理人员,以便进行正确的决策,不断提高企业的管理水平和经济效益。目前,企业的计算机网络已成为企业进行技术改造及提高企业管理水平的重要手段。随着我国与世界信息高速公路的接轨,企业通过计算机网络获得信息必将为企业带来巨大的经济效益和社会效益,企业的办公及管理都将朝着高效、快速、无纸化的方向发展。MIS系统通常用于系统决策,例如,可以利用MIS系统找出目前迫切需要解决的问题,并将信息及时反馈给上层管理人员,使他们了解当前工作发展的进展或不足。换句
11、话说,MIS系统的最终目的是使管理人员及时了解公司现状,把握将来的发展路径。与传统的管理系统相比,在MIS中,处理的对象是抽象成数据的信息,因此,MIS有着自己的巨大优势:(1) 解决结构化问题。(2) 以高速度低成本完成数据的处理业务,追求系统处理问题的效率。(3) 实现一个相对稳定的、协调的工作环境。(4) 应用科学的、客观的处理方法,符合实际情况。MIS系统的核心是CS(Client/Server客户端/服务器)架构,而基于Internet的MIS系统的核心是BS(Browser/Server浏览器/服务器)架构。BS架构比起CS架构有着很大的优越性,传统的MIS系统依赖于专门的操作环境
12、,这意味着操作者的活动空间受到极大限制;而BS架构则不需要专门的操作环境,在任何地方,只要能上网,就能够操作MIS系统。这也就给交互式信息的产生创造了先决条件。使得通过互联网的信息传递更加的便捷。MIS系统的飞速发展,技术的成熟以及应用领域的不断扩大,为网上信息的交互提供了一个良好的平台和方便的操作界面。由于MIS系统基于用户需求的设计方法,使得该系统的使用更加的人性化、个人化、更贴近用户。网上选课系统是针对在校学生和教师使用,从学生的角度来说,由于学校教学制度的改革,现在大部分高等院校开始实行的是学生的自主选课模式,传统的教学模式学生按照学校安排好的课程上课已经不能适应新型的教学手段,如果仍
13、然通过纸上的方式选课,一方面浪费的大量的人力、物力资源,另一方面浪费时间以及在人为的统计过程中不可避免出现的差错等情况。随着高校人数的增多,这种弊端会越来越多的暴露出来。因此,利用网络,使学生只要在计算机前输入自己的个人选课信息即可完成原来几倍的作业量。从教师的角度来说,同样是节省了大量的工作量,由于教师提出代课申请完成课程发布的工作较学生选课而言更加的复杂,因此通过网上进行课程发布能大幅度的减少教师的工作量,减少错误的发生几率。作为教师,也只要通过自己的电脑来操作即可,不用再奔波于教务处和办公室之间。以MIS系统的构建思想来实现网上选课系统可以最大程度的做到实用性,可扩展性和可维护性相结合,
14、安全性以及规范化原则 1。1.3 论文的工作和内容介绍在学生管理系统的的设计和实现过程中,本程序重点完成后台的数据处理设计与前台界面的实现工作。该系统基于当前高校课程管理与修改高校选课的弊端为基础,结合了目前高校的具体实际需要,利用软件工程的思想和方法,从项目的需求分析开始到设计网站实现。第一章指明了本课题的研究背景和意义及论文结构。第二章将对相关的实现技术做简单的介绍包括B/S,SQL Server 2005,以及Ajax等技术。第三章对学生管理系统的需求进行了分析。第四章详细论述了系统的各个部分的设计工作,包括整个系统结构的设计,数据库各表的设计。第五章详细论述了系统的实现过程,各个页面的
15、链接,数据输入的格式。第二章 相关技术介绍2.1 B/S结构简介B/S结构(Browser/Server结构)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于
16、把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、速度快、效果优。随着Internet和WWW的流行,以往的主机终端和CS都无法满足当前的全球网络开放、互连、信息随处可见和信息共享的新要求,于是就出现了BS型模式,即浏览器服务器结构。B/S模式最大特点是:用户可以通过WWW浏览器去访问Internet上的文本、数据、图像、动画、视频点播
17、和声音信息,这些信息都是由许许多多的Web服务器产生的,而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中。客户端除了WWW浏览器,一般无须任何用户程序,只需从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Intranet。B/S结构的优点(1) 具有分布性特点,可以随时随地进行查询、浏览等业务处理。 (2) 业务扩展简单方便,通
18、过增加网页即可增加服务器功能。 (3) 维护简单方便,只需要改变网页,即可实现所有用户的同步更新。 (4) 开发简单,共享性强2 。2.2 Microsoft SQL Server 2005简介SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能。我们可以构建和管理用于业务的高可用和高性能的数据应用程序。SQL Server 2005 数据引擎是本企业数据管理解决方案的核心。此外 SQL Server 2005 结合了分析、报表、集成和通知功
19、能。与 Microsoft Visual Studio、Microsoft Office System 以及新的开发工具包(包括 Business Intelligence Development Studio)的紧密集成使 SQL Server 2005 与众不同。SQL Server 2005 Enterprise Edition(32 位和 64 位)Enterprise Edition 达到了支持超大型企业进行联机事务处理 (OLTP)、高度复杂的数据分析、数据仓库系统和网站所需的性能水平6。SQL Server 2005数据库管理9个重要的特点。(1) 数据库镜像通过新数据库镜像方法
20、,将记录档案传送性能进行延伸。您将可以使用数据库镜像,通过将自动失效转移建立到一个待用服务器上,增强您SQL服务器系统的可用性。(2) 在线恢复使用SQL Server 2005版服务器,数据库管理人员将可以在SQL服务器运行的情况下,执行恢复操作。在线恢复改进了SQL服务器的可用性,因为只有正在被恢复的数据是无法使用的,而数据库的其他部分依然在线、可供使用。(3) 在线检索操作在线检索选项可以在指数数据定义语言(DDL)执行期间,允许对基底表格、或集簇索引数据和任何有关的检索,进行同步修正。例如,当一个集簇索引正在重建的时候,您可以对基底数据继续进行更新、并且对数据进行查询。(4) 快速恢复
21、新的、速度更快的恢复选项可以改进SQL服务器数据库的可用性。管理人员将能够在事务日志向前滚动之后,重新连接到正在恢复的数据库。(5) 安全性能的提高SQL Server 2005包括了一些在安全性能上的改进,例如数据库加密、设置安全默认值、增强密码政策、缜密的许可控制、以及一个增强型的安全模式。(6) 新的SQL Server Management StudioSQL Server 2005引入了SQL Server Management Studio,这是一个新型的统一的管理工具组。这个工具组将包括一些新的功能,以开发、配置SQL Server数据库,发现并修理其中的故障,同时这个工具组还对
22、从前的功能进行了一些改进。(7) 专门的管理员连接SQL Server 2005将引进一个专门的管理员连接,即使在一个服务器被锁住,或者因为其他原因不能使用的时候,管理员可以通过这个连接,接通这个正在运行的服务器。这一功能将能让管理员,通过操作诊断功能、或TransactSQL指令,找到并解决发现的问题。(8) 快照隔离我们将在数据库层面上提供一个新的快照隔离(SI)标准。通过快照隔离,使用者将能够使用与传统一致的视野观看数据库,存取最后执行的一行数据。这一功能将为服务器提供更大的可升级性。(9) 数据分割数据分割 将加强本地表检索分割,这使得大型表和索引可以得到高效的管理。增强复制功能对于分
23、布式数据库而言,SQL Server 2005提供了全面的方案修改(DDL)复制、下一代监控性能、从甲骨文(Oracle)到SQL Server的内置复制功能、对多个超文本传输协议(http)进行合并复制,以及就合并复制的可升级性和运行,进行了重大的改良。另外,新的对等交易式复制性能,通过使用复制,改进了其对数据向外扩展的支持 3-4。2.3 IIS 6.0 和 Windows Server 2003相关简介Internet Information Server的缩写为(IIS)是一个World Wide Web server。Gopher server和FTP server全部包容在里面。
24、IIS意味着你能发布网页,并且有ASP(Active Server Pages)、JAVA、VBScript产生页面,有着一些扩展功能。IIS支持一些有趣的东西,像有编辑环境的界面(FRONTPAGE)、有全文检索功能的(INDEX SERVER)、有多媒体功能的(NET SHOW) 另外,IIS是随Windows NT Server 4.0一起提供的文件和应用程序服务器,是在Windows NT Server上建立Internet服务器的基本组件。它与Windows NT Server完全集成,允许使用Windows NT Server内置的安全性以及NTFS文件系统建立强大灵活的Inter
25、netIntranet站点。IIS(Internet Information Server,互联网信息服务)是一种Web(网页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。IIS的作用:在同一时间内允许打开的网站页面数,打开一个页面占一个IIS,打开一个站内框架页面占2到3个IIS;若图片等被盗链,在其它网站打开本站图片同样占一个IIS。假若设置参数为50个IIS,则这个站允许同时有50个页面被打开。但要在同一时间(极短的时间)有50个页面被打
26、开,需要50个人同时操作,这个概率还是比较低的。所以,100个IIS支持日ip1000(同时访问网站人数必定远低于1000人)以上都不是很大问题,除非网站被盗链或框架引发其它消耗。IIS 6.0为网络应用服务器的管理提供了许多新的特性,包括实用性、可靠性、安全性与可扩展性。IIS 6.0也增强了开发和国际化支持,Windows Server 2003和IIS 6.0为您提供了一整套最可靠、高效、连接的一体化网络应用解决方案。 Internet 信息服务(IIS)6.0和微软Windows Server 2003 为网络应用程序服务器管理引入了许多新的特征;更强的性能和扩展性;高效性,高可靠性和
27、安全性。进行了许多重大的结构改进以满足客户需求。 IIS 6.0 提供广泛的新特性和技术和使它更为可靠、可扩展和安全、可管理,加强了对开发提供的技术特性支持。 IIS 6.0增强了安全性,为了尽量减少系统被攻击的危险,在默认情况下IIS 6.0是不会被安装在Windows Server 2003中的,管理员需要手动进行安装,IIS 6.0在被锁定状态中只为静态内容(.htm,.jpg.bmp等等)提供服务,通过网络服务扩展节点,网站管理员可根据企业的需求起用或禁止IIS功能。 越来越多的客户在一个Web服务器上跑多个应用程序或者多个站点,这对如今的Web服务器无疑提出了特定的需求,如果一个IS
28、P在同一服务器上有两个公司的站点甚至互相争夺资源,那么他必须保证隔离两个应用程序相互独立运行,更为重要的是他必须确保一个有恶意的应用程序管理员无法访问其它应用程序的数据,完全隔离是绝对必要的。IIS6.0可以通过配置工作进程验证实现这个级别的隔离。此外,IIS6.0还可以通过一些如控制带宽、分配CPU线程或者基于内存的回复功能来制造环境,让同一服务器运行竞争激烈的多个应用程序5-6 。2.4 ASP的特点与功能几年以前,业界在动态主页发布方面唯一的渠道是CGI(Common Ga teway Interface) 模式。随后出现的 ISAPI、NSAPI和JDBC等技术方案虽较CGI进步,但从
29、企业网(Intranet )的技术现实来衡量,这些方案仍不适用于进行快速开发、及时维护和大面积的技术普及。ASP技术的出现,使动态交互式Web主页设计成为一件轻松愉快的工作。只要几行脚本语句,就能将后台的数据库信息发布到Internet/Intranet上, 在编程和网页脚本的可读性方面大大优于传统的技术方案。ASP是 Active Server Pages(动态服务器主页)的缩写,它是一个服务器端的脚本环境,在站点的Web服务器上解释脚本,可产生并执行动态、交互式、高效率的站点服务器应用程序。ASP可以胜任基于微软Web服务器的各种动态数据发布7 。 2.4.1 ASP方法与传统静态主页的区
30、别把信息系统纳入Internet/Intranet 的框架之后,首先要解决的问题是通过网页访问后台数据库信息。所有应用程序都被分割为页面的形式,用户的交互操作是以提交表单等方式来实现的,这就要求Web 站点具有很强的动态数据发布能力。然而,目前Web的服务,仍以提供 静态主页内容为主。所谓静态,指的就是站点的主页内容是固定不变的,无法根据用户的需求和实际情况作出相应的变化。当浏览器通过Internet的HTTP协议向站点的Web服务器申请主页时,站点服务器就会将已设计好的静态的HTML文件传送给浏览器。若要更新主页的内容, 只能用非在线的手动方式更新HTML的文件数据。 ASP所设计出的是动态
31、主页,可接收用户提交的信息并作出反应, 其中的数据可随实际情况而改变,无须人工对网页文件进行更新即可满足应用需要。例如:当在浏览器上填好表单并提交HTTP请求时,可以要求在站点服务器上执行一个表单所设定的应用程序,而不只是一个简单的HTML文件。该应用程序分析表单的输入数据,根据不同的数据内容将相应的执行结果(通常是数据库查寻的结果集)以HTML的格式传送给浏览器。数据库的数据可以随时变化,而服务器上执行的应用程序却不必更改,客户端得到的网页信息会始终保持新鲜的魅力。 当用户申请一个*.asp主页时,Web服务器响应该HTTP请求,调用ASP引擎,解释被申请文件。当遇到任何与ActiveX S
32、cripting 兼容的脚本(如VBScript和JScript)时,ASP引擎会调用相应的脚本引擎进行处理。若脚本指令中含有访问数据库的请求,就通过ODBC与后台数据库相连,由数据库访问组件执行访库操作。ASP 脚本是在服务器端解释执行的,它依据访库的结果集自动生成符合HTML语言的主页, 去响应用户的请求。所有相关的发布工作由Web服务器负责8-9 。2.4.2 ASP的特点与功能从软件的技术层面看,ASP有如下的特点: (1) 无需编译,ASP脚本集成于HTML当中,容易生成,无需编译或链接即可直接解释执行。(2) 易于生成使用常规文本编辑器(如WINDOWS下的记事本),即可进行*.a
33、sp页面的设计。若从工作效率来考虑,不妨选用具有可视化编辑能力的Visual InterDev。(3) 独立于浏览器用户端只要使用可解释常规HTML码的浏览器, 即可浏览ASP所设计的主页。ASP脚本是在站点服务器端执行的,用户端的浏览器不需要支持它。因此,若不通过从服务器下载来观察*.asp 主页,在浏览器端见不到正确的页面内容。(4) 面向对象在ASP脚本中可以方便地引用系统组件和ASP的内置组件,还能通过定制 ActiveX Server Component(ActiveX服务器组件)来扩充功能。(5) 与任何ActiveX scripting 语言兼容除了可使用VBScript 和Ja
34、veScript语言进行设计外,还可通过Plug-in的方式,使用由第三方所提供的其它scripting 语言。(6) 源程序码不会外漏ASP脚本在服务器上执行,传到用户浏览器的只是ASP执行结果所生成的常规HTML码,这样可保证辛辛苦苦编写出来的程序代码不会被他人盗取。从应用的层面看,ASP有如下的功能: (1) 处理由浏览器传送到站点服务器的表单输入。 (2) 访问和编辑服务器端的数据库表。使用浏览器即可输入、更新和删除站点服务器的数据库中的数据。 (3)读写站点服务器的文件,实现访客计数器、座右铭等功能。 (4)提供广告轮播器、取得浏览器信息、URL表管理等内置功能。 (5)由cooki
35、es读写用户端的硬盘文件,以记录用户的数据。 (6)可以实现在多个主页间共享信息,以开发复杂的商务站点应用程序。 (7)使用VBScript或JavaScript等简易的脚本语言,结合HTML码,快速完成站点的应用程序。通过站点服务器执行脚本语言,产生或更改在客户端执行的脚本语言。(8)扩充功能的能力强,可通过使用Visual Basic、Java、Visual C+ 等多种程序语言制作ActiveX Server Component以满足自己的特殊需要10 。2.5 Ajax技术简介AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和X
36、ML),是指一种创建交互式网页应用的网页开发技术。许多重要的技术和AJAX开发模式可以从现有的知识中获取。例如,在一个发送请求到服务端的应用中,必须包含请求顺序、优先级、超时响应、错误处理及回调,其中许多元素已经在Web服务中包含了,就像现在的SOA。AJAX开发人员拥有一个完整的系统架构知识。同时,随着技术的成熟还会有许多地方需要改进,特别是UI部分的易用性。AJAX开发与传统的C/S开发有很大的不同。这些不同引入了新的编程问题,最大的问题在于易用性。由于AJAX依赖浏览器的JavaScript和XML,浏览器的兼容性和支持的标准也变得和JavaScript的运行时性能一样重要了。这些问题中
37、的大部分来源于浏览器、服务器和技术的组合,因此必须理解如何才能最好的使用这些技术。综合各种变化的技术和强耦合的客户服务端环境,AJAX提出了一种新的开发方式。AJAX开发人员必须理解传统的MVC架构,这限制了应用层次之间的边界。同时,开发人员还需要考虑C/S环境的外部和使用AJAX技术来重定型MVC边界。最重要的是,AJAX开发人员必须禁止以页面集合的方式来考虑Web应用而需要将其认为是单个页面。一旦UI设计与服务架构之间的范围被严格区分开来后,开发人员就需要更新和变化的技术集合了。AJAX的最大机遇在于用户体验。在使应用更快响应和创新的过程中,定义Web应用的规则正在被重写;因此开发人员必须
38、更注重用户。现在用户已经逐渐习惯如何使用Web应用了。例如用户通常希望每一次按钮点击会导致几秒的延迟和屏幕刷新,但AJAX正在打破这种长时间的状况。因此用户需要重新体验按钮点击的响应了。可用性是AJAX另人激动的地方而且已经产生了几种新颖的技术。其中最引人注目的是一种称为“黄色隐出”的技术,他在数据更新之前时将用户界面变为黄色,更新完成后立刻恢复原来的颜色。AJAX开发人员将用户从Web应用的负载中解放出来;小心地利用AJAX提供的丰富接口,不久桌面开发人员会发现AJAX是他们的方向。(1) JavaScript如名字所示AJAX的概念中最重要而最被忽视的是他也是一种JavaScript编程语
39、言。JavaScript是一种粘合剂使AJAX应用的各部分集成在一起。在大部分时间,JavaScript通常被服务端开发人员认为是一种企业级应用不需要使用的东西应该尽力避免。这种观点来来自以前编写JavaScript代码的经历:繁杂而又易出错的语言。类似的,他也被认为将应用逻辑任意地散布在服务端和客户端中,这使得问题很难被发现而且代码很难重用。在AJAX中JavaScript主要被用来传递用户界面上的数据到服务端并返回结果。XMLHttpRequest对象用来响应通过HTTP传递的数据,一旦数据返回到客户端就可以立刻使用DOM将数据放到网面上。(2)XMLHttpRequestXMLHttpR
40、equest对象在大部分浏览器上已经实现而且拥有一个简单的接口允许数据从客户端传递到服务端,但并不会打断用户当前的操作。使用XMLHttpRequest传送的数据可以是任何格式,虽然从名字上建议是XML格式的数据。XPath可以访问XML文档中的数据,但理解XML DOM是必须的。类似的,XSLT是最简单而快速的从XML数据生成HTML或XML的方式。许多开发人员已经熟悉Xpath和XSLT,因此AJAX选择XML作为数据交换格式有意义的。XSLT可以被用在客户端和服务端,他能够减少大量的用JavaScript编写的应用逻辑。(3)CSS为了正确的浏览AJAX应用,CSS是一种AJAX开发人员
41、所需要的重要武器。CSS提供了从内容中分离应用样式和设计的机制。虽然CSS在AJAX应用中扮演至关重要的角色,但他也是构建创建跨浏览器应用的一大阻碍,因为不同的浏览器厂商支持各种不同的CSS级别11 。传统的web应用允许用户填写表单(form),当提交表单时就向web服务器发送一个请求。服务器接收并处理传来的表单,然后返回一个新的网页。这个做法浪费了许多带宽,因为在前後两个页面中的大部分HTML代码往往是相同的。由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。这导致了用户界面的响应比本地应用慢得多。与此不同,AJAX应用可以仅向服务器发送并取回必需的数据,它
42、使用SOAP或其它一些基于XML的web service接口,并在客户端采用JavaScript处理来自服务器的响应。因为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。使用Ajax的最大优点,就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。Ajax不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。就像DHTML应用程序那样,Ajax应用程序必须在众多不同的浏览器和平台上经过严格的测试
43、。随着Ajax的成熟,一些简化Ajax使用方法的程序库也相继问世。同样,也出现了另一种辅助程序设计的技术,为那些不支持JavaScript的用户提供替代功能12。第三章 系统分析3.1 业务分析3.1.1 系统需求分析学生选课管理系统,主要是针对学生的选课进行需求分析的。首先,学生选课的前提是课程已经由教务,或者教师进行科学的,无冲突的排课后才可以进行的。因此,在选课功能之前,排课成为了选课功能的前提。而这两个功能所涉及的用户为:学生,教师,管理员。而他们的信息也应该被合理的管理,这也决定了本系统中必然的三个功能:登陆管理,即用户信息管理;排课控制;选课控制。通过对各个高校现存选课需求,确定了
44、本系统中用户应该含有的三类用户:管理员,教师,学生。各类用户描述如下:(1) 管理员描述:管理员主要是对整个系统进行维护,包括设置选课时段,选课规则,如选课前,学生不可登陆,而选课后,学生不可更改,只能查看。管理员可以对选课结果进行统计;查询选课情况,对学生的选课申请进行审查;进行用户管理;排课,发布选课信息等。(2) 教师描述:教师主要是查询课程基本情况,备选情况,以及选课学生的基本情况。(3) 学生描述:在选课系统中的主要功能是查询课程,教室信息,提交选课申请或删除选课申请,查询选课情况,登陆系统,进行个人信息修改等于选课有关的活动。根据上面的叙述,对本系统进行了划分,主要分为三个功能模块
45、:登陆控制,排课控制和选课控制,相应的对应三个之系统,登陆系统,排课系统与选课系统。其中,登陆系统是整个系统的前提,主要是区分登陆者(管理员,教师或是学生)不同身份,并给予不通的权限,在页面中根据部通身份判断其相应的权限,进行不同的操作。排课系统是本系统的基础,主要提供给管理员使用,主要功能是合理的对课程进行编排,在本系统中主要是:设定选课时间段,进行排课并检测排课冲突,发布选课信息。选课子系统是本系统最终要实现的功能,主要供学生使用,包括课程浏览,选课,退课等于选课有关的一切操作。3.1.2 业务流程分析由前面的分析,可知本系统分为三个子系统,即登陆子系统,选课子系统,排课子系统。下面将会逐
46、个分析各个系统业务流程。首先,经过上面的需求分析,管理员的主要操作是登陆,排课,发布排课信息;学生主要操作室登陆,选课;教师的主要操作室查看课程信息,返汇意见。由此得出网络系统选课总体业务流程图如图3-1。图3-1 系统总体业务流程图(1)登陆系统业务流程分析登陆系统主要功能是验证用户身份,并取得相对应的用户权限,返回正确的页面,进行合法的系统操作。登陆类型主要为管理员,教师,学生。当用户输入用户信息后,系统会查询相应的用户信息数据来检测用户信息的合法性,并根据类型返回相应的页面,以及赋予相应的权限操作。其业务流程如图3-2。图3-2 登录系统业务流程图(2)排课系统业务流程分析排课系统在本系
47、统中主要是完成课程可选时间段,限制课程最大选择人数,排课并检测排课冲突(如时间冲突),发布选课信息等功能。其业务流程图如图3-3。图3-3 排课系统业务流程图(3)选课系统业务流程分析选课功能是本系统的主要功能,包括查询课程与已选选课信息,提交选课信息,退课等功能。其业务流程图如图3-4。图3-4 学生选课业务流程图3. 2 数据分析根据前面业务流程分析,可以得到系统的数据流图如图3-5。图3-5 系统顶层数据流图用户数据流:由用户输入用户名,密码,与用户类型信息(管理员,教师,学生),系统进行验证输入信息,查询用户信息表,如果正确,进入系统进行正常操作,进行排课,发布公告,修改信息(密码),最后退出;如果错误,则直接提示并退出系统。以管理员为例,数据流图如图3-6。图3-6 管理员登陆数据流图排课系统数据流分析:排课的数据以课程信息表,教室信息表,教师信息表,院系信息表的数据为基础,首先进行排课,将排课的结果进行冲突检测(主要检测:时间冲突,地点冲突等)。如果有冲突,则会重新进行排课,知道无冲突为止。若无冲突,则会更新排课表,并产生选课通知。排课数据流图如图3-7。图3-7 排课过程流程图选课系统数据流分析:选课信