学生学籍成绩管理系统设计报告.docx

上传人:b****6 文档编号:5947824 上传时间:2023-01-02 格式:DOCX 页数:20 大小:22.77KB
下载 相关 举报
学生学籍成绩管理系统设计报告.docx_第1页
第1页 / 共20页
学生学籍成绩管理系统设计报告.docx_第2页
第2页 / 共20页
学生学籍成绩管理系统设计报告.docx_第3页
第3页 / 共20页
学生学籍成绩管理系统设计报告.docx_第4页
第4页 / 共20页
学生学籍成绩管理系统设计报告.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

学生学籍成绩管理系统设计报告.docx

《学生学籍成绩管理系统设计报告.docx》由会员分享,可在线阅读,更多相关《学生学籍成绩管理系统设计报告.docx(20页珍藏版)》请在冰豆网上搜索。

学生学籍成绩管理系统设计报告.docx

学生学籍成绩管理系统设计报告

软件工程课程设计

 

一、前言

学籍管理工作在正常的情况下需对大量的数据进行处理,它们包括,学生学籍信息录入、学生学籍修改、学生基本档案输入、学籍变动、学生成绩录入、学生成绩查询等。

如果由人工去处理这些数据需要花费大量的时间、人力、物力。

学籍管理系统,是在总结以上管理方法的基础上并结合用户的需求对学籍的各种数据进行了有针对性的开发,充分利用VisualBasic具有强大的数据库管理功能及在应用程序开发上高效、灵活的特点,创建了各个过程,目标设计、系统开发背景、开发和运行环境选择、系统功能分析、系统功能模块设计、数据库需求分析、数据库概念结构设计、数据库逻辑结构设计、数据库结构实现、各个功能模块的创建、系统的编译和发行等进行了详细描述。

学籍管理系统设计突出了信息管理系统完整实用的开发方法,系统的最大特点是突出了实用性和实效性,紧密的结合了用户的使用要求,操作方便,有一人进行管理就可以完成大量的学籍管理工作。

二、系统开发工具和数据库简介

 结合本人学习期间所学的有关程序设计的语言为VisualBasic6.0,因此,本系统软件将采用该语言进行设计开发。

下面先介绍一下该工具的好处与特点。

VisualBasic6.0概述

1、VisualBasic6.0简介

无论用户是一个Windows编程新手,还是已经具有丰富的Windows程序设计经验的专业程序开发人员,利用VisualBasic6.0提供的良好开发环境,均可以使你快速地完成所需设计任务。

所谓Visual,中文的意思是“可视化”,它提供了一种创建图形用户界面(GUI)的方法,利用这种方法,用户可不必书写复杂的描述界面元素外观和位置的程序代码,而只需将系统提供的对象放到屏幕上的适当位置,并通过属性窗口进行适当的设置或调整,就可以设计出一个优秀的应用程序界面。

此外,用户除了可以使用单独的VisualBasic6.0程序设计环境进行程序设计外。

VisualBasic6.0程序设计系统还被包括在ExcelAccess等众多Windows功能应用软件中,以供用户进行二次开发。

目前在编制网页上使用较多的VBScript脚本语言实际上是VisualBasic语言的子集。

因此,无论从哪方面讲,用VisualBasic6.0系统开发软件都是一件非常合算的投资。

2、VisualBasic6.0语言的特点

不管你是编制一个小的应用程序,还是开发一套大型的专业系统软件,甚至是开发一个跨越Internet的分布式应用系统软件,VisualBasic6.0都为用户提供了合适的工具。

利用VisualBasic6.0的数据访问特性,用户可创建数据库、前端应用程序、适用于大多数流行数据库格式的服务器组件等。

利用ActiveX技术允许用户使用其他应用程序提供的功能,如MicrosoftWord、MicrosoftExcel,甚至可直接使用由VisualBasic6.0专业版和企业版创建的应用程序和对象。

