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

下载本文档

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

文档简介

电子商务数据库技术课程设计报告

题目:学生信息管理系统

院系:_____________

专业班级:

学号:_________

学生姓名:__________________

指导教师:___________________

2013年6月21日

第1章:需求分析.................................................................1

11.开发目的、背景与意义...................................................1

1.2系统概述................................................................1

1.3开发工具简介............................................................2

第2章:系统分析.................................................................3

2.1业务流程分析............................................................3

2.2数据流程分析............................................................3

2.3软件功能设计............................................................4

2.4E-R图...............................................................4

2.5详细设计................................................................6

2.5.1数据库设计........................................................6

2.5.2详细代码设计......................................................7

2.5.2.1公共模块:......................................................7

2.5.2.2登陆界面设计....................................................9

2.5.2.3主窗体设计:...................................................11

252.5学生注册页面.....................................................14

2.5.2.6,信息存储......................................................16

2.5.2.7,密码修改......................................................19

第1章:需求分析

11.开发目的、背景与意义

几年前,各个学校的学生成绩管理基本上都是靠手工进行,随着各个大

学,有关学生信息管理工作所涉及的数据量越来越大,有的学校不得不靠增加人

力、物力来进行学生信息管理。但手工管理具有效率底、易出错、检索信息慢、

对学校的管理提供决信息较为困难等缺点。我校尽管部分学院或系已开出学生信

息管理系统,但开发的系统不具有通用性,所以我想借本次课程设计之际,开发

一个不仅适用本校各系而且适用于其它各校的通用学生信息管理系统。

建立学生信息管理系统,采用计算机对学生信息进行管理,进一步提高办学效

益和现代化水平。帮助广大教师提高工作效率,实现学生信息信息管理工作流程

的系统化、规范化和自动化。以上各类信息目前还处于手工或半手工的管理状态,

效率低,可靠性差。配备电脑,但实际利用率不高,如果采用计算机进行以上各

类信息的管理,必将大大提高工作效率,对学校各类信息的维护及了解起到积极

的作用。另外随着计算机网络的持续发展,无论是工作、学习还是生活,将会越

来越多地融入到流动的比特中,人们的工作节奏在不断加快,需要快捷的信息来

源,并对此作出反应。因此,无论是从目前的现状来看,还是面向未来,一个功

能完备的学生信息管理系统的开发都非常有必要。对系统的需求作了较深入的认

识,同时也掌握了一定的系统开发理论,借这次课程设计的契机,一方面利用自

己的所学小刀试牛,另一方面通过这次实践必将提升自身对软件工程、数据库、

程序设计等理论的认识,积累系统开发的经验。

1.2系统概述

学生信息管理系统能够为用户提供充足的信息和快捷的查询手段。但一直以来人

们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如效率低、

保密性差,另外时间一长将产生大量的文件和数据,这对于查找、更新和维护都带

来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能

己为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对学生档案信息进行管理具有着手工管理

所无法比拟的优点,例如检索迅速、查找方便、可靠性高、存储量大、保密性好、

寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是企业的

科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成

为很有必要的。本系统具有较强的实用性和先进性、规范管理、快速查询等特点。

1.3开发工具简介

本系统的设计是在WindowsXP简体中文版操作系统环境下,使用MSVisual

Basic6.0中文版开发成功的。数据库是MIS中的重要支持技术,在MIS开发过

程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产

品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的

特点及适用范围,本系统选用的数据库语言介绍如下:

VisualBasic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程

序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且

功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必

具有C/C++编程基础。在VisualBasic环境下,利用事件驱动的编程机制、新

颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及

动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据

访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界

面丰富的应用软件系统

2

第2章:系统分析

2.1业务流程分析

2.2数据流程分析

普通用户(学生):提供查询(需登录,仅显示登录用户信息)

中等用户(教师):提供增删改查(需登录,只可操作成绩表,并且教师工号对

自己对应的成绩)

管理员(教务处):提供增删改查(可对学生,教师,成绩等操作)

普通用户:登录账户为学生学号

3

中级用户:登录账号为教师工号,密码自定义,可修改

管理员:登录账号为特定,密码可修改,可增加特殊账号

2.3软件功能设计

2.4E-R图

4

5

2.5.1数据库设计

学生表(student):

列字段名类型长度是否为空主键

学号Idchar20否是

姓名namechar6否否

性别sexchar2是否

出生年月birthdayDate/time8是否

民族nationText8是否

籍贯nativeText20是否

