《计算机网络设计论文.doc》由会员分享,可在线阅读,更多相关《计算机网络设计论文.doc(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 计算机网络设计论文题目: 学生信息管理系统学号 051936 姓名 专业 软件设计日期 2007年5月1日随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改 、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统本系统主要用于学校学生信息管理,总体任
2、务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改 、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统。本系统主要包括学生信息查询、教务信息维护和学生选课三部分。其功能主要有:有关学籍等信息的输入,包括输入学生基本信息、所在班级、所学课程和成绩等。学生信息的查询,包括查询学生基本信息、所在班级、已学课程和成绩等。学生信息的修改。班级管理信息的输入,包括输入班级设置、年级信息等。班级管理信息的查询。班级管理信息的修改。学生课程的设置和修改。学生信息管理系统是为本校开发的,本系统所采用的语言是Visual Basic,用M
3、icrosoft Access 2000数据库完成。该系统总体有四部分组成,包括学生信息查询、教务信息维护、学生选课及用户管理。通过本系统,把本校内部查询学生信息、教务信息、学生选课各个环节进行有效地计划、组织和控制。通过本校内部的信息,依据统一数据信息进行管理,把任何一块信息所产生的数据变动及时地反映给其它相关信息,做到数据共享。本系统主要信息流程为:教务信息维护接受学生的信息,学生信息查询根据教务信息维护的学生信息做出对所接收的信息合理性进行判断,并交于信息维护进行相应的修改,再把信息存入数据库中。学生选课是对学生进行相应选择自己相关的课程。最后进行打印。采用本系统,能够使整个系统内部所有
4、信息的工作简化,提高工作效益。由于采用统一的数据信息,使相关资料能够快速地查询所需的数据、资料及其它信息的,使信息快速高效运行。本系统中使用到的数据表主要有班级表、成绩表、缴费表、课程表、学生档案、用户资料,由这六个表,组成了名为信息的数据库(如图一)。其中学生档案是本系统主要的(图一)一张表,所有信息都是根据这张学生档案进行有关的操作,主要的字段有:学号、姓名、年级、专业、性别、出生年月、民族、籍贯、政治面貌、家庭地址、邮政编码、联系电话、入学时间、备注。其中日期的数据类型为日期/时间天型,其它的数据类型为文本型;成绩表中字段为:学号、姓名、年级、专业、学期、考试时间、考试科目、考试地点、课
5、程性质、科目分数、违纪类型、备注;课程表中字段为:专业、年级、学期、课程名称、教材、任课老师、课时、上课地点、课程性质、考试性质;用户资料中的字段包括:用户名、密码、身份。数据库与VB的连接:本系统的数据链接采用的是ADO方法,打开控制面板,打开ODBC数据源图标,选择“系统DSN”标签,点击“添加”按钮,在弹出的“创建新数据源”对话框中选择名称为“Microsoft Access Drive(*.mdb)”,点击“完成”按钮,在ODBC Microsoft Access 安装对话框中在数据源名中输入信息,在数据库这个框中, 单击“选择”按钮,在弹出的选择数据库这一对话框架中,在驱动器下拉列表
6、框中选择本系统数据库所在驱动器,在目录中选择库所在的文件夹,在文件类型中选择选“Access数据库(*.mdb)”,在数据库名中选择本系统的数据库,点击“确定”按钮即完成数据链接。 在VB中,用ADODC链接数据库,用DataGrid或DATA将库中的数据在界面中显示出来,本系统采用DataGrid。在界面上右击Adodc控制,在弹出的快捷菜单中选择属性,在属性对话框中,在“属性”这一标签中, 选中单选框“Use ODBC Data Source Name”,并在下拉文本框中选择已经配置好的数据源名信息,再在“RecordSoure”标签中,在Commard Text(SQL)文本框中输入查询
7、语句,如:select * from 学生档案。同时,将桌面的DataGrid控件选中,在属性框中,将它的Datasoure设为Adodc。我们可以设置DataGrid控件的外观:选中该控件,右击,在弹出的快捷菜单中选择“检索字段”,在弹出的对话框中单击“确定”,这时,表格中出现了表的字段。然后再右击,同样,在弹出的快捷菜单中选择“编辑”,我们就可以所在的表格的宽度进行调整。系统功能(查询模块)1 查询信息的情况;2 判断信息是否符合要求;3 将符合条件的信息进行打印;流程图学生注册基本信息输入学籍信息管理班级管理班级课程设置课程基本信息班级课程管理成绩信息输入成绩信息管理班级设置23 数据库
8、设计 231 库设计本系统涉及到的信息主要有5类:学生信息、成绩信息、教师信息、图书信息、后备信息。由于成绩信息和教师信息与学生信息关系密切,因此将这三类信息存放在同一数据库中,以提高多种信息同时读取的速度。按以上分析,将系统的数据库设计为三个: 一、学生数据库: 该数据库为中包含有以下各表:1、学生表:记录学生的基本信息,是进行学生及其它各类信息处理的基础。2、成绩表:记录学生的期中、期末及总评的各科成绩。3、总分表:记录学生的期中、期末及总评的总分及名次。4、课程表:记录各专业各年级开课情况,在添加学生记录时,可根据该表的情况决定在成绩表添加学生记录的个数。三、后备数据库: 该数据库主要保
9、存两类信息:学生信息、成绩信息。其数据表是按用户的要求在运行过程中动态建立的。 232 表设计: 1、学生表结构:表2.1编号字段名称字段类型字段宽度1学号CHAR152姓名CHAR103性别CHAR24出生日期DATE85电话CHAR106家庭住址CHAR507班级CHAR208原毕业学校CHAR509是否住宿CHAR410政治面貌CHAR611入学总分LONG412专业char202、课程表结构: 表2.2编号字段名称字段类型字段宽度1课程名称CHAR152年级CHAR103专业char203、成绩表结构:表2.3编号字段名称字段类型字段宽度1学号CHAR152课程名称CHAR153期中成
10、绩LONG44期末成绩LONG45总评成绩LONG46班级char204、总分表结构:表2.4编号字段名称字段类型字段宽度1学号CHAR152期中总分LONG43期末总分LONG44期中名次LONG45期末名次LONG46班级char20第五章 详细设计根据系统的主要功能及上一章的总体设计,系统开发进入第二个阶段:详细设计。在这一阶段的工作中,主要任务有以下几项:1、根据原型化的开发原则,为系统的每个模块功能进行界面设计,作为进一步优化的基础。2、进行系统的流程分析,为模块的细化做好准备。3、对每个模块进行详细的算法设计。 31 系统界面设计一、登录及系统主窗口界面设计该部分界面主要包括登录窗
11、口、系统主窗口、修改密码窗口。1、登录窗口界面: 本系统中使用到的数据表主要有班级表、成绩表、缴费表、课程表、学生档案、用户资料,由这六个表,组成了名为信息的数据库(如图一)。其中学生档案是本系统主要的(图一)一张表,所有信息都是根据这张学生档案进行有关的操作,主要的字段有:学号、姓名、年级、专业、性别、出生年月、民族、籍贯、政治面貌、家庭地址、邮政编码、联系电话、入学时间、备注。其中日期的数据类型为日期/时间天型,其它的数据类型为文本型;成绩表中字段为:学号、姓名、年级、专业、学期、考试时间、考试科目、考试地点、课程性质、科目分数、违纪类型、备注;课程表中字段为:专业、年级、学期、课程名称、
12、教材、任课老师、课时、上课地点、课程性质、考试性质;用户资料中的字段包括:用户名、密码、身份。数据库与VB的连接:本系统的数据链接采用的是ADO方法,打开控制面板,打开ODBC数据源图标,选择“系统DSN”标签,点击“添加”按钮,在弹出的“创建新数据源”对话框中选择名称为“Microsoft Access Drive(*.mdb)”,点击“完成”按钮,在ODBC Microsoft Access 安装对话框中在数据源名中输入信息,在数据库这个框中, 单击“选择”按钮,在弹出的选择数据库这一对话框架中,在驱动器下拉列表框中选择本系统数据库所在驱动器,在目录中选择库所在的文件夹,在文件类型中选择选
13、“Access数据库(*.mdb)”,在数据库名中选择本系统的数据库,点击“确定”按钮即完成数据链接。 在VB中,用ADODC链接数据库,用DataGrid或DATA将库中的数据在界面中显示出来,本系统采用DataGrid。在界面上右击Adodc控制,在弹出的快捷菜单中选择属性,在属性对话框中,在“属性”这一标签中, 选中单选框“Use ODBC Data Source Name”,并在下拉文本框中选择已经配置好的数据源名信息,再在“RecordSoure”标签中,在Commard Text(SQL)文本框中输入查询语句,如:select * from 学生档案。同时,将桌面的DataGrid
14、控件选中,在属性框中,将它的Datasoure设为Adodc。我们可以设置DataGrid控件的外观:选中该控件,右击,在弹出的快捷菜单中选择“检索字段”,在弹出的对话框中单击“确定”,这时,表格中出现了表的字段。然后再右击,同样,在弹出的快捷菜单中选择“编辑”,我们就可以所在的表格的宽度进行调整。各功能的实现课程管理:课程设置(如:界面如图二)学生信息管理系统成绩信息管理课程信息管理学籍信息管理班级信息管理成绩信息修改成绩信息查询成绩信息添加课程信息添加课程信息修改年级课程设置班级信息添加班级信息修改学籍信息添加学籍信息修改学籍信息查询(图二)运行程序后,进入课程管理模块,课程管理模块的第一
15、块是课程设置,在这模块中可以把专业、年级、学期、课程名称、教材、任课老师、课时、上课地点、课程性质和考试性质等信息输入,以便使用。下面为其代码:Private Sub Command1_Click()Dim myCon As New ADODB.ConnectionDim myRs As New ADODB.RecordsetDim ZhuanYe, NianJi, XueQi, KeCheng, JiaoCai, RenKLS, KeShi, ShangKeDD, KeChengXZ, KaoShiXZ As StringZhuanYe = Text1.TextNianJi = Text2.
16、TextXueQi = DTPicker1.ValueKeCheng = Text4.TextJiaoCai = Text5.TextRenKLS = Text6.TextKeShi = Text7.TextShangKeDD = Text8.TextKeChengXZ = Combo1.TextKaoShiXZ = Combo2.TextIf Trim(ZhuanYe) = Or Trim(NianJi) = Or Trim(XueQi) = Or Trim(KeCheng) = Or Trim(JiaoCai) = Or Trim(RenKLS) = Or Trim(KeShi) = Or
17、 Trim(ShangKeDD) = Or Trim(KeChengXZ) = Or Trim(KaoShiXZ) = Then MsgBox 请填写要修改课程资料的内容! Combo1.Text = Combo2.Text = Exit SubEnd IfmyCon.Open dsn=信息myRs.Open select * from 课程表 where 专业= & Text1.Text & , myCon, 3, 2 myRs!年级 = Text2.Text myRs!学期 = DTPicker1.Value myRs!课程名称 = Text4.Text myRs!教材 = Text5.T
18、ext myRs!任课老师 = Text6.Text myRs!课时 = Text7.Text myRs!上课地点 = Text8.Text myRs!课程性质 = Combo1.Text myRs!考试性质 = Combo2.TextmyRs.UpdatemyRs.ClosemyCon.CloseMsgBox 您确定要修改吗?, vbYesNo, 提示Frm_UpdateGrean.Adodc1.RefreshFrm_UpdateGrean.DataGrid1.RefreshText1.Text = Text2.Text = Text3.Text = Text4.Text = Text5.T
19、ext = Text6.Text = Text7.Text = Text8.Text = Combo1.Text = Combo2.Text = End SubPrivate Sub Command2_Click() Unload MeEnd SubPrivate Sub Command3_Click() Unload Me Frm_FindGrean.Show 1End SubPrivate Sub DataGrid1_Click()Frm_UpdateGrean.Adodc1.RecordSource = select * from 课程表 where 专业 = & Trim(DataGr
20、id1.Row) & Text1.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields(专业)Text2.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields(年级)Text3.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields(学期)Text4.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields(课程名称)Text5.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields(教材)Text6.T
21、ext = Frm_UpdateGrean.Adodc1.Recordset.Fields(任课老师)Text7.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields(课时)Text8.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields(上课地点)Combo1.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields(课程性质)Combo2.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields(考试性质)End SubPrivate Su
22、b DTPicker1_CallbackKeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer, ByVal CallbackField As String, CallbackDate As Date)End SubPrivate Sub Form_Activate()Frm_FindGrean.Adodc1.RecordSource = strTiaoJianFrm_FindGrean.Adodc1.RefreshSet DataGrid1.DataSource = Frm_FindGrean.Adodc1End SubPrivate
23、 Sub Form_Load()Combo1.AddItem (必修)Combo1.AddItem (选修)Combo1.AddItem (自开)Combo2.AddItem (考试)Combo2.AddItem (查考)Text1.Text = Text2.Text = Text3.Text = Text4.Text = Text5.Text = Text6.Text = Text7.Text = Text8.Text = Combo1.Text = Combo2.Text = End SubPrivate Sub Text1_Change()End SubPrivate Sub Text2
24、_Change()End SubPrivate Sub Text8_Change()End Sub课程管理:课程查询(如:界面如图三)(图三)当输入查询类别、运算符和条件后可以查找到所需要的课程设置,或按查询时间来查询,输入所要查找的时间段,就可查到所要的课程设置。代码如下:Dim sqlstr As StringPrivate Sub Combo1_Change()End SubPrivate Sub Combo2_Change()End SubPrivate Sub Combo4_Change()End SubPrivate Sub Combo5_Change()End SubPrivat
25、e Sub Combo7_Change()End SubPrivate Sub Command1_Click()Dim a As StringDim KCCX1 As StringDim KCCX2 As StringDim str1 As StringDim str2 As StringIf Option3.Value = True Thena = Trim(Combo2)Select Case a Case = KCCX1 = & Combo1.Text & & Combo2.Text & & Trim(Text1) & Case like KCCX1 = Instr(1, & Combo
26、1.Text & , & Trim(Text1.Text) & )0 End Select a = Trim(Combo4)Select Case a Case = KCCX2 = & Combo3.Text & & Combo4.Text & & Trim(Text2) & Case like KCCX2 = Instr(1, & Combo3.Text & , & Trim(Text2.Text) & )0 End Select If Option1.Value = True Then If KCCX1 = Then strTiaoJian = select * from 课程表 wher
27、e & KCCX2 ElseIf KCCX2 = Then strTiaoJian = select * from 课程表 where & KCCX1 Else strTiaoJian = select * from 课程表 where & KCCX1 & and & KCCX2 End IfElseIf Option2.Value = True Then If KCCX1 = Then strTiaoJian = select * from 课程表 where & KCCX2 ElseIf KCCX2 = Then strTiaoJian = select * from 课程表 where
28、& KCCX1 Else strTiaoJian = select * from 课程表 where & KCCX1 & or & KCCX2 End IfElse If KCCX1 = Then strTiaoJian = select * from 课程表 where & KCCX2 ElseIf KCCX2 = Then strTiaoJian = select * from 课程表 where & KCCX1 Else MsgBox 请选择连接方式!, vbOKOnly, 警告 Exit Sub End IfEnd If If (KCCX1 & KCCX2) = Then MsgBox
29、 请输入查询类别!, vbOKOnly, 警告Exit SubElse Unload Me Frm_UpdateGrean.Show 1End IfEnd IfIf Option4.Value = True Then If Val(Combo6) Val(Combo9) Then MsgBox 请正确选择年份!, vbOKOnly + vbExclamation, 信息提示 Combo6.SetFocus Exit Sub Else If Val(Combo6) = Val(Combo9) Then If Val(Combo7) Val(Combo10) Then MsgBox 请正确选择月份
30、!, vbOKOnly + vbExclamation, 信息提示 Combo7.SetFocus Exit Sub Else If Val(Combo7) = Val(Combo10) Then If Val(Combo8) Val(Combo11) Then MsgBox 请正确选择日期!, vbOKOnly + vbExclamation, 信息提示 Combo8.SetFocus Exit Sub End If End If End If End If End If If Combo6.Text = Or Combo7.Text = Or Combo8.Text = Or Combo9
31、.Text = Or Combo10.Text = Or Combo11.Text = Then MsgBox 请输入完整的日期, vbOKOnly, 警告 Exit Sub End If str1 = Trim(Combo6) & - & Trim(Combo7) & - & Trim(Combo8) str2 = Trim(Combo9) & - & Trim(Combo10) & - & Trim(Combo11) str1 = Format(str1, yyyy-mm-dd) str2 = Format(str2, yyyy-mm-dd) If sqlstr = Then sqlstr
32、 = & Trim(Combo5.Text) & =# & Format(str1, yyyy-mm-dd) & # and & Trim(Combo5.Text) & =# & Format(str1, yyyy-mm-dd) & # and & Trim(Combo5.Text) & = # & Format(str2, yyyy-mm-dd) & # End If If sqlstr = Then MsgBox 请先输入查找时间! Exit Sub End If strTiaoJian = select 专业,年级,学期,课程名称,教材,任课老师,课时,上课地点,课程性质,考试性质 fr
33、om 课程表 where & sqlstr Unload Me Frm_UpdateGrean.Show 1End IfIf Option3.Value True And Option4.Value True Then MsgBox 请选择查询方式!, vbOKOnly, 警告 Exit SubEnd IfEnd SubPrivate Sub Command3_Click() Unload MeEnd SubPrivate Sub Form_Load()Dim i, j As IntegerFor i = 1999 To 2010 Combo6.AddItem i Combo9.AddItem
34、 iNext i Combo6.ListIndex = 0 Combo9.ListIndex = 0 For i = 1 To 12 Combo7.AddItem i Combo10.AddItem iNext i Combo7.ListIndex = 0 Combo10.ListIndex = 0For i = 1 To 31 Combo8.AddItem i Combo11.AddItem iNext i Combo8.ListIndex = 0 Combo11.ListIndex = 0Combo1.AddItem (专业)Combo1.AddItem (年级)Combo1.AddIte
35、m (课程名称)Combo1.AddItem (教材)Combo1.AddItem (任课老师)Combo1.AddItem (课时)Combo1.AddItem (课程性质)Combo1.AddItem (考试性质)Combo2.AddItem (=)Combo3.AddItem (专业)Combo3.AddItem (年级)Combo3.AddItem (课程名称)Combo3.AddItem (教材)Combo3.AddItem (任课老师)Combo3.AddItem (课时)Combo3.AddItem (课程性质)Combo3.AddItem (考试性质)Combo4.AddIte
36、m (=)Combo5.AddItem (学期)Combo1.Text = Combo2.Text = Text1.Text = Combo3.Text = Combo4.Text = Text2.Text = Combo5.Text = Combo6.Text = Combo7.Text = Combo8.Text = Combo9.Text = Combo10.Text = Combo11.Text = End Sub7.1.2 打印统计运行打印统计后可以按条件把符合条件的各种信息以报表形式罗列出来,各种信息还可以以打印出来或以报表形式保存。打印统计包括班级统计分析、档案统计分析、课程统计
37、分析、成绩统计分析和交费统计分析五类。班级统计分析(如:界面如图四)(图四)代码如下:Private Sub Command1_Click()Dim SQLoriginal As StringDim SQLadd As StringDim SQLorder As StringDim strSql As String SQLoriginal = SELECT 年级,专业,人数,辅导员,备注 FROM 班级表 SQLadd = WHERE 年级=年级 AND 专业=专业 SQLorder = If Check1.Value = 1 And IsNumeric(Text1) Then SQLadd
38、= SQLadd + and 年级= + Text1 + End If If Check2.Value = 1 And Not IsNull(Text2) Then SQLadd = SQLadd + and 专业= + Text2 + End IfIf Check3.Value = 1 And IsNumeric(Text3) Then SQLadd = SQLadd + and 人数= + Text3 + End IfIf Check4.Value = 1 And Not IsNull(Text4) Then SQLadd = SQLadd + and 辅导员= + Text4 + End
39、 IfstrSql = SQLoriginal + SQLadd + SQLordeIf Dat_Main.rsDat_Class.State = 1 Then Dat_Main.rsDat_Class.CloseEnd If Dat_Main.rsDat_Class.Open strSql Dat_Class.Show vbModalText1.Text = Text2.Text = Text3.Text = Text4.Text = End SubPrivate Sub Command2_Click() Unload MeEnd SubPrivate Sub Form_Load()Text
40、1.Text = Text2.Text = Text3.Text = Text4.Text = End SubPrivate Sub Text1_Change()End SubPrivate Sub Text3_Change()End Sub档案分析统计(如:界面如图五)(图五)代码如下:Private Sub Command1_Click()Dim SQLoriginal As StringDim SQLadd As StringDim SQLorder As StringDim strSql As String On Error Resume NextSQLoriginal = SELEC
41、T * FROM 学生档案 SQLadd = WHERE 学号=学号 AND 姓名=姓名 SQLorder = If Check1.Value = 1 And IsNumeric(Text1) Then SQLadd = SQLadd + and 学号= + Text1 + End If If Check2.Value = 1 And Not IsNull(Text2) Then SQLadd = SQLadd + and 姓名= + Text2 + End IfIf Check3.Value = 1 And Not IsNull(Text3) Then SQLadd = SQLadd + and 专业=