软件专业的vb课程设计报告.docx
- 文档编号:26200667
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:23
- 大小:128.16KB
软件专业的vb课程设计报告.docx
《软件专业的vb课程设计报告.docx》由会员分享,可在线阅读,更多相关《软件专业的vb课程设计报告.docx(23页珍藏版)》请在冰豆网上搜索。
软件专业的vb课程设计报告
武汉理工大学华夏学院
课程设计报告书
课程名称:
《可视化编程》课程设计
题目:
学生信息管理系统
系名:
信息工程系
专业班级:
软件1121
姓名:
学号:
102128
指导教师:
张玉蓉
2014年1月3日
武汉理工大学华夏学院信息工程系
课程设计任务书
课程名称:
可视化编程课程设计指导教师:
张玉蓉
班级名称:
软件1121开课系、教研室:
软件与信息安全
一、课程设计目的与任务
可视化编程课程设计是《可视化程序设计》课程的后续实践课程,旨在通过一周的实践训练,加深学生对理论课程中可视化以及面向对象程序设计概念,原理和方法的理解,加强学生综合运用VB语言进行实际应用,包括界面编程,文件访问,网络编程和数据库编程的能力,进一步提高学生进行程序设计,分析问题和解决问题的能力。
学生将在指导老师的指导下,完成从需求分析,系统设计,编码到测试的全过程。
二、课程设计的内容与基本要求
本课程设计将设计和开发一个小型的VB桌面应用系统,具有注册,登录,信息查询,添加,更新和删除的功能。
要求界面美观,简单实用,功能相对完善,系统流程合理,数据处理正确。
1、《巧虎做家务》游戏的设计与开发:
(1)利用鼠标完成物品的移动;
(2)适量的动画设计,譬如亮闪闪的星星,重点区域的提示;
(3)加入适当的语音提示,提高游戏的乐趣;
2、《巧虎逛大卖场》游戏的设计与开发:
(1)利用鼠标点击和拖动完成物品的移动;
(2)适量的动画设计,譬如亮闪闪的星星,重点区域的提示,此题对动画的要求略高;
(3)加入适当的语音提示,提高游戏的乐趣;
3、《巧虎自行车比赛》游戏的设计与开发:
(1)利用键盘的上下左右键完成自行车的前进后退以及左右移动;
(2)适量的动画设计,譬如亮闪闪的星星,重点区域的提示;
(3)加入适当的语音提示,提高游戏的乐趣;
(4)赛道的可以用静态和动态2种方式生成:
动态生成为加分点
4、《巧虎小马快快跑》游戏的设计与开发:
(1)利用鼠标完成小马的障碍跳跃和指定动作;
(2)适量的动画设计,譬如亮闪闪的星星,重点区域的提示;
(3)加入适当的语音提示,提高游戏的乐趣;
(4)赛道的可以用静态和动态2种方式生成:
动态生成为加分点
5、《巧虎划船大冒险》游戏的设计与开发:
(1)利用键盘的上下键完成游船的左右移动;
(2)适量的动画设计,譬如亮闪闪的星星,重点区域的提示,此题对动画的要求略高;
(3)加入适当的语音提示,提高游戏的乐趣;
(4)河道可以用静态和动态2种方式生成:
动态生成为加分点。
6、小型数据库管理系统的设计与开发:
(1)具有存储数据,新增数据,删除数据,更改数据和搜索查询数据等完善的数据处理功能。
(2)有登陆和退出界面。
(3)要求整体,要求界面美观,简单实用。
具体要完成的任务是:
A.利用VB完成界面设计和代码设计,并能够演示说明。
B.写出规范的课程设计报告书;
三、课程设计步骤及时间进度和场地安排
本课程设计将安排在第18周,教育技术中心214。
具体安排如下:
第一天下发任务书,学生查阅资料
第二天系统设计和原型开发
第三,四天系统功能实现
第五天系统调试测试打包和验收
四、课程设计考核及评分标准
课程设计考核将综合考虑学生考勤和参与度,系统设计方案正确性,系统设计和开发效果以及课程设计报告书的质量。
具体评分标准如下:
设置六个评分点
(1)设计方案正确,具有可行性、创新性;25分
(2)系统开发效果较好;25分
(3)态度认真、刻苦钻研、遵守纪律;10分
(4)设计报告规范、课程设计报告质量高、参考文献充分20分
(5)课程设计答辩概念清晰,内容正确10分
(6)课程设计期间的课堂考勤、答疑与统筹考虑。
10分
按上述六项分别记分后求和,总分按五级记分法记载最后成绩。
优秀(100~90分),良好(80~89分),中等(70~79分),及格(60~69分),
不及格(0~59分)
目录
一、设计题目及要求-4-
1.1问题的描述及要求-4-
1.2实习目的-4-
二、系统流程图分析:
-5-
2.1业务流程分析-5-
2.2数据流程分析:
-5-
三、相关系统设计:
-6-
四、程序的相关界面运行-8-
4.1登陆界面设计-8-
4.2主窗体设计-9-
4.3学生注册页面-11-
五、总结体会:
-15-
七、参考文献-16-
一、设计题目及要求
1.1问题的描述及要求
理解系统开发的必要步骤,绘制流程图、根据流程图编写程序、并自主进行必要的测试与维护。
最后形成规范的设计报告。
学生成绩管理系统主要提供方便高效的管理功能,该实现以下一些基本功能:
1.系统管理模块:
维护系统的正常运行和安全性设置,包括添加用户、修改密码、删除用户等等。
2.学院信息模块:
实现对学校院系、专业、班级操作。
包括:
添加、修改、删除院系、专业、班级等信息。
这三个功能模块各自独立,完成学校的全部班级的管理。
3.学生学籍管理模块:
实现对学生的个人信息的管理工作,包括学籍添加、学籍查询、学籍修改等功能,从而方便学校管理部门对学校的基本情况的快速查询和了解。
4.课程管理模块:
该模块对各个班级的课程进行设置,并可在其中设置各门课程的教材选用情况,方便了学校教材管理部门和教务处的教学管理人员的工作。
该模块包括基本课程设置和班级课程设置两个模块。
5.成绩管理模块:
检验学生学习情况的一个主要手段,本模块包括考试类型设置,共有期中考试和期未考试两种类型,还设置了成绩添加、成绩查询、成绩浏览、成绩修改等功能模块。
6.退出模块:
此模块完成程序的退出。
该程序界面友好,功能强大,适合实际应用。
1.2实习目的
VisualBasic是一个强有力的系统开发软件之一,以其实用、方便、快捷、开发周期短,越来越被广大编程人员所青睐。
VB更容易上手,进而提高软件开发的效率。
通过实际设计,掌握VB应用程序开发软件的设计方法,理解软件工程思想。
本次设计的主要目的是提高学生综合分析问题和解决实际问题的能力,为将来走上工作岗位打下一个良好的基础。
学生应通过接触客观实际,了解和认识所学的专业知识,掌握所学知识在客观实际中的应用,并能亲自动手完成相关题目设计。
把所学的理论知识与实际能力紧密的结合在一起。
二、系统流程图分析:
2.1业务流程分析
2.2数据流程分析:
普通用户(学生):
提供查询(需登录,仅显示登录用户信息)
中等用户(教师):
提供增删改查(需登录,只可操作成绩表,并且教师工号对自己对应的成绩)
管理员(教务处):
提供增删改查(可对学生,教师,成绩等操作)
普通用户:
登录账户为学生学号
中级用户:
登录账号为教师工号,密码自定义,可修改
管理员:
登录账号为特定,密码可修改,可增加特殊账号
三、相关系统设计:
公共模块:
解决登陆用户信息以及数据库标志等公共信息,所以定义通用变量
PublicgUserNameAsString'保存用户名称
PublicgTidAsString'保存教师信息
PublicgStuIDAsString'保存学生登录信息
PublicflagAsInteger'添加和修改的标志
PublicgSQLAsString'保存SQL语句
Publickqsql2AsString'保存查询其他考勤结果SQL语句
PublicArecordIDAsInteger
PublicLrecordIDAsInteger
PublicorecordIDAsInteger
PublicErecordIDAsInteger
PubliciflagAsInteger'数据库是否打开标志
数据库连接选用ADODB连接方式,首先先编写一公共模块,用于存放数据库访问类。
PublicFunctionTransactSQL(ByValsqlAsString)AsADODB.Recordset
DimconAsADODB.Connection
DimrsAsADODB.Recordset
DimstrConnectionAsString
DimstrArray()AsString
Setcon=NewADODB.Connection
Setrs=NewADODB.Recordset
OnErrorGoToTransactSQL_Error
strConnection="Provider=Microsoft.jet.oledb.4.0;DataSource="&App.Path&"\DB\StuData.mdb"
strArray=Split(sql)
con.OpenstrConnection
IfStrComp(UCase$(strArray(0)),"select",vbTextCompare)=0Then
rs.OpenTrim$(sql),con,adOpenKeyset,adLockOptimistic
SetTransactSQL=rs
iflag=1
Else
con.Executesql
iflag=1
EndIf
TransactSQL_Exit:
Setrs=Nothing
Setcon=Nothing
ExitFunction
TransactSQL_Error:
MsgBox"查询错误:
"&Err.Description
iflag=2
ResumeTransactSQL_Exit
EndFunction
解决关闭窗口后程序任在后台运行类:
PublicSubShutdown(OptionalByValForceAsBoolean=False)
DimIAsLong
OnErrorResumeNext
ForI=Forms.Count-1To0Step-1
IfNotForceThen
IfForms.Count>IThen
ExitSub
EndIf
EndIf
NextI
IfForceOr(Forms.Count=0)ThenClose
IfForceOr(Forms.Count>0)ThenEnd
EndSub
识别tab键
PublicSubTabToEnter(KeyAsInteger)
IfKey=13Then
SendKeys"{TAB}"
EndIf
EndSub
四、程序的相关界面运行
4.1登陆界面设计
由于有三类用户同时登陆
其中,学生输入学号登陆,教师登陆由教工号于密码登陆,管理员由账号密码登陆。
代码如下:
PrivateSubcmdOK_Click()
DimsqlAsString
DimrsAsADODB.Recordset
IfTrim(UserName.Text="")Then
MsgBox"没有输入用户名,请重新输入!
",vbOKOnly+vbExclamation,"警告"
UserName.SetFocus
Else
sql="select*fromAdministratorwhereadName='"&UserName.Text&"'"
Setrs=TransactSQL(sql)
Ififlag=1Then
Ifrs.EOF=TrueThen
MsgBox"没有这个用户,请重新输入!
",vbOKOnly+vbExclamation,"警告"
UserName.SetFocus
Else
IfTrim(rs.Fields
(2))=Trim(adPassWord.Text)Then
rs.Close
Me.Hide
gUserName=Trim(UserName.Text)'记录用户
adminFrm.Show
UnloadMe
Else
MsgBox"密码不正确,请重新输入!
",vbOKOnly+vbExclamation,"警告"
adPassWord.SetFocus
adPassWord.Text=""
EndIf
EndIf
Else
UnloadMe
EndIf
EndIf
EndSub
4.2主窗体设计
系统选项中提供管理员注册,修改,删除功能
其中,注册界面代码如下:
代码:
PrivateSubcmdOK_Click()
DimsqlAsString
DimrsAsADODB.Recordset
IfTrim(adName.Text)=""Then
MsgBox"请输入用户名称",vbOKOnly+vbExclamation,"警告"
ExitSub
adName.SetFocus
Else
sql="select*fromAdministratorwhereadName='"&adName.Text&"'"
Setrs=TransactSQL(sql)
'判断用户名是否存在
Ifrs.EOF=FalseThen
MsgBox"这个用户已存在,请重新输入!
",vbOKOnly+vbExclamation,"警告"
adName.SetFocus
adName.Text=""
passW1.Text=""
passW2.Text=""
ExitSub
Else
IfTrim(passW1.Text)=""Then
MsgBox"请输入密码",vbOKOnly+vbExclamation,"警告"
passW1.SetFocus
ExitSub
ElseIfTrim(passW2.Text)=""Then
MsgBox"请再次输入密码!
",vbOKOnly+vbExclamation,"警告"
passW2.SetFocus
ExitSub
ElseIfTrim(passW1.Text)<>Trim(passW2.Text)Then
MsgBox"两次输入不一致,请重新输入",vbOKOnly+vbExclamation,"警告"
passW2.Text=""
passW2.SetFocus
ExitSub
Else
sql="insertintoAdministrator(adID,adName,adPassword,adDepart)values('"&id.Text&"','"&adName.Text&"','"&passW1.Text&"','"&Depart.Text&"')"
CallTransactSQL(sql)
MsgBox"注册成功!
",vbOKOnly+vbExclamation,"添加结果"
Callinit
EndIf
EndIf
EndIf
EndSub
4.3学生注册页面
优化功能:
为用户提供便捷的操作,以及在目标中提到的要求,在学生注册系统中加入了一些便捷操作:
1,由于没个学生由于院系,专业,班级不同学号有所不同所以学号由系统自动生成,以减少人工干预,降低系统出错率。
PrivateSubcmdID_Click()
DimsqlAsString
DimrsAsNewADODB.Recordset
DimendIDAsString
DimtempIDAsString
DimeIDAsString
DimrsaAsString
'Dimfaculty,special,classAsString
IffacultyID=""Then
MsgBox"请输入院系!
",vbOKOnly+vbExclamation,"警告"
faculty.SetFocus
ExitSub
ElseIfspecialID=""Then
MsgBox"请输入专业!
",vbOKOnly+vbExclamation,"警告"
special.SetFocus
ExitSub
ElseIfclassID=""Then
MsgBox"请输入班级!
",vbOKOnly+vbExclamation,"警告"
class.SetFocus
ExitSub
Else
enterTime=Mid(entTime.Value,1,4)
sql="selectidfromstudentwhereidandfID='"&facultyID&"'andspeID='"&specialID&"'andcID='"&classID&"'orderbyiddesc"
Setrs=TransactSQL(sql)
eID=rs(0)
eID=Right(eID,2)+1
'native.Text=classID
'native.Text=sql
endID=Right(Format(1000+eID),2)
'rs.Close
tempID=enterTime&facultyID&specialID&classID&endID
id.Text=tempID
EndIf
EndSub
2,院系,专业,班级都从数据库中提取,在学生表中只存储编号代码。
DimsqlAsString
DimrsAsADODB.Recordset
sql="select*fromspecialwheresName='"&special.Text&"'
Setrs=TransactSQL(sql)
classID=rs(0)
rs.Close
3,由于院系,专业,班级有包含关系所以在这里combobox控件加入代码,实现选择院系后所包含的专业自动加入队列。
PrivateSubfaculty_click()
DimsqlAsString
DimrsAsADODB.Recordset
'DimfIDAsString
DimsAsString
special.Clear'选定院系后刷新获得院系所含专业
specialID=""
class.Clear
classID=""
sql="select*fromfacultywherefName='"&faculty.Text&"'
Setrs=TransactSQL(sql)
facultyID=rs(0)
'rs.Close
sql="select*fromspecialwheresfID='"&facultyID&"'"
Setrs=TransactSQL(sql)
DoWhileNotrs.EOF
s=rs
(1)
special.AddItem(s)
rs.MoveNext
Loop
rs.Close
EndSub
在窗口加载时得将院系信息加入到combobox控件队列,实现代码如下:
PrivateSubForm_Load()
DimsqlAsString
DimrsAsADODB.Recordset
DimfAsString
sql="select*fromfacultywherefName"
Setrs=TransactSQL(sql)
DoWhileNotrs.EOF
f=rs
(1)
fID.AddItem(f)
rs.MoveNext
Loop
rs.Close
EndSub
在选取院系信息后要将院系所包含的专业信息加入到队列,实现代码如下:
PrivateSubfID_Click()
DimsqlAsString
DimrsAsADODB.Recordset
DimsAsString
sID.Clear'选定院系后刷新获得院系所含专业
sql="select*fromfacultywherefName='"&fID.Text&"'"
Setrs=TransactSQL(sql)
facID=rs(0)
'rs.Close
sql="select*fromspecialwheresfID='"&facID&"'"
Setrs=TransactSQL(sql)
DoWhileNotrs.EOF
s=rs
(1)
sID.AddItem(s)
rs.MoveNext
Loop
rs.Close
EndSub
由于班级编号在同一专业不能重复,所以编号由系统自动生成。
当选定院系,专业后系统将从所数据库获得选定院系,专业现存的班级编号,按倒序排列后获得最后的编码,由系统自动加1显示在控件上。
实现代码如下:
PrivateSubinit()
DimtempIDAsString
DimsqlAsString
DimrsAsADODB.Recordset
DimnumAsInteger
sql="selectcIDfromclasswherefID='"&facID&"'andsID='"&speID&"'orderbycIDdesc"
Setrs=TransactSQL(sql)
num=rs(0)
num=num+1+0
rs.Close
cID.Text=num
EndSub
其中参数facID,speID在选取时记录如以下代码:
PrivateSubsID_Click()
DimsqlAsString
DimrsAsADODB.Recordset
sql="select*fro
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 专业 vb 课程设计 报告