跨平台语言程序设计导入项目学生信息管理系统面向对象类的建立与抽象.docx

上传人:b****8 文档编号:10650764 上传时间:2023-02-22 格式:DOCX 页数:28 大小:311.33KB
下载 相关 举报
跨平台语言程序设计导入项目学生信息管理系统面向对象类的建立与抽象.docx_第1页
第1页 / 共28页
跨平台语言程序设计导入项目学生信息管理系统面向对象类的建立与抽象.docx_第2页
第2页 / 共28页
跨平台语言程序设计导入项目学生信息管理系统面向对象类的建立与抽象.docx_第3页
第3页 / 共28页
跨平台语言程序设计导入项目学生信息管理系统面向对象类的建立与抽象.docx_第4页
第4页 / 共28页
跨平台语言程序设计导入项目学生信息管理系统面向对象类的建立与抽象.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

跨平台语言程序设计导入项目学生信息管理系统面向对象类的建立与抽象.docx

《跨平台语言程序设计导入项目学生信息管理系统面向对象类的建立与抽象.docx》由会员分享,可在线阅读,更多相关《跨平台语言程序设计导入项目学生信息管理系统面向对象类的建立与抽象.docx(28页珍藏版)》请在冰豆网上搜索。

跨平台语言程序设计导入项目学生信息管理系统面向对象类的建立与抽象.docx

跨平台语言程序设计导入项目学生信息管理系统面向对象类的建立与抽象

 

跨平台语言程序设计导入项目

学生信息管理系统

(管理信息系统课程设计说明书)

 

1前言

学生信息管理系统(StudentInformationManagementSystem),以下简称SIMS,是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(ManagementInformationSystem)。

它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。

能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询。

在传统模式下利用人工进行学生信息管理,存在着较多的缺点,如:

效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。

诸如这些情况,令学校管理者对学生的信息管理带来了很大困难,严重影响了教育工作者的工作效率。

随着科学技术的不断提高,计算机科学日渐成熟,使用日趋成熟的计算机技术来代替传统的人工模式,来实现学生信息的现代化管理,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点.例如:

检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、便于打印等。

这些优点能够极大地提高学生信息管理的效率,也是学校的科学化、正规化管理,与世界接轨的重要条件。

用计算机制作的学生信息管理系统还可以通过功能强大的Internet网及时的向学生的家长传递该生在校的最新成绩,有助于学校与家长的信息互动,为更好地把握学校的教育方针一定的促进作用!

因此,开发这样一套管理软件成为很有必要的事情。

 

3系统分析

3.1需求分析

21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。

使原本的旧的管理方法越来越不适应现在社会的发展。

许多人还停留在以前的手工操作。

这大大地阻碍了人类经济的发展。

为了适应现代社会人们高度强烈的时间观念,学校信息管理系统软件为学校办公室带来了极大的方便。

(一)教育系统学生管理现状分析

学校工作流程分析

学校工作总体规划由教务人员在学生信息管理系统中完成对运行教务处所需的基本数据的维护,包括这些信息的增加、修改及对各项信息的变动都将在这进行操作。

新的学年,教务人员首先加入年级信息,然后编排班级,再对来校学生进行基本的信息录入,新生入学后由教务人员在学籍系统中完成新学生信息的维护。

(二)学校具体需求分析

学生:

对各科成绩的查询

任课老师:

输入并维护所教科目的学生成绩

教务处:

学校全体成员的信息管理,并对任课老师,班主任等输入的信息进行存库,对学生的信息进行必要的维护。

通过研究调查,本系统需以下功能:

综合学生信息、学生成绩以及信息查询等信息。

方便用户了解和管理学生的全面动态信息。

良好的界面设计,更人性化的设计理念,使用户拥有更轻松的使用心情。

3.2可行性分析

目的:

可行性研究的目的是用最小的代价在尽可能的时间内确定问题是否能解决。

经济性:

由于学校等中小型管理系统并不复杂,且VisualBasic6.0本身要求的运行环境不高,所以一般Windows2000以上的系统环境都可以使用。

实用性:

本学生信息管理系统管理系统无太多复杂的操作要求,也没有过分花哨的装饰品,人性化的设计界面可以使操作者轻易运用自如