入学时间enterTimeDate/time10是否

院系编号fIDText10是否

专业编号spelDText10是否

班级编号cIDText10是否

教师表:

列字段名类型长度是否为空主键

教师工号IDtext20否是

教师姓名tNametext10否否

性别tSextext10是否

6

民族tNationtext10是否

籍贯tNativetext10是否

政治面貌Politicaltext10是否

职称titaltext10是否

所属部门departmenttext10是否

登录密码passwordtext10是否

管理员表:

列字段名类型长度是否为空主键

管理员编号adIDText10否是

管理员账号adNameText10否否

密码adPasswordText10否否

所属部门adDeparttext10否否

成绩表:

列字段名类型长度是否为空主键

学生编号stuIDText10否否

学科编号sublDText10否否

平时成绩usualText10否否

期末finalText10否否

总评effText10否否

教师工号teacherlDText10否否

院系表:

列字段名类型长度是否为空主键

院系编号fIDText10否是

院系名称fNameText10否否

2.5.2详细代码设计

2.5.2.1公共模块:

解决登陆用户信息以及数据库标志等公共信息,所以定义通用变量

PublicgUserNameAsString'保存用户名称

PublicgTidAsString'保存教师信息

7

PublicgStuIDAsString'保存学生登录信息

PublicflagAsInteger'添加和修改的标志

PublicgSQLAsString'保存SQL语句

Publickqsql2AsString'保存查询其他考勤结果SQL语句

PublicArecordIDAsInteger

PublicLrecordIDAsInteger

PublicorecordIDAsInteger

PublicErecordIDAsInteger

PubliciflagAsInteger

数据库是否打开标志数据库连接选用AD0DB连接方式,首先先编写一公共模块,

用于存放数据库访问类。

PublicFunctionTransactSQL(ByVaisqlAsString)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=z/&App.Pat&

/z\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

8

ExitFunction

TransactSQLError:

MsgBox〃查询错误:〃&Err.Description

iflag=2

ResumeTransactSQL_Exit

EndFunction

解决关闭窗口后程序任在后台运行类:

