数据库程序设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

枣庄学院
信息科学与工程学院课程设计任务书题目:学生管理系统
学号
姓名
专业计算机科学与技术
课程delphi
指导教师职称
完成时间:年月---- 年月
信息科学与工程学院
摘要
随着学校学生的增加,原来的采用人工记录的方式已经不能满足学生管理的需要。

这是用为人工的管理模式存在着很大的缺陷,如维护性差,出错后不容易修改;不方便查询学生的情况,工作效率低;学生选课是麻烦,费时费力等。

随着信息技术的发展,有必要对原来的教务管理模式进行改进,是指便于学生信息的查询和维护,便于学生选课。

由此提出建立一个教务管理信息系统,建立数据库存储学生信息和所有的课程信息,通过客户端程序访问数据库,实现教务信息的管理。

本系统采用客户机/服务器结构。

数据库服务器采用Sql Server 2000数据库系统,将学生基本信息的管理、课程的设置情况、学生选课结果和课程成绩等数据存储到数据库中,客户机程序采用Delphi7.0作为开发平台,实现对数据库中信息的访问。

关键词:Delphi,数据库,学生管理系统
Abstract
Along with school student's increase, the use manual record's way originally already could not meet the needs which the student manages. This is with has the very big flaw for the manual management pattern, if the maintenance difference, after making a mistake, is not easy to revise; It is not convenient inquires student's situation, the working efficiency is low; The student elects, but is troublesome, takes the trouble time-consuming and so on. Along with information technology development, it is necessary to make the improvement to the original educational administration management pattern, is refers to is advantageous for the student information the inquiry and the maintenance, is advantageous for the student to choose the class.
From this proposed that establishes an educational administration management information system, establishes the database to save the student information and all curriculum information, through the client side procedure visit database, realizes the educational administration information management.
The system uses client / server architecture. Sql Server 2000 database servers using the database system, the courses will be set up, the results of students classes and courses, such as performance data storage to the database, the client procedures adopted Delphi as a development platform, and the access to the information in the database.
Keyword s: SQL sever 2000; Premises Information Management; Database
目录
第一章概述 (1)
第二章学生管理的需求分析 (2)
2.1系统运行环境 (2)
2.2系统功能需求 (3)
2.3系统性能需求 (3)
2.4系统技术需求 (4)
第三章学生信息管理设计 (6)
3.1系统功能模块设计 (6)
3.2系统数据库设计 (8)
3.3系统安全保密设计 (9)
3.4数据库结构的实现 (9)
3.5初始数据的输入 (10)
第四章学生管理系统的测试与维护 (11)
4.1系统测试 (11)
4.2系统维护 (11)
总结 (13)
参考文献 (14)
第一章概述
学生管理系统减少老师和教务处工作人员的工作量,同时也方便了同学对选课、成绩的查询、各种通知的浏览。

本学生管理系统主要包括学生基本信息的管理、课程设置、教学安排、学生选课、课程管理、成绩查询等功能。

本系统采用客户机/服务器结构。

数据库服务器采用Sql Server 2000数据库系统,将学生的基本情况、课程的设置情况、学生选课情况和课程成绩等数据存储到数据库中,客户机程序采用Delphi作为开发平台,实现对数据库中信息的访问。

在数据库访问方面,利用Sql Server 2000数据库组件管理应用程序与数据库之间的通信联系;在数据记录查询方面,采用TQuery组件查询和TTable 组件查询相结合的方法,进行了多个数据表的组合查询和数据结果统计。

本教务管理系统可以说是一个综合性的学校学生管理系统,这它集成了教师课程管理子系统、学生课程管理子系统、教务课程调度子系统等多种功能,因而具有较强的简便、使用、易于维护。

第二章学生管理的需求分析
2.1系统运行环境
为了保证系统运行的效率和可靠性,系统服务器端应具有较高的软硬件配置,客户端的要求不是很高。

此应用程序可广泛运行于国际互联网即Internet,也可适用于内部的局域网。

其运行要求如下:
I、软件环境
客户端:
操作系统:Windows2000/XP
网络协议:TCP/IP
浏览器:Internet Explorer 5.0
数据库:Microsoft Sql Server 2000
服务器端:
操作系统:Windows2000/XP
网络协议:TCP/IP
WEB服务器:Internet Information 5.0
数据库:Microsoft Sql Server 2000
II、硬件环境:
服务器CPU:PIII 500以上,内存:256M
客户机CPU:P200MMX以上,内存:32M以上
2.2系统功能需求
学生管理系统主要提供网上的教务信息管理平台。

