易妖游戏网
您的当前位置:首页数据库学生成绩管理系统

数据库学生成绩管理系统

来源:易妖游戏网


数据库原理及应用课程设计

院 系: 软件工程 班级学号:

姓 名: XXX _

同组成员: XX.XX __

指导教师: XX

2016 年 6 月 17 日

题目:学生成绩管理系统

数据库原理及应用课程设计任务书

一、题目:学生信息管理系统 二、设计要求

(1)XX负责设计与实现XXX;我负责设计与实现XXXX;XXX负责设计与实现XXXX。 (2)查阅相关资料,自学具体课题中涉及到的新知识。

(3)采用模块化程序设计方法,功能要完善,应有最基本的添加、删除、修改和查询功能。具有一定的创新。

(4)按要求写出课程设计报告,于设计结束后2天内提交。其主要内容包括:封皮、课程设计任务书,指导教师评语与成绩、目录、概述、需求分析、概要设计、逻辑结构、详细设计、软件的测试、总结、附录(带中文注释的程序清单)、参考文献。

三、课程设计工作量

一般每人的功能模块均具有最基本的添加、删除、修改和查询功能,不得抄袭。

四、课程设计工作计划

2016年6月13日,指导教师讲解布置题目,学生根据题目准备资料;

2016年6月13日,开始进行总体方案设计;

2016年6月13日~2016年6月15日,完成程序模块并通过编译;

2016年6月15日~2016年6月16日,将各模块集成为一完整的系统,并录入足够数据

进行调试运行;

2016年6月16日~2016年6月17日,验收、撰写课程设计报告。

指导教师签章: 专业主任签章:

数据库原理及应用课程设计指导教师评语与成绩

指导教师评语: 课程设计表现成绩: 课程设计验收成绩: 课程设计报告成绩: 课程设计 总成绩: 指导教师签章 2016年 月 日

目 录

1概述 ........................................................................................................................................................................ 1 2需求分析 ................................................................................................................................................................ 1

2.1系统需求 ......................................................................... 1 2.2功能需求 ......................................................................... 1 2.3性能需求 ......................................................................... 1 3系统概要设计 ........................................................................................................................................................ 4

3.1 系统总体功能设计 ................................................................. 4 4逻辑结构设计 ........................................................................................................................................................ 7

4.1逻辑详细设计 ..................................................................... 7 4.2 数据库设计与实现 ................................................................. 8

1. 成绩表 ................................................................................................................................................. 8 2. 学生信息表 ......................................................................................................................................... 8 3. 课程表 ................................................................................................................................................. 9 4. 用户表 ................................................................................................................................................. 9

5详细设计 ................................................................................................................................................................ 9

5.1课程管理: ....................................................................... 9 6测试 ...................................................................................................................................................................... 15

6.1 用户登录测试 .................................................................... 15 7总结 ...................................................................................................................................................................... 18 8参考文献…………………………………………………………………………………………………………19

1概述

随着我国学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。由于大学生类别和专业的设置的多样化,大学生的学籍管理历来是非常繁琐和复杂的的工作。在当代信息化的社会里,对信息管理也提出了更高的要求。面对庞大的信息量, 这时的人工管理几乎无法实现,在这种情况下用数据库进行管理变的尤为必要,它不仅实现了信息的共享,通过这样的系统,可以做到信息的规范管理,科学统计和快速的查询,从而增加管理方面的效率和减少人为的错误。

2需求分析

2.1系统需求

(1)建立学生信息的管理和维护。实现计算机自动化管理。

(2)建立学生成绩管理机制,在计算机的支持下快速的完成学生成绩的查询和修改。 (3)建立课程设置管理,在计算机的支持下实现课程的添加、删除、修改。 (4)建立班级设置管理,在计算机的支持下实现班级的添加、删除和修改。 (5)实现系统的权限设置管理,保证系统安全性。

2.2功能需求

根据系统的需求分析,得到本系统的功能要求如下:

(1)班级、课程的设置管理:学校的教务秘书可以根据本校具体情况在每学期开始时设置所需班级数量和人数。并设置本学期的课程。

(2)权限管理:为了很好的保证系统的安全性,学校相关负责人可以设置不同类型的人员的权限。

