系统设计的内容

本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生信息进行日常管理,如查询、修改、增加、删除,另外还考虑到用户登录的权限,针对学生信息和权限登录的学生成绩管理系统。

本系统主要包括注册管理、教师管理、学生信息查询、添加、修改、删除等部分。其功能主要有:
(1)学生信息的添加,包括输入学生基本信息和成绩。
(2)学生信息的查询,包括查询学生基本信息和成绩。
(3)学生信息的修改,包括修改学生基本信息和成绩。
(4)学生信息的删除,包括修改学生基本信息和成绩。
(5)登录用户密码修改,用户登录到系统可进行相应的用户密码修改。
(6)管理员用户对用户名的管理,包括添加新用户、删除用户。

功能分析

该学生成绩管理系统是用Visual Studio 2019和SQL Server2014数据库,在系统中分为两类用户,即系统管理员和辅导员。
系统管理员进入学生成绩管理系统的主要功能是:实现管理员对所有用户的增删改查等基本功能,并且参与开设课程、选择课程的管理,安排教师的任课工作,管理员为每门课程设置是必修或则选修。实现对学生成绩的修改管理。
辅导员进入学生成绩管理系统的主要功能是:查询所管理班级成绩,打印不及格学生名单,录入学生信息,修改自己的帐号密码等。

数据项

数据项名:账号 含义:用户唯一的标示 数据类型:char长度:10 数据项之间的关 系:账号→密码
数据项名:密码 含义:登录时对应账号唯一的标示 数据类型:char长度:10数据 项之间的关系:
数据项名:学号 含义:学生的唯一标示 数据类型:char长度:10 数据项之间的 关系:
数据项名:学生姓名 含义:学生姓名 数据类型:char长度:10数据项之间的关系:
数据项名:性别 含义:学生性别 数据类型:char 长度:2 数据项之间的关系: 学号→性别
数据项名:系别 含义:学生所在系 数据类型:char 长度:20 数据项之间的关系: (学号,学生姓名)→系别
数据项名:专业 含义:学生所在专业 数据类型:char 长度:20 数据项之间的关 系:(学号,学生姓名)→专业
数据项名:年级 含义:学生年级 数据类型:char 长度:10 数据项之间的关系:
数据项名:课程名称 含义:学生所学课的名称 数据类型:char 长度:10 数据项 之间的关系:课程号→课程名称
数据项名:授课教师 含义:该课程授课教师姓名 数据类型:char 长度:10 数据 项之间的关系:(课程号,课程名)→授课教师
数据项名:开设院系 含义:该课程开设的院系名称 数据类型:char 长度:10 数 据项之间的关系:(课程号,课程名)→开设院系
数据项名:课程号 含义:课程唯一的标识 数据类型:char 长度:4 数据项之间 的关系:
数据项名:成绩 含义:成绩 数据类型:int 长度:4 数据项之间的关系:(课程 号,学号)→成绩

数据结构

数据结构名:学生信息表 含义说明:学生的各项基本信息 组成:学生的各项基本 信息
数据结构名:课程信息表 含义说明:课程的各项基本信息 组成:课程号+课程名 +授课教师+开设院系
数据结构名:学生成绩信息表 含义说明:选课的成绩信息 组成:课程号+学号+成 绩
数据结构名:登录信息表 含义说明:登录时需要输入的信息 组成:账号+密码

数据流

数据流名:学生 说明:用于查询学生的基本信息 数据流来源:学生数据流 数据流 去向:学生模块 组成:学号、姓名、年级、院系、专业、性别
数据流名:成绩 说明:用于查询学生的各科考试分数 数据流来源:成绩数据流 数 据流去向:成绩模块 组成:课程号、学号、成绩
数据流名:选修课程 说明:用于查询每门课程的基本信息 数据流来源:选修课程数 据流 数据流去向:选修课程模块 组成:课程号、课程名称、授课教师、 开设院系
数据流名:登录 说明:用于登入课程管理系统 数据流来源:登录数据流 数据流去 向:登录信息模块 组成:账号、密码

数据存储

