正文参考文献.docx
《正文参考文献.docx》由会员分享,可在线阅读,更多相关《正文参考文献.docx(20页珍藏版)》请在冰豆网上搜索。
正文参考文献
1引言
1.1本软件开发的背景
随着计算机与信息技术的普遍提高,越来越多的单位使用计算机来管理档案,这样就在很大程度上提高了管理的效率。
近几年来高校的扩大招生,一方面给广大民众提供了越来越多的教育机会,另一方面也使学校的管理工作加重了。
学生注册管理采用手工录入和打印数据的方式,显然难以保证学生数据的准确无误和实时更新,迫切需要一种新的现代化管理体制对学生进行管理。
1.2本软件开发的意义
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
学生注册管理软件是使用计算机科学管理的办法对学生的学籍、班级、课程、成绩、奖罚信息等进行管理。
不仅具有检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低的优点,还使学生注册信息的实时性、精确性和学生注册工作的各个环节结合起来,极大地提高学生注册管理的效率,减轻了高校学生管理的负担。
本系统所实现的学生注册管理系统就是以VB和Access为编程环境来实现其制作和开发过程的,通过对学生注册管理系统进行需求分析、总体设计和详细设计逐步将一个学生注册管理系统的开发过程呈现出来。
没有可以追求专业性和商品化软件的华丽包装,而是本着简单、实用的原则,既在功能上满足用户的需求,又力求操作简便,使本系统容易掌握和使用。
1.3本软件的研究方法
本软件的主要的目标是设计一套综合性的学生信息管理系统。
在设计的过程中,采用软件工程的思想:
首先制定系统功能说明书;再制定总体设计方案,对软件总体功能模块以及数据库的设计;然后对软件进行测试;在文章的最后进行总结。
2本软件的需求分析
2.1软件简介
学生注册管理软件是一套综合性的学生信息管理系统,主要实现了主要实现了学生学籍、班级、课程、成绩、奖罚的注册管理功能,为了对软件进行安全性管理,添加了用户管理功能。
2.2软件的需求描述
通过调查,要求软件需要有以下功能:
1)要求有良好的界面;
2)较完善的权限管理;
3)原始数据修改简单方便,支持多条件修改;
4)方便的数据查询,支持多条件查询;
5)相应的权限下,删除数据方便简单,数据稳定性好;
6)数据计算自动完成,尽量减少人工干预;
2.3软件的可行性
从技术的可行性和实现条件的可行性进行分析
技术的可行性:
随着计算机的普及和各种应用软件的高速发展,编程技术和数据库技术不断成熟以及它们之间结合也日臻完善,为软件提供了技术的可行性。
条件的可行性:
指导老师的指导、相关参考文献、网上资料以及电脑硬件的发展为软件提供了条件的可行性。
3软件的总体设计
3.1系统的总体功能结构
在实际开发中,系统功能分析需要系统设计开发人员与用户进行全面、深入的交流,以切实了解用户对整个系统期望具有的功能,并共同分析决定系统具有哪些功能。
新系统逻辑方案的提出:
主要明确用户的信息需求,确定新系统的逻辑功能,提出新系统的逻辑方案。
经分析系统共分为八个模块:
用户管理模块、班级管理模块、学生学籍模块、课程管理模块、成绩管理模块、奖惩管理模块、个人信息查询模块,并得到如图3-1所示的系统功能模块组织结构图。
其中每个模块分别实现以下功能:
1)用户管理:
管理使用学生注册管理系统的用户信息,包括系统用户的添加、修改、删除和浏览.
2)班级管理:
管理使用学生的班级信息,包括学生所在班级的添加、修改、删除和查询。
3)学生注册管理:
管理在校学生的学籍信息,包括学生学籍的添加、修改、删除和查询。
4)课程管理:
管理学生课程的各种信息,包括学生课程的基本课程设置和班级课程设置。
5)成绩管理:
管理学生在校的所有成绩,包括学生成绩的添加、修改、删除和查询。
6)奖惩管理:
管理学生在校的奖惩信息,包括学生奖惩管理的添加、修改、删除和查询。
7)个人信息查询:
关于学生的各种相关信息,包括学生的性别、年龄、籍贯、身份等。
图3-1系统总体功能模块组织结构图
3.2数据库的设计
3.2.1绘制系统数据流图
首先介绍一下系统的登陆流程图,如图3-2
图3-2登陆系统流程图
根据系统的功能模块组织结构图,分析各功能模块的流程图,绘制出系统的数据流图,如图3-3并总结出系统所需要用到的“数据字典”。
图3-3系统数据流程图
1)用户数据:
包含的数据项有系统用户名称、登录口令。
2)班级管理数据:
包含的数据项有班号、导师号、专业号、系号。
3)学生学籍管理数据:
包含的数据项有学生的姓名、学号、性别、班级、入学日期、出生日期、联系电话、家庭住址、备注信息。
4)学生课程管理数据:
包含的数据项有课程名称和班号。
5)成绩管理数据:
包含的数据项有考试期号、学生编号、学生班号、考试课程号、考试成绩。
6)奖惩管理数据:
包含的数据项有学生的奖罚名称、奖罚时间、学号。
7)个人信息查询数据:
包含的数据项有学生的学号、姓名、性别、出生日期、班号、入学日期、联系电话、奖罚信息以及成绩信息。
3.2.2数据库的逻辑设计
基于上面系统数据流图以及总结的“数据字典”,设计学生注册管理系统数据库中各个数据表,包括用户表、班级课程表、班级表、学生学籍表、课程表、学生成绩管理表、学生奖惩表、奖罚表共8个数据表。
各个数据表的名称和逻辑结构分别如下图所示。
1)班级课程表:
班级课程数据表命名为“class_Cour”,以“班级编号”作为主索引如表3-1。
表3-1班级课程表(class_Cour)
字段名称
数据类型
字段大小
允许空字符串
班级编号class_NO
文本
20
否
课程名course_Name
文本
20
否
2)班级表:
班级数据表命名为“class_Form”,以“班级编号”作为主索引。
表3-2班级表(class_Form)
字段名称
数据类型
字段大小
允许空字符串
班级编号class_NO
文本
20
否
班级名称class_Name
文本
10
否
导员姓名class_Teacher
文本
10
否
备注信息class_Remarks
文本
60
3)课程名表:
课程数据表命名为“course_Form”,以“课程名”为主索引。
表3课程表(course_Form)
字段名称
数据类型
字段大小
允许空字符串
课程名course_Name
文本
20
否
备注course_Rem
备注
4)奖罚名表:
奖罚数据表命名为表“prize_Form”以奖罚名称为“主索引”
表4奖惩表(prize_Form)
字段名称
数据类型
字段大小
允许空字符串
奖惩名称prize_Name
文本
20
否
备注信息prize_Rem
备注
5)学生奖罚表:
学生奖罚数据表命名为表prize_Stud,以"学号"作为主索引。
其结构如表3-5
表5学生奖惩表(prize_Stud)
字段名称
数据类型
字段大小
允许空字符串
奖惩编号prize_NO
文本
14
否
奖惩学生学号prize_Stu
文本
20
否
奖惩日期prize_Dat
日期/时间
短日期
否
奖惩名称prize_Nam
文本
20
否
6)成绩注册表名:
成绩注册数据表命名为表“Score_Form”,其结构如表3-6,以“班号”为主索引。
表6成绩表(Score_Form)
字段名称
数据类型
字段大小
允许空字符串
成绩号score_NO
文本
14
否
考试期号score_Per
文本
20
否
学生班号score_Cls
文本
20
否
学生编号score_Stu
文本
20
否
考试课程score_Cou
文本
20
否
考试分数score_Sco
数字
单精度型
自动(小数位)
7)学生注册表:
学生注册数据表命名为“student_Form”,其结构如表3-7所示,“学号”为主索引。
表7学生表(student_Form)
字段名称
数据类型
字段大小
允许空字符串
学号student_NO
文本
20
否
姓名student_Name
文本
10
否
性别student_Sex
文本
2
否
出生日期student_Bir
日期/时间
短日期
否
学生编号student_Cla
文本
20
否
联系电话student_Tel
文本
13
否
入学日期student_Esd
日期/时间
短日期
否
家庭住址student_Add
文本
60
否
备注信息student_Rem
备注
8)系统用户数据表:
系统用户数据表命名为“user_Form”,其结构如表3-8所示,并使用“用户名称”字段作为主索引。
表8user_Form用户表
字段名称
数据类型
字段大小
允许空字符串
用户名称user_ID
文本
20
否
用户密码user_PWD
文本
10
否
创建日期user_DATE
日期/时间
短日期
4开发工具和数据库的选择
4.1开发工具的选择
我国的软件开发已经逐步从原来的手工作坊式发展到了软件工程的阶段。
同时,软件开发本身也在不断发展,已从“算法+数据结构=程序”逐步发展到了“设计模式+对象组件+开发工具=程序”。
开发工具的选择,已经成为软件开发成功的要素之一。
开发工具的选择主要决定于两个因素:
所开发系统的最终用户和开发人员。
最终用户需求是一切软件的来源和归宿,也是影响开发工具的决定性因素。
VisualBasic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。
它简单易学、效率高,且功能强大。
在VisualBasic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,可以高效、快速地开发出Windows环境下功
能强大、图形界面丰富的应用软件系统。
综合考虑,我选择用VisualBasic作为开发工具。
4.2数据库的现状和发展
自20世纪70年代关系模型提出后,由于其突出的优点,迅速被商用数据库系统所采用。
据统计,70年代以来新发展的DBMS系统中,近百分之九十是采用关系数据模型,其中涌现出了许多性能优良的商品化关系数据库管理系统。
例如,小型数据库系统Foxpro,ACCESS,PARADOX等;大型数据库系统DB2,INGRES,ORACLE,INFORMIX,SYBASE,SQLSERVER等。
80年代和90年代是RDBMS产品发展和竞争的时代,各种产品经历了从集中到分布,从单机环境到网络环境,从支持信息管理到联机事务处理(OLTP),再到联机分析处理(OLAP)的发展过程,对关系模型的支持也逐步完善,系统的功能不断增强。
4.3数据库的选择
RDBMS的第一代产品主要用于信息管理领域。
这些应用对联机速度的要求不是很高。
第二阶段的主要应用领域转移到了联机事务处理上,提高事务吞吐量,提高事务联机相应性能是各个商家的重点问题。
相对应的关键实现技术是:
性能,提高RDBMS对联机事务响应速度;可靠性。
由于联机事务不允许RDBMS间断运行,在发生故障、软硬件故障时均能有相应的恢复能力,保证联机事务的正常运行、撤销和恢复。
保证数据的完整性和移植性。
第三阶段的热点是联机分析处理。
用户希望数据库系统不仅能够迅速、完美地完成数据处理的任务;而且,希望它能有一定的辅助决策的能力。
因为本软件的需求是终端用户,可选用比较简单的Access97数据库技术,它由六种对象组成,它们是表、查询、窗体、报表、宏和模块。
Access97新增了许多功能,字段类型增加了OLE对象和超级链接,特别是与Internet的融合,在数据库中可以直接链接到指定的Web页面或网络文件,也可以把Web页面上的表格导入到数据库。
Access97可以方便地利用各种数据源,如dBASE,FoxBase,FoxPro,Excel,Word等。
Access97增加了数据库访问的安全机制,可对表一级设置访问许可权。
Access97还可以方便地利用FoxPro数据库、Excel电子表格的数据,还可以和Word混合使用,打印通用信函或信封。
1)表(Table)——表是数据库的基本对象,是创建其他5种对象的基础。
表由记录组成,记录由字段组成,表用来存贮数据库的数据,故又称数据表。
2)查询(Query)——查询可以按索引快速查找到需要的记录,按要求筛选记录并能连接若干个表的字段组成新表。
3)窗体(Form)——窗体提供了一种方便的浏览、输入及更改数据的窗口。
还可以创建子窗体显示相关联的表的内容。
窗体也称表单。
4)报表(Report)——报表的功能是将数据库中的数据分类汇总,然后打印出来,以便分析。
5)宏(Macro)——宏相当于DOS中的批处理,用来自动执行一系列操作。
Access列出了一些常用的操作供用户选择,使用起来十分方便。
6)模块(Module)——模块的功能与宏类似,但它定义的操作比宏更精细和复杂,用户可以根据自己的需要编写程序。
模块使用VisualBasic编程。
4.4连接数据库方法的选择
VB操作数据库的方法一般有两种:
4.4.1使用数据库对象
首先要进行有关数据对象的声明。
例如:
DimMyWsAsWorkspace
DimMyDBAsDatabase
DimWordTabAsRecordset
生成工作区,打开数据库,然后再根据需要打开相应的库表
SetMyWs=DBEngine.CreateWorkspace″″″Admin″″″dbUseJet
SetMyDB=MyWs.OpenDatabase数据库名称FalseFalse
SetWordTab=MyDB.OpenRecordset″表名″dbOpenDynaset
经过测试发现,这种方法只能打开Access97库表,对于Access2000库表却无能为力,会弹出库表格式不对的出错提示。
另外,对数据环境的要求仍比较多。
4.4.2使用ADODB
首先,声明一个链接变量,并根据需要声明记录集变量。
例如
DimLocCnn1AsADODB.Connection
DimLocRst1AsADODB.Recordset
建立与数据库的链接,如果数据库没有口令,最后一行可以不写。
代码如下
SetLocCnn1=NewADODB.Connection
LocCnn1.Open″Provider=Microsoft.Jet.OLEDB.4.0UserID=Admin″&_
″DataSource=″&App.Path&″\数据库名称.mdb″&_
″Mode=ShareDenyNoneExtendedProperties=''PersistSecurityInfo=False″&_
″JetOLEDBDatabasePassword='asp561rbc'″
这种方法虽然代码长一些,但对数据环境要求低,且结构清晰。
另外,这种方法对于Access97及Access2000均能很好地支持,兼容性好。
对于大量插入、删除、修改等操作,只在Connection层进行即可,既可提高速度又可减少代码。
本系统正是采用了第2种方法,即使用ADODB。
5软件的详细设计与实现
建立好数据库后,对软件各功能模块进行设计详细的设计以及编码。
本软件主要可以实现学生的以下注册功能:
学生班级的注册管理、学生学籍的注册管理、学生课程的注册管理、学生成绩的注册管理、学生惩罚的管理、学生个人信息查询。
5.1用户登陆界面
图5-1登陆界面
主要功能是为了对系统进行安全性管理,采用用户名列表和登陆验证的方式进入系统。
只有验证成功才可以进入系统,否则无法登陆系统。
如如图4
界面设计
窗体中添加三个标签控件label1、lbllabels(0)、lbllabels
(1)用于显示“登陆”、“用户名称”、“用户密码”;三个图形控件Image1、Image2、Image3,一个文本框控件txtPassword,一个下拉的组合框控件txtUsername以及两个命令按扭。
见表5-1
表5-1登陆窗体属性设置
控件
属性
设置(说明)
Label1~lbllabel
(1)
Caption
“登陆”“用户名称”“登陆密码”
Image1~Image3
Caption
Image1~Image3
txtUsername
Caption
txtPassword
Caption,PasswordChar
设置用字符“*”代替文本字符
Cmdok、cmdCancle
Caption
“确认”“取消”
主要编写事件代码
PrivateSubcmdOK_Click()
txtSQL="select*fromuser_Formwhereuser_ID='"&txtUserName.Text&"'"
Setmrc=ExecuteSQL(txtSQL,MsgText)
Ifmrc.EOF=TrueThen
MsgBox"没有这个用户,请重新输入用户名!
",vbOKOnly+vbExclamation,"警告"
txtUserName.SetFocus
Else
IfTrim(mrc.Fields
(1))=Trim(txtPassword.Text)Then
OK=True
mrc.Close
Me.Hide
UserName=Trim(txtUserName.Text)
Else
MsgBox"输入密码不正确,请重新输入!
",vbOKOnly+vbExclamation,"警告"
txtPassword.SetFocus
txtPassword.Text=""
EndIf
EndIf
miCount=miCount+1
IfmiCount=3Then
Me.Hide
EndIf
ExitSub//确认
PrivateSubcmdCancel_Click()
OK=False
Me.Hide
EndSub//取消
5.2系统的主界面
图5-2系统主界面
功能:
这个窗体是本系统的主窗体,集成了本系统的所有功能,是整个系统各个管理窗体的父窗体,连接各界面的桥梁。
如图5-2。
界面设计:
界面设计窗体包括一个sbStatusBar控件,以及几个菜单控件claiMenu、couiMenu、cusiMenu、help、prpiMenu、scoiMenu、stsiMenu、sumiMenu并设置对象名分别为“班级管理”、“成绩管理”、“用户管理”、“帮助”、“奖罚管理”、“成绩管理”、“学生注册”、“个人信息查询”等。
在该界面中可以通过控件进入相应的操作,界面简单明了,方便快捷。
代码:
主要代码为各页面连接。
见附件
5.3用户管理界面
图5-3用户管理界面
功能:
本界面主要实现用户的添加、修改、删除以及浏览用户ID的功能。
新的用户可以通过添加用户名称以及用户密码注册;老的用户可以通过左边的列表框浏览用户名然后从列表框选择一用户名称对用户密码进行修改和删除,其中只有输入正确的用户密码才可以实现“修改”的功能。
如图5-3
界面设计:
窗体包括1个标签控件label1显示“用户列表”;2个标签控件组label2(0)~label2
(2)、label3(0)~
(2)分别显示“添加”“修改”“删除”和“用户名称”、“用户密码”、“确认密码”;一个列表框文件list1显示用户名列表;一个图片框文件picture1;2个命令按纽控件command1、command2实现“添加”、“取消”的操作。
如表5-2
表5-2用户管理窗体控件属性
控件
属性
设置(说明)
label1、label2(0)~label2
(2)、label3(0)~
(2)
caption
“用户列表”“添加”“修改”“删除”“用户名称”“用户密码”“密码确认”
List1
caption
picture1
caption
Command1、command2
caption
“添加”“取消”
代码:
添加用户主要代码:
DimmrcAsADODB.Recordset
DimMsgTextAsString
PrivateSubCommand1_Click()
txtSQL="select*fromuser_Form"
Setmrc=ExecuteSQL(txtSQL,MsgText)
mrc.AddNew
mrc.Fields(0)=Trim(Text1(0))
mrc.Fields
(1)=Trim(Text1
(1))
mrc.Fields
(2)=Now
mrc.Update
mrc.Close
Fori=0To2
Text1(i)=""
Next
MsgBox"用户信息添加成功!
",vbOKOnly,"提示"
Listapp
EndSub
5.4学籍管理界面
图5-4学籍管理界面
功能:
本窗体实现学生学籍信息的管理。
用户可以对新入学的学生进行添加工作,而对于老生,可以进行查询、修改和删除的操作。
如图5-4
界面设计:
两个标签控件组label1(0)~label(3)显示添加”、“查询”、“修改”、“删除”和列表中学生的“学号”等相关信息;两个标签控件lable3、label4““学生信息表”、“查询中,请稍后”,以及两个命令按扭控件command1、command5“添加/删除/查询/修改”、“取消”设置;一个组合框按扭划分学生的班级以及一个文本框数组用来输入学生学籍。
代码跟用户管理界面的类似,这里不在累述。
5.5班级管理界面
图5-5班级管理界面
功能:
本窗体实现的是学生班级的注册管理。
用户从左侧可以浏览本校的班级,任意选择其中一个,可以对其进行修改和删除的操作,并且可以添加新的班级。
如图5-5
界面设计:
窗体包括两个命令按扭控件command1、command2;1个标签控件label1用于显示“班级信息列表”;2个标签数组分别显示“添加”以及“班级编号“等;一个picture1控件,和一个MSFlexGrid1控件。
如表5-3
表5-3窗体属性表
控件
属性
设置(说明)
command1,command2
Caption
“添加”、“删除”按纽
Label1~label8
Caption
班级编号,名称,添加,删除,…等
Picture1
Caption
以便导入列表拦
MSFlexGrid1
Caption
以便显示信息
代码与前面的相似,不在赘述。
5.6课程管理界面
图5-6理界面
功能:
本界面主要实现的是对各个班级每学期的课程管理的功能。
用户先找到班号,查看所要学的课程,如果课程列表里已经存在,左移添加,如果课程里表里不存