学生成绩管理系统 实践报告.docx

上传人:b****8 文档编号:30668315 上传时间:2023-08-19 格式:DOCX 页数:102 大小:431.28KB
下载 相关 举报
学生成绩管理系统 实践报告.docx_第1页
第1页 / 共102页
学生成绩管理系统 实践报告.docx_第2页
第2页 / 共102页
学生成绩管理系统 实践报告.docx_第3页
第3页 / 共102页
学生成绩管理系统 实践报告.docx_第4页
第4页 / 共102页
学生成绩管理系统 实践报告.docx_第5页
第5页 / 共102页
点击查看更多>>
下载资源
资源描述

学生成绩管理系统 实践报告.docx

《学生成绩管理系统 实践报告.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统 实践报告.docx(102页珍藏版)》请在冰豆网上搜索。

学生成绩管理系统 实践报告.docx

学生成绩管理系统实践报告

《数据库高级应用》课程设计

 

项目名称:

高校成绩管理系统

所在班级:

物联网工程

小组成员:

李龙(019)、刘赟(025

指导教师:

高峰

起止时间:

11月16日——12月20日

项目基本信息

项目名称

高校成绩管理系统

项目简介

背景分析--需求分析

管理信息系统正在向着网络化、智能化和集成化等趋势发展。

学生成绩管理系统是为了更好的管理学生考试成绩而开发的数据管理软件。

它对于一个学校是不可缺少的重要部分,它的内容对于学校的决策者和管理者来说都至关重要。

学生成绩管理管理系统为用户提供充足的信息和快捷的查询手段,实现学生基本信息、成绩的录入,删除,查询,维护以及成绩的统计分析等几方面的功能,是现实问题的迫切要求。

系统简介

本系统开发的总体任务是实现学生成绩管理的系统化、规范化、自动化。

达到提高学生成绩管理效率的目的。

与传统管理方法相比有明显的优点:

查找方便,可靠性高,保密性好,成本低。

彻底改变了以前繁杂的管理模式,实现全面的、相对集中的、职能化的信息综合管理。

计算机被用到信息管理系统的环境正是适应了当今时代飞速发展的信息时代。

人们深刻的认识到了计算机功能的强大,对于复杂的信息管理,计算机充分发挥着它的优越性。

检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低,这些优点极大地减轻了学院教学人员的工作量,缩小开支,提高了学生档案管理的效率和准确性,能够合理的安排时间,学生能够尽快的知道自己的考试成绩。

同时,学生管理系统的应用也为今天的教育在未来市场的竞争力有所提高。

小组成员

李龙、刘赟

任务分工

李龙:

前台界面,代码编写以及窗体设计

刘赟:

登录界面以及主窗体,代码编写和窗体设计

 

问题描述及分析

1.1背景

21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。

使原本的旧的管理方法越来越不适应现在社会的发展。

许多人还停留在以前的手工操作。

这大大地阻碍了人类经济的发展。

为了适应现代社会人们高度强烈的时间观念,学校信息管理系统软件为学校办公室带来了极大的方便。

1.2目的

编写本文档的目的在于,让教务管理人员和任课教师了解学生成绩管理系统工作内容、参与的人员分工情况、课程实施、考试安排、学习计划等方面的具体情况。

详细的介绍了学生信息管理系统的开发过程,主要涉及到的工作如下:

系统的需求分析、系统的总体设计、系统的概念设计、系统各模块的详细设计、系统运行与测试。

设计概述

根据需求把整个系统分化成不同的模块,每个模块完成一个特定的子功能。

把这些模块结合起来组成一个整体,逐一实现各个功能。

数据备份

学生信息化处理系统是一个具有复杂功能、业务化程度高、数据处理和存储量大等特点的应用系统,对业务数据的可靠性有很高的要求。

为了有效防范和抵御诸如人为、自然灾害、供电故障等可能遭遇的风险隐患,必须采用数据容灾备份措施,以确保减灾应用数据产品的安全性、可靠性和完整性。

同时需要考虑建设成本、数据安全性等因素,要具有安全性高、数据恢复速度快、运行管理方便等特点。

●数据字典—图(数据流图、E-R图、结构图、流程图)

1.3数据字典

定义:

数据字典是数据库的重要部分。

它存放有数据库所用的有关信息,对用户来说是一组只读的表。

数据字典通常包括数据项,数据结构,数据流,数据存储和处理过程等五个部分。

数据字典内容包括:

数据库中所有模式对象的信息,如表、视图、簇、及索引等。

数据字典是一组表和视图结构。

它们存放在SYSTEM表空间中。

--老师表:

T_teacher—

--学生表:

S_student—

--课程表:

C_course—

--成绩表:

S_score—

1.4

数据流图

系统总体结构及功能模块划分

经过对系统的需求分析,学生信息管理系统主要划分为三个部分:

学生信息查询,学生信息管理,学生成绩录入三个功能模块。

如图2.2.1系统的总体结构。

 

 

图2.2.1系统的总体结构

2.1学生信息查询模块

学生信息查询:

学生可以根据学号、姓名进行查询。

如图2.2.2学生信息查询模块结构。

 

图2.2.2学生信息管理模块结构

2.2学生信息管理模块

学生信息管理:

主要是用于学生信息更新、插入、删除,如图3.2.3学生管理模块结构。

 

 

图2.2.3学生信息管理模块结构

2.3系统数据库概念结构设计

根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体,及它们之间的关系,为后面的逻辑结构设计打下基础。

2.3.1系统E-R图

系统E-R图可以将各个实体之间的关系显示出来,将各个实体间的属性依赖表示明白。

如图2.3.1系统E-R图结构。

图2.3.1系统E-R图结构

2.4功能模块及结构描述

重点模块的实现(文字描述、抓图、界面)

综合以上分析,要实现上面的所有功能模块,主要设计表如下:

用户表(usedata)

成绩表(SC)

课程表(C)

学生表(S)

主要流程描述流程图、系统的实现过程(三层结构、)设计的过程

3.1数据准备、窗体设计、代码设计:

界面层(UI)、实体访问层、数据访问层

概述:

详细设计阶段的根本目标是确定应该怎样具体的实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。

3.2系统程序流程图

程序流程图又称为程序框图,它是历史悠久使用最广泛的描述软件设计的方法。

它可将整个程序的总体流程清楚明白的显示出来。

如下图:

系统总流程图结构图

系统总体流程图

3.3系统主要功能模块简介

3.4系统登录

用户凭借用户名及密码登录,成功登录后进行操作。

管理员登录管理学生、课程及成绩信息;学生登录查询信息、选课、查询成绩等;

用户界面如下图:

用户登录界面所示。

用户登录主窗体界面

3.5学生信息查询模块

学生信息查询:

在程序主界面(如下图:

选择窗口)

学生可以根据班级、学号、姓名进行查询。

学生可以只用一种条件进行信息查询,也可以多个条件查询,显示学生的更详细信息(如下图:

查询条件窗口)。

图3.2

3.6学生信息管理模块

学生信息管理:

通过右击程序主界面的相应记录的菜单如:

修改学生信息(如图修改信息窗口)、删除信息(如图删除信息窗口)。

更新时如果输入的学号不存在,可选择是否添加学生信息。

通过程序主界面的新建信息记录可添加学生信息(如图3.3.7添加信息窗口)。

修改信息窗口

 

添加信息窗口

3.7使用说明(配置信息:

账号、口令、数据库安全等)

管理员老师和学生的账号不同,口令不同。

是为了实现数据库的安全。

不同的身份账号登录,会有不同的内部口令,实现功能也就不相同。

老师即管理员登录可修改内部数据、信息;实现学生成绩录入、学生成绩更改;学生课程录入、课程信息修改等等;

学生只能修改本身的注册信息;选择自己的课程;查看自己的成绩情况;修改自己的密码等等;确保数据安全。

问题及解决方法

问题:

验证码的功能还需要进一步的修改

解决办法:

图书馆查找资料以及上网搜寻

课程设计总结

本学期的数据库课程设计结束了,在老师和同学的帮助下,我组基本完成了本系统的设计。

按照数据库程序设计的要求,从需求分析,概念设计,总体设计,详细设计,系统测试等各个步骤,分步完成系统的各项任务,实现了系统中的学生信息查询,学生信息更新,学生信息添加,课程录入,课程编辑,选课,密码修改等模块的功能。

下面是我们的体会:

1、巩固和加深了对C#的理解,提高综合运用本课程所学知识的能力。

2、培养了我选用参考书,查阅手册及文献资料的能力。

培养独立思考,深入研究,分析问题、解决问题的能力。

3、通过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。

根据我在课程设计中遇到的问题,我将在以后的学习当中注意以下几点:

1、认真上好专业实验课,多在实践中锻炼自己。

2、写程序的过程中要考虑周到,严密。

3、在做设计的时候要有信心,有耐心,切勿浮躁。

4、认真的学习课本知识,掌握课本中的知识点,并在此基础上学会灵活运用。

5、在课余时间里多写程序,熟练掌握在调试程序的过程中所遇到的常见错误,以便能节省调试程序的时间。

参考文献

VisualC#程序设计教程(第二版)

数据库系统概论(第四版)

源代码

登录窗体界面

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Text;

usingSystem.Windows.Forms;

usingSystem.Data.SqlClient;

usingSystem.IO;

namespaceMyscore

{

publicpartialclasslogin:

Form

{

//publicUserClassmyclass1=newUserClass();

publicstaticstringss;

publiclogin()

{

InitializeComponent();

}

 

privatevoidForm1_Load(objectsender,EventArgse)

{

this.login_name.Focus();

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

stringuserName=login_name.Text;

stringpassword=pwd.Text;

strings="DataSource=.;InitialCatalog=Myscore;IntegratedSecurity=True";

SqlConnectionconn=newSqlConnection(s);

try

{

conn.Open();

if(login_name.Text==""||pwd.Text=="")

{MessageBox.Show("用户名和密码不能为空!

请输入!

");}

else

{

Stringsql=string.Format("selectcount(*)fromSy_Usewhereuname='{0}'andupwd='{1}'",userName,password);

SqlCommandcmd=newSqlCommand(sql,conn);

SqlDataReaderdr=cmd.ExecuteReader();

if(dr.Read())

{

//UserClass.GlobAdminName=login_name.Text;

//UserClass.GlobalPower=dr[4].ToString();

//UserClass.GlobalCollage=dr[5].ToString();

//UserClass.GlobaCollage_code=dr[3].ToString();

dr.Close();

conn.Close();

this.Hide();

Score_Mainfr=newScore_Main();

fr.Show();

}

else

{

pwd.Text="";

MessageBox.Show("用户名或密码不正确!

");

return;

}

}

 

}

catch(Exceptionex)

{

MessageBox.Show(ex.Message,"操作数据库出错",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);

this.Tag=false;

}

finally

{

conn.Close();//关闭数据库连接

}

}

privatevoidbutton2_Click(objectsender,EventArgse)

{

if(MessageBox.Show("您确定要退出本登陆吗?

","退出",MessageBoxButtons.YesNo)==DialogResult.Yes)

Application.Exit();

}

privatevoidtimer1_Tick(objectsender,EventArgse)

{

if(dtPicker.Left>=this.Width)

{

dtPicker.Left=0;

}

dtPicker.Left+=1;

}

privatevoiddtPicker_ValueChanged(objectsender,EventArgse)

{

timer1.Enabled=true;

timer1.Start();

}

privatevoidlbllink_LinkClicked(objectsender,LinkLabelLinkClickedEventArgse)

{

this.Hide();

us_zhucefs=newus_zhuce();

fs.ShowDialog();

}

}

}

主窗体界面

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Text;

usingSystem.Windows.Forms;

usingSystem.Data.SqlClient;

namespaceMyscore

{

publicpartialclassScore_Main:

Form

{

publicScore_Main()

{

InitializeComponent();

}

 

privatevoidForm1_Load(objectsender,EventArgse)

{

}

 

privatevoid记事本ToolStripMenuItem_Click(objectsender,EventArgse)

{

System.Diagnostics.Process.Start("notepad.exe");

}

privatevoid计算器ToolStripMenuItem_Click(objectsender,EventArgse)

{

System.Diagnostics.Process.Start("calc.exe");

}

privatevoidword文档ToolStripMenuItem_Click(objectsender,EventArgse)

{

System.Diagnostics.Process.Start("WINWORD.EXE");

}

privatevoidexcel表格ToolStripMenuItem_Click(objectsender,EventArgse)

{

System.Diagnostics.Process.Start("EXCEL.EXE");

}

privatevoid修改学生作息ToolStripMenuItem_Click(objectsender,EventArgse)

{

}

privatevoid层叠排列ToolStripMenuItem_Click(objectsender,EventArgse)

{

this.LayoutMdi(System.Windows.Forms.MdiLayout.Cascade);

//层叠排列

}

privatevoid垂直平铺ToolStripMenuItem_Click(objectsender,EventArgse)

{

this.LayoutMdi(System.Windows.Forms.MdiLayout.TileVertical);

//垂直平铺

}

privatevoid水平平铺ToolStripMenuItem_Click(objectsender,EventArgse)

{

this.LayoutMdi(System.Windows.Forms.MdiLayout.TileHorizontal);

//水平平铺

}

privatevoid退出ToolStripMenuItem_Click(objectsender,EventArgse)

{

System.Windows.Forms.DialogResultdr;

dr=MessageBox.Show(this,"您确定要退出本系统吗?

","退出",MessageBoxButtons.YesNo,MessageBoxIcon.None);

if(dr==System.Windows.Forms.DialogResult.Yes)

{

this.Close();

Application.Exit();

}

}

 

privatevoid添加学生信息ToolStripMenuItem_Click(objectsender,EventArgse)

{

stu_addfm=newstu_add();

fm.MdiParent=this;

fm.Show();

}

privatevoid修改学生信息ToolStripMenuItem_Click(objectsender,EventArgse)

{

stu_modfm=newstu_mod();

fm.MdiParent=this;

fm.Show();

}

privatevoid增加课程ToolStripMenuItem_Click(objectsender,EventArgse)

{

skc_addfm=newskc_add();

fm.MdiParent=this;

fm.Show();

}

privatevoid修改课程ToolStripMenuItem_Click(objectsender,EventArgse)

{

skc_modfm=newskc_mod();

fm.MdiParent=this;

fm.Show();

}

privatevoid成绩录入ToolStripMenuItem_Click(objectsender,EventArgse)

{

scj_addfm=newscj_add();

fm.MdiParent=this;

fm.Show();

}

privatevoid成绩修改ToolStripMenuItem_Click(objectsender,EventArgse)

{

scj_modfm=newscj_mod();

fm.MdiParent=this;

fm.Show();

}

privatevoid学生信息查找ToolStripMenuItem_Click(objectsender,EventArgse)

{

stu_findfm=newstu_find();

fm.MdiParent=this;

fm.Show();

}

privatevoid学生成绩查找ToolStripMenuItem_Click(objectsender,EventArgse)

{

scj_findfm=newscj_find();

fm.MdiParent=this;

fm.Show();

}

privatevoid课程信息查找ToolStripMenuItem_Click(objectsender,EventArgse)

{

skc_findfm=newskc_find();

fm.MdiParent=this;

fm.Show();

}

 

privatevoidtoolStripMenuItem1_Click(objectsender,EventArgse)

{

pwd_modfm=newpwd_mod();

fm.MdiParent=this;

fm.Show();

}

privatevoid管理员设置ToolStripMenuItem_Click(objectsender,EventArgse)

{

admin_addfm=newadmin_add();

fm.MdiParent=this;

fm.Show();

}

privatevoid添加学生信息ToolStripMenuItem_Click_1(objectsender,EventArgse)

{

stu_addfm=newstu_add();

fm.MdiParent=this;

fm.Show();

}

privatevoidmenuStrip1_ItemClicked(objectsender,ToolStripItemClickedEventArgse)

{

}

protectedoverridevoidOnClosing(CancelEventArgse)

{

base.OnClosing(e);

e.Cancel=true;

if(MessageBox.Show("您确定要退出本系统吗?

","退出",MessageBoxButtons.YesNo)==DialogResult.Yes)

Application.Exit();

}

privatevoidScore_Main_Load(objectsender,EventArgse)

{

if(UserClass.GlobalPower=="1")

{

menuStrip1.Items[7].Visible=false;

}

}

privatevoid

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1