《【计算机软件毕业设计】基于Delphi7.0的学生信息管理系统.doc》由会员分享,可在线阅读,更多相关《【计算机软件毕业设计】基于Delphi7.0的学生信息管理系统.doc(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、毕业论文学生信息管理系统河北农业大学本科毕业论文(设计)题 目: Delphi 7.0学生信息管理系统 摘 要随着学校规模的不断扩大,学生数量的不断增加,学生的信息量也成倍增长。学生管理工作是学校各项工作的一个重要部分,其管理水平的高低将直接影响到人才的培养质量。面对庞大的信息量,如何有效地提高学生管理工作的效率是一个学校急需解决的问题。因此开发适合学校需要的学生管理信息系统,通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,并减少管理方面的工作量。本文介绍了在Delphi 7.0环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个管理信息系统的过程。通过分析某一学校学
2、生管理的不足,创建了一套行之有效的计算机管理学生的方案。文章介绍了学生管理信息系统的系统分析部分,包括可行性分析、业务流程分析等;系统设计部分主要介绍了系统功能设计和数据库设计及代码设计;系统实现部分说明了几个主要模块的算法,本系统界面友好,操作简单,比较实用。关键字:管理信息系统;学生管理;Delphi;Access。AbstractWith more and more widespread and profound application of information technology in management, the implement of management informa
3、tion system has become mature in technology step by step. Managing information system is a new subject. Enterprise needs existence and development, so enterprise activities should be organized efficiently and organically, which means tightening up the enterprise management and strengthening effectiv
4、e management of any resource (staff, finance, property, etc.) internal the enterprise, and also establishing a management information system fitting in with its own characteristics.This article introduces the detailed process of exploring a management information system under the environment of Delp
5、hi 7.0, utilizing “Top-Bottom” overall plan and a strategy according to “Bottom-Top” application and exploitation. That is to establish a set of effective scheme for student management by computer, through analyzing disadvantages of student management by human resources. This article emphasizes on t
6、hree sections. The system analysis section of student management information includes feasible analysis, management function analysis.The system design section mainly focuses on system function design and data base design and data number design. And the system realization section has provided severa
7、l major function , together with the main windows and programs.This economical and pragmatic system has explicit interface, with simple operation.Keywords: MIS;student management;Delphi;Access。目 录摘 要2Abstract3目 录41 引 言11.1背景和意义11.2系统概况12 系统分析与设计22.1 需求分析22.1.1理解需求22.1.2分析需求22.2 系统分析32.2.1学生管理信息系统的用例
8、分析32.2.2学生管理信息系统的域类分析42.2.3数据库分析52.2.3.1 E-R图分析52.2.3.2表/字段分析和数据库建模72.3 系统设计92.3.1学生管理信息系统的设计92.3.2数据库设计173 系统实现223.1用户登录界面的实现223.2学生管理信息系统主界面的实现243.3新生信息录入界面的实现253.4成绩管理界面的实现253.5学籍变更界面的实现273.6奖励管理界面的实现283.7处罚管理界面的实现293.8查询修改界面的实现304 总结与展望32参考文献33致 谢34301 引 言1.1背景和意义随着Internet和计算机科学技术的飞速发展,人们开始越来越多
9、地利用计算机解决实际问题,而传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息的新一代网络版应用软件,被称为浏览器服务器的B/S结构应用系统越来越流行,它的特点是在客户端直接采用了浏览器作为界面,而不用另外安装软件,其优点在于软件开发效率高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少,即适用于局域网,更适用于Internet,用户可以不必进行服务器方面的投资,而是去租用,甚至是免费使用ISP的服务器资源,因而受到越来越多中小型单位的青睐。如今高校也开始实现管理的信息化,面对大量的学生和教师信息,采用人力处理即浪费时间、又浪费人力和物力,并且数据的准确性低
10、。因此,开发一个界面友好,易于操作的网上学生管理系统进行自动化处理变得十分重要,这正是本系统开发的目的和意义。因此,开发这样一套网上管理系统是很有实际意义的。1.2系统概况管理信息系统(Management Information Systems 简称MIS)在强调信息的现代社会中越来越普及,它从传统的手工方式管理,到计算机化管理,再到如今的网络化管理,经历了技术和管理思想以及方式的不断更新和发展。随着我国教育产业化的飞速发展,社会对教育水平和教学管理的要求日益提高,尤其是对一个学校能够具有一套完善的管理软件提出了更多的要求,以便能够以最快的速度响应教师和学生的需求,及时为他们提供服务,为他们
11、提供一个高效、便捷的环境。随着Internet技术的发展,Web技术已经不在局限于单纯地提供信息服务,而是日益成为一个操作平台,为用户提供强大的服务功能。人们对网络信息的需求越来越大,对网络数据库的交互和查询速度等性能的要求也越来越高。未来学校学生信息管理系统的发展趋势是完全自动化的教务信息管理,随着计算机的普及,信息处理量的逐渐扩大,各种工作都逐渐将由手工转为自动化,将使许多复杂、繁琐、且需要很多人力的工作变得简单。2 系统分析与设计2.1 需求分析需求分析是数据库系统开发的第一步,也是最重要的一步。需求分析可以分为两个过程:一是理解需求,二是分析需求。下面分别分析这两个过程。2.1.1理解
12、需求只有通过对学生管理信息系统的终端用户和客户进行大量的调研,才能真正理解终端用户和客户的需求,才能开发出合理的、实用的管理系统,才能满足各大、中、小学校的管理需要。基于大量的调研数据,下面列出对最典型、最关键的需求。(1)每年开学时,新生来报琶,要对每位新生的信息建立个人档案,这部分工作由学籍科的管理人员进行维护和操作。学生个人档案包括学生学号、姓名、性别、出生日期、所属班级、所属院系、籍贯等。(2)考试结束时,教务科的管理人员将学生各科的成绩录入数据库,以备随时查询。当然录入成绩也有出错的可能,所以,必须具有校对修改成绩的功能。(3)当学生的表现出色或差的时候,学生科的管理人员应对其进行奖
13、励或处罚,相应的奖项(或处罚)和奖励(或处罚)时间的数据都应该入库。(4)当学生因为疾病、学业修完等原因学籍需要变更的时候,学籍科的管理人员应该对其进行学籍变更手续。(5)学生应该具有查询个人信息和成绩的权力和权限。(6)系统还应提供强大的数据统计、查询、报表生成以及打印等功能。(7)系统客户端运行在Windows平台下,服务器端可以运行在Windows平台或者Unix平台下。(8)系统应该有很好的可扩展性。在本系统中主要提供新生信息录入、学籍变更、成绩管理和奖惩管理等相关的功能。2.1.2分析需求分析需求就是描述系统的需求,通过定义系统中的关键域类来建立模型。分析的根本目的是在开发者和提出需
14、求的人之间建立一种理解和沟通的机制,因此学生管理信息系统的需求分析是开发人员和学校管理人员一起完成的。分析需求的第一步是描述学生管理信息系统的功能,即定义用例,以此确定系统的功能需求。一所学校的主要成员就是学生和学校的管理人员、教师、系统管理员等,管理人员主要指学籍科、学生科和教务科的人员,他们是学生管理信息系统的主要使用者。学生也是学生管理信息系统的重要使用者,只是具备的管理权限没有管理人员那么广。系统管理员也是其中一个管理人员,这不影响本系统的功能。学生管理信息系统的用例包括以下内容。新生信息学生成绩(包括录入和校对)学籍变更学生奖励学生处罚学生信息查询修改需要注意的是,学生信息查询修改用
15、例包括学生对个人基本信息和查询和修改,这些信息指的是新生入学时被录入的基本信息。此外,学生还具有查询和打印成绩的权限,查询奖惩情况、学籍变更记录等权限。学生管理信息系统的分析可以用UML的用例图来描述。每个用例还可以以文本的方式描述,描述的内容包括用例以及用例与角色交互的更详细的信息,文本的内容是通过和用户讨论后确定的。下面给出上述用例的描述。(1)新世界生信息增加学生记录标记学生学号确定学生院系确定学生班级(2)学生成绩增加学生成绩记录校对学生成绩(3)学籍变更增加学籍变更记录标记变更原因标记变更时间(4)学生奖励增加学生奖励记录标记奖励项目标记奖励时间(5)学生处罚增加学生处罚记录标记处罚
16、等级标记处罚时间(6)学生信息查询修改查询个人信息修改个人信息保存个人信息查询奖惩情况查询学籍变更情况打印成绩单。2.2 系统分析完成需求分析后,就需要对系统进行UML建模。UML建模是对需求分析结果的模型建立过程。下面进行学生管理信息系统的UML建模过程。2.2.1学生管理信息系统的用例分析在上一章需求分析中列出了学生管理信息系统的全部用例:新生信息、学生成绩、学籍变更、学生奖励、学生处罚、学生信息查询修改。这里,使用权用Rose软件进行UML建模,其用例如图2-1所示。图2-1学生管理信息系统用例图该用例图标记了所有的学生管理住处系统的用例,从中可以得知,学生管理信息系统的角色可以划分为两
17、类。学校管理人员:用例包括学生管理信息系统的所有用例。学生:用例只有学生信息查询修改。要注意的是,学校管理人员具有查询和修改所有数据的权限,处于高权限位置,而学生只有修改个有基本信息、查询奖惩情况、查询学籍变更情况和打印成绩单的权限,处于低权限位置。2.2.2学生管理信息系统的域类分析UML建模的第二步就是域类分析。实际开发学生管理信息系统时,域类分析是建立在用例分析基础上的。要了解系统要处理的概念,最好奖学校的管理人员组织起来开个讨论会,详细谈论和列举所需要包含水量的用例,了解概念和概念之间的关系。学生管理信息系统中的域主要包括:学生(Student)、成绩(Score)、学籍变更(Chan
18、ge)、奖励(Encourage)、处罚(Punish)。可以在类图中将上面这些域以及它们之间的关系表示出来,如图2-2所示。图2-2学生管理信息系统域草图需要说明的是,这里的域类还是处于“草图”状态,定义的操作和属性不是最后的片本,只是 在现阶段看来这些操作和属性是比较合适的,有些操作奖在时序图的草图中定义,而不晨用例哪定义。有些类可以用UML状态图来显示类的对象的不同状态以及改变状态的事件。在本系统中有状态图的类是学生,该类的状态图将在后面的内容中介绍。为了描述域类的动态行为,可以使用权UML的时序图、协作图或者活动图来描述。本文选用时序图。时序图的基础是用例。在时序图中要说明域类是如何协
19、作以操作该系统中的用例。当然,在建立时序图时,将会发现新的操作,并将其加入类中,这将在后面看到所建立的时序图模型。用时序图建模时,需要窗口或对话框作为角色界面。显然,这里需要操作界面的有基本信息、奖励、处罚、学籍变更、修改查询等,此外维护也需要一个操作界面。2.2.3数据库分析在开发学生管理信息系统时,可以先进行E-R图分析,然后对表和字段进行分析,最后进行数据库建模。2.2.3.1 E-R图分析对学生管理信息系统的E-R图分析是建立在UML系统模型基础上的。这里给出E-R图分析的结果。实体关系图的分析结果非常复杂,一般情况下使用从简到繁的方式进行设计。首先从大的方面设计出各个实体之间的关系,
20、然后在这个关系的基础上进行细化。图2-3所示为学生管理信息系统的实体关系简图。图2-3学生管理信息系统的实体关系简图在简图的基础上进一步设计实体关系的详细结构。图2-4所示为学生管理信息系统的实体关系详图。图916只是学生管理信息系统最基本元素的实体关系图,可以在此基础上根据用户的不同需要进行扩展。图2-4学生管理信息系统的实体关系图2.2.3.2表/字段分析和数据库建模表/字段分析是建立在实体关系图基础上。对表和字段分析后就可以建立数据库模型了。以图16所示的学生管理信息系统的实体关系图为基础,可设计表和字段,然后建立数据库模型。建立的数据库模型如图2-5所示。图2-5学生管理信息系统的数据
21、库模型2.3 系统设计2.3.1学生管理信息系统的设计在设计阶段,首先要设计类的状态的图。类的状态图说明了可能的状态以及需要被处理的过渡期,使用状态图可以揭示单个对象在整个系统中的变化细凶,对了解和实现关键类有较大的帮助。不是所有的类都有状态图,在本系统中,有状态图的类是学生。学生的状态图如图2-6所示。图2-6学生的状态图设计UML模型,也就是将前面设计的模型进竽扩展和细化。下面给出各个用例的时序图。设计的目的是产生一个可以使用的解决方案,并且可以容易地将方案转换成程序代码。学生的时序如图2-7所示图2-7学生时序图成绩的时序如图2-8所示。图2-8成绩时序图学籍变更的时序如图2-9所示。图
22、2-9学籍变更时序图奖励的时序如图2-10所示。图2-10奖励时序图处罚的时序如图2-11所示。图2-11处罚时序图查询修改的时序如图2-12所示。图2-12查询修改时序图时序图设计完成后,开始进行学生管理信息系统的架构设计和细节设计。在架构设计中将定义包(子系统)、包间的相关性和基本的通信机制。设计架构时,应该将应用逻辑和技术逻辑分割。应用逻辑是需要编码设计的,而技术逻辑,主要包括用户界面、数据库或者通信一般是已经有的。学生管理信息系统中的包(或者为子系统、层)有如下几个,如图2-13所示。图2-13包和包间关系用户界面包(User Interface Package):为通用用户界面类,调
23、用业务对象包中的操作检索和插入数据,可以简单地把它们看成将来用户要操作的界面。业务对象包(Business Object Package):业务对象包包含上面设计的分析模型的域类。业务对象包同数据库包协同完成任务。数据库包(Database Package):数据库包向业务对象数据包提供服务。应用包(Utility Package):应用包向其他包提供服务。至此,UML系统建模完成。2.3.2数据库设计数据库设计与应用等程序设计是分离的,数据库的设计非常重要。有了数据库模型,数据库的设计就简单多了。在学生管理信息系统中,首先要创建学生管理信息系统数据库,然后在数据库中创建需要的表和字段。下面分
24、别讲述本系统中数据库的设计。本例采用Access2000数据库系统来进行数据库的设计。下面是在Access 中创建表的过程。(1)在创建数据库后,进入主界面,单击“Stu:数据库”子窗口中的“设计”按钮。此时将会出出“表1:表”窗口,如图2-14所示。图2-14开始设计表(2)在表的设计窗口“表1:表”中,按表2-1建立数据字段,并指定字段的数据类型与相关属性。表2-1学生信息数据库(Stuinfo)字 段 名 称数 据 类 型说 明StuId数字编号StuNo数字学号DepartMent文本院系Class文本班级Name文本姓名Sex文本 性别 BirthDay 日期/时间 生日 Nativ
25、ePlace 文本 籍贯建立数据库字段并指定字段的数据类型与相关属性后,字段设计界面如图2-15所示。(3)在StuId字段上单击鼠标右键,选择快捷菜单中的“主键”选项,让StuId字段成为主要索引字段,则StuId 字段前方将出邮一个钥匙图标,如图2-16所示。图2-15字段设计图2-16设置“StuId”字段为主键(4)字段设计完毕后,单击工具栏中的“保存”按钮,此时将会出现“另存为”对话框,在“表名称”文本框输入“StuInfo”,如图2-17所示,然后单击“确定”按钮将这个表保存。(5)回到“Stu:数据库”子窗口中,如果出现了StuInfo 这个表项目,就代表现在已经完成学生数据文件
26、的设计,如图2-18所示。图2-17保存表图2-18完成数据库中的表创建工作(6)重复步骤(1)(5),按表2-2、表2-3、表2-4、表2-5建立表,并指定表中各字估的数据类型与相关属性。表2-2字籍变更数据表(Change)字 段 名 称数 据 类 型说 明StuNo 数字学号Name 文本 姓名Class文本 班级DeparMent文本 院系ChangeName文本 学籍变更项ChangeTime 日期/时间 学籍变更时间Remark 文本 备注图2-3学生奖励数据表(Encourage)字 段 名 称数 据 类 型说 明 StuNo 数字 学号 Name 文本 姓名 Class 文本
27、班级 DeparMent 文本 院系 EncourageName 文本 奖励项 EncourageTime 日期/时间 奖励时间表2-4学生处罚数据表(Punish)字 段 名 称数 据 类 型说 明 StuNo 数字 学号 Name 文本 姓名 Class 文本 班级 DepartMent 文本 院系 PunishName 文本 处罚项 PunishTime 日期/时间 处罚时间表2-5学生成绩数据表(Score)字 段 名 称数 据 类 型说 明 ScoreId 数字 编号 StuNo 数字 学号 Name 文本 姓名 Course 文本 课程 Score 数字 成绩(7)将这些表分别名为
28、Change、Encourage、Punish、Score,主键分别为:StuNo、StuNo、StuNo、Scoreld,设计结果如图2-19所示。,(8)回到“Stu:数据库”子窗口中,出现了StuInfo、Change、Encourage、Punish、Scores个表项目,完成数据文件的设计,如图2-20所示。图2-19完成数据库表项目的设计图2-20完成后端数据库创建工作3 系统实现以上内容完成了数据库的后台工作,建立起了能够保障系统顺利、正确运行的后台。界面设计工作在进行系统开发的时候是必不可少,也是十分重要的。下面就对学生管理信息系统的界面设计。3.1用户登录界面的实现利用用户登
29、录成功能实现对用户操作权限的限制。管理员和学生的权限不一样,管理员拥有系统的所有权限,学生只有查询修改个人信息和打印成绩单的权限。用户必须输入正确的密码才能进入下一界面,如果用户的密码输入错误,应用程序会提示错误信息。用户如果连续3次输入错误,应用程序会强迫使用者退出并终止应用程序的运行,图3-1所示是用户登录界面窗体。图3-1用户登录界面窗体 学生管理信息系统启动时,首先出现的是系统主界面。单击系统主界面中工具栏的“用户登录”按钮,就弹出用户登录界面。程序从配置文件中获取管理员和学生的密码,和用户输入的密码比较,如果密码正确,则根据身份配权限;如果不正确,则提示用户重输或退出:重输3次以上,
30、系统自动退出。代码如下:Proctdure TLoginFrm.BitBtn1Click(Sender:TObject);/“用户登陆”按钮的单击事件Var pwdfile:textfile;PwdStr:string;Begin if RadioButton1.checked=True then assingnfile(pwdfile,.Admini.cfg); if RadioButton2.checked=True then assingfile(pwdfile,.student.cfg); reset(pwdfile); readln(pwdfile,pwdStr); closefil
31、e(pwdfile); Times:=Times=1; If edit1.Text=PwdStr then begin close; StuMainFrm.Enabled:=True StuMainFrm.PageControll.ActivePage:=StuMainFrm.Tabsheet6; StuMainFrm.PageControll.Visible:=true; if Radiobuttonl.checked=True then begin StuMainFrm.ToolButton2.Enabled:=Ture; StuMainFrm.Toolbutton3.Enabled:=T
32、rue; StuMainFrm.ToolButton4.Enabled:=True; StuMainFrm.ToolButton5.Enabled:=True; StuMainFrm.ToolButton8.Enabled:=True; StuMainFrm.ToolButton6.Enabled:=True; end; if RadioButton2.checked=True then begin StuMainFrm.ToolButton6.Enabled:=True; end;endelsebegin if MessageDlg(密码输入错误,是否退出?,mtContirmation,m
33、bYes,mbNo,0)=mryes then begin close; StuMainFrm.Enabled:=True; end else begin if times3 then editl.SetFocus else begin MessageDlg(对不起,密码输入严重错误,请退出!,mtInformation,mbOk,0); Application.Terminate; end;end;end;end;为了防止用户多次重输密码,限制了输入了次数为3次,因此需要对次数进行初始化,活加代码如下:Procedure TLoginFrm.FormShow(Sender:TObject);
34、Begin Times:=0;End;3.2学生管理信息系统主界面的实现学生管理信息系统主界面主要实现新生信息录入、成绩管理、学籍变更、处罚管理、奖励管理和查询修改的功能。选择该界面中工具栏中的不同按钮,就会进入实现不同功能的窗体。图3-2是图书馆理系统主界面窗体。图3-2学生管理信息系统主界面窗体这里主要介绍与数据库相关的组件的属性,如表3-1所示。表3-1学生管理信息系统主界面中数据库组件的属性设置组 件属 性属 性 值 Table1 DatebaseName Student TableName Stulnfo Table2 DatebaseName Student TableName C
35、hange Table3 DatebaseName Student TableName Encourage Table4 DatebaseName Student TableNsam Punish Table5 DatebasdeName Student TableName Score Query1 DatebaseName Student Query2 DatebaseName Student Query3 DatebaseName Student Query4 DatebaseName Student Query5 DatebaseName Student DataSource1 Data
36、Set Table1 DataSource2 DataSet Query2 DataSource3 DataSet Query3 DataSource4 DataSet Query4 DataSource5 DataSet Table5 DataSource6 DataSet Query5 3.3新生信息录入界面的实现新生信息录入界面主要实现学生信息的添加功能,包括学号、性别、出生日期、籍贯、姓名、班级、所属院系等信息的添加,图3-3是新生信息录入界面窗体。图3-3新生信息录入界面窗体3.4成绩管理界面的实现成绩管理界面主要实现成绩的添加和校对修改的功能,图3-4是成绩管理界面窗体。图3-4成
37、绩管理界面窗体当管理员选择了一位学生后,输入各科成绩,程序把数据保存到数据库。代码如下:Procedure TStuMainFrm.BitBtn9Click(Sender:TObject);/“添加”按钮的单击事件var StuNo,StuName:string; i:integer;begin with Query do begin close; Sql.Clear; Sql.Add(Select StuNo from Score Whers StuNo=+DbEdit6.Text+); Open; if recordcount=0 then begin StuNo:=DbEdit6.Tex
38、t; StuName:=DbEdit7.Text; for i:=l to 12 do begin if Coursei0then with Table5 do begin Open; Append; SetFields(nil,StuNo,kStuName,Coursei,Scorei); Post; end;end;end else MessageDlg(对不起,该记录已经存在!,mtInformation,mbOk,0);end;end;3.5学籍变更界面的实现学籍变更界面是实现学生学籍变更的功能,图3-5是学籍变更界面窗体。图3-5学籍变更界面窗体当管理员选择了学籍需要变更的学生后,输
39、入变更项和变更时间,程序把数据保存到数据库。代码如下:procedure TStuMainFrm.BitbtnlClick(Sender: Tobject);/“添加”按钮的单击事件var StuNo,StuName,StuClass,StuDepart.ChangeName,ChangeRemark:string;begin winth Table2 do begin Open; StuNo:=Editl.text; StuName:=Edit2.text; StuClass:=Edit3.text; StuDepart:=Edit4.text; ChangeName:=ComboBoxl.
40、Text; ChangeRemark:=Edit5.text; append; SetFields(StuNo,StuName,StuClass,StuDepart,ChangeName,ChangeRemark,Formatdatetime(dddddde,DateTimePicker2.Dat); Post; end;end;3.6奖励管理界面的实现当学生在校表现优秀,学校应该奖励该学生,以鼓励大家的学习热情。奖励管理界面用于实现学生奖励的功能。相应的奖项有校特等奖、校一等校、校二等校、校三等校、工作奖等,用户可以根据实际情况进行设计。图3-6是奖励管理界面窗体。图3-6奖励管理界面窗体当
41、管理员选择了需要奖励的学生后,选择了奖项和奖励时后,程序把数据保存到数据库。代码如下:procedure TStuMainFrm.bitbtn3Click(Sender: TObject);/“添加”按钮的单击事件var StuNo,StuName,StuClass,StuDepart,EncourageName:sering;begin with Table3 do begin Open; StuNo:=Edit6.text; StuName:=Edit7.text; StuClass:=Edit8.text; StuDepart:=Edit9.text; if RadioButtonl.c
42、hecked=true then EncourageName:=RadioButtonl.Caption; if RadioButton2.checked=true then EncourageName:=RadioButton2.Caption; if RadioButton3.checked=true then EncourageName:=RadioButton3.lCaption; if RadioButton4.checked=true then EncourageName:=RadioButton4.Caption; if RadioButton5.checked=true then EncourageName:=RadioButton5.Caption; if RadioButton6.checked=true then EncourageName:=RadioBut