毕业设计(论文)-VB6.0学生信息管理系统.doc

上传人:哈尼dd 文档编号:3943658 上传时间:2019-10-10 格式:DOC 页数:36 大小:328.50KB
返回 下载 相关 举报
毕业设计(论文)-VB6.0学生信息管理系统.doc_第1页
第1页 / 共36页
毕业设计(论文)-VB6.0学生信息管理系统.doc_第2页
第2页 / 共36页
毕业设计(论文)-VB6.0学生信息管理系统.doc_第3页
第3页 / 共36页
毕业设计(论文)-VB6.0学生信息管理系统.doc_第4页
第4页 / 共36页
毕业设计(论文)-VB6.0学生信息管理系统.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《毕业设计(论文)-VB6.0学生信息管理系统.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-VB6.0学生信息管理系统.doc(36页珍藏版)》请在三一文库上搜索。

1、第一章 问题定义及可行性分析1.1 问题定义随着目前高校招生人数的日益扩大,高校的学生管理工作变得繁重起来。因此,自动化、智能化的高校学生管理系统的开发和应用就显得十分重要了,就此我们制作了一个高校学生信息管理系统。学生信息管理系统,针对高校现在学生信息管理的弊端,根据学生信息管理的基本流程,实现学生信息管理的电子化,减轻管理人员的负担,借助计算机管理人员能够很好对现有的学生进行管理,同时可以避免以前由于误操作而引起的错误。此系统实现对高校学生基本信息,成绩管理,选课信息等方面的综合管理,并实现了管理的统一化、智能化、快捷化。1.2 可行性分析1.2.1 技术可行性随着计算机技术及网络通讯技术

2、的飞速发展,许多学校已经有了较好的计算机应用甚至网络硬件的建设基础,本系统采用SQL语言,依靠Visual Basic开发平台进行信息系统开发的方法和过程。1.2.2 经济可行性学生信息管理,需要大量的学生数据、报表,手工处理方式既费人,又费财,本系统费用较低,省人力、财力,经济效益可观。1.2.3 操作可行性本系统的任务提出者是学生信息管理系统软件开发小组,用户是教学办公室。第二章 需求分析2.1 数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典。针对一般学生管

3、理系统的需求,通过对学生学习过程的内容和数据流程分析,设计如下面所示的数据项和数据结构。2.1.1学生基本信息包括的数据项有:学号、姓名、性别、出生日期、班号、联系电话、入校日期、家庭住址、备注等。2.1.2课程基本信息包括的数据项有:课程号、课程名称、课程类别、课程描述、系信息和所学课程等。2.1.3学生成绩信息包括的数据项有:考试编号、所在班号、学生学号、学生姓名、所学课程和考试分数等。2.1.4教务管理员信息包括的数据项有:编号、姓名、登陆日期和ID等。2.2 系统功能需求分析系统开发的总体任务是实现学生信息关系的系统化、规范化和自动化。系统功能分析是在系统开发的总体任务的基础上完成的。

4、本系统中的学生管理系统需要完成的功能上主要有:l 学籍等信息的输入,包括输入学生基本信息、所在系和班级、所学课程和成绩等。l 学生信息的查询,包括查询学生基本信息,所在系和班级、已学课程和成绩。l 学生信息的修改。l 学校基本课程信息的输入。l 基本课程信息的修改。l 学生课程的设置和修改。l 学生成绩信息的输入。l 学生成绩信息的修改。l 学生成绩信息的查询。l 学生成绩信息的统计。2.3 硬件环境需求本系统适用于服务器的配置是:Intel Pentium IV 1.7KMHz40GB硬盘(Sega,IDE接口)3.5英寸高密软盘驱动器48倍速索尼光驱256MB内存D-Link DE-528

5、 PCI Ethernet 10M网卡ASUS V3800PRO 64MB显存显卡双飞燕兼容鼠标2.4 软件环境需求本系统的设计采用的是Microsoft公司 的MS SQL Server2000、PowerDesigner,以及采用Visual Basic来处理图像数据。MS SQL Server2000是当今社会的主流数据库管理系统,它的稳定性和易用性是为世人所称道的,最重要的一点它是当今世界最大的软件设计厂商Microsoft数据的产品。因此,他同Windows NT,Windows2000等操作系统的结合是最完美的。所以,在数据管理系统上,我们采用了MS SQL Server2000。

