毕业设计(论文)-基于CS架构的学生信息管理系统.doc_第1页
毕业设计(论文)-基于CS架构的学生信息管理系统.doc_第2页
毕业设计(论文)-基于CS架构的学生信息管理系统.doc_第3页
毕业设计(论文)-基于CS架构的学生信息管理系统.doc_第4页
毕业设计(论文)-基于CS架构的学生信息管理系统.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学生信息管理系统摘 要:随着信息时代的来临以及信息化的高速发展,信息的自动化管理已成为当前迫切需要解决的问题。作为高校的学生信息管理部门,承担着管理数量庞大的学生信息的工作。常规的管理方式已难以满足高校发展的需求,极大的影响了学生信息管理的效率和安全。建立一套以信息和计算机技术为支持的综合学生信息管理系统是解决这些问题的关键所在。本论文根据软件工程中软件开发的流程,对系统需求分析、软件设计和编码、功能实现和测试工作进行了详细介绍。阐述了高校学生信息管理系统的设计、开发及实现过程。首先,简要地介绍了信息管理系统的有关概念及技术基础,然后运用结构化系统开发方法,详细地分析了高校学生信息现行管理系统的组织结构、组织业务流程、组织需求及组织数据流程等,得到了新系统的逻辑模型。在此基础上,选用了适合于高校学生信息管理的关系数据库理论与设计方法,进行了高校学生信息管理系统数据库的概念结构和逻辑结构设计。最后,利用结构化设计方法进行了系统设计和开发。本系统使用microsoft sql server 2000作为数据库,以microsoft visual studio .net 2005作为系统开发工具开发出一套实用的c/s架构的学生信息管理系统。关键词:学生信息,信息管理系统,数据库设计目 录1前言71.1开发背景81.1.1研究的目的与意义81.1.2国内外研究现状及发展趋势82系统理论与技术基础92.1c#简介92.2sql server 2000简介102.3开发平台及工具的确定103系统需求及可行性分析113.1需求分析113.2可行性分析113.2.1可行性研究的方法113.2.2技术可行性114系统总体设计124.1设计思想124.2系统功能设计124.2.1系统功能分析124.2.2系统功能模块设计124.3数据库设计164.3.1数据库逻辑设计164.3.2数据库结构设计174.3.3数据库的关系图205系统功能实现215.1系统功能实现215.1.1登录模块设计215.1.2主要功能实现236系统的测试326.1系统管理员测试326.2系统用户测试336.3测试总结347总结35参考文献36指导教师简介37致 谢386 系统的测试1 前言随着社会和经济的飞速发展,人们已经深刻的意识到:当今社会已步入了信息化时代。信息作为当今社会的重要资源,更成为了实现经济和社会发展的重要因素和直接生产力。任何一个企业、一个组织要保持与时代进步相协调的步伐,就必须对详尽的掌握当前的相关信息,并能够以此为根据对当前及后续的形式做出迅速而准确的把握。而信息量急剧增加,信息时效性不断增强,信息来源日益多样,信息传递更加复杂,导致信息处理的传统手段已不能适应时代的需要。为了更好地进行信息的收集、加工和分析,更好地支持企业或组织的运行、管理和决策,提高其运行效率和效益,以快速发展的计算机为代表的信息技术被广泛采用,并与管理科学、系统科学等结合起来,从而形成了全新的信息管理系统学科。作为知识和人才密集,始终走在社会发展前列的的高校而言,准确的掌握和管理相关的信息更是刻不容缓。长期以来,高校的信息管理工作是在以一种手工劳动的方式进行,这不仅需要庞大的工作团队,消耗巨大的财力,更使得信息管理工作的效率低下,安全性低下。随着计算机技术的飞速发展和计算机使用的日益普及,越来越多的高校逐步使用计算机进对数量庞大的学生信息行自动化管理。从而使得高校的信息管理工作日趋简便、快捷和安全,明显的提高了高校的信息管理工作效率。因此,只有建立以信息技术、计算机技术、人机结合的学生信息管理系统,才能使高校的学生信息管理工作更具有安全性,实用性和规范性。1.1 开发背景1.1.1 研究的目的与意义作为高校的学生信息管理部门,承担着管理数量庞大的学生信息的工作。常规的人工管理方式存在诸多的弊端,如:管理人员工作量巨大,效率低下,安全性低下,出错率较高等,已难以满足高校发展的需求,极大的影响了学生信息管理的效率和安全。如何利用日趋先进的计算机与信息技术来提高高校的学生信息管理工作水平成为了我们所面临的巨大问题。通过对高校学生信息管理的需要分析,根据目前信息管理的特点,结合信息管理系统目前的发展前景、技术水平,开发出一个更适合于高校的学生信息管理系统,从而提高高校学生信息管理工作的质量。1.1.2 国内外研究现状及发展趋势“信息管理(ioformation management,im)”这个术语自本世纪70年代在国外提出以来,使用频率越来越高。关于“信息管理”的概念,国外也存在多种不同的解释。人们公认的信息管理概念可以总结如下:信息管理是实观组织目录、满足组织的要求,解决组织的环境问题而对信息资源进行开发、规划、控制、集成、利用的一种战略管理。在国外尤其在西方国家,由于经济和技术等因素,整个社会尤其是高校的信息管理自动化比较发达,其信息自动化管理发展较早。已形成了一个具有相当规模的规范化管理模式并产生了一批质量相对较高的商业化产品。近年来,我国的信息自动化管理也逐渐被重视和应用。作为“信息管理”的重要体现和组成部分,高校的学生信息管理系统也逐步的被我国各高校采用,并建立起了相应的学生信息自动化管理系统。国内主流管理系统经历了从手工操作到计算机操作,从单一信息管理到集成信息管理,从信息独立管理到信息网络管理等转变。而实现对学生信息的自动化管理是促进高校对信息资源进行计划、组织、领导和控制的基础和前提。因此,高性能的学生信息自动化管理软件是高校实现信息自动化管理的必不可少的条件。2 系统理论与技术基础2.1 c#简介c# (c sharp) 是微软公司发布的一种面向对象的、运行于.net framework之上的高级程序设计语言。它使得程序员可以快速地编写各种基于microsoft .net平台的应用程序。6正是由于c#面向对象的卓越设计,使它成为构建各类组件的理想之选无论是高级的商业对象还是系统级的应用程序。使用简单的c#语言结构,这些组件可以方便的转化为xml 网络服务,从而使它们可以由任何语言在任何操作系统上通过internet进行调用。最重要的是,c#使得c+程序员可以高效的开发程序,而绝不损失c/c+原有的强大的功能。因为这种继承关系,c#与c/c+具有极大的相似性,熟悉类似语言的开发者可以很快的转向c#。2.2 sql server 2000简介microsoft sql server 2000是一个分布式的关系型数据库管理系统,具有客户/服务器体系结构,采用了一种称为transact-sql的sql语言在客户机和服务器之间传递客户机的请求和服务器的处理结果。在microsoft sql server 2000系统中,数据库的管理采取了先进的动态管理机制,数据库的大小可以随着数据量的变化而缩小或者扩大。另外,用户数据都是非常重要的和保密的,这些数据存储在microsoft sql server 2000系统中有绝对的安全性保障,有完善的用户帐户策略和许可机制,只有经过授权的用户才能访问系统,并且执行相应的操作和访问允许访问的数据。未经授权的用户既不能执行相应的操作,也不能访问数据库中的相应数据。4microsoft sql server 2000系统具有强大的网上功能,可以在internet上发布数据库中的数据。在microsoft sql server 2000系统中,允许用户简单的使用一些向导和工具把数据库的数据发布到网络上,并且可以根据需要来调度修改已经发布的数据。2.3 开发平台及工具的确定经过对相关工具以及实际需求分析,确定本系统的运行环境为:windows xp操作系统。因此,最终确定学生信息管理系统的开发是基于.net集成开发环境,选用visual studio .net 2005,编程语言选用c#,数据库管理系统选用microsoft sql server 2000设计并开发出一个cs架构的初级学生信息管理系统。- 35 -3 系统需求及可行性分析3.1 需求分析学生信息管理系统需要满足来自两个方面的需求,分别是系统管理员和系统授权用户。系统授权用户主要从事对学生信息的收集、整理、录入等相关的信息管理工作。系统授权用户可对学生信息(学籍,班级,科目,课程,成绩)进行查询,增加,修改,删除,生成报表以及打印等操作,同时可对自己的用户角色相关信息进行操作(密码修改),该角色为该系统的主要使用者。系统管理员拥有其他系统授权用户的所有权限,可对所有数据信息进行操作,系统管理员还具备有对该系统的其他授权用户的操作(增加用户,删除用户,修改用户权限)。另外,系统管理员独自拥有对教师信息的管理权限,修改该系统相关设置的权限,系统管理员为该系统的管理者。根据以上的综合考虑,该系统应具备如下功能:1 设计不同用户的操作权限和登陆方法;2 对所有用户提供该系统的所有学生信息;3 对该系统管理的信息按等级进行分类;4 对系统不同级别的用户授予不同的操作权限。3.2 可行性分析3.2.1 可行性研究的方法通过分析系统的需求,性能以及用户对系统的需求,确定总体结构,利用sql server数据库优势,以最简洁,快速的方法,使用c编程语言开发出一个初级的信息管理系统软件。3.2.2 技术可行性就目前使用的开发技术及开发环境来看,该系统的预定功能目标能够得以实现;利用现有的技术在规定的期限内开发工作基本能够完成。4 系统总体设计4.1 设计思想随着高校的快速发展,为满足高校信息管理工作对数量庞大的学生信息进行自动化管理的需要,根据目前信息管理的特点,结合信息管理系统目前的发展前景、技术水平,建立一套以信息和计算机技术为支持的综合学生信息自动化管理系统,才能使高校的学生信息管理工作更具有安全性,实用性和规范性。4.2 系统功能设计4.2.1 系统功能分析该系统定位为一个小型的高校学生信息管理系统,该系统主要向高校的学生信息管理工作者提供对学生信息进行管理的服务。系统的授权用户通过该系统对学生的相关信息进行收集,录入和管理。系统管理员通过设置该系统的授权用户,对系统重要信息进行收集,录入和管理。从而实现分级操作,分级管理的模式有效,快速,简便,安全的对学生信息进行管理。4.2.2 系统功能模块设计a. 学生信息管理系统的子系统划分 该学生信息管理系统主要包括以下子系统:系统管理、用户管理、班级管理、课程管理、科目管理、成绩管理以及学生学籍信息管理。其主要子系统划分如图41示。学生信息管理系统系统维护班级管理系统授权用户系统管理员科目管理课程管理学生管理成绩管理密码修改用户操作用户管理教师管理系统设置图 4-1学生信息管理系统功能结构图b. 学生信息管理系统各子系统、模块设计及功能说明运用软件工程的方法,我们设计实现了各个子系统及下属的功能模块,再详细说明如下: 1班级管理“班级管理”功能模块用于对班级信息进行管理操作,包含的子功能模块如图42所示。班级管理查询班级添加班级修改班级删除班级 图 42“系统管理”功能模块2科目管理“科目管理”功能模块用于管理科目相关的信息,包含的子功能模块如图4-3所示。科目管理查询科目添加科目修改科目删除科目图 43“科目管理”功能模块3课程管理“课程管理“功能模块用于管理课程相关的信息,包含的子功能模块如图4-4所示。课程管理查询课程添加课程修改课程删除课程图 44“课程管理”功能模块 4学生管理 “学生管理“功能模块用于管理学生的相关信息,包含的子功能模块如图4-5所示。学生管理查询学生添加学生修改学生删除学生图 45“学生管理”功能模块5成绩管理“成绩管理“功能模块用于管理学生成绩的相关信息,包含的子功能模块如图4-6所示。成绩管理查询成绩添加成绩修改成绩删除成绩图 46“成绩管理”功能模块6用户管理“用户管理“功能模块用于系统管理员管理用户的相关信息,包含的子功能模块如图4-7所示。用户管理查询用户添加用户修改用户删除用户图 47“用户管理”功能模块7教师管理“教师管理”功能模块主要用于系统管理员对教师信息的管理,包含的子功能模块如图4-8所示。教师管理查询教师添加教师修改教师删除教师图 48“教师管理”功能模块8.系统设置“系统设置”功能模块主要由系统管理员对系统的相关参数进行设置,包含的子功能模块如图4-9所示。系统设置图片大小设置班级人数设置图 49“系统设置”功能模块4.3 数据库设计数据库在任何一个信息管理系统中都占有非常重要的位置,数据库结构的好坏将直接对应用系统的效率,以及实现效率产生影响。合理的数据库结构的设计可以提高数据库存储的效率,保证设计的完整和一致。34.3.1 数据库逻辑设计数据库逻辑设计既是将e-r图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式,然后根据用户处理的要求、安全性的考虑,在基本表的基础上再建立必要的视图(view),形成数据的外模式。如图 4为系统e-r图。图 44系统e-r图4.3.2 数据库结构设计数据库的分析与设计是本系统开发中不可缺少的部分,关系数据库的逻辑设计的工具主要采用数据字典和实体联系图(er)对数据进行描述。4由于用户对于学生信息管理系统的需求体现在对各种信息数据的录入、存储、更新、查询、统计等,为此,数据库的设计应做到充分满足系统用户对各种相关信息数据的输入输出。经过上述的系统功能的分析和需求的总结,考虑到microsoft sql server 2000数据库的特点,该系统的数据库应包括学生信息、课程信息、科目信息、成绩信息、班级信息、教师信息以及系统用户信息七个数据表项。以下是该系统数据库逻辑设计的数据字典:表 41班级信息表(class)字段名称数据类型长度字段描述说明classnamevarchar20班级编号主键,不允许为空directorvarchar20班主任姓名不允许为空currentcountsmallint2当前班级人数不允许为空entrancedatedatetime8班级建立时间不允许为空remarkvarchar256班级备注允许为空表 42课程信息表(course)字段名称数据类型长度字段描述说明courseidint4课程编号主键,不允许为空classnamevarchar20课程所对应的班级不允许为空subjectnamevarchar20科目名称不允许为空teachervarchar20授课教师不允许为空begindatedatetime8开始上课时间不允许为空finishdatedatetime8结束上课时间不允许为空remarkvarchar256课程备注允许为空表 43成绩信息表(score)字段名称数据类型长度字段描述说明scoreidint4成绩编号主键,不允许为空studentnonvarchar50学生学号不允许为空courseidint4课程编号不允许为空scorefloat8学生成绩不允许为空表 44学生信息表(student)字段名称数据类型长度字段描述说明studentnonvarchar50学生学号主键,不允许为空studentnamevarchar20学生姓名不允许为空gendervarchar4学生性别不允许为空birthdaydatetime8学生出生日期不允许为空classnamevarchar20学生所在班级不允许为空picturevarchar256学生照片允许为空remarkvarchar256学生备注允许为空表 4-5 科目信息表(subject)字段名称数据类型长度字段描述说明subjectnamevarchar20科目名称主键,不允许为空periodint4学时数不允许为空remarkvarchar256备注允许为空表 4-6 教师信息表(teacher)字段名称数据类型长度字段描述说明teachernamevarchar20教师姓名主键,不允许为空gendervarchar2教师性别不允许为空birthdaydatetime8教师出生日期不允许为空idcardchar20教师身份证号码不允许为空universityvarchar20教师毕业院校不允许为空specialfieldvarchar50教师所学专业不允许为空diplomavarchar20教师学历不允许为空picturevarchar50教师照片允许为空remarkvarchar256教师备注允许为空表 4-7 用户信息表(userinfo)字段名称数据类型长度字段描述说明usernamevarchar20系统授权用户名称主键,不允许为空passwordvarchar20用户密码不允许为空levelbit1用户等级不允许为空statusbit1用户状态,描述当前用户帐号是否启用(“0”表示不启用,“1”表示起用)不允许为空4.3.3 数据库的关系图根据学生信息管理系统功能设计表的划分,系统数据库关系图为error! reference source not found.所示。图 4-5 数据库关系图5 系统功能实现5.1 系统功能实现在该系统的设计过程中,我严格按照“三层结构”的模式进行设计和开发,在该系统工程中总共包含:dataaccess ,businessruler,interface三个项目,力求实现程序的结构化设计和开发。5.1.1 登录模块设计登录是信息管理系统中最基本、也是最重要的一个环节。它使系统能够识别当前用户,同时控制用户对资源的访问。本系统使用的是基于form验证的方式,在登录页frmlogin.cs中增加用户身份验证的逻辑,添加两个textbox控件,分别用于输入用户名和密码,再添加一个提交按钮,在单击“登录”按钮时,验证输入的用户名和密码是否正确。其实现方式如图5-1所示。用 户 登 录系统按用户级别进行操作分类系统授权用户系统管理员系统数据访问系统数据库microsoft sql server 2000图 51用户权限示意本系统登录功能界面如error! reference source not found.所示。图 52用户登录界面在该系统的登录界面中,根据数据表userinfo中的限制,设计了用户进行的相关提示,关键代码如下: private void btnok_click(object sender, eventargs e) if (!check() return; if (businessruler.user.login(this.txtusername.text.trim(), this.txtpassword.text.trim() this.hide(); frmmain frmmain = new frmmain(this.txtusername.text); frmmain.currentuser = this.txtusername.text.trim(); businessruler.user objuser = new user(); frmmain.setmnusystemmanagevisible(objuser.isadmin(this.txtusername.text.trim(); frmmain.showdialog(); this.close(); public bool check()if(this.txtusername.text.trim().length 8 ) this.lblprompt.text = 用户名限制在-20位之间!;this.txtusername.focus(); this.txtusername.select();return false;else if(this.txtpassword.text.trim().length 8 ) this.lblprompt.text = 密码长度限制在-20位之间!;this.txtpassword.focus(); this.txtpassword.select();return false;return true;5.1.2 主要功能实现在该系统的主界面中,通过使用listview控件,treeview控件和菜单条的形式供用户选择来进行相应的管理操作,主界面如图5-3所示。图 5-3 系统主界面(1)班级管理在该系统中,用户进入“班级管理”页面后即可见当前所有班级信息的列表,用户可通过鼠标点选某一班级进行相关的操作。其操作页面如图5-4所示。图5-4 班级管理操作界面在该界面中,用户可进行查询,添加,修改,删除,导出报表以及打印等操作,在实现打印功能时,由于本身编程能力的限制,我参考了来自于网站上的相关信息,使用了其提供的一个封装类:datagridviewprinter,在该系统其他类型的信息管理界面中也都使用到了该类。在此窗体中所实现的查找功能里面,我使用了一个checkbox控件用以实现“模糊查找”方式,此控件在其他信息查找窗体中也有使用,如图5-5所示。图 5-5 查找班级选项窗体其功能实现代码如下:private void btnfind_click(object sender, eventargs e) if (!checkinput() return; /开始查找 if (this.rdobyclassname.checked) /按班级名查找 businessruler.classes.findbyclassname(_dgvclass, this.cboclassname.text.trim(); else if (this.rdobydirector.checked) /按照班主任姓名查找 string director = this.txtdirector.text.trim(); bool usematch = false; /以下根据“智能匹配”进行模糊查找 if (this.chxusematchbydirector.checked) usematch = true; businessruler.classes.findbydirector(_dgvclass, director, usematch); else businessruler.classes.findbydate(_dgvclass, this.dtpstartdate.value, this.dtpfinishdate.value); private void btnclose_click(object sender, eventargs e) this.close(); (2)成绩管理在成绩管理界面中,系统用户需根据班级的选择进入成绩管理界面对相关班级的学生成绩信息进行管理,从而提高管理效率。该窗体在进入其他几个信息管理界面时也被使用。班级选择窗体如图5-6所示。图 5-6 班级选择窗体其实现代码为:public partial class frmchooseclass : form private string _target; public frmchooseclass(string target) initializecomponent(); _target = target; private void btnok_click(object sender, eventargs e) if (!checkinput() return; this.hide(); if (_target.equals(学生管理) frmstudent frmstudent = new frmstudent(this.cboclassnamelist.selecteditem.tostring(); frmstudent.showdialog(); else if (_target.equals(课程管理) frmcourse frmcourse = new frmcourse(this.cboclassnamelist.selecteditem.tostring(); frmcourse.showdialog(); else if (_target.equals(成绩管理) string classname = this.cboclassnamelist.selecteditem.tostring(); /如无学生,则提示先添加学生 businessruler.classes objclass = new businessruler.classes(); bool isstudentexist = objclass.isstudentexists(classname); /添加先决条件,如果该班没有课程,则提示用户先添加课程 if (isstudentexist & (objclass.iscourseexist(classname) frmscore frmscore = new frmscore(this.cboclassnamelist.selecteditem.tostring(); frmscore.showdialog(); else this.close(); this.close(); public bool checkinput() if (this.cboclassnamelist.selectedindex 0) messagebox.show(请选择班级名!, 错误, messageboxbuttons.ok, messageboxicon.error); this.cboclassnamelist.focus(); return false; return true; private void frmchooseclass_load(object sender, eventargs e) businessruler.classes objclass = new businessruler.classes(); objclass.fillcbobyallclassname(this.cboclassnamelist, 0); 学生成绩管理界面如图5-7所示。图 5-7 学生成绩管理界面(3)科目管理在科目管理界面中,用户可对当前学校所设的教学科目进行相关的管理,科目管理界面如图5-8所示。图5-8 科目管理界面在该界面的功能中,导出报表功能的实现需要启动报表选项窗体,使用者根据需求选择报表的导出文件格式。该窗体在其他信息管理窗体上也被使用。报表选项窗体如图5-9所示图 5-9 报表选项窗体该功能的实现,需要使用到businessruler项目中的exportexcel.cs类(该类专门用于导出报表),报表功能的实现代码为:public partial class frmexportreport : form private datagridview _dgvdetails; private string _title; public frmexportreport(datagridview dgv,string title) initializecomponent(); _dgvdetails = dgv; _title = title; private void btnnext_click(object sender, eventargs e) if (this.rdotxttype.checked) businessruler.exportexcel.dofortext(_dgvdetails,_title); else businessruler.exportexcel.doforexcel(_dgvdetails,_title); this.close(); private void frmexportreport_load(object sender, eventargs e) (4)用户管理在该系统中,只有系统管理员可对用户进行操作,在考虑到部分用户在一段时间内暂时停止使用该系统,为不增加管理员的工作量,我在该系统的用户管理界面处通过使用radiobutton控件来实现对用户权限的短期操作。其效果如图5-10所示。图 5-10 用户权限管理界面该功能的实现代码为:private void frmmodifyuser_load(object sender, eventargs e) this.lblnamecontent.text = this._dgvuser.currentrow.cells0.value.tostring(); if (bool.parse(this._dgvuser.currentrow.cells1.value.tostring() this.cbotype.selectedindex = 0; else this.cbotype.selectedindex = 1; if (bool.parse(this._dgvuser.currentrow.cells2.value.tostring() this.rdoenable.checked = true; else this.rdodisable.checked = true; 6 系统的测试各个功能模块完成后,将各模块整合连接,我本人和数名同学对整个系统进行了一系列测试和调节。6.1 系统管理员测试在进行系统管理员测试过程中,我们采用了黑盒测试方法。对系统登录,管理权限以及非法操作进行了测试。测试结果如图6-1所示。图 6-1 系统管理员测试6.2 系统用户测试在进行系统用户测试过程中,我们同样采用了黑盒测试方法。对系统登录,管理权限以及非法操作进行了测试。测试

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论