学生学籍管理系统课程设计报告

时间:2024.3.31

山东交通学院

数据库课程设计

学生学籍管理系统

院(系)别      信息科学与电气工程学院        ­

班    级                             ­

学    号                           ­

姓    名                                 ­

指导教师                               ­

时    间  20##-04-0920##-04-20               ­

课 程 设 计 任 务 书

              学生学籍管理系统          

系  ()      信息科学与电气工程学院         

         信息管理与信息系统              

                                

学生姓名                                

                                

 4     9   日至  4     20      2    

指导教师(签字)             

(签字)             

                     

     2012 5 4

成 绩 评 定 表


目 录

摘要···················································2

1. 需求分析·············································3

1.1用户需求········································3

1.2功能需求········································3

2.数据库设计···········································3

   2.1功能模块········································3

2.2数据项··········································3

2.3数据流图········································6

2.4系统部分E—R图·································7

3. 逻辑结构设计········································7

3.1关系模型········································7

4.数据库创建···········································8

4.1创建老师基本表··································8

4.2创建学生基本表··································9

5.创建数据源···········································9

6.功能实现·············································9

6.1界面设计········································9

7.设计总结············································16

8.参考文献·············································17

1

摘要

学生学籍管理是教育教学单位不可缺少的部分,它的内容对教学管理和学校的决策者都非常重要。给学校教学管理提供了很大的方便性,提高了工作效率。但是一直以来人们用传统人工的方式管理文件文档,这种管理方式效率低,保密性差,出错不易更改,同时也耗费了大量的人力财力,时间一长,将产生大量的文件数据,这对于查找,维护,更新都带来了很大的困难。

随着科学技术的不断发展,尤其是计算机软件水平的日益提高,使得以上问题得到了很好的解决。使用计算机可以方便的对大量数据进行增加,删除,更新等操作。它有着人工管理永远无法比拟的优点: 检索迅速,查找方便,可靠性大,存储量大,保密性好,寿命长,成本低等。例如:通过校园网,我们可以方便的进行学生信息查询,学生成绩的添加,以及最新的教务通知等。当然,这些都离不开数据库技术和网络技术的支持。

综上,开发这样的一套软件十分必要。同时旧的人工管理机制必将被以计算机为基础的信息管理所取代,从而实现对数据的高效,长久,安全的管理。

关键字:学籍、管理、软件

2


1.    需求分析

1.1用户需求

本系统是针对学生学籍管理,因此学籍管理系统的用户包括系统管理员、教师和学生。主要涉及院部信息、班级信息、任课教师信息、学生信息、课程信息以及选课记录和成绩等多种数据信息。

1.2功能需求

1基本信息管理——系统管理员负责对各种基本信息的录入、修改、删除等操作。

2学生成绩管理——系统管理员负责对学生成绩的录入、修改、删除等操作,学生可以查询各科成绩。

3信息查询统计——学生可以查询基本信息和各科的考试成绩,老师可以查询基本信息和授课信息,系统管理员负责把老师提交的学生成绩进行管理,计算总成绩和平均成绩,统计不及格学生信息和获得奖学金学生的信息,最后再输出所有的信息。

4毕业生信息管理——系统管理员负责计算毕业学生在学校期间所修课程的总学分,并进行审核,最后输出登记表和名册。

5系统用户管理——系统管理员负责用不同的权限来限制不同用户对系统的使用。

2.数据库设计

2.1功能模块

      3

2.2数据项

表 2.1 老师基本信息表

表 2.2 学生基本信息表

表 2.3 专业信息表

4

表 2.4 毕业信息表

表 2.5 院系信息表

表 2.6 课程信息表

表 2.7 学生选课信息表

5

表 2.8 老师授课信息表

2.3数据流图

 

6

2.4系统部分E-R图

3.逻辑结构设计

逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。

设计逻辑结构一般分为3步进行:

(1)将概念结构转换为一般的关系、网状、层次模型;