编号:1 数据存储名:学生信息存储 说明:用于存储学生的各项信息 输入的数据流: 输出的数据流:学生信息表 组成:学号+学生姓名+性别+院系+年级+专业
编号:2 数据存储名:课程信息存储 说明:用于存储课程的各项信息 输入的数据流:课程信息 输出的数据流:课程基本信息表 组成:课程号+课程名授课教师+开设院系
编号:3 数据存储名:成绩信息存储 说明:用于存储成绩的各项信息输入的数据流:学生成绩信息 输出的数据流:选课成绩信息表 组成:课程号+学号+成绩
编号:4 数据存储名:登录信息存储 说明:用于存储学生登录的各项信息输入的数据流:登录的基本信息 输出的数据流:登录信息表 组成:账号+密码

处理过程

处理过程描述={处理过程名,说明,输入:{数据流},输出:{数据流},处理:{简要说明}}
处理过程名:登陆界面 说明:用户登录时候的界面 输入数据流:输入账号和登录密码 输出数据流:进入操作选择界面 处理:登录成功,进入操作选择界面;登 录失败,则退出系统
处理过程名:查询统计界面 说明:查询学生信息、课程信息、学生成绩信息时候的界面 输 入数据流:学号、课程号 输出数据流:进入学查询统计界面 处理:查看 学生、课程、学生成绩各项基本信息
处理过程名:添加信息界面 说明:添加学生、课程、学生成绩信息时候的界面 输入数 据流:学号、姓名、专业、院系、年级、课程号、课程名、成绩、授课教师、 开设院系 输出数据流:进入添加信息界面 处理:添加学生、课程、学 生成绩的各项基本信息
处理过程名:删除信息界面 说明:删除信息时候的界面 输入数据流:课程号、学号 输 出数据流:删除信息界面 处理:删除学生、课程、学生成绩的 各项基本信息
处理过程名:修改信息界面 说明:修改学生、课程、学生成绩信息时候的界面 输入数 据流:学号、姓名、专业、院系、年级、课程号、课程名、成绩、授课教师、 开设院系 输出数据流:进入添加信息界面 处理:修改学生、课程、学生 成绩的各项基本信息
处理过程名:密码修改界面 说明:修登录信息时候的界面 输入数据流:账号、密码 输 出数据流:进入修改登录信息界面 处理:修改登录信息的账号密码
处理过程名:用户管理界面 说明:数据库管理员管理用户信息时候的界面 输入数据流: 账号、密码 输出数据流:进入用户管理界面 处理:管理用户的账号和密码

操作界面






登录界面源代码

private void Button4_Click(object sender, EventArgs e){this.Close();}
private void Button3_Click(object sender, EventArgs e){if (textBox1.Text == "" || textBox2.Text == "")
MessageBox.Show("提示:请输入用户名和密码!", "警告");
SqlConnection conn = new SqlConnection("Data Source=(local);Initial Catalog=Sperformance;Integrated Security=True;MultipleActiveResultSets=true");
conn.Open();
SqlCommand cmd = new SqlCommand("select * from 登陆信息表 where 账号='" + textBox1.Text.Trim() + "' and 密码='" + textBox2.Text.Trim() + "'", conn);
SqlDataReader sdr = cmd.ExecuteReader();
sdr.Read();if (sdr.HasRows)
{MessageBox.Show("登录成功!", "提示");Form2 frm = new Form2();frm.Owner = this;frm.ShowDialog();}elseMessageBox.Show("提示:账号或密码错误!", "警告");conn.Close();sdr.Close();}

添加信息界面源代码