(3)学生档案管理:学生档案的数量十分庞大,教务管理人员进行新生入学的档案录入及更改。其中包括学生个人信息的修改。 (4)学生成绩管理:教务管理人员可以查询和修改学生的历年考试成绩,掌握学生学习情况,作为评定学生素质的数据依据。

2.3性能需求

系统的运行对于运行环境的要求是; 1.硬件环境

1

目前,我们所开发的系统主要是应用在中小规模的学校内部,因此,一般配置的计算机硬件就可以满足系统需求。考虑到学校规模的扩大和硬件价格的降低,为本系统配置在较优秀的服务器硬件,可以充分发挥本系统性能。 处理器: Intel Pentium 4 3.06 GX 或更高 内存: 256M(推荐)

硬盘空间:40GB

显卡: SVGA显示适配器 2.软件环境

操作系统:Windows 7/8/10

开发软件:Microsoft Visual Studio .NET 2015 数据库:Microsoft SQL Server 2010

3 E-R图

4 DFD图

4.1顶层DFD图

学院用户 查询信息命令 2 结果输出命令 管理用户

4.2第一层DFD图

成绩表 成绩成绩查询命令 管理结果输出命令 学生 选课查询命令 结果输出命令 学生 选课管理选课表

3

3系统概要设计

3.1 系统总体功能设计

本系统主要有四大部分组成:班级信息,教工信息,学生信息管理,成绩学分信息管理。

3.1.1 登录模块

4

3.1.2教工信息的部分

5

3.1.2 学生信息管理的部分

3.1.3成绩学分信息管理的部分

3.1.4 班级信息管理

6

4逻辑结构设计

4.1逻辑详细设计

把系统的E-R图转换成数据库模式如下:

7

课程信息表4.1.0

4.2 数据库设计与实现

在本系统中建立了一个数据库,其中包括:课程表,教师表,成绩,登录表等 下面将对主要的数据表进行一下必要的说明。

1. 成绩表

用户表用于存储学生成绩的基本信息,主要SQL代码如下: CREATE TABLE [dbo].[Reports] ( [Sno] CHAR (10) NOT NULL, [Cno] CHAR (6) NOT NULL, [Grade] INT NULL,

PRIMARY KEY CLUSTERED ([Sno] ASC, [Cno] ASC),

CONSTRAINT [Student_Report] FOREIGN KEY ([Sno]) REFERENCES [dbo].[Students] ([Sno]),

CONSTRAINT [Report_Course] FOREIGN KEY ([Cno]) REFERENCES [dbo].[Courses] ([Cno]) );

2. 学生信息表

部门表用于登录信息,主要SQL代码如下:

8

