Delphi学生管理系统设计与实现(论文).doc

上传人:laozhun 文档编号:2386478 上传时间:2023-02-17 格式:DOC 页数:26 大小:2.19MB
返回 下载 相关 举报
Delphi学生管理系统设计与实现(论文).doc_第1页
第1页 / 共26页
Delphi学生管理系统设计与实现(论文).doc_第2页
第2页 / 共26页
Delphi学生管理系统设计与实现(论文).doc_第3页
第3页 / 共26页
Delphi学生管理系统设计与实现(论文).doc_第4页
第4页 / 共26页
Delphi学生管理系统设计与实现(论文).doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《Delphi学生管理系统设计与实现(论文).doc》由会员分享,可在线阅读,更多相关《Delphi学生管理系统设计与实现(论文).doc(26页珍藏版)》请在三一办公上搜索。

1、新疆大学毕业论文(设计)题 目: 学生管理系统设计与实现 指导老师: 张 振 宇 学生姓名: 王 红 梅 所属院系: 信息科学与工程学院 专 业: 计算机科学与技术 班 级: 05-1班 完成日期: 2009年5月25日 摘要随着学校规模的不断扩大,学生和老师的数量的急剧增加,有关学生的信息也在成倍的增加。在日常教学活动中,需要提取的信息随之不断增加。在这种情况下,使用传统的手工操作方式,容易发生数据丢失,统计错误,劳动强度也很大,并且速度慢。本文通过简单分析某一学校学生管理的不足,采用delphi7.0开发工具,Access数据库,设计实现了一个简单学生管理系统。包括学生信息管理、学籍管理、

2、成绩管理、奖惩管理和系统管理等基本内容。关键词:学生管理系统;Delphi7.0;Access2000ABSTRACTThe number of teacher and student is growing sharply with the scale broadenof school.so the student information is sharply increasing.There are so manyinformation which needs you pick-up during the teaching activities.Under this circumstance

3、s,it will very difficult if you use the conventional handworked way to dispose it,such as data drop ,mistaken stat,large laboring,speed too slowly and so on.The student management system is able to work out all of these problems.It is a very simple blue print by investigating the weak of one school.

4、The system is able to deal with a lot of problems efficiently and quickly. It contains the management of student information,the students status management,the score management,the punish and encourage management,system management and so on.Keyword: Students management system ; Delphi7.0;Access2000目

5、录1 绪论12 系统分析与设计22.1 需求分析22.2 UML系统建模22.2.1 创建用例22.2.2 学生管理系统的域类分析32.2.3 学生管理系统的设计42.2.4 UML时序图52.3 数据库分析与设计82.3.1 E-R图分析82.3.2 数据库创建表103 系统的实现123.1 用户登录123.3 成绩管理143.5 学籍变更153.5 奖励管理163.6 查询修改183.7 报表的打印19结论20致谢21参考文献221 绪论随着学校规模的不断扩大,学生数量的不断增加,学生的信息量也成倍增长。如何有效地提高学生管理工作的效率是一个学校急需解决的问题。因此开发了适合学校需要的学生

6、管理系统,通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,并减少管理方面的工作量。本人对某学校的学生管理工作做了简单的需求分析。了解到学生管理系统必须具备的一些功能。并对这些功能进行简单的分析。完成了此次设计工作。本论文就是对这次设计的一个简单的总结。主要包括四个章节。绪论部分,系统的分析与设计部分,系统的实现,结论。系统的分析与设计部分主要简单介绍了需求分析,UML建模,数据库的设计,如数据库的E-R图的分析,数据库表的设计等等。系统实现部分主要介绍了各个模块的实现以及代码的实现等等。2 系统分析与设计2.1 需求分析(1)每年开学时,新生来报道,要对每位新生的信息建立个人档案,

7、这部分工作由学籍科的管理人员进行维护和操作。学生个人档案包括学生学号、姓名、性别、出生日期、所属班级、所属院系、籍贯等。(2)考试结束时,教务科的管理人员将学生各科的成绩录入数据库,以备随时查询。当然录入成绩也有出错的可能,所以,必须具有校对修改成绩的功能。(3)当学生的表现出色或差的时候,学生科的管理人员应对其进行奖励或处罚,相应的奖项(或处罚)和奖励(或处罚)时间的数据都应该入库。(4)当学生因为疾病、学业修完等原因学籍需要变更的时候,学籍科的管理人员应该对其进行学籍变更手续。(5)学生应该具有查询个人信息和成绩的权力和权限。(6)系统还应提供强大的数据统计、查询、报表生成以及打印等功能。