VisualBasic的Internet功能允许用户使用程序方便地通过Internet访问文档和应用程序,甚至创建Internet应用程序。

用VisualBasic6.0用户创建的是一个真正的EXE文件,该文件可直接运行于操作系统(Windows98/2000/XP或WindowsNT系统),完全脱离VisualBasic系统环境。

并且,该文件可以自由发布,安装到单机或网络服务器上。

此外,VisualBasic6.0还增加了一些新的功能:

具体如下:

①增加了ADO数据对象,该数据访问技术是一个简单的数据模型,可更好地与其它Microsoft和非Microsoft技术集成。

它还是一个通用接口,可用于访问本地或远程数据、连续和离散记录集、用户可访问的数据绑定接口和分层记录集。

②提供了数据环境设计器,其中提供了一种创建ADO对象的交互设计环境,数据环境可作为窗体或报表中所有要求数据对象的数据源,或者通过数据环境的方法和属性由等程序访问,数据环境设计器具有用户连接设计器的全部功能和附加特性,如拖放、分层、分组和合计等。

③数据报表,允许用户使用拖放方法利用任何记录集合快速创建报表。

④数据源,创建可绑定任何控件的数据源用户定义控件和类。

⑤SQL编辑器,允许用户增加新的存储过程至SQL服务器程序和Oracle数据库中,用户还可以使用编辑器编写触发器。

⑥增强的数据窗体向导,现在用户不仅可以构造不绑定至数据控件的代码窗体,而且可以使用ADO代码,该向导已经集成到应用程序向导、Chart向导和FlexGrid向导中。

⑦文件系统对象,VisualBasic6.0提供了改进的在文件系统中移动的程序集,并可创建文本文件和目录。

⑧DataGrid控件,该控件可帮助用户快速构造观察和编辑记录的程序,它也支持新的ADO数据控件。

⑨可视化数据库工具集成(企业版)。

在VisualBasic6.0中用户可以可视地创建数据库和查询、SQL服务器程序、Oracle数据库表、使用拖放方法创建视图,以及自动改变列数据类型。

3、VisualBasic6.0的版本

目前VisualBasic6.0有三种版本,各自满足不同的开发需要。

其中:

①VisualBasic6.0学习版使编程人员可轻松学习和设计一些基本的应用程序。

该版本包括所有的内部控件,连同Grid、Tab和Data_Bound控件。

②VisualBasic6.0专业版为专业编程人员提供了一套进行开发的功能完备的工具。

该版本包括学习版的全部功能连同ActiveX控件,还包括InternetApplicationDesigner(Internet报务器应用程序设计器)、IntegratedVisualDatabaseTools(集成可视化数据库工具)、DataEnvironment(数据环境)、ActiveX污染DataObjects(数据对象,简称ADO)和DynamicHTMLPageDesigner(动态HTML页面设计器)。

③VisualBasic6.0企业版使得专业编程人员能够开发功能强大的组内分布式应用程序。

该版本包括专业版的全部功能连同BackOffice工具,如SQLServerMicrosoftTransactionServer、InternetInformation、VisualSourceSafe、SNAServer。

三、需求分析

3.1设计思想

由于本系统是一个基于C/S的数据库的信息管理系统,所以第一步就是需要利用SQLServer2000建立所需要的数据库,第二步就使用VisualBasic6.0完成该系统客户端应用程序的开发。

3.2可行性分析

可行性分析是系统分析阶段的第二项活动,它的主要目是进一步明确系统的目标、规模与功能,对系统开发背景、必要性和意义进行了调查分析并根据需要和可能提出开发系统的初步方案与计划。

可行性分析是对系统进行全面、概要的分析。

通过调查分析,本系统设计主要有以下三个可行性:

3.2.1操作可行性

本系统操作简单,易于理解,只需通过简单指导,上手较快,系统管理员、教师以及学生均能进行操作,运行环境要求低。

3.2.2技术可行性

