文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

基于PHP和MySql的学生成绩管理系统(附完整版代码)

2023-09-05 22:43

关注

系统开发运行环境

2.2 功能要求

2.2.1 教职工

对学生成绩有一个整体的了解,在今后的教学中能有所改进。同时可 以对自己教授的课程进行修改,进一步了解学生的个人情况,便于因材施教。 当学生的个人信息发生改变时,老师能够及时进行修改。例如学生转校、后来转 到本系、或者毕业生离开学校等,老师能够根据具体情况对学生信息进行添加、 修改、删除等。能够管理课程信息,合理安排老师教授的课程,及时为学生提供 选课信息。老师能够对课程名、课程编号、学分等进行修改和更新。能够对学生 成绩进行发布、修改、删除,清晰地了解学生的成绩情况,以便做出总结和改进。

2.2.2 学生

能够查询个人的学习成绩和总体学生的成绩,以便做出新的定位。

2.3 可行性分析


为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率 和工作质量,现提出如下的系统开发目标:

可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。也就是说 可行性研究的目的不是解决问题,而是确定问题是否值得去解,研究在当前的具体条件下, 开发新系统是否具备必要的资源和其它条件。

2.3.1 经济可行性

主要从对项目的经济上进行分析评价,一方面是支出的费用,包括设备购置费、管理 和维护费用、人员工资和培训费等,另一个是取得的收益。这是个超小型的管理系统,从投 入的人力,财力与物力来讲是非常之小的,只要一台电脑,一台打印机,这个系统就可以搞 起来,考虑到学校里有电脑,现只要购置一台打印机就可以了。从节省人力方面,可以让管 理人员从繁与复杂的工作中解脱出来,做更多的工作,可以给教学管理提高一个层次。

2.3.2 管理性

学生成绩管理系统是对学生成绩进行管理的一个简单系统,主要又成绩的输入、输出、 浏览、打印、数据备份等组合而成,因此可适用于任何学校用作成绩管理。该系统管理方法 科学,相应的管理制度成熟,所记录的原始数据准确,且操作简单、快速,对管理人员的计算级应用技术要求不高,可被一般管理人员所接受,所以在管理上具备一定的可行性,便与普遍采用。

2.3.3 技术性

在开发本应用软件时,我是按照软件周期进行开发的。而我所设计的学生成绩管理系统 是一个用php 和 Mysql 加前端js框架实现的前后端分离开发的应用系统。

2.4 安全与完整性要求


建立数据库用户,对其权限进行设置。确定各表主键、索引、参照完整性、 用户定义完整性。

2.5 数据字典


学生表(学号,姓名,性别,系别,学生年龄)

课程表(课程号,课程名,课时,学分)

成绩表(课程号,学生号,成绩。)

老师表(老师姓名,老师编号,所授课程,联系电话)


3.1 系统与实体的联系


由需求分析的结果可知,本系统设计的实体包括:

这些实体间的联系包括:

3.2 各个实体 E-R 图


3.2.1 学生表

3.2.2 教师表

3.2.3 课程表

3.2.4 成绩表

3.2.5 总体实体练习图

3.3 E-R图转实为关系模型


3.3.1 学生表

属性名

数据描述

数据类型

是否为空

备注

sno

学号

Char(8)

不允许为空

主键

sname

姓名

Char(10)

不允许为空

Ssex

性别

Char(2)

不允许为空

Ssex

性别

C har(2)

不允许为空

sbirth

出生日期

atetime(8)

允许为空

class

所在班级

Char(4)

不允许为空

type

Char(7)

允许为空

3.3.2 教师表

属性名

数据描述

数据类型

是否为空

备注

tno

教师编号

char(5)

不允许为空

主键

tname

姓名

varchar(10)

不允许为空

depart

部门

varchar(8)

不允许为空

Tsex

性别

char(2)

不允许为空

Tbirth

出生日期

datetime ,

允许为空

prof

职称

char(6)

允许为空

3.3.3 课程表

属性名

数据描述

数据类型

是否为空

备注

cno

课程号

Char(5)

不允许为空

主键

cname

课程名称

varchar(10)

不允许为空

tno

教师编号

char(3)

不允许为空

3.3.4 成绩表

属性名

数据描述

数据类型

是否为空

备注

sno

学号

Char(8)

不允许为空

主键

cno

课程号

Char(5)

不允许为空

主键

degree

成绩

Float(8)

不允许为空


4.1 确定关系模型的存取方法


