基于PHP 的大学生选修课网站的设计与实现方法

个站网 2023-11-24 53 11/24

文章按照软件开发流程,首先对系统进行了需求分析,描述了系统的总体业务;其次设计了系统,包括体 系结构设计、逻辑结构设计、功能结构设计、模块划分与设计、数据库概念结构设计和逻辑结构设计;然后通过 PHP 、MySQL 、MVC等技术实现了大学生选修课网站管理系统;最后,对系统进行运行测试,发现网站运行稳定、响 应速度快,具备良好的稳定性、易用性、扩展性和实用性。

新冠疫情以来,高校对大学信息化教学管理提出了更 高的要求。教务管理系统作为信息化教学管理中的重要抓 手,其架构设计、功能模块设定、以及数据处理必须更加科 学化、人性化、规范化。本文选取教务管理系统中较为普遍 的选修课模块进行设计与实现。大学生选修课工作的内容 主要包括选修课组织的管理、日常管理以及各类资讯信息 的发布等。传统的大学生选修课管理手段以手工为主,利 用大量的人力物力进行设计、宣传、申报和发布,存在信息 不对称、设计布局不合理、操作流程复杂等问题,在一定程 度上制约了学校选修课的高质量发展以及信息化教学管 理水平的提高。因此,利用IT 技术手段实现大学生选修课 管理的信息化升级已是大势所趋,本文设计的大学生选修 课网站是基于B/S 架构开发的,师生用户可以随时随地接 入访问。学生用户可利用此网站了解每门选修课的基本情 况、公告通知、任课教师、在线报名、在线学习、信息查询 等,既可满足学生对选修课的个性化选择,又能激发学生 对选修课的兴趣、增强系统用户黏性;教师管理者可利用网站统一入口进行教务管理和数据处理,既提高服务水平 和工作效率,减轻管理人员的工作负担,又能实时了解选 修课参与度、活跃度等统计指标,更好地监督和指导选修 课。

1 系统设计

1.1 系统总体设计

1.1.1体系结构设计

本文采用的是B/S(浏览器/服务器)结构。网站部署在 Web服务器,数据库服务器可部署在Web 服务器也可单 独部署,本文采用的MySQL数据管理系统是网络数据库, 默认端口为3306。系统管理员、注册学生和游客无论在何 地,只要能登上Internet 网即可访问本网站,根据各自需要 完成相关工作。

1.1.2逻辑结构设计

本文采用了Symfony2 框架,该框架基于MVC模 式  使用Doctrine 框架实现对象关系映射。图1为本网站的逻  辑结构组成图。用户通过浏览器能够看到网站的表示层, 一旦发出操作指令,会将数据或操作指令传送到相应的控

制器层,控制器按照操作指令实现相应功能,在实现的过  程中向模型层发出数据操作请求,如数据库的添加、修改、 删除和查看操作,模型层执行完操作请求后将数据返回至  控制器层,控制器再按照表示层的要求将信息或数据展示  在表示层。同时,本文将选修课划分成若干单独命名的功 能模块,方便对网站进行模块化设计,以减少工作量、节省  软件开发成本。

1.1.3功能结构设计

本网站功能结构包含前台和后台两部分。前台部分包  含首页、选修课中心(包括选课要求和课程简介两个内  容)、课程链接、资料下载、通知公告、留言板、注册和登录、 用户中心(包括用户信息修改、密码修改以及报名信息修  改)。后台部分包括后台登陆、密码修改、课程分类管理、报  名信息管理、链接管理、资料管理、公告管理、成绩管理。

1.2模块划分与设计

模块化设计的优点是可以使软件结构更加清晰、可读 性强、便于后期测试和维护,同时有助于提高软件数据的  安全性。模块一般具有3个属性:功能、逻辑和状态。本文  将所有的功能归纳成以下几个模块:用户模块、通知公告  模块、内容分类模块、报名学生信息模块、课程链接模块、 资料下载模块、成绩学分模块、留言模块。

2数据库设计

2.1 概念结构设计