CREATE TABLE [dbo].[Students] (

[Sno] CHAR (10) NOT NULL, [Sname] CHAR (16) NULL, [DeptNo] CHAR (4) NULL, [StartDate] DATETIME NULL, [CreditHours] INT NULL, PRIMARY KEY CLUSTERED ([Sno] ASC),

CONSTRAINT [Student_dept] FOREIGN KEY ([DeptNo]) REFERENCES [dbo].[Depts] ([DeptNo])

3. 课程表

用于记录各学院课程的基本信息,主要SQL代码如下: CREATE TABLE [dbo].[Courses] (

[Cno] CHAR (6) NOT NULL, [Cname] CHAR (20) NULL, [CreditHour] INT NULL,

PRIMARY KEY CLUSTERED ([Cno] ASC) );

4. 用户表

用户的基本信息,主要SQL代码如下: CREATE TABLE [dbo].[user_T] (

[id] NCHAR (10) NOT NULL, [name] NCHAR (10) NULL, [password] NCHAR (10) NULL,

CONSTRAINT [PK_user_T] PRIMARY KEY CLUSTERED ([id] ASC) );

5详细设计

学生界面代码如下 namespace student {

partial class frmCourse {

///

/// Required designer variable. ///

private System.ComponentModel.IContainer components = null;

9

///

/// Clean up any resources being used. ///

/// true if managed resources should be disposed; otherwise, false. protected override void Dispose(bool disposing) {

if (disposing && (components != null)) {

components.Dispose(); }

base.Dispose(disposing); }

#region Windows Form Designer generated code

///

/// Required method for Designer support - do not modify /// the contents of this method with the code editor. ///

private void InitializeComponent() {

this.Gbox = new System.Windows.Forms.GroupBox(); this.btnInsert = new System.Windows.Forms.Button(); this.laDept = new System.Windows.Forms.Label(); this.laName = new System.Windows.Forms.Label(); this.laSno = new System.Windows.Forms.Label();

this.txtCredit = new System.Windows.Forms.TextBox(); this.txtName = new System.Windows.Forms.TextBox(); this.txtCno = new System.Windows.Forms.TextBox();

this.dataGView = new System.Windows.Forms.DataGridView(); this.btnDelete = new System.Windows.Forms.Button(); this.btnChange = new System.Windows.Forms.Button(); this.Cancel = new System.Windows.Forms.Button(); this.Gbox.SuspendLayout();

((System.ComponentModel.ISupportInitialize)(this.dataGView)).BeginInit(); this.SuspendLayout(); // // Gbox //

this.Gbox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));

this.Gbox.Controls.Add(this.btnInsert); this.Gbox.Controls.Add(this.laDept); this.Gbox.Controls.Add(this.laName); this.Gbox.Controls.Add(this.laSno);

10

this.Gbox.Controls.Add(this.txtCredit); this.Gbox.Controls.Add(this.txtName); this.Gbox.Controls.Add(this.txtCno);

this.Gbox.Location = new System.Drawing.Point(12, 1); this.Gbox.Name = \"Gbox\";

this.Gbox.Size = new System.Drawing.Size(455, 100); this.Gbox.TabIndex = 0; this.Gbox.TabStop = false; //

// btnInsert //

this.btnInsert.Font = new System.Drawing.Font(\"新宋体\12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));

this.btnInsert.ForeColor = System.Drawing.Color.OrangeRed; this.btnInsert.Location = new System.Drawing.Point(363, 71); this.btnInsert.Name = \"btnInsert\";

this.btnInsert.Size = new System.Drawing.Size(75, 23); this.btnInsert.TabIndex = 6; this.btnInsert.Text = \"插入\";

this.btnInsert.UseVisualStyleBackColor = true;

this.btnInsert.Click += new System.EventHandler(this.btnInsert_Click); //

// laDept //

this.laDept.AutoSize = true;

this.laDept.Location = new System.Drawing.Point(31, 71); this.laDept.Name = \"laDept\";

this.laDept.Size = new System.Drawing.Size(35, 12); this.laDept.TabIndex = 5; this.laDept.Text = \"学 分\"; //

// laName //

this.laName.AutoSize = true;

this.laName.Location = new System.Drawing.Point(247, 24); this.laName.Name = \"laName\";

this.laName.Size = new System.Drawing.Size(41, 12); this.laName.TabIndex = 4; this.laName.Text = \"课程名\"; //

// laSno //

this.laSno.AutoSize = true;

this.laSno.Location = new System.Drawing.Point(31, 30); this.laSno.Name = \"laSno\";

this.laSno.Size = new System.Drawing.Size(41, 12);

11

this.laSno.TabIndex = 3; this.laSno.Text = \"课程号\"; //

// txtCredit //

this.txtCredit.Location = new System.Drawing.Point(96, 68); this.txtCredit.Name = \"txtCredit\";

this.txtCredit.Size = new System.Drawing.Size(109, 21); this.txtCredit.TabIndex = 2; //

// txtName //

this.txtName.Location = new System.Drawing.Point(316, 18); this.txtName.Name = \"txtName\";

this.txtName.Size = new System.Drawing.Size(122, 21); this.txtName.TabIndex = 1; //

// txtCno //

this.txtCno.Location = new System.Drawing.Point(96, 18); this.txtCno.Name = \"txtCno\";

this.txtCno.Size = new System.Drawing.Size(109, 21); this.txtCno.TabIndex = 0; //

// dataGView //

this.dataGView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dataGView.Location = new System.Drawing.Point(12, 107); this.dataGView.Name = \"dataGView\"; this.dataGView.RowTemplate.Height = 23;

this.dataGView.Size = new System.Drawing.Size(455, 200); this.dataGView.TabIndex = 1; //

// btnDelete //

this.btnDelete.Font = new System.Drawing.Font(\"新宋体\System.Drawing.GraphicsUnit.Point, ((byte)(134)));

this.btnDelete.ForeColor = System.Drawing.Color.OrangeRed; this.btnDelete.Location = new System.Drawing.Point(156, 325); this.btnDelete.Name = \"btnDelete\";

this.btnDelete.Size = new System.Drawing.Size(75, 23); this.btnDelete.TabIndex = 2; this.btnDelete.Text = \"删除\";

this.btnDelete.UseVisualStyleBackColor = true;

this.btnDelete.Click += new System.EventHandler(this.btnDelete_Click);

12

//

// btnChange //

this.btnChange.Font = new System.Drawing.Font(\"新宋体\System.Drawing.GraphicsUnit.Point, ((byte)(134)));

this.btnChange.ForeColor = System.Drawing.Color.OrangeRed; this.btnChange.Location = new System.Drawing.Point(268, 325); this.btnChange.Name = \"btnChange\";

this.btnChange.Size = new System.Drawing.Size(75, 23); this.btnChange.TabIndex = 3; this.btnChange.Text = \"保存\";

this.btnChange.UseVisualStyleBackColor = true;

this.btnChange.Click += new System.EventHandler(this.btnChange_Click); //

// Cancel //

this.Cancel.Font = new System.Drawing.Font(\"新宋体\12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));

this.Cancel.ForeColor = System.Drawing.Color.OrangeRed; this.Cancel.Location = new System.Drawing.Point(375, 325); this.Cancel.Name = \"Cancel\";

this.Cancel.Size = new System.Drawing.Size(69, 23); this.Cancel.TabIndex = 4; this.Cancel.Text = \"退出\";

this.Cancel.UseVisualStyleBackColor = true;

this.Cancel.Click += new System.EventHandler(this.Cancel_Click); //

// frmCourse //

this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(484, 382); this.Controls.Add(this.Cancel); this.Controls.Add(this.btnChange); this.Controls.Add(this.btnDelete); this.Controls.Add(this.dataGView); this.Controls.Add(this.Gbox); this.Name = \"frmCourse\";

this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = \"课程信息输入窗口\"; this.Gbox.ResumeLayout(false); this.Gbox.PerformLayout();

((System.ComponentModel.ISupportInitialize)(this.dataGView)).EndInit(); this.ResumeLayout(false);

}

13

#endregion

private System.Windows.Forms.GroupBox Gbox; private System.Windows.Forms.Button btnInsert; private System.Windows.Forms.Label laDept; private System.Windows.Forms.Label laName; private System.Windows.Forms.Label laSno;

private System.Windows.Forms.TextBox txtCredit; private System.Windows.Forms.TextBox txtName; private System.Windows.Forms.TextBox txtCno;

private System.Windows.Forms.DataGridView dataGView; private System.Windows.Forms.Button btnDelete; private System.Windows.Forms.Button btnChange; private System.Windows.Forms.Button Cancel; } }

14

6测试

6.1 用户登录测试

(1)测试功能:功能 (2)测试功能:登录 (3)测试步骤及输入: A.在文本框中输入相应信息。 B.点击登录即可看到提示信息。 C.点击重置可以清除相应信息。 (4)期待结果及输出 15

6.2课程信息测试

(1)测试功能:功能

(2)测试功能:增删改查课程 (3)测试步骤及输入:

A.在文本框中输入相应信息。 B.点击确定即可看到提示信息。 (4)期待结果及输出

主界面

16

录入课程图

17

7总结

在我做课程设计时,将书本上所学的知识尽可能地发挥到了实践中。经过需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施及数据库运营与维护6大阶段,我制作并运营成功了一个的以SQLSERVER 2010数据库为后台、以Microsoft Visual Studio 2015所制作的应用程序为前台。通过这次设计,我受益非浅,亲身体验了数据库设计的全过程,在实践中了解了数据库系统设计的步骤、流程以及思路,增长了在数据库设计方面的见识,我深刻认识到以前所学的基础课程的重要性,也使我们掌握了很多新知识,特别是一些课本之外的知识,体会到了理论知识和实践相结合的重要性。

18

8参考文献

[1] 王珊 萨师煊 .数据库系统概论 [M].高等教育出版社,2006.5 [2] Ying Bai .C#数据库编程实战经典 [M].清华大学出版社, 2011

[3] Fatrick LeBlanc .SQL Server 2012从入门到精通 [M]清华大学出版社,2014

19

因篇幅问题不能全部显示,请点此查看更多更全内容