还剩31页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
毕业设计(论文)题目学生信息管理系统设计与实现系别软件工程系专业软件技术班级姓名学号指导老师(职称)日期兰州工业高等专科学校毕业设计(论文)任务书软件工程系2008届计算机软件专业毕业设计(论文)任务书毕业设计(论文)题目VB学生管理系统课题内容性质软件开发课题来源性质教师收集的结合生产实际的课题设计/论文校内(外)指导教师职称工作单位及部门联系方式
一、题目说明(目的和意义)VisualBasic是一个强有力的系统开发软件之一,以其实用、方便、快捷、开发周期短,越来越被广大编程人员所青睐VB更容易上手,进而提高软件开发的效率通过实际设计,掌握VB应用程序开发软件的设计方法,理解软件工程思想本次设计的主要目的是提高学生综合分析问题和解决实际问题的能力,为将来走上工作岗位打下一个良好的基础学生信息管理系统主要包括对学生信息的查询和修改等操作
二、设计(论文)要求(工作量、内容)
(一)系统需求分析(占全部工作量的20%)
1、认真阅读毕业设计任务书,对设计题目的实用性、可行性进行论证
2、收集资料认真阅读毕业设计任务书了解设计目标及要求与开发环境主要是软件环境,即系统中将采用的开发工具,如有异议,可及时与指导老师进行交流
3、设计目标及要求实现对学生信息的查询和修改主要实现以下几方面功能用户登录系统实现用户可以以各种身份登录信息查询包括单项查询和综合查询系统维护包括系统中涉及到的规范化数据字典表的管理、用户管理等
(二)数据库系统分析、设计(占全部工作量的20%)
1、采用VB数据库系统VB+ACCESS
2、设计数据库中需要的表设计表结构,设计表中的字段、类型、长度等
3、分析系统中表之间的关系
(三)程序设计、调试(占全部工作量的30%)
(四)系统测试(占全部工作量的20%)
(五)书写设计论文(占全部工作量的10%)
三、进度表日期内容第15周第一阶段系统需求分析1系统的实用性、可行性分析2业务分析3设计目标4功能设计第16周第二阶段数据库设计1数据库设计设计数据库结构2给出E—R图及相应数据流图第17-18周第三阶段程序设计、调试和系统测试程序编制系统测试系统打包、完成第19-20周第四阶段写毕业论文完成日期答辩日期
四、主要参考文献、资料、设备和实习地点及翻译工作量1主要参考文献
[1]萨师煊王珊数据库系统概论第三版北京高等教育出版社,2000
[2]周霭如、官士鸿、林伟健VisualBasic程序设计北京电子工业出版社,20031
[3]尹贵祥VisualBasic60程序设计案例教程北京中国铁道出版社,20051
[4]美StephenRSchach软件工程北京机械工业出版社,199992设备计算机一台,自己解决3翻译工作量论文摘要指导教师签字教研室主任签字主管系领导签字年月日年月日年月日注本任务书要求一式两份,一份系部留存,一份报教务处实践教学科摘要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统学生成绩管理系统主要提供方便高效的管理功能,该实现以下一些基本功能1系统管理模块维护系统的正常运行和安全性设置,包括添加用户、修改密码、删除用户等等2学院信息模块实现对学校院系、专业、班级操作包括添加、修改、删除院系、专业、班级等信息这三个功能模块各自独立,完成学校的全部班级的管理3学生学籍管理模块实现对学生的个人信息的管理工作,包括学籍添加、学籍查询、学籍修改等功能,从而方便学校管理部门对学校的基本情况的快速查询和了解4课程管理模块该模块对各个班级的课程进行设置,并可在其中设置各门课程的教材选用情况,方便了学校教材管理部门和教务处的教学管理人员的工作该模块包括基本课程设置和班级课程设置两个模块5成绩管理模块检验学生学习情况的一个主要手段,本模块包括考试类型设置,共有期中考试和期未考试两种类型,还设置了成绩添加、成绩查询、成绩浏览、成绩修改等功能模块6退出模块此模块完成程序的退出该程序界面友好,功能强大,适合实际应用关键字数据库ACCESS数据库第一章绪论
1.概述该信息管理系统可以说是一个综合性的学校学生管理系统,它集成了学生学籍管理系统、学生成绩管理系统、学生档案管理系统等多种功能,因而具有较强的实用性和先进性项目提出的意义现在我国的大中专院校的学生信息管理水平普遍不高,有的还停留在纸介质基础上,这种管理手段已不能适应时代的发展,因为它浪费了许多的人力和物力在当今信息时代这种传统的管理方法必然被计算机为基础的信息管理系统所代替如果本系统能被学校所采用,将会改变以前靠手工管理学生成绩的状况,可以树立良好的办学形象,提高工作效率项目开发背景学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,对学生来说也可以轻松的查阅自己在校的成绩以及信息等但是一直以来人们都是靠传统人工的方式管理学生成绩,这种管理方式存在着许多缺点,如效率低,保密性差,另外时间一长,将产生大量的文件和数据,这对于查找,更新和维护都带来了不少的困难随着科学技术的不断提高,计算机对学生信息进行管理,有着手工管理所无法比拟的优点例如检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本低等这些优点能够极大地提高学生信息管理的效率,方便系统管理员对学生成绩等信息的添加,修改,删除,查询,留言等操作,同时一样的方面学生对自己各科成绩查询,学习的交流项目开发的目标建立学生信息管理系统,采用计算机对学生信息进行管理,进一步提高办学效益和现代化水平帮助广大教师提高工作效率,实现学生信息管理工作流程的系统化、规范化和自动化
二、相关技术与开发工具介绍本系统采用面向对象的软件开发办法,以Microsoft公司的可视开发环境VisualBasic
6.0作为主要开发工具,使用MicrosoftAccess2000作为关系数据库,并为VB编程语言中采用ADO数据库编程模型,配合功能强大的SQL查询语言实现建立关系数据库,放问数据库,对数据库的更新,较好地实现了预定的需求功能第二章需求分析通过调查,要求系统需要有以下功能⑴要求有良好的人机界面;⑵较好的权限管理;⑶原始数据修改简单方便,支持多条件修改;⑷方便的数据查询,支持多条件查询;⑸相应的权限下,删除数据方便简单,数据稳定性好;⑹数据计算自动完成,尽量减少人工干预;可行性分析由于本系统管理的对象单一,都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂因此,比较适合于采用数据库管理且学校用于学生管理的微机都是奔腾3以上的机器,在存储量、速度方面都能满足数据库运行的要求在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现数据库是MIS中的重要支持技术,在MIS开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统选用的数据库语言介绍如下VisualBasic是一种可视化的、面对对象和调用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序它简单易学、效率高,且功能强大在VisualBasic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统第三章功能设计
2.3业务流程分析
2.4数据流程分析普通用户(学生)提供查询(需登录,仅显示登录用户信息)中等用户(教师)提供增删改查(需登录,只可操作成绩表,并且教师工号对自己对应的成绩)管理员(教务处)提供增删改查(可对学生,教师,成绩等操作)普通用户登录账户为学生学号中级用户登录账号为教师工号,密码自定义,可修改管理员登录账号为特定,密码可修改,可增加特殊账号软件功能设计第四章详细设计数据库设计学生表student:列字段名类型长度是否为空主键学号IdChar20否是姓名nameChar20否否性别sexChar2是否出生年月birthdayDate/time8是否民族nationText10是否籍贯nativetext10是否入学时间enterTimeDate/time8是否院系编号fIDtext5是否专业编号speIDtext5是否班级编号cIDtext5是否教师表()列字段名类型长度是否为空主键教师工号tIDtext20否是教师姓名tNametext10否否性别tSextext2是否名族tNationtext10是否籍贯tNativetext10是否政治面貌Politicaltext10是否职称titaltext10是否所属部门departmenttext10是否登陆密码passwordtext50是否管理员表()列字段名类型长度是否为空主键管理员编号adIDtext10否是管理员账号adNametext50否否密码adPasswordtext50否否所属部门adDeparttext10否否成绩表()列字段名类型长度是否为空主键学生编号stuIDtext12否否学科编号subIDtext10否否平时成绩usualtext10否否期末finaltext10否否总评efftext10是否教师工号teacherIDtext20否否院系表(faculty)列字段名类型长度是否为空主键院系编号fIDtext2否是院系名称fNametext10否否专业表(special)列字段名类型长度是否为空主键专业编号speIDtext2否是专业名称sNametext50否否所属院系sfIDtext2否否学科表(subject)列字段名类型长度是否为空主键编号subIDtext5否是名称subNametext50否否班级表(class)列字段名类型长度是否为空主键班级编号cIDtext2是否班级名称cNametext50是否所属院系fIDtext2是否所属专业sIDtext2是否程序代码设计要求根据系统的主要功能及上一章的总体设计,系统开发进入第二个阶段详细设计在这一阶段的工作中,主要任务有以下几项
1、根据原型化的开发原则,为系统的每个模块功能进行界面设计,作为进一步优化的基础
2、进行系统的流程分析,为模块的细化做好准备
3、对每个模块进行详细的算法设计详细代码设计公共模块解决登陆用户信息以及数据库标志等公共信息,所以定义通用变量PublicgUserNameAsString保存用户名称PublicgTidAsString保存教师信息PublicgStuIDAsString保存学生登录信息PublicflagAsInteger添加和修改的标志PublicgSQLAsString保存SQL语句Publickqsql2AsString保存查询其他考勤结果SQL语句PublicArecordIDAsIntegerPublicLrecordIDAsIntegerPublicorecordIDAsIntegerPublicErecordIDAsIntegerPubliciflagAsInteger数据库是否打开标志数据库连接选用ADODB连接方式,首先先编写一公共模块,用于存放数据库访问类PublicFunctionTransactSQLByValsqlAsStringAsADODB.RecordsetDimconAsADODB.ConnectionDimrsAsADODB.RecordsetDimstrConnectionAsStringDimstrArrayAsStringSetcon=NewADODB.ConnectionSetrs=NewADODB.RecordsetOnErrorGoToTransactSQL_ErrorstrConnection=Provider=Microsoft.jet.oledb.
4.0;DataSource=App.Path\DB\StuData.mdbstrArray=Splitsqlcon.OpenstrConnectionIfStrCompUCase$strArray0selectvbTextCompare=0Thenrs.OpenTrim$sqlconadOpenKeysetadLockOptimisticSetTransactSQL=rsiflag=1Elsecon.Executesqliflag=1EndIfTransactSQL_Exit:Setrs=NothingSetcon=NothingExitFunctionTransactSQL_Error:MsgBox查询错误Err.Descriptioniflag=2ResumeTransactSQL_ExitEndFunction解决关闭窗口后程序任在后台运行类PublicSubShutdownOptionalByValForceAsBoolean=FalseDimIAsLongOnErrorResumeNextForI=Forms.Count-1To0Step-1IfNotForceThenIfForms.CountIThenExitSubEndIfEndIfNextIIfForceOrForms.Count=0ThenCloseIfForceOrForms.Count0ThenEndEndSub识别tab键PublicSubTabToEnterKeyAsIntegerIfKey=13ThenSendKeys{TAB}EndIfEndSub登陆界面设计由于有三类用户同时登陆其中,学生输入学号登陆,教师登陆由教工号于密码登陆,管理员由账号密码登陆代码如下PrivateSubcmdOK_ClickDimsqlAsStringDimrsAsADODB.RecordsetIfTrimUserName.Text=ThenMsgBox没有输入用户名,请重新输入!vbOKOnly+vbExclamation警告UserName.SetFocusElsesql=select*fromAdministratorwhereadName=UserName.TextSetrs=TransactSQLsqlIfiflag=1ThenIfrs.EOF=TrueThenMsgBox没有这个用户,请重新输入!vbOKOnly+vbExclamation警告UserName.SetFocusElseIfTrimrs.Fields2=TrimadPassWord.TextThenrs.CloseMe.HidegUserName=TrimUserName.Text记录用户adminFrm.ShowUnloadMeElseMsgBox密码不正确,请重新输入!vbOKOnly+vbExclamation警告adPassWord.SetFocusadPassWord.Text=EndIfEndIfElseUnloadMeEndIfEndIfEndSub主窗体设计系统选项中提供管理员注册,修改,删除功能其中,注册界面代码如下代码PrivateSubcmdOK_ClickDimsqlAsStringDimrsAsADODB.RecordsetIfTrimadName.Text=ThenMsgBox请输入用户名称vbOKOnly+vbExclamation警告ExitSubadName.SetFocusElsesql=select*fromAdministratorwhereadName=adName.TextSetrs=TransactSQLsql判断用户名是否存在Ifrs.EOF=FalseThenMsgBox这个用户已存在,请重新输入!vbOKOnly+vbExclamation警告adName.SetFocusadName.Text=passW
1.Text=passW
2.Text=ExitSubElseIfTrimpassW
1.Text=ThenMsgBox请输入密码vbOKOnly+vbExclamation警告passW
1.SetFocusExitSubElseIfTrimpassW
2.Text=ThenMsgBox请再次输入密码!vbOKOnly+vbExclamation警告passW
2.SetFocusExitSubElseIfTrimpassW
1.TextTrimpassW
2.TextThenMsgBox两次输入不一致,请重新输入vbOKOnly+vbExclamation警告passW
2.Text=passW
2.SetFocusExitSubElsesql=insertintoAdministratoradIDadNameadPasswordadDepartvaluesid.TextadName.TextpassW
1.TextDepart.TextCallTransactSQLsqlMsgBox注册成功!vbOKOnly+vbExclamation添加结果CallinitEndIfEndIfEndIfEndSub学生注册页面优化功能为用户提供便捷的操作,以及在目标中提到的要求,在学生注册系统中加入了一些便捷操作1,由于没个学生由于院系,专业,班级不同学号有所不同所以学号由系统自动生成,以减少人工干预,降低系统出错率PrivateSubcmdID_ClickDimsqlAsStringDimrsAsNewADODB.RecordsetDimendIDAsStringDimtempIDAsStringDimeIDAsStringDimrsaAsStringDimfacultyspecialclassAsStringIffacultyID=ThenMsgBox请输入院系!vbOKOnly+vbExclamation警告faculty.SetFocusExitSubElseIfspecialID=ThenMsgBox请输入专业!vbOKOnly+vbExclamation警告special.SetFocusExitSubElseIfclassID=ThenMsgBox请输入班级!vbOKOnly+vbExclamation警告class.SetFocusExitSubElseenterTime=MidentTime.Value14sql=selectidfromstudentwhereidandfID=facultyIDandspeID=specialIDandcID=classIDorderbyiddescSetrs=TransactSQLsqleID=rs0eID=RighteID2+1native.Text=classIDnative.Text=sqlendID=RightFormat1000+eID2rs.ClosetempID=enterTimefacultyIDspecialIDclassIDendIDid.Text=tempIDEndIfEndSub2,院系,专业,班级都从数据库中提取,在学生表中只存储编号代码DimsqlAsStringDimrsAsADODB.Recordsetsql=select*fromspecialwheresName=special.TextSetrs=TransactSQLsqlclassID=rs0rs.Close3,由于院系,专业,班级有包含关系所以在这里combobox控件加入代码,实现选择院系后所包含的专业自动加入队列PrivateSubfaculty_clickDimsqlAsStringDimrsAsADODB.RecordsetDimfIDAsStringDimsAsStringspecial.Clear选定院系后刷新获得院系所含专业specialID=class.ClearclassID=sql=select*fromfacultywherefName=faculty.TextSetrs=TransactSQLsqlfacultyID=rs0rs.Closesql=select*fromspecialwheresfID=facultyIDSetrs=TransactSQLsqlDoWhileNotrs.EOFs=rs1special.AddItemsrs.MoveNextLooprs.CloseEndSub4,由于在表中只存储编号信息,程序中显示名称我们以添加新的班级为例在窗口加载时得将院系信息加入到combobox控件队列,实现代码如下PrivateSubForm_LoadDimsqlAsStringDimrsAsADODB.RecordsetDimfAsStringsql=select*fromfacultywherefNameSetrs=TransactSQLsqlDoWhileNotrs.EOFf=rs1fID.AddItemfrs.MoveNextLooprs.CloseEndSub在选取院系信息后要将院系所包含的专业信息加入到队列,实现代码如下PrivateSubfID_ClickDimsqlAsStringDimrsAsADODB.RecordsetDimsAsStringsID.Clear选定院系后刷新获得院系所含专业sql=select*fromfacultywherefName=fID.TextSetrs=TransactSQLsqlfacID=rs0rs.Closesql=select*fromspecialwheresfID=facIDSetrs=TransactSQLsqlDoWhileNotrs.EOFs=rs1sID.AddItemsrs.MoveNextLooprs.CloseEndSub由于班级编号在同一专业不能重复,所以编号由系统自动生成当选定院系,专业后系统将从所数据库获得选定院系,专业现存的班级编号,按倒序排列后获得最后的编码,由系统自动加1显示在控件上实现代码如下PrivateSubinitDimtempIDAsStringDimsqlAsStringDimrsAsADODB.RecordsetDimnumAsIntegersql=selectcIDfromclasswherefID=facIDandsID=speIDorderbycIDdescSetrs=TransactSQLsqlnum=rs0num=num+1+0rs.ClosecID.Text=numEndSub其中参数facID,speID在选取时记录如以下代码PrivateSubsID_ClickDimsqlAsStringDimrsAsADODB.Recordsetsql=select*fromspecialwheresfID=facIDSetrs=TransactSQLsqlspeID=rs0rs.CloseCallinitEndSub5,修改用户信息由严谨的逻辑关系控制,确保数据库中信息安全以修改管理员密码为例基本流程为验证原密码-新密码与确认密码相同然后执行修改代码实现如下PrivateSubcmdOK_ClickDimsqlAsStringDimrsAsADODB.RecordsetIfTrimoldPas.Text=ThenMsgBox请输入旧密码!vbOKOnly+vbExclamation警告oldPas.SetFocusExitSubElseIfTrimnewPas
1.Text=ThenMsgBox请输入新密码!vbOKOnly+vbExclamation警告newPas
1.SetFocusExitSubElseIfTrimnewPas
2.Text=ThenMsgBox请再次输入新密码vbOKOnly+vbExclamation警告newPas
2.Text=newPas
2.SetFocusExitSubElseIfTrimnewPas
1.TextTrimnewPas
2.TextThenMsgBox两次输入不一致!vbOKOnly+vbExclamation警告newPas
2.Text=newPas
2.SetFocusElsesql=select*fromAdministratorwhereadName=gUserNameSetrs=TransactSQLsqlIfiflag=1ThenIfrs.EOF=TrueThenMsgBox登陆信息出错请重新登陆!vbOKOnly+vbExclamation警告ElseIfTrimrs.Fields2=TrimoldPas.TextThensql=updateAdministratorsetadPassword=newPas
1.TextwhereadName=sql=sqlgUserNameTransactSQLsqlrs.CloseMe.HideMsgBox密码修改成功!vbOKOnly+vbExclamation修改结果UnloadMeElseMsgBox原密码不正确,请重新输入!vbOKOnly+vbExclamation警告oldPas.SetFocusoldPas.Text=EndIfEndIfElseUnloadMeEndIfEndIfEndSub第五章结束语在本系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足因此,该系统必然会存在一些缺陷和不足因为对学生管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求虽然网络在学生管理系统中的应用不是很多,但是未来的发展方向,在本次开发过程由于硬件的限制,未能实现网络功能,因此在以后的系统更新过程中可能会造成一些不必要的数据损失通过开发这个系统,我掌握了项目的基本开发过程,了解了的基本知识巩固了我对VisualBasic的学习,但在这次设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法,以及与同学们之间相互帮助的精神致谢在论文即将完成之际,回顾紧张但又充实的学习班和开发过程,本人在此向所有关心我的及帮助我的老师和同学们致以最真诚的感谢在本次毕业设计中,我从指导老师--------**老师,身上学到了很多东西他认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅他无论在理论上还是在实践中,都给与我很大的帮助,使我得到很大的提高,这对于我以后的工作和学习都有一种巨大的帮助,在此感谢他耐心的辅导在撰写论文阶段,邹老师几次审阅我们的论文,提出了许多宝贵意见,没有他的指导,我们就不能较好的完成课题设计的任务另外,我还要感谢在这几年来对我有所教导的老师,他们孜孜不倦的教诲不但让我学到了很多知识,而且让我掌握了学习的方法,更教会了我做人处事的道理,在此表示感谢同时,在系统开发过程中还有同组的同学也给了我不少帮助,这里一并表示感谢主要参考文献本系统的过程中,主要的参考文献有《VisualBasic
6.0》林陈雷人民邮电出版社《面向对象程序设计系列教材》龚沛曾高等教育出版社《VisualBasic
6.0编程实例精解》何文俊《VisualBasic企业办公系统实例导航开发》刘蒙人民邮电出版社《VisualBasic
6.0数据库开发与专业应用》敬铮国防工业出版社《VisualBasic
6.0数据库程序设计高手》温贤发科学出版社《VisualBasic
6.0程序设计》陈明中央广播电视大学出版社学生信息管理系统普通用户中级用户管理员学生表教师表管理员表成绩表管理员管理员表增查个人信息增查教师信息教师表修改学院信息专业表院系表班级表。