在数据库概念结构设计阶段,使用E-R  图进行辅助 分析。E-R  图中文称为实体-联系图 (Entity Relationship Diagram), 包含实体、属性和联系方法。根据需求分析以及 划分模块,将实体分成用户、课程分类、内容详情、资料下 载、通知公告、留言、报名信息。

用户实体包含用户名、密码、邮箱、用户角色、最后登 录时间等属性;课程分类实体包含性质分类、科目分类、学 分分类、创建和修改时间等属性;内容详情实体包含课程 简介、章节设置、任课教师、考核标准等属性;资料下载实 体包含课件存取路径、创建和修改时间等属性;通知公告 实体包含标题、正文、附件、发布时间等属性;报名信息实 体包含学生姓名、性别、院系、班级、联系方式(手机、邮 箱)、报名内容、报名时间、创建和修改时间等属性。实践证 明实体之间存在一对多的关系。

为解决数据冗余、提高存储效率等问题,必须先解决 实体之间的一对多和多对多问题,可使用第三范式理论来 解决,以增加外键来解决一对多的问题。为解决实体之间 的多对多问题,增加了一个新的实体,即报名信息汇总,其 E-R 图如图2所示,包含报名信息编号和选修课分类编号 两个属性。符合数据库设计中的第三范式理论。

2.2逻辑结构设计

根据图2及第三范式理论,不难得出各实体的逻辑 表。这里大部分表都增加了一个id 字段,该字段为自增字 段并设为了主键。表1为用户表,来源于图2中的用户实 体,由于用户实体和角色权限实体间有多对多的关联关 系,故将角色信息移植到用户表做外键关联61。

 1   

 

字段 类型 描述
id int(11) 自增,主键
username varchar(20) 用户名
E-mail varchar(20) 邮箱
password varchar(10) 密码地址
last_login datetime 最后登录时间
roles longtext 角色

同理,进一步完成课程分类转化。学生选修课报名信 息为用户、课程分类、内容详情的管理关系,派生出表2选 修课报名表,实现报名情况与相关课程的数据统计。

 

表2选修课报名表

 

字段 类型 描述
id int(11) 自增,主键
usejid int(11) 自增,主键
trueName varchar(20) 真实姓名
sex varchar(4) 性别
mobile varchar(20) 手机号码
E-mail varchar(20) 邮箱地址
subject varchar(20) 课程名称
time varchar(10) 报名时间

3系统各模块实现

 

集成开发工具:Adobe Dreamweaver CS6 、PhpStorm;开 发语言:PHP 、JavaScript等;数据库平台:MySQL;模型层: Doctrine  ORMo;控制器层:Symfdny2框架中的Controller;  视图层:twig模板,结合HTML、CSS、JavaScript、JQuery 等 技术;布局:Bootstrap 框架。

3.1 用户模块

用户模块包含了系统后台登陆、学生注册与登录、用 户信息修改、密码修改等功能。(1)后台登陆。用户输入后  台登陆网站后可看到登录界面、输入用户名和密码,点击 登录,若验证成功则跳转至后台管理页面,否则会有提示  信息,并将管理员信息保存到Session 。(2) 用户信息修改。 登录完成后选择用户中心,可修改用户信息,输入新的电  子邮箱和密码即可完成,实现效果如图3所示。当电子邮 箱格式不正确或邮箱已被注册过则不能正确保存。

3.2选修课分类模块

该模块包括选修课分类列表显示、添加选修课分类、 修改和删除选修课分类。根据科目性质课程类别分为:创 新创业类、四史教育课程、大学生心理健康教育、美育模块  和其他模块。其中,用户点击选修课分类列表铅笔图标用 于修改选修课分类,点击减号图标可以删除该选修课分  类,点击加号图标可以添加选修课分类。

3.3内容分类模块

