一.课程设计题目
二.功能描述
msisdn 系统主要由四部分组成:系统用户的管理、学生成绩的管理、学生信息的管理、,学生成绩信息的统计,其中还包括登录界面等模块。
各模块的主要功能如下:
(1).系统用户的管理:实现用户的添加、删除和密码的修改 (3).学生成绩的管理:实现学生成绩的录入,查询,删除和修改。
(4).学生成绩信息的统计:实现学生男女生人数以及不及格人数的统计。
(2).学生信息的管理:实现学生学籍信息的添加,查询、删除和修改。
三.概要设计
对上述各项功能进行集中、分块,按照结构化层序设计的要求,得到如图1所示的系统功能模块图。
成绩查询
成绩修改
成绩录入
成绩管理
信息查询
信息修改
信息添加
学生信息
项目统计
退出系统
修改密码
图1系统功能模块图
数据库在本成绩管理系统中占有非常重要的地位,数据库结构的好坏将直接对应用系统的效率以及实现的效率产生影响。合理的数据库及结构设计可以提高数据存储的效率,保证数据的完整和一致。同时合理的数据库结构也将有利于程序的实现。设计本系统的数据库应该充分满足用户的需求。
针对一般学生管理系统的需求,通过对学生学习过程的内容的分析,设计如下面所示的数据项和数据结构。
(1)基本信息表:包括的字段有:学号,姓名,性别,年龄,,家庭住址。 表1 基本信息表
字段名称 | 数据类型 | 字段大小 |
学号 | 文本 | 10 |
姓名 | 文本 | 10 |
性别 | 文本 | 2 |
年龄 | 数字 | 2 |
maop | 数字 | 50 |
班级 | 文本 | 50 |
家庭住址 | 文本 | 50 |
| | |
(2)成绩表: 包括的字段有: 学号,姓名,性别,班级,高数成绩,英语成绩,计算机成绩。
表2 成绩表
字段名称 | 数据类型 | 字段大小 |
学号 | 文本 | 10 |
姓名 | 文本 | 10 |
性别 | 文本 | 2 |
班级 | 文本 | 10 |
高数成绩 | 数字 | 20 |
英语成绩 | 数字 | 20 |
计算机成绩 | 数字 | 20 |
| | |
(3),学生密码表: 包括的字段有: 用户名,密码。
表3密码表
字段名称 | 数据类型 | 字段大小 |
用户名 | 文本 | 10 |
密码 | 文本 | 10 |
| | |
(4)教师密码表:包括的字段有:用户名,密码。
表4 教师密码表
字段名称 | 数据类型 | 字段大小 |
用户名 | 文本 | 10 |
密码 | 文本 | 10 |
| | |
五.详细设计
系统主要由五部分组成:系统用户的管理、学生成绩的管理、学生信息的管理、信息的查询,其中还包括登录界面以及成绩的统计模块。
各模块的主要功能如下:
1.系统用户的管理:实现用户的添加、删除和密码的修改。通过.Hide对象方法隐藏原有窗体界面,通过.Show对象方法显示所要用到的窗体界面。
2.学生信息的管理:通过创建数据库,连接数据库,调用数据库及Data控件Adodc控件,MSHFlexGrid控件的使用来实现学生信息的添加,查询,删除和修改。
3.学生成绩的管理:通过创建数据库,连接数据库,调用数据库以及Data控件Adodc控件,MSHFlexGrid控件的使用来实现学生成绩的录入,查询,删除和修改。
4.学生成绩信息的统计:实现学生男女生人数以及不及格人数的统计
六.效果及存在问题
水过滤芯(1),登陆界面:选择用户类型,可选择教师,学生,分别进入不同界面。功能截图如图
2所示:
图2 登陆界面
(2),学生登陆:输入学号,输入学生密码,单击确定即进入学生界面如图3所示:
图3学生登录
(3),学生密码修改:输入学生新密码。再次输入学生新密码,单击确定按钮,修改学生密码,功能截图如图4所示:
图4修改密码
(4),主窗体界面:系统用户的管理:包括用户的添加、删除和密码的修改;学生信息的管理:包括学生信息的添加,查询、删除和修改;学生成绩的管理:包括学生成绩的录入,查询,删除和修改;学生成绩信息的统计:包括学生男女生人数以及不及格人数的统计。功能截图如图5所示:
图5主界面
(6),成绩查询:输入学生学号,单击查询按钮,查询学生成绩。功能截图如图6所示:
图6成绩查询
七.结论或心得体会
设计之前由于数据库知识的空白,使得我们毫无头绪,无从下去手,只是盲目的按照课本和参考资料进行设计和编程,没有动脑子思考,也没有进行结构的规划,使得我们的程序进行到一半时夭折,那时候我们就开始意识到,不应该盲目,我们认真地看了课本,有了数据库的思想和思路,自己又重新规划了系统的结构,但是由于时间的关系,我们错过了中期检查,但是我们并没有气馁,而是更加热情地的投入到系统的设计中,但我们又出现了新问题,我和另一个男生本来分工合作的,可是我们的窗体总是衔接不上,而且数据库
也不同,而我们又都想尝试一下其他窗体的创建,获得更多的知识,于是我们最终各自完成了各自的管理系统。
这次课程设计实习我流的汗和泪,都是以成功的完成课程设计任务为收获的。不断的调试,使我认识即时丁点的错误也可以导致系统的非正常运行,细节决定成败。我只有在以后的学习之路上做到一丝不苟,才能获得成功.
面对新的问题,以前的我会觉的十分畏惧,可通过这次实习,我发现自己变得勇敢,积极地从正面面对问题,认真地查阅资料、动手实践、和同学交流,问题便能解决。此次实习培养了我自主学习和动手实践能力,让我体会到完成任务的成就感和喜悦。
八.参考文献
1.刘天惠 等. Visual Basic程序设计教程, 清华大学出版社. 2006.2
2.李春葆 等. Access2003程序设计教程(第2版), 清华大学出版社.2007.1
3.范立南 等. SQL Server2000实用教程, 清华大学出版社. 2005.2
4. 张宏 等. 30天学通Visual Basic项目案例开发, 电子工业出版社.2009.7
5. 龚沛曾 等. Visual Basic程序设计教程, 高等教育出版社. 2005.2
6. 蒋加伏 等. Visual Basic程序设计教程, 北京邮电大学出版社kvm管理系统. 2004.1
7. 张路平等.Visual Basic 6.0编程案例精解,电子工业出版社.2004.3
8. 谭小丹.Visual Basic 6.0数据库编程思想与实践 ,冶金工业出版社.2005.6
9. 周国民.Visual Basic+Access数据库项目开发实践,中国铁道出版社鼓芯.2006.5
附录:各功能程序代码
Private Sub Command1_Click()
dl.Hide
xsdl.Show
End Sub
Private Sub Command2_Click()
dl.Hide
jsdl.Show
End Sub
Private Sub Form_Load()
Label1.Width = dl.ScaleWidth
Label1.Left = dl.ScaleWidth
End Sub
Private Sub Timer1_Timer()
If Label1.Left + Label1.Width >= 0 Then
Label1.Left = Label1.Left - 50
Else
Label1.Left = dl.ScaleWidth
End If
End Sub
Private Sub Command1_Click()
UserName = ""
If Trim(Text1.Text) = "" Then
MsgBox "用户名不能为空,请重新输入!", vbOKOnly + vbExclamation, "警告"
Text1.SetFocus
方波信号发生器
Else
Data1.RecordSource = "select * from mmb where yhm='" & Text1.Text & "' and mm='" & Text2.Text & "'"
Data1.Refresh
If Data1.Recordset.BOF = True And Data1.Recordset.EOF = True Then
MsgBox "用户名或密码输入错误,请重新输入!", vbOKOnly + vbExclamation, "警告"
Text1.SetFocus
Text2.SetFocus
Else
UserName = Text1.Text
Text2.Text = ""
Me.Hide
Form4.Show
End If
End If
End Sub
Private Sub Command2_Click()
Text1.Text = ""
Text2.Text = ""
End Sub
Private Sub Timer1_Timer()
If Label1.Left + Label1.Width >= 0 Then
Label1.Left = Label1.Left - 50
Else
Label1.Left = dl.ScaleWidth
End If
End Sub
Private Sub Command1_Click()
UserName = ""
If Trim(Text1.Text) = "" Then
MsgBox "用户名不能为空,请重新输入!", vbOKOnly + vbExclamation, "警告"
Text1.SetFocus
Else
Data1.RecordSource = "select * from jsmmb where 用户名='" & Text1.Text & "' and mm='" & Text2.Text & "'"
Data1.Refresh
If Data1.Recordset.BOF = True And Data1.Recordset.EOF = True Then