8、(7)系统客户端运行在Windows平台下,服务器端可以运行在Windows平台或者Unix平台下。(8)系统应该有很好的可扩展性。在本系统中主要提供新生信息录入、学籍变更、成绩管理和奖惩管理等相关的功能2.2 UML系统建模2.2.1 创建用例学生管理信息系统的分析可以用UML的用例图来描述。每个用例还可以以文本的方式描述,描述的内容包括用例以及用例与角色交互的更详细的信息,文本的内容是通过和用户讨论后确定的。下面给出上述用例的描述。(1)新生信息增加学生记录标记学生学号确定学生院系确定学生班级(2)学生成绩增加学生成绩记录校对学生成绩(3)学籍变更增加学籍变更记录标记变更原因标记变更时间(

9、4)学生奖励增加学生奖励记录标记奖励项目标记奖励时间(5)学生处罚增加学生处罚记录标记处罚等级标记处罚时间(6)学生信息查询修改查询个人信息修改个人信息保存个人信息查询奖惩情况查询学籍变更情况打印成绩单其用例图如图2-1所示。图2-1 学生管理信息系统用例图该用例图标记了所有的学生管理住处系统的用例,从中可以得知,学生管理信息系统的角色可以划分为两类。学校管理人员:用例包括学生管理信息系统的所有用例。学生:用例只有学生信息查询修改。要注意的是,学校管理人员具有查询和修改所有数据的权限,处于高权限位置,而学生只有修改个有基本信息、查询奖惩情况、查询学籍变更情况和打印成绩单的权限,处于低权限位置。

10、2.2.2 学生管理系统的域类分析UML建模的第二步就是域类分析。实际开发学生管理信息系统时,域类分析是建立在用例分析基础上的。要了解系统要处理的概念,最好将学校的管理人员组织起来开个讨论会,详细谈论和列举所需要包含水量的用例,了解概念和概念之间的关系。学生管理信息系统中的域主要包括:学生(Student)、成绩(Score)、学籍变更(Change)、奖励(Encourage)、处罚(Punish)。可以在类图中将上面这些域以及它们之间的关系表示出来,如图2-2所示。图2-2 学生管理信息系统域图为了描述域类的动态行为,可以使用权UML的时序图、协作图或者活动图来描述。本文选用时序图。时序图

11、的基础是用例。在时序图中要说明域类是如何协作以操作该系统中的用例。当然,在建立时序图时,将会发现新的操作,并将其加入类中,这将在后面看到所建立的时序图模型。用时序图建模时,需要窗口或对话框作为角色界面。显然,这里需要操作界面的有基本信息、奖励、处罚、学籍变更、修改查询等,此外维护也需要一个操作界面。2.2.3 学生管理系统的设计在设计阶段,首先要设计类的状态的图。类的状态图说明了可能的状态以及需要被处理的过渡期,使用状态图可以揭示单个对象在整个系统中的变化细节,对了解和实现关键类有较大的帮助。不是所有的类都有状态图,在本系统中,有状态图的类是学生。学生的状态图如图2-3所示。图2-3 学生的状

12、态图2.2.4 UML时序图设计阶段的最后一步是设计UML模型,也就是将前面设计的模型进行扩展和细化。下面给出各个用例的时序图。设计的目的是产生一个可以使用的解决方案,并且可以容易地将方案转换成程序代码。当新生报道时,管理人员就进入新生信息登陆界面,然后要输入新生的学号,与对应学号符合后确定新生的院系 ,然后从新生信息中确定新生的班级。图2-4为新生时序图图2-4 新生时序图当考试结束后管理人员就进入成绩管理界面,从学号stuno中选取学号相符的添加成绩,并且与成绩信息表中的信息校对。成绩的时序如图2-5所示。图2-5 成绩时序图当有同学变更学籍了以后,管理人员就进入学籍管理界面,然后从学号s