通过前端(客户端)浏览器和后台数据库向用教师、学生展示信息,方便的实现了学生信息的维护和更新,使管理员更快,更好的了解信息。

以“教师管理子系统”模块为例,管理员将所有教师课程信息数据存入数据库相应的表中,当客户端发出浏览该动态页面的请求时,服务器就会执行相应的脚本代码,从数据库中查询出符合条件的信息,生成相关页面发送到客户端浏览器上。

客户端所显示的内容是随着后台管理数据库的变化而动态显示的,因此,客户端可以获得学生信息最新动态信息。

2.3系统性能需求
通过调查,要求系统需要有以下功能:
1.通用性:可以增加学院、系、专业、班级、学生;可以增加学期、课程。

2.易用性:成绩的录入、修改要方便。

普通课程以班级、课程、学期为录入条件。

选修和重修要特殊考虑。

3.学籍管理:奖惩、退学、转专业。

4.学生、课程基本信息管理:学号、姓名、所在班级、性别、课程号、名称、学期、学分、课程性质。

5.权限控制:有些用户可以录入修改,有些用户只能查询。

6.成绩排名:既可以按专业也可以按班级;既可以是某个学期也可以是所有学期。

2.4系统技术需求
2.4.1技术可行性分析
由于本系统管理的对象单一,都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。

因此,比较适合于采用数据库管理。

且学校用于学生管理的微机都是PIII以上的机器,在存储量、速度方面都能满足数据库运行的要求。

在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。

2.4.2 Delphi语言
Delphi是Inprise公司(即原Borland)推出的基于真正面向对象语言Object Pascal语言的可视化编程工具,是当今世界上最快的编译器。

能大大提高编程效率。

面向对象的程序设计(Object-Oriented Programming,简写为OOP)是现在最成功的高级语言程序设计方法,面向对象的程序设计的目的是创建可重用代码,通过把属性和方法封装进“对象”中,以更好地模拟现实世界“真正的
程序员用c,聪明的程序员用Delphi”,这句话是对Delphi最经典、最实在的描述。

Delphi 6是“第四代编程语言”的杰出代表,它是一个完全导向的、高度可视化的集成开发环境IDE(Integrated Development Environment),非常人性化。

具有简单、高效、功能强大的特点。

和VC相比,Delphi更简单、更易于掌握,而在功能上却丝毫不逊色;和VB相比,Delphi则功能更强大、更实用。

它一直是程序员至爱的编程工具。

2.4.3数据库技术
SQL全称是“结构化查询语言(Structured Query Language)”,最早是IBM 的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。

SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用。

目前,SQL语言已被确定为关系数据库系统的国际标准,被绝大多数商品化关系数据库系统采用,如Oracle 、Sybase、DB2、Informix、SQL Server这些数据库管理系统都支持SQL 语言作为查询语言。

结构化查询语言SQL是一种介于关系代数与关系演算之间的语言,其功能包括查询、操纵、定义和控制四个方面,是一个通用的功能极强的关系数据库标准语言。

在SQL语言中不需要告诉SQL如何访问数据库,只要告诉SQL需要数据库做什么。

第三章学生信息管理设计
3.1系统功能模块设计
根据系统所要实现的功能要求,按用户身份的不同,本系统分为4个部分:数据录入、查询、用户管理。

数据录入部分是提供给老师及教务人员用来进行课程的设置和管理的,查询部分是学生可以对自己的基本信息、成绩查询,用户管理部分事教务人员对用户管理部分。

具体各功能块完成的任务如下:
数据录入模块
此模块是教务人员及院系管理员系部、专业、班级的录入,学生基本信息的
录入、课程资源的录入、成绩的录入等。

查询模块
系统管理员、院系管理员、学生都可以通过此模块来进行成绩的查询。

用户管理模块
管理员可以通过这个页面对各级用户的基本信息、登录密码等进行修改。

课程信息维护页面
课程信息维护模块位于查询菜单下的课程信息查询菜单下、主要用于对课程的管理,包括该课程的课程编号、课程名称、课程简称、拼音码、教师、开课系别、学分、是否是本学期课程等等相关信息的查询。

学生信息维护模块
该功能模块是提供给学生进行选课,包括学生信息、已选课程和课程信息3部分。

学生信息包括学号、姓名、班级等基本信息。