本系统在WindowsXPServer开发环境下,利用VisualBasic6.0开发工具,并使用SQLServer2000作为数据库管理系统,来实现学生学籍管理系统的各种功能。

SQLServer2000属于主从时式的数据库服务器这也是主从式数据库服务器的特点,服务器本身重在数据的管理,为客户端应用程序提供一致的接口。

当然也可以使用SQLServer2005为数据库管理系统,开发工具也可以是它的更高版,这样可以提高系统的性能,降低它的局限性。

3.2.3经济可行性

采用新的学生学籍管理系统可取代原系统的手工管理工作,减少人工开支,节省资金,并且可大大提高数据信息的取得,缩短数据信息处理时间,提高学生信息的利用率,使教学质量更进了一个台阶。

3.3功能需求

按照系统开发业务分析要求和原则,在与系统管理人员的充分沟通,整理出学生学籍管理系统所需求的基本功能和用户界面的一些需求,这些需求将作为系统分析和逻辑设计的依据。

3.3.1基本功能需求

能对学生的学籍及成绩进行基本管理,包括:

学生基本信息和学科成绩的存储、输入、删除、修改、查询,以及升留级管理。

学生基本信息应包括:

学号、姓名、出生年份、籍贯、性别、专业、班级、家庭住址、本校住址、个人联系电话、家庭联系电话;成绩信息应包括:

学号、课号、课名、成绩、上课时间、教师号。

查询能够按照:

学号、课号、班级、时间等进行查询。

3.4性能需求

根据VisualBasic6.0的运行需求以及系统的调试需求,至少需要满足以下的软硬件要求:

开发工具:

VisualBasic6.0;

操作系统:

Windows2000/XP;

数据库:

SQLServer2000;

CPU:

2.4GHz以上;

内存:

512以上;

硬盘:

80GB以上;

VGA显示器或更高;

四、系统设计

 4.1系统设计思想

1、采用现有的资源,先进的管理系统开发方案,充分利用学校现有的资源,减少开发中的时间和财力、物力、提高系统开发的水平和应用效果。

2、系统就满足学校的需求,例如学生信息的录入、查询、更新等。

学生录入与排名。

3、系统就具备数据库维护功能,及时根据用户需求进行数据添加、删除、修改等操作。

4.2 系统设计分析

  本系统适用于中小学校,其功能主要分为

   成绩管理:

用于对成绩的输入、修改、查询。

  学籍管理:

用于对学生学籍的录入与修改、查询。

  帮助信息:

用于对本系统的具体操作进行详解。

本系统性能力求易于使用,具体有较高的扩展性和可维护性。

 4.3系统功能分析

录入功能:

为一般用户提供相应的录入功能,为超级用户提供对所有信息的录入功能。

查询功能:

为所有用户提供查询的功能,可查询允许范围内的所有信息。

维护功能:

为一般用户提供查询及相应的修改,删除功能,为超级用户提供对所有信息的修改删除功能。

  帮助功能:

能帮助初次使用者对本系统的应用及处理常见的问题。

  退出功能:

结束并关闭系统。

 4.4学生学籍系统的目标

  节约资源,提高学籍信息的精确度

   本系统能减少很多不必要的资源,不用象以前那样用冗余的纸张式的管理。

大节省了学校能源。

并且计算机的存储与快速查询功能大大提高了学籍管理的效率,并且还提高了学籍信息管理的精确度。

方便快速操作,精减人员,节约开支

方便快速的操作,可减少学籍信息管理的漏洞,又减少因工作的冗余出现的错误,并且操作非常简单,可减少许多不很必要的人员,这无论从物质上还是工作人员的工资上都为学校节约了开支。

为学校增加了财富。

4.5功能模块分解

接口设计

外部接口:

用户一般通过终端进行操作,用户进入界面后进行相应的操作。

硬件接口:

赛扬133、内存32兆以上PC机满足输入端条件。

软件接口:

Windows2000/NT或更高的操作系统。

内部接口:

