《delphi课程设计学生成绩管理系统.doc》由会员分享,可在线阅读,更多相关《delphi课程设计学生成绩管理系统.doc(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、枣 庄 学 院信息科学与工程学院课程设计任务书 题目: 学生成绩管理系统的设计与实现 小组成员: xxx , xxx 成员学号: xxxxxxxxxxxx,xxxxxxxxxxxxxx 专业班级: 计算机科学与技术 课 程: 数据库系统原理 、 Delphi应用程序设计指导教师: xxx 职称: 讲 师 xxx 职称: 讲 师 完成时间: 2011年 12 月-2011年 12 月枣庄学院信息科学与工程学院制2011年12 月20日开发小组成员分工及职责xxx:编写学生信息的添加、修改代码,数据库建表,数据库与delphi的连接。xxx:编写封面、登陆界面,以及编写学生信息的查询、删除代码,d
2、elphi各窗体中按钮的添加、排版。 课程设计任务书及成绩评定课程设计的任务与具体要求任务:综合运用数据库原理与Delphi的知识,完成一个信息管理系统的的全面设计,初步掌握数据库开发的基本方法。具体要求:1、需求分析:根据自己的选题,绘制的DFD、DD图表以及书写相关的文字说明。2、概念结构设计:绘制所选题目详细的E-R图。3、逻辑结构设计:将E-R图转换成等价的关系模式;按需求对关系模式进行规范化;对规范化后的模式进行评价,调整模式,使其满足性能、存储等方面要求, 设置实体完整性、域完整性与参照完整性,根据局部应用需要设计外模式。4、物理结构设计:选定实施环境,存取方法等。5、数据实施与维
3、护:用DBMS建立数据库结构,加载数据,实现各种查询、链接应用程序,设计库中触发器、存储器等对象,并能对数据库做简单的维护操作。6、用Delphi设计数据库应用系统,窗体包括封面、登陆窗体、主界面、功能模块窗体,总窗体数不少于15个;系统要综合学过的Delphi知识,要有菜单、工具栏、状态栏、帮助、打印功能等。7、设计小结:总结课程设计的过程、体会及建议。8、其他:参考文献等。指导教师签字: 、 日期: 指导教师评语成绩:_ 指导教师签字: 日期: 指导教师评语成绩:_ 指导教师签字: 日期: 课程设计所需软件、硬件等n 硬件环境:Iterl(R) Core(TM)2 Duo CPU,主频;内
4、存3G; 硬盘320G以上;1024768显示分辨率n 软件环境: Delphi ,SQL Server2005 课程设计进度计划起至日期工作内容备注参考文献、资料索引序号文献、资料名称编著者出版单位1 delphi应用程序设计. 李目海. 电子科技大学出版社 20052 数据库系统概论. 王珊、萨师煊 高等教育出版社 20063. 基于Delphi的学生成绩管理系统 刘波. 四川大学学报,2009 引言当今时代是飞速发展的信息时代,在各行业中离不开信息处理,这正是计算机广泛应用于信息管理系统的环境。计算机的最大好处在于它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的
5、提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。管理信息是经过信息的采集、存储、加工、维护与使用的系统,它是随着科学理论与技术科学的发展而形成的。学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者与管理者来说都至关重要,所以学生成绩管理系统应该能够成为用户提供充足的信息与快捷的信息查询手段,对学生来说可以轻松查阅自己在校的成绩及信息等。但是一直以来人们都是靠传统人工的方式管理学生成绩,这种管理方式存在着许多的缺点,如:效率低,保密性差,另外时间一长,将产生大量的文件与数据,这对于查找、更新与维与都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐
6、成熟,其强大的功能已为人们深刻认识,它已经入人类社会的哥哥领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,有着手工管理过无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本价低等。这些优点能够条学生成绩管理的效率,也是进企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样的一套成绩管理系统成为很有必要的事情。学生成绩管理系统提供了强大的学生成绩管理功能,方便系统管理员对学生成绩等信息的添加、修改、删除、查询、留言等操作,同时一样的方便学生对自己各科成绩查询,学习交流。目 录引言1平台简介 1.1 开发平台与技术简
7、介1.1.1 Delphi工具简介(小4号、宋体)1.2 数据库平台介绍 .1.2.1 SQL Server2005数据库简介及系统特点1.3 小结2 学生成绩管理系统分析2.1 系统开发分析3 系统设计.3.1 系统体系结构3.2 系统总体功能 3.3 系统总体流程3.4 系统数据库设计3.4.1 数据表的设计3.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 设计总结1 平台简介1.1.1 Delhi工具简介Delphi是著名的B
8、orland公司开发的可视化软件开发工具。“真正的程序员用C,聪明的程序员用Delphi”,这句话是对Delphi最经典、最实在的描述。Delphi被称为第四代编程语言,它具有简单、高效、功能强大的特点。与VC相比,Delphi更简单、更易于掌握,而在功能上却丝毫不逊色;与VB相比,Delphi则功能更强大、更实用。可以说Delphi同时兼备了VC功能强大与简单易学的特点。他一直是程序员至爱的编程工具。Delphi具有以下的特性:基于窗体与面向对象的方法,高速的编译器,强大的数据库支持,与windows变成紧密结合,强大而成熟的组件技术。但重要的还是Object Pascal语言,它才是一切的
9、根本。Object Pascal语言是在Pascal语言的基础上发展起来的,简单易学。Delphi提供了各种开发工具,包括集成环境、图像编辑以及各种开发数据库的应用程序,如DesktopDataBase Expert等。除此之外,还允许用户挂接其它的应用程序开发工具,如Borland公司的资源编辑器。在Delphi众多的优势当中,它在数据库方面的特长显得尤为突出:适应于多种数据库结构,从客户机/服务机模式到多层数据结构模式;高效率的数据库管理系统与新一代更先进的数据库引擎;最新的数据分析手段与提供大量的企业组件。1.2.1 SQL Server 2005数据库简介及系统特点SQL Server
10、 2005是Microsoft公司推出的关系数据库管理系统SQL Server的最新版本。SQL Server 2005的五个版本企业版、标准版、工作组版、开发版与简易版,在可编程性功能、全文搜索增强功能、可管理性功能、可用性功能(数据库故障与冗余)、数据库维护功能、可伸缩性与性能增强功能、国际化功能(排序规则、字符支持与全局部署)等方面,存在一定的差异。不同版本的SQL Server 2005,其适用环境、适用对象、安装所需的硬软件环境各不相同。Microsoft SQL Server 2005提供了一组完整的图形工具与命令行实用工具,有助于用户、数据库开发人员与管理员提高工作效率。SQL
11、Server 2005是一个全面的数据库平台,其数据引擎是企业数据管理解决方案的核心。集成的商业智能(BI)工具、分析、报表、集成与通知功能为用户提供了企业级的数据管理.SQL Server 2005数据库引擎为关系型数据与结构化数据提供了更安全可靠的存储功能,可以构建与管理用于业务的高可用与高性能的数据应用程序。此外,应用SQL Server 2005可通过记分卡、Dashboard、Web services 与移动设备将数据应用推向业务的各个领域。Delphi适应于多种数据库结构,从客户机/服务机模式到多层数据结构模式;高效率的数据库管理系统与新一代更先进的数据库引擎;最新的数据分析手段与
12、提供大量的企业组件。而SQL Server 2005提供了一组完整的图形工具与命令行实用工具,有助于用户、数据库开发人员与管理员提高工作效率。利用delphi与SQL server2005工具相结合,做学生成绩管理系统,不仅做起来简易、方便,而且看起来更直观、形象,为我们本次做课程设计提供了有力的实验条件,同时也调高了我们做实验的效率。2 学生成绩管理系统分析2.1 系统开发分析随着社会信息量的与日俱增,学校需要有一个很好的学生成绩管理系统,以方便对学生成绩进行有效的管理。系统应具有既方便教师对觉得成绩的查询与插入,也方便学生对自己成绩与获得的学分进行查询的功能。为提高其安全性与响应速度,本系
13、统是基于C/S结构的学生成绩管理系统,通过该系统可对学生成绩信息进行方便管理,为学校学生与教师建立一个成绩信息沟通的平台,从而方便学校学生的成绩管理。针对目前学校对学生成绩管理方面存在的问题与管理的实际需要,我们将理顺管理体制与建立各种管理规范与开发系统有机结合起来,通过几个功能模块进行统一管理,要求系统满足以下几个方面的要求:从用户角度来看,系统首先应该能够提供便捷与强大的信息查询功能。对于学校的全体教师而言,他们应该能够对系统的不同部分有各自不同的权限,例如,任课教师可以录入成绩,但成绩一旦保存之后,任课教师就不能再具有修改成绩的权限,对于其他教师而言,应该具有查询所有科目及所有学生的成绩
14、的权限,等等。对于学生而言,系统应该提供学生能够查询自己的成绩的功能。从教务管理者角度来看,系统必须能够实现即时查询功能,记录学生的成绩,实现对成绩的各种操作等功能。具有较强的灵活性及可扩展性,能够存储一定数量的学生信息,并方便有效的进行相应的数据操作与管理,这主要包括:学生信息的录入、删除及修改,课程信息的录入,删除与修改,班级信息的录入、删除及修改,成绩信息的录入、删除、修改,各种信息的单条件查询与多条件的组合查询,以及学生各科成绩的多关键字检索查询。具有较高的安全性,系统登录有各自的安全账户。系统管理员可更改用户信息,同时可以针对其他的信息具有所有的权限;学生只能对所有的信息具有查询的功
15、能,不具有修改、删除与录入的权限。系统能够提供数据信息授权访问,防止随意删改等。总之,希望通过本系统的开发,可以解决学生成绩管理、课程信息管理、学生基本信息管理等功能,还可以进行班级信息的管理,同时能够实现系统管理,主要是针对登录用户的添加、删除、修改与查询功能,使学校对学生的成绩管理自动化与规范化。按照用户需求,可将“学生成绩管理系统”设计成以下的层次结构,如下图1-1所示 用户信息修改 系统管理 学生信息查询学生成绩管理系统 学生信息添加 学生管理 学生信息修改 班级管理 班级信息查询班级信息添加 班级信息修改 课程信息查询 课程信息添加 课程管理 成绩管理 成绩信息修改成绩信息录入 成绩
16、信息查询 课程信息修改图1-1系统功能学生成绩管理系统必须能够完成管理,成绩信息管理,课程信息管理,班级信息管理,学生基本信息管理,成绩与查询管理。系统管理主要是维护系统与正常运行与安全性设置,包括当登录用户身份时管理员能够完成添加用户,删除用户,修改密码,查询用户的权限与重新登录等功能,以及针对本系统涉及到的数据库中能够实现按照学生与学号,学生与姓名,学生所在班级代码或者学生与性别,进行单条件或者组合条件的查询。系统管理有系统管理员身份与用户可以登录,它负责用户的管理。用户分为三大类:一类为系统管理员,可添加,修改,删除与查询各类用户;另一类用户是任课教师,可以修改自己与登录信息;最后一类用
17、户是学生,只能修改自己的用户信息,不具有添加,修改与删除与操作权限。学生基本信息管理能够实现有关学生基本信息的录入,修改,查询与删除。同时能够实现按照学生学号或者学生姓名,进行单条件或者组合条件与查询。班级基本信息管理能够实现有关班级基本信息的录入,修改,查询与删除。同时能够实现按照班级号或者班级名,进行单条件或者组合条件与查询。课程基本信息管理能够实现有关课程基本信息的录入,修改,查询与删除。同时能够实现按照课程号或者课程名,进行单条件或者组合条件与查询。成绩基本信息管理能够实现有关学生成绩基本信息的录入,修改,查询与删除。同时能够实现按照学生学号或者学生姓名,进行单条件或者组合条件与查询。
18、通过分析,我们可以得到“学生成绩管理系统”的顶层数据流图,如图1-2所示。查询学生成绩学生情况教务管理人员教师学生成绩管理系统管理员学生任课教师图1-2 数据流图从图1-2可以看出教务管理人员可以对学生情况进行录入修改删除,教师是对学生成绩进行查询增加,该系统对管理员、学生、任课教师所提供的功能就是进行查询。3 系统设计3.1 系统体系结构通过分析,进一步设计出“学生成绩管理系统”的总体结构模块3.2 系统总体功能(1)学生成绩录入、查询、修改与删除。(2)课程相关信息录入、修改、删除与查询功能。(3) 学生相关信息录入、修改、删除与查询功能。(4) 班级相关信息录入、修改、删除与查询功能。(
19、5) 课程表相关信息录入、修改、删除与查询功能。(6)系统管理功能,包括登录用户的添加、修改、删除与查询,权限的控制。3.3 系统总体流程系统总体设计流程图如图3-2所示(1)系统启动,进入身份验证(2)初始化系统,导入数据库(3)进入消息循环状态,通过事件驱动激活各模块,执行各任务(4)一旦任务执行完毕重新进入消息循环状态输入用户信息提交查询数据库判断检验数据是否正确获得身份与权限是警告:登录错误退回否图3-2 程序控制逻辑图(5)通过事件驱动退出系统3.4 系统数据库设计3.4.1 数据表的设计1 .实体E-R图: 姓 名(1)学生实体的E-R图 性 别 年 龄 系 别 学 生 年 龄 班
20、 级 号(2)课程实体E-R图 任课教师课程名学分课程编号 课 程(3)班级实体E-R图 辅导员警告:登录错误班级号 班级名(4)用户实体E-R图图3-2 程序控制逻辑图 姓 名 性 别用 户通过分析上述实体间的联系将分E-R图合并为学生成绩管理系统的基本E-R图。由于用户这一实体它是用来确定使用该系统权限的于其他实体间无内在联系,故在此不考虑。同时每个实体的属性在上面的分E-R图中已经给出,在此不予给出。 班 级 属 于 学 生 n 1 n 选 修 m 课 程2. 数据关系模型studentif(学号,姓名,性别,年龄,班级号,系别)courseif(课程号,课程名,任课教师,学分)clas
21、sif(班级号,班级名,辅导员)gradeif (学号,课程号,成绩)userif(用户名,密码,用户身份)3. 数据表结构信息根据实际情况的需要,系统一共需要6张表,分别如下:系统数据表及其用途如表3-2表3-7所所示。表3-1 数据表名称与用途数据表名称数据表用途用户登录表(UserInfo)用户登录信息班级信息表(ClassInfo)各个班级信息学生信息表(StudentInfo)学校学生基本信息成绩信息表(StuGrade)学生成绩信息课程信息表(CourseInfo)所有课程基本信息3.4.2 数据表结构信息表3-2 用户登录表(UserInfo)字段名中文描述类型长度是否可为空是否
22、主键Userif用户名Varchar10否是Userpwd用户密码Varchar10是否Userleved用户权限Varchar10是否表3-3 数据库中用户登录表的部分信息UseridUserpwdUserLevel20091222012009122201学生20091222022009122202学生YangYang管理员Tiantiantian教师字段名中文描述类型长度是否可为空是否作为主键Classif班级名Varchar10否是Studentnumber学生人数Int4是否表3-4 班级信息表(ClassInfo)表3-5 学生信息表(StudentInfo)字段名中文描述类型长度是
23、否可为空是否主键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)字段名中文描述类型长度是否可为
24、空是否主键Kcid课程编号Varchar10否是Kcname课程名称Varchar50是否Periodexpriment实验学时Int4是否Periodteaching讲课学时Int4是否Credit总学分Numberic9,1是否Coursetype课程类型Varchar6是否在登录该系统时,出现封面图,封面图如下:代码如下:beginApplication.Initialize;aboutbox:=Taboutbox.create(application);aboutbox.Show;aboutbox.update;sleep(1000);aboutbox.free;form1:=tfor
25、m1.Create(application);if form1.showmodal=10 thenbeginform1.free;Application.CreateForm(TForm3, Form3);Application.Run;end;end.在进行系统登陆过程中,登陆模块将调用数据库里的操作员字典表,并对用户名与密码进行验证,只有输入了正确的用户名与密码后,系统登陆才会成功。当输入了错误的或者是不存在的用户名与密码时,系统会给出出错信息提示,指明登陆过程中的错误输入或错误操作,以便用户进行正确的登陆。如图4-1图4-1 用户登录窗体验证用户登录信息代码如下:procedure TF
26、orm1.Button1Click(Sender: TObject);beginedit1.Text:=trim(edit1.Text);edit1.Text:=stringreplace(edit1.Text,rfreplaceall);edit1.Text:=stringreplace(edit1.Text,rfreplaceall);if edit1.Text= then showmessage(strDesc); edit1.SetFocus; abort;begincheckInput(edit1,请输入用户号);checkInput(edit2,请输入密码);queryuserif
27、.close;queryuserif.SQL.clear;queryuserif.SQL.Add(select * from userif where ID=+edit1.Text+and+passwd+edit2.text+);queryuserif.Eof thenbeginshowmessage(用户号或密码不正确);edit1.SetFocus; inc(times);if times=3 thenbeginshowmessage(非法用户不能登录系统);modalresult:=mrcancel;end;endelse modalresult:=mrok;if (combobox1.
28、Text=学生) or (combobox1.Text=教师)or(combobox1.Text=管理员) thenbeginadoquery1.Close; adoquery1.SQL.Clear;adoquery1.SQL.Text:=select * from userif where 用户名=+edit1.text+ and 密码=+edit2.text+;adoquery1.Open;if adoquery1.RecordCount0 thenbeginform1.ModalResult:=10;form3:=tform3.Create(self);form3.Show;endels
29、eshowmessage(用户或密码不正确) ;end; end;procedure TForm1.Button2Click(Sender: TObject);beginapplication.Terminate;end;end.界面主窗口是工作人员进入该系统首先见的界面,是班级、成绩、学生信息、课程等的查询、添加、修改等进入窗口。根据功能界面设计如图4-2:图4-2 系统主界面 用户管理该模块包括一个功能:用户修改;管理员用户可以执行以上操作,但是教师与学生仅可以进行用户修改,即用户可以修改自己的登录密码。图4-3是用户修改界面:若原密码输入不正确,则将保存失败!实现代码如下:beginad
30、oquery1.edit;adoquery1.Fields0.AsString:=edit1.Text; adoquery1.Fields1.AsString:=edit2.Text; adoquery1.Fields2.AsString:=combobox1.Text; adoquery1.Post;showmessage(修改成功);edit1.text:=;edit2.text:=; combobox1.text:=; end; 成绩查询图4-4所示是在条件课程编号为1即面向对象编程时所有学生的成绩,管理员、学生与教师都可以查询所有人的成绩,图4-4 成绩查询 成绩录入该功能只有管理员与
31、教师可操作,且当输入学生学号时,学生姓名可以自动从数据库中查询得到,输入课程编号时,课程名称也可以自动从数据库中提取出来。其中代码如下所示:procedure TGluru.Button1Click(Sender: TObject);beginadoquery1.edit;adoquery1.Append; adoquery1.Fields0.AsString:=edit1.Text; adoquery1.Fields1.AsString:=edit3.Text; adoquery1.Fields2.AsString:=edit5.Text; adoquery1.Fields3.AsStrin
32、g:=edit6.Text; adoquery1.Fields4.AsString:=edit8.Text; showmessage(确定保存?); edit1.text:=; edit3.text:=; edit5.text:=;edit6.text:=;edit8.text:=;end;在执行过程中,只有管理员与教师可以修改与添加成绩信息,而学生不能实现这两项功能。如下图4-5为学生点击成绩修改或成绩录入时出现的提示:图4-5学生操作 成绩修改或录入如下图4-6分别为教师或管理员录入时的界面:4-6管理员或教师成绩录入 成绩修改成绩修改与成绩录入共用同一个窗体,点打开成绩修改模块时,会从当
33、前数据中读取该行成进行修改存,只有管理员与教师可以对成绩进行修改、添加,而学生仅能查询自己的成绩。如下图4-7分别为教师或管理员修改时的界面:4-7管理员或教师成绩修改学生、管理员与教师都能进行课程查询,直接点击查询将可以看到所有的课程,而输入条件则可以按条件查询如图4-84-8为课程信息查询:4-8课程信息查询实现代码如下:procedure TCsearch.Button1Click(Sender: TObject);beginif RadioGroup1.itemIndex=0 thenbegin adoquery1.close; adoquery1.sql.clear; adoquer
34、y1.sql.add(select * from courseif+ where cno like +%+edit1.text+%+); adoquery1.open; endelse if RadioGroup1.itemIndex=1 then begin adoquery1.close; adoquery1.sql.clear; adoquery1.sql.add(select * from courseif+ where cname like +%+edit1.text+%+); adoquery1.open; end else if RadioGroup1.itemIndex=2 t
35、hen begin adoquery1.close; adoquery1.sql.clear; adoquery1.sql.add(select * from courseif+ where ccredit like +%+edit1.text+%+); adoquery1.open; end else begin adoquery1.close; adoquery1.sql.clear; adoquery1.sql.add(select * from courseif+ where ctype like +%+edit1.text+%+); adoquery1.open; end; end;
36、procedure TCsearch.Button2Click(Sender: TObject);beginif adoquery1.RecordCount=0 thenshowMessage(记录为空不能删除)elsebeginif MessageDlg(确定要删除吗?,mtInformation,mbOK,mbCancel,0) = mrOK thenadoquery1.Delete;end;end;end.只有管理员与教师可以进行课程添加,学生不能实现课程添加功能,如下4-9图是管理员或教师进行课程添加的实现:4-9课程添加只有管理员与教师可以进行课程修改,学生不能实现课程修改功能,如下
37、4-9图是管理员或教师进行课程修改的实现:4-9课程修改如图4-10在条件查询相应班级,学生、教师与管理员都可以查询班级信息,该图是按系IS查询的班级信息:4-10班级信息查询4-11班级信息查询4-12班级信息修改图4-13是在条件性别为男的情况下查询的,根据行的标头单元格可以确定该班级的性别为男的同学。图4-13学生信息查询可以学生信息查询中查看所要添加的学生所在班级的人,然后确定学号添加学生信息。图4-14学生信息添加3. 学生信息修改图4-15学生信息修改五 设计总结以上介绍的是学生成绩管理系统的设计与实现,该系统后台采用了数据库的管理开发选用SQL Server 2005及delph
38、i。本文阐述了对学生成绩进行管理的流程,对学生成绩的信息化管理具有很大的帮助。软件设计是一个精细漫长的过程。在整个过程中,都需要周密的计划与安排,每一步骤,都需要按照软件工程标准来完成。通过对程序流程图与界面的设计以及部分功能的实现,使我认识到了自己在学习上的不足,明白了在以后的学习工作实践过程中自己应该注意的一些问题。经过一段时间的设计,本系统的基本功能已经得以实现,只是在程序的功能方面未做有全面的考虑,比如对于各个班级添加学生学号的自动加一还未完整实现,这是学生成绩管理系统的一个不够完美因素之一,但在将来的学习中我会根据实际需要,将软件的功能与数据库、delphi的安全性不断进行完善。软件特点:界面友好、操作简便、性能稳定、安全可靠;采用先进的关系型数据库技术与delphi7;开发环境: Sql server2005数据库,delphi;第 38 页