C课程设计报告学生信息管理系统.docx
《C课程设计报告学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《C课程设计报告学生信息管理系统.docx(38页珍藏版)》请在冰豆网上搜索。
C课程设计报告学生信息管理系统
摘要
学生信息管理系统是学校对学生管理中的一个重要内容,随着时间的增加,学校师生的变化、学校人员的去留职位的变迁、学生的毕业与留校和他们之间的关系是如何变化得。
如何处理好这些信息的变化,对学校实施高效的科学管理,对学校人员构成情况和发展趋势进行统计、规划、分析并制定切实可行的相关教育政策,是一项繁重而艰巨的任务。
本文是采用C#作为前台开发工具,SQLServer2005作为后台数据库平台的基于C/S的两层模式的管理系统。
旨在实现对现有的学生信息管理系统工作中遇到的各种情况和大量数据在数据库存储的基础上,提供信息咨询,信息检索,信息存取等服务,在此论文中主要实现对存储在数据库中的数据表进行这些简单的操作,为提高学生信息管理系统效率提供了行之有效的手段。
关键词:
C#;数据库表;SQLServer2005;学生信息管理系统。
第一章开发环境和开发工具
1.1C#语言简介
C#是美国微软公司推出的Windows操作系统下的应用程序开发平台VisualStudio.NET(简称VS.NET)家族中的一员C#是对C++进行了很大改进的一种完全面向对象的可视化程序设计语言。
由于C#采用了类似于VisualBasic的较易使用的程序设计界面,从而成为了一种更加简单易学、功能强大的应用程序开发工具。
C#是一种先进的、面向对象的语言,使用C#语言可以让开发人员快速的建立大范围的基于MS网络平台的应用,并且提供大量的开发工具和服务,帮助开发人员开发机基于计算和通信的各种应用。
由于C#是一种面向对象的开发语言,所以C#可以大范围地适用于高层商业应用和底层系统的开发。
即使是通过简单的C#构造,也可以让各种组件方便的转变为基于Web的应用,并且能够通过Internet被各种系统或是其他开发语言所开发的应用调用。
1.2开发背景
随着科学技术的不断发展,计算机科学日渐成熟,其强大的功能已为人们所深刻认识,它己进入人类社会的各个领域并发挥着越来越重要的作用。
采用计算机进行信息化管理已成为衡量现代管理科学化和现代化的重要标志,而人事管理的全面自动化、信息化则是其中重要的组成部分。
人事管理的好坏对于不同的决策者和管理者来说都至关重要,在很大程度上影响着他们的经济效益和社会效益。
因此,本文所研究的学生信息管理系统具有一定的使用价值和现实意义。
一直以来人们使用传统人工的方式进行人事管理,这种管理方式存在着诸多缺点,如:
工作量大、效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
鉴于此,本文研究了一种基于关系型数据库的学生管理方案。
利用SQLServer2005数据库管理系统灵活性和开发效率高的特点,采用面向对象的C#的方法,开发出学生信息管理系统。
该系统具有手工管理所无法比拟的优点,如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、信息利用率高、成本低等。
该系统能够极大地提高学校的人事管理的效率,优化教育人力、物力,降低学校的教育管理成本,为学校管理的信息化、正规化奠定了坚实的基础。
1.3开发环境
本文所采用的开发环境主要是基于数据库系统的SQLServer2005和基于面向对象程序设计的C#。
利用SQLServer2005创建企业中的部门信息表。
学生信息表、教师信息表以及用C#连接数据库用的用户信息表。
利用C#和数据库建立连接之后,利用C#中的控件按钮以及一些程序代码实现一些特定的功能,例如学生信息查询、教师信息编辑、教师课程查询等,极大地提高了学校人事管理的效率。
第二章学生信息管理系统的分析与设计
随着计算机技术的飞速发展,计算机在现代社会管理中应用的普及,利用计算机实现学校人事管理势在必行。
当前学生信息管理系统正在从C/S结构向B/S结构转移,但是由于安全性等方面的因素,C/S结构的管理信息系统仍然占据学生信息管理系统的主流。
本文所论述的系统也是C/S结构的管理信息系统。
学校人事管理是现代社会管理不可缺少的一部分,是适应现代化制度要求,推动学校师生人事管理走向科学化、规范化的必要条件。
2.1系统需求分析
随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,用计算机实现信息的管理正处于蓬勃发展的时期。
随着高等教育的迅速发展,高校对学生信息的管理要求也越来越高。
以往的高校学生信息的管理靠人工,效率低并且难以修改给管理工作带来很多不便。
因此,建立一个规范化,系统化,程序化的学生信息管理系统系统迫不及待。
数据需求分析
本系统的主要数据信息有学生基本信息和成绩信息。
学生基本信息包括:
学号、姓名、性别、年龄、系、专业。
功能需求分析
本系统主要实现对学生信息进行管理,需要实现以下几个方面的管理功能:
(1)注册学生信息
(2)学号、姓名检索个人信息的合法性
(4)根据学号、姓名删除个人信息
(5)修改学生信息
(6)插入一个学号不重复的学生信息
(7)保存学生的信息
2.2系统总体设计
2.2.1系统设计目标
本文研究开发的学生信息管理系统用于支持企业完成学校人事管理工作,有如下三个方面的目标:
●支持学校实现规范化的管理。
●支持学校高效率完成学生人事管理的日常业务,包括新生入校时人事档案的建立、学生上课记录、教师信息查询等。
●支持学校进行学生人事管理及其相关方面的科学决策,如学校领导根据现有的学生数目决定招生人数等。
2.2.2开发设计思想
基于以上系统设计目标,本文在学生信息管理系统时遵循了以下开发设计思想:
●采用现有的软硬件环境及先进的管理系统开发方案,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的。
●尽量达到操作过程中的直观、方便、实用、安全等要求。
●系统采用C/S体系结构,Clinet(客户端)负责提供表达逻辑、显示用户界面信息、访问数据库服务器;Server(服务器端)则用于提供数据服务。
(写出三层设计思想)
●系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。
●系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。
2.2.3系统功能模块设计
本系统分为四个模块:
主界面模块、查询模块、数据维护模块、学生选课模块。
得到如图3-1所示的系统功能模块图。
第三章数据库设计
3.1引入背景
学生信息管理系统是一个数据库应用系统,师生的所有信息都保存在数据库中。
数据库结构设计是学生信息管理系统数据库应用系统开发过程中一个非常重要的环节,设计的好坏将直接对所开发的学生信息管理系统的效率以及实现的效果产生影响。
好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度,简化基于此数据库的应用程序的实现等等。
数据库结构设计主要就是要设计好数据库中各个表的结构,包括信息保存在哪些表格中、各个表的结构如何以及各个表之间的关系。
由于数据库设计的重要性,人们提出了许多数据库结构设计的技术。
3.2数据库需求分析
数据库需求分析是数据库结构设计的第一个阶段,也是非常重要的一个阶段。
在这个阶段主要工作是收集基本数据以及数据处理的流程,为以后进一步设计一打下基础。
需求分析主要解决两个问题:
:
.●内容要求。
调查应用系统用户所需要操作的数据,决定在数据库中存储什么数据。
●处理要求。
调查应用系统用户要求对数据库进行什么样的处理,理清数据库中各种数据之间的关系。
在数据库需求分析后,得到一个数据字典文档,包括3方面内容。
●.数据项。
包括名称、含义、类型、取值范围、长度以及和其他数据项之间的逻辑关系。
●.数据结构。
若干个数据项的有意义的集合,包括名称、含义以及组成数据结构的数据项。
●.数据流。
指数据中数据的处理过程,包括输入、处理和输出。
本系统数据项和数据结构设计如下:
●.学生基本情况。
包括的数据项有学生号(账号)、学生姓名、密码、课程、性别。
●课程信息。
包括的数据项有课程号、课程名称、上课时间、每周节数、教课老师、课程的执行时间。
●选课信息。
包括学生号、课程号、分数、代号。
●用户登录信息。
包括用户名、密码、用户职务。
3.3数据库概念结构设计
数据库概念结构设计是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。
用E-R图是描述数据实体关系的一种直观描述工具,所以本系统采用了E-R图的方法进行数据库概念结构设计。
图2-1学生为实体E-R图
图2-2课程为实体E-R图
图2-4选课为实体E-R图
2-5教务员为实体E-R图
图2-4为实体之间关系E-R图
3.4数据库逻辑结构设计
概念结构是独立于实际数据模型的信息结构,必须将其转化为逻辑结构后才能进行数据库应用的设计。
也就是要将概念上的结构转化为BP数据库系统所支持的实际数据模型。
学生信息管理系统数据库中各个表格的设计结果如下面的四个表所示。
每个表表示数据库中的一个表。
学生设计及情况表:
课程设计及情况表:
选课设计及情况表:
用户设计及情况表:
第四章系统详细设计与实现
4.1公共类设计与实现
类Constants主要用于教师模块的数据库实现,主要代码如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceSchoolMIS.DataAccess.Teacher.SQLServer
{
classConstants
{
///
///数据库连接字符串
///
publicstaticreadonlystringConnString="ataSource=FREESKYC-333AEB\\SQLEXPRESS;InitialCatalog=student;IntegratedSecurity=True";
///
///教师登陆
///
publicstaticreadonlystringTeacherLogin=
@"SELECTCOUNT(*)FROM[users]
WHEREUserName=@teaName
ANDUserPassword=@teaPassword
ANDUsertype='教师'";
///
///修改密码
///
publicstaticreadonlystringChangePassword=
@"UPDATE[users]SETUserPassword=@teaPassword
WHEREUserName=@teaName";
///
///添加课程信息
///
publicstaticreadonlystringAddCourse=
@"INSERTINTO[course]
(
courseName,courseTime,courseStartTime,
courseEndTime,courseCredit,courseTeacher,
courseDesc,courseAddress
)
VALUES
(
@courseName,@courseTime,@courseStartTime,
@courseEndtime,@courseCredit,@courseTeacher,
@courseDesc,@courseAddress
)";
///
///获取指定教师的所有的课程信息
///
publicstaticreadonlystringGetAllCourseByTeaName=
@"SELECTcourseIDAS编号,
courseNameAS名称,
courseTimeAS上课时间,
courseAddressAS上课地点,
courseStartTimeAS开课时间,
courseEndTimeAS结课时间,
courseCreditAS学分,
courseDescAS其他信息
FROM[course]
WHEREcourseTeacher=@teaName";
///
///删除指定标号的课程信息
///
publicstaticreadonlystringDeleteCourseByCourseID=
@"DELETEFROM[course]WHEREcourseID=@courseID";
///
///删除指定课程编号的学生选课信息
///
publicstaticreadonlystringDeleteStuCourseByCourseID=
@"DELETEFROM[stuCourse]WHEREcourseID=@courseID";
///
///依据课程编号获取所有选课学生的学生信息
///
publicstaticreadonlystringGetStuCourseByCourseID=
@"SELECT[stuCourse].scIDAS选课编号,
[course].courseNameAS课程名称,
[student].stuNameAS学生姓名,
[stuCourse].stuIDAS学生学号,
[stuCourse].scScoreAS学生成绩
FROM[course],[stuCourse],[student]
WHERE[course].courseID=[stuCourse].courseID
AND[stuCourse].stuID=[student].stuID
AND[stuCourse].courseID=@courseID";
///
///给指定的学生选课记录评分
///
publicstaticreadonlystringUpdateScore=
@"UPDATEstuCourse
SETscScore=@score
WHEREscID=@scID";
}
}
类Constants主要用于学生模块的数据库实现,主要代码如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Text;
namespaceSchoolMIS.DataAccess.Student.SQLServer
{
classConstants
{
///
///数据库连接字符串
///
publicstaticreadonlystringConnString="ataSource=FREESKYC-333AEB\\SQLEXPRESS;InitialCatalog=student;IntegratedSecurity=True";
///
///验证学生登陆
///
publicstaticreadonlystringStuLogin=
@"selectstuNamefromstudentwherestuID=@stuIDandstuPassword=@stuPassword";
///
///修改学生信息
///
publicstaticreadonlystringStuUpdateInfo=
@"UPDATEstudentSET
[stuPassword]=@stuPassword,
[stuName]=@stuName,
[stuEnrollmentDate]=@stuEnrollmentDate,
[stuGraduatedDate]=@stuGraduatedDate,
[stuMajor]=@stuMajor,
[stuSex]=@stuSex,
[stuBirthday]=@stuBirthday,
[stuHome]=@stuHome,
[stuRace]=@stuRace,
[stuDesc]=@stuDesc,
[stuParty]=@stuParty,
[stuPhone]=@stuPhone
WHERE
[stuID]=@stuID";
///
///添加学生信息
///
publicstaticreadonlystringStuInsertInfo=
@"INSERTINTOstudent(
[stuPassword],[stuName],
[stuEnrollmentDate],[stuGraduatedDate],
[stuMajor],[stuSex],[stuBirthday],
[stuHome],[stuRace],[stuDesc],[stuID],[stuParty],[stuPhone])
VALUES(
@stuPassword,@stuName,
@stuEnrollmentDate,@stuGraduatedDate,
@stuMajor,@stuSex,@stuBirthday,
@stuHome,@stuRace,@stuDesc,@stuID,@stuParty,@stuPhone)";
///
///依据学生学号获取学生信息
///
publicstaticreadonlystringGetStuInfoByStuID=
@"SELECT*FROM[student]WHEREstuID=@stuID";
///
///获取所有的课程信息
///
publicstaticreadonlystringGetAllCourse=
@"SELECTcourseIDAS编号,
courseNameAS名称,
courseTimeAS上课时间,
courseAddressAS上课地点,
courseStartTimeAS开课时间,
courseEndTimeAS结课时间,
courseCreditAS学分,
courseTeacherAS教师,
courseDescAS其他信息
FROM[course]";
///
///获取已经选择的课程信息
///
publicstaticreadonlystringGetSelectedCourse=
@"SELECT[stuCourse].scIDAS选课编号,
courseNameAS名称,
courseTimeAS上课时间,
courseAddressAS上课地点,
courseStartTimeAS开课时间,
courseEndTimeAS结课时间,
courseCreditAS学分,
courseTeacherAS教师,
courseDescAS其他信息
FROM[course],[stuCourse]
WHERE[stuCourse].stuID=@stuNum
AND[course].courseID=[stuCourse].courseID";
///
///四六级报考历史
///
publicstaticreadonlystringGetCetHistory=
@"SELECTcetIDAS编号,
cetClassAS级别,
stuCardIDAS身份证号码,
cetTestDateAS考试时间,
cetTestPlaceAS考试地点,
cetTestScoreAS分数
FROMcet
WHEREstuID=@stuID";
///
///计算机等级考试报考历史
///
publicstaticreadonlystringGetComputerHistory=
@"SELECTcomIDAS编号,
comTypeAS级别,
stuCardIDAS身份证号码,
comTestDateAS考试时间,
comTestPlaceAS考试地点,
comScoreAS分数
FROMcomputer
WHEREstuID=@stuID";
///
///添加学生选课信息
///
publicstaticreadonlystringAddSelectedCourse=
@"INSERTINTOstuCourse(stuID,courseID)VALUES(@stuNum,@courseID)";
///
///删除学生选课信息
///
publicstaticreadonlystringDeleteSelectedCourse=
@"DELETEFROMstuCoursewherescID=@scID";
///
///判断学生是否已经选择该课程
///
publicstaticreadonlystringIsSelectedCourse=
@"SELECTCOUNT(scID)FROMstuCourse
WHEREstuID=@stuNumandcourseID=@courseID";
///
///四六级报考
///
publicstaticreadonlystringAddCetTest=
@"INSERTINTO[cet](stuID,cetClas