内部接口(模块之间的接口)

验证模块:

启动系统时,便激活登陆口令界面;

初始化模块:

对系统进行初始化;

系统功能模块:

接收系统功能的相应消息,启动信息录入、信息查询、信息维护等模块。

4.6各模块的具体分析:

学生信息管理:

主要用于学生的基本信息管理(如学号、姓名、性别、出生年月、联系地址等)。

成绩管理:

主要用于学生考试的成绩进行管理              

4.7数据库设计

4.7.1数据流图(略)

4.7.2数据库分析

用户需求具体有学籍管理系统提供保存、更新、查询、维护,这就需求数据库结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。

数据流图描述:

本系统从总体上分为学生信息管理、学生信息浏览、成绩浏览和成绩管理等部分。

每个模块有自己的作用。

4.8数据库表设计

学生基本信息表:

 xsxj.Mdb 

成绩信息表:

 xscj.Mdb

4.9界面设计

4.9.1主要窗体实现:

学生学籍查询,成绩查询,学籍管理,成绩管理以及其他的窗口信息

4.9.2学生的成绩窗口设计

有主窗体直接进入成绩的查询模块。

主要实现成绩的查询等功能。

4.9.3学生学籍窗口设计

有主窗体直接进入学生状况窗口模块。

主要实现学生状况查询等功能。

4.9.4学生学籍管理窗口设计

有主窗体直接进入学生学籍管理窗口模块。

主要实现学生学籍信息的查询、修改等功能。

4.9.5学生成绩管理窗口设计

有主窗体直接进入学生成绩修改窗口模块。

主要实现学生成绩资料查询结果。

五、详细设计及源程序

1、模块module1.Bas

OptionExplicit

DeclareFunctionSetWindowLongLib"user32"Alias"SetWindowLongA"(ByValhwndAsLong,ByValnIndexAsLong,ByValdwNewLongAsLong)AsLong

DeclareFunctionGetWindowLongLib"user32"Alias"GetWindowLongA"(ByValhwndAsLong,ByValnIndexAsLong)AsLong

DeclareFunctionCallWindowProcLib"user32"Alias"CallWindowProcA"(ByVallpPrevWndFuncAsLong,ByValhwndAsLong,ByValMsgAsLong,ByValwParamAsLong,ByVallParamAsLong)AsLong

PublicConstGWL_WNDPROC=(-4)

PublicConstWM_ENDSESSION=&H16

PublicConstWM_QUERYENDSESSION=&H11

PublicpreWinProcAsLong

PublicFunctionWndproc(ByValhwndAsLong,ByValMsgAsLong,ByValwParamAsLong,ByVallParamAsLong)AsLong

Wndproc=CallWindowProc(preWinProc,hwnd,Msg,wParam,lParam)

If(Msg=132)Then

SelectCaseWndproc

Case10,11,12,13,14,15,16,17:

Wndproc=0

ExitFunction

EndSelect

EndIf

EndFunction

2、主窗口form1.frm

OptionExplicit

PrivateSubCommand4_Click()

Form6.Show

EndSub

PrivateSubCommand5_Click()

Form4.Show

UnloadMe

EndSub

PrivateSubCommand6_Click()

Form5.Show

UnloadMe

EndSub

PrivateSubForm_Load()

DimretAsLong

'记录原来的WindowProcedure的位址

preWinProc=GetWindowLong(Me.hwnd,GWL_WNDPROC)

'设定form的windowProcedure到wndproc

ret=SetWindowLong(Me.hwnd,GWL_WNDPROC,AddressOfWndproc)

EndSub

PrivateSubForm_Unload2(CancelAsInteger)

DimretAsLong

'取消Message的截取,而使之又只送往原来的WindowProcedure

ret=SetWindowLong(Me.hwnd,GWL_WNDPROC,preWinProc)

EndSub

 

PrivateSubCommand1_Click()

Form2.Show

UnloadMe

EndSub

PrivateSubCommand2_Click()

