《计算机专业毕业论文学生成绩管理系统.doc》由会员分享,可在线阅读,更多相关《计算机专业毕业论文学生成绩管理系统.doc(27页珍藏版)》请在三一办公上搜索。
1、计 算 机 专 业毕业设计论文题 目: 学生成绩管理系统专 业: 计算机科学系指导老师:班 级: 学 号:学生姓名: 时 间: 独 创 性 声 明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。签名:日期:关于论文使用授权的说明本论文作者完全了解兴义民族师范学院有关保留、使用论文的规定:兴义民族师范学院有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅,可以将论文的全部或部分内
2、容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文,并且本人电子文档的内容和纸质论文的内容相一致。签名:日 期:指导教师签 名:日期:摘 要学生信息管理系统主要实现用户的管理、基础数据管理、成绩管理、数据库管理功能。本系统运行于Windows 7操作系统,采用C+Builder 6.0作为开发工具,使用Microsoft Access 2007文件格式作为后台数据库,设计了该学生成绩管理系统,能满足不同系统用户的操作,维护学生管理相关的一些基础数据,提供学生考试成绩的管理同时能现有的数据库进行管理,提高系统的安全性。关键词: C+Builder 6;Microsof
3、t Access 2007;学生成绩管理系统; AbstractThe Students Information Management System is designed to include such functions module : User Management module、 Basic data Management module、 Database Management module . This system can be used in Windows 7 system and use C+Builder 6.0 as the tool . Student achieve
4、ment management system can verify the users identity according to the users name and password and determine the authority of operation, at the same time it maintains the students data base, offer the management of the students total achievement and relevant statistics ,etc; and also can manage the e
5、xisting database , including the data back up and resume.Key words:C+Builder 6.0;Microsoft Access 2007;Student achievement management system;目录摘 要IC+Builder 6简介VI第一章 实验目的及系统简介11.1实验目的11.2 系统的简介11.3 功能实现11.3.1 登录界面11.3.2 主界(系统功能)面21.3.3 学生信息管理界面21.3.4 其他查询功能:51.3.5基于设计概念和处理流程81.3.6系统功能模块图8第二章 数据库管理模块
6、102.1 Access的简介102.2 数据库表的设计102.2.1数据库的建立102.2.2 数据库中表之间的关系13第三章 学生成绩管理系统流程图:15第四章 软件测试应用163.1软件测试计划163.2软件测试过程163.2.1 登录系统测试163.2.2系统功能概览界面测试:173.2.3 用户信息系统测试:173.2.4 学生信息管理功能系统测试:173.2.5 其他功能查询系统测试:173.3 测试结果17第五章 总结18致 谢19参考文献20附录: 作者在学习期间发表的论文22C+Builder 6简介Borland C+Builder 6 是inprise公司推出的基于C+语
7、言的快速应用程序开发(rapid application development, RAD)工具。C+ Builder充分利用已经发展成熟的Delphi 的可视化组件库(visual component library, VCL),吸收Borland C+优秀编译器的诸多优点,结合先进的基础组件的程序设计技术,已成为一个非常成熟的可视化应用程序开发工具,可以快速、搞效地开发出基于windows 环境的各类程序,尤其在数据库和网络方面,C+Builder更是一个十分理想的软件开发平台。最新版本C+Builde 6加入了许多新功能,包括用于创建web服务应用程序的新一代web开发技术websnap
8、,以及可以用于实现不同平台上的应用程序互操作性的soap/webservice技术。利用它可以实现用最小代码开发量编写出高效率的应用程序。第一章 实验目的及系统简介1.1实验目的综合教本C+Builder 6课程中的基本知识,对所学内容和进行复习,重点掌握C+语言基本控制结构与数据、组件、链表、文件的综合操作,进一步提高结构化程序设计和编程实现的能力。对C+语法、基础知识和编程技巧进行综合运用,编写具有一定综合应用价值的稍大一些的程序。培养学生分析和解决实际问题的能力。熟悉掌握C+的语法和面向对象程序设计方法。进一步理解和运用结构化和面向对象程设计想结合的思想和方法培养学生的逻辑思维能力,编程
9、能力和程序调试能力以及工程项目分析和管理能力。1.2 系统的简介学生成绩管理系统对学校加强学生成绩管理有着极其重要的作用。由于各个大学都在持续扩招,学生的数量日益庞大,学生的各种信息量也在成倍增长,传统手工的学生成绩管理,管理过程繁琐而复杂,执行效率低,并且易于出错。另外,学生的成绩要用于学校教务管理的各个方面,所以一旦学生成绩管理出现了错误,后果往往是非常严重的。这样就迫切需要一个低成本、高效率的信息管理系统来替代原有的人工管理工作,通过学习成绩管理系统,我们可以做到信息的规范管理和快速查询。可以做到信息的规范管理、科学统计和快速查询,有效地提高学生管理效率,在节约管理成本的同时也增强学生信
10、息的安全性。本次设计的学生成绩管理系统是典型的信息管理系统,它能够高效率地帮助教师上传学生的成绩和最终成绩记录的保存,也方便了学生查询成绩,此外还能满足学校领导、教育管理单位、学生管理人员、教师和学生的不同层次和不同方面的需要,为学校整体信息化建设提供必要的支持,其开发主要包括后台数据库的建立和维护以及前台应用程序的开发两个方面。对于前者要求建立起数据一致性高和完整性强、数据安全性好的库,而对于后者则要求应用程序功能完备,易使用等特点。1.3 功能实现本系统主要按登录界面、主界面、学生信息管理(学生注册、学生信息修改、学生信息删除、学生成绩录入、修改、删除和学生个人成绩查询等)界面、密码修改界
11、面、班级管理(班级信息、班级课程、专业查询)界面、课程管理(总课程、班级课程查询)界面、和教师及学生个人信息查询界面来完成学生成绩的管理。 (1) 学生查询功能:可以输入查询条件很方便的找到自己所要查看的信息。1.3.1 登录界面 本系统的登录界面布局主要以输入框和按钮组成。输入框的主要功能是显示用户登录信息和权限选择,以方便用户是查看否输入错误的基本信息和是否有权限进入该系统,按钮可以进行相应的操作:操作过程:(1) 用户登录对话框启动。(2) 从系统用户表中读取用户的名称信息,并写入用户名下拉框中,以方便登录。(3) 用户选择用户名并输入秘码。(4) 从数据库中检查是否有相应的用户名和密码
12、。(5) 如果用户名、密码或权限错误,系统将会提示。(6) 如果输入的用户名和相应密码正确,则根据该用户的权限类别进行权限设置。 (7) 进入主控制平台。1.3.2 主界(系统功能)面 该界面包括了该成绩管理系统的所有功能。1.3.3 学生信息管理界面此功能的实现是分成多个页面来完成的,主要是完成和实现以下功能:用户注册、用户信息修改、用户信息删除、学生成绩录入、修改、删除和学生个人成绩查询等,虽统称为学生信息管理,但在实际操作中主要依据用户的权限来进行管理的,所以权限在该系统中起到至关重要的作用,比如在用户注册是即会提示你选择注册权限; (1) 用户注册:在用户输入合法的用户名和密码、权限后
13、,点击确定按钮系统自动查找是否是重复信息并提示该用户是否注册成功。(2) 用户修改和删除:在用户修改进行操作时,只有输入正确的密码和权限后才可以进行相关的操作,系统能够通过用户给出的条件查找出所要修改和删除的信息,对编辑后的信息进行保存,并自动查找是否是重复信息并提示是否修改成功。而用户的删除则极为简单,只要用户名输入正确,系统将自动查找出该用户的相关信息,而在你确定删除之前,请认真核对你的个人信息,以防误删。(3) 学生成绩录入、修改、删除:此功能只有管理员和教师拥有权限操作,且这些功 (4) 能的实现都是用学号作为条件进行处理和操作的,例如:学生的成绩录入:根据需求分析和总体设计,成绩管理
14、模块主要实现对学生成绩的管理功能,具体包括学生成绩的录入、查询和学生各科成绩查询等。成绩管理模块主要划分成四个子模块:学生成绩录入、学生成绩查询、学生成绩修改、学生成绩删除。(5) 学生个人信息管理界面:该功能的实现也是按学生学号作为条件进行查询的,因为只有用学生的学号作为条件进行查询管理才能不会混乱,这主要是取决了学号是唯一的,不会从复!如学生的信息修改:String sql,s,crny;int x;if(Edit1-Text=)ShowMessage(学号不能为空);return;else if(Edit1-Text=|Edit2-Text=|ComboBox4-Text=|Edit4-
15、Text=|Edit5-Text=|Edit6-Text=)ShowMessage(有空格为空,请填满!);return;elses=您确定要修改班级名为+Edit1-Text+的记录吗?;crny=ComboBox1-Text+-+ComboBox2-Text+-+ComboBox3-Text;sql=update grxxb sets name=+Edit2-Text+,ssex=+ComboBox4-Text+,sage=+Edit4-Text+,jg=+Edit5-Text+,csd=+Edit6-Text+,+crny+ where sno=+Edit1-Text+;x=Applic
16、ation-MessageBoxA(s.c_str(),修改确认,48+1);if(x=2)sql=select * from grxxb;ADOQuery1-Close();ADOQuery1-SQL-Clear();ADOQuery1-SQL-Add(sql);ADOQuery1-Open();Form11-Edit1-Text=Form11-ADOQuery1-FieldValuessno;Form11-Edit2-Text=Form11-ADOQuery1-FieldValuessname;Form11-ComboBox4-Text=Form11-ADOQuery1-FieldValu
17、esssex;Form11-Edit4-Text=Form11-ADOQuery1-FieldValuessage;Form11-Edit5-Text=Form11-ADOQuery1-FieldValuesjg;Form11-Edit6-Text=Form11-ADOQuery1-FieldValuescsd;Form11-ComboBox1-Text=YearOf(Form11-ADOQuery1-Fields-Fields6-AsString);Form11-ComboBox2-Text=MonthOf(Form11-ADOQuery1-Fields-Fields6-AsString);
18、Form11-ComboBox3-Text=DayOf(Form11-ADOQuery1-Fields-Fields6-AsString);elseADOQuery1-Close();ADOQuery1-SQL-Clear();ADOQuery1-SQL-Add(sql);ADOQuery1-ExecSQL();sql=select * from grxxb;ADOQuery1-Close();ADOQuery1-SQL-Clear();ADOQuery1-SQL-Add(sql);ADOQuery1-Open();Form11-Edit1-Text=Form11-ADOQuery1-Fiel
19、dValuessno;Form11-Edit2-Text=Form11-ADOQuery1-FieldValuessname;Form11-ComboBox4-Text=Form11-ADOQuery1-FieldValuesssex;Form11-Edit4-Text=Form11-ADOQuery1-FieldValuessage;Form11-Edit5-Text=Form11-ADOQuery1-FieldValuesjg;Form11-Edit6-Text=Form11-ADOQuery1-FieldValuescsd;Form11-ComboBox1-Text=YearOf(For
20、m11-ADOQuery1-Fields-Fields6-AsString);Form11-ComboBox2-Text=MonthOf(Form11-ADOQuery1-Fields-Fields6-AsString);Form11-ComboBox3-Text=DayOf(Form11-ADOQuery1-Fields-Fields6-AsString);1.3.4 其他查询功能:包括了课程查询、系、班、专业查询、班级信息管、班级课程管理、所以课程管理等页面。(1)课程查询、班级信息管、班级课程管理和所以课程管理都是用课程编号、班级编号、班级课程编号作为查询条件进行查询的,跟学生信息查询用
21、学号作为条件查询一样的思想,因为编号及学号都不会是有从复的!例,课程的查询实现代码: String sql ;sql=select skid,kcm,skjs,skbj,kcdd,skrs,xb from bjskb,bjkcb where bjkcb.bid=bjskb.bid;ADOQuery1-Close();ADOQuery1-SQL-Clear();ADOQuery1-SQL-Add(sql);ADOQuery1-Open();ADOQuery1-Next();(2)系、班、专业查询:该功能的实现较为特殊,因为与前面的功能不同,前面的查询、录入、修改、添加都是利用唯一的ID号(编号)
22、来实现的,编号之间不存在包含或递进等关系。而系、班、专业查询也是用ID(编号)号来实现,但它们之间的关系较为复杂,存在着包含和递进查询关系,实现该查询功能的代码为:void _fastcall TForm16:FormCreate(TObject *Sender) String sql;sql=select * from xi;ADOQuery1-Close();ADOQuery1-SQL-Clear();ADOQuery1-SQL-Add(sql);ADOQuery1-Open();while(ADOQuery1-Eof!=true) ComboBox1-Items-Add(ADOQuery
23、1-FieldValuesxname); ADOQuery1-Next(); ComboBox1-ItemIndex=0;sql=select * from zhuanye where xid in (select xid from xi where xname=+ComboBox1-Text+);ADOQuery1-Close();ADOQuery1-SQL-Clear();ADOQuery1-SQL-Add(sql);ADOQuery1-Open();ComboBox2-Clear();while(ADOQuery1-Eof!=true) ComboBox2-Items-Add(ADOQu
24、ery1-FieldValueszname); ADOQuery1-Next(); ComboBox2-ItemIndex=0;sql=select * from bj where zid in (select zid from zhuanye where zname=+ComboBox2-Text+);ADOQuery1-Close();ADOQuery1-SQL-Clear();ADOQuery1-SQL-Add(sql);ADOQuery1-Open();ComboBox3-Clear();while(ADOQuery1-Eof!=true) ComboBox3-Items-Add(AD
25、OQuery1-FieldValuesbname); ADOQuery1-Next(); ComboBox3-ItemIndex=0;sql=select * from stu where bid in (select bid from bj where bname=+ComboBox3-Text+);ADOQuery1-Close();ADOQuery1-SQL-Clear();ADOQuery1-SQL-Add(sql);ADOQuery1-Open();DBGrid1-DataSource=DataSource1;/-void _fastcall TForm16:ComboBox2Cha
26、nge(TObject *Sender)String sql;sql=select * from bj where zid in (select zid from zhuanye where zname=+ComboBox2-Text+);ADOQuery1-Close();ADOQuery1-SQL-Clear();ADOQuery1-SQL-Add(sql);ADOQuery1-Open();ComboBox3-Clear();while(ADOQuery1-Eof!=true) ComboBox3-Items-Add(ADOQuery1-FieldValuesbname); ADOQue
27、ry1-Next(); ComboBox3-ItemIndex=0;sql=select * from stu where bid in (select bid from bj where bname=+ComboBox3-Text+);ADOQuery1-Close();ADOQuery1-SQL-Clear();ADOQuery1-SQL-Add(sql);ADOQuery1-Open();DBGrid1-DataSource=DataSource1;/-void _fastcall TForm16:ComboBox3Change(TObject *Sender) String sql;s
28、ql=select * from stu where bid in (select bid from bj where bname=+ComboBox3-Text+);ADOQuery1-Close();ADOQuery1-SQL-Clear();ADOQuery1-SQL-Add(sql);ADOQuery1-Open();DBGrid1-DataSource=DataSource1;/-void _fastcall TForm16:ComboBox1Change(TObject *Sender) String sql;sql=select * from zhuanye where xid
29、in (select xid from xi where xname=+ComboBox1-Text+);ADOQuery1-Close();ADOQuery1-SQL-Clear();ADOQuery1-SQL-Add(sql);ADOQuery1-Open();ComboBox2-Clear();while(ADOQuery1-Eof!=true) ComboBox2-Items-Add(ADOQuery1-FieldValueszname); ADOQuery1-Next(); ComboBox2-ItemIndex=0;sql=select * from bj where zid in
30、 (select zid from zhuanye where zname=+ComboBox2-Text+);ADOQuery1-Close();ADOQuery1-SQL-Clear();ADOQuery1-SQL-Add(sql);ADOQuery1-Open();ComboBox3-Clear();while(ADOQuery1-Eof!=true) ComboBox3-Items-Add(ADOQuery1-FieldValuesbname); ADOQuery1-Next(); ComboBox3-ItemIndex=0;sql=select * from stu where bi
31、d in (select bid from bj where bname=+ComboBox3-Text+);ADOQuery1-Close();ADOQuery1-SQL-Clear();ADOQuery1-SQL-Add(sql);ADOQuery1-Open();DBGrid1-DataSource=DataSource1;/-1.3.5基于设计概念和处理流程 本系统采用C+Builder 6.0开发,采用Microsoft Access 2007作为后台数据库,在满足需求的前提下,将系统对运行环境的性能要求降到最低。系统基本的流程是:用户登录 主界面 选择各项功能。1.3.6系统功能模
32、块图总体设计中最核心的问题是系统总体功能结构的确定和子系统与模块的划分。结构化系统设计的思想,就是自顶向下地将系统划分为若干个子系统,而子系统又划分为模块,模块又划分为子模块,层层划分直到每一个模块能够作为计算机可执行的单独程序为止。系统划分的结果最终反映为一张分层的树型结构图,学生成绩管理系统的主要功能结构图如图1所示:学 生 成 绩 管 理 系 统 其他信息查询功能学生成绩管理功能学生信息管理功能 课程查询 系、班、专业查询学生信息管理班级信息管理 班级课程管理 学生个人信息查询所有课程管理成绩录入成绩查询成绩删除成绩修改 第二章 数据库管理模块2.1 Access的简介Access 是微
33、软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS,即Relational Database Management System),是Office系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;其主要特点主要有存储方式单一 、面向对象 、界面友好、易操作、集成环境、处理多种数据信息等,为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。 Access能够存取 Access/Jet、Microsoft SQ
34、L Server、Oracle(甲骨文软件公司),或者任何 ODBC 兼容数据库内的资料。熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的进阶用户则能使用它来开发简单的应用软件。虽然它支援部分面向对象(OOP)技术,但是未能成为一种完整的面向对象开发工具。2.2 数据库表的设计2.2.1数据库的建立本系统采用Access数据库,建立一个名mydb的数据库,该数据库包括以下数据表:bj(班级表)、bjkcb(班级课程表)、bjskb(班级授课表)、cjb(成绩表)、grxxb(个人信表)、stu(学生表)、zykcb(专业课程表)、xi(系表)、yh(用户表)、
35、zhuanye(专业表)等,数据库表的结构如下:(1)bj表为学生所在班级信息表,包括3个字段:bid(班级编号)、bname(班级名)、zid(专业号),学生所在班级信息表的结构如表2-1所示: 表2-1 学生班级信息表(2)bjckb表为班级课程表,包括7个字段:skid(授课编号)、kcm(课程名)、kcjs(授课教师)、kcdd(上课教室)、bj(上课班级)、bid(班级编号)xb(系别)等,该表的bid与班级表和成绩表中的bid有直接关系,班级课程表的结构如表2-2所示: 班级课程表的结构如表2-2(3)bjskb(班级授课表);共包括5个字段:bid(班级编号)、skm(授课名)、
36、skjs(授课教师)、skbj(授课班级)、skrs(授课人数),此表中bid与其他表中的bid呈直接关系,班级授课表的结构如表2-3所示: 班级授课表的结构如表2-3(4)cjb(成绩表);共有6个字段,即sno(学号)、sname(姓名)、ck(课程)、jzfs(学科平时分)、jmfs(期末考试分数),表中的sno与grxxb个人信息表和stu学生表中的sno建立了直接的关系,成绩表的结构如表2-4所示:成绩表的结构如表2-4(5)yh表为用户信息表,它是保存用户注册的信息表,共包括3个字段,即yhm(用户名)、pwd(用户登录密码)和qx(用户权限),用户表的结构如表2-5所示;用户表的
37、结构如表2-5(6)下面对grxxb(个人信表)、stu(学生表)、zykcb(专业课程表)、xi(系表)、zhuanye(专业表)做简单的介绍。个人信息表共有7个字段,即学号、姓名、年龄、籍贯、所在城市、出生年月;学生表共有6个字段,即学号、密码、姓名、性别、年龄和所在班级编号;专业课程表共有3个字段,即为授课编号、课程名和授课班级编号;系表共有2个字段,即系别编号和系名称;专业表共有3个字段,即专业编号、专业名和系别号;结构图省略,详见数据库mydb。2.2.2 数据库中表之间的关系1.关系模型由三部分组成: a.数据结构 b.操作集合 c.完整性约束 这三部分也称为关系模型三要素2. 数
38、据结构:(1)关系数据模型用二维表来组织数据。 (2)这个二维表在关系数据库中就称为关系。 (3)关系数据库就是表或者说是关系的集合。 (4)表是逻辑结构而不是物理结构。3. 在Access中建立表间关系操作步骤: 步骤1、关闭所有的表。 步骤2、单击“工具”菜单并执行“关系”命令,或单击工具栏上的“关系”按钮,打开“关系”窗口。步骤3、将需要建立关系的表添加到“关系”窗口中。步骤4、从某个表中将所需要的相关字段拖动到其他表中的相关字段。(如果要拖动多个字段,在拖动之前按下Ctrl键单击每一个字段。)步骤5、在“编辑关系”对话框中进行相应的设置,单击“确定”按钮完成对一个关系的建立。Mdb数据
39、库关系结构图如下所示:Mdb数据库关系结构图2-6第三章 学生成绩管理系统流程图学生成绩管理流程图如图3-1所示:学生成绩管理系统登录系统信息管理成绩管理查询管理录入课程查询学生信息查询系、班、专业查询个人信息修改班级信息管理保存到数据库删除班级课程管理退出所有课程管理第四章 软件测试应用3.1软件测试计划软件测试是软件开发阶段中的一个重要的环节。所谓“金无足赤、人无完人”,在软件开发过程中,开发者的主观认识可能有与客观事实不相符的地方,在软件生产周期的每个阶段都有可能产生误解或差错。早期的误解或差错经过后期工作的不断进行往往会被放大。所以说软件测试是软件开发的一个重要环节,软件测试是保证软件
40、质量的重要手段。这次测试计划主要的目标是能够通过运行软件访问学生管理系统。测试环境如下:(1) 客户端采用的软件环境:Windows 7/XP + Microsoft Access 2007(2)基本要求:设计的管理系统通过系统管理员进行登录,结果可以良好运行,并且结构要合理,运行效率较高,符合软件工程开发规范。(3)测试模块如下:权限验证模块、用户管理模块、基础数据库管理模块、成绩管理模块和数据库管理模块。3.2软件测试过程在测试的过程中,主要是手动进行测试,制定好测试计划、编写测试用例,测试过程做好测试报告,收集测试结果。测试时测试人员要认真细致,对测试中发现的问题做好记录。测试用例设计要
41、基于需求,避免测试自己编写的模块,输入数据包括合理的和不合理的,测试数据具有代表性。3.2.1 登录系统测试在登陆界面,正确输入用户名和密码,正确选择权限,点击登录按钮即可!界面如图3-1所示,测试通过。 图3-13.2.2系统功能概览界面测试:测试的主要根据是,当你在登录系统界面选择不同的权限时,进入到系统功能概览界面是,若权限能操作的功能就是本色,否则就会出现灰色,如,权限是学生进入系统时,就不能修改和删除自己的成绩,此时该功能模块就为灰色,而学生能查询自己的成绩,而成绩功能模块就为本色。测试结果为虽然学生不能修改、删除和录入自己的成绩,但该功能模块还是本色,测试未通过,截图如图3-2所示:图3-23.2.3 用户信息系统测试: 用户信息系统主要包括用户添加、修改、删除和密码修改等功能模块,这些功能都是从数据库中自动提取用户的所有信息来操作实现的,并在进行操作的过程中提示相