4系统设计

4.1设计目标

本系统可以能减少很多不必要的资源,不用象以前那样用冗余的纸张式的管理。

大节省了学校能源。

并且计算机的存储与快速查询功能大大提高了学籍管理的效率,并且还提高了学籍信息管理的精确度。

方便快速的操作,可减少学籍信息管理的漏洞,又减少因工作的冗余出现的错误,并且操作非常简单,可减少许多不很必要的人员,这无论从物质上还是工作人员的工资上都为学校节约了开支。

为学校增加了财富。

数据库分析

用户需求具体有学籍管理系统提供保存、更新、查询、维护,这就需求数据库结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。

4.3系统流程图

 

学生成绩信息管理

学生课程信息管理

系统管理

学生信息管理理

学生成绩录入

学生选课

课程查询

学生信息录入

学生信息修改

学生成绩查询

修改密码

用户管理

 

5系统详细设计

5.1数据库需求分析

5.2数据库逻辑结构设计

(1)kc(课程)见表1

表5-1

字段名

数据类型

是否允许为空

说明

课程号

Char(3)

Notnull

主键

课程名

Char(16)

Notnull

开课学期

tinyint

Notnull

只能为1-8

学时

tinyint

Notnull

学分

tinyint

null

(2)xs_kc(学生选课)见表2

表5-2

字段名

数据类型

是否允许为空

说明

学号

Char(6)

Notnull

主键

课程号

Char(3)

Notnull

主键

成绩

tinyint

null

学分

tinyint

null

(3)xs(学生)见表3

表5-3

字段名

数据类型

是否允许为空

说明

学号

Char(6)

Notnull

主键

姓名

Char(8)

Notnull

专业名

Char(10)

null

性别

Bit

Null

男1,女0

出生日期

SmallDatetime

Null

总学分

tinyint

null

照片

image

Null

备注

text

Null

(4)user1(管理员登录)见表4

表5-4

字段名

数据类型

说明

角色

Char(3)

用户名

Char(6)

主键

密码

Char(6)

Notnull

(5)user2(学生登录)见表5

表5-5

字段名

数据类型

说明

角色

Char(3)

用户名

Char(6)

主键

密码

Char(6)

6.系统实现

6.1系统初始界面

图6-1

“系统初始界面代码”

DimstarttimeAsString

DimendtimeAsString

DimiAsInteger

PrivateSubForm_Load()