(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;

(3)对数据模型进行优化。

3.1 关系模型

将E-R图转换为关系模型实际上就是要奖实体型、实体的属性和实体型之间的联系转换为关系模式,这种转换一般遵循如下原则:一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体型间的联系则有以下不同的情况:

(1)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的个实体的码以及联系本身

7

的属性均转换为关系的属性,每个实体的码均是该关系的侯选码。如果与某一端实体对应

的关系模式合并,则需要在关系模式的属性中加入另一个关系模式的码和联系本身的属性。

(2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的个各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。

(3)一个m:n联系转换为一个关系模式。与该联系相连的个实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。

(4)3个或3个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。

(5)具有相同码的关系模式可合并。

将概念结构设计阶段设计好的基本E-R图转换为关系模型,如下所示:

学生(学号,专业号,院系号,姓名,性别,出生日期,身份证号,

入学时间,政治面貌,家庭住址,籍贯,邮政编码),此为学生实体对应的关系模式。

教师(教工号,姓名,性别,职称,电话,所属院系,),此为教师实体对应的关系模式。

课程(课程号,课程名,学分),此为课程实体对应的关系模式。

院系(院系号,院系名称,院长名),此为院系实体对应的关系模式。

选修(学号课程号,成绩),此为选修关系对应的关系模式。

毕业(毕业证号,已修学分,需修学分,所属院系,入学时间),此为毕业关系对应的关系模式。

专业 (专业号,专业名,入学时间),此为专业实体对应的关系模式。

4.数据库创建

4.1创建老师基本表

Create table 老师表

     (   tno char(10) primary key,      //主键

         tname varchar(10) not null,

         tsex char(2) not null,

         profess varchar(10) not null,

8

Sage  smallint not null,

         dname varchar(8) not null,

         tel   int ,

     )

4.2创建学生基本表

 Create table 学生表

     (   sno varchar(10) primary key,

         sname varchar(10) not null,

         ssex char(2) not null,

         birthday timestamp(20),

         symbol  varchar(8),

         Id varchar (20),

         Intime   varchar (20) ,

birthplace varchar(20) not null,

homeaddr varchar(20) not null,

postcode int,

)

其他表的建立类似上述两例。

5. 创建数据源

此次课程设计用ODBC语言将数据库与C++连接,在连接之前应创建数据源。在控制面板上打开管理工具,可以找到数据源(ODBC),添加数据源,可以创建不同类型的数据库,此次设计用到了SQL Server,便选择其,打开SQL Server中的服务管理器可找到服务器的名称,将默认数据库改为自己的数据库Student。点下一步直至完成。这样,数据源创建成功了。

6.功能实现

6.1界面设计

9

管理员登陆实现代码:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace 学生学籍管理系统

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        private void label2_Click(object sender, EventArgs e)

        {

 }

                                      10      

 private void textBox2_TextChanged(object sender, EventArgs e)

        {

        }

        private void button2_Click(object sender, EventArgs e)

        {

            Application.Exit();

        }

        private void button1_Click(object sender, EventArgs e)

        {

            string name = "admin", pw = "admin";

            if (Username.Text != name || Password.Text != pw)

            {

                MessageBox.Show("用户名或密码错误");

            }

            if (Username.Text == name && Password.Text == pw)

            {

                Form2 frm = new Form2();

                frm.Show();

                this.Hide();

            } 

        }

    }

}

11

学生信息界面的实现代码:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Data.SqlClient;

namespace 学生学籍管理系统

{

                               12

public partial class Form2 : Form

    {

        public Form2()

        {

            InitializeComponent();

        }

        private void label6_Click(object sender, EventArgs e)

        {

        }

        private void Form2_Load(object sender, EventArgs e)

        {

        }

        private void button1_Click(object sender, EventArgs e)