6、PowerDesigner 是Sybase 公司的CASE 工具集,使用它可以方便的对管理信息系统进行分析设计,它几乎包括了数据库模型设计的全过程。利用PowerDesigner可以制作数据流程图、概念数据模型、物理数据模型可以生成多种客户端开发工具的应用程序,还可为数据仓库制作结构模型,也能对团队设计模型进行控制。第三章 系统功能模块设计3.1 系统总体功能模块图学籍信息管理教务员权限管理系统管理系统登录密码管理学生信息管理系统成绩信息管理课程信息管理学生档案管理学生管理成绩信息查询成绩信息修改成绩信息添加系课程设置课程信息修改课程信息添加班级信息管理教师管理密码管理用户管理班级信息修改班级

7、信息添加学籍信息查询学籍信息修改学籍信息添加图3.1.1系统总体功能模块图3.2系统数据流程图学生信息管理系统学生教务管理员教师图3.2.1系统数据流程图3.3 细化后所示数据流程图:教务管理员学生基本信息处理教师、学生信息维护教师登录 处理1登录处理2登录处理3学生信息维护班级信息课程信息系 信 息成绩信息学生信息教务管理员信息图3.3.1 细化后所示数据流程图3.4 数据字典数据字典是系统中各类数据描述的集合,使进行详细的数据收集和数据分析所获得的主要成果。数据字典是在需求分析时建立,在数据库设计过程中不断修改、充实、完善的。数据字典通常包括数据项、数据结构、数据流、数据存储、处理过程五部

8、分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。3.4.1数据项字典l 学生基本信息:数据项名 类型 长度 说明学 号 INT 12 学生唯一标示符姓 名 CHAR 10 =4个汉字性 别 CHAR 2 默认值为男出生日期 DATETIME 8 形式:01-1月-2003班 号 INT 4 仅限数字联系电话 CHAR 11 仅限数字入校时间 DATETIME 8 形式:01-1月-2003照 片 OLE对象l 系统用户管理:用户编码 CHAR 10 仅限数字和英文字母 用户密码 CHAR 10 仅限数字

9、和英文字母姓 名 CHAR 10 =4个汉字登录日期 DATETIME 8 系统默认l 教师信息:教师编号 CHAR 10 仅限数字姓 名 CHAR 10 =4个汉字性 别 CHAR 2 默认值为男职 称 CHAR 20联系电话 CHAR 11 仅限数字l 课程基本信息:课程编号 INT 4 仅限数字课程名称 CHAR 10 汉字课程类型 CHAR 10 考试、考查、重修课程描述 CHAR 50 课时,任课教师l 学生成绩信息:考试编号 CHAR 10 仅限数字学生学号 INT 12 仅限数字学生姓名 CHAR 10 =4个汉字学生班号 INT 4 仅限数字课程名称 CHAR 10 仅限汉字成

10、 绩 FLOAT 8 0-100l 班级信息:班 号 INT 4 仅限汉字系 CHAR 10 仅限汉字班 主 任 CHAR 10 = 3 Then MsgBox 您无权操作本系统!再见!, vbCritical, 无权限 Unload Me End If Else 登陆成功 显示MDI窗体, 并将用户类型和用户名传到MDI窗体中 gnUserType = cboUserType.ListIndex gsUserName = txtPwd 注意调用顺序 Unload Me MDIMain.Show End IfEnd SubPrivate Sub Form_Load() cboUserType.

11、ListIndex = 0End Sub4.2成绩查询(1)该程序模块用于对学生成绩的查询,用户可以通过录入课程类型、课程号、课程名,分别对学生成绩的查询。Option Explicit表示用户是否点击“确定”,来添加一个课程信息Public mbAdded As BooleanPrivate Sub cboType_Click() 点击课程类型时,动态的改变对应的课程类型号 Dim strSQL If cboType.ListIndex 0 Then strSQL = Select * from course where typeid = & cboType.ItemData(cboType

12、.ListIndex) Else strSQL = Select * from course End If If DataEnv.rsAddCourse.State adStateClosed Then DataEnv.rsAddCourse.Close DataEnv.rsAddCourse.Open strSQL刷新dcbSerial所列的课程类型号 dcbSerial.RowMember = dcbSerial.Refresh dcbSerial.ReFill dcbSerial.RowMember = AddCourse dcbSerial.Refresh dcbSerial.ReFi