一选课程包括学号、课序号、课程名称、教师、开课系别、上课时间天数、上课时间节数、上课地点等。

课程
信息包括课序号、课程编号、课程名称、教师、开课系别、拼音码、上课时间天数、上课时间节数和上课地点等。

成绩录入模块
该选课的所有学生名单,教师对各个学生的成绩输入,并保存,最终提交之前还可以进行修改。

最终提交是指老师提交该门课所有学生的最终成绩,提交后的成绩不可以进行修改,课程拼音和名称是模糊查询,课程编号必须输入准确,实际中由教师登录时的名称查询得到。

退出
该系统主要用于退出当前窗体。

3.2系统数据库设计
本系统需要设计3个基本信息表:教师个人信息、学生个人信息、课程信息。

学生的选课信息需要用一个表来单独保存。

由于每学期都要选课,因此选课结束后要将这个表的内容及时保存到成绩单数据表中。

使用本系统的不光是教务处的管理人员和教师,每个学生都需要登录到选课系统进行课程的选择。

因此,需要对不同的登录人员进行密码认证和权限的限制,防止出现越权行为。

用户名、密码、和权限单独保存在1个数据表中。

另外需要一个表格保存各记录号的计数值和一个课程状态的代码表。

1.用户信息表
该表用于记录用户的密码和权限,包括用户名、密码、权限。

其结构如下表所示。

2.成绩信息表
该表用于记录学生的课程成绩,包括记录号、学生的学号、
课程、成绩。

其结构如下表所示。

3.教师个人信息表
该表用于记录教师的个人信息,包括员工号、姓名、所属院系。

其结构如下表所示。

4.学生个人信息表
该表用于记录学生的个人信息,包括学号、姓名、班级。

其结构如下表所示。

5.课程信息表
该表用于记录课程的信息,包括课程号、授课老师、学分、学时、上课时间、上课地点、课程简介、课程状态。

其结构如下表所示。

6.选课结果信息表
该表用于记录选课结果信息,包括记录号、课程号、和选课学生。

其结构如
下表所示。

3.3系统安全保密设计
在系统安全保密设计中,本系统采用的是对用户登录系统时进行身份验证,只允许合法用户进入系统并操作。

在登录本系统时,系统首先让用户选择相应的身份,不同的身份有着不同的权限,同时用户需要输入用户名和密码进行验证。

输入的信息正确后才能进入相应的页面。

在登录模块的设计中,分别在在客户端和服务器端进行数据验证。

3.4数据库结构的实现
本系统采用Sql Server 2000数据库,数据库各个表的结构可以在Sql Server 2000中用CREATE TABLE语句来创建。

3.5初始数据的输入
数据表创建成功后,数据库中还没有实际的数据。

为保证外部键能使用,一些代码数据需提前输入。

第四章学生管理系统的测试与维护
4.1系统测试
在系统的程序编码中,测试是很重要的方面,测试的过程也是编码的更加深入的过程。

在此过程中,团结合作也很重要,可以提高测试的效率。

系统测试是可以实现计划并可明确检验的一种系统性处理过程。

事先可以规定测试技术和工序,指定一系列的测试步骤。

软件测试是软件质量保证的关键,也是对需求、设计和编码的最终编码。

为了发现软件存留的错误,软件的测试内容以及与需求分析、设计和编码这3个阶段的错误相呼应。

在教务管理系统中软件测试是随时都在进行的,每当一个模块完成时都分别进行测试。

由于本系统并没有投入到实际应用,数据库中的内容是不完全的。

所以在测试上要注意这些。

并且每个功能都进行数据测试,如学生信息搜索,课程
查询等。

系统完成后进行系统集成测试,在连接到首页和数据库后台集成后,检查是否在模块集成上出现问题。

最后在系统完成后进行验收测试,即按照任务书和需求分析逐步验证所要求的功能是否能够实现。

在整个系统的生成过程中,也遇到了问题:利用了函数的返回值进行判断后检查差错。

例如在祖先窗口的查询窗口中,输入了要查询学生的ID号,在单击主窗口的查询事件以后,在查询条件的传递时,在查询窗口的字段名出现了空格,而不是预想的字段名称。

这样根据函数的返回值判断,说明取字段没有成功,于是将错误集中在窗口取值的程序段。

结果发现查询窗口在取用户输入的查询条件时没有出现赋值错误,问题出在查询窗口没有读取其子窗口的用户单击确认健事件,于是主窗口不知道何时读入用户输入的查询信息。

