董宗楠 电子版.docx
《董宗楠 电子版.docx》由会员分享,可在线阅读,更多相关《董宗楠 电子版.docx(20页珍藏版)》请在冰豆网上搜索。
董宗楠电子版
第1章绪论
学生信息的管理对学校有着特别重要的意义,学生信息管理系统可认为是一个学校必不可少的计算机系统,包括相应的硬件、软件和数据库。
随着社会的发展和学校的教学质量的提高,生源不断扩大。
尤其是自从国家实施大众化教育,实行高考扩招以来,我国高校学生数量急剧增大。
学校管理就成了一个现实问题摆在了人们面前。
应用学生信息管理系统,不但可减少大量纸质文件的处理时间,更重要的是通过相关数据的记录工作自动化,能够大大提高学生管理工作的效率。
如果人工直接进行统计管理,工作量之大,是可想而知的。
如果使用计算机软件来管理就可以使人们从繁重的劳动中解脱出来,仅使用一些简单的操作便可以及时、准确地获得需要的信息。
1.1课题研究现状分析
随着信息产业化的飞速发展,信息化管理已经引入并应用到各行业管理领域,在国外高校,他们一般具有较大规模的稳定的技术队伍来提供服务与技术支持。
而国内高校信息化建设相对起步较晚。
在数字校园理论逐步应用的过程中,各高校一方面不断投资购建各种硬件、系统软件和网络,另一方面也不断开发实施了各类教学、科研、办公管理等应用系统,形成了一定规模的信息化建设体系。
但是,由于整体信息化程度相对落后,经费短缺,理论体系不健全等原因,国内高校教务管理系统在机构设置、服务范围、服务质量及人员要求上与国外高校相比都有一定的差距。
目前国内研究现状,在安全性和信息更新化方面存在有很多的不足,各现有系统资料单独建立,共享性差;在以管理者为主体的方式中,信息取舍依赖管理者对于信息的认知与喜好,不容易掌握用户真正的需求,因此无法完全满足用户的需求。
因此,学生信息管理软件应充分依托校园网,实现教务信息的集中管理、分散操作、信息共享,学校使用学生信息管理系统来获取、存储、分析学生状况的信息,提高了对学生管理的效率。
系统内可保存学生和教师的个人资料,并可以多种方式对其的各个方面情况进行查询。
同时也使传统的教务管理朝数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的计算机教务管理系统和全校信息系统打下良好的基础。
1.1.1本领域内已开展的研究工作
1.理论研究基础
(1)学生信息管理系统是用计算机对学生和教师资料进行查询、修改、增加、删除以及存储,并快速准确地完成各种资料的统计和汇总工作及迅速打印出各种报表资料以供使用。
(2)使用学生信息管理系统,能满足学校对学生管理的工作需要,并能达到使用过程中的直观、方便、使用、安全的要求,通过此系统能显著提高学校对学生管理的效率。
2.技术层面的支持
本系统使用SQLServer2000进行系统开发,并要求开发人员具备基本的数据库设计知识。
数据库的设计,要做到数据库的冗余度小,便于管理,系统漏洞少,可共享。
1.1.2已经取得的研究成果
数据库技术得到越来越广泛的运用,也取得了许多成果。
数据库的整体性,共享性,完整性都得到充分运用。
使用数据库管理系统管理数据加快了工作效率,增强了竞争力。
各种数据库系统的运用,使得各个方面的运行都提高一个层次,使得社会进步不断加快。
数据库的应用成为衡量一个国家的重要指标。
现在的学生信息管理系统实现了学生个人信息、课程信息、所选课程信息的信息化管理,可以高效快速地处理各种学生信息,实现了对学生基本信息以及在校情况的添加、删除、查询、更改、维护等功能,帮助学校的管理人员对学生的基本信息进行高速、有效地管理。
此系统可以根据不同权限的用户进行不同的操作,学生可以通过此系统进行个人信息、考试成绩查询以及完成选课功能;教师可以通过此系统进行学生信息、课程信息和教师个人信息的查询、修改和删除等操作;而管理员则可以通过该系统对学生、教师、班级、课程情况等进行统一的管理,并为教师和学生分配对该系统的的操作权限。
1.2选题的目的及意义
在学校里,学校的每个学生管理部门都要处理大量的学生数据。
在数字化的今天,为了加快学校管理者对学生的信息管理必须依靠计算机,以便使学校对学生数据的管理更加规范、简单。
现在高校的学生信息的管理已渐渐地趋向于复杂化和多元化。
学生信息管理是学校管理中异常重要的一个环节,学生信息管理的计算机化是整个学校教务管理中的重要一部分,能否实现这一步关系到学校办学整体效率的高低,介与它的重要性,学生信息管理系统的开发与应用就逐渐提入议程,并占着越来越重要的份量。
随着计算机的广泛应用,越来越多的高校的学生信息管理开始采用计算机化的管理模式。
学生信息的查询、修改、添加、删除等基本操作都采用了计算机的数据库技术。
比起以前的纸张信息方便管理,易于更新,极大的方便了学生管理者对学生信息的管理工作。
这些优点能够极大地提高学校人事劳资管理的效率,也是学校的科学化、正规化管理,与世界接轨的重要条件。
因此,开发这样一套管理软件成为很有必要的事情。
学生信息管理系统是一个学校管理学生基本信息所不可缺少的部分,它的内容无论对于学校的决策者还是学生的管理者来说都至关重要,所以学生信息管理系统应该能够为用户和老师提供充足的信息和快捷的查询手段。
运用学生信息管理系统可以减轻学院教学人员的工作量,加强管理使各项管理更加规范化。
还有就是能缩小开支,提高准确率。
学生信息管理系统的应用也为今天的高校教育在未来市场的竞争力的提高达下坚实的基础。
第2章系统需求分析
随着计算机的普及和计算机技术的发展,计算机已开始在人类的生活中扮演着越来越重要的角色。
计算机正以其速度快,效率高,操作简单等优点,成为很多人和部门的工作离不开的助手,在数字化的今天,为了加快学校学生信息管理必须依靠计算机,以及使学校对学生数据的管理更加规范、简单,基于上述种种原因,开发一套学籍管理系统迫在眉捷,我们结合本次课程设计的题目开发了学生管理系统。
本文是对基于计算机对学校里的大量数据进行加工并处理的研究。
2.1问题的提出
由于学生成绩管理是一个非常繁琐与复杂的一项工作,工作量大,不好管理。
对于一个学校而言,为了了解学生信息,同时也为了提高对学生信息管理的效率,使学校学生管理人员从繁重的劳动中解脱出来,研制开发出一款功能强大,操作简单,具有人性化的学生的管理系统是非常必要的。
2.2可行性研究
学生信息管理系统可以对学生资料进行查询、修改、增加、删除以及存储,并能快速准确地完成对各种学生的统计同时能迅速打印出各种信息表格以供使用,此系统可用来获取、存储、分析有关学生的信息。
2.3系统的设计目标
通过使用学生信息管理系统对学生个人信息、课程信息和所选课程信息进行一体化管理,其设计目标是:
1、实现科学化、规范化管理。
2、管理员拥有最高权限,可以对学生信息进行修改,可以添加、删除管理人员,可以修改管理人员的密码和权限。
3、对学生信息进行基本的管理,包括对学生个人信息、课程信息、所选课程信息进行管理及维护的功能。
4、教师可以对学生信息和课程信息的添加、修改和删除等操作。
学生对个人信息和课程信息的查询和部分信息的修改等操作
2.4管理员、用户操作及系统的数据流图
2.4.1.管理员
管理员的操作流程图如图1-1所示
图1-1管理员操作分类表
学生信息管理包括:
学生信息的浏览,包括学生的学号、姓名、性别、民族、出生日期、入学时间、所在班级、籍贯及备注等信息;学生信息的添加,本系统由管理员对学生的基本信息进行添加;学生信息的修改、删除。
班级信息管理包括:
班级管理信息的浏览,包括班级设置、年级信息等;班级管理信息的添加;班级管理信息的修改、删除。
教师信息的管理包括:
教师信息的添加,本系统管理员对教师的基本信息进行添加;教师权限的修改,管理员可将教师的权限设为管理员。
学校基本课程信息管理包括:
学校基本课程的浏览,包括课程名、课程类型、学时、学分和课程具体描述;学校基本课程的添加;学校基本课程的修改、删除;学校对所设课程进行教师分配。
学生成绩信息管理包括:
学生成绩信息的浏览与统计;学生成绩信息的添加;学生成绩信息的修改、删除;学生选课人数的统计。
备注:
本系统教师可以被设为管理员,此时其操作流程与管理员相同。
2.4.2.学生
学生的操作流程图如图1-2所示
图1-2学生操作分类表
学生登陆该系统后,可以浏览个人基本信息,包括学号、姓名、性别、民族、出生日期、入学时间、所在班级、籍贯及备注等。
为了保证系统的安全性,只要求学生修改个人信息。
学生还可以浏览课程信息,具体内容包括课程名、课程类型、学时、学分和课程具体描述、任务教师等。
学生利用此系统选修课程,在选课过程中,学生可查询待选课程的基本信息及教师情况,并可浏览截止当前时间选修此课的人数。
学生还可以浏览个人的选课情况及个人成绩。
2.4.3.学生管理流程图如图1-3所示
图1-3学生管理流程图
第3章数据库设计
3.1数据库概念结构设计
3.1.1学生信息
图1-4学生实体及属性的E-R图
3.1.2课程信息
图1-5课程实体及属性的E-R图
3.1.3.教师信息
图1-6教师实体及属性的E-R图
3.1.4.学生和课程之间的联系(选课)
图1-6学生和课程之间的联系(选课)E-R图
3.1.5.教师和课程之间的关系(任教)
图1-7教师和课程之间的联系(任教)E-R图
3.2数据库逻辑结构设计
通过E/R模型到关系模型的转化,可以得到如下关系模式:
(1)学生实体集转换为关系:
STUDENT(Sno,Sname,Ssex,nation,birthday,year,home,other)
(2)课程实体集转换为关系COURSE(Cno,Cname,period,Credit,style,number,des)
(3)教师实体集转换为关系TEACHER(Tno,Tname,Tsex,Ttile)
(4)选课联系转换为关系SC(Sno,Cno,score)
(5)任教联系转换为关系TC(Tno,Cno)
每个关系模式的主键码都用下划线标出。
同时,对于从联系导出的关系SC(选课)和TC(任教),使用与之相联系的实体集的主健码作为自己的键码,必须符合外键码约束。
3.3数据库物理结构设计
STUDENT(Sno,Sname,Ssex,nation,birthday,year,home,other)
COURSE(Cno,Cname,period,Credit,style,number,des)
TEACHER(Tno,Tname,Tsex,Ttile)
SC(Sno,Cno,score)
TC(Tno,Cno)
3.4数据库的实施
3.4.1建立数据库的SQL语句
实现该设计的环境为Windows2000Perfessinal+MSSQLServer2000.0
CREATEDATABASESTUDENT
GO
-------------------建立学生表
USESTUDENT
GO
CREATETABLEStudent
(SnoCHAR(15)Primarykey,
SnameCHAR(10)UNIQUE,
SsexCHAR
(2),
nationCHAR
(2),
birthdayDATETIME,
yearCHAR(6),
homeCHAR(5),
otherCHAR(10)
)
GO
insertintoStudentvalues('20064051401','董宗楠','男','汉','1985-10-10','2006','天津','团员')
InsertintoStudentvalues('20064051402','林惠菊','女','汉','1989-5-16','2006','福建','团员')
InsertintoStudentvalues('20064051403','方圆','男','汉','1986-6-12','2006','安徽','团员')
InsertintoStudentvalues('20064051404','陈志勇','男','汉','1986-7-22','2006','内蒙古','团员')
InsertintoStudentvalues('20064051406','赵强','男','汉','1986-11-26','2006','河北','党员')
InsertintoStudentvalues('20064051407','李层岭','女','汉','1986-7-5','2006','河北','团员')
InsertintoStudentvalues('20064051408','李丽莎','女','汉','1986-8-9','2006','河北','党员')
InsertintoStudentvalues('20064051409','张金钢','男','汉','1987-11-21','2006','唐山','团员')
--------------------建立课程表
CREATETABLECourse(
CnoCHAR(5)Primarykey,
CnameCHAR(20),
periodint,
Creditint,
Stylechar(10),
numberint,
desCHAR(500))
INSERTINTOCourseVALUES('1','数据库',80,4,'科学类',10,'简单介绍数据库基础知识及SOL语句的简单应用')
INSERTINTOCourseVALUES('2','数学',60,2,'科学类',10,'讲解有关微积分的应用')
INSERTINTOCourseVALUES('3','C++',60,3,'科学类',17,'C++语言基础知识')
INSERTINTOCourseVALUES('4','计算机组成原理',84,2,'科学类',8,'计算机基本组成及工作原理')
INSERTINTOCourseVALUES('5','ENGLISH',60,4,'人文类',10,'基础英语知识')
INSERTINTOCourseVALUES('6','数字电路',60,4,'科学类',20,'基础数字电路知识介绍')
INSERTINTOCourseVALUES('7','电路基础',60,4,'科学类',12,'基本电路的分析及应用')
----------------建立教师表
CREATETABLETEACHER(
TnoCHAR(5)primarykey,
TnameCHAR(15),
TsexCHAR(5),
TitleCHAR(10))
GO
INSERTINTOTEACHERVALUES('001','荆淑霞','女','教授')
INSERTINTOTEACHERVALUES('002','焦智','男','教授')
INSERTINTOTEACHERVALUES('003','贾振华','男','教授')
INSERTINTOTEACHERVALUES('004','张文柏','男','讲师')
---------------建立学生选课表
CREATETABLESC(
SnoCHAR(15)REFERENCESSTUDENT(Sno),
CnoCHAR(5)REFERENCESCOURSE(Cno),
scoreint,
Primarykey(Sno,Cno))
insertintoscvalues('20064051109','1',88)
insertintoscvalues('20064051101','2',80)
insertintoscvalues('20064051102','3',78)
insertintoscvalues('20064051105','4',86)
insertintoscvalues('20064051106','6',92)
insertintoscvalues('20064051106','5',85)
insertintoscvalues('20064051107','7',88)
insertintoscvalues('20064051108','8',90)
insertintoscvalues('20064051109','4',92)
insertintoscvalues('20064051102','1',78)
insertintoscvalues('20064051103','1',78)
------------------建立教师任课表
CREATETABLETC(
TnoCHAR(5)REFERENCESTEACHER(Tno),
CnoCHAR(5)REFERENCESCOURSE(Cno)
PRIMARYKEY(Tno,Cno))
GO
INSERTINTOTCVALUES('001','1')
INSERTINTOTCVALUES('001','5')
INSERTINTOTCVALUES('002','2')
INSERTINTOTCVALUES('003','4')
INSERTINTOTCVALUES('003','3')
INSERTINTOTCVALUES('004','6')
INSERTINTOTCVALUES('003','7')
INSERTINTOTCVALUES('002','7')
3.5数据库功能测试
3.5.1.管理员操作
(1)管理员对学生信息的查询
select*
fromstudent
查询结果:
(2)管理员对学校基本课程查询
select*
fromcourse
查询结果:
(3)管理员对课程信息添加
insert
intocourse
values('8','数据通信与计算机网络','60','3','科学类','15','计算机网络基本知识')
验证操作是否成功:
select*
fromcourse
(4)管理员对学校基本课程修改
updatecourse
setCname='英语'
whereCno='5'
验证操作是否成功:
select*
fromcourse
whereCno='5'
(5)管理员对教师进行课程分配
InsertintoTCvalues('001','1')
InsertintoTCvalues('001','5')
InsertintoTCvalues('002','2')
InsertintoTCvalues('003','4')
InsertintoTCvalues('003','3')
InsertintoTCvalues('004','6')
InsertintoTCvalues('003','7')
InsertintoTCvalues('002','7')
验证操作是否成功:
selectcourse.Cno,Cname,teacher.Tno,Tname
fromcourse,teacher,tc
wherecourse.Cno=TC.CnoandTEACHER.Tno=TC.Tno
(6)管理员对教师信息添加
insert
intoteacher
values('005','李俊基','男','教授')
验证操作是否成功:
select*
fromteacher
(7)管理员对学生成绩添加
insertintoscvalues('20064051109','1',88)
验证操作是否成功:
select*
fromsc
whereSno='20064051109'andCno='1'
(8)管理员修改学生成绩信息
updatesc
setscore='92'
whereSno='20064051109'andCno='1'
验证操作是否成功:
select*
fromsc
whereSno='20064051109'andCno='1'
(9)管理员可将教师设为管理员
此时教师具有管理员的所有操作权限
3.5.2.学生操作
(1)学生查询基本课程信息
select*
fromcourse
(2)学生选课
insert
intosc
values('20064051109','1')
验证操作是否成功:
select*
fromsc
whereSno=’20064051109’
(3)查询当前选课人数
selectCno,count(*)
fromsc
groupbyCnohavingcno='1'
(4)学生查询课程及任课教师情况
selectcourse.Cno,teacher.Tno,Tname
fromcourse,teacher,tc
whereo=oandteacher.tno=tc.tno
(5)学生查询自己成绩
select*
fromsc
whereSno='20064051109'
(6)学生浏览个人选课情况
selectSno,Cno
fromsc
whereSno='20064051409'
3.6数据库安全性操作
随着计算机特别是计算机网络的发展,数据的共享日益加强,数据的安全保密越来越重要。
DBMS是数据库的核心,因而其自身必须具有一套完整而有效的安全性机制。
数据库系统安全性的实现有很多方法对于该学生管理系统,管理员须对各个用户的登录操作及权限控制。
1.将所有操作权限授予DBA
2.对于数据库用户登录,管理员须将SQLSever属性身份验证设置为SQLSever和Window(s),如下图所示
3.管理员须给每个学生一个登录帐号和密码,其中帐号是学生的姓名,密码为学生学号。
学生凭借此帐号和密码登录数据库然后进行操作。
管理员新建学生登录帐号如下图所示:
4.新建学生用户后管理员须将用户添加为数据库用户,如下图所示:
第4章总结
通过一个学期的学习,基本搞清楚了数据库理论方面的东西是很清,为这次的课程设计打下了铺垫。
着手做这次课程设计的时候,我告诉自己我所应该具备的能力不是我现在会多少,而是我面对问题时候运用新学的知识解决它的能力。
所以,课设过程中不管我遇到什么困难都鼓励自己不要放弃。
我记得我做这个数据库之前,老师说最主要是做好前期需求分析,开始我真的有点觉得需求分析是很简单的,没有老师说的那样重要,所以我最开始做的是建立好各个数据表。
可是,到后期数据库制作时候发现脑子里面一塌糊涂,不知道下一步该做什么。
这才意识到是我的前期数需求分析没做好,于是我又从需求分析重新做起,之后经过努力完成此次数据库课程设计。
通过这次课程设计我更深刻的认识到,做什么时候前都要考虑如何去做,这样才会把事情做好,也让使我更认真的考虑以后数据库该如何学习。
后台数据库仍然存在许多不足之处,比如没有做好降低数据的冗余度,由于现有知识的限制