1、江苏畜牧兽医职业技术学院毕业设计(论文) 江苏畜牧兽医职业技术学院 毕业设计(论文)题目: 学生信息管理系统的设计与实现 姓名: 孟成艳 学号: 200905173132 二级院系部: 信息工程系 班级: 软件091 专业: 软件技术 指导教师: 毛 林 职称: 讲 师 二0 一 二 年 六 月学生信息管理系统的设计与实现作者 孟成艳 指导教师 毛林【摘 要】 随着信息时代的来临以及信息化的高速发展,信息的自动化管理已成为当前迫切需要解决的问题。本论文根据软件工程中软件开发的流程,对系统需求分析、软件设计和编码、功能实现和测试工作进行了详细介绍。阐述了高校学生信息管理系统的设计、开发及实现过程
2、。选用了适合于高校学生信息管理的关系数据库理论与设计方法,进行了高校学生信息管理系统数据库的概念结构和逻辑结构设计。本系统使用Microsoft SQL Server 2005作为数据库,以Microsoft Visual Studio2005作为系统开发工具开发出一套实用的C/S架构的学生信息管理系统。【关键词】 学生信息管理系统;SQL; Visual Studio 2005Student Information Management SystemDesign and Implementation【Abstract】With the advent of the information ag
3、e and the rapid development of information technology, the automation of information management has become an urgent problem to be solved.In this paper, according to the software engineering in software development process, the system needs analysis, software design and coding, function realization
4、and testing are introduced in detail.Elaborated the university student information management system design, development and implementation process.Selection of suitable for the college students information management in relational database theory and design methods, the university student informati
5、on management system database concept structure and the logical structure design.The system uses Microsoft SQL Server 2005 as database, Microsoft Visual Studio2005 as a development tool developed a set of practical C/S architecture student information management system.【Keywords】Student information
6、management system;SQL;Visual Studio 2005目 录引 言1第一章 概述11.1 开发背景11.2 开发目标1第二章 系统需求分析22.1 需求分析22.2 可行性分析2第三章 系统概要设计23.1 数据库设计23.2 功能设计73.3 系统功能设计8第四章 详细设计与系统实现104.1 登录窗口设计与实现104.2 主窗体设计与实现124.3 查询分析窗体设计与实现144.4 权限管理窗体设计与实现154.5 退出主窗体19总结与展望19参考文献20致 谢20附 录2021引 言21世纪是信息化的时代,信息化以更快捷更方便为目标来融入各行各业。学校也不能例外
7、。当前,我国的学校正在加紧实施信息化建设,其中学生管理是相当重要的一部分。目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理软件也不少。但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作。学生管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新
8、和维护都带来了不少的困难。在各大中小学校,用计算机管理学校的信息已经越来越普遍了。用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了学校资料的安全性。提高了学校的管理能力,为此,用计算机来管理学校的信息,是非常必要的。第一章 概述1.1 开发背景学生信息管理系统是为了适应现代化学校管理的需要,加快推进高校数字化校园建设、充分利用校园网,利用网络、多媒体等计算机应用技术和手段,提高办公效率、改善质量的高效管理信息系统。学生信息管理系统是系科综合管理信息系统的重要组成部分,进行学生基本信息、扩充信息、成绩信息、在校的其它各种信息的集中电子化处理,实现主要系务业务流程的计算机管理,实现系
9、科学生管理工作的自动化管理和公用信息在校园网上自动发布。本文档为“学生信息管理系统的设计和实现”的说明书,主要用于为实现系统的功能而进行的系统详细设计说明,详细系统各软件组成模块的实现流程、功能、接口、编译、测试要点等内容,便于对系统的编码进行指导和约束。1.2 开发目标 实现学生信息资料的集中化电子化处理; 实现学生成绩的电子化处理; 实现普通用户的前台多媒体自助查询功能; 实现学生管理工作制度化、标准化、规范化; 实现学生管理的其它必要的管理功能。 建立关于学生数据比较全面详细的数据库。第二章 系统需求分析2.1 需求分析通过调查,要求系统需要有以下功能:(1)要求有良好的人机界面;(2)
10、系统的使用对象多,要求有较好的权限管理;(3)原始数据修改简单方便,支持多条件修改;(4)方便的数据查询,支持多条件查询;(5)在相应的权限下,删除数据方便简单,数据稳定性好;(6)尽量减少人工干预。2.2 可行性分析本系统为一个小型的学生信息管理系统,所耗费的资源非常的小,学校的电脑无论是硬件还是软件都能够满足条件,因此,本系统在运行上是可行的。本系统的开发利用Microsoft SQL Server 2005作为本系统的数据库,它是一个支持多用户的新型数据库,适用于大中规模的数据量需求。学校校园网的建设也为新系统服务器/客户端的结构提供了硬件的支持。使用Visual S作为系统开发的开发环
11、境,它提供完善的指令控制语句、类与对的支持及丰富的数据类型,给开发高性能系统提供保障,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。第三章 系统概要设计3.1 数据库设计E-R图: 图2-1 学生信息E-R图数据库逻辑设计的任务是根据数据库概念设计的结果,设计数据库的概念模式和外模式,这是数据库结构设计的重要阶段。外模式和概念模式是用户所看到的数据库,是应用程序访问数据库的接口。设计逻辑结构分为以下步骤:(1) 将概念结构转化为一般的关系模型;(2) 将转换来的关系模型
12、向特定DBMS支持下的数据模型转换;(3) 对数据模型进行优化;据以上分析,学生信息管理系统数据库中的表格的设计结果如表2-1所示。表2-1 utLogin字段名类型长度主/外键ufidvarchar36ufUserNamevarchar200ufPassWordvarchar200ufRealNamevarchar200uftypevarchar50ufupdatetimedatetime50ufupdatepersonvarchar200表2-2 utMarkInfo字段名类型长度主/外键ufidvarchar36ufStudentCodevarchar100主ufCourseCodeva
13、rchar100主ufMarkint50ufupdatetimedatetime50ufupdatepersonvarchar200表2-3 utClassInfo字段名类型长度主/外键ufidvarchar36ufClassCodeint20主ufClassNamevarchar100外ufProfessionalCodeint50外ufupdatetimedatetime50ufupdatepersonvarchar200表2-4 utClassroomInfo字段名类型长度主/外键ufidvarchar36ufClassroomCodeint20主ufBuildingNamevarcha
14、r200外ufFloorvarchar10外ufRoomNumvarchar20ufupdatetimedatetime50ufupdatepersonvarchar200表2-5 utCourseInfo字段名类型长度主/外键ufidvarchar36ufCourseCodeint20主ufCourseNamevarchar200外ufTeacherCodeint20外ufClassroomCodeint20ufcoursetypevarchar200ufCreditint20ufupdatetimedatetime50ufupdatepersonvarchar200表2-6 utGrade
15、Info字段名类型长度主/外键ufidvarchar36ufGradeCodeint20主ufGradeNamevarchar200外ufupdatetimedatetime50ufupdatepersonvarchar200表2-7 utElectiveInfo字段名类型长度主/外键ufidvarchar36ufCourseCodeint20主ufstudentNameint20外ufupdatetimedatetime50ufupdatepersonvarchar200表2-8 utCompulsoryInfo字段名类型长度主/外键ufidvarchar36ufCourseCodeint2
16、0主ufProfessionalcodeint20外ufupdatetimedatetime50ufupdatepersonvarchar200表2-9 utProfessionalInfo字段名类型长度主/外键ufidvarchar36ufProfessionalCodeint20主ufProfessionalNamevarchar200外ufGradeCodeint20外ufupdatetimedatetime50ufupdatepersonvarchar200表2-10 utStudentInfo字段名类型长度主/外键ufidvarchar36ufStudentCodevarchar10
17、0主ufStudentNamevarchar200外ufSexvarchar10ufPoliticsStatusVarchar1ufNationvarchar10ufClassCodeint10外ufBirthdaydatetime20ufEntranceDaydatetime20ufIdentityCardNumnervarchar100ufNativePlacevarchar1000ufFamilyAddressvarchar100ufupdatetimedatetime50ufupdatepersonvarchar200表2-11 utTeacherInfo字段名类型长度主/外键ufid
18、varchar36ufteachercodeint20主ufteacherNamevarchar200外ufsexvarchar10uftelphonevarchar20ufremarkvarcharmaxufupdatetimedatetime50ufupdatepersonvarchar2003.2 功能设计本系统从功能上划分,可分为以下几大模块:学生信息管理模块、教师信息管理模块、班级管理模块、课程管理模块、成绩管理模块、查询分析模块、权限管理模块等几大模块。以下将对各子模块进行说明。系统功能模块(流程)图如图3-1所示。显示欢迎界面信息维护专业信息班级信息教室信息教师信息课程信息成绩信
19、息输入登录密码并判断正确性重新输入NY查询分析权限管理退出学生信息选必修课学分成绩用户信息系别信息图3-1 系统功能模块(流程)图3.3 系统功能设计学生信息管理系统是一个完整的学校学生信息管理系统。在本系统中主要包括用户登录和注册功能、用户管理功能、教师信息管理功能、班级和年级管理功能、课程信息管理功能、学生信息管理功能、学生成绩管理功能等。它们的具体描述如下:1用户登录和退出功能用户登录功能主要包括的功能如下:(1) 配置数据库:灵活的配置数据库以保证在不同的电脑主机上使用该系统。(2) 用户登陆:验证用户的信息是否合法,以及验证用户是否为系统的合法用户。退出功能主要包括的功能如下:1 退
20、出系统。2 切换用户。2用户管理功能用户管理功能主要包括用户管理、角色管理。在系统中主要包括:用户管理、添加用户和用户修改密码。3学生成绩查询功能(查询分析)学生成绩查询功能主要对学生成绩、学分进行查询。4信息维护功能(1)系别管理功能系别管理功能主要实现系别的管理功能,如系别的添加、修改和删除等。在系统中主要包括:添加新的系别和系别信息、修改系别和系别信息、删除系别和系别信息。(2)专业管理功能专业管理功能主要实现专业的管理功能,如专业的添加、修改和删除等。在系统中主要包括:添加新的专业和专业信息、修改专业和专业信息、删除专业和专业信息。(3)班级管理功能班级管理功能主要实现班级的管理功能,
21、如班级的添加、修改和删除等。在系统中主要包括:添加新的班级和班级信息、修改班级和班级信息、删除班级和班级信息。(4)教室管理功能教室管理功能主要实现教室的管理功能,如教室的添加、修改和删除等。在系统中主要包括:添加新的教室和教室信息、修改教室和教室信息、删除教室和教室信息。(5)教师管理功能教师管理功能主要实现教师的管理功能,如教师的添加、修改和删除等。在系统中主要包括:添加新的教师和教师信息、修改教师和教师信息、删除教师和教师信息。(6)课程管理功能课程管理功能主要对课程信息的管理,如课程信息的添加、修改和删除等。在系统中主要包括:添加新的课程信息、修改课程信息、删除课程信息。(7)成绩管理
22、功能学生成绩管理功能主要对学学生成绩的管理,如学生成绩的添加、修改和删除等。在系统中主要包括:添加新的学生成绩、修改学生成绩、删除学生成绩。(8)学生信息管理功能学生档案管理功能主要对学生信息的管理,如学生信息的添加、修改和删除等。在系统中主要包括:查询新的学生信息、添加新的学生信息、修改学生信息、删除学生信息。第四章 详细设计与系统实现 4.1 登录窗口设计与实现系统启动后,将首先出现用户登录窗体,当用户输入用户名或者密码错误错误时,将提示错误。如图4-1 所示。图4-1 用户登录代码如下:public partial class Login : Form private string _l
23、oginTitle; private int _loginTitleLength; private bool _direction; public Login() InitializeComponent(); _loginTitle = this.Text; _loginTitleLength = _loginTitle.Length; _direction = true; / / 对标题栏文字进行移动 / / / private void timerLogin_Tick(object sender, EventArgs e) if (_direction)/正方向移动 if (_loginT
24、itle.Length _loginTitleLength) _loginTitle = _loginTitle.Substring(1, _loginTitle.Length - 1); else _direction = !_direction; /对标题栏重新赋值 this.Text = _loginTitle; / / 登录 / / / private void btnLoginOn_Click(object sender, EventArgs e) string username=this.txtUserName.Text.Trim(); string password=this.t
25、xtPassWord.Text.Trim(); if (username != & password != ) mcyDB db = new mcyDB();/实例化mcyDB,并将这个对象的引用赋值给变量db (mcyDB db;db=new mcyDB();) string strSql = select uftype from utlogin t1 + where t1.ufusername=0 and t1.ufpassword=1 ; strSql = string.Format(strSql, username, password); object result = db.GetS
26、qlScalar(strSql); if (result != null) this.Visible = false; common.loginUserName = this.txtUserName.Text.Trim(); common.loginType = result.ToString(); common.loginTypeName = result.ToString(); MainForm mainForm = new MainForm(this.txtUserName.Text.Trim(); mainForm.Show(); else MessageBox.Show(用户名或者密
27、码错误, 登录); this.txtUserName.Text = ; this.txtPassWord.Text = ; this.txtUserName.Focus(); return; else if (username = ) MessageBox.Show(用户名不能为空, 登录); this.txtUserName.Focus(); return; if (password = ) MessageBox.Show(密码不能为空, 登录); this.txtPassWord.Focus(); return; 4.2 主窗体设计与实现管理员输入正确的用户名和密码以后程序即进入主窗口,根
28、据用户的权限不同其所进入的页面页也不同。如管理员具有任何权限,进入的主界面。如图4-2所示。图4-2 信息维护管理员登录主窗体如普通用户没有对用户进行管理的权限,没有信息添加的权限,也没有对权限的设置管理,这几项操作的图案显示为灰色,进入的主界面。如图4-3所示。图4-3 信息维护用户登录主窗体部分代码:/ / 添加 / / / private void btnIMAdd_Click(object sender, EventArgs e) string strSqlGradeCode = this.txtGradeCode.Text.Trim(); string strSqlGradeName
29、 = this.txtGradeName.Text.Trim(); if (strSqlGradeCode = ) MessageBox.Show(系别编号不能为空, _titlename); this.txtGradeCode.Focus(); return; if (strSqlGradeName = ) MessageBox.Show(系别名称不能为空, _titlename); this.txtGradeName.Focus(); return; /检查系别编号是否存在 string strSql = select 1 from utGradeInfo where ufGradeCod
30、e= + strSqlGradeCode; int retcnt = _db.GetSqlRetCnt(strSql); if (retcnt = 1) MessageBox.Show(系别编号为【 + strSqlGradeCode + 】的系别已经存在,请重新输入系别编号!, _titlename); this.txtGradeCode.Focus(); return; /检查系别名称是否存在 strSql = select 1 from utGradeInfo where ufGradeName= + strSqlGradeName + ; retcnt = _db.GetSqlRetC
31、nt(strSql); if (retcnt = 1) MessageBox.Show(系别名称为【 + strSqlGradeName + 】的系别已经存在,请重新输入系别名称!, _titlename); this.txtGradeName.Focus(); return; strSql = insert into utGradeInfo (ufid, ufGradeCode, ufGradeName, ufUpdateTime, ufUpdatePerson) values (newid(), 0, 1, getdate(), 2) ; strSql = string.Format(st
32、rSql, strSqlGradeCode, strSqlGradeName, _username); _db.UpdateSql(strSql); RefreshGridView(); 4.3 查询分析窗体设计与实现管理员与普通用户拥有同样的权利权限,进入的查询分析界面。如图4-4所示。图4-4 查询分析功能部分代码:/ / 查询 / / / private void btnIMQuery_Click(object sender, EventArgs e) string strSqlCourseType = ; string strSqlStudentCode = ; string strS
33、ql = select t1.ufid, t2.ufstudentcode, (select top 1 t3.ufstudentname from utstudentinfo t3 where t3.ufstudentcode = t2.ufstudentcode) ufstudentname, t1.ufcoursecode, t1.ufcoursename, t1.ufteachercode, (select top 1 t2.ufteachername from utteacherinfo t2 where t2.ufteachercode = t1.ufteachercode) ufteachername, t1.ufclassroomcode, (select top 1 t2.ufbuildingname + t2.uffloor + t2.ufroomnum from utclassroominfo t2 where t2.ufclassroomcode = t1.ufclassroomcode) ufclassroomname, t1.ufcoursetype, t1.ufcredit, case when t2.ufmark = 60 then 是