13、ll dcbSerial = 刷新dcbName所列的课程类型名 dcbName.RowMember = dcbName.Refresh dcbSerial.ReFill dcbName.RowMember = AddCourse dcbName.Refresh dcbName.ReFill dcbName.Text = Call dcbName_Click(0) Call dcbSerial_Click(0) cmdOK.Enabled = (dcbSerial.Text )End SubPrivate Sub cmdCancel_Click() mbAdded = False Me.Hid

14、eEnd SubPrivate Sub cmdOK_Click() mbAdded = True Me.HideEnd SubPrivate Sub dcbName_Click(Area As Integer) 动态改变dcbSerial中的课程号 dcbSerial.Text = dcbName.BoundText cmdOK.Enabled = (dcbSerial.Text )End SubPrivate Sub dcbSerial_Click(Area As Integer) 动态改变dcbName中的课程名 dcbName.Text = dcbSerial.BoundText cmd

15、OK.Enabled = (dcbSerial.Text )End Sub4.3成绩查询(2) 该程序模块可用于用户同过对学生所在系、所在班、学生学号、姓名,分别对学生的成绩进行查询。Option Explicit表示用户是否点击“确定”,来添加一个课程信息Public mbAdded As BooleanPrivate Sub cboClass_Click() 针对所选的班级,列出班级中所有的学籍信息 Dim strSQL If cboClass.Text = 全部 Then strSQL = from student order by serial Else strSQL = from s

16、tudent where class= & cboClass & order by serial End If DataEnv.rsAddStudent.CloseDataEnv.rsAddStudent.Open select * & strSQL 刷新dcbSerial所列的学号 dcbSerial.RowMember = dcbSerial.ReFill dcbSerial.Refresh dcbSerial.RowMember = AddStudent dcbSerial.ReFill dcbSerial.Refresh dcbSerial.Text = 刷新dcbName所列的学生姓

17、名 dcbName.RowMember = dcbName.Refresh dcbSerial.ReFill dcbName.RowMember = AddStudent dcbName.Refresh dcbName.ReFill dcbName.Text = End SubPrivate Sub cmdCancel_Click() mbAdded = False Me.HideEnd SubPrivate Sub cmdOK_Click() mbAdded = True Me.HideEnd SubPrivate Sub dcbName_Click(Area As Integer) 动态改

18、变dcbSerial中的学号 dcbSerial.Text = dcbName.BoundText cmdOK.Enabled = (dcbSerial.Text )End SubPrivate Sub dcbSerial_Click(Area As Integer) dcbName.Text = dcbSerial.BoundText cmdOK.Enabled = (dcbSerial.Text )End SubPrivate Sub fraMain_DragDrop(Source As Control, X As Single, Y As Single)End SubPrivate Su