PublicSubShutdown(OptionalByVaiForceAsBoolean=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

2.5.2.2登陆界面设计

由于有三类用户同时登陆

9

其中,学生输入学号登陆,教师登陆由教工号于密码登陆,管理员由账号密码登陆。

代码如下:

PrivateSubcmdOK_Click()

DimsqlAsString

DimrsAsADODB.Recordset

IfTrim(UserName.Text="〃)Then

MsgBox〃没有输入用户名,请重新输入!〃,vbOKOnly+vbExclamation,,z

警告〃

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)Thenrs.CloseMe.Hide

gUserName=Trim(UserName.Text)'i己录用户

adminFrm.Show

10

UnloadMe

Else

MsgBox〃密码不正确,请重新输入!〃,vbOKOnly+vbExclamation,〃警告〃

adPassWord.SetFocus

adPassWord.Text=〃〃

EndIf

EndIf

Else

UnloadMe

EndIf

EndIf

EndSub

2.5.2.3主窗体设计:

2.5.2.4系统选项中提供管理员注册,修改,删除功能

其中,注册界面代码如下:

11

代码:

PrivateSubcmdOK_Click()

DimsqlAsString

DimrsAsADODB.Recordset

IfTrim(adName.Text)=〃〃Then

MsgBox〃请输入用户名称〃,vbOKOnly+vbExclamation,〃警告〃

ExitSub

adName.SetFocus

Else

sql="select*from

Administrator

where

adName='〃&adName.Text&〃'〃Setrs=TransactSQL(sql)

'判断用户名是否存在

Ifrs.EOF=FalseThen

MsgBox〃这个用户已存在,请重新输入!〃,vbOKOnly

+vbExc1amation,〃警告〃

adName.SetFocus

adName.Text=〃〃

passWl.Text=〃〃

12

passW2.Text=〃〃

ExitSub

Else

IfTrim(passWl.Text)=〃〃Then

MsgBox〃请输入密码〃,vbOKOnly+vbExclamation,〃警告〃

passWl.SetFocus

ExitSub

ElselfTrim(passW2.Text)=〃〃Then

passWl.SetFocus

ExitSub

ElselfTrim(passW2.Text)=〃〃Then

MsgBox〃请再次输入密码!〃,vbOKOnly+vbExclamation,〃警告〃

passW2.SetFocus

ExitSub

ElselfTrim(passWl.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&〃&passWl.Text&"&Depart.Text&〃')〃

CallTransactSQL(sql)

MsgBox〃注册成功!vbOKOnly+vbExclamation,〃添加结果〃

Callinit

EndIf

EndIf

EndIf

EndSub

13

2.5.2.5学生注册页面

优化功能:

为用户提供便捷的操作,以及在目标中提到的要求,在学生注册系统中加入了一

些便捷操作:

2.5.2.5.1,由于没个学生由于院系,专业,班级不同学号有所不同所以学号由

系统

自动生成,以减少人工干预,降低系统出错率。

PrivateSubcmdID_Click()

DimsqlAsString

DimrsAsNewADODB.Recordset

DimendIDAsString

DimtempIDAsString

DimelDAsString

DimrsaAsString

'Dimfaculty,special,classAsString

IffacultylD=〃〃Then

MsgBox〃请输入院系!〃,vbOKOnly+vbExclamation,〃警告〃

14

faculty.SetFocus

ExitSub

ElselfspeciallD=〃〃Then

MsgBox〃请输入专业!〃,vbOKOnly+vbExclamation,〃警告〃

special.SetFocus

ExitSub

ElselfclassID=〃〃Then

MsgBox〃请输入班级!〃,vbOKOnly+vbExclamation,〃警告〃

class.SetFocus

ExitSub

Else

enterTime=Mid(entTime.Value,1,4)

sql="selectidfromstudentwhereidand

fID=〃&facultylD

&〃’andspelD='〃&speciallD&andcID='〃&classID&〃'orderbyid

desc〃

Setrs=TransactSQL(sql)

elD=rs(0)

elD=Right(elD,2)+1

'native.Text=classID

'native.Text=sql

endID=Right(Format(1000+elD),2)

'rs.Close

tempID=enterTime&facultylD&speciallD&classID&endID

id.Text=tempID

EndIf

EndSub

2.5.2.5.2,院系,专业,班级都从数据库中提取,在学生表中只存储编号代码。

DimsqlAsString

DimrsAsADODB.Recordset

sql="select*fromspecialwheresName='〃&special.Text&

Setrs=TransactSQL(sql)

classID=rs(0)

rs.Close

15

2.5.2.5.3,由于院系,专业,班级有包含关系所以在这里combobox控件加入代

码,实现选择院系后所包含的专业自动加入队列。

PrivateSubfaculty_click()

DimsqlAsString

DimrsAsADODB.Recordset

'DimfIDAsString

DimsAsString

special.Clear'选定院系后刷新获得院系所含专业

speciallD二〃〃

class.Clear

classID二〃〃

sql="select*fromfacultywherefName=,z,&faculty.Text&〃'

Setrs=TransactSQL(sql)

facultylD=rs(0)'rs.Close

sql="select*fromspecialwheresfID='〃&facultylD&

Setrs=TransactSQL(sql)

DoWhileNotrs.EOF

s=rs(1)

special.Additem(s)

rs.MoveNext

Loop

rs.Close

EndSub

2.5.2.6,信息存储

由于在表中只存储编号信息,程序中显示名称我们以添加新的班级为例。

16

■FOTBI目回区

在窗口加载时得将院系信息加入到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&〃

17

Setrs=TransactSQL(sql)

facID=rs(O)

'rs.Close

sql="select*fromspecialwheresfID='〃&facID&

Setrs=TransactSQL(sql)

DoWhileNotrs.EOF

s=rs(1)

sID.Additem(s)

rs.MoveNext

Loop

rs.Close

EndSub

由于班级编号在同一专业不能重复,所以编号由系统自动生成。

当选定院系,专业后系统将从所数据库获得选定院系,专业现存的班级编号,

按倒序排列后获得最后的编码,由系统自动加显示在控件上。实现代码如下:

PrivateSubinit()

DimtempIDAsString

DimsqlAsString

DimrsAsADODB.Recordset

DimnumAsInteger

sql

="selectcID

fromclasswherefID='〃&facID&andsID=,〃&spelD&〃'orderbycID

desc〃

Setrs=TransactSQL(sql)

num=rs(0)

num=num+1+0

rs.Close

cID.Text=num

EndSub

其中参数facID,spelD在选取时记录如以下代码:

PrivateSubsID_Click()

DimsqlAsString

DimrsAsADODB.Recordset

18

sql="select*fromspecialwheresfID=,〃&facID&

Setrs=TransactSQL(sql)

spelD=rs(0)

rs.Close

Callinit

温馨提示

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

最新文档

评论

0/150

提交评论