数据库课设论文报告Word格式.docx
《数据库课设论文报告Word格式.docx》由会员分享,可在线阅读,更多相关《数据库课设论文报告Word格式.docx(22页珍藏版)》请在冰豆网上搜索。
![数据库课设论文报告Word格式.docx](https://file1.bdocx.com/fileroot1/2022-12/29/4150b06e-4273-48f8-9e99-4eecbb7c54fd/4150b06e-4273-48f8-9e99-4eecbb7c54fd1.gif)
3.6.2技术上的可行性8
3.6.3管理上的可行性8
4数据库设计9
4.1系统的设计原则9
4.2基本E-R模型结构图9
4.3数据库逻辑结构设计12
5数据库的实施15
5.1录入信息15
5.2设计用户登录15
结论21
致谢22
参考文献23
学生信息管理系统的设计与开发
1前言
1.1作业背景
本文依据《数据库应用实践》的课程设计要求而做。
课程作业要求如下:
用数据库管理系统开发工具(VisualFoxPro)开发一个实用的小型管理信息系统。
1.根据课程设计时间选择适当规模大小的设计题目,分小组进行设计。
2.小组组长为组员分配任务,根据合理的安排,按照系统开发的流程及方法,踏实地开展课程设计活动。
3.课程设计活动中,撰写相关技术文档。
最后提交详细的课程设计报告。
4.开发出可上机运行的管理信息系统,通过上机检查。
1.2选题说明
随着各个学校的规模增大,学校的学生越来越多,信息管理的工作量越来越大,几乎没有学校以手工为主来进行信息管理。
如今,随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点。
例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学生信息管理的效率。
所以我们想借本次课程设计之际,设计一个简易的学生信息管理系统。
要在有限的两周时间设计出一个小型的信息管理系统,考虑到我们知识面和视野以及信息系统的价值性,我们小组讨论决定设计一个学生信息管理系统比较合适。
这个系统能够对学生所在大学的学院进行查询,可以对学院下设的所有专业进行查询,可以对专业下设的班级进行查询,可以对班级里的学生的基本信息进行查询。
1.2.1基本思路
系统通过采用VF9.系统软件来实现学生信息管理系统的建立。
我们小组要做学生管理信息系统,初步采用自下而上的设计方法,首先对系统进行可行性研究,进而从经济、管理和技术三个方面对开发项目的可行性进行分析。
分析出结果后,对该系统进行结构分析和业务流程进行分析,然后得出逻辑模型即数据流程图。
根据系统分析阶段的数据流程图得到物理模型即模块结构图。
然后根据系统设计的内容进行程序设计并运行系统,运行后对系统进行评价与维护,找出缺点不足,继续改进。
1.2.2作业目标
系统的开发主要是为了适应学校的发展、更好的开展学生管理工作。
通过对学生管理信息系统的设计与开发,熟练使用所学的结构化分析以及设计方法分析系统,描述系统,设计系统。
掌握业务流程图,数据流程图,数据字典等工具。
熟练使用模块设计方法,数据库设计方法,代码设计方法,输入输出设计方法等设计物理系统。
并且会做简单的系统,并会运行实施。
这就是我们小组这次课程设计所要完成的目标。
本系统可以查询、删除、添加、更新记录、退出。
将学生信息集中管理,增加了安全性,方便学生、老师、家长查找。
本系统的学生论坛,更是解决了老师与学生的沟通的问题。
1.3工作业绩
1.3.1个人主要工作
首先,我与组员进行系统选题的讨论,最后确定了学生信息管理系统开发的课设题目。
随后我们进行了小组分工,我主要负责系统规划这部分,同时参与表单、菜单的制作以及信息的编制。
在运行后,参与对发现的问题进行解决并予以调试,最后参与了排版、截图、打印的工作。
1.3.2主要收获
这次课程实践仅仅进行了2周时间,但我在这短短的时间里体会到了很多。
首先对数据库有了进一步的认识与了解,让我觉得程序也不是一座难以搬动的大山,反而是一座奇妙的城堡,让人忍不住探寻。
在这次数据库课程中,小组也遇到了许多的问题,比如流程的电脑制作不熟练导致事倍功半;
编制的表单在程序运行时却找不到;
或者编写的命令代码不正确运行错误等。
面对这些问题,我们小组成员通过上网查资料、问老师、问同学才得到了解决。
通过这次学生信息管理系统的编写,让我知道了合作的重要性。
在有限间里想完成一个人无法完成的工作,多人合作是一个有效的方法。
既节约了时间,又完成了作业,同时减少了错误发生。
总之,最主要的是这次课程实践让我学到的不仅仅是VF相关技术,更多的是课程时间中逻辑能力及思维的严谨训练。
1.3.3自我评定
□优√良□中□及格□不及格
1.3.4小组成员任务分工情况
本组组长为:
,小组所有成员分工如下表所示:
学号
姓名
主要任务
备注
1004010410
任丽媛
系统实施
组员
1004010411
潘爽
系统设计
1004010415
赵曼
系统分析和前言
1004010416
赵宁
系统规划和实施
表1-1小组成员分工表
2系统规划
2.1项目名称
沈阳理工大学学生管理信息系统开发与设计。
2.2项目背景
学生管理信息系统是针对学校人事处的大量业务处理工作而开发的管理软件,主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、科学化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,包括查询、修改、添加、删除,另外还考虑到学校领导需求,针对这些要求设计了学生信息管理系统。
2.3项目目标
由于先前宿舍管理的工作流程建立在手工操作之上而导致处理速度过慢,不能满足上级管理层和住宿学生的要求,所以新系统开发的目标是:
适应快速增长学生数的要求,立足于现有的人力资源,充分利用计算机的强大功能,加强住宿工作各阶段的科学管理,并对管理决策提供良好支持。
2.4开发方法
本系统运用结构化系统开发方法。
2.5项目功能
该信息系统是一套学生信息查询和录入的信息管理系统,依据此系统可以快速查询每个学生的基本信息,方便学生使用,老师和管理员管理。
3系统分析
3.1系统概述
本次我们组的数据库实践名称为学生信息管理系统。
学生信息管理系统是针对学校人事处的大量业务处理工作而开发的管理软件,主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、科学化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、添加、删除,针对这些要求设计了学生信息管理系统。
推行学校信息管理系统的应用是进一步推进学生信息管理规范化、电子化、控制辍学和提高义务教育水平的重要举措。
3.2系统环境
硬件系统环境:
intelcorei3-2310MCPU、2G内存、320G硬、GT540显卡。
软件系统环境:
VisualBasic6.0中文版
3.3系统开发工具简介
微软公司(Microsoft)的VisualFoxpro6.0是Windows应用程序开发工具,是目前最为广泛的、易学易用的面向对象的关系型数据库系统的开发工具。
VisualFoxpro6.0提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的开发效率、运行效率和可靠性。
故而,实现本系统,VisualFoxpro6.0是一个相对较好的选择。
VisualFoxpro6.0是较流行的关系型数据库开发工具,一直被不同层次的程序员用于设计和开发各种类型的管理信息系统或进行数据库的维护。
VisualFoxpro6.0是美国Microsoft公司1998年推出的最新FoxPro版本,VisualFoxpro6.0的最大特点就是易学、高效、功能强大,能汇集各种信息以供查询、存储和检索,特别适用于中小型数据库的管理。
在科学飞速发展的今天,数据信息的管理、操作与维护变得越来越重要。
数据库这个划时代的概念由此应运而生。
数据库就是关于某一特性主题或目标和数据信息集合。
VisualFoxpro6.0的数据库是典型的关系型数据库。
关系型数据库是在不同的数据库之间、表之间存在着指定联系的数据库系统。
表是数据库系统中一个非常关键的组成部分。
表由若干行记录和若干列字段组成,一个表包含一个特定主题的数据信息。
其中每一列代表一种特定类型的信息,称为字段,每一字段都有其自身的数据类型、数据宽度、说明等属性。
每一行称为记录,每一记录都是该表的一个实例。
3.4系统开发目的
(1)支持学院各项学生工作的数字化,促进学生工作线的协同办公,提高学生管理工作效率;
(2)各类学生信息有效整合,实现数据共享和一致;
(3)体现服务意识,整合并规范学生管理业务,为学生、教师、学生管理人员提供人性化的服务;
(4)提供完善的查询统计功能,能够直观的找到需要的信息和数据;
(5)充分发挥计算机网络化管理的优势,有效提高工作效率。
3.5功能及需求分析
3.5.1功能分析
明确用户对学生信息管理系统的功能需求和性能需求,并将这些需求用规范化的语言和规范化的机构完整、准确地表现清楚,一次统一软件开发者和用户对学生信息系统软件的理解和认识。
这是开发学生信息管理系统的基础,也是软件开发者和用户通过研究调查,达成共识的基础。
功能分析的任务,是弄清用户对目标系统数据处理功能所提出的需求,根据系统目标和数据需求,本系统的功能目标可归纳为如下系统功能模块图。
图3-1系统功能模块图
(1)数据录入
录入功能用于在各种手填单据中增加新的记录,及时补充到系统将要运行的表中。
这些单据包括学生成绩表、基本信息表等。
(2)数据浏览和修改
能够浏览所要得到的数据表单,并且有修改功能。
这些表单包括学生成绩表、基本信息表等。
(3)数据查询
此查询功能包括两个:
按姓名查询和按学号查询,能够查询到学生信息表中各个字段的信息,并显示相关内容。
(4)数据统计和管理
此功能能够统计出各个城市的人员的相关信息,包括全班学生的学院、专业、出生年月、电话号码、宿舍楼。
3.5.2需求分析
21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。
使原本的旧的管理方法越来越不适应现在社会的发展。
许多人还停留在以前的手工操作。
这大大地阻碍了人类经济的发展。
为了适应现代社会人们高度强烈的时间观念,学校信息管理系统软件为学校办公室带来了极大的方便。
学校工作总体规划由教务人员在学生信息管理系统中完成对运行教务处所需的基本数据的维护,包括这些信息的增加、修改及对各项信息的变动都将在这进行操作。
学校需求具体有学籍管理系统提供保存、更新、查询、维护,这就需求数据库结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。
3.6可行性分析
3.6.1经济上的可行性
沈阳理工大学经济管理学院为学生配备专用的。
由于现在计算机技术的发展,各种系统的下载非常方便。
性能却有了极大的进步。
而本系统的开发为学生信息的管理带来方便,为此主要表现有以下几个方面:
第一,本系统的运行可以代替人工进行许多繁杂的劳动;
第二,本系统的运行可以节省许多资源;
第三,本系统的运行可以大大的提高老师的工作效率;
第四,本系统可以详细归类各个学院,各个专业学生的基本资料。
经过以上分析可以得出结论:
此系统在经济上是可行的。
3.6.2技术上的可行性
如今,电脑技术发展非常迅速,而且电脑的应用已经非常普遍,价格也不高,性能越来越强。
使用VisualFoxPro6.0作为我小组学生管理信息系统开发的环境,它作为一种现代的编程语言,提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。
综上所述,我小组的学生信息管理系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,此系统在技术上是可行的。
3.6.3管理上的可行性
随着沈阳理工大学教学管理系统的日益成熟,学校各项规章制度的齐全,管理方法的日益科学。
对于本系统的开发,我经济管理学院老师给予很大程度的支持和帮助,并为本系统的开发提供了一些条件,比如电脑的使用、VisualFoxPro6.0软件的提供、以及相关学生信息的提供。
所以,从学校组织管理上,本系统的开发是可行的。
此外学校管理人员对开发本项目的态度是积极的,以及我经济管理学院的院长对我小组项目的开发大力支持。
综上所述,此系统无论在经济,技术,和管理上,都是可行的。
4数据库设计
4.1系统的设计原则
(1)先进性。
作为新型的学生管理信息系统,只有采用先进的技术才能确保其强大的生命力。
(2)易操作性。
学生信息管理系统是建立在校园网上的应用软件系统。
符合大多数操作员习惯的用户界面至关重要。
(3)灵活性。
学生管理信息系统中的各功能模块的组合与使用权限应具有很强的自设定能力。
(4)安全性。
系统利用数据库本身严密的安全管理机制,采用对重要数据定期自动备份和采用目前比较流行的MD5数据加密算法。
(5)易维护性。
提高系统的可维护性是提高性能的必要手段。
系统采用面向对象的程序设计技术和程序模块化构造,数据存储结构设计在充分考虑其合理、规范的基础上,同时具有可维护性。
4.2基本E-R模型结构图
得到上面的数据项和数据结构后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为以后的逻辑结构设计打下基础。
这些实体包括各种具体信息,通过各种相互之间的作用形成数据的流动。
本系统中根据上面的设计规划出的实体有:
学生信息、系信息、公寓信息、专业信息、班级信息、总体信息。
现在对所设计系统的需求作进一步的分析,产生概念结构设计的E-R模型。
由于这个系统并不复杂,因此可采用自顶向下的设计方法。
自顶向下设计的关键是确定系统的核心活动。
所谓核心活动就是系统中的其他活动都要围绕这个活动展开,或与此活动密切相关。
确定了核心活动之后,系统就有了可扩展的余地。
实体—关系模型(Entity—RelationshipModule,简称E—R模型)是数据库结构设计常用的方法。
E—R图中的巨型表示实体,菱形表示实体间的联系,联系的类型可用1:
1或M:
M表示,圆角表示实体的有关属性,如图4-2所示的是本管理系统的E—R图:
(1)学生信息:
图4-1学生信息E-R图
(2)系信息:
图4-2系信息E-R图
(3)公寓信息:
图4-3公寓信息E-R图
(4)专业信息:
图4-4专业信息E-R图
(5)班级信息:
图4-5班级信息E-R图
(6)总体信息:
图4-6总体信息E-R图
4.3数据库逻辑结构设计
现在需要将上面的数据库概念结构转化为数据系统所支持的实际数据模型,也就是数据库的逻辑结构。
在上面的实体以及实体之间关系的基础上,形成数据库的表格以及各个表格之间的关系。
根据系统E—R图需要设计以下几个数据表来存放学生的信息。
表4-1StudentInfo学生个人信息表
字段名
数据类型
字符大小
是否允许为空
说明
StudentNum
文本
26
否
Name
10
Sex
2
性别
Series
8
所在系
Class
20
班级
Birthday
Date
短日期
出生日期
City
12
城市
TelNum
30
是
联系电话
Apartment
数值
4
是
公寓
表4-2SeriesInfo信息表
会计系
系名
金融系
信息系
税务系
工商系
表4-3apartment课程信息表
是否为空
公寓号
1
3
5
6
表4-4User信息表
ID
自动编号
长整型
编号
UserName
系统用户名
Password
用户密码
AccessLevel
Char
系统等级
4.4登录结构设计图
现在分析一下这些关系模式。
由于在设计关系模式时是以现实存在的实体为依据,而且遵守一个基本表只描述现实世界的一个主题的原则,每个关系模式中的每个非主码属性都完全由主码唯一确定,因此上述这些关系模式都是第三范式的关系模式。
5数据库的实施
5.1录入信息
在visualfoxpro6.0中录入如下信息:
图5-1表设计器
5.2设计用户登录
系统管理员在这里登录,并对数据表等进行设计更改。
如图5-1为该模块实现功能的示意图。
图5-2学生信息管理系统
其部分核心代码如下:
1、登录表单
(1)“登录”的click事件代码:
x1=alltrim(thisform.text1.value)
x2=alltrim(thisform.text2.value)
opendatabase学生信息数据库
use管理员
locaforalltrim(姓名)==alltrim(x1)
docase
casex1=="
"
messagebox("
对不起!
不能输入空值!
0+48+0,"
注意!
)
thisform.text1.setfocus
return
casefound()=.f.
姓名错误!
请重输!
thisform.text1.value="
thisform.text2.value="
casex2!
=alltrim(密码)
密码错误!
注意"
otherwise
MESSAGEBOX("
系统登陆成功!
do菜单.mpr
doform菜单表单
thisform.release
endcase
(2)退出”的click事件代码
thisform.release
2、查询的示意图及事件代码
(1)查询示意图如下:
图5-3学生信息查询
(2)“查询”的click事件代码:
USE学生表
x1=alltrim(thisform.Text2.value)
ifx1=="
messagebox("
没有输入,请检查!
else
browfor学号=x1
endif
closeall
3、插入信息示意图及事件代码
(1)插入的示意图如下:
图5-4插入信息
(2)“插入”的click事件的代码
USE学生表
INSERTinto学生表(学号,姓名,性别,所在系,班号,出生日期,城市,联系电话,公寓号);
values(thisform.text2.Value,thisform.text3.Value,thisform.text4.Value,thisform.text5.Value,thisform.text6.Value,thisform.text7.Value,thisform.text8.Value,thisform.text9.Value,thisform.text10.Value)
messagebox("
插入成功!
恭喜你!
select学号,姓名,性别,所在系,班号,出生日期,城市,联系电话,公寓号from学生表orderby学号
Broese
4、删除的示意图及事件代码
(1)删除示意图如下:
图5-5删除信息
(2)“删除”的click事件代码:
locatefor学号=x1
iffound()=.f.
messagebox("
未找到所删除的记录,请检查!
DELETEfrom学生表where学号=thisform.text1.value
pack
删除成功!
browse
5、修改的示意图及事件代码
(1)修改的示意图如下:
图5-6系统信息修改
(2)“修改”的click事件代码:
x1=alltrim(