procedure TForm2.SpeedButton1Click(Sender: TObject);
var
results:variant;
str1:variant;
begin
ADOTable1.Close;
ADOTable1.Open;
ADOTable1.Active;
str1:=adotable1.Lookup('用户类型',combobox1.Text,'用户名');
if str1=edit1.Text then begin
results:=ADOTable1.Lookup('用户名',edit1.text,'密码');{检索数据库中对应用户名的密码项}
if edit1.Text='' then
application.MessageBox('用户名不能为空!','提示',mb_ok)
else if edit2.Text='' then
application.messagebox('密码不能为空!','警告',mb_ok)
else
if results=edit2.Text then
begin
application.CreateForm(Tform10,form10);
form10.ShowModal;
end
else
showmessage('密码错误或用户不存在!');
edit1.Visible:=true;
edit2.Visible:=true;
edit1.Text:='';
edit2.Text:='';
end
else if str1<>edit1.Text then begin showmessage('用户不存在!');
end;
end;
procedure TForm7.DBGrid1CellClick(Column: TColumn);
begin
if dbcombobox1.Text='A' then
re/A.ico');
if dbcombobox1.Text='B' then
image1.Picture.LoadFromFile(extractfilepath(paramstr(0))+'./pictu re/B.ico');
if dbcombobox1.Text='C' then
image1.Picture.LoadFromFile(extractfilepath(paramstr(0))+'./pictu re/C.ico');
if dbcombobox1.Text='D' then
image1.Picture.LoadFromFile(extractfilepath(paramstr(0))+'./pictu re/D.ico');
if dbcombobox1.Text='E' then
image1.Picture.LoadFromFile(extractfilepath(paramstr(0))+'./pictu re/E.ico');
if dbcombobox1.Text='F' then
image1.Picture.LoadFromFile(extractfilepath(paramstr(0))+'./pictu re/F.ico');
if dbcombobox1.Text='G' then
image1.Picture.LoadFromFile(extractfilepath(paramstr(0))+'./pictu re/G.ico');
if dbcombobox1.Text='H' then
image1.Picture.LoadFromFile(extractfilepath(paramstr(0))+'./pictu re/H.ico');
if dbcombobox1.Text='I' then
image1.Picture.LoadFromFile(extractfilepath(paramstr(0))+'./pictu re/I.ico');
if dbcombobox1.Text='J' then
image1.Picture.LoadFromFile(extractfilepath(paramstr(0))+'./pictu re/J.ico');
if dbcombobox1.Text='K' then
image1.Picture.LoadFromFile(extractfilepath(paramstr(0))+'./pictu re/K.ico');
if dbcombobox1.Text='L' then
image1.Picture.LoadFromFile(extractfilepath(paramstr(0))+'./pictu re/L.ico');
if dbcombobox1.Text='M' then
re/M.ico');
if dbcombobox1.Text='N' then
image1.Picture.LoadFromFile(extractfilepath(paramstr(0))+'./pictu re/N.ico');
end;
procedure TForm7.FormClick(Sender: TObject);
begin
if dbcombobox1.Text='A' then
image1.Picture.LoadFromFile(extractfilepath(paramstr(0))+'./pictu re/A.ico');
if dbcombobox1.Text='B' then
image1.Picture.LoadFromFile(extractfilepath(paramstr(0))+'./pictu re/B.ico');
if dbcombobox1.Text='C' then
image1.Picture.LoadFromFile(extractfilepath(paramstr(0))+'./pictu re/C.ico');
if dbcombobox1.Text='D' then
image1.Picture.LoadFromFile(extractfilepath(paramstr(0))+'./pictu re/D.ico');
if dbcombobox1.Text='E' then
image1.Picture.LoadFromFile(extractfilepath(paramstr(0))+'./pictu re/E.ico');
if dbcombobox1.Text='F' then
image1.Picture.LoadFromFile(extractfilepath(paramstr(0))+'./pictu re/F.ico');
if dbcombobox1.Text='G' then
image1.Picture.LoadFromFile(extractfilepath(paramstr(0))+'./pictu re/G.ico');
if dbcombobox1.Text='H' then
image1.Picture.LoadFromFile(extractfilepath(paramstr(0))+'./pictu re/H.ico');
if dbcombobox1.Text='I' then
image1.Picture.LoadFromFile(extractfilepath(paramstr(0))+'./pictu re/I.ico');
if dbcombobox1.Text='J' then
re/J.ico');
if dbcombobox1.Text='K' then
image1.Picture.LoadFromFile(extractfilepath(paramstr(0))+'./pictu re/K.ico');
if dbcombobox1.Text='L' then
image1.Picture.LoadFromFile(extractfilepath(paramstr(0))+'./pictu re/L.ico');
if dbcombobox1.Text='M' then
image1.Picture.LoadFromFile(extractfilepath(paramstr(0))+'./pictu re/M.ico');
if dbcombobox1.Text='N' then
image1.Picture.LoadFromFile(extractfilepath(paramstr(0))+'./pictu re/N.ico');
end;
procedure TForm7.SpeedButton1Click(Sender: TObject);
begin
if pagecontrol1.ActivePage=tabsheet1 then
begin
if dbgrid1.SelectedIndex>0 then
begin
adodataset1.Delete;
application.MessageBox('你已删除该用户的信息','删除提示',mb_ok);
end
else
application.MessageBox('没有用户可删除或没有选定要删除用户!','删除提示',mb_ok);
end;
if pagecontrol1.ActivePage=tabsheet2 then
begin
if dbgrid2.SelectedIndex>0 then
begin
adoquery1.Delete;
application.MessageBox('你已删除该用户的信息','删除提示',mb_ok);
end
else
application.MessageBox('没有用户可删除或没有选定要删除用户!','删除提示',mb_ok);
end;
end;
procedure TForm7.N10Click(Sender: TObject);
begin
pagecontrol1.ActivePage:=tabsheet1;
adodataset1.Refresh;
adodataset1.Close ;
mandText:='select * from 用户表 ';
adodataset1.Open ;
application.MessageBox('已刷新','信息提示',mb_ok);
end;
4.2系统维护
系统维护就是为了保证系统中的各个要素随着环境的变化始终处于最新的、正确的工作状态。