13、tuno中选择对应的学号著名学籍变更的信息,并且确定信息。学籍变更的时序如图2-6所示。图2-6 学籍变更时序图当有同学因为学习好而受到奖励的时候,管理员就进入管理界面,从学号中选择学号,确定奖励,从奖励信息中确定奖励时间。奖励的时序如图2-7所示。图2-7 奖励时序图当学生在校因为表现太差而受到处罚时,管理人员就会进入处罚管理界面,选择学号,与stuno中对应的学号想比较,确认处罚,从处罚信息表中可以知道处罚的时间等信息。处罚的时序如图2-8所示。图2-8 处罚时序图当需要修改成绩是,管理人员就会进入成绩管理界面,选择学号与学号stuno中的对应学号想对应,然后添加成绩,与成绩信息表中的信息

14、箱对应,校对成绩。查询修改的时序如图2-9所示。图2-9 查询修改时序图2.3 数据库分析与设计2.3.1 E-R图分析对学生管理信息系统的E-R图分析是建立在UML系统模型基础上的。这里给出E-R图分析的结果。实体关系图的分析结果非常复杂,一般情况下使用从简到繁的方式进行设计。首先从大的方面设计出各个实体之间的关系,然后在这个关系的基础上进行细化。图2-10所示为学生管理信息系统的实体关系简图。图2-10 学生管理信息系统的实体关系简图在简图的基础上进一步设计实体关系的详细结构。图2-11 所示为学生管理信息系统的实体关系详图。图2-10只是学生管理信息系统最基本元素的实体关系图,可以在此基

15、础上根据用户的不同需要进行扩展。图2-11学生管理信息系统的实体关系详图2.3.2 数据库创建表(1)学籍变更管理主要是对学生的学籍变更情况及时控制和管理,变更的原因有:转系、休学、复学、退学和毕业离校。学籍变更表的设计如表2-1所示:表2-1 Change表:学籍变更表属性名称字段说明字段类型字段长度是否为空StuNo学号数字nname姓名文本50Yclass班级文本50YDepartment院系文本50Ychangname变更类别文本50Yremark备注文本50YChangtime变更时间日期时间Y(2)奖励管理是针对学生在校的表现情况,对学生进行相应的表扬工作,奖励的项目有各种奖学金和

16、文体奖励,处罚的项目有通报批评、警告、严重警告、记过、留校查看、开除等。奖励管理表的设计如表2-2所示:表2-2 Encourage:奖励信息表属性名称字段说明字段类型字段长度是否为空Stuno学号数字50nName姓名文本50YClass院系文本50YDepartment奖励类型文本50YEncouragename奖励名称文本50Yencouragetime获奖时间日期时间Y(3)处罚管理是针对学生在校的表现情况,对学生进行相应的处罚工作,处罚的项目有通报批评、警告、严重警告、记过、留校查看、开除等。处罚表的设计如表2-3所示表2-3 Punish 处罚表属性名称字段说明字段类型字段长度是否

17、为空Stono学号文本50nName姓名文本50YClass班级文本50YDepartment学院文本50Ypunishname处罚类型文本50Ypunishtime处罚时间日期时间50Y(4)成绩管理是数据量比较大的管理工作,每次考试结束后负责对学生各个科目的成绩入库工作和对数据库成绩出错的校对工作。成绩表的设计如表2-4所示:表2-4 Score 成绩表属性名称字段说明字段类型字段长度是否为空Scoreid成绩编号自动编号长整型nStuno学号文本50YStuname姓名文本50YCourse课程名称文本50Yscore成绩数字长整型Y(5)学生信息管理的数据有:学生学号、姓名、性别、出生

18、日期、所属班级、所属院系、籍贯等,当有新生到校时,就启动相应的信息管理功能,对所有的学生信息进行入库,随时掌握学生的基本信息。对学生信息表的设计如表2-5所示:表2-5 Stuinfo学生信息表属性名称字段说明字段类型字段长度是否为空Stuid编号自动编号长整型nStuno学号文本50YDepartment学院文本50YClass班级文本50YName姓名文本50YSex性别文本50YBirthday出生日期文本50Ynativeplace籍贯文本50Y3 系统的实现通过以上的分析可以将本系统分成六个模块,用户登录,新生信息录入模块,奖励模块,惩罚模块,学籍变更模块,查询修改模块。3.1 用户