private void Button1_Click(object sender, EventArgs e){string StuNo = sno.Text.Trim();string StuName = name.Text.Trim();string StuSex = sex.Text.Trim();string StuMajor = major.Text.Trim();string StuGrade = grade.Text.Trim();string StuDept = depart.Text.Trim();if (String.IsNullOrEmpty(StuNo)){MessageBox.Show("学号不能为空!");}if (String.IsNullOrEmpty(StuName)){MessageBox.Show("姓名不能为空!");}if (String.IsNullOrEmpty(StuMajor)){MessageBox.Show("专业不能为空!");}if (String.IsNullOrEmpty(StuGrade)){MessageBox.Show("年级不能为空!");}string mystr, mysql;SqlConnection myconn = new SqlConnection();SqlCommand mycmd = new SqlCommand();mystr = "Data Source=.;Initial Catalog=Sperformance;Integrated Security=True;MultipleActiveResultSets=true";myconn.ConnectionString = mystr;myconn.Open();mysql = string.Format ( " insert into 学生信息 values('{0}','{1}','{2}','{3}','{4}','{5}')", StuNo, StuName, StuSex, StuMajor, StuGrade, StuDept);  mycmd.CommandText = mysql;mycmd.Connection = myconn;int count = mycmd.ExecuteNonQuery();if (count > 0){MessageBox.Show("添加成功!");}else{MessageBox.Show("添加失败!");}sno.Clear(); name.Clear(); sex.Clear();major.Clear(); grade.Clear(); depart.Clear();cno.Clear(); score.Clear();myconn.Close();}private void Button3_Click(object sender, EventArgs e){string StuNo = sno.Text.Trim();string StuCno = cno.Text.Trim();string StuScore = score.Text.Trim();string StuMajor = major.Text.Trim();if (String.IsNullOrEmpty(StuNo)){MessageBox.Show("学号不能为空!");}if (String.IsNullOrEmpty(StuCno)){MessageBox.Show("课程号不能为空!");}          string mystr, mysql;SqlConnection myconn = new SqlConnection();SqlCommand mycmd = new SqlCommand();mystr = "Data Source=.;Initial Catalog=Sperformance;Integrated Security=True;MultipleActiveResultSets=true";myconn.ConnectionString = mystr;myconn.Open();mysql = string.Format(" insert into 学生成绩信息 values('{0}','{1}','{2}')", StuNo, StuCno, StuScore);mycmd.CommandText = mysql;mycmd.Connection = myconn;int count = mycmd.ExecuteNonQuery();if (count > 0){MessageBox.Show("添加成功!");}else{MessageBox.Show("添加失败!");}sno.Clear(); name.Clear(); sex.Clear();major.Clear(); grade.Clear(); depart.Clear();cno.Clear(); score.Clear();myconn.Close();}private void Button4_Click(object sender, EventArgs e){string CouCno = cno.Text.Trim();string CouSname = cname.Text.Trim();string TeaTname = name.Text.Trim();string TeaDept = depart.Text.Trim();if (String.IsNullOrEmpty(CouCno)){MessageBox.Show("课程号不能为空!");}if (String.IsNullOrEmpty(CouSname)){MessageBox.Show("课程名不能为空!");}if (String.IsNullOrEmpty(TeaTname)){MessageBox.Show("任课老师不能为空!");}if (String.IsNullOrEmpty(TeaDept)){MessageBox.Show("开设院系不能为空!");}            string mystr, mysql;SqlConnection myconn = new SqlConnection();SqlCommand mycmd = new SqlCommand();mystr = "Data Source=.;Initial Catalog=Sperformance;Integrated Security=True;MultipleActiveResultSets=true";myconn.ConnectionString = mystr;myconn.Open();mysql = string.Format(" insert into 课程信息 values('{0}','{1}','{2}','{3}')", CouCno, CouSname, TeaTname, TeaDept);mycmd.CommandText = mysql;mycmd.Connection = myconn;int count = mycmd.ExecuteNonQuery();if (count > 0){MessageBox.Show("添加成功!");}else{MessageBox.Show("添加失败!");}sno.Clear(); name.Clear(); sex.Clear();major.Clear(); grade.Clear(); depart.Clear();cno.Clear(); score.Clear(); cname.Clear();myconn.Close();}

后续代码大致相同,c#与sql语句结合使用。项目在这。

