CodeIgniter 中,一个视图也可以是一个页面片段,如页头、页尾。它还可以是一个 RSS 页面,或任何其它类型的“页面”。控制器(Controller)是模型、视图以及其他任何处理 HTTP 请求所必须的资源之间的中介,并生成网页。CodeIgniter 在 MVC 使用上非常宽松,因此模型不是必需的。如果不需要使用这种分离方式,或是发觉维护模型比想象中的复杂很多,可以不用理会它们而创建自己的应用程序,并最少化使用控制器和视图。CodeIgniter 也可以和现有的脚本合并使用,或者允许自行开发此系统的核心库。 2.4 学生网上选课系统的使用语言
目前,最常用的三种动态网页设计语言:ASP(Active Server Page),PHP(Hypertext Preprocessor)和JSP(Java Server Pages)。
ASP 意为“动态服务器页面”, 是一种服务器端脚本编写环境,可以用来创建和运行动态网页或 Web 应用程序。
JSP(Java Server Pages)是一种动态网页技术标准,技术与 ASP 技术相类似,其是在传统的网页 HTML 文件(*.htm,*.html)中插入 Java 程序段(Scriptlet)和 JSP 标记(tag),从而形成 JSP 文件(*.jsp)。用 JSP 开发的 Web 应用是跨平台的,既能在 windows 下运行,也能在其他操作系统上运行。
PHP(Hypertext Preprocessor)亦可产生动态网页程序,具有很好的不同平台间的可移植性,可在许多的不同种的服务器、操作系统、平台上运行,如Linux,Windows20,WindowsNT、WindowsXP和Win7等平台。也可和许多数据库系统结合,PHP具有丰富的函数接口,支持几乎所有流行的数据库,在数据库上具有很大选择余地。它还支持Apache等通用web服务器,代码无需改动或做些微改动就可在不同的Web服务器、不同的操作系统下运行。
在稳定性上,ASP过一段时间就会使系统不稳定,需要重开作业系统,而且ASP对数据库的操作方面不稳定,一个小的错误往往导致数据库的瘫痪。PHP在许多的站点使用上,不但长期使用不会有问题,而且程序的稳定性也不错。当然最稳定的是JSP,因为它是由作业系统负责控制,不会因为程序的错误而导致web服务器的不稳定。就系统安全而言,ASP是最差的。在没有经过微软的IISServicepack处理,使用:$data就可以看到ASP的原始码。PHP和JSP在这一方面,在许多商业和非商业使用时,没有什么安全上的问题。ASP只能在windows平台才能充分发挥其价值,JSP只有对JAVA熟悉的人能用的很好。而PHP几乎可以在所有平台上运行,易学易用。PHP在新增功能方面及改版方面是最有活力,本身为免费共享软件,如果想要一个PHP现在没有的新性能时,很快就有人为PHP编程而加上此种特性。
基于以上特性,所以本系统选择PHP为开发语言。 2.5 数据库
目前常见的数据库有 Access、Sql Server、MySql 等多种数据库形式,几种数据库各有优缺点,其中与 PHP 语言最为相配的是 MySql 数据库。而选择 MySql 软件的另一原因,是因为它完全自由使用,其体积小、速度快、总体拥有成本低,选用此数据库十分合适。并且WampServer里就包含MySql数据库,从而开发起来就更方便快捷。
3 系统需求分析
3.1 用户需求分析
3.1.1 倾听各层面用户需求
1.教务人员:传统手工安排选课有很多不便,很多工作内容需人工记忆,对各系各学科所在选修课程数量的总体把握及各年级学生报名人数的统计也费时费力,多头分段工作还易出现差错;希望可以采用新的排课方式减轻工作量,改善上述提出的问题,减少人员分工。
3
2.教师:管理课程方便,操作简单不繁琐。
3.学生:操作便捷,多了解即将选择的课程情况;希望改变授课模式,使课程听得懂、学得会又活泼有趣;尽可能多增加一些其他学科的基础课程,对跨专业学习很感兴趣。
3.1.2 整合各方面意见,进行需求分析
(1)操作界面美观大方,简洁,操作方便。 (2)根据不同用户需求添加相应功能:
①教务人员业务信息管理:非指定的用户不能对相关功能进行编辑或改动;能够实现对选课信息的集中管理,添加、删除、编辑课程相关信息;添加学生信息,管理教师及学生用户;汇总整理相关数据;管理在线留言。
②教师业务信息管理:教师可编辑、修改课程相关信息;能够查看所有选课课程,及学生网上选课的人数、人员名单、课程的时间和地点。
③学生业务信息管理:修改个人密码;可以查看全部选课内容,自主选课;可以看到截止至选课确认前的选课人数,“确认”后不能更改所选课程;查看所选课程的授课时间和地点。 3.1.3 功能特点
根据上面所述,对系统进行了划分,分为三个主要功能,即登录控制、排课和选课,分别对应三个子系统,即登录子系统、排课子系统和选课子系统。其中,登录子系统是前提,排课子系统是基础,选课子系统是关键。登录子系统区分排课者(即系统管理员),教师和学生这三者的不同身份,给出不同的权限,在页面中根据身份判断起相应具有的权限,进行不同的操作。排课子系统主要供排课者使用,其中设定选课时间段,进行排课并检测排课冲突,发布选课信息都是选课的前提和基础。选课子系统是本系统要实现的最终目的。选课子系统主要供学生选课使用。在这里可以进行预选可有关的活动,包括课程浏览查询、选课、退选课程。 3.2 业务流程介绍
根据上面相关内容,对用户需求进行调查、对用户需求所做的分析,现将本学生网上选课系统的业务流程做出如下分析:
1 教务管理员登录系统,注册新的教师或其他管理员用户。按照已批准的下一学期教学计划,录入选课课程。
2 新注册的教师或者管理员登录到系统,修改默认的密码,对所授课程进行添加和维护。
3教务管理员为学生进行注册,根据其学号设定用户名和填写实际姓名,系统采取实名制。学生注册成功后,修改个人密码,查看系统所提供的选课信息,并在规定时间内,可以根据自己的兴趣进行选课。
4学生网上选课按照先来后到的顺序进行选课安排,学生如有因特殊原因,欲改选或退选,需由教务管理员实现。
5教务管理员核对选课列表,整理维护选课信息无误后,发布最终选课结果,公布授课时间和上课地点,备份资料。
6 选课结束后,学生登录系统,能够看到所选课程开设情况。 系统的业务流程图如图1所示。
4
管理员登录 添加学生信息 注册教师及其他管理员用户 学生登录 学生成绩考核 添加选课课程 学生选课 生成选课序列,形成课表 查询课表 图1 网上选课系统流程图
3.3 可行性分析
3.3.1 提供方案的可行性
(1)专业结构优化 前文中已经提到,“本系统开发的目的,不仅给原本繁杂的人工选课工作减少了不少教务工作量,还在于使学生可以根据兴趣跨专业选课,多了解掌握感兴趣的学科知识;而且选课可能会为学生毕业后多提供一条就业出路”,满足学生的发展需求是实现学生顺利就业保障之一。
(2)打破教学刻板化
教师可提供一些基础课程,既与现下热门的职业技能证书有关,又不涉及太艰深专业背景知识,指导跨专业的学生熟悉了解;并按照知识的学习梯次或根据证书的等级,分批安排授课,如针对大一学生开设入门知识、大二开设中级内容,大三开设高级内容等。系内亦可组织本系学生学习他系课程,如果申报人多,则可聘请他系教师在不影响其正常教学的情况下,开班授课。
(3)选课公平合理
此选课系统按年级划分选课内容,以保证学生选出适合自己知识背景的课程,学院的电脑数量能够满足该系同一年级学生同时上网选课的要求。采用集中学生上网选课的方式,尽可能地使学生在同样的时间内,查看同样的选课内容,选出自己喜欢的可能,保证学生在选课过程中公平性、合理性。 3.3.2 开发技术的可行性
系统打算采用 B/S 结构,客户端只需有浏览器,能够进行网络链接即可;登陆服务器管理相关信息。而服务器端只需要有可以运行 PHP 程序的解释器即可。技术层面上,利用 PHP 和 MySQL 作为系统开发工具使得技术应用得到保障。这两种技术的选择原因已在前文部分阐述,技术已经比较成熟,且 WampServer为自由使用软件,资金成本上得到很大节省和优化,可以说整个系统是软件投入成本为零,仅需一定硬件成本,功能较为完善,这就保证了系统的经济可行性。目前本系统规模小,灵活程度高,正适合采用这种技术。学生网上选课系统充分利用网络交互性、开放性的特点,实现数据收集管理及统计,可以更好地为教学、为师生服务。且学院提供专业的软硬件维护团队,更为今后学生网上选课系统的扩大和发展提供有力支援。
系统可在 Windows 操作平台中使用,开发环境为 Windows XP 和 Netbeans
5
IDE7.2 for PHP + CodeIgniter。利用 PHP 结合 MySQL 数据库来进行开发。WamperServer 作为此学生网上选课系统的服务器,处理效率相对较高,能够基本满足系统实时在线要求。 3.3.3 操作管理的可行性
对于操作此选课系统的三种角色,即教务管理员、教师、学生,均可实现简便易行的操作管理,功能简单明了。
(1)该软件的功能为:学生选课信息更新、选课查询、成绩查询以及密码管理。 学生选课信息更新:添加选课学生、删除选课学生、修改选课学生信息。 查询功能:记录浏览和条件查询。
密码管理功能:允许合法用户对密码进行修改。 (2)性能:
方便数据的录入,使查询速度大大提高。 (3)系统的输入:
选课学生所包含的信息。 (4)系统的输出: 查询结果和各类报表。 (5)数据安全和保密:
系统对不同权限的用户提供不同的功能模块,有一定权限的用户可以进行操作,一般的用户只能进行查询的操作。 3.3.4 软、硬件环境要求
硬件环境:服务器端/客户端: 处理器 :Intel Pentium 4 内存:256M 硬盘空间:10G
软件环境:服务器端/客户端: 操作系统:linux, windows, unix 网络协议:TCP/IP
浏览器 :Internet Explorer6.0 以上
制作工具:PHP MySQL CodeIgniter easyUI
本系统是通过用easyUI来完成学生网上选课系统的界面设计以及外观构架设计;并用CodeIgniter框架运用到系统中,完成数据的调用和处理,系统的后台上用 MYSQL 作为数据库支持,提供基本的表信息。 3.3.5 安全管理
由于此选课系统是在网络平台上操作,且面向全体师生,确保系统的安全性和师生 信息的安全尤为重要。为此,采用下列方法:
(1) 严格规定及设置:强调每位用户在成功登录后,可以自设密码。系统不设置保存密码功能。
(2)用户权限明确划分:系统共有管理员、教师和学生这三种用户,用户在使用系统前必须登陆,角色分开,管理员综合管理整个系统,教师编辑课程相关内容,学生网上选课。
(3)数据库创建和编辑:维护数据的安全性和完整性十分重要。本系统首先要求管理员保证数据不能被别人随意访问,防止无关人员对数据文件进行拷贝、修改和删除;其次在 windows 操作系统中保护 MySQL 数据文件,设置一定访问权限,使其只能进行“只读”操作;最后,为了避免用户对数据库进行直接操作,教务管理员是通过此学生网上选课系统提供的界面,创建、编辑或删除后台数据库中的数据,对数据库的一切
6
操作都在系统实现,提高数据库的安全性。
4 系统设计
4.1 系统总体设计 4.1.1 总体构想及原则
系统采用的是目前广泛应用的 B/S 平台架构,采取 Apache+ PHP+My Sql 的模式设计完成。事先设置好 WAMP 开发环境,继而利用 PHP5 和 CodeIgniter等知识完成开发。
总体目标是综合运用 PHP5 技术和 MySql 数据库,根据开发目的和前面章节已做的需求分析,实现行之有效且简便易行的学生网上选课服务,教务人员则通过这一系统平台上完成对选课等相关内容的信息化管理。
总体设计原则是系统开发将彻底贯彻以人为本的理念,切实为用户着想,保证系统的安全性、实用性和可操作性,达到预期设计目的,方便系统的升级、扩展和日后与教务系统软件互联,充分发挥计算机节省人力的巨大作用,最大程度上满足用户需求。 4.1.2 功能模块设计
根据需求分析,系统从教务管理员子系统模块、教师子系统模块和学生子系统模块进行设计。系统管理员在设定好各种角色的权限后,在注册新号时,会根据角色进行分类;用户输入账号和密码口令登录后,根据此分类,进入不同的页面,使用的功能也不尽相同。系统开发出的功能将体现在每个用户子系统管理功能中,三个模块均为用户,在登录系统的流程上是一致的。如图2所示。
用户登录 否 验证身份 是 进入系统 管理员子系统 教师子系统 学生子系统 图2 网上选课登录系统流程图
(1)管理员子系统:用户信息管理、课程信息管理、后台管理、系统信息管理。 (2)教师服务子系统:课程管理、个人信息管理、查看选课信息。 (3)学生服务子系统:个人信息管理、选课、查看信息。 4.2 系统详细功能模块设计 4.2.1 管理员子系统
这一子系统部分的设计及开发主要是用以完成管理员对整个系统的管理,管理员用户拥有最高级别的权限:既可以管理授课教师和选课学生的信息,又可以对其他的一般管理员的权限进行设置及管理。非指定的用户不能对相关功能进行编辑或改动,这部分子系统在系统运作中起着最为重要的作用。其主要功能有:
7