19、b txtScore_Change() cmdOK.Enabled = Len(dcbSerial.Text) 0 And Len(txtScore.Text) 0End SubPrivate Sub txtScore_KeyPress(KeyAscii As Integer) 如果输入的字符不属于数字或者顿号,则取消输入的字符 If (KeyAscii Asc(9) Or KeyAscii Asc(0) And KeyAscii Asc(.) And KeyAscii vbKeyBack Then KeyAscii = 0End Sub4.4按课程进行成绩管理该程序模块用于用户对相应课程的管

20、理,包括对成绩的添加、编辑、删除、报表等内容,同时用户可以查询该门课程学生的平均成绩。Option Explicit当改变记录集时,需要刷新整个网格控件Sub RefreshGrid() grdScan.DataMember = grdScan.Refresh If DataEnv.rssqlCourse.State adStateClosed Then DataEnv.rssqlCourse.Close DataEnv.rssqlCourse.Open grdScan.DataMember = sqlCourse grdScan.Refresh 刷新各个绑定控件 Call grdScan_C

21、hangeEnd Sub用以在浏览时,根据当前记录所出的位置不同,来改变个浏览按钮的状态Sub ChangeBrowseState() With DataEnv.rssqlCourse 如果没有任何记录,则清空显示目录;并且使浏览部分和管理部分的按钮无效 If .State = adStateClosed Then .Open 假如处于记录的头部 If .BOF Then If Not .EOF Then DataEnv.rssqlCourse.MoveFirst cmdPrevious.Enabled = False cmdFirst.Enabled = False Else cmdPrev

22、ious.Enabled = True cmdFirst.Enabled = True End If 假如处于记录的尾部 If .EOF Then If Not .BOF Then DataEnv.rssqlCourse.MoveLast cmdNext.Enabled = False cmdLast.Enabled = False Else cmdNext.Enabled = True cmdLast.Enabled = True End If End WithEnd Sub 计算该课程的总成绩和平均成绩 Call Calculate(grdScan.Columns(0).CellText(

23、grdScan.Bookmark)End SubPrivate Sub cmdClose_Click() Unload MeEnd SubPrivate Sub cmdEdit_Click() 修改当前所选的成绩信息 On Error GoTo errHandler With frmAddStudent Load frmAddStudent .Caption = 修改成绩信息 将当前所定位的学号和姓名信息写入到frmAddStudent的dcbSerial和dcbName中 .dcbSerial.Text = grdScore.Columns(0).CellText(grdScore.Book

24、mark) .dcbName.Text = .dcbSerial.BoundText 将当前所定位的课程的成绩写入到frmScore.txtScore中 .txtScore.Text = grdScore.Columns(grdScore.Columns.Count - 1).CellText(grdScore.Bookmark) .cmdOK.Enabled = True .Show vbModal 如果用户没有点击确认按钮,则退出处理过程 If Not .mbAdded Then Unload frmAddStudent Exit Sub End If 添加成绩记录 Dim str str

25、 = update score set score= & .txtScore.Text str = str & where courseid= & grdScan.Columns(0).CellText(grdScan.Bookmark) & str = str & and StudentID= & .dcbSerial.Text & DataEnv.Con.Execute str Unload frmAddStudent End With Unload frmAddStudent 刷新整个网格控件 Call RefreshScore(grdScan.Columns(0).CellText(g

26、rdScan.Bookmark) Exit Sub errHandler: MsgBox Err.Description, vbCritical, 错误End SubPrivate Sub cmdFirst_Click() DataEnv.rssqlCourse.MoveFirst DataEnv.rssqlCourse.MovePrevious Call ChangeBrowseStateEnd SubPrivate Sub cmdLast_Click() DataEnv.rssqlCourse.MoveLast Call ChangeBrowseStateEnd SubPrivate Su

27、b cmdList_Click() 针对所选的课程类型,列出中所有所属的课程信息 Dim strSQL If cboType.ListIndex = 0 Then strSQL = select course.serial, course.name, course.period, coursetype.name as typename & _ from course, coursetype where course.typeid=coursetype.id order by serial Else strSQL = select course.serial, course.name, cour

28、se.period, coursetype.name as typename & _ from course, coursetype where course.typeid=coursetype.id and course.typeid= & _ cboType.ItemData(cboType.ListIndex) & order by serial End If With DataEnv.rssqlCourse If .State = adStateOpen Then .Close .Open strSQL, DataEnv.Con, adOpenStatic, adLockOptimis

29、tic End With 刷新网格控件 Call RefreshGrid Call ChangeBrowseState Call grdScan_ChangeEnd SubPrivate Sub cmdNext_Click() DataEnv.rssqlCourse.MoveNext Call ChangeBrowseStateEnd SubPrivate Sub cmdPrevious_Click() DataEnv.rssqlCourse.MovePrevious Call ChangeBrowseStateEnd SubPrivate Sub grdScan_RowColChange(LastRow As Variant, ByVal LastCol As Integer) 当前行改变,则动态改变所要显示的记录 If LastRow grdScan.Bookmark Then If grdScan.ApproxCount 0 Then Call RefreshScore(grdScan.Columns(0).CellText(grdScan.Bookmark) E

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1