1、 软件体系结构课程设计 选课系统 一、 系统目标 学生选课系统是一个学校不可缺少的部分 ,它的内容对于学校的决策者和管理者来说都至关重要 ,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点 ,如 :效率低、保密性差 ,另外时间一长 ,将产生大量的文件和数据 ,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高 ,计算机科学日渐成熟 ,其强大的功能已为人们深刻认识 ,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分 ,使用计算机对选课信息进行管理 ,有着手工管理所无法
2、比拟的优点 .例如 :检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率 ,也是企业的科学化、正规化管理 ,与世界接轨的重要条件。 因此,开发这样一套软件成为很有必要的事情。 二、总体设计 2 1 系统分析 在本系统中,有三类用户:系统管理员,教师和学生。三种不同的用户所具有的操作权限以及操作内容均不一样。 本选课系统给予教师很大的自主权,系统管理员只负责向系统中添加学生和教师的个 人信息以及教学楼教室信息。系统管理员不参与开设课程、选择课程等,一切均由教师、学生等录网站自行完成。系统管理员设置一个选课时间段,在到达时间段以前,教师可以
3、开设课程;到达时间段以后,学生可以登陆网站选择课程。 教师用户登陆网站后可以开设课程,为自己的课程编辑上课时间和地点,当系统中出现时间地点冲突的时候,系统向教师用户报告并推荐一个时间地点。每门课程可以是必修或则选修,教师为每门课程设置一个学分,并可以在课程结束后给予分数,如果学生及格,学生将获得该课程的学分。 对于学生用户,每个学生除了必须选择必修课程外 ,至少还要选择两门选修课程,学生可以对自己选课信息锁定,以免不小心被修改。当时候超过选课时段后,系统自动锁定学生的选课课程。系统可以根据学生的选课信息,生成一份学生自己的课表。课程结束后学生可登录网站查询成绩与学分。 根据上面的要求,从操作功
4、能上可以分为两个类:一个是通用操作,主要实现用户的登录注销和修改密码等;另一种是为不同用户定制不同操作。 2.1.1通用操作 ( 1)登录与注销 每个用户都可以用自己的帐号登录系统。用户操作完成后推出系统,注销后可以重新登录系统。 ( 2)修改密码 每个用 户第一次登录都用默认密码(教师和学生与帐号一样)。 2.1.2用户所具有功能 ( 1) 系统管理员 设置选课时间段:系统管理员通过此项功能设置选课时段,只有在选课时间段里,学生才可以选择课程,超过次时间段,学生选课信息被自动所定,不得修改。 录入学生与教师个人信息:通过此项功能可以实现对教师和学生的个人信息添加删除。 录入教学楼教室信息:通
5、过此项功能可以把学校里所有的教学楼教室的信息录入到系统中,以便教师在开设课程时候设置上课的教室。 ( 2) 教师用户 显示和修改个人信息:教师用户登录系统后,可以查看和修改教师的个人信息,如 姓名,电话, E-mail 地址等。 开设课程:教师用户登录系统后,可以开设课程,可以设置该课程为必修课程或则选修课程,可以设置该课程的最大人数。教师还可以为该课程设置一个前导课程,若学生没有学习或则选择前导课程则不能选择该课程。 编辑课程上课时间:教师在开设了课程后,可以灵活地设置上课时间和地点。 给学生分数:课程结束后,教师用户登录系统,可以为学过课程的学生给予相应的成绩,若 及格,给予学生学分。 (
6、 3) 学生用户 显示和修改个人信息:学生登录系统后,可以查看和修改学生的个人信息,如姓名,性别,电话等。 查看必修课 程:学生登录后,可以查看所有的必修课程。查看该课程的信息,上课时间地点,开课教师信息等。 选择选修课程:学生登录系统后,在所有选修课程中可以选择至少两门选修课程。同时可以查看相关信息。 锁定选课信息:学生登录系统,确定了所选课程后,可以锁定自己的选课信息,以防被别人或则自己不小心修改。 查看最终选课信息:学生登录系统后,可列出已选择的课程,若选课信息未被锁定,则可以退选,若所选课程少于两门,系统会提示选择的课程少于两门。 查看学分和成绩 课程结束后,学生登录系统可查看自己学习
7、课程的成绩和已获的学分。 2.2 系统总体设计 在前面的系统的系统功能分析中,将系统划分成 10 个模块,如图: 用户登录身份验证模块验证用户名和密码,并根据不同的用户类型,跳转到对应的页面中。设置选课时间模块提供给系统管理员修改选课时间段。录入信息模块提供给系统管理员,用来录入学生和教师信息,以及录入教学楼教室等信息。开设课程模块提供给教师用户,用来开设一门必修课程或则选修课程。编辑课程时间地点模块提供给教师用户,编辑课程的上课时间地点友好的界面和操作。评分模块用于教师用户给选 修该教师开设的课程的学用户登录身份验证模块 设置选课时间模块 录入信息模块 开设课程模块 编辑程序时间地点模块 评
8、分模块 查看课程模块 选课和锁定模块 数据库模块 数据库 访问模块 生评分。查看课程模块包括查看必修课程、查看选修课程、查看已选课程、查看课程成绩单。选课和锁定模块中实现选择选修课程和锁定选课信息的功能。 2.3 采用 B/S 的特点 B/S 模式最大特点是:用户可以通过 WWW 浏览器去访问 Internet上的文本、数据、图像、动画、视频点播和声音信息,这些信息都是由许许多多的 Web服务器产生的,而每一个 Web 服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中。客户端除了 WWW 浏览器,一般无须任何用户程序,只需从 Web服务器上下载程序 到本地来执行,
9、在下载过程中若遇到与数据库有关的指令,由 Web服务器交给数据库服务器来解释执行,并返回给 Web 服务器, Web 服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Intranet。 2.4 B/S 模式的优点和缺点 B/S( Browser/Server 结构)结构即浏览器和服务器结构。它是随着Internet 技术的兴起,对 C/S 结构 的一种变化或者改进的结构。在这种结构下,用户工作界面是通过 WWW 浏览器来实现,极少部分事务逻辑在前端( Browser)实现,但是主要事务逻辑在服务器端( Server
10、)实现,形成所谓三层 3-tier 结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本( TCO)。以目前的技术看, 局域网 建立 B/S 结构的 网络 应用, Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet 等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。特别是在 JAVA 这样的跨平台语言出现之后, B/S架构管理软件更是方便、速度快、效果优
11、。 随着 Internet 和 WWW 的流行,以往的主机终端和 C S 都无法满足当前的全球网络开放、互连、信息随处可见 和信息共享的新要求,于是就出现了 B S 型模式,即浏览器服务器结构。 B/S 模式最大特点是:用户可以通过 WWW 浏览器去访问 Internet 上的文本、数据、图像、动画、视频点播和声音信息,这些信息都是由许许多多的 Web服务器产生的,而每一个 Web 服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中。客户端除了 WWW 浏览器,一般无须任何用户程序,只需从 Web 服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,
12、由 Web 服务器交给数据库服务器来解释执行,并返回给 Web 服务器, Web 服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上 2.5 B/S 结构的优点 ( 1)、具有分布性特点,可以随时随地进行查询、浏览等业务处理。 ( 2)、业务扩展简单方便,通过增加网页即可增加服务器功能。 ( 3)、维护简单方便,只需要改变网页,即可实现所有用户的同步更新。 ( 4)、开发简单,共享性强 B/S 模式的缺点 ( 1)、个性化特点明显降低,无法实现具有个性化的功能要求。 (个性化的要 求取决以软件框架,而非架构,分享 B/S软件就
13、蛮灵活) ( 2)、操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。 (如果辅助于插件,照样可以用键盘快速操作 ) ( 3)、页面动态刷新,响应速度明显降低。 (分享软件用分页保证响应速度稳定) ( 4)、功能弱化,难以实现传统模式下的特殊功能要求。 (技术问题,用微软 C#或 java 怎么会不能解决任何要求呢) 2.6 B/S 架构软件的优势与劣势 ( 1)、维护和升级方式简单。目前,软件系统的改进和升级越来越频繁, C/S 系统的各 部分模块中有一部分改变,就要关联到其它模块的变动,使系统升级成本比较大。 B/S 与 C/S 处理模式相比,则大大简化了客户端,只要客户端机器能上网
14、就可以。对于 B/S 而言,开发、维护等几乎所有工作也都集中在服务器端,当企业对网络应用进行升级时,只需更新服务器端的软件就可以,这减轻了异地用户系统维护与升级的成本。如果客户端的软件系统升级比较频繁,那么 B/S 架构的产品优势明显 所有的 升级操作只需要针对服务器进行,这对那些点多面广的应用是很有价值的,例如一些招聘网站就需要采用 B/S 模式,客户端分散,且应用简单,只需要 进行简单的浏览和少量信息的录入。 ( 2)、系统的性能 在系统的性能方面, B/S 占有优势的是其异地浏览和信息采集的灵活性。任何时间、任何地点、任何系统,只要可以使用浏览器上网,就可以使用 B/S 系统的终端。不过
15、,采用 B/S结构,客户端只能完成浏览、查询、数据输入等简单功能,绝大部分工作由服务器承担,这使得服务器的负担很重。采用 C/S结构时,客户端和服务器端都能够处理任务,这虽然对客户机的要求较高,但因此可以减轻服务器的压力。而且,由于客户端使用浏览器,使得网上发布的信息必须是以 HTML 格式为主,其它格 式文件多半是以附件的形式存放。而 HTML 格式文件(也就是 Web页面)不便于编辑修改,给文件管理带来了许多不便。比如说很多人每天上 “ 新浪 ” 网,只要安装了浏览器就可以了,并不需要了解 “ 新浪 ”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows 操作系统,但用
16、户的电脑本身安装的大部分是 windows 操作系统。 ( 3)、系统的开发 C/S 结构是建立在中间件产品基础之上的,要求应用开发者自己去处理事务管理、消息队列、数据的复制和同步、通信安全等系统级的问题。这对应用开发者提出了较高的要求,而 且迫使应用开发者投入很多精力来解决应用程序以外的问题。这使得应用程序的维护、移植和互操作变得复杂。如果客户端是在不同的操作系统上, C/S 结构的软件需要开发不同版本的客户端软件。但是,与 B/S 结构相比, C/S 技术发展历史更为 “ 悠久 ” 。从技术成熟度及软件设计、开发人员的掌握水平来看,C/S 技术应是更成熟、更可靠的。 三、 网络结构 网上选
17、课系统采用基于 .NET 下的三层 B/S 模式,把整个系统分为三层:表现层、业务逻辑层和数据访问层。系统的总体架构图如图 1所示。 1)表现层( UI) 表现层通俗讲就是展 现给用户的界面,即用户在使用一个系统的时候所见所得。在 .NET 框架中,常常基于 ASP.NET 进行表现层的开发。本系统的表现层主要通过 ASP.NET 中的 aspx 页面、 HTML 和 JavaScript 实现。 2)业务逻辑层( BLL) 业务逻辑层用于实现数据业务流程,该部分研究与设计在软件开发过程中是系统实现的核心环节,用于对上下层之间的交互数据进行逻辑处理,实现对应的业务目标。本系统的业务逻辑层主要通
18、过 ASP.NET 中的 cs 代码实现。 3)数据访问层( DAL) 数据访问层所做事务直接操作数据库,针对数据的增添、删 除、修改、更新、查找等。本系统的数据访问层主要通过 ASP.NET 中的数据库操作类和ADO.NET 实现。 四、 系统功能的实现 系统采用 B/S技术实现相应的功能。学生和老师都通过浏览器实现选课,退课,安排上课时间和上课教师。因为 B/S 系统的零客户端要求。因此通过B/S 模式可以很容易的实现系统的访问。这样不受地点和环境的限制。只有有一台可以上网的计算机就可以实现网上选课。 整个系统有 4个大的模块 ( 1) 学生选课模块: 实现主要的选课功能,包括填写选课信息
19、、查看已选课程、修改选课等。 首先发布选课通知,即先对教师发出通 知(教师得到通知后才可申请教课),然后对学生发出通知(此时已安排完有关选修课的所有信息)。 ( 2)教师开课模块: 这个模块主要是让教师申请教课,同时教师可以修改个人信息、浏览基本课程以及查看学生的选课情况等。 获取教师申请教课的信息,包括教师信息及其所要教的课程课程信息;提供教师浏览课程的功能,即课程时间、教室等的安排;并提供查询学生选课情况的功能,即选此门课程的名单等;处理和统计教师对学生成绩的评定。 ( 3)管理员管理模块: 这个模块的功能比较多,主要包括创建课程的指定任课老师、设定课程人数、统计学生选 课信息、发通知等等
20、。 ( 4) 通用功能模块:即用户登录、密码修改等功能的实现。 获取用户输入的用户名及密码; 若出现用户名、密码错误或不匹配现象,反馈错误提示; 在用户名及密码都正确的前提下,支持密码修改。 五、 教师模块块设计 在选课系统中教师查看选课学生的信息,提交成绩;管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课程等 开课模块 成绩设置模块 六、 学生选课模块设计 学生使用选课系统可以很容易的实现以下的功能: 1.选课。学生能够在网上实现正常学 期的本专业本年级推荐选课、本院系开设课程、体育课、政治课、公共英语课、文科计算机课、通选课和公选课的选课;除此之外学生还可以进行暑期学校网上选课。 2成绩查询。学生能够在网上快速、便捷地查询到自己所有学期的课程成绩(包括本院系所学课程成绩、辅修 /双学位成绩)。 3选课情况查询。学生从网上就可以了解自己的选课情况(包括正常学期和暑期学校的选课),避免了许多不必要的麻烦。 4退课情况查询。学生可以清楚地查看到自己退课的时间和所用的 IP地址。 5体育课评估。 6修改密码。提供选课系统密码修改服务 。 七、 用户 使用 模块设计