学生成绩管理系统的Delphi课程设计.docx
枣庄学院信息科学与工程学院课程设计任务书题目:学生成绩管理系统的设计与实现小组组员:XXX,XXX组员学号:XXXXXXXXXXXX,xxxxxxxxxxxxxx专业班级:计算机科学与技术课程:数据库系统原理、DelPhi应用程序设计指导教师:XXX职称:讲师XXX职称:讲师完毕时间:2023年12月-2023年12月枣庄学院信息科学与工程学院制2023年12月20日开发小组组员分工及职责XXX:编写学生信息B¾添加、修改代码,数据库建表,数据库和delphi0¾连接。XXX:编写封面、登陆界面,以及编写学生信息的查询、删除代码,delphi各窗体中按钮的添加、排版。课程设计任务书及成绩评估课程设计的任务和详细规定任务:综合运用数据库原理和DelPhi的J知识,完毕一种信息管理系统的的全面设计,初步掌握数据库开发的基本措施。详细规定:1、需求分析:根据自己的选题,绘制、JDFD、DD图表以及书写有关的文字阐明。2、概念构造设计:绘制所选题目详细的E-R图。3、逻辑构造设计:将E-R图转换成等价的关系模式;按需求对关系模式进行规范化;对规范化后Fl勺模式进行评价,调整模式,使其满足性能、存储等方面规定,设置实体完整性、域完整性和参照完整性,根据局部应用需要设计外模式。4、物理构造设计:选定实行环境,存取措施等。5、数据实行和维护:用DBMS建立数据库构造,加载数据,实现多种查询、链接应用程序,设计库中触发器、存储器等对象,并能对数据库做简朴的维护操作。6、用DelPhi设计数据库应用系统,窗体包括封面、登陆窗体、主界面、功能模块窗体,总窗体数不少于15个;系统要综合学过於JDeIPhi知识,要有菜单、工具栏、状态栏、协助、打印功能等。7、设计小结:总结课程设计的过程、体会及提议。8、其他:参照文献等。指导教师签字:、日期:指导教师评语成绩:指导教师签字:日期:指导教师评语成绩:指导教师签字:日期:课程设计所需软件、硬件等硬件环境:Iterl(R)Core(TM)2DuoCPU,主频2.31GHz;内存3G;硬盘320G以上;1024X768显示辨别率软件环境:Delphi,SQLServer2023课程设计进度计划起至日期工作内容备注参照文献、资料索引序号文献、资料名称编著者出版单位1delphi应用程序设计.李目海.电子科技大学出版社2023数据库系统概论.王珊、萨师炮高等教育出版社20233L基于Delphi的学生成绩管理系统刘波.四川大学学报,2023引言当今时代是飞速发展的信息时代,在各行业中离不开信息处理,这正是计算机广泛应用于信息管理系统的环境。计算机的最大好处在于它可以进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,并且大大0提高了其安全性。尤其对于复杂的信息管理,计算机可以充足发挥它0¾优越性。管理信息是通过信息的采集、存储、加工、维护和使用的系统,它是伴随科学理论和技术科学的发展而形成0。学生成绩管理系统是一种教育单位不可缺乏的部分,它的内容对于学校0¾决策者和管理者来说都至关重要,因此学生成绩管理系统应当可以成为顾客提供充足的信息和快捷的信息查询手段,对学生来说可以轻松查阅自己在校的成绩及信息等。不过一直以来人们都是靠老式人工的方式管理学生成绩,这种管理方式存在着许多B¾缺陷,如:效率低,保密性差,此外时间一长,将产生大量的文献和数据,这对于查找、更新和维和都带来了不少0困难。伴随科学技术日勺不停提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已经入人类社会的哥哥领域并发挥着越来越重要的作用。作为计算机应用0一部分,使用计算机对学生成绩信息进行管理,有着手工管理过无法比拟B¾长处,例如:检索迅速、查找以便、可靠性高、存储量大、保密性好、寿命长、成本价低等。这些长处可以条学生成绩管理的效率,也是进企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样0一套成绩管理系统成为很有必要的事情。学生成绩管理系统提供了强大的学生成绩管理功能,以便系统管理员对学生成绩等信息0添加、修改、删除、查询、留言等操作,同步同样时以便学生对自己各科成绩查询,学习交流。目录引言1平台简介1.1 开发平台和技术简介1. 1.1DelPhi工具简介(小4号、宋体)1.2 数据库平台简介1.3 .1SQLSerVer2023数据库简介及系统特点1.4 小结2学生成绩管理系统分析2.1 系统开发分析1. 1.1系统需求分析2. 1.2系统功能分析3系统设计2.1 系统体系构造2.2 系统总体功能3. 3系统总体流程3.4系统数据库设计3 .4.1数据表的设计4 .4.2数据表构造信息4系统主窗口的实现4.1 登录窗体4.2 系统主界面4.3 重要业务功能的实现4.3.1系统管理4.3.2学生管理4.3.3班级管理4.3.4成绩管理4.3.5课程管理5设计总结11开发平台和技术简介1. 1.1Delhi工具简介Delphi是著名B¾Borland企业开发B¾可视化软件开发工具。“真正B¾程序员用C,聪颖的程序员用Delphi",这句话是对DeIPhi最经典、最实在的描述。DelPhi被称为第四代编程语言,它具有简朴、高效、功能强大0特点。和VC相比,DelPhi更简朴、更易于掌握,而在功能上却丝毫不逊色;和VB相比,Delphi则功能更强大、更实用。可以说DeIPhi同步兼备了VC功能强大和VB简朴易学0特点。他一直是程序员至爱0编程工具。Delphi具有如下的特性:基于窗体和面向对象日勺措施,高速日勺编译器,强大的数据库支持,与WindoWS变成紧密结合,强大而成熟的组件技术。但重要0还是ObjeCtPaSCaI语言,它才是一切B主线。ObjeCtPaSCaI语言是在PaSCaI语言的基础上发展起来0,简朴易学。Delphi提供了多种开发工具,包括集成环境、图像编辑以及多种开发数据库B应用程序,如DesktopDataBaseExpert等。除此之外,还容许顾客挂接其他B¾应用程序开发工具,如Borland企业的资源编辑器。在DeIPhi众多的优势当中,它在数据库方面的专长显得尤为突出:适应于多种数据库构造,从客户机/服务机模式到多层数据构造模式;高效率B¾数据库管理系统和新一代更先进B数据库引擎;最新B数据分析手段和提供大量的企业组件。1.2 数据库平台简介1.2.1 SQLServer2023数据库简介及系统特点SQLServer2023是Microsoft企业推出B关系数据库管理系统SQLServer0最新版本。SQLServer20230五个版本一一企业版、原则版、工作组版、开发版和简易版,在可编程性功能、全文搜索增强功能、可管理性功能、可用性功能(数据库故障和冗余)、数据库维护功能、可伸缩性和性能增强功能、国际化功能(排序规则、字符支持和全局布署)等方面,存在一定的差异。不一样版本0SQLServer2023,其合用环境、合用对象、安装所需0硬软件环境各不相似。MicrosoftSQLServer2023提供了一组完整0图形工具和命令行实用工具,有助于顾客、数据库开发人员和管理员提高工作效率。SQLServer2023是一种全面0数据库平台,其数据引擎是企业数据管理处理方案0关键。集成日勺商业智能(BD工具、分析、报表、集成和告知功能为顾客提供了企业级0¾数据管理.SQLServer2023数据库引擎为关系型数据和构造化数据提供了更安全可靠的存储功能,可以构建和管理用于业务B高可用和高性能0数据应用程序。此外,应用SQLServer2023可通过记分卡、DashboardsWebservices和移动设备将数据应用推向业务的J各个领域。1.3 小结Delphi适应于多种数据库构造,从客户机/服务机模式到多层数据构造模式;高效率的数据库管理系统和新一代更先进的数据库引擎;最新的数据分析手段和提供大量的企业组件。而SQLServer2023提供了一组完整的图形工具和命令行实用工具,有助于顾客、数据库开发人员和管理员提高工作效率。运用delphi和SQLSerVer2023工具相结合,做学生成绩管理系统,不仅做起来简易、以便,并且看起来更直观、形象,为我们本次做课程设计提供了有力的试验条件,同步也调高了我们做试验的效率。2学生成绩管理系统分析2.1 系统开发分析伴随社会信息量0与口俱增,学校需要有一种很好0学生成绩管理系统,以以便对学生成绩进行有效的管理。系统应具有既以便老师对觉得成绩的查询和插入,也以便学生对自己成绩和获得的学分进行查询的功能。为提高其安全性和响应速度,本系统是基于C/S构造的学生成绩管理系统,通过该系统可对学生成绩信息进行以便管理,为学校学生和老师建立一种成绩信息沟通的平台,从而以便学校学生的成绩管理。2.1.1 系统需求分析针对目前学校对学生成绩管理方面存在的问题和管理0实际需要,我们将理顺管理体制和建立多种管理规范与开发系统有机结合起来,通过几种功能模块进行统一管理,规定系统满足如下几种方面的规定:从顾客角度来看,系统首先应当可以提供便捷与强大的信息查询功能。对于学校的全体老师而言,他们应当可以对系统的不一样部分有各自不一样的权限,例如,任课教师可以录入成绩,但成绩一旦保留之后,任课教师就不能再具有修改成绩B¾权限,对于其他教师而言,应当具有查询所有科目及所有学生B¾成绩0¾权限,等等。对于学生而言,系统应当提供学生可以查询自己0¾成绩0功能。从教务管理者角度来看,系统必须可以实现即时查询功能,记录学生0成绩,实现对成绩0多种操作等功能。具有较强0灵活性及可扩展性,可以存储一定数量的学生信息,并以便有效的进行对应的数据操作和管理,这重要包括:学生信息的录入、删除及修改,课程信息的录入,删除和修改,班级信息0¾录入、删除及修改,成绩信息的录入、删除、修改,多种信息的单条件查询和多条件的组合查询,以及学生各科成绩的多关键字检索查询。具有较高的安全性,系统登录有各自的安全账户。系统管理员可更改顾客信息,同步可以针对其他的信息具有所有的权限;学生只能对所有的信息具有查询的功能,不具有修改、删除和录入的权限。系统可以提供数据信息授权访问,防止随意删改等。总之,但愿通过本系统0¾开发,可以处理学生成绩管理、课程信息管理、学生基本信息管理等功能,还可以进行班级信息0¾管理,同步可以实现系统管理,重要是针对登录顾客的添加、删除、修改和查询功能,使学校对学生的成绩管理自动化和规范化。按照顾客需求,可将“学生成绩管理系统”设计成如下的层次构造,如下图IT所示图11系统功能2. 1.2系统功能分析学生成绩管理系统必须可以完毕管理,成绩信息管理,课程信息管理,班级信息管理,学生基本信息管理,成绩和查询管理。系统管理重要是维护系统和正常运行和安全性设置,包括当登录顾客身份时管理员可以完毕添加顾客,删除顾客,修改密码,查询顾客的权限和重新登录等功能,以及针对本系统波及到0数据库中可以实现按照学生和学号,学生和姓名,学生所在班级代码或者学生和性别,进行单条件或者组合条件0查询。1 .系统管理系统管理有系统管理员身份和顾客可以登录,它负责顾客的管理。顾客分为三大类:一类为系统管理员,可添加,修改,删除和查询各类顾客;另一类顾客是任课教师,可以修改自己和登录信息;最终一类顾客是学生,只能修改自己的顾客信息,不具有添加,修改和删除和操作权限。2 .学生基本信息管理学生基本信息管理可以实既有关学生基本信息的录入,修改,查询和删除。同步可以实现按照学生学号或者学生姓名,进行单条件或者组合条件和查询。3 .班级管理班级基本信息管理可以实既有关班级基本信息的录入,修改,查询和删除。同步可以实现按照班级号或者班级名,进行单条件或者组合条件和查询。4 .课程管理课程基本信息管理可以实既有关课程基本信息的录入,修改,查询和删除。同步可以实现按照课程号或者课程名,进行单条件或者组合条件和查询。5 .成绩管理成绩基本信息管理可以实既有关学生成绩基本信息0¾录入,修改,查询和删除。同步可以实现按照学生学号或者学生姓名,进行单条件或者组合条件和春询。通过度析,我们可以得到“学生成绩管理系统”日勺顶层数据流图,如图l-2所系O图1-2数据流图从图1-2可以看出教务管理人员可以对学生状况进行录入修改删除,教师是对学生成绩进行查询增长,该系统对管理员、学生、任课教师所提供的功能就是进行查询。3系统设计1 .1系统体系构造通过度析,深入设计出“学生成绩管理系统”的总体构造模块3 .2系统总体功能(1)学生成绩录入、查询、修改和删除。(2)课程有关信息录入、修改、删除和查询功能。(3)学生有关信息录入、修改、删除和查询功能。(4)班级有关信息录入、修改、删除和查询功能。(5)课程表有关信息录入、修改、删除和查询功能。(6)系统管理功能,包括登录顾客B添加、修改、删除和查询,权限时控制。3.3系统总体流程系统总体设计流程图如图3-2所示(1)系统启动,进入身份验证(2)初始化系统,导入数据库(3)进入消息循环状态,通过事件驱动激活各模块,执行各任务(4)一旦任务执行完毕重新进入消息循环状态(5)通过事件驱动退出系统图3-2程序控制逻辑图1 .实体E-R图:(1)学生实体的E-R图(2)课程实体E-R图(3)班级实体E-R图通过度析上述实体间的联络将分E-R图合并为学生成绩管理系统的基本E-R图。由于顾客这一实体它是用来确定使用该系统权限时于其他实体间无内在联络,故在此不考虑。同步每个实体的属性在上面的分E-R图中已经给出,在此不予给出。2 .数据关系模型Studentif(,姓名,性别,年龄,班级号,系别)Courseif(课程号,课程名,任课老师,学分)classif(班级号,班级名,辅导员)gradeif(学号,课程号,成绩)userif(顾客名,密码,顾客身份)3 .数据表构造信息根据实际状况的需要,系统一共需要6张表,分别如下:系统数据表及其用途如表3-2表3-7所所示。表3-1数据表名称与用途数据表名称数据表用途顾客登录表(UserInfo)顾客登录信息班级信息表(ClaSSlnfo)各个班级信息学生信息表(StUdentInfo)学校学生基本信息成绩信息表(StuGrade)学生成绩信息课程信息表(CourseInfo)所有课程基本信息3.4.2数据表构造信息表3-2顾客登录表(UserInfo)字段名中文描述类型长度与否可为空与否主键Userif顾客名Varchar10否是Userpwd顾客密码Varchar10是否Userleved顾客权限Varchar10是否表3-3数据库中顾客登录表B部分信息UseridUserpwdUserLevel学生学生YangYang管理员Tiantiantian教师字段名中文描类型长度与否可为空与否作为主述键Classif班级名Varchar10否是Studentnumber学生人数Int4是否表3-4班级信息表(ClassInfo)表3-5学生信息表(StUdentInfo)字段名中文描述类型长度与否可为空与否主键Sno学号Varchar6否是Sname姓名Varchar20是否Sex性别Varchar2是否Classif所在班级Varchar50是否表3-6成绩信息表(StuGrade)字段名中文描述类型长度与否可为空shi否主键Sno学号Varchar10否是Cno课程编号Varchar10是是Gradepeacetime平时成绩Numberic9,1是否Gradeexpriment试验成绩Numberic9,1是否Gradelast期末成绩Numberic9,1是否Grade总成绩Numberic9,1是否表3-7课程信息表(CourseInfo)字段名中文描述类型长度与否可为空与否主键Kcid课程编号Varchar10否是Kcname课程名称Varchar50是否Periodexpriment试验课时Int4是否Periodteaching讲课课时Int4是否Credit总学分Numberic9,1是否Coursetype课程类型Varchar6是否4 .系统主窗口时实现4.1 登录窗体在登录该系统时,出现封面图,封面图如下:代码如下:beginApplication.Initialize;aboutbox:=Taboutbox.create(application);aboutbox.Show;aboutbox.update;sleep(1000);aboutbox.free;forml:=tforml.Create(application);ifforml.Showmodal=IOthenbeginforml.free;Application.CreateForm(TForm3,Form3);Application.Run;end;end.在进行系统登陆过程中,登陆模块将调用数据库里0操作员字典表,并对顾客名和密码进行验证,只有输入了对0¾0顾客名和密码后,系统登陆才会成功。当输入了错误的或者是不存在0¾顾客名和密码时,系统会给出出错信息提醒,指明登陆过程中0错误输入或错误操作,以便顾客进行对B日勺登陆。如图4-1验证顾客登录信息代码如下:procedureTForml.ButtonlClick(Sender:TObject);begineditl.Text:=trim(editl.Text);editl.Text:=Stringreplace(editl.Text,rfreplaceall);editl.Text:=Stringreplace(editl.Text,Erfreplaceal1);ifeditl.Text三,thenshowmessage(,strDesc,);editl.SetFocus;abort;beginCheCkInPUt(editl,'请输入顾客号');checkinput(edit2,请输入密码');queryuserif.close;queryuserif.SQL.clear;queryuserif.SQL.Add(,select*fromuserifwhereID=+''''÷editl.Text÷,'''+'and'+'passwd÷,+,÷edit2.text÷,''');queryuserif.Eofthenbeginshowmessage(,顾客号或密码不对的j');editl.SetFocus;inc(times);iftimes>-3thenbeginshowmessage(,非法顾客不能登录系统');modalresult:-mrcancel;end;endelsemodalresult:=mrok;if(combobox1.Text=,学生')or(combobox1.Text三,教师,)or(comboboxl.Text=,管理员')thenbeginadoqueryl.Close;adoqueryl.SQL.Clear;adoqueryl.SQL.Text:=,select*fromuserifwhere顾客名=,',+editl.text÷,''and密码=',+edit2.text÷,'''adoqueryl.Open;ifadoqueryl.RecordCountOOthenbeginforml.MoclalResulti=IO;form3:-tform3.Create(self);form3.Show;endelseShOWmeSSage('顾客或密码不对的');end;end;procedureTForml.Button2Click(Sender:TObject);beginapplication.Terminate;end;end.4.2系统主界面主窗口是工作人员进入该系统首先见的界面,是班级、成绩、学生信息、课程等的查询、添加、修改等进入窗口。根据功能界面设计如图4-2:'1.SfitS3(?M½S(W)C三SS(X)W-8S3(Y)苫!邃加Z)16:38:48图4-2系统主界面4.3重要业务功能的实现4.3.1系统管理顾客管理该模块包括一种功能:顾客修改;管理员顾客可以执行以上操作,不过教师和学生仅可以进行顾客修改,即顾客可以修改自己的登录密码。图4-3是顾客修改界面:若原密码输入不对B¾,则将保留失败!实现代码如下:beginadoqueryl.edit;adoqueryl.Fields0.AsString:=editl.Text;adoqueryl.Fieldsl.ASString:=Cdit2.Text;adoqueryl.Fields.AsString:-combobox1.Text;adoqueryl.Post;ShOwnIeSSage('修改成功');editl.text:=,'edit2.text:=,;comboboxl.text:=,,;end;4. 3.2成绩管理成绩查询图4-4所示是在条件课程编号为1即面向对象编程时所有学生的成绩,管理员、学生和教师都可以查询所有人的成绩,图4-4成绩查询成绩录入该功能只有管理员和教师可操作,且当输入学生学号时,学生姓名可以自动从数据库中查询得到,输入课程编号时,课程名称也可以自动从数据库中提取出来。其中代码如下所示:procedureTGluru.ButtonlClick(Sender:TObject);beginadoqueryl.edit;adoqueryl.Append;adoqueryl.FieldsO.AsString:-editl.Text;adoqueryl.Fieldsl.AsString:-edit3.Text;adoqueryl.FieldS.AsString:=edit5.Text;adoqueryl.Fields3.AsString:=edit6.Text;adoqueryl.Fields4.AsString:=edit8.Text;adoqueryl.Post;showmessage(,确定保留?');editl.text:=*'edit3.text:=''edit5.text:=''edit6.text:=''edit8.text:=''end;在执行过程中,只有管理员和教师可以修改和添加成绩信息,而学生不能实现这两项功能。如下图4-5为学生点击成绩修改或成绩录入时出现的提醒:图4-5学生操作成绩修改或录入如下图4-6分别为教师或管理员录入时0界面:切阴ee7B844IsKI22212S21然222 3台2Tfl;elIS9P81861 v003CM004o5owoo009 事勿|91|91|91|$1二|914-6管理员或教师成绩录入成绩修改成绩修改与成绩录入共用同一种窗体,点打开成绩修改模块时,会从目前数据中读取该行成进行修改存,只有管理员和教师可以对成绩进行修改、添加,而学生仅能查询自己的成绩。如下图4-7分别为教师或管理员修改时的界面:beginadoqueryl.close;adoqueryl.sqLclear;adoqueryl.sqLadd(,select*fromcourseif,+,wherecnolike,+,+,%,÷editl.text÷,%,+,);adoqueryl.open;endelseifRadioGroupl.itemlndex=lthenbeginadoqueryl.close;adoqueryl.sqLclear;adoqueryl.sql.add(,select*fromcourseif,+'wherecnamelike,+,+,%,÷editl.text÷,%,+,);adoqueryl.open;endelseifRadioGroupl.itemlndex=2thenbeginadoqueryl.close;adoqueryl.sqLclear;adoqueryl.sql.add(,select*fromcourseif,+'whereccreditlike,+,+,%,÷editl.text÷,%,+,);adoqueryl.open;endelsebeginadoqueryl.close;adoqueryl.sql.clear;adoqueryl.sql.add('select*fromcourseif,+wherectypelike,+,+,%,+editl.text÷,%,+,);adoqueryl.open;end;end;procedureTCsearch.Button2Click(Sender:TObject);beginifadoqueryl.RecordCount=OthenShowMessage(,记录为空不能删除')elsebeginifMeSSageDIg('确定要删除吗?,mtlnformation,mbOK,mbCancel,O)-mrOKthenadoqueryl.Delete;end;end;end.2.课程信息添加只有管理员和教师可以进行课程添加,学生不能实现课程添加功能,如下4-9图是管理员或教师进行课程添加的实现:2.课程信息修改只有管理员和教师可以进行课程修改,学生不能实现课程修改功能,如下4-9图是管理员或教师进行课程修改的实现:4-9课程修改4.3.4班级管理1.班级信息查询如图4-10在条件查询对应班级,学生、教师和管理员都可以查询班级信息,该图是按系IS'查询的班级信息:4-10班级信息查询2.班级信息添加4-11班级信息查询班级名纵际一班级号:位5w-系:ls33.班级信息修改4-12班级信息修改4. 3.5学生管理1 .学生信息查询图4-13是在条件性别为'男'的状况下查询的,根据行的标头单元格可以确定该班级的性别为男的同学。窗麻件 酸名性残 F r版级号删除IliI 捌辐 lI91OlGffS男2101a91017董光磐勇司01M31018SSS2213IS图4T3学生信息查询2 .学生信息添加可以学生信息查询中查看所要添加的学生所在班级的人,然后确定学号添加学生信息。茅学生依日添加学号,191021哽里c女女性别,反图4T4学生信息添加3.学生信息修改可文文文文A图4T5学生信息修改五设计总结以上简介的是学生成绩管理系统的设计与实现,该系统后台采用了数据库的管理开发选用SQLServer2023及delphi0本文论述了对学生成绩进行管理0流程,对学生成绩的信息化管理具有很大B协助。软件设计是一种精细漫长的过程。在整个过程中,都需要周密的计划和安排,每一环节,都需要按照软件工程原则来完毕。通过对程序流程图和界面的设计以及部分功能的实现,使我认识到了自己在学习上的局限性,明白了在后来B¾学习工作实践过程中自己应当注意的某些问题。通过一段时间0设计,本系统0基本功能己经得以实现,只是在程序0功能方面未做有全面的考虑,例如对于各个班级添加学生学号的自动加一尚未完整实现,这是学生成绩管理系统的一种不够完美原因之一,但在未来0学习中我会根据实际需要,将软件的功能和数据库、delphi的安全性不停进行完善。软件特点:界面友好、操作简便、性能稳定、安全可靠;采用先进的关系型数据库技术和delphi7;开发环境:SqlSerVer2023数据库,delphi;