学生信息管理系统本科毕业设计.docx
《学生信息管理系统本科毕业设计.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统本科毕业设计.docx(86页珍藏版)》请在冰点文库上搜索。
学生信息管理系统本科毕业设计
长 沙 学 院
CHANGSHAUNIVERSITY
毕业设计(论文)资料
设计(论文)题目:
学生信息管理系统
系 部:
电子与通信工程系
专业:
通信工程
学生姓名:
班级:
指导教师姓名:
最终评定成绩
第一部分毕业论文
一、毕业论文
第二部分外文资料翻译
一、外文资料原文
二、外文资料翻译
第三部分过程管理资料
一、毕业设计(论文)课题任务书
二、本科毕业设计(论文)开题报告
三、本科毕业设计(论文)中期报告
四、毕业设计(论文)指导教师评阅表
五、毕业设计(论文)评阅教师评阅表
六、毕业设计(论文)答辩评审表
2009届
本科生毕业设计(论文)资料
第一部分毕业论文
(2009届)
本科生毕业论文
学生信息管理系统
系 部:
电子与通信工程系
专业:
通信工程
学生姓名:
彭文
班级:
05通信1
学号2005043124
指导教师姓名:
杨丞
职称实验师
最终评定成绩
2009年6月
长沙学院本科生毕业论文
学生信息管理系统
系(部):
电子与通信工程系
专业:
通信工程
学号:
2005043124
学生姓名:
彭文
指导教师:
杨丞实验师
2009年6月
摘要
学生信息管理系统是基于delphi7.0编辑环境、Access建数据库的功能比较齐全的管理系统。
其界面美观,操作简单,直观易懂。
本系统主要针对学校里学生的信息进行管理。
在此基础上对每个学生的基本信息,成绩信息,班级的基本信息,班级选课信息等都进行了汇总。
方便学生或相关部门进行查找和浏览的系统设计方案。
文中重点讲解了超级用户如何对用户的各个数据项进行增删,以保证可及时对每个学生的信息进行更新。
其实现的具体功能包括有:
系统管理(添加用户、用户管理、修改密码、重新登录,系统备份);班级管理(班级浏览、添加班级),学生档案管理(档案的添加、查询、浏览);课程管理(所有课程、班级选课);成绩管理;帮助;退出系统,并给出具体设计方法和实验结果。
系统具有相当的实用性,实现了对用户、学生信息和班级、课程、成绩的管理,以及对学生档案信息的打印报表。
论文最后对学生信息管理系统进行了系统测试和性能分析,达到预先的设计要求。
关键词:
学生信息,管理,数据库,Delphi
ABSTRACT
Thestudentinformationmanagementsystemisbasedonthedelphi7.0editionenvironment,Accessconstructsthedatabasethefunctionquitecompletemanagementsystemmanagementsystem.Itscontactsurfaceartistic,theoperationsimple,direct-viewingiseasytounderstand.Thesystemmainlyaimsatintheschoolstudent'sinformationtocarryonthemanagement.Toeachstudent'sbasicinformation,theresultinformation,class'sandgrade'sbasicinformation,theclassandgradechosetheclassinformationandsoonalltocarryonhascompiled.Theconvenientstudentorthecorrelationdepartmentcarryonthesearchandthebrowsing.Notonlythat,thesuperuseralsomaycarryontheadditionsanddeletionstouser'seachdataitem,byguaranteedmaypromptlycarryontherenewaltoeachstudent'sinformation.Itsrealizationconcretefunctionhas(increaseuser,theusermanagement,therevisionpassword,reregister,systembackup),classmanage(classandgradeglancesover,theincreaseclassandgrade),thestudentrecordsmanagement(Increasefile,inquiryfile,browsingfile),thecurriculummanages(Allcurricula,theclassandgradechoosetheclass),theresultmanagement,thehelp,thewithdrawalsystem,Andgiventhespecificdesignmethodsandexperimentalresults.Thissystemhasthesuitableusability,canrealizetotheuser,thestudentinformationandtheclassandgrade,thecurriculum,theresultmanagement.Aswellastostudentfileinformationprintingreportform.Finallyinformationmanagementsystemforstudentstocarryoutthesystemtestingandperformanceanalysis,toadvancethedesignrequirements.
Keywords:
Studentinformation,Management,Database,Delphi
第1章绪论
1.1编写目的
随着信息技术的不断发展,计算机已应用到各个领域,通过计算机可减少大量的手工操作,提高工作效率,为了能对学生信息的更新管理方便和高效,因此开发一个学生信息管理系统。
经过可行性分析,特编写可行性研究报告,对该系统的功能,成本,收益等方面进行分析,报告[3]。
1.2项目背景和意义
(1)项目的名称:
学生信息管理系统
(2)项目的组织者:
长沙学院
(3)项目背景:
随着科学教育事业的不断发展,各大高校纷纷扩大生源,学生数量的增加必然会给学生信息管理带来一定的难度。
传统的人工管理每次要处理的数据量很大,不利于管理人员总体把握学生的档案信息与成绩情况,统计报表更是繁琐,而且一旦时间过久就很容易出错。
这对于学校,无疑是个很大的负担。
如果不能及时了解学生的成绩,就不利于下一步的学习计划的制定。
如果不能把学生的信息汇总,查询起来非常不方便,直接影响了效率。
而该系统集学生档案信息的管理,学生成绩的管理,以及班级课程管理为一体,使用和查询都很方便。
使管理人员很容易掌握学生的基本情况,使复杂的事情一目了然[12]。
(4)项目意义:
系统给管理人员提供了各种不同的方式来查询需要了解的信息。
不仅如此,对于超级用户而言还可以对其中的各个数据项进行增加,删除,修改等操作,以保证可及时对每个学生的信息进行更新。
除此之外,系统其他功能也比较强大。
统计功能可以对学生的成绩平均分统计出来,并计算出班级的优秀与不及格的人数。
可以非常直观的了解学生的成绩情况。
数据报表功能可以将学生的基本信息打印出来生成文档形式。
数据备份功能即将数据库中的各数据表进行备份,当数据表出错或某些错误操作而又不能返回时及时进行数据的恢复。
管理设置功能对登录该系统的权限进行更改。
帮助功能为用户提供对本系统的具体操作。
本系统的开发工具为优秀的面向对象的可视化工具Delphi7.0。
它拥有快捷方便的开发环境,灵活简洁的编程语言,以及功能强大的组件技术[9]。
近几年,该工具的使用极为广泛。
数据库使用MicrosoftAccess建造。
对于本系统的详细介绍将在下面的章节中。
第2章需求分析
2.1运行环境
硬件环境
处理器:
Intel奔腾46313.0GHz或更高
内存:
512MB
硬盘空间:
40GB
显卡:
SVGA显示适配器
软件环境
操作系统:
WINDOWS98/ME/2000/XP
数据库:
MicrosoftAccess
2.2功能需求
对于本系统,我们需要实现以下一些基本功能:
(1)系统管理:
在系统管理模块中我们可以实现添加用户,用户管理,修改密码,重新登录以及系统备份这几项功能。
(2)班级管理:
由班级浏览模块,添加班级两个模块组成。
(3)学生档案管理:
可以对学生的档案添加,查询,以及浏览。
(4)课程管理:
显示了所有的课程记录和每个班级的课程表。
(5)成绩管理:
成绩管理可以实现对成绩的浏览以及对成绩的统计功能。
(6)数据库管理:
对数据库中的表可以进行备份和恢复,以防止数据库中的数据被破坏。
(7)报表打印功能:
根据查询的结果打印学生档案信息。
(8)帮助文档:
帮助文档对本系统的基本功能做了详细的概述,当用户不清楚操作本系统时,可以查找该帮助文档,来获得正确的操作方法。
开始
2.3程序流程图
输入用户名、密码
否
用户名与密码是否一致
是
进入系统
退出
图2.1程序流程图
2.4数据描述
2.4.1数据库描述
系统使用Access2000关系型数据库,一共用到六张数据表,分别是:
班级表banji成绩统计表bjkc课程course
成绩表chengji学生档案表xsdangan用户密码表yonghu
数据存储名称:
班级表
别名:
banji
简述:
存放班级的相关信息
组成:
年级+班级+专业+班主任
数据存储名称:
成绩表
别名:
chengji
简述:
存放学生成绩的信息
组成:
学号+课程名+成绩
组织方式:
索引文件,以学号为主键
数据存储名称:
成绩统计表
别名:
bjkc
简述:
存放班级总体成绩的信息
组成:
班级+课程名+平均成绩+不及格人数+优秀人数
组织方式:
索引文件,以课程名为主键
数据名称:
学生档案表
别名:
xsdangan
简述:
存放学生基本信息。
组成:
学号+姓名+性别+出生年月+家庭住址+邮政编码+联系电话+班级+入学时间
组织方式:
索引文件,以学号为主键
数据存储名称:
课程表
别名:
course
简述:
存放课程的基本信息
组成:
课程号+课程名
组织方式:
索引文件,以课程号为主键
数据存储名称:
用户密码表
别名:
yonghu
简述:
存放用户名与密码
组成:
用户名+密码+权限1+权限2+权限3+权限4
2.4.2数据库的连接
系统使用ADO实现数据库的连接。
ADO是微软颁布的一个标准,而Access也是由微软开发的,所以二者的兼容性一定很好。
利用ADO访问数据的进程为:
首先向应用程序添加一个ADOConnection组件,用于建立与数据库的连接;然后使用一个ADOQuery组件向数据库执行SQL命令;最后通过数据集获得数据。
同时,数据集组件必须将Connection属性指向所使用的ADOConnection组件[5]。
浏览查询
2.4.3数据流图
图2.2登录数据流图
系统管理
图2.3修改信息流图
2.4.4数据词典
数据元素:
数据元素名称:
用户名
类型:
字符串
长度:
24
取值范围:
简述:
普通用户和超级用户登录的名字
数据元素名称:
用户密码
类型:
数字
长度:
取值范围:
简述:
读者和管理员登录的密码
数据元素名称:
用户类型
类型:
字符串
长度:
取值范围:
简述:
把进入系统的用户分为超级用户和普通用户
数据元素:
学号
类型:
数字
长度:
学生的学号
取值范围:
00001-10000
简述:
学生的学号
数据元素名称:
姓名
类型:
字符串
长度:
24
取值范围:
简述:
学生的姓名
数据元素名称:
性别
类型:
字符串
长度:
2
取值范围:
男,女
简述:
学生的性别
数据元素名称:
出生年月
类型:
日期
长度:
取值范围:
1900-2050
简述:
学生的出生年月
数据元素名称:
家庭住址
类型:
字符串
长度:
取值范围:
简述:
学生的家庭住址
数据元素名称:
邮政编码
类型:
数字
长度:
5
取值范围:
简述:
学生家庭住址的邮政编码
数据元素名称:
联系电话
类型:
数字
长度:
8
取值范围:
简述:
学生的联系电话
数据元素名称:
班级
类型:
数字
长度:
取值范围:
1-20
简述:
学生所在的班级描述
数据元素名称:
入学时间
类型:
日期
长度:
取值范围:
1900-2050
简述:
学生的入学时间
数据元素名称:
专业
类型:
字符串
长度:
取值范围:
简述:
学生所学的专业
数据元素名称:
年级
类型:
字符串
长度:
取值范围:
简述:
学生所在的年级
数据元素名称:
班主任
类型:
字符串
长度:
24
取值范围:
简述:
班级管理者的姓名
数据元素名称:
课程名
类型:
字符串
长度:
取值范围:
文本
简述:
学生所选课程的名字。
数据元素名称:
课程号
类型:
数字
长度:
6
取值范围:
简述:
所学课程的编号
数据元素名称:
平均成绩
类型:
符点型
长度:
取值范围:
0-100
简述:
学生的课程平均成绩
数据元素名称:
不及格人数
类型:
数字
长度:
取值范围:
简述:
成绩不及格的学生人数
数据元素名称:
优秀人数
类型:
数字
长度:
取值范围:
简述:
成绩优秀的学生人数
数据流:
数据流名称:
录入用户信息
数据流来源:
用户
数据流去向:
用户管理模块
数据流组成:
用户名+密码+权限
数据流名称:
输入条件查询档案
数据流来源:
用户
数据流去向:
学生档案管理模块
数据流组成:
[学号|姓名|性别|班级|出生年月|家庭住址|邮政编码|联系电话|入学时间]
数据流名称:
录入班级信息
数据流来源:
班级管理模块
数据流去向:
普通用户
数据流组成:
年级+班级+专业+班主任
数据流名称:
录入课程信息
数据流来源:
超级用户
数据流去向:
课程管理模块
数据流组成:
课程号+课程名
数据流名称:
输入成绩信息
数据流来源:
超级用户
数据流去向:
成绩管理模块
数据流组成:
学号+课程名+成绩
加工:
加工名:
档案添加管理
加工编号:
1
简要描述:
本加工主要进行录入新学生的档案。
输入数据流:
录入学生的信息
输出数据流:
新学生档案信息
加工名:
档案查询管理
加工编号:
2
简要描述:
本加工是对学生档案信息进行查询
输入数据流:
输入查询条件
输出数据流:
学生档案信息
加工名:
添加班级
加工编号:
3
简要描述:
本加工是对添加班级的有关信息
输入数据流:
某班有关的信息
输出数据流:
班级信息
加工名:
用户管理
加工编号:
4
简要描述:
本加工实现对用户的管理
输入数据流:
输入用户的名字,密码和权限
输出数据流:
用户管理记录
第3章概要设计
关于
3.1功能模块树
图3.1功能模块树
成绩
3.2成绩管理E-R图
图3.2成绩管理E-R图
3.3数据结构设计
3.3.1数据逻辑结构设计
用户表(用户名,用户口令,是否系统管理员,系统管理,班级管理,档案管理,课程、成绩管理)
班级表(年级,班级,专业,班主任)
课程表(课程号,课程名)
班级课程表(班级,课程名,平均成绩,优秀人数,不及格人数)
成绩表(学号,课程名,成绩)
学生档案表(学号,姓名,性别,出生年月,家庭住址,邮政编码,联系电话,班级,入学时间)
3.3.2数据物理结构设计
用户表
数据来源:
系统管理模块进行录入。
表3.1用户表
名称
字段名称
类型
主键
用户名
Username
字符串
否
用户口令
Password
数值
否
是否系统管理员
Admin
字符串
否
用户管理
Qx1
字符串
否
班级管理
Qx2
字符串
否
档案管理
Qx3
字符串
否
课程、成绩管理
Qx4
字符串
否
班级表
数据来源:
班级管理模块进行录入。
表3.2班级表
名称
字段名称
类型
主键
年级
年级
字符串
否
班级
班级
数值
否
专业
专业
字符串
否
班主任
班主任
字符串
否
课程表
数据来源:
课程管理模块班级选课进行录入
表3.3课程表
名称
字段名称
类型
主键
课程号
课程号
数值
是
课程名
课程名
字符串
否
班级课程表
数据来源:
班级管理模块进行录入。
表3.4班级课程表
名称
字段名称
类型
主键
班级
班级
数值
否
课程名
课程名
字符串
是
平均成绩
平均成绩
符点
否
优秀人数
优秀人数
数值
否
不及格人数
不及格人数
数值
否
成绩表
数据来源:
成绩管理模块进行录入。
表3.5成绩表
名称
字段名称
类型
主键
学号
学号
数值
是
课程名
课程名
字符串
否
成绩
成绩
数值
否
学生档案信息表
数据来源:
学生档案管理模块进行录入。
表3.6学生档案信息表
名称
字段名称
类型
主键
学号
学号
数值
是
姓名
姓名
字符串
否
性别
性别
字符串
否
出生年月
出生年月
日期
否
邮政邮码
邮政邮码
数值
否
联系电话
联系电话
数值
否
班级
班级
数值
否
入学日期
入学日期
日期
否
第4章详细设计
4.1目标
详细设计阶段是确定应该怎样具体地实现所要求的系统,也就是说,经过此阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。
该阶段不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计出的处理过程应该尽可能简明易懂[8]。
4.2主要功能模块的创建
4.2.1登录模块
图4.1登录界面
该模块用来实现用户的登陆操作。
它将用户权限分为超级用户和普通用户。
超级用户可以执行对系统初浏览,查询,打印外的所有管理。
普通用户为学生,只有浏览,查询和打印的权限。
在输入用户密码过程中,如果出错三次以上,就会自动退出系统。
关键代码如下:
procedureTForm1.dengluClick(Sender:
TObject);
var
sql:
string;
begin
username:
=trim(edit1.Text);
password:
=trim(edit2.Text);
sql:
='select*fromyonghuwhereusername='+''''+username+'''';
datamodule1.ADOQuery1.Close;
datamodule1.ADOQuery1.SQL.Clear;
datamodule1.ADOQuery1.SQL.Add(sql);
datamodule1.ADOQuery1.Open;
i:
=i+1;
ifi>=3then
begin
MessageDlg('您已经错了三次!
',mtError,[mbOk],0);
application.Terminate;
end;
ifedit1.Text=''then
begin
MessageDlg('您还没有输入用户名!
',mtError,[mbOk],0);
edit1.SetFocus;
end
else
begin
if(datamodule1.ADOQuery1.Eof)and(datamodule1.ADOQuery1.Bof)then
begin
MessageDlg('没有你输入的用户名!
',mtError,[mbOk],0);
edit1.SetFocus;
edit1.Clear;
end
else
begin
if(datamodule1.ADOQuery1.FieldByName('password').Value<>password)then
begin
MessageDlg('你输入的密码不正确!
',mtError,[mbOk],0);
edit2.SetFocus;
edit2.Clear;
end
else
begin
qx1:
=datamodule1.adoquery1.fieldbyname('qx1').Value;
qx2:
=datamodule1.adoquery1.fieldbyname('qx2').Value;
qx3:
=datamodule1.adoquery1.fieldbyname('qx3').Value;
qx4:
=datamodule1.adoquery1.fieldbyname('qx4').Value;
form2:
=Tform2.Create(self);
form2.Show;
form1.Hide;
end;
end;
4.2.2添加用户模块
图4.2添加用户界面
用户通过输入新的用户名、密码,以及选择用户类别和权限来添加一个新的用户。
如果选择超级用户,则四个权限不需要选择就全部拥有。
如果选择普通用户,就需要自己选择所需的权限。
关键代码如下:
procedureTForm3.BitBtn1Click(Sender:
TObject);
begin
if(edit1.Text='')then
begin
MessageDlg('用户名不能为空!
',mtError,[mbOk],0);
edit1.SetFocus;
end
else
begi