数据库课设之学生成绩管理系统相关推荐

  1. 【数据库课设】学生成绩管理系统 (JAVA+ swing + JDBC)

    正道的光 源代码资源获取!!!!! 百度网盘: https://pan.baidu.com/s/1fQab5mOfpZ14rv7yhT_TAQ 提取码:0307 Github: https://git ...

  2. 超超超超超详细的数据库课设报告-学生公寓管理系统

    学生公寓管理系统 摘要: 随着社会的发展以及教育水平的提高,当今在校生数量越来越多.与此同时,目前还有一些学校还在使用手工的方式对学生的住宿信息进行管理,手工记录对于规模小的学校来说还可以勉强接受,但 ...

  3. c语言学生学籍管理修改,C语言课设之学生学籍管理系统.doc

    C语言课设之学生学籍管理系统.doc 题目学生学籍管理系统 目录一.个人简介.二.报告摘要.三.报告目录.四.报告正文. 1.系统需求分析 2.系统总体设计 3.系统详细设计六.总结. 二.报告摘要 ...

  4. 课设 c语言编译学籍管理系统,C语言课设之学生学籍管理系统

    <C语言课设之学生学籍管理系统>由会员分享,可在线阅读,更多相关<C语言课设之学生学籍管理系统(10页珍藏版)>请在人人文库网上搜索. 1.题目:学生学籍管理系统 目录:一.个 ...

  5. 数据库课设(足球联赛管理系统)

    一:前言 如果有关注博主的粉丝,可能会发现贴心杰又缺更好几天了,但是我是宠粉杰啊,怎么可能会忘了我的宝贝粉丝呢,只不过是临近期末,各种大作业课设如期而至,这几天我在写数据库课设,对于一个没有写过任何项 ...

  6. 学生宿舍管理系统java课设_JAVA学生宿舍管理系统

    需要的工具 1.SQL Server 2.Eclipse 3.JDBC连接数据库驱动 https://download.microsoft.com/download/A/F/B/AFB381FF-70 ...

  7. 数据库课设——汽车信息租赁管理系统

    目录 课程设计目的   时间及任务安排 基本要求      系统实现     功能需求     系统分析与设计 数据库设计    运行结果截图   开发环境        个人总结        此处 ...

  8. 数据库课设作业《公寓管理系统》

    <数据库原理与应用> 课程设计报告 设计题目:乌鸦中学(高中部)公寓管理数据库系统设计 公寓管理数据库系统设计(小二号宋体加粗) 一.数据库需求分析(4号黑体) 1.调查对象基本情况说明 ...

  9. 【数据库课设】图书馆资源管理系统 源码+流程图+结构设计(借还图书 逾期罚款 图书管理 读者管理 信息查询)python实现

    文章目录 一 实现功能 (1)管理员功能 (2)读者功能 二 数据流图 三 概念结构设计 四 文件目录 五 源码:main.py 六 运行截图 一 实现功能 (1)管理员功能 一个管理员编号对应一个密 ...

最新文章

  1. Docker学习(3)——安装部署过程及简单应用
  2. Leetcode1700. 无法吃午餐的学生数量[C++题解]:模拟题简单,用queue
  3. 第四天2017/03/31(下午1:结构体、数组)
  4. UVAlive 7041 The Problem to Slow Down You(回文树)
  5. 南安职业中专学校计算机专业,南安职专:国家级重点职业中专学校
  6. luogu P1046 陶陶摘苹果
  7. JS 数据类型转换、创建对象
  8. 《scikit-learn》随机森林之分类树
  9. python二进制处理详述
  10. zendstudio php6.5,ZendStudio13.6配置composer.phar和中文镜像、如何更新php项目依赖组件方法...
  11. 狮子鱼社区团购小程序独立版 安装教程及后台设置小程序APPID,微信支付,腾讯地图AppKey
  12. 戴尔linux恢复镜像,如何从官网下载并使用系统恢复映像
  13. css调logo大小,css实现宽高不同的logo水平排列
  14. android 主流分辨率是多少,Android程序开发设计主流屏幕分辨率介绍
  15. IOS通用链接处理(Universal Links),apple-app-site-association
  16. Microsoft SQL Server 2008R2企业版64位(带密钥)
  17. xp系统简单tcpip服务器,Win XP系统下添加打印机的方式手工添加TCP/IP端口
  18. 飞翔的红蜻蜓(浙理体育)——生成跑步数据并上传
  19. BZOJ3875-[Ahoi2014Jsoi2014]骑士游戏
  20. [iOS]URL编码和解码

热门文章

  1. 虚拟机安装配置Hadoop(图文教程)
  2. 《约翰·克里斯朵夫 》
  3. urllib与urllib2
  4. Java8如何让Excel的读写变得更加简单高效
  5. 如何将大文件复制到U盘?
  6. 物联网 - 听说你设备更换物联卡后无法正常使用了?
  7. 解决Could not find metadata org.apache.maven.pluginsmaven-archetype-pluginmaven-metadata.xml in
  8. 设置alt+tab快捷键不切换edge浏览器网页
  9. Ueditor处理微信图片
  10. 66道史上最全Redis面试题,面试官能问的都被我找到了(附答案)