Form3.Show

UnloadMe

EndSub

PrivateSubCommand3_Click()

DimyesAsString

yes=MsgBox("你要确定退出?

",32+1,"提示信息")

Ifyes=1Then

UnloadMe

EndIf

EndSub

3、、学籍浏览窗口form2.frm

OptionExplicit

PrivateSubForm_Load()

Data1.DatabaseName=App.Path&"\xsxj.mdb"

DimretAsLong

'记录原来的WindowProcedure的位址

preWinProc=GetWindowLong(Me.hwnd,GWL_WNDPROC)

'设定form的windowProcedure到wndproc

ret=SetWindowLong(Me.hwnd,GWL_WNDPROC,AddressOfWndproc)

EndSub

PrivateSubForm_Unload2(CancelAsInteger)

DimretAsLong

'取消Message的截取,而使之又只送往原来的WindowProcedure

ret=SetWindowLong(Me.hwnd,GWL_WNDPROC,preWinProc)

EndSub

 

PrivateSubCommand1_Click()

Form1.Show

UnloadMe

EndSub

PrivateSubCommand2_Click()

Data1.Recordset.MoveLast

Command4.Enabled=True

Command3.Enabled=False

EndSub

PrivateSubCommand3_Click()

Command4.Enabled=True

Data1.Recordset.MoveNext

IfData1.Recordset.EOFThen

Data1.Recordset.MovePrevious

Command3.Enabled=False

EndIf

EndSub

PrivateSubCommand4_Click()

Command3.Enabled=True

Data1.Recordset.MovePrevious

IfData1.Recordset.BOFThen

Data1.Recordset.MoveFirst

Command4.Enabled=False

EndIf

EndSub

PrivateSubCommand5_Click()

Data1.Recordset.MoveFirst

Command4.Enabled=False

Command3.Enabled=True

EndSub

4、成绩浏览窗口form3.frm

OptionExplicit

PrivateSubCommand2_Click()

Data1.Recordset.MoveLast

Command4.Enabled=True

Command3.Enabled=False

EndSub

PrivateSubCommand3_Click()

Command4.Enabled=True

Data1.Recordset.MoveNext

IfData1.Recordset.EOFThen

Data1.Recordset.MovePrevious

Command3.Enabled=False

EndIf

EndSub

PrivateSubCommand4_Click()

Command3.Enabled=True

Data1.Recordset.MovePrevious

IfData1.Recordset.BOFThen

Data1.Recordset.MoveFirst

Command4.Enabled=False

EndIf

EndSub

PrivateSubCommand5_Click()

Data1.Recordset.MoveFirst

Command4.Enabled=False

Command3.Enabled=True

EndSub

PrivateSubForm_Load()

Data1.DatabaseName=App.Path&"\xscj.mdb"

DimretAsLong

'记录原来的WindowProcedure的位址

preWinProc=GetWindowLong(Me.hwnd,GWL_WNDPROC)

'设定form的windowProcedure到wndproc

ret=SetWindowLong(Me.hwnd,GWL_WNDPROC,AddressOfWndproc)

EndSub

PrivateSubForm_Unload2(CancelAsInteger)

DimretAsLong

'取消Message的截取,而使之又只送往原来的WindowProcedure

ret=SetWindowLong(Me.hwnd,GWL_WNDPROC,preWinProc)

EndSub

 

PrivateSubCommand1_Click()

Form1.Show

UnloadMe

EndSub

5、学籍管理窗口form4.frm

OptionExplicit

PrivateSubCommand1_Click()

Form1.Show

UnloadMe

EndSub

PrivateSubCommand2_Click()

DimnumAsString

DimnAsString

DimsAsInteger

Data1.Recordset.MoveFirst

num=InputBox("请输入要删除的学生学号(三位数)","")

DoWhileNotData1.Recordset.EOF

n=Data1.Recordset.Fields("学号")

Ifnum=nThen

s=MsgBox("确

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1