1、学生成绩管理信息系统分析设计报告 一. 背景: 学生成绩管理系统是每个学校教育环节不可缺少一部分,它内容对学校决策者和管理者来说至关重要,所以该系统应该能够为用户提供充足信息和快捷查询手段。但一直以来人们使用传统人工方式管理,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量文件和数据,这对于查找、更新和维护都带来了不便。随着科学技术不断提高,计算机科学日渐成熟,其强大功能已为人们深刻认识,他已进入人类社会各个领域并发挥着越来越重要作用。早期校园网络、如今WEB宽带网都为我们共享数据提供了前所未有方便,由此,建立高性能学生成绩管理系统,作为计算机应用一部分,使用
2、计算机对学生成绩信息管理,具有手工管理无法比拟优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,这些优点能够极大提高学生综合管理效率,也是科学化、正规化体现。因此,开发这样软件系统是很必要。 学生成绩管理系统其开发主要包括后台数据库建立和维护以及前端应用程序开发两个方面,对于前者要求建立起数据库一致性和完整性、数据安全性好库。而对于后者则要求应用程序功能完备,易使用等特点。 目前市场上有很多及学生信息成绩管理相关软件及系统,总体来说各有其优缺点。由于从事管理多为非计算机专业人员,所以管理软件设计要考虑如下问题: 科学合理性: 学生信息成绩管理是为了提高学生信
3、息成绩管理效率,因此,设计理念上要充分了解信息成绩管理要求,力求设计科学合理。 使用方便性: 学生信息成绩管理系统包含了很多内容,包括学生信息、课程信息、成绩信息等信息,方便管理人员查询。学生信息成绩管理系统要求设计界面美观,操作方便。要充分考虑该软件界面友好和操作方便,便于使用人员快速上手。 安全可靠便于维护: 一个软件设计好坏,关键在于产品可靠,稳定,便于维护。 经过分析,我们使用易于及数据库连接Microsoft Visual Basic 6.0开发工具,利用其提供各种面向对象开发工具,尤其是数据库窗口这一功能强大而简便操纵数据库智能化对象,首先在短时间内建立系统应用原形,然后
4、对初始原型系统进行需求分析,不断修正和改进,直到形成用户满意可行系统。 整个系统从符合操作简便、界面友好、灵活、实用、安全要求出发,完成学生、课程、成绩管理全过程,包括学生信息添加、修改和删除,课程信息添加、修改和删除,成绩信息添加和删除。本系统所设计学生成绩管理系统可以满足学校一般学生成绩管理方面需要。 本系统开发总体任务是实现学生成绩管理系统化、规范化、自动化、达到提高学生成绩管理效率目,本系统本着实用性、通用、开放和安全原则,使用VISUAL BASIC6. 0数据库开发软件开发制作,实现了班级信息管理、课程信息管理、学生成绩管理、成绩查询等功能。该设计方法易于推广至其它信息化管理
5、系统设计,充分利用计算机作为辅助工具,实现学生考试成绩从传统手工管理到计算机管理,对提高管理效率和节约大量人力、物力有一定推动作用。本系统一切从实际出发,充分考虑了成绩内部管理、信息交流等方面复杂需求,实现成绩有效管理,真正为学生成绩管理提供一个电子平台。 二.软件及数据库特点介绍: 总来说,Visual Basic具有以下特点: 可视化编程: 用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面实际显示效果,必须编译后运行程序才能观察。如果对界面效果不满意,还要回到程序中修改。有时候,这种编程-编译-修改操作可能要反复多次,大大影响了软件开
6、发效率。Visual Basic提供了可视化设计工具,把Windows界面设计复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求屏幕布局,用系统提供工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象属性。Visual Basic自动产生界面设计代码,程序设计人员只需要编写实现程序功能那部分代码,从而可以大大提高程序设计效率。 Visual Basic通过事件来执行对象操作。一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。例如,命令按钮是一个对象,当用户单击该按钮时,将产生一个“单击“(CLICK)事件,而在产生该事件时将执行一段程序,用来
7、实现指定操作。 在用Visual Basic设计大型应用软件时,不必建立具有明显开始和结束程序,而是编写若干个微小子程序,即过程。这些过程分别面向不同对象,由用户操作引发某个事件来驱动完成某种特定功能,或者由事件驱动程序调用通用过程来执行指定操作,这样可以方便编程人员,提高效率。 访问数据库 Visual Basic具有强大数据库管理功能,利用数据控件和数据库管理窗口,可以直接建立或处理Microsoft Access格式数据库,并提供了强大数据存储和检索功能。 Access简介 Microsoft Access 数据库管理系统是Microsoft Office 套件重要组成
8、部分,先后出现了Access 97、Access 2000 和Access XP。其中Access XP是最新版本。Access适用于小型商务活动,用以存贮和管理商务活动所需要数据。Access不仅是一个数据库,而且它具有强大数据管理功能,它可以方便地利用各种数据源,生成窗体(表单),查询,报表和应用程序等。 Microsoft Access是一种关系式数据库,关系式数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。图 4 - 1是一个“学生”表例子。“学生”表由9个记录组成,一个记录占一行,每一个记录由学号、姓
9、名、性别、系号等几个个字段组成。“学号”是字段名,其下面02010101,02010102等是字段值。 表及表之间可以建立关系(或称关联,连接),以便查询相关联信息。Access数据库以文件形式保存,文件扩展名是MDB。 Access 2003数据库由七种对象组成:表、查询、窗体、报表、页、宏和模块。 表(Table) ——表是数据库基本对象,是创建其他6种对象基础。表由记录组成,记录由字段组成,表用来存贮数据库数据,故又称数据表。 查询(Query)——查询可以按索引快速查找到需要记录,按要求筛选记录并能连接若干个表字段组成新表。 窗体(Form)——窗体提供了一种方便浏览、输入及
10、更改数据窗口。还可以创建子窗体显示相关联表内容。窗体也称表单。 报表(Report)——报表功能是将数据库中数据分类汇总,然后打印出来,以便分析。 页(Page) ——也叫数据访问页。是连接到数据库 Web 页,在数据访问页中,可以查看、添加、编辑和操作存储在数据库中数据。数据访问页还可以包括其他来源数据,例如 Microsoft Excel。 宏(Macro)——宏相当于DOS中批处理,用来自动执行一系列操作。Access列出了一些常用操作供用户选择,使用起来十分方便。 模块(Module)——模块功能及宏类似,但它定义操作比宏更精细和复杂,用户可以根据自己需要编写程序。模块使用V
11、isual Basic编程。 三、需求分析 1.功能需求 1. 学生基本信息及所选科目成绩录入或导入。 2. 基本信息查询(分系、班级;分科目)及修改。 3. 对每系或每班各科成绩进行分析(即求单科平均成绩、及格率和优秀率); 4. 对所开课程成绩分析(求其平均成绩,最高分和最低分); 5. 对学生考试成绩进行排名(单科按系别或班级进行排名,对每一个班级,同一学期学 6. 生总体成绩进行排名,并显示各科成绩信息) 2.功能介绍 实现学生成绩优化动态管理 2.系统需求 该学生成绩管理系统采用VB语言开发研制,ACESS作为数据存储。在完成用户需求同时,完成条件查询等
12、功能。 针对学生成绩及其数据特点,可以全面实现对学生成绩插入、查询、修改、删除和输出等功能计算机管理。它能使学生成绩数据工作人员从繁重工作中解脱出来,大大减轻了工作量,减少人为工作失误,全面提高学生成绩管理效率,从而使学校对于学生成绩管理水平和技术水平跃上一个新台阶。 3.安全性及完整性要求: 安全性要求: 1.系统应设置访问用户标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用; 2.系统应对不同数据设置不同访问级别,限制访问用户可查询和处理数据类别和内容; 3.系统应对不同用户设置不同权限,区分不同用户,如区分普通用户(学生),教职工。 完整性要求
13、 1.各种信息记录完整性,信息记录内容不能为空; 2.各种数据间相互联系正确性; 3.相同数据在不同记录中一致 四、系统设计 (1)学生(学号,姓名,性别,年龄,地址,系别),其主关键字为学号; (2)课程(课程名,课程号,学时,学分),其中主关键字为课程号; (3)成绩(课程号,学号,分数)其中主关键字为学号和课程号。可以及学生关系模式合并为:学生(学号,姓名,性别,年龄,地址,系别,成绩,课程号)。 1.功能模块 学生成绩管理系统 信息录入 信息查询 信息修改 信息删除 成绩统计分析 班级信息录入 科目信息录入 学生信息录入 班级内部排名 按学号
14、查询 按姓名查询 学生信息修改 成绩信息修改 学生信息删除 成绩信息删除 单科成绩排名 单科成绩分析 成绩信息录入 不及格情况统计 学生总成绩排名 2.实体联系图分部E-R图 3.数据库设计 创建“成绩管理系统”数据库系统中需要使用数据表。以下为部分表 成绩管理系统 登录表 课程表 学生信息表 学生及课程表 班级表 1、登录 字段 数据类型 字段大小 必填字段 索引 允许为空 用户名 文本 50 是 无 否 密码 文本 50 是 无 否 权限 文本 50 是
15、 无 否 2、课程 字段 数据类型 字段大小 必填字段 允许为空 课程号 文本 4 否 是 课程名称 文本 50 是 否 授课老师 文本 50 否 否 3、学生信息表 字段 数据类型 字段大小 必填字段 允许为空 学号 文本 10 是 否 姓名 文本 12 是 否 性别 文本 50 是 否 年龄 字文本 50 是 否 用户名 文本 10 否 院系 文本 50 是 否 专业 文本 50 是 否 4、学生及课程联系表
16、字段 数据类型 字段大小 必填字段 允许为空 课程号 文本 4 是 是 课程名称 文本 50 否 是 学号 文本 10 是 否 姓名 文本 10 是 否 课程类型 文本 10 是 否 学分 数字 字节 否 是 成绩 数字 字节 否 否 5、班级 字段 数据类型 字段大小 必填字段 索引 允许为空 班级名称 文本 50 是 无 否 所属系别 文本 50 是 无 否 登陆界面及代码部分 Private Sub Text1_KeyPres
17、s(KeyAscii As Integer) If Text1.SelStart <> Len(Text1.Text) Then KeyAscii = 0 End Sub Private Sub Timer1_Timer() Command3.Caption = Time$() End Sub Private Sub Form_Load() Timer1.Interval = 1000 Timer1.Enabled = True centerform Me Set conn = New ADODB.Connection Set rs = New A
18、DODB.Recordset conn.Open "Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=d:\学习\新建文件夹\login.db1.mdb" rs.Open "select * from login", conn, 2, 2 Combo1.Text = "学生" Combo1.Text = "教师" Combo1.Text = "管理员" End Sub Private Sub Command2_Click() If MsgBox("确定退出管理系统?", _ vbQuestion + vbYesNo
19、 + vbDefaultButton2, "警告!") = vbYes Then End End If End Sub Private Sub Command1_Click() If Text1.Text = "" Then MsgBox "用户名不能为空,请输入用户名!", vbCritical, "提示" Else rs.MoveFirst rs.Find "uname= '" & Trim(Text1.Text) & "' " If rs.EOF Then Text1.Text = "" Text2.Text
20、 = "" Text1.SetFocus MsgBox "用户名输入错误,请选择!", vbCritical, "提示" Else If Text2.Text = "" Then MsgBox "密码不能为空,请输入密码!", vbCritical, "提示" Text2.Text = "" Text2.SetFocus ElseIf rs.Fields("upwd") = Text2.Text Then
21、 Select Case rs.Fields("uright") Case 0 If Combo1.Text = "管理员" Then MsgBox "管理员已成功登录!", vbExclamation, "提示" Form3.Show Else MsgBox "您没有此权限!"
22、 vbOKOnly + vbCritical, "提示" End If Case 1 If Combo1.Text = "教师" Then MsgBox "教师已成功登录!", vbExclamation, "提示" Form2.Show
23、 Else MsgBox "您没有此权限!", vbOKOnly + vbCritical, "提示" End If Case 2 If Combo1.Text = "学生" Then MsgBox "学生已成功登录!", vbExclamation, "提示
24、" Form1.Show Else MsgBox "您没有此权限!", vbOKOnly + vbCritical, "提示" End If End Select Else MsgBox ("密码输入错误,请重新输入!"), vbCritical, "提示"
25、 Text2.Text = "" Text2.SetFocus End If End If End If End Sub 部分代码还未完成,在此感谢老师指点辅导 参考资料 [1] 李春葆,张植民. Visual Basic 数据库系统设计及开发,北京:清华大学出版社,2003 [2] 段兴. Visual Basic6.0控件实用程序设计100例,北京:人民邮电出版社, 2002.10 [3] 敬铮,于英杰.Visual Basic6.0数据库开发及专业应用,北京:国防工业出版社,2002.1 4] 佟伟光.Visual Basic程序设计教程,北京:电子工业出版社,2001 [5] 龚沛曾,陆慰民,杨志强.Visual Basic 程序设计教程6.0版,北京:高等教育出版社,2000.7 [6] 王国荣.Visual Basic 6.0数据库程序设计, 北京:人民邮电出版社,1999 [7] 谭浩强,薛淑斌,袁玫. Visual Basic程序设计, 北京:清华大学出版社,2000 20 / 20