不同年级开设的选修课程不同,需要设定年级分类模  块。该模块主要包括不同年级的选修课显示、选修课类别、 学分设置等。第一学期设置:大学生心理健康教育类课程  (4学分/门);第二学期设置:四史教育类课程(4学分/门);  第三学期设置:美育类课程(3学分/门);第四学期设置:创 新创业类课程(4学分/门);第五学期设置:其他类课程(2  学分/门)。学分统计设置:毕业条件大于或等于14分。通  过设置铅笔、加、减图标实现具体课程的修改与增减。

3.4通知公告模块

该模块包括通知公告列表显示、添加通知公告、修改 和删除通知公告。通过设置铅笔、加、减、喇叭图标实现通 知公告的修改、增减与发布。上述通知公告的管理功能都 是由系统管理员完成。在网站前台也可以看到通知公告导 航栏目,可按时间、关键词查询。

3.5资料下载模块

该模块包括学习课件、讲义等资料的列表显示以及附

件模板的增加、删除等。通过设置上下箭头、加减图标实现 文件上传服务器与文件下载等功能。上传管理功能由系统 管理员完成,学生用户可凭账号下载相关资料。网站前台 可以看到资料下载导航栏目,可供资料查询。

3.6学生报名模块

该模块功能包括增减和汇总报名学生信息。通过设置 加减、保存、上传、导出等按键内实现相关功能。管理员在 后台可以导出各门选修课课程下的所有学员信息,输出格 式为Excel 或 PDF 文件。

4 系统运行与测试

 

软件测试是系统开发流程中必不可少的环节,其目的 是尽可能地找到软件存在的错误漏洞,基本任务是根据软 件开发各阶段的分析和设计文档,精心设计用例,利用这 些用例进行测试,验证和确认系统是否符合需求分析和设 计要求,找出潜在错误。软件测试按照测试顺序可以分为 单元测试、集成测试和验证测试。从实现技术上可以分为 黑盒测试和白盒测试。

4.1 功能测试

系统各模块完成后进行了系统测试和验证测试,其 中,系统测试主要由系统项目组负责,验证测试主要由用 户参与配合完成。

4.2压力负载测试

鉴于系统本身架构、分布与应用环境需要,设计了以 下测试场景。

主要针对学期初选课时间场景进行测试:(1)用户登 录的模块,总共登陆1000个用户,所有用户可以同时操 作;(2)用户输入正确登录信息后点击“登录”,完成登录功 能;(3)用户点击“下载资料”进入资料下载模块;(4)选定 指定课件、讲义进行下载;(5)点击“退出登陆”按钮,返回 用户登录模块,退出登陆。

在界面中选择Run  Load  Tests,经过针对特定场景的 测试实施,完成了有目的的并发、网络流量、大I0 吞吐(大 量下载)等情况下的系统资源监控,经分析测试,得到如表 3所示的基本数据。

表3测试数据

响 应 时 平 均 响 应 时 标 准 事务名称 间 最 小 响 应 间 最 大 偏 差

时 间 / s 值     值

有90%的 用户响应 时间小于 等于此值 通过失败 的事的事 人为

停止

的事

务   务
Action    11.79911.84411.9120.042 11.912 4    16 0
login     0      0      0      0 0 6 0
Vuser end   0      0    0.001    0 0.001 20   0 0
Vuser init 0.001  0.0260.3240.07 0.038 20   0 0

通过系统测试发现,用户每秒钟的点击数大体上在 16~34次/秒之间。从系统吞吐量随时间推移的变化情况 可知,5s 后系统吞吐量显著减小,用户的所有事务全部通

过。网站能够满足用户提出的需求及各项要求。经过长时 间运行,网站运行非常稳定,响应速度较快,具备良好的稳 定性、易用性和实用性。

5  

综上所述,基于B/S架构、PHP 技术的大学生选修课 网站,本着“服务学生、高效管理”的宗旨,为同学们提供便 利,为信息化教学管理提高管理效率。网站也会根据学校 教学管理的要求适时优化网站内容模块的设置,进一步开 发以APP 形式的移动端访问模式,使得网站能够更加贴 近师生用户的需求,更好地服务于高校信息化教学管理。

 

 

 

- THE END -
0

共有 0 条评论

您必须 后可评论