学生信息管理系统的设计与实现毕业论文.doc
广西财经学院毕业论文(设计)学生信息管理系统的设计与实现系 别:信息与统计学院专业名称:计算机科学与技术班 级:计科0841学生姓名: 学 号: 指 导 教 师: 27完成日期 2012 年 03月 25日广西财经学院毕业论文(设计)诚信承诺书一、本人在毕业论文(设计)撰写过程中遵守学校有关规定,恪守学术规范,毕业论文(设计)是在指导教师的指导下独立完成的;二、论文所使用的相关资料、数据、观点等均真实可靠,文中所有引用他人观点、材料、数据、图表均已注释说明来源;三、论文无抄袭、剽窃或不正当引用他人学术观点、思想、学术成果及伪造、篡改数据的情况;四、本人知晓学校对毕业论文(设计)中的抄袭、剽窃、弄虚作假等违反学术规范的行为将被严肃处理,并可能导致开除学籍、取消学士学位资格或注销并被追回已发放毕业证书、学士学位证书的严重后果;五、若在学校组织的毕业论文(设计)检查、评比中,被发现有抄袭、剽窃、弄虚作假等违反学术规范的行为,本人愿意接受学校按有关规定给予的处理,并承担相应的责任。承诺人签名: 年 月 日 (签名日期为提交论文时间) 目 录中文摘要1Abstract21绪论31.1 系统背景31.2 研究现状31.2.1 国内研究现状31.2.2 国外研究现状31.3 数据库简介31.4 开发环境简介32需求及可行性分析52.1 需求分析52.2 可行性分析52.2.1 技术可行性分析52.2.2 经济可行性分析53 概要设计63.1 系统功能简介63.2 系统功能分析图63.3 E-R图63.4 数据库表设计74 详细设计114.1 用户登录模块114.2 管理员模块114.3 授权用户模块144.4 学生模块155系统实现165.1 用户登录模块165.2 管理员模块165.3 授权用户模块215.4 学生模块246结束语26参考文献27致 谢28学生信息管理系统的设计与实现中文摘要目前,学生信息管理系统已经发展成为学校的学生管理工作中必不可少的一个组成部分,如果没有学生信息管理系统,学生管理的工作都将变得繁杂而且低效率。随着社会信息化的发展,建立一个能有效减少管理人员的工作量,有效保证数据的完整性、保密性、安全性,系统界面友好、操作简单、实用的学生信息管理系统是非常有必要的。针对现在一些高校的学生信息管理系统存在的问题,设计实现了一个界面整洁、操作简单、维护容易的学生信息管理系统。该系统能有效的管理学生基本信息、选课、考试、成绩、班级、教师等信息,还能实现信息的打印与统计,做到信息的规范管理、科学统计和快速查询,是现阶段很好的一个辅助教学程序,具有较强的实用性,极大的提高了高校学生信息管理的工作效率。【关键字】管理信息;学生管理;ASP.NET;SQL ServerDesign and Implementation of Student Information Management SystemAbstractAt present, the student information management system has been developed into an essential part of the school's student management. Without the student information management system, student management would become complex and inefficient. Along with the development of the information society, it is necessary to establish a practical student information system with friendly interface and easy to use, which would reduce the management staffs workload effectively, and ensure data integrated, confidential and security. Aiming at some problems in the universitys student information management system, we design and develop a student information management system that is interface clean, simple operation, and easy maintenance. The system can effectively manage students' basic information, course selection, examination, class, teachers, and other information. It also has print and statistical functions. It is a good assisted instruction programs for standard information management, scientific statistical, and rapid inquiry. It greatly improves the work efficiency of the university student information management .Keywords management information; student management; ASP.NET; SQL Server1绪论1.1 系统背景随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。学生信息管理系统是一个教育单位不可缺少的部分,它的存在对学校的决策者和管理者来说至关重要1。传统的高校学生信息管理系统由于受到先前管理环境、技术水平等诸多因素的影响,存在功能单一、响应速度慢、交互性弱、信息共享难以及严重的“信息孤岛”等问题2。如果建立一个统一的在校学生信息管理库,让各部门使用同一套信息数据,各部门根据各自的权限对这套信息数据进行更新维护,这样便可以通过共享数据信息,减少许多无谓的重复工作,提高学校统计信息的准确性、真实性和效率性,而且还能大大方便我们对学生信息的管理,提高管理质量,实现科学化、正规化管理3。1.2 研究现状1.2.1 国内研究现状我国高校信息化建设起步较晚,1997年初步建成校园网的高校仅有10所。虽然经过多年的努力,但许多软件在实际使用过程中还是存在不少缺陷,主要体现在以下几个方面:其一,功能不完整,未能涵盖各有关职能部门管理工作的各个环节;已有的管理软件自身不完善,之间又缺乏有机联接;其二,适用性不强,大量特殊问题得不到有效的解决;其三,校园网利用不充分,没有实现真正的数据共享。1.2.2 国外研究现状在国外,信息化校园建设具有发展早、起点高、投资大和速度快的特点。特别是,欧美、日本等发达国家高度重视信息化建设,早在20世纪90年代初几乎所有的高校便建成了比较完善的校园网,各个职能部门都基本实现了网络化、信息化管理。1.3 数据库简介数据库是数据管理的最新技术,是计算机科学的重要分支。如今信息资源的管理是越来越复杂、越来越重要,而数据库是信息系统的核心和基础技术。数据库解决多用户、多应用共享数据的需要,使数据为尽可能多的应用服务。1.4 开发环境简介本文介绍了在Microsoft Visual Studio 2008环境下,SQL Server Management Studio作为数据库平台,采用ASP.NET技术以B/S结构设计的学生信息功能系统。B/S结构是浏览器/Web服务器/数据库构成的三层结构,是传统C/S(客户机/服务经)模式的扩展4。Visual Studio 是微软公司推出的开发环境,Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序。.NET的核心是.NET Framework,它由公共语音运行库和类库组成,为应用程序提供了中间代码的支持,并且可以通过运行时来管理这些中间代码,从而实现程序跨平台运行5。SQL是结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。2需求及可行性分析2.1 需求分析经过研究分析发现,学生信息管理系统有以下需求:(1)由于操作人员的计算机知识普遍较差,要求有良好的人机界面;(2)由于该系统的使用对象多,要求有较好的权限管理;(3)原始数据修改简单方便,支持多条件修改;(4)在相应的权限下,删除数据方便简单,数据稳定性好;(5)数据计算自动完成,尽量减少人工干预。2.2 可行性分析2.2.1 技术可行性分析本系统采用B/S框架开发技术方案,采用ASP.NET WEB开发技术和SQL Server 2005数据库平台,现阶段的开发技术已经成熟,没有开发困难的问题。 2.2.2 经济可行性分析(1)支出:在基础建设投资上,可以利用现有设备,不必进行另外的硬件设备投资。(2)效益:本系统运行可以提高学生信息管理的效率,满足师生查询的需要,减少管理员的不必要的操作,方便快捷地有效完成学生管理的各项工作。综上所述,开发本系统要求的技术成熟、安全,经过经济、技术等方面的可行性分析,可以确定本系统的开发完全是有必要,而且是可行的。 3 概要设计3.1 系统功能简介学生信息管理系统主要由管理员模块、授权用户模块、学生模块组成,每个模块下面包含许多子功能。简单来说该系统有如下一些基本的功能:(1)实现学生基本信息以及就业信息的添加、修改、删除、查询;(2)实现学生选修课程以及课程成绩的添加、修改、删除、查询;(3)实现学校所有课程信息的添加、修改、删除、查询;(4)实现班级信息的添加、修改、删除、查询;(5)实现教师信息的添加、修改、删除、查询;(6)实现普通信息的打印功能;(7)实现简单的统计功能;(8)实现不同权限的用户管理自己的账号、密码以及管理员管理普通用户和授权用户的账号、密码的功能。3.2 系统功能分析图根据以上功能,设计了学生信息管理系统总功能结构图。图3-1学生信息系统总功能结构图3.3 E-R图图3-2为学生信息管理系统总E-R图:图3-2学生信息管理系统总E-R图3.4 数据库表设计根据系统需求分析和系统建模,设计出系统数据库StudentManager基本数据表。系统的主要数据表和功能描述如下。(1)管理员表管理员表用于记录管理员基本信息。其字段如表3.1所示。表3.1管理员表(Admin)列名数据类型与长度是否为空字段说明Namevarchar(20)NOT NULL用户名(主键)Pwdvarchar(20)NOT NULL密码Anamevarchar(10)NOT NULL真实姓名Emailvarchar(50)NULL电子邮箱Telephonevarchar(12)NULL联系电话(2)学生基本信息表学生基本信息表是用于记录学生学号、个人密码、班级编号、姓名等基本信息。其字段如表3.2所示。表3.2学生基本信息表(Student)列名数据类型与长度是否为空字段说明Snochar(12)NOT NULL学生学号(主键)Spwdvarchar(20)NOT NULL学生密码Clnochar(8)NOT NULL班级编号(外键)Snamevarchar(10)NOT NULL姓名Ssexchar(2)NOT NULL性别Cardsvarchar(18)NOT NULL居民身份证Birthdayvarchar(50)NOT NULL出生日期Nationvarchar(10)NOT NULL民族Birthplacevarchar(20)NOT NULL籍贯Politicalvarchar(10)NULL政治面貌Addressvarchar(50)NULL家庭地址Codevarchar(10)NULL邮政编码Stelephonevarchar(12)NULL固定电话Syearvarchar(10)NOT NULL入学年份Dormitoryvarchar(10)NOT NULL宿舍号Cityvarchar(20)NULL工作城市Companyvarchar(50)NULL公司名称PayfloatNULL工资Graduatevarchar(2)NOT NULL是否毕业生Sremarksvarchar(50)NULL备注(3)班级信息表班级信息表是用于记录班级编号、班级名称等基本信息。其字段如表3.3所示。表3.3班级信息表(Class)列名数据类型与长度是否为空字段说明Clnochar(8)NOT NULL班级编号(主键)Clnamevarchar(20)NOT NULL班级名称Facultyvarchar(50)NOT NULL系别名称Professionalvarchar(50)NOT NULL专业名称NumbertinyintNOT NULL班级人数Counselorvarchar(10)NOT NULL辅导员(4)教师信息表教师信息表是用于记录教师号、个人密码、姓名等基本信息,其字段如表3.4所示。表3.4教师信息表(Teacher)列名数据类型与长度是否为空字段说明Tnochar(8)NOT NULL教师号(主键)Tpwdvarchar(20)NOT NULL教师密码Tnamevarchar(8)NOT NULL教师姓名Tsexchar(2)NOT NULL教师性别Emailvarchar(50)NOT NULLE-mailTtelephonevarchar(12)NOT NULL联系电话Tremarksvarchar(50)NULL备注(5)课程信息表是用于记录课程编号、课程名称等信息,其字段如表3.5所示。表3.5课程信息表(Course)列名数据类型与长度是否为空字段说明Cnochar(10)NOT NULL课程编号(主键)Cnamevarchar(50)NOT NULL课程名称Typevarchar(30)NOT NULL课程类型Unitvarchar(10)NOT NULL学分Hoursvarchar(10)NOT NULL学时Testmodevarchar(10)NOT NULL考核方式(6)学生选修及成绩表是用于记录学生选修情况和课程成绩等信息,其字段如表3.6所示。表3.6学生选修及成绩表(Elective)列名数据类型与长度是否为空字段说明EIDintNOT NULL选修序号(主键)Snochar(12)NOT NULL学号(外键)TIDintNOT NULL授课序号(外键)Roundvarchar(50)NULL考试轮次Testtimevarchar(50)NULL考试时间Testsitevarchar(50)NULL考试地点Seatvarchar(10)NULL座位号UscoretinyintNULL平时成绩EscoretinyintNULL考试成绩TscoretinyintNULL综合成绩Eremarksvarchar(50)NULL备注(7)教师授课表是用于记录与授课相关的信息,其字段如表3.7所示。表3.7教师授课表(Teach)列名数据类型与长度是否为空字段说明TIDintNOT NULL授课序号(主键)Cnochar(10)NOT NULL课程编号(外键)Tnochar(8)NOT NULL教师编号(外键)Yeartermvarchar(50)NULL学年学期Cyclesvarchar(30)NULL周次Festivalvarchar(20)NULL节次Classroomvarchar(20)NULL上课地点(8)学年学期表是用于记录学年学期。其字段如表3.8所示。表3.8学年学期表(YearTerm)列名数据类型与长度是否为空字段说明YIDintNOT NULL序号Yeartermvarchar(50)NOT NULL学年学期4 详细设计4.1 用户登录模块用户登录页面可以实现不同的用户登录不同页面。图4-1是用户登录PAD图(即树形问题分析图(Problem Analysis Diagram))。图4-1用户登录PAD图4.2 管理员模块(1)学生管理模块学生管理模块主要实现的功能有管理员对学生基本信息的添加、修改、查询、删除和学生成绩的添加、修改、查询以及打印信息。以下学生管理模块PAD图。图4-2学生基本信息管理PAD图图4-3学生基本信息查询PAD图(2)教师管理模块教师管理模块实现的功能是管理员对教师基本信息的添加、修改、删除、查询和打印教师基本信息。(3)班级管理模块班级管理模块实现的功能是管理员对班级信息的添加、修改、删除、查询和打印班级基本信息。 (4) 课程管理模块课程管理模块实现的功能是管理员对课程信息的添加、修改、删除、查询和打印课程基本信息。(5) 选课管理模块选课管理模块实现的功能是管理员对学生选课信息的修改、删除、查询和打印学生选课基本信息。(6) 考试管理模块考试管理模块实现的功能是管理员对学生考试时间安排修改(添加)查询。(7)教学管理模块教学管理模块实现的功能是管理员对课程与教师之间授课关系信息的添加、修改、删除、查询。(8)用户管理模块用户管理模块主要实现2个大功能。其一、实现管理员信息的添加、修改、删除、查询;其二、实现管理员、教师(授权用户)以及学生个人密码的修改。图4-4是用户密码管理模块PAD图。图4-4用户密码管理PAD图(9)其他管理模块其他管理模块实现学年学期的查询、添加、删除。4.3 授权用户模块(1)用户信息模块用户信息管理模块实现教师对个人基本信息的查看和修改。(2)学生管理模块学生管理模块实现教师对学生基本信息的查询和学生成绩的添加或修改。(3)班级管理模块班级管理模块实现教师对班级信息的查询。(4)授课安排模块授课管理模块实现教师对个人授课信息的查询。(5)决策支持模块这个模块实现授权用户对一些数据的简单统计然后可视化输出,如每个学院的人数比例,学院男女比例,课程成绩平均分等统计情况。Visual Studio附带的Crystal Report可以创建简单的或者复杂、专业的报表,还可以绘制图表,它可以从任何数据源生成所需要的报表,其中数据库访问模式分为提取模式(Pull Model)和推入模式(Push Model)。提取模式也就是驱动程序会自动的连接至数据库并根据需要来提取数据。当采用提取模式时,Crystal Report本身将自行连接数据库并执行用来提取数据的SQL命令,开发人员不需要另外编写代码6。因此这次图表的绘制就是用提取模式实现的,设计过程如下:在添加新项命令中添加一个Crystal报表,使用报表向导创建一个新的Crystal Report文档,由于第一次设计水晶报表,所以需要创建一个新连接OLE DB(ADO),选择Microsoft OLE DB Provider for SQL Server程序,在下一步中输入本地数据源服务器,先勾选集成安全,再选择创建好的数据库文件了,单击完成。下一步是报表字段的选择,如果要实现各学院人数的比例统计功能,这里选定Class表,要显示的字段选择学院、班级和班级人数,分组依据选择学院字段,汇总字段选择班级人数字段的求和,然后下一步直到完成水晶报表的创建。设置刚创建的水晶报表中图表和字段的显示格式,再创建一个窗体文件,在其中拖放一个CrystalReportViewer报表控件,选择刚才创建的报表作为报表源,一个简单的各学院人数统计功能就成功实现了。其他的功能统计表的实现,只是数据表、显示的字段、分组依据、汇总字段、图表的变更主题不一样,由于篇幅问题,在这里就不重复了。(6)其他模块这个模块实现授权用户个人密码的修改。4.4 学生模块(1)学生信息模块学生信息模块主要实现的功能是学生对自己基本信息的查看。(2)教学安排模块教学安排模块主要实现功能是学生查询自己的上课地点等信息。(3)选课模块选课模块主要实现学生选课功能,包括学生选修课程、查询或退选课程。(4)考试安排模块教学安排模块主要实现功能是学生查询自己的考试时间等信息。(5)成绩查询模块成绩查询模块主要实现的功能是学生查询自己的成绩。(6)其他模块这个模块主要实现功能是学生个人密码的修改。5系统实现5.1 用户登录模块图5-1是用户登录页面布局图。图5-1用户登录主页面5.2 管理员模块(1)主页面图5-2是管理员模块主页面的详细设计布局图,其中菜单栏是可以收缩与展开的,图中为菜单展开时显示的页面。图5-2管理员模块主页面(2)学生基本信息管理图5-3是查询学生基本信息功能模块显示结果。图5-3学生基本信息查询显示页面在学生基本信息管理页面中,查询条件包括学号、姓名、班级名称、入学年份,搜索信息包括单个学生基本信息的搜索以及全部学生基本信息的搜索。图5-4是在查询学生基本信息页面中,选择表框中每行学生基本信息首列的修改按钮时打开的页面。图5-4修改学生基本信息页面图5-5是添加学生基本信息主页面。图5-5 添加学生基本信息主页面管理学生基本信息还有一个重要的功能就是删除信息。图5-6是删除学生基本信息时出现系统提示。图5-6 删除学生基本信息时出现的系统提示在学生信息管理页面选择打印学生基本信息时,将会打开图5-7的页面,可以实现学生基本信息表格样式的打印功能。图5-7 学生基本信息打印页面(3)用户管理用户管理模块主要包括管理员的添加、修改、删除、查询以及不同用户的个人密码修改。修改用户的个人密码不需要输入旧密码,只需要用户提供个人的账号或学号就能直接输入新密码进行修改。以下是修改学生个人密码时打开的页面:图5-8 修改学生个人密码页面(4)其他功能在管理员模块中,还包括其他的功能,但是这些功能的实现与学生基本信息管理中描述的学生基本信息的查询、添加、修改、删除功能非常类似,这里不再重复。5.3 授权用户模块(1)主页面图5-9是授权用户模块主页面的详细布局图。图5-9授权用户模块主页面(2)授权用户信息图5-10是授权用户查看个人信息时打开的页面。图5-10 查看教师个人信息图5-11是授权用户修改个人信息时打开的页面。图5-11 修改教师个人信息(3)统计管理统计管理是授权用户的高级功能,这些功能中包括各学院人数比例的统计,学院男女比例的统计,学生成绩的统计等功能。以下是一些数据的统计结果截图。图5-12 各学院人数统计情况图5-13 学院学生男女比例统计情况图图5-14 各班级学生课程成绩平均分统计图(4)其他功能余下的功能显示和错误提示与管理员模块设计与实现是类似的。5.4 学生模块(1)模块主页面图5-15是学生模块主页面的详细布局图。图5-15 学生用户模块主页面(2)其他功能余下的功能显示、错误提示与管理员模块、授权用户的是类似的,不再重复。6结束语在系统的开发过程中,由于本人开发知识掌握不足以及开发经验不够丰富,在问题考虑以及细节处理上都存在着一些缺陷和不足。在这次系统开发过程中,我遇到了不少的困难,可以概括为以下几个方面:第一,为了使用户在使用该系统时有一个较好的体验效果,在设计菜单栏与内容显示框时,考虑当用户点击菜单栏时,整个页面不会同时刷新一次。搜索了很多资料,最后使用<iframe ></iframe>标签显示需要显示的内容,再使用局部刷新Ajax技术,成功解决了这个困难。第二,当用户修改信息时,在相应的文本框中加载数据库中已存在的信息。这个问题同样困扰着我很长一段时间,虽然从同学那里听取了很多的解决方案,但是由于本人实际开发经验不足,这个问题解决起来还是存在着一些困难,后来在老师的帮助下,使用dsTable.Rows0"".ToString()把数据库中的字段显示到相应的文本框中。第三,在设计授权用户模块的决策支持功能时,如何统计人数的比例、成绩的平均分?为了解决这个问题,查阅了很多相关资料都没解决,后来才发现是我在设计数据库时,人数、成绩这些字段的字段类型时出现了错误,本应该是整型却设置成了字符型。这个教训让我学会了在思考问题时候,一定要深思熟虑,明白问题的根本才容易解决问题。虽然还有一些其他的小问题,但是在老师和同学们的帮助下都一一解决了,使我学到了很多有用的知识,对以后的工作会有很大的帮助。尽管本管理系统存在若干不足,但其功能全面、易于升级、数据库管理容易、界面友好、操作方便、效率高、安全性好。相信本学生信息管理系统将是一套学校在日常管理中必不可少的管理软件。参考文献1蔡长安,王琪基于B/S模式的学生信息管理系统设计与实现计算机工程与设计,2006,27(14):2585-25902别红桂基于ASP.NET的学生信息管理系统设计与实现J 经济研究导刊,2010,30:309-3123黄荣喜高校学生信息管理系统的研究与实现J计算机与信息技术,2007,10:85-864马克明基于B/S的学生信息管理系统的设计与实现J 甘肃科技,2006,22(12):57-585唐玉芳,张永胜.基于.NET的学生信息管理系统的设计与实现J 计算机技术与发展,2010,20(04):242-2456庞娅娟,房大伟,吕双.ASP.NET从入门到精通M 2010年7月第2版北京:清华大学出版社,2011.7:226-253致 谢在论文即将完成之际,回顾整个开发过程,本人在此向所有关心我以及帮助我的老师和同学们致以最真诚的感谢。在本次毕业设计中,我从指导老师身上学到了很多东西。她认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我获益匪浅。她无论在理论上还是在实践中,都给予了我很大的帮助,使我得到了很大的提高,这对于我以后的工作和学习都有一种巨大的帮助,在此感谢她耐心的辅导。在撰写论文阶段,老师几次审阅我们的论文,提出了许多宝贵意见,没有她的指导,我们就不能较好的完成课题设计的任务。另外,我还要感谢大学四年来对我有所教导的老师,他们孜孜不倦的教诲不但让我学到了很多知识,而且让我掌握了学习的方法,更教会了我做人处事的道理,在此表示衷心的感谢。