        {

            SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Administrator\Desktop\student\学生学籍管理系统\学生学籍管理系统\学生学籍管理系统.mdf;Integrated Security=True;User Instance=True");

            con.Open();

            string strsql = "select * from 学生基本信息表 where sno='" +sno.Text + "'";

            SqlCommand cmd = new SqlCommand(strsql, con);

            SqlDataReader rd = cmd.ExecuteReader();

            while (rd.Read())

            {

                sno.Text = rd["sno"].ToString();

                name.Text = rd["sname"].ToString();

                sex.Text = rd["ssex"].ToString();

                birth.Text = rd["birthday"].ToString();

                mianmao.Text = rd["symbol"].ToString();

                                      13

id.Text = rd["Id"].ToString();

                ruxue.Text = rd["Intime"].ToString();

                jiguan.Text = rd["birthplace"].ToString();

                jiating.Text = rd["homeaddr"].ToString();

                youbian.Text = rd["postcode"].ToString();

                

            }

                 rd.Close();

        }

        private void button2_Click(object sender, EventArgs e)

        {

            SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Administrator\Desktop\student\学生学籍管理系统\学生学籍管理系统\学生学籍管理系统.mdf;Integrated Security=True;User Instance=True");

            con.Open();

            string strsql = "insert into 学生基本信息表 values('" + sno.Text + "','" + name.Text + "','" + sex.Text + "','" + birth.Text + "','" + mianmao.Text + "','" + id.Text + "','" + ruxue.Text + "','" + jiguan.Text + "','" + jiating.Text + "','" + youbian.Text + "')";

            SqlCommand cmd = new SqlCommand(strsql, con);

            cmd.ExecuteNonQuery();

            MessageBox.Show("插入数据成功");

            con.Close();

           

        }

        private void button4_Click(object sender, EventArgs e)

        {

            SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Administrator\Desktop\student\学生学籍管理系统\学生学籍管理系统\学生学籍管理系统.mdf;Integrated Security=True;User Instance=True");

                                      14

  con.Open();

            string sql = "delete from 学生基本信息表 where sno='" + sno.Text + "'";

            SqlCommand cmd = new SqlCommand(sql, con);

            cmd.ExecuteNonQuery();

            

            MessageBox.Show("删除数据成功");

            con.Close();

        }

        private void button3_Click(object sender, EventArgs e)

        {

            sno.Text = "";

            name.Text ="";

            sex.Text = "";

            birth.Text = "";

            mianmao.Text = "";

            id.Text = "";

            ruxue.Text = "";

            jiguan.Text = "";

            jiating.Text ="";

            youbian.Text ="";

            MessageBox.Show("清空成功");

        }

    }

}

插入学生信息实例:

15

7.设计总结

通过这次的实验,我对数据库在生活中的广泛应用有了更深的体会,同时也加深了对SQL2000的认识,了解了相关的C++知识,尤其对数据库与开发程序的链接有了进一步的认识。 这次课程设计我最大的收获并不是对书本知识的巩固,而是通过实验我的自学能力得到了很好的锻炼,实践能力也提高了不少。由于之前没有认真学C++,对这门语言很多知识都不了解,在实验的开始阶段进展很慢。但是通过网上查资料,与同学讨论,互相学习渐渐的掌握了一定的知识。后来的实验也就没有那么摸不着门路了。

当然,在这次课程设计中我还有很多没有解决的问题:不会使用存储过程返回结果给变量;也没能掌握两个表以上的查询功能,只能基于单表的查询,添加,删除等,以至功能不是很完善。对于这一点我有很大的遗憾,如果可以实现的话,相信我可以实现更加完善的功能。如实现对班级专业的成绩统计,实现灵活的成绩查询等等。

总结以上,这次课程设计,我收获很多,遗憾更大。不管怎样,今后我会更加努力学习这门课程,不断提高自己。

16

8. 参考文献

(1)SQL Server2000s实验指导书 西安科技大学出版 罗晓霞编著

(2)数据库系统概论(第四版)高等教育出版社出版 王珊,萨师煊编著