starttime=Format(Now,"hh:

mm:

ss")

EndSub

PrivateSubTimer1_Timer()

DimretAsInteger

endtime=Format(Now,"hh:

mm:

ss")

IfDateDiff("s",starttime,endtime)=10Then

DimcnAsADODB.Connection

Setcn=NewADODB.Connection

DimsqlresAsADODB.Recordset

cn.Open"Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;userid=sa;InitialCatalog=master"

Setsqlres=NewADODB.Recordset

sqlres.Open"SELECT*FROMmaster..sysdatabasesWHEREname='xscj'",cn,adOpenDynamic,adLockPessimistic

Ifsqlres.EOF=FalseThen

'Label1.Caption="登陆成功"

cn.Close

UnloadMe

Form1.Show

Else

ret=MsgBox("是否加载数据库",vbYesNo,"XSCJ")

Ifret=vbYesThen

cn.Close

UnloadMe

Form12.Show

Else

cn.Close

End

EndIf

EndIf

EndIf

EndSub

PrivateSubTimer2_Timer()

DimstrAsString

str="系统加载中,请等待..."

i=i+1

Ifi=20Then

i=0

Label1.Caption=""

Else

Label1.Caption=Label1.Caption&Mid(str,i,1)

EndIf

EndSub

6.2附加数据库

图6-2

“附加Server数据库”按钮的click事件添加如下的代码

PrivateSubCommand2_Click()

IfText1.Text=""Then

MsgBox"请选择数据库文件!

",,"XSCJ"

ExitSub

EndIf

OnErrorGoTodataerr

cn.Open"Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;userid=sa;InitialCatalog=master"

cn.Execute("sp_attach_db@dbname='"&strdata&"',@filename1='"&m&"'")

MsgBox"附加成功!

",,"XSCJ"

cn.Close

UnloadMe

Form1.Show

ExitSub

dataerr:

MsgBoxErr.Description,,"XSCJ"

cn.Close

EndSub

6.3登陆界面设计

图6-3

“登录”按钮的click事件添加如下的代码:

PrivateSubCommand1_Click()

IfText1.Text=""OrText2.Text=""Then

MsgBox"请输入完整的登录信息!

"

Text1.SetFocus

ExitSub

EndIf

IfText3.Text=""Then

MsgBox"请输入验证码"

Text3.SetFocus

ExitSub

EndIf

DimiAsInteger

i=Len(Text1.Text)

Ifi<6Then

MsgBox"用户名应为六位数字",,"提示"

Text1.SetFocus

Text1.Text=""

ExitSub

EndIf

i=Len(Text2.Text)

Ifi<6Then

MsgBox"密码应为六位",,"提示"

Text2.SetFocus

Text2.Text=""

ExitSub

EndIf

IfUCase(Trim(Text3.Text))<>Trim(Label4.Caption)Then

MsgBox"验证码输入错误"

Text3.SetFocus

Text3.Text=""

ExitSub

EndIf

DimsqlconAsNewADODB.Connection

DimsqlresAsNewADODB.Recordset

Setsqlcon=NewADODB.Connection

sqlcon.Openconnectstring

Ifoption1.ValueThen

Setsqlres=NewADODB.Recordset

sqlres.Open"select*fromdlglwhere用户名='"+Trim(Text1.Text)+"'and密码='"+Trim(Text2.Text)+"'",connectstring,adOpenDynamic,adLockPessimistic

IfNotsqlres.EOFThen

juese=option1.Caption

yonghuming=Trim(Text1.Text)

mima=Trim(Text2.Text)

MsgBox"登录成功"

sqlres.Close

UnloadMe

MDIForm1.Show

ExitSub

Else

sqlres.Close

MsgBox"用户名或密码错误!

"

Text1.Text=""

Text2.Text=""

Text3.Text=""

Text1.SetFocus

Randomize

i=Int(Rnd*25+65)

j=Int(Rnd*25+65)

k=Int(Rnd*25+65)

l=Int(Rnd*25+65)

Label4.Caption=Chr(i)&Chr(j)&Chr(k)&Chr(l)

ExitSub

EndIf

EndIf

IfOption2.ValueThen

Setsqlres=NewADODB.Recordset

sqlres.Open"select*fromdlwhere用户名='"+Trim(Text1.Text)+"'and密码='"+Trim(Text2.Text)+"'",connectstring,adOpenDynamic,adLockPessimistic

IfNotsqlres.EOFThen

juese=Option2.Caption

yonghuming=Trim(Text1.Text)

mima=Trim(Text2.Text)

MsgBox"登录成功"

sqlres.Close

UnloadMe

MDIForm1.Show

ExitSub

Else

sqlres.Close

MsgBox"用户名或密码错误!

"

Text1.Text=""

Text2.Text=""

Text3.Text=""

Text1.SetFocus

Randomize

i=Int(Rnd*25+65)

j=Int(Rnd*25+65)

k=Int(Rnd*25+65)

l=Int(Rnd*25+65)

Label4.Caption=Chr(i)&Chr(j)&Chr(k)&Chr(l)

EndIf

EndIf

EndSub

 

6.6学生信息查询

图6-6

“查询”按钮的click事件添加如下的代码

PrivateSubCommand1_Click()

DimstrAsString

str="select*fromxs,cxbwherexs.性别=cxb.性别0"

IfText1.Text=""AndText2.Text=""AndCombo1.Text<>"所有专业"Then

str="select*fromxs,cxbwhere专业名='"+Trim(Combo1.Text)+"'andxs.性别=cxb.性别0"

EndIf

IfText1.Text=""AndText2.Text=""AndCombo1.Text="所有专业"Then

str="select*fromxs,cxbwherexs.性别=cxb.性别0"

EndIf

IfText1.Text<>""AndText2.Text=""Then

str="select*fromxs,cxbwhere学号='"&Trim(Text1.Text)&"'andxs.性别=cxb.性别0"

EndIf

IfText1.Text<>""AndText2.Text<>""Then

str="select*fromxswhere学号='"&Trim(Text1.Text)&"'and姓名='"&Trim(Text2.Text)&"'"

EndIf

IfText1.Text=""AndText2.Text<>""Then

str="select*fromxswhere姓名='"&Trim(Text2.Text)&"'"

EndIf

'str="select*fromxswhere学号='"&Trim(Text1.Text)&"'or姓名='"&Trim(Text2.Text)&"'or专业名='"&Trim(Combo1.Text)&"'"

Adodc1.RecordSource=str

Adodc1.CommandType=adCmdText

Adodc1.Refresh

IfAdodc1.Recordset.EOFThen

Text2.Text=""

Combo1.Text="所有专业"

Adodc1.RecordSource="select*fromxs,cxbwherexs.性别=cxb.性别0"

Adodc1.Refresh

Adodc1.Recordset.MoveFirst

EndIf

IfText1.Text<>""OrText2.Text<>""Then

Combo1.Text=Adodc1.Recordset("专业名")

EndIf

EndSub

6.7学生成绩录入

图6-7

“更新”按钮的click事件添加如下的代码

PrivateSubCommand1_Click()

Dim学号,课程名,成绩,学分

IfTrim(Text2.Text)=""Then

MsgBox"成绩不能为空,请输入完整的信息!

",,"提示"

Text2.SetFocus

ExitSub

EndIf

sqlcmd.CommandText="addscore"

sqlcmd.CommandType=adCmdStoredProc

Set学号=sqlcmd.CreateParameter("@学号",adVarChar,adParamInput,6)

sqlcmd.Parameters.Append(学号)

Set课程名=sqlcmd.CreateParameter("@课程名",adVarChar,adParamInput,16)

sqlcmd.Parameters.Append(课程名)

Set成绩=sqlcmd.CreateParameter("@成绩",adInteger,adParamInput)

sqlcmd.Parameters.Append(成绩)

Set学分=sqlcmd.CreateParameter("@学分",adInteger,adParamInput)

sqlcmd.Parameters.Append(学分)

sqlcmd("@学号")=Combo3.Text

sqlcmd("@课程名")=Combo2.Text

sqlcmd("@成绩")=CInt(Text2.Text)

sqlcmd("@学分")=0

Setsqlres=sqlcmd.Execute

MsgBox"更新选课成绩成功",,"提示"

sqlcmd.Parameters.Delete("@学号")

sqlcmd.Parameters.Delete("@课程名")

sqlcmd.Parameters.Delete("@成绩")

sqlcmd.Parameters.Delete("@学分")

Adodc1.RecordSource="selectxs_kc.学号,姓名,专业名,课程名,成绩,xs_kc.学分fromxs,kc,xs_kcwhere课程名='"+Trim(Combo2.Text)+"'and专业名='"+Trim(Combo1.Text)+"'andxs.学号=xs_kc.学号andkc.课程号=xs_kc.课程号"

Adodc1.Refresh

Adodc1.Recordset.MoveLast

EndSub

6.8修改学生成绩

图6-8

6.9学生成绩查询

图6-9

 

6.10用户管理

图6-10

窗体的代码如下

PrivatesqlconAsNewADODB.Connection

PrivatesqlresAsNewADODB.Recordset

PrivateSubCommand1_Click()

sqlres.MoveFirst

Text1.Text=sqlres.Fields(0)

Text2.Text=sqlres.Fields

(1)

Text3.Text=sqlres.Fields

(2)

EndSub

PrivateSubCommand2_Click()

sqlres.MovePrevious

Ifsqlres.BOFThen

sqlres.MoveFirst

EndIf

Text1.Text=sqlres.Fields(0)

Text2.Text=sqlres.Fields

(1)

Text3.Text=sqlres.Fields

(2)

EndSub

PrivateSubCommand3_Click()

sqlres.MoveNext

Ifsqlres.EOFThen

sqlres.MoveLast

EndIf

Text1.Text=sqlres.Fields(0)

Text2.Text=sqlres.Fields

(1)

Text3.Text=sqlres.Fields

(2)

EndSub

PrivateSubCommand4_Click()

sqlres.MoveLast

Text1.Text=sqlres.Fields(0)

Text2.Te

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1