19、登录利用用户登录成功能实现对用户操作权限的限制。管理员和学生的权限不一样,管理员拥有系统的所有权限,学生只有查询修改个人信息和打印成绩单的权限。用户必须输入正确的密码才能进入下一界面,如果用户的密码输入错误,应用程序会提示错误信息。用户如果连续3次输入错误,应用程序会强迫使用者退出并终止应用程序的运行,图3-1 所示是用户登录界面窗体。图3-1登录界面其实现代码如下:Proctdure TLoginFrm.BitBtn1Click(Sender:TObject);/“用户登陆”按钮的单击事件Var pwdfile:textfile;PwdStr:string;Begin if RadioBut

20、ton1.checked=True then assingnfile(pwdfile,.Admini.cfg); if RadioButton2.checked=True then assingfile(pwdfile,.student.cfg); reset(pwdfile); readln(pwdfile,pwdStr); closefile(pwdfile); Times:=Times=1; If edit1.Text=PwdStr then begin close; StuMainFrm.Enabled:=True StuMainFrm.PageControll.ActivePage:

21、=StuMainFrm.Tabsheet6; StuMainFrm.PageControll.Visible:=true; if Radiobuttonl.checked=True then begin StuMainFrm.ToolButton2.Enabled:=Ture; StuMainFrm.Toolbutton3.Enabled:=True; StuMainFrm.ToolButton4.Enabled:=True; StuMainFrm.ToolButton5.Enabled:=True; StuMainFrm.ToolButton8.Enabled:=True; StuMainF

22、rm.ToolButton6.Enabled:=True; end; if RadioButton2.checked=True then begin StuMainFrm.ToolButton6.Enabled:=True; end;endelsebegin if MessageDlg(密码输入错误,是否退出?,mtContirmation,mbYes,mbNo,0)=mryes then begin close; StuMainFrm.Enabled:=True; end else begin if times3 then editl.SetFocus else begin MessageD

23、lg(对不起,密码输入严重错误,请退出!,mtInformation,mbOk,0); Application.Terminate; end;end;end;end;为了防止用户多次重输密码,限制了输入了次数为3次,因此需要对次数进行初始化,活加代码如下:Procedure TLoginFrm.FormShow(Sender:TObject);Begin Times:=0;End;学生管理信息系统主界面主要实现新生信息录入、成绩管理、学籍变更、处罚管理、奖励管理和查询修改的功能。选择该界面中工具栏中的不同按钮,就会进入实现不同功能的窗体。图3-2是学生管理系统主界面窗体。 图3-2 学生管理信

24、息系统主界面窗体3.3 成绩管理成绩管理界面主要实现成绩的添加和校对修改的功能,图3-3是成绩管理界面窗体。图3-3 成绩管理界面窗体当管理员选择了一位学生后,输入各科成绩,程序把数据保存到数据库。代码如下: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 Where StuNo=+DbEdit6.

25、Text+); Open; if recordcount=0 then begin StuNo:=DbEdit6.Text; 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 学籍变更学籍变更界面是实

26、现学生学籍变更的功能,图3-4是学籍变更界面窗体。图3-4 学籍变更界面窗体当管理员选择了学籍需要变更的学生后,输入变更项和变更时间,程序把数据保存到数据库。代码如下: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:=

