数据流程分析_第1页
数据流程分析_第2页
数据流程分析_第3页
数据流程分析_第4页
数据流程分析_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电子商务数据库技术课程设计报告题目: 学生信息管理系统 院 系: 专业班级: 学 号: 学生姓名: 指导教师: 2013年6月21日第1章:需求分析31 1. 开发目的、背景与意义31.2 系统概述31.3 开发工具简介4第2章:系统分析42.1业务流程分析42.2数据流程分析52.3软件功能设计52.4 E-R图62.5详细设计82.5.1数据库设计82.5.2详细代码设计92.5.2.1公共模块:92.5.2.2登陆界面设计112.5.2.3主窗体设计:132.5.2.5学生注册页面162.5.2.6,信息存储182.5.2.7,密码修改21 第1章:需求分析1 1. 开发目的、背景与意义几年前,各个学校的学生成绩管理基本上都是靠手工进行,随着各个大学,有关学生信息管理工作所涉及的数据量越来越大,有的学校不得不靠增加人力、物力来进行学生信息管理。但手工管理具有效率底、易出错、检索信息慢、对学校的管理提供决信息较为困难等缺点。我校尽管部分学院或系已开出学生信息管理系统,但开发的系统不具有通用性,所以我想借本次课程设计之际,开发一个不仅适用本校各系而且适用于其它各校的通用学生信息管理系统。 建立学生信息管理系统,采用计算机对学生信息进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生信息信息管理工作流程的系统化、规范化和自动化。以上各类信息目前还处于手工或半手工的管理状态,效率低,可靠性差。配备电脑,但实际利用率不高,如果采用计算机进行以上各类信息的管理,必将大大提高工作效率,对学校各类信息的维护及了解起到积极的作用。另外随着计算机网络的持续发展,无论是工作、学习还是生活,将会越来越多地融入到流动的比特中,人们的工作节奏在不断加快,需要快捷的信息来源,并对此作出反应。因此,无论是从目前的现状来看,还是面向未来,一个功能完备的学生信息管理系统的开发都非常有必要。对系统的需求作了较深入的认识,同时也掌握了一定的系统开发理论,借这次课程设计的契机,一方面利用自己的所学小刀试牛,另一方面通过这次实践必将提升自身对软件工程、数据库、程序设计等理论的认识,积累系统开发的经验。1.2 系统概述学生信息管理系统能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如效率低、保密性差,另外时间一长将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生档案信息进行管理具有着手工管理所无法比拟的优点,例如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的。本系统具有较强的实用性和先进性、规范管理、快速查询等特点。1.3 开发工具简介本系统的设计是在Windows XP简体中文版操作系统环境下,使用MS Visual Basic 6.0中文版开发成功的。数据库是MIS中的重要支持技术,在MIS开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统选用的数据库语言介绍如下: Visual Basic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C+编程基础。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统 第2章:系统分析 2.1业务流程分析 2.2数据流程分析普通用户(学生):提供查询(需登录,仅显示登录用户信息)中等用户(教师):提供增删改查(需登录,只可操作成绩表,并且教师工号对自己对应的成绩)管理员(教务处):提供增删改查(可对学生,教师,成绩等操作)普通用户:登录账户为学生学号中级用户:登录账号为教师工号,密码自定义,可修改管理员:登录账号为特定,密码可修改,可增加特殊账号2.3软件功能设计2.4 E-R图教师登录密码性别教师姓名职称所属部门政治面貌民族教师工号籍贯管理员所属部门管理员编号管理员账号密码教师工号学生编号成绩学科编号总评平时成绩期末成绩院系院系编号院系名称2.5详细设计2.5.1数据库设计学生表(student):列字段名类型长度是否为空主键学号Idchar20否是姓名namechar6否否性别sexchar2是否出生年月birthdayDate/time8是否民族nationText8是否籍贯nativeText20是否入学时间enterTimeDate/time10是否院系编号fIDText10是否专业编号speIDText10是否班级编号cIDText10是否教师表:列字段名类型长度是否为空主键教师工号IDtext20否是教师姓名tNametext10否否性别tSextext10是否民族tNationtext10是否籍贯tNativetext10是否政治面貌Politicaltext10是否职称titaltext10是否所属部门departmenttext10是否登录密码passwordtext10是否管理员表:列字段名类型长度是否为空主键管理员编号adIDText10否是管理员账号adNameText10否否密码adPasswordText10否否所属部门adDeparttext10否否成绩表:列字段名类型长度是否为空主键学生编号stuIDText10否否学科编号subIDText10否否平时成绩usualText10否否期末finalText10否否总评effText10否否教师工号teacherIDText10否否院系表:列字段名类型长度是否为空主键院系编号fIDText10否是院系名称fNameText10否否2.5.2详细代码设计2.5.2.1公共模块:解决登陆用户信息以及数据库标志等公共信息,所以定义通用变量Public gUserName As String 保存用户名称Public gTid As String 保存教师信息Public gStuID As String 保存学生登录信息Public flag As Integer 添加和修改的标志Public gSQL As String 保存SQL语句Public kqsql2 As String 保存查询其他考勤结果SQL语句Public ArecordID As Integer Public LrecordID As Integer Public orecordID As Integer Public ErecordID As Integer Public iflag As Integer 数据库是否打开标志数据库连接选用ADODB连接方式,首先先编写一公共模块,用于存放数据库访问类。Public Function TransactSQL(ByVal sql As String) As ADODB.Recordset Dim con As ADODB.Connection Dim rs As ADODB.Recordset Dim strConnection As String Dim strArray() As StringSet con = New ADODB.Connection Set rs = New ADODB.Recordset On Error GoTo TransactSQL_Error strConnection=Provider=Microsoft.jet.oledb.4.0;DataSource=&App.Pat&DBStuData.mdbstrArray = Split(sql)con.Open strConnectionIf StrComp(UCase$(strArray(0), select, vbTextCompare) = 0 Then rs.Open Trim$(sql), con, adOpenKeyset, adLockOptimisticSet TransactSQL = rsiflag = 1 Else con.Execute sqliflag = 1End IfTransactSQL_Exit:Set rs = NothingSet con = NothingExit FunctionTransactSQL_Error:MsgBox 查询错误: & Err.Descriptioniflag = 2 Resume TransactSQL_ExitEnd Function解决关闭窗口后程序任在后台运行类:Public Sub Shutdown(Optional ByVal Force As Boolean = False)Dim I As Long On Error Resume Next For I = Forms.Count - 1 To 0 Step -1 If Not Force Then If Forms.Count I Then Exit Sub End If End If Next I If Force Or (Forms.Count = 0) Then Close If Force Or (Forms.Count 0) Then End End Sub识别tab键Public Sub TabToEnter(Key As Integer) If Key = 13 Then SendKeys TAB End If End Sub2.5.2.2登陆界面设计由于有三类用户同时登陆其中,学生输入学号登陆,教师登陆由教工号于密码登陆,管理员由账号密码登陆。代码如下:Private Sub cmdOK_Click() Dim sql As String Dim rs As ADODB.Recordset If Trim(UserName.Text = ) Then MsgBox 没有输入用户名,请重新输入!, vbOKOnly + vbExclamation,警告 UserName.SetFocus Else sql = select * from Administrator where adName= & UserName.Text & Set rs = TransactSQL(sql) If iflag = 1 ThenIf rs.EOF = True Then MsgBox 没有这个用户,请重新输入!, vbOKOnly + vbExclamation, 警告 UserName.SetFocus Else IfTrim(rs.Fields(2)=Trim(adPassWord.Text)Then rs.Close Me.Hide gUserName = Trim(UserName.Text) 记录用户 adminFrm.Show Unload Me Else MsgBox 密码不正确,请重新输入!, vbOKOnly + vbExclamation, 警告 adPassWord.SetFocus adPassWord.Text = End If End If Else Unload Me End If End IfEnd Sub2.5.2.3主窗体设计:2.5.2.4系统选项中提供管理员注册,修改,删除功能其中,注册界面代码如下:代码:Private Sub cmdOK_Click() Dim sql As String Dim rs As ADODB.Recordset If Trim(adName.Text) = Then MsgBox 请输入用户名称, vbOKOnly + vbExclamation, 警告 Exit Sub adName.SetFocus Else sql = select * from Administrator where adName= & adName.Text & Set rs = TransactSQL(sql)判断用户名是否存在If rs.EOF = False Then MsgBox 这个用户已存在,请重新输入!, vbOKOnly +vbExclamation, 警告 adName.SetFocus adName.Text = passW1.Text = passW2.Text = Exit Sub ElseIf Trim(passW1.Text) = Then MsgBox 请输入密码, vbOKOnly + vbExclamation, 警告 passW1.SetFocus Exit Sub ElseIf Trim(passW2.Text) = Then passW1.SetFocus Exit Sub ElseIf Trim(passW2.Text) = Then MsgBox 请再次输入密码!, vbOKOnly + vbExclamation, 警告passW2.SetFocus Exit Sub ElseIf Trim(passW1.Text) Trim(passW2.Text) Then MsgBox 两次输入不一致,请重新输入, vbOKOnly + vbExclamation, 警告 passW2.Text = passW2.SetFocus Exit Sub Else sql = insert into Administrator ( adID,adName,adPassword,adDepart )values( & id.Text & , & adName.Text & , & passW1.Text & , & Depart.Text & ) Call TransactSQL(sql) MsgBox 注册成功!, vbOKOnly + vbExclamation, 添加结果 Call init End If End If End IfEnd Sub2.5.2.5学生注册页面优化功能:为用户提供便捷的操作,以及在目标中提到的要求,在学生注册系统中加入了一些便捷操作:2.5.2.5.1,由于没个学生由于院系,专业,班级不同学号有所不同所以学号由系统自动生成,以减少人工干预,降低系统出错率。Private Sub cmdID_Click() Dim sql As String Dim rs As New ADODB.Recordset Dim endID As String Dim tempID As String Dim eID As String Dim rsa As String Dim faculty, special, class As StringIf facultyID = Then MsgBox 请输入院系!, vbOKOnly + vbExclamation, 警告 faculty.SetFocusExit Sub ElseIf specialID = Then MsgBox 请输入专业!, vbOKOnly + vbExclamation, 警告 special.SetFocus Exit SubElseIf classID = Then MsgBox 请输入班级!, vbOKOnly + vbExclamation, 警告 class.SetFocus Exit Sub Else enterTime = Mid(entTime.Value, 1, 4) sql = select id from student where id and fID= & facultyID & and speID= & specialID & and cID= & classID & order by id desc Set rs = 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 End If End Sub2.5.2.5.2,院系,专业,班级都从数据库中提取,在学生表中只存储编号代码。Dim sql As String Dim rs As ADODB.Recordset sql = select * from special where sName= & special.Text & Set rs = TransactSQL(sql) classID = rs(0) rs.Close2.5.2.5.3,由于院系,专业,班级有包含关系所以在这里combobox控件加入代码,实现选择院系后所包含的专业自动加入队列。Private Sub faculty_click() Dim sql As String Dim rs As ADODB.Recordset Dim fID As String Dim s As String special.Clear 选定院系后刷新获得院系所含专业 specialID = class.Clear classID = sql = select * from faculty where fName= & faculty.Text & Set rs = TransactSQL(sql) facultyID = rs(0) rs.Close sql = select * from special where sfID= & facultyID & Set rs = TransactSQL(sql) Do While Not rs.EOF s = rs(1) special.AddItem (s) rs.MoveNext Loop rs.Close End Sub2.5.2.6,信息存储由于在表中只存储编号信息,程序中显示名称我们以添加新的班级为例。在窗口加载时得将院系信息加入到combobox控件队列,实现代码如下:Private Sub Form_Load() Dim sql As String Dim rs As ADODB.Recordset Dim f As String sql = select * from faculty where fName Set rs = TransactSQL(sql) Do While Not rs.EOF f = rs(1) fID.AddItem (f) rs.MoveNext Loop rs.Close End Sub在选取院系信息后要将院系所包含的专业信息加入到队列,实现代码如下:Private Sub fID_Click() Dim sql As String Dim rs As ADODB.Recordset Dim s As String sID.Clear 选定院系后刷新获得院系所含专业 sql = select * from faculty where fName= & fID.Text & Set rs = TransactSQL(sql) facID = rs(0) rs.Close sql = select * from special where sfID= & facID & Set rs = TransactSQL(sql) Do While Not rs.EOF s = rs(1) sID.AddItem (s) rs.MoveNext Loop rs.Close End Sub由于班级编号在同一专业不能重复,所以编号由系统自动生成。当选定院系,专业后系统将从所数据库获得选定院系,专业现存的班级编号,按倒序排列后获得最后的编码,由系统自动加显示在控件上。实现代码如下:Private Sub init() Dim tempID As String Dim sql As String Dim rs As ADODB.Recordset Dim num As Integer sql = select cID from class where fID= & facID & and sID= & speID & order by cID desc Set rs = TransactSQL(sql) num = rs(0) num = num + 1 + 0 rs.Close cID.Text = num End Sub其中参数facID ,speID在选取时记录如以下代码:Private Sub sID_Click() Dim sql As String Dim rs As ADODB.Recordset sql = select * from special where sfID= & facID & Set rs = TransactSQL(sql) speID = rs(0) rs.Close Call init End Sub2.5.2.7,密码修改修改用户信息由严谨的逻辑关系控制,确保数据库中信息安全。以修改管理员密码为例。基本流程为:验证原密码-新密码与确认密码相同然后执行修改。代码实现如下:Private Sub cmdOK_Click() Dim sql As String Dim rs As ADODB.Re

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论