(3)数据库系统及其应用 电子工业出版社 雷景生主编

(4)数据库技术及其在网络中的应用 清华大学出版社出版 王育平 于丽杰 韩晓军编著

17

更多相关推荐:
学生成绩管理系统设计报告

电子信息科学与技术专业课程设计题单班级_***_学生***课程名称专业课程设计_课题密码锁的设计设计要求利用visualc#作为前台开发工具,SQLServer后台数据库管理,实现一学生成绩管理系统。实现具体功…

学生信息管理系统课程设计报告

数据库课程设计报告指导老师贺亚茹组名组长组员完成日期成绩数据库课程设计报告一项目名称学生信息管理系统二项目需求分析1项目需求分析简介本数据库的用户主要是学生通过对用户需求的收集和分析获得用户对数据库的如下要求1...

C语言学生成绩管理系统课程设计报告

C语言课程设计报告一问题描述题目七学生成绩管理系统设计学生成绩信息包括学期学号班别姓名四门课程成绩语文数学英语和计算机等主要功能1能按学期按班级完成对学生成绩的录入修改2能按班级统计学生的成绩求学生的总分及平均...

java学生成绩管理系统课程设计报告以及代码共享

java学生成绩管理系统课程设计报告以及代码共享Java语言课程期末作业题目第9题学生成绩管理系统学院计算机学院专业计算机科学与技术班别学号姓名20xx年12月7日一课程题目设计一个简易的学生成绩管理系统用于记...

学生学籍管理系统课程设计报告

目录第一章需求分析211可行性分析研究212用户需求313使用范围414业务流程分析4第二章需求分析建模421实体联系图设计422系统数据流图723数据字典8第三章概要设计1031系统模块总体结构设计10311...

C#学生成绩管理系统课程设计报告

C程序设计课程设计报告2020学年第学期题目学生成绩信息管理系统专业班级姓名学号指导教师成绩年月日目录摘要1第一章绪论211设计目的212开发工具选择213开发环境214本报告的主要内容2第二章需求分析321系...

学生管理系统——Web课程设计报告

黔南民族师范学院计算机科学系Web程序设计课程设计报告20xx年12月黔南民族师范学院计算机科学系Web程序设计课程设计报告题目学生信息管理系统专业计算机信息管理班级姓名学号同组人员指导老师设计时间20xx年1...

学生管理系统asp课程设计报告1

课程设计任务书题目学生信息管理系统设计与实现学号姓名专业信息管理课程Aspnet程序设计案例教程指导教师讲师完成时间2011年11月2011年12月枣庄学院计算机科学系制课程设计任务书及成绩评定IIIII目录1...

基于sql的学生成绩管理系统(数据库)_课程设计报告

基于sql的学生成绩管理系统数据库课程设计报告一实验题目学生证管理系统数据库的设计与实现描述设计一个学生证管理系统实现下列功能1录入某位学生的学生证信息2给定学号查询某位学生的学生证信息3给定班号显示该班所有学...

C语言学生成绩管理系统课程设计报告

目录摘要11需求分析22详细设计说明221功能模块图222数据结构设计3221学生成绩信息结构体3222单链表node结构体323功能模块设计4231主函数main执行流程4232输入学生信息模块4233查询学...

C语言课程设计报告学生成绩管理系统(广工)

一课程设计题目学生成绩管理二需求分析给出n个学生的m门考试的成绩表每个学生的信息由学号姓名性别以及各科成绩组成对学生的考试成绩进行有关统计按总数高低次序打印出名次表分数相同的为同一名次按名次打印出每个学生的学号...

c++学生成绩管理系统+课设报告书(带源代码)精品

第一章需求分析第二章程序设计1概要设计2详细设计1课程设计性质和目的2输入输出的形式3程序的实现功能3调试分析4使用说明第三章使用说明和程序流程图1程序流程图2课程设计经验和体会5测试数据山东科技大学信息工程系...

学生管理系统课程设计报告(25篇)