1、. .目录第一章 系统概述11.1 系统开发的背景11.2系统开发的意义1第二章 系统需求分析22.1系统功能要求22.2 需求分析概述22.3 系统层次划分32.4 系统数据流图32.5 数据字典4第三章 系统总体设计目标103.1 系统总体设计目标103.2 系统概念设计103.2.1 概念模式E-R 图103.2.2 关系模式123.2.3 关系模式规化说明133.2.4 系统数据库表构造13第四章 数据库系统实现164.1系统实现工具简介164.2 学生信息管理系统数据库实现16完毕语26参考文献27. .word.zl. . 第一章 系统概述1.1 系统开发的背景 随着学校规模的不断
2、扩大,学生数量急剧增加,有关学生的各种信息也成倍增加。面对庞大的信息量,传统的人工式管理会导致学生信息管理上的混乱,人力与物力过多浪费,管理费用的增加,从而使学校管理人员的负担过重,影响整个学校的运作和控制管理,因此,必须制定一套合理、有效,规和实用的学生信息管理系统,对学生信息进展集中统一的管理。通过这样的系统,可以做到信息的规管理、科学统计和快速的查询,从而减少管理面的工作量。另一面,IT产业和Internet获得了飞速开展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。提高学生信息管理的工作效率,作到信息的规管理,科学统计和快速查询
3、,让该系统更好的为学校,社会效劳。1.2系统开发的意义学生信息管理作为计算机应用的一个分支,有着手工管理无法比拟的优点,如检索迅速、查找便、可靠性高、存储量大、XX性好、寿命长、本钱低等。这些优点能够极大地提高学生信息管理的效率。因此,开发一套能够为用户提供充足的信息和快捷的查询手段的学生信息管理系统,将是非常必要的,也是十分及时的。通过对管理系统模型的研究,提出一套构造学生信息管理系统模块的法,并利用数据库,信息系统分析学的知识,结合其它学校管理业务知识,建立起相关数据模型,利用面向对象开发工具对其进展设计与开发,建立一套有效的学生信息管理系统,可以减少工作量,将管理工作科学化,规化,提高学
4、校管理的工作质量和工作效率。第二章 系统需求分析2.1系统功能要求主要功能:(1) 学生信息管理:对学生根本信息的增加、修改和删除(2) 学生查询:对学生根本信息和成绩的查询(3) 学生选课:用于学生选择课程学习(4) 学生成绩:对学生各科成绩的添加、修改和删除等管理(5) 打印:用来打印学生的根本信息和成绩2.2 需求分析概述随着学校的普及和人们文化水平的提高,高效的教学管理系统越来越广泛应用于各类信息化学校。学生学籍管理系统要用性强、使用便、效率高和平安可靠等特点。经分析我认为学生信息管理系统的具体要求为:1、能全面管理学生的各类信息,如学生信息管理,学生查询,学生选课,学生成绩和打印等五
5、项功能。2、通过使用计算机能便的维护包括插入、删除、修改各信息表3、能便的实现基于多个表的连接查询4、系统具有操作便、简捷等特点因而,所开发的管理系统正是围绕以上几个面进展的,在开发过程中充分考虑到本系统的应用特点,并进展了大量的检验,证明其确实到达了设计的要求。2.3 系统层次划分系统层次划分如图2.1所示根本信息增加成绩查询根本信息管理打印学生成绩管理学生选课学生查询根本信息删除成绩删除成绩修改成绩添加根本信息查询根本信息修改学生信息管理系统 图2.1 系统层次划分图2.4 系统数据流图数据流图是在对系统分析调查的根底上,以系统的科学性、管理的合理性、技术的可行性角度出发,将信息处理功能和
6、彼此之间的联系自顶向下、逐层分解,从逻辑上准确地描述应具有的数据加工功能、数据输入、数据输出、数据存储及数据的来源和去向。学生信息管理系统经过划分出各子系统及其各自的功能,以及相互联系,绘制出数据流图如图2.2所示: P1F2 P6查询信息 处理录入学生成绩学生成绩表学生 S-01 输入 输出 P2系统管理人员 请求 结果 正确信息 添加修改信息处理 P4 选课 请求 S-02选课处理 P5 删 删 请求结果录入学生信息 除 除 F3 请 结F1 P3课程存储 求 果 学生信息根本表删除信息处理 图2.2 系统数据流程图2.5 数据字典(1) 数据流的描述 数据流编号:D01 数据流名称:输入
7、请求 简述:向系统管理人员提交输入请求 数据流来源:查询信息管理 数据流去向:系统管理人员 数据项组成:学生XX+学号+请求信息 数据流量:约20/日 顶峰流量:约50/日 数据流编号:D02 数据流名称:输出结果 简述:向查询信息处理输出结果 数据流来源:系统管理人员 数据流去向:查询信息处理 数据项组成:学生XX+学号+查询信息 数据流量:约20/日 顶峰流量:约50/日 数据流编号:D02 数据流名称:请求结果 简述:向系统管理人员提交请求结果 数据流来源:添加修改信息处理模块 数据流去向:系统管理人员 数据项组成:学生XX+学号+请求结果 数据流量:约20/日 顶峰流量:约50/日 数
8、据流编号:D04 数据流名称:正确信息 简述:向添加修改信息处理模块输出正确信息 数据流来源:系统管理人员 数据流去向:添加修改信息处理模块 数据项组成:学生XX+学号+正确信息 数据流量:约20/日 顶峰流量:约50/日 数据流编号:D05 数据流名称:删除请求 简述:向系统管理人员提交信息删除请求 数据流来源:删除信息模块 数据流去向:系统管理人员 数据项组成:学生XX+学号+删除请求 数据流量:约20/日 顶峰流量:约50/日 数据流编号:D06 数据流名称:删除结果 简述:向删除信息处理模块输出删除结果 数据流来源:系统管理人员 数据流去向:删除信息处理模块 数据项组成:学生XX+学号
9、+删除结果 数据流量:约20/日 顶峰流量:约50/日(2) 处理逻辑的描述 处理逻辑编号:P1 处理逻辑名称:查询信息处理 简述:学生对自己的根本信息和成绩进展查询 输入的数据流:输出结果 处理描述:根据管理人员输出结果使用户可以查询所需要的信息 输出的数据流:输入请求 处理频率:5次/日 处理逻辑编号:P2 处理逻辑名称:添加、修改信息处理 简述:通过请求结果对学生的根本信息和成绩进展添加、修改操作 输入的数据流:请求结果 处理描述:完善学生的根本信息和成绩的管理,使之更准确有效 输出的数据流:正确信息 处理频率:5次/日处理逻辑编号:P3 处理逻辑名称:删除信息处理 简述:通过请求结果对
10、学生的根本信息和成绩删除操作 输入的数据流:删除请求 处理描述:对于错误信息或者失效信息进展删除操作 输出的数据流:删除结果 处理频率:5次/日 处理逻辑编号:P4 处理逻辑名称:选课处理 简述:学生根据自己的时间和喜好对课程进展选择性学习 处理描述:完成学生的课程选择 处理频率:5次/日 处理逻辑编号:P5 处理逻辑名称:录入学生信息 简述:将学生的根本信息录入该系统 处理描述:对学生的信息进展录入 处理频率:5次/日 处理逻辑编号:P6 处理逻辑名称:录入学生成绩 简述:将学生的考试成绩录入该系统 处理描述:对学生的成绩进展录入 处理频率:5次/日 (3)数据存储的描述数据存储编号:F1
11、数据存储名称:学生信息根本表 简述:包含学生所有的根本信息 数据存储组成:学生XX+学生学号+性别+年龄+出生年月+XX+籍贯+政治面貌+社会关系+家庭住址+联系式 关键字:学生学号+XX 相关处理:P2,P3,P5数据存储编号:F2 数据存储名称:学生成绩表 简述:学生选修所有成绩的汇总表 数据存储组成:课程号+课程名+任课教师+上课地点+上课次+考试成绩 关键字:课程号+课程名 相关处理:P2,P3,P6数据存储编号:F3 数据存储名称:课程存储 简述:对学生所选的课程进展存储 数据存储组成:学生XX+学生学号+所选课程+课程教师+课程所在教室 关键字:学生学号+所选课程+课程教师+上课地
12、点 相关处理:P4 (4)外部实体的描述 外部实体编号:S01 外部实体名称:学生 简述:是该系统中进展信息和成绩查询的用户 外部实体编号:S02 外部实体名称:系统管理人员 简述:系统管理人员对学生信息进展添加、修改和删除操作 输出的数据流:输出结果,正确信息,删除结果第三章 系统总体设计目标3.1 系统总体设计目标 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一局部,使用计算机对学生信息进展管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找便、易修改、可靠性高、存储量大、数据处理快捷、
13、XX性好、寿命长、本钱低、便于打印等。这些优点能够极大地提高学生信息管理的效率,也是学生信息管理的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情。使之减轻系统管理人员的负担,充分发挥电脑的作用。学生信息管理系统是学生管理工作中不可缺少的局部,它的容对于学校和学生来说都至关重要,所以学生信息管理系统应该能够为管理者或使用者提供充足的信息和快捷的数据处理手段。对学生信息和成绩进展录入、查询、修改、增加、删除等功能,而且可以实现选课功能。高效性通过系统的实用,能够改变旧的学生信息管理模式,使对学生的信息和成绩进展查询、增加、修改和删除以及具备选课的功能。便于学
14、校的管理和学生的查询。3.2 系统概念设计所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑构造功能。学生信息管理信息系统可以划分的实体有:院系类别信息实体、班级信息实体、专业信息实体、学生信息实体、教师信息实体和课程信息实体。3.2.1 概念模式E-R 图1、E-R图1班级实体图如图3.1所示 班级人数班号班名 图 3.1 班级实体图2教师实体图如图3.2所示 教师XX性别教师号 图 3.2 教师实体图3学生实体图如图3.3所示XX学号 出生年月性别 学生 图 3.3 学生实体图4课程实体图如图3.4所示课程名课程号 课程开课学期学分图 3.4 课程实体图(5) 系统E-R图图3.5所
15、示 班级1 R1n 学生m 成绩 选修 n 教师 讲授 课程 m n上课时间上课地点 图3.5系统E-R图2、系统E-R图说明(1)一个班级包括假设干名学生(2一个学生可以选修多门课程,一个课程可以被多个学生选修(3一个教师可以讲授多门课程,一门课程可以被多名教师讲授3.2.2 关系模式班级班号,班名,人数学生学号,XX,性别,出生年月课程课程号,课程名,学分,开课学期教师教师号,XX,性别选修学号,课程号,成绩讲授教师号,课程号,上课时间,上课地点3.2.3 关系模式规化说明(1) 班级表的主属性是班号,经分析班级模式在满足第一式的根底上还满足第二式,并且它的任一个非主属性都不传递依赖于主属
16、性班号,因此也满足第三式。(2) 学生表的主属性是学号,经分析学生模式在满足第一式的根底上还满足第二式,并且它的任一个非主属性都不传递依赖于主属性学号,因此也满足第三式。(3) 课程表的主属性是课程号,经分析课程模式在满足第一式的根底上还满足第二式,并且它的任一个非主属性都不传递依赖于主属性课程号,因此也满足第三式。(4) 教师表的主属性是教师号,经分析教师模式在满足第一式的根底上还满足第二式,并且它的任一个非主属性都不传递依赖于主属性教师号,因此也满足第三式。(5) 选修表的主属性是学号和课程号,经分析选修模式在满足第一式的根底上还满足第二式,并且它的任一个非主属性都不传递依赖于主属性学号和
17、课程号,因此也满足第三式。(6) 讲授表的主属性是教师号和课程号,经分析班级模式在满足第一式的根底上还满足第二式,并且它的任一个非主属性都不传递依赖于主属性,因此也满足第三式。3.2.4 系统数据库表构造1 表 31 数据库索引表 表名 中文名 class 班级表 student 学生表 course 课程表 teacher 教师表 xuanxiu 选修表 jiangshou 讲授表2 表3-2 班级表字段名字段类型 长度字段值约束对应中文名 数据列举 BHVarchar10Not null 班号082202H BMVarchar20Not null 班名信管 RSVarchar10Not n
18、ull 人数403 表3-3 学生表 字段名字段类型 长度字段值约束对应中文名 数据列举 SNVarchar20Not null 学号5 SNAMEVarchar10Not null XX一乐 SEXVarchar4Not null 性别女 BIRTHVarchar10Not null 出生年月1989.104 表3-4 课程表字段名字段类型 长度字段值约束对应中文名 数据列举 Varchar20Not null 课程号080021 AMEVarchar10Not null 课程名管理信息系统 XFVarchar4Not null 学分5 TIMEVarchar20Not null 开课学期1
19、0-11学年第二学期5 表3-5 教师表字段名字段类型 长度字段值约束对应中文名 数据列举 TNVarchar20Not null 教师号030010 TNVarchar10Not null XX武妍 SEXVarchar10Not null 性别女6 表3-6 选修表 字段名字段类型 长度字段值约束对应中文名 数据列举 SNVarchar20Not null 学号5 Varchar20Not null 课程号080021 CJVarchar10Not null 成绩857 表 3-7 讲授表 字段名字段类型 长度字段值约束对应中文名 数据列举 TNVarchar 20Not null 教师号
20、030010 Varchar 20Not null 课程号080021SHIJIANVarchar 10Not null 上课时间第二节课PLACEVarchar 10Not null 上课地点18楼1阶第四章 数据库系统实现4.1系统实现工具简介 SQL Server 2000简介:SQL Server 是一个关系数据库管理系统,它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的于1988 年推出了第一个OS/2 版本在Windows NT 推出后Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了Microsoft 将SQL S
21、erver 移植到Windows NT。系统上专注于开发推广SQL Server 的Windows NT 版本Sybase 那么较专注于SQL Server在UNIX 操作系统上的应用。 SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了多更先进的功能,具有使用便、可伸缩性、与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的效劳器等多种平台使用。4.2
22、学生信息管理系统数据库实现1用SQL语言分别建立班级表、学生、课程、教师表。代码如下:1班级表CREATE Table 班级表(班号 varchar(10)not null primary key(班号),班名 varchar(20),人数 varchar(10),)2学生表CREATE Table 学生表(学号 varchar(20) not null primary key(学号),XX varchar(10) not null,性别 varchar(4),出生年月 varchar(10),)3课程表CREATE Table 课程表(课程号 varchar(20) not null pri
23、mary key(课程号),课程名 varchar(10),学分 varchar(4)开课学期 varchar(20),)4教师表CREATE Table 教师表(教师号 varchar(20) not null primary key(教师号),XX varchar(10),性别 varchar(10),)2、 原代码设计1登陆界面源代码Option ExplicitDim stuflag As Boolean 标记用户是否为学生Public LoginSucceeded As BooleanPrivate Sub cmdCancel_Click() 设置全局变量为 false 不提示失败的
24、登录 LoginSucceeded = False Me.HideEnd SubPrivate Sub cmdOK_Click() 检查正确的密码 Dim num1 As Integer Dim num2 As Integer If Len(txtUserName.Text) 0 And Len(txtPassword) 0 And stuflag = False Then 管理人员 Adodc1.Item(0).mandType = adCmdText Adodc1.Item(0).RecordSource = select * from wjuser where uname= & Trim
25、(txtUserName.Text) & And upasw= & Trim(txtPassword.Text) & Adodc1.Item(0).Refresh num1 = Adodc1.Item(0).Recordset.RecordCount Else 学生 Adodc1.Item(1).mandType = adCmdText Adodc1.Item(1).RecordSource = select sname spasw from wjstudent where sname= & Trim(txtUserName.Text) & And spasw= & Trim(txtPassw
26、ord.Text) & Adodc1.Item(1).Refresh num2 = Adodc1.Item(1).Recordset.RecordCount End If If num1 = 0 And num2 = 0 Then MsgBox 无效的密码,请重试!, , 登录 txtPassword.SetFocus SendKeys Home+End Else LoginSucceeded = True Me.Hide MDIForm1.Show End IfEnd SubPrivate Sub Option1_Click(Index As Integer)If Index = 0 The
27、n If stuflag = False Then stuflag = True End IfElse If stuflag = True Then stuflag = False End IfEnd IfEnd Sub 图5.1 系统登陆界面(2)添加用户界面源代码Private Sub mand1_Click() 添加用户Adodc1.Recordset.AddNewEnd SubPrivate Sub mand2_Click() 更新Adodc1.Recordset.Fields(uname) = Trim(Text1.Text)Adodc1.Recordset.Fields(upasw
28、) = Trim(Text2.Text)Adodc1.Recordset.UpdateMsgBox 添加成功!, , 提示End Sub 图5.2 用户添加界面(3)用户密码修改界面源代码Private Sub mand1_Click()mand2.Enabled = False 使取消按钮不可用If Len(Text4.Text) 0 Then 查看输入用户是否存在 Adodc1.mandType = adCmdText Adodc1.RecordSource = select * from wjuser where uname= & Trim(Text1.Text) & Adodc1.Re
29、fresh If Adodc1.Recordset.RecordCount = 0 Then MsgBox 没有该用户!,请重新输入, , 提示 Else If Len(Text1.Text) 0 Then 查看旧密码是否正确 Adodc1.mandType = adCmdText Adodc1.RecordSource = select * from wjuser where upasw= & Trim(Text4.Text) & Adodc1.Refresh If Adodc1.Recordset.RecordCount = 0 Then MsgBox 密码不正确,请重新输入!, , 提示
30、 Else If Len(Text2.Text) 0 Then 确认密码并修改 If Len(Text3.Text) 0 Then If Text2.Text Text3.Text Then MsgBox 您的输入不一致,请重新确认!, , 提示 Else Adodc1.Recordset.Fields(upasw) = Trim(Text3.Text) Adodc1.Recordset.Update MsgBox 修改成功, , 提示 End If End If End If End If End If End IfEnd IfEnd SubPrivate Sub mand2_Click()
31、 取消mand1.Enabled = False 使修改按钮不可用Adodc1.Recordset.CancelUpdateEnd SubPrivate Sub mand3_Click()Unload MeEnd Sub 图5.3 密码修改界面(4)学生密码修改界面源代码Private Sub mand1_Click() 修改mand2.Enabled = False 使取消按钮不可用If Len(Text4.Text) 0 Then 查看输入学号是否存在 Adodc1.mandType = adCmdText Adodc1.RecordSource = select * from wjstu
32、dent where sno= & Trim(Text4.Text) & Adodc1.Refresh If Adodc1.Recordset.RecordCount = 0 Then MsgBox 没有该学号!,请重新输入, , 提示 Else If Len(Text1.Text) 0 Then 查看旧密码是否正确 Adodc1.mandType = adCmdText Adodc1.RecordSource = select * from wjstudent where spasw= & Trim(Text1.Text) & Adodc1.Refresh If Adodc1.Records
33、et.RecordCount = 0 Then MsgBox 密码不正确,请重新输入!, , 提示 Else If Len(Text2.Text) 0 Then 确认密码并修改 If Len(Text3.Text) 0 Then If Text2.Text Text3.Text Then MsgBox 您的输入不一致,请重新确认!, , 提示 Else Adodc1.Recordset.Fields(spasw) = Trim(Text3.Text) Adodc1.Recordset.Update MsgBox 修改成功, , 提示 End If End If End If End If En
34、d If End IfEnd IfEnd SubPrivate Sub mand2_Click() 取消Adodc1.Recordset.CancelUpdatemand1.Enabled = False 使修改按钮不可用End SubPrivate Sub mand3_Click() 退出Unload MeEnd Sub 图5.4 学生密码修改界面(5)信息查询源代码Dim nameflag As Boolean 标记是否按XX查询Private Sub mand1_Click() 个人信息查询Dim searchSQL As StringAdodc1.mandType = adCmdTex
35、tIf nameflag = False Then searchSQL = select * from wjstudent where sno = & Trim(Text1.Text) & 按学号查询Else searchSQL = select *from wjstudent where sname = & Trim(Text1.Text) & 按XX查询End IfAdodc1.RecordSource = searchSQLAdodc1.RefreshIf Adodc1.Recordset.RecordCount = 0 Then MsgBox 不存在此纪录!请重新输入, , 警告End IfEnd SubPrivate Sub mand2_Click() 退出查询信息窗体Unload MeEnd SubPrivate Sub Option1_Click(Index As Integer) 选择查询标准nameflag = False If Index = 0 Then If nameflag = True Then nameflag = False End IfEnd If If Index = 1 Then If nameflag = False Then nameflag = True End IfE