27、Edit3.text; StuDepart:=Edit4.text; ChangeName:=ComboBoxl.Text; ChangeRemark:=Edit5.text; append; SetFields(StuNo,StuName,StuClass,StuDepart,ChangeName,ChangeRemark,Formatdatetime(dddddde,DateTimePicker2.Dat); Post; end;end;3.5 奖励管理当学生在校表现优秀,学校应该奖励该学生,以鼓励大家的学习热情。奖励管理界面用于实现学生奖励的功能。相应的奖项有校特等奖、校一等校、校二等校

28、、校三等校、工作奖等,用户可以根据实际情况进行设计。如图3-6所示:图 3-5 奖励管理界面窗体当管理员选择了需要奖励的学生后,选择了奖项和奖励时后,程序把数据保存到数据库。代码如下: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:=Edi

29、t8.text; StuDepart:=Edit9.text; if RadioButtonl.checked=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:=Radio

30、Button4.Caption; if RadioButton5.checked=true then EncourageName:=RadioButton5.Caption; if RadioButton6.checked=true then EncourageName:=RadioButton6.Caption; if RadioButton7.checked=true then EncourageName:=RadioButton7.Capiton; if RadioButton8.checked=true then EncourageName:=RadioButton8.Caption;

31、 append; SetFields(StuNo,StuName,StuClass,StuDepart,EncourageName,Formatdatetime(dddddd,DateTimePickerl.Dat); Post; end;end:外罚管理的代码和奖励管理的代码类似,这里不在重复。3.6 查询修改学生可以根据自己的学号在查询修改界面中查询自己的个人信息,包括基本信息、个人成绩、学籍变更情况、奖励和处罚情况。如果发现基本信息有错误的话,有权进行修改,而且学生有权打印自己的成绩单。图3-6是查询修改界面窗体。图3-6 查询修改界面当学生根据自己的学号查询了自己的信息,如果发现有错的

32、话,可以修改,然后程序把修改后数据保存到数据库。代码如下:procedure TStuMainFrm.BitBtn7Click(Sender:TObject);/“修改”按钮的单击事件var StuNo,StuName,StuClass,StuDepart,StuSex,Birthdayt,NativePlace:string;begin with Tablel do begin Open; StuNo:=Editl4.text; StuName:=Editl5.text; StuClass:=Editl6.text; StuDepart:=Editl7.text; NativePlace:=

33、Editl9.text; Birthday:=Edit20.text; if RadioButtonl2.checked=true then StuSex:=RadioButtonl2.Caption; if RadioButtonl6,checked=true then StuSex:=RadioButtonl6.Caption; Edit; SetFields(StuNo,StuDepart,StuClass,StuName,StuSex,Birthday,NativePlace); Post; end;end;3.7 报表的打印学生可以打印成绩单,其代码很简单,这里不再列出。打印的成绩单

34、报表如图3-7 所示:图3-8 学生成绩单结论通过最后两个多月的毕业设计,我对delphi的使用、数据库软件Access2000等系列知识都有了一定的了解。使用delphi开发的能力也有了很大提高。由于在此之前对于delphi的了解很少,对数据库知识虽然有一些了解,但缺乏实践。所以从一开始就碰到许多困难。通过在网上寻找有关资料以及同学的帮助最后都得到了解决。在整个设计阶段感受最为深刻的是掌握学习的方式和解决问题的方法。首先是解决问题的方式,虽然面临的信息很多,但是如何从大量的信息中筛选出所需的信息,有用的信息,才是解决问题的关键,另外一个就是解决问题的方法,就像我在解决设计中的很多问题一样,一

35、开始总是在看书,和书上的进行比对,虽然书本上的只是大部分都是有价值,正确的,但实际上每个人编程的思路和对数据处理的方法、思想都是不同的,这就要求我们一定要通过实践才能找到解决问题的方案。在整个毕业设计的过程中,我深刻的体会到了这一点的重要性,也牢记主了这一点,在今后的学习和研究中我也会继续将这种方法延续下去。 致谢在论文完成之际,衷心感谢我的导师张振宇老师。在系统的开发过程中张老师为我提供了很多宝贵的意见和建议。他的认真、负责令我很感动。值此论文完成之际,谨向张老师致以最真挚的谢意!另外,我还要感谢大学四年里兢兢业业教育过我的老师们,帮助、关心过我的同学们,还有我的亲人们。感谢他们在我学习上的

36、倾力相助,在生活中无微不至的关怀。正是他们这些默默无闻的付出,才使我四年的大学学习得以顺利完成。最后,衷心地感谢评阅论文和答辩组的各位专家、教授、老师们! 参考文献1 张海藩.软件工程导论M.北京: 清华大学出版社,2002.2伍俊良.Delphi 6控件应用实例教程M.北京:北京希望电子出版社,2002.3卢国俊. Delphi 6数据库开发 M.成都:电子工业出版社,2002.4边萌. Delphi 编程起步 M.北京:机械工业出版社,2002.5伍俊良. Delphi 6课程设计案例精编 M.北京:中国水利水电出版社,2002.6丁宝康.数据库原理 M.山东:经济科学出版社,2000.7陆丽娜.软件工程 M.北京:经济科学出版社,2000.8 许杰舟、林伟鹏、林盛雄等. Delphi7程序设计与实例 M.北京:清华大学出版社,2003.9 杨志刚、何志成、魏志强等. Delphi5.0程序设计 基础教学M. 北京:中国水利水电出版社,2005.10 杨海东、刘海英, Delphi数据库高级实例导航 M.北京:科学出版社,2004.

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号