系统维护的目的是保证管理信息系统正常而可靠地运行,并能使系统不断得到改善和提高,以充分发挥作用。

学生管理系统是通过数据库与Delphi结合实现的。

如果系统投入使用后,系统维护将是按生命周期方式设计的软件的最后一个周期。

可以说系统维护将伴随着这个系统直到生命周期结束。

本系统在设计上就考虑到维护问题,所以在设计过程中代码按模块编写,有较强的可读性,本系统希望在应用后能设置专门的管理员对系统进行维护。

本系统的业务处理过程是通过数据库中数据的显示和修改来实现的,因为是动态网络基于Web的管理系统,所以主要维护的是数据方面,除了系统中教务相关信息的随时更新外,还有许多数据需要不定期的更新,以及出现新类型对数据结构的调整,数据的备份与恢复也是数据维护的内容,动态网页系统的特点就是不通过修改代
码更改页面,在不对系统功能进行大量增加、删改时是不会出现代码的大量修改。

所以给维护带来方便。

总结
本系统是严格按照开发流程制作开发的。

介绍了教务管理系统从需求分析、系统建模以及到系统实施的整个过程。

在本系统的开发过程中,由于本组人是初次开发软件,在知识、经验方面都存在着不足。

另外,在整个开发的过程中,时间也比较仓促。

因此,该系统必然会存在一些缺陷和不足。

因为对学生管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。

虽然网络在学生管理系统中的应用不是很多,但是未来的发展方向,在本次开发过程由于硬件的限制,未能实现网络功能,因此在以后的系统更新过程中可能会造成一些不必要的数据损失。

尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。

我们不仅锻炼了思维,也培养了团结合作、和衷共济的精神。

参考文献
【1】周佩德.《数据库原理及应用》.电子工业出版社
杨海东刘海英等,Delphi数据库高级实例导航.科学出版社
【2】李煦. 基于校园网的高校教务管理系统设计[J]. 新疆职业大学学报.2004,3
【4】王要武,管理系统,电子工业出版社,2003
【5】李红等编著,管理信息系统开发与应用,电子工业出版社,2003
【6】周之英缟著,现代软件工程,科学出版社,2003
【7】卫红春.信息系统体系结构研究[J].计算机工程与应用,2003
【8】萨师煊.数据库系统概论[M].北京:高等教育出版社,1997
【9】肖庆航陆定淑Delphi 7数据库开发教程。

清华大学出版社。

【10】启明工作室 Delphi+SQL server 数据库应用系统开发与实例。

人民邮电出版社。

【11】彭文明,Delphi管理信息系统项目开发实践科学出版社。

相关文档
最新文档