学生成绩管理系统Word文档格式.docx
《学生成绩管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统Word文档格式.docx(29页珍藏版)》请在冰豆网上搜索。
第二章系统分析3
2.1提出问题3
2.2项目开发目标4
2.3系统功能描述4
2.4功能需求分析5
2.5可行性分析5
2.6系统的运行环境5
第三章系统总体设计6
3.1系统功能模块设计6
3.2子模块设计7
第四章数据库设计8
4.1数据库及表创建8
4.2数据库逻辑结构设计9
4.3数据库物理设计9
第五章系统详细设计11
5.1模型设计11
5.2窗体的建立13
第六章系统调试与测试17
6.1系统调试的目地17
6.2系统调试的结果17
第七章总结21
附录23
源代码23
参考文献34
第一章绪论
Visual意即可视的、可见的,指的是开发像Windows操作系统的图形用户界面的方法,它不需要编写大量代码去描述界面元素的外观和位置,只要把预先建立好的对象拖放到屏幕上相应的位置即可。
VisualC#是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序。
它简单易学、效率高,且功能强大可以与Windows专业开发工具SDK相媲美。
在VisualC#环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,以用动态链接库(DLL)、对象的链接与世隔嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。
随着版本的提高,VisualBasic的功能也越来越强。
并且以后,VisualC#推出了中文版,与前个版本相比,其功能有了很大提升。
SQL是英文StructuredQueryLanguage的缩写,意思为结构化查询语言,是访问数据库的标准语言。
作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,有着手工管理所无法比拟的优点。
例如:
查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学生成绩管理的效率,也是企业的科学化、正规化管理并与世界接轨的重要条件。
因此,开发这样一套成绩管理系统成为很有必要的事情。
学生成绩管理系统提供了强大的学生成绩管理功能,方便系统管理员对学生成绩等信息的添加、修改、删除、查询等操作。
目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,MicrosoftSQLServer,Access等都采用了SQL语言标准。
虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select,Insert,Update,Delete,Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。
在今天信息时代,这种传统的管理方法必然会被计算机为基础的信息管理系统所代替。
本系统主要信息流程为:
接受班级信息,学生成绩录入,维护学生成绩,并交于信息维护,再把成绩存入数据库中。
采用本系统,能够使整个系统内部所有信息的工作简化,提高工作效益。
由于采用统一的数据信息,使相关资料能够快速地找到所需的数据、资料及其它信息,使信息快速高效的运行。
第二章系统分析
2.1提出问题
随着社会的发展和经济时代的到来,管理信息系统在各行各业都占据着越来越重要的地位,特别是教育事业。
在经济发达的国家,许多教育机构,例如公办、私立、培训机构等,都投入了大量的资金,用来开发MIS系统(管理信息系统),使得自己在将来激烈的竞争中立于不败之地。
因此,开发一套能够为此提供规范化的事务管理、充足的信息和快捷的查询手段的学生信息管理系统是非常必要的。
当今时代是飞速发展的信息时代,在各行各业中离不开信息管理处理,这正是计算机被广泛应用于管理系统的原因。
计算机的最大好处在于利用它能够进行信息管理。
使用计算机进行管理控制,不仅提高了工作效率,而且大大的提高了其安全性,尤其对于复杂的管理,计算机能够充分发挥它的优越性。
管理系统是进行信息的采集、存储、加工、维护和使用的系统,它是随着管理科学和技术科学的发展而形成的。
学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统能为用户提供充足的管理手段,对学生来说可以轻松的查阅自己在校的成绩及排名。
2.2项目开发目标
学生信息管理系统是面向教育部门的学生管理事务,包括学生信息管理,学生成绩管理等工作,是利用计算机进行集中管理而开发的系统。
该系统是以SQL2008为后台数据库进行开发的学生信息管理系统,力求与实际相结合,具有查询、管理等功能,使教育的管理趋于计算机化,使之更加方便、快捷以提高工作效率。
根据学生信息管理的需求和特点,该系统实施后,应达到以下目标:
(1)灵活地运用表格输入数据,使信息传递更快捷;
(2)系统采用人机对话方式,界面美观友好、数据存储安全可靠;
(3)键盘操作,快速响应;
(4)实现各种信息的添加、删除、修改、查询等;
(5)系统运行稳定、安全可靠。
2.3系统功能描述
随着计算机技术的飞速发展,当今社会快速向信息化社会前进,信息自动化的作用也越来越大,从而使人们从繁杂的事务中解放出来,提高了工作的效率。
学生信息管理系统适合学校管理人员及教师对学生成绩的管理,也适合学生对成绩的查询,主要包括以下几个功能。
录入:
对学生的个人信息和成绩的录入。
修改:
对学生的成绩进行修改。
删除:
按学号删除学生的个人信息。
查询:
按学生学号查询或是按班级进行查询。
2.4功能需求分析
本课题根据学生信息管理综合分析,便出于方便管理考虑,将学生信息管理系统的功能总结起来,共需要实现以下几个方面功能:
①管理学生信息:
管理所有学生的基本信息,对学生信息的操作包括添加、查询;
可以根据各种条件查询出需要的信息,比如修改,可以通过学生学号查询出学生的基本信息,然后通过对需要修改项进行修改并保存修改后的结果存入数据库的学生表中。
②学生成绩信息:
登记所选课程的成绩;
可根据学号查询出选课信息与成绩。
通过以上功能的设计与实现,实现学生信息管理系统的基本功能。
2.5可行性分析
①技术可行性:
学生成绩管理系统是顺应高校需求设计的。
采用C/S三层体系结构,表示层和业务层用C#编程语言,数据层用ADO.NET。
后台数据存储用SQLServer2008数据库,因此在技术上是可行的。
②管理可行性:
本系统适用于教师及管理人员对学生成绩信息的更新与删除,同时,也适用于学生查询自己的课程成绩。
因此,在管理上是可行的。
2.6系统的运行环境
此系统,代码使用C#语言编写,数据库管理系统采用SQL2008数据库管理系统,在Windows2000/XP/win7系统运行下。
第三章系统总体设计
3.1系统功能模块设计
背景
图3.1系统功能模块图
3.2子模块设计
1.系统登录模块
系统登录模块用按钮控件去实现对该系统的登录。
其中用户是输入账号,账号通过与数据库的链接来获取的,同时,密码也保存在数据库中,密码显示设置为“*”,提高了密码的安全性。
其中数据库的设置极为重要。
2.成绩录入模块
成绩录入模块主要通过调用数据库的INSERT语句来进行成绩的插入,来实现成绩的综合管理。
3.成绩修改模块
成绩修改模块主要通过调用数据库的UPDATE语句来进行成绩的更新,避免成绩出现差错,实现成绩的综合管理。
4.成绩查询模块
成绩查询模块可分成两部分,一部分是通过学号去查询,可单独查询某个学生的成绩;
另一部分是通过班级的查询可以知道班级的成绩,方便成绩的浏览。
5.成绩删除模块
删除学生成绩模块通过对学号的查询来删除某一个学生的成绩和信息
6.学生信息录入模块
7.学生信息查询模块
8.关于模块
第四章数据库设计
4.1数据库及表创建
(1)启动SQL2008Server,右击“数据库”点击“新建数据库”,然后在弹出的“数据库属性”对话框中可键入数据库名为“赵国晶”及其它其它信息。
(2)数据库创建完毕后,点击可打开。
右击“表”选择“新建表”,可以进行表的创建以及进行相关的表属性设置。
创建完表后,右击对应表名,然后依次—“打开表”—“返回所有行”,可对表进行添加、修改、插入、删除等相应编辑操作,所建的表,分别如图所示
学生信息表
课程表
成绩表
4.2数据库逻辑结构设计
逻辑设计的目的是把概念数据模型转化为数据库管理系统可以处理的逻辑模型。
也即将由ER图表示的概念模型转换为DBMS通用的逻辑模型,如关系模型,然后对其进行优化。
以关系模型为目标的逻辑结构设计方法是将ER实体图中概念模型映射为关系模型,并且包括一组关系定义,映射的步骤如下:
(1)把ER实体图中的每个实体变换为一个关系模型。
(2)变换每个关系:
多对多模型需要加一个单独的关系模型;
而一对一的或者一对多的联系可用在实体中增加属性(此处为外键)来模型化。
(3)ER图中的属性可转换为关系的属性。
4.3数据库物理设计
4.3.1系统中的数据表如下所示:
(1)学生信息表记录学生学号、性别、姓名、班级、出生年月、家庭住址、邮政编码、联系电话、入学日期等基本信息,表中的各个字段以及各个字段的说明如表4.1所示:
表4-1
学生信息表
字段名称
数据类型
字节数
说明
学号
char
10
主键
性别
允许空
姓名
班 级
联系方式
备 注
(2)学生成绩表记录姓名、学号、成绩1、成绩2、成绩3和成绩4等相关的成绩,表中各个字段以及各个字段的说明如表4.2所示:
表4-2学生成绩信息表
课程号
成绩
不为空
第五章系统详细设计
5.1模型设计
学生信息管理系统概念结构设计,是在系统的需求分析、数据流程图和数据字典基础上的抽象,结合联系模型的设计方法,进行如下概要结构设计。
学生基本信息
图4.1.1学生信息管理业务流程图
学生信息管理系统
成绩删除
成绩查询
成绩修改
成绩录入
学生信息查询
学生信息录入
图4.1.2系统功能模块图
输入查询条件
图4.1.3学生信息管理活动图
输出
图4.1.4学生信息管理数据流程图
数据库
图4.1.5学生信息管理用例图
5.2窗体的建立
5.2.1登录界面的建立
在C#程序设计中,登录界面主要负责应用程序的登录管理功能,通过来它调用主界面。
因此,登录界面应该具有操作性好、界面清晰、使用户能够很方便进入登录操作。
用户登陆窗体主要由文本框及命令按钮组成,用户键入用户名及密码后点击“确定”按钮系统会通过连接并进行数据的比较,如果该用户及密码正确则会进行系统跳转进行主界面,否则会提示用户出错,重新输入用户名及密码,次数无限制。
默认用户名为:
赵国晶,默认密码为:
123123
系统登录界面相应代码:
privatevoidbutton1_Click(objectsender,EventArgse)
{stringstr1="
DataSource=acer-pc;
InitialCatalog=赵国晶;
IntegratedSecurity=True"
;
SqlConnectioncon1=newSqlConnection(str1);
//打开数据库连接
stringsql="
select用户名,密码from用户登录where用户名='
"
+comboBox1.Text+"
'
and密码='
+textBox2.Text+"
SqlCommandcom1=newSqlCommand(sql,con1);
con1.Open();
SqlDataReaderada=com1.ExecuteReader();
if(ada.Read())
{
Mainlons1=newMain();
lons1.Show();
con1.Close();
this.Visible=false;
//进入Main窗体时不显示Form1窗体}
else{
MessageBox.Show("
请输入正确的密码!
);
textBox2.Focus();
}}
privatevoidbutton2_Click(objectsender,EventArgse)
{this.Close();
5.2.2主界面的建立
在C#程序设计中,主界面负责应用程序的主界面,由它调用其它模块。
因此,主界面应该具有操作性好、界面清晰、使用户能够很方便地找到所需功能的特点。
本系统的主界面部在相应的系统菜单组成,用户只需要点击相应的菜单使可调出对应的系统模块。
主界面的代码为:
privatevoid学生信息录入ToolStripMenuItem_Click(objectsender,EventArgse)
{学生信息录入a=new学生信息录入();
a.MdiParent=this;
a.Show();
}
privatevoid学生信息查询ToolStripMenuItem_Click(objectsender,EventArgse)
{学生信息查询a=new学生信息查询();
a.Show();
privatevoid退出ToolStripMenuItem_Click(objectsender,EventArgse)
{Close();
privatevoid成绩录入ToolStripMenuItem_Click(objectsender,EventArgse)
{成绩录入a=new成绩录入();
privatevoid成绩查询ToolStripMenuItem_Click(objectsender,EventArgse)
{成绩查询a=new成绩查询();
privatevoid成绩修改ToolStripMenuItem_Click(objectsender,EventArgse)
{成绩修改a=new成绩修改();
privatevoid成绩删除ToolStripMenuItem_Click(objectsender,EventArgse)
{成绩删除a=new成绩删除();
privatevoid关于ToolStripMenuItem_Click(objectsender,EventArgse)
{关于a=new关于();
privatevoidtoolStripButton5_Click(objectsender,EventArgse)
{OpenFileDialogbeijing=newOpenFileDialog();
beijing.Filter="
jpg图片|*.jpg|bmp图片|*.bmp"
if(beijing.ShowDialog()==DialogResult.OK)
{this.BackgroundImage=System.Drawing.Bitmap.FromFile(beijing.FileName);
}}
privatevoidtoolStripButton1_Click(objectsender,EventArgse)
{成绩录入ToolStripMenuItem.PerformClick();
}
privatevoidtoolStripButton2_Click(objectsender,EventArgse)
{成绩删除ToolStripMenuItem.PerformClick();
privatevoidtoolStripButton3_Click(objectsender,EventArgse)
{成绩修改ToolStripMenuItem.PerformClick();
privatevoidtoolStripButton4_Click(objectsender,EventArgse)
{成绩查询ToolStripMenuItem.PerformClick();
privatevoidMain_Load(objectsender,EventArgse)
{this.toolStripStatusLabel1.Text=System.DateTime.Now.ToString();
}}}
第六章系统调试与测试
6.1系统调试的目地
软件测试是为了发现错误而执行程序的过程,其目的在于以最少的时间和人力系统地找出软件中潜在的各种错误和缺陷。
6.2系统调试的结果
(1)登录界面的调试结果
(2).成绩录入调试
(3).成绩查询调试
(4).成绩删除调试
(5).成绩修改调试
(6).学生信息录入调试
(7).关于对话框调试
第七章总结
在本次课程设计中,我体会颇多,学到很多东西。
我懂得了如何在.NET的框架下编写可视化界面的应用程序,利用设计这次编写文本编辑器的机会,我加强了对C#的认识,复习了自己以前的知识,自己的逻辑思考能力也提高不少。
从而对C#又有了更深入的认识!
在这次课程设计中,我还懂得了程序开发的一些比较重要的步骤,比如需求分析、概要设计。
总之,通过这次课程设计,我收获颇丰,相信会为自己以后的学习和工作带来很大的好处。
最重要的还是激发了我编程的兴趣和热情,让我从一个只懂理论变成了能做一些小型程序,让我对编程更加热爱了。
整体地评价这次课程设计,我认为收获很大,正如上面所说的那样,通过课程设计,既复习了以前的旧知识,又学到了一些新的知识;
设计增强了我们用所学知识去解决具体问题的能力,进一步培养了我们独立思考问题和解决问题的能力。
特别是学会如何运用.NET集成开发环境中如何调试程序的方法。
当然,老师的悉心指导和同学的帮助也是不可忽视的,在此感谢本次课程设计中所有辅导老师对我的关心和帮助,诚心诚意感谢他们对我的鼓励与教导,是她们在我迷茫的时候给了我些许提示,激发了我编程的灵感;
还有,我在此也十分感谢本次课程设计中同学们对我的帮助,尽管本次不是团队合作,但是他们也给了我不少的提示和帮助,是他们让我有信心坚持做下来,在此感谢他们!
通过完成本次面向对象程序设计的任务,使我熟练和掌握了这学期所学的有关C#中的一些主要知识点和应用点,如类的定义,类的实现,对象的定义,类的继承等等。
可以所学有所学,所有所用,不至于自己所学知识由于没有经历可用过程,而放弃对它的兴趣。
此次,应用程序的设计和创建,经历了平时在课堂中和考试中,决不会有的重重难题和问题。
而这些问题,又都是课本上很少提到的、更深一层的知识领域和应用领域。
这些问题,并不是我们平时只靠课本,就可以轻易解决的。
所以,锻炼了我们面对难题,自己思索,自己探索,自己查资料发现问题、解决问题的独断能力。
“实践是检验真理的唯一标准”。
没有实践,就不会发现和深刻体会它的真实所在。
只有通过检验的真理,在自己的心里,才会认可它的真实性。
面向对象程序设计的完成,使我们懂得了真理的重要性,理论和实际的相结合,才能真正把握所学和所掌握的知识。
课程设计结束了,但我不会忘记在这次课程设计中我所得到的。
我深深的体会到了这几句话:
认真做事只是把事情做对,用心做事才能把事情做好。
把每一件简单的事情做好就是不简单,把第一件平凡的事情做好就是不平凡。
在以后的学习中我会不断的在实际中应用这几句话,我要不断的总结,不断的改进,不断的努力,使自己的成绩提高。
在学习专业课的时候要注意理论联系实际。
注意将课本上的知识应用到日常的操作中,真正做到学以致用。
只有这样,才能做到目的明确,才能有足够的学习动力。
附录
源代码
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.SqlClient;
namespace学生成绩管理信息系统
{
publicpartialclassForm1:
Form//登录界面
publicForm1()
InitializeComponent();
privatevoidbut