在将概念模型转换成物理模型之后,我们可以对物理模型进行设计,双击 物理模型的关系,可以对该关系的名称、注释等信息进行查询。可对该关系的属 性列进行设计,可分别设置其名称、码、数据类型以及主码、是否为空等。在实 际设计中最常用的存取方法是索引发,使用索引可以大大减少数据的查询时间, 在建立索引时应遵循:在经常需要搜索的列上建立索引; 在主关键字上建立 索引;在经常用于连接的列上建立索引,即在外键上建立索引;在经常需要根据 范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的等规 则。才能充分利用索引的作用避免因索引引起的负面作用。

4.2 数据流图


该数据流图主要体现教职工对学生信息、课程信息和学生成绩的管理,然后 存储的信息作用于查询系统。在学生能够操作的只有成绩查询,如图所示:


5.1 登录


5.1.1 学生

5.1.2 教师

5.1.3 管理员

5.2.学生界面


5.2.1 首页

5.2.2 个人信息

5.2.3 成绩查询

默认当前学期

选择学期

5.2.4 本学期课表

5.3 教师界面


5.3.1 欢迎界面

5.3.2 查询教授的课程

5.3.3 录入成绩

5.3.4 已录警告

5.3.5 录入

5.3.6 选择查看教授的课程已录入的成绩

5.4 管理员界面


5.4.1 学生管理界面

查询所有

分类模糊查询

添加学生

编辑信息

删除学生

5.4.2 教师管理

查询所有

分类模糊查询

添加教师

编辑信息

删除学生

5.4.3 课程管理

5.4.4 排课管理

5.5 其他


5.5.1 退出登录

5.5.2 修改密码


6.1 database.php


'mysql',// 服务器地址'hostname'=>'127.0.0.1',// 数据库名'database'=>'grademanager',// 用户名'username'=>'root',// 密码'password'=>'123456',// 端口'hostport'=>'3306',// 连接dsn'dsn'=>'',// 数据库连接参数'params'=>[],// 数据库编码默认采用utf8'charset'=>'utf8',// 数据库表前缀'prefix'=>'',// 数据库调试模式'debug'=>true,// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)'deploy'=>0,// 数据库读写是否分离 主从式有效'rw_separate'=>false,// 读写分离后 主服务器数量'master_num'=>1,// 指定从服务器序号'slave_no'=>'',// 是否严格检查字段是否存在'fields_strict'=>true,// 数据集返回类型'resultset_type'=>'array',// 自动写入时间戳字段'auto_timestamp'=>false,// 时间字段取出后的默认时间格式'datetime_format'=>'Y-m-d H:i:s',// 是否需要进行SQL性能分析'sql_explain'=>false,];

6.2 登录代码


// 登录publicfunctionlogin(){$t=model('CommonResData');if(input('post.username')&&input('post.password')){$username=input('post.username');$password=input('post.password');$identity=input('post.identity');if($identity==0){$t->data=Db::query("select admin_name from admin where admin_id=$username and admin_password='$password'");if($t->data){$t->code=0;$t->data=$t->data[0]['admin_name'];// return JSON($t->resData($t->code,$t->data));}else{$t->code=3;$t->data='没有该用户或密码错误';}}elseif($identity==1){$t->data=Db::query("select teacher_name from teacher where teacher_id=$username and teacher_password='$password'");if($t->data){$t->code=0;$t->data=$t->data[0]['teacher_name'];// return JSON($t->resData($t->code,$t->data));}else{$t->code=3;$t->data='没有该用户或密码错误';}}elseif($identity==2){$t->data=Db::query("select student_name from student where student_id = $username and student_password='$password'");if($t->data){$t->code=0;$t->data=$t->data[0]['student_name'];}else{$t->code=3;$t->data='没有该用户或密码错误';}}else{$t->code=2;$t->data='登录失败';}Session::set('islogin',$username);Session::set('identity',$identity);returnJSON($t->resData($t->code,$t->data));}else{$t->code=2;$t->data="用户名密码不能为空";returnJSON($t->resData($t->code,$t->data));}}

6.3 判断是否登录


publicfunctionisLogin(){$isLogin=Session::get('islogin');$t=model('CommonResData');if(!$isLogin){$t->code=1;$t->data='未登录';return;}else{$t->code=0;session('islogin',$isLogin);}}

完整项目代码:https://download.csdn.net/download/weixin_55771290/87395199

来源地址:https://blog.csdn.net/pythonyanyan/article/details/128751629

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