学生管理系统毕业设计.docx
- 文档编号:11350112
- 上传时间:2023-02-28
- 格式:DOCX
- 页数:31
- 大小:1,011.50KB
学生管理系统毕业设计.docx
《学生管理系统毕业设计.docx》由会员分享,可在线阅读,更多相关《学生管理系统毕业设计.docx(31页珍藏版)》请在冰豆网上搜索。
学生管理系统毕业设计
学生管理系统毕业设计
一使用工具及技术简介
1.1Microsoft.NET框架简介
Microsoft.NET是MicrosoftXMLWebservices平台。
XMLWebservices允许应用程序通过Internet进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。
Microsoft.NET平台提供创建XMLWebservices并将这些服务集成在一起之所需。
对个人用户的好处是无缝的、吸引人的体验。
Microsoft.NET框架是MicrosoftWindows操作系统家族中一名重要的新成员。
它是下一代Windows应用程序的基石,下一代应用程序更容易开发、部署,以及与其它网络系统集成。
.NET框架帮助软件开发人员、系统管理人员更轻松地开发、管理,提升性能,加强安全,提高稳定性。
.NET框架简化了Windows软件开发。
它让开发人员用一种方法开发出两种程序:
网络应用程序和桌面应用程序(这种程序有时也被称为“智能客户端程序”)。
它还能帮助开发人员使用相同的工具和技能开发大至大型服务器安装,小至手持智能电话的形形色色的软件。
构建在.NET框架上的软件比常规的软件更容易部署,更容易管理。
可以把它们开发成自动升级的模式。
.NET框架还可以最大限度地减少不兼容软件之间的冲突。
.NET框架的主要优点有:
帮助软件使用者与网络服务商部署软件。
提供更稳定、更安全、更易扩容、更高性能的软件开发环境。
让开发人员更有生产力:
更易使用现有代码,使他们更轻松地集成所支持的20多种编程。
语言编写出来的组件,让他们用同样的工具和技能开发出更多样化件。
图1.Net框架图
1.2开发工具
从上图可知,在.Net框架下可支持多种语言的开发,根据系统要求,本技术方案拟采用进行开发。
ASP.NET是一个革命性的程序设计框架,能够快速开发功能强大的Web应用程序和服务,它的优势主要体现在以下几个方面。
与浏览器无关
ASP.NET是一个与浏览器无关的程序设计框架,利用它编写的应用程序可以与最新版本的InternetExplorer、NetscapeNavigator等常用浏览器兼容。
将业务逻辑代码与显示逻辑分开
在ASP.NET中引入了“代码隐藏”这一新概念,通过在单独的文件中编写表应用程序的业务逻辑代码,使其与HTML编写的显示逻辑分开,从而更好地理解和维护应用程序,并使得程序员可以独立于设计人员工作。
新的集成开发环境
VisualStodio.NET提供了一个强大的、界面友好的集成开发环境,以使开发人员能够轻松地开发Web应用程序。
简单性和易学性
ASP.NET使得运行一些平常的任务如表单的提交、客户端的身份验证、分布系统和网站配置变得非常简单。
ASP.NET包含称为ASP.NET换件的HTML服务器控件集合,这些控件可通过脚本以程序方式使用。
另外,它还包含了一组称为“Web服务器控件”都有自己的属性、方法和事件,用于控制控件在应用程序中的外观和行为。
所有ASP.NET控件和其他对象都可引发事件,可通过代码以程序方式处理这些事件,从而更好地管理代码。
在ASP.NET中,有一组用于进行用户验证的控件,可以大大减少验证代码的编写量。
它还支持Cookie的管理和对XX的登录进行重定向。
用户账户和角色
ASP.NET允许创建“用户帐户”和“角色”,以便每个用户都能访问不同的代码和可执行代码,从而提高应用程序的安全性。
多处理器环境的可靠性
ASP.NET是一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝技术,大大提高了运行速度。
即使现在的ASP.NET应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变就能提高它们的效能。
可扩展性
ASP.NET是一项可扩展技术。
为了提高ASP.NET应用程序的可扩展性,改进了服务器间的通信,使得可以在多台服务器上进行一个应用程序。
高效的可管理性
ASP.NET使用分组的配置系统,使服务器环境和应用程序的设置更加简单。
因为配置信息都保存在基于XML的文本文件中,新的设置不需要启动本地的管理工具就可以实现。
这种被称为“ZeroLocalAdministration”的哲学观念使ASP.NET的基于应用的开发更加具体和快捷。
一个ASP.NET的应用程序在一台服务器系统的安装只需要简单地拷贝一些必须的文件,而不需要重新启动系统。
执行效率的大幅提高
不像以前的ASP即时解释程序,ASP.NET是将程序在服务器端首次运行时进行编译执行,使得应用程序的执行效率有了很大的提高。
易于配置和部署
利用纯文本文件配置ASP.NET应用程序,可在程序运行时上传或修改配置文件,而无需重新启动服务器。
部署或替换已编译的代码时也无需重新启动服务器,ASP.NET会自动将所有新的请求指向新代码。
1.3Winform简介
Windows窗体也称WinForms,可以创建应用程序的用户界面,并使用任何一种.NET支持的语言编写应用程序的功能。
WinForms应用程序一般都有一个或者多个窗体提供用户与应用程序交互。
窗体可包含文本框、标签、按钮等控件。
大型WinForms应用程序有许多窗体,一些用于获取用户输入的数据,一些用于向用户显示数据,一些窗体会有变形、透明等其他效果甚至让你看不出他的真实面目。
图2WinForm
特点
Windows窗体的一些重要特点如下。
图2WinForm引用
图3WinForm结构
1.简单强大:
Windows窗体可用于设计窗体和可视控件,以创建丰富的基于Windows的应用程序。
2.新的数据提供程序管理:
数据提供程序管理提供易于连接OLEDB和ODBC数据源的数据控件,包括MicrosoftSQLServer、MicrosoftAccess、Jet、DB2以及Oracle等。
3.安全:
Windows窗体充分利用公共语言运行库的安全特性。
这就意味着,一切都可以通过Windows窗体来实现,包括在浏览器中运行的不可信控件和用户硬盘上安装的完全可信的应用程序。
4.灵活的控件:
Windows窗体提供了一套丰富的控件,并且开发人员可以定义自己有特色的新的控件。
方便的数据显示和操作:
应用程序开发中最常见的情形之一是在窗体上显示数据。
Windows窗体对数据库处理提供全面支持。
可以访问数据库中的数据,并在窗体上显示和操作数据。
1.4sql2008简介
SQLServer2008出现在微软数据平台愿景上是因为它使得公司可以运行他们最关键任务的应用程序,同时降低了管理数据基础设施和发送观察和信息给所有用户的成本。
这个平台有以下特点:
可信任的——使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。
高效的——使得公司可以降低开发和管理他们的数据基础设施的时间和成本。
智能的——提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。
二总体设计
2.1系统设计背景
随着学校规模的不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增加。
面对庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率。
通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。
2.2系统概述
本系统为学生管理系统,学生可以通过学生管理系统来查询自己的个人信息,查询自己的成绩,和课表;老师可以通过学生管理信息来查询学生的信息,查询学生的成绩,查询课表。
老师也可以更改学生的信息,更改课表,还可以公布学生成绩,更改学生成绩;同时老师和学生都可以更改自己的登录密码。
通过本系统能方便学生和老师对日常的工作进行管理和查询。
2.3需求分析
当今社会互联网已经普及各行各业,它能为我们解决很多繁琐的工作,就例如一个学校的图书馆的管理来说,无疑,没有一个很好的管理系统的话他的工作量会远远的增倍,而且不一定很好的完成工作。
而今我们很好的利用了网络来实现对图书馆管理的工作,它将会大量减少工作时间,并且易于操作管理。
拥有一个好的系统会更加方便学生的老师的各种操作,
例如:
(1)便于学生查询个人基本信息,课表和个人成绩;
(2)便于老师公布学生成绩;
(3)便于查看班级每个学生成绩的排名情况。
2.4实现目标
主要完成六个部分的内容
(1)学生和老师的登录;
(2)学生和老师对自己登录密码的修改;
(3)学生查询自己的信息和成绩,以及课表;
(4)老师查询学生的信息以及成绩;
(5)老师修改学生信息,成绩以及课表。
(6)老师对学生登陆帐号密码的查询。
2.5系统流程图
系统流程图(图4)
图(4)流程图
2.6数据库设计
(1)学生信息表student_stu(图5)
图5student_stu表的结构图
(2)学生课表student_class(图6)
图6student_class表的结构图
(3)学生成绩表student_chengji(图7)
图7student_chengji表的机构图
(4)教师用户表student_tuser(图8)
图8student_tuser表的结构图
三系统详细设
3.1用户登录详细设计
在本系统中,用户所进行的操作必须是在已登录的前提下进行的。
在用户登录前,用户访问任一管理界面,页面将跳转至登录界面,另外,对于不同的角色,将只能访问本角色对应的管理界面。
用户登录操作的界面如下(图6):
图9登陆界面
用户登录的流程如下:
1.输入帐号(即学号)、密码和选择用户类别,点击登录。
3.验证通过后,系统向服务器发送请求,判断输入的帐号密码是否正确。
4.帐号密码如果正确,则弹出相应的界面,
若不正确,则会弹出提示框,显示账户或密码错误,点击确定即回到登陆页面。
3.2学生登陆进入页面
3.2.1选择学生类别登录进入后的界面如图10:
图10学生登陆界面
3.2.2学生进入系统后,可以查询自己的个人信息,如图11:
图11学生个人信息
学生可以在次界面查看自己的个人信息,但无法对信息进行更改,也无法查看其他学生的个人信息。
3.2.3学生进入系统后可以查询自己的成绩信息,如图12:
图12学生个人成绩
学生可以在此界面查看自己各科目的成绩,但无法对此进行修改,也无法看到其他人的成绩。
3.2.4学生进入系统后可以查看本班级的课表,如图13:
图13学生班级课表
学生可以在此界面查询自己所在班级每周的课表,但无法对此进行修改,也无法看到其他班级的课表。
3.2.5学生进入系统后可以修改自己的登陆密码,如图14:
图14学生修改个人密码
学生可以在此界面更改自己的登陆密码。
3.3教师登陆进入页面
3.3.1选择教师类别登陆进入的页面,如图15:
图15教师登陆进入界面
3.3.2教师登陆系统后可进入学生信息管理界面,如图16:
图16教师管理学生信息界面
(1)教师可以在此界面对学生信息进行管理
①可以修改学生信息,,选中需要修改的学生信息点击修改信息,进入修改界面,如图17:
图17学生信息修改
②可以添加学生信息(如果已有此学生的信息则会给出提示),如图18:
图18学生信息添加
③点击删除可以对学生信息进行删除操作。
3.3.3教师登陆系统后可进入学生成绩管理界面,如图19:
图19教师管理学生成绩界面
①教师可以选中需要修改成绩的学生,然后点击修改成绩,在弹出的页面里对学生成绩进行修改,完成后点击确定修改即可,如图20:
图20学生成绩修改
②教师可以添加已有学生信息的学生的成绩,教师需要选择需要添加学生成绩的学生的学号,然后在科目后面对应的文本框中输入成绩,然后点击确认添加即可,如图21:
图21添加学生信息
3.3.4教师登陆系统后可进入学生班级课表管理界面,如图22:
图22教师管理学生班级课表界面
①教师可以在此页面查看各个班级的课表,可对其修改,点击修改本班课表按钮,即可弹出当前显示班级课表的修改界面,修改完成后点击确定修改即可,如图23:
图23学生班级课表修改界面
②教师可以在此界面给没有班级课表的班级添加一张课表,点击添加课表按钮,在弹出的添加课表页面输入课程信息,点击确定增加即可,如图24:
图24添加班级课表页面
③教师可以点击删除本班课表,来对当前显示班级的课表进行删除操作。
3.3.5教师登陆系统后可进入个人密码管理界面,如图25:
图25教师个人密码修改界面
3.3.6教师登陆系统后可进入用户登陆管理选择界面,如图26:
图26用户管理选择界面
(1)登录用户管理—学生用户管理
教师点击登录用户管理,选择学生用户管理,进入学生用户登陆管理页面,如图27:
图27学生用户登陆管理页面
教师可以在此页面对学生帐号及其密码的查看,但不能对其修改。
(2)登录用户管理—教师用户管理
教师点击登录用户管理,选择学生用户管理,进入学生用户登陆管理页面,如图28:
图28教师用户管理
①教师可以在此页面对教师帐号及其密码的查看,但不能对其修改。
②教师可以在此页面添加新的教师用户的登录密码,点击添加教师帐号,进入教师帐号添加页面,如图(29),输入姓名设置其密码,完成后点击确定即可得到新的教师登陆账号,如图(30),如果新添加的教师的名字已经存在,则会提示,并给出此教师的登陆帐号如图(31)。
图(29)教师帐号添加页面
图(30)得到新的教师登录密码
图31添加已有教师提示
(3)教师可以在此页面对教师登陆帐号及密码进行删除操作,选择需要删除的帐号信息点击删除即可。
四软件开发中的困难与成果
4.1软件开发中的困难
4.1.1在很多地方的操作中进行对数据的修改的页面,完成后,原页面不自动会刷新,即使重新绑定也是可以的。
因为每个空间只能绑定一次的,所以这个事情在软件开发过程中阻碍了我很长时间,不过在多方寻找后终于找到了最满意的解决方法。
4.1.2在开发的最初期,没有用三岑层架构的方法去写,软件开发变的很乱,没有条理性,最后在别人的提醒下,改成了三层架构的方法来开发,让整个软件的内容变得显而易见。
4.1.3在开发的初期,没有写太多的方法,来进行调用,导致在很多地方用到同样的方法的时候都要重新写一边方法,而且浪费很多代码的利用率,但是后来把很多可以重复实用的代码都写成了方法,省去了很多不必要且重复的代码。
4.2软件开发的成果
4.2.1在实际开发的过程中,让自己对代码的熟悉程度,和对方法的编写能力都得到了很大的提高。
4.2.2完成软件的开发后,让自己在学识和能力方面进不了很多。
让自己知道了许多以前没有用过,甚至没有见过的代码和一些方法。
总结
从大学一年级开始我就开始学习C语言,从C#到ASP.NET,在学习ASP.NET时,完全利用面向对象思想。
因此我利用了毕业设计的机会,在南京图强软件公司的实践项目中重新学习ASP.NET完成一个具有挑战性的,其具体应用及社会服务相结合的项目,通过对它的开发,使我的计算机应用能力有了提高。
各个系统都有其自身的特点,比如个人博客、个人主页等可能是寻求华丽的外表,用炫酷的Flash加上大幅的图片打造自己的个性页面。
但是订单管理与跟踪系统与其不同,该系统仅限于某个公司内部使用,故其追求实用,稳定,可靠。
在进行系统的设计之前了解系统的特点,是非常重要的环节,因为只有在系统实现的过程中坚持系统的设计原则,才不会有所偏移,才能够抓住系统的设计重心。
从系统的需求分析到数据库设计,最后到编码实现,这是一个相当漫长的过程,好多东西都是在不断的摸索中才明白的,系统也经过了几次大的修改,某些模块还进行了重新设计。
在开发的过程中也遇到过很多的棘手的问题,而这些问题都是在与别人的交流和上网搜索解决方案中各个被击破的。
比如分页模块的设计、使用Hibernate技术对数据库进行操作、泛型程序设计等,有些方面用的还不是很熟练,难免有些方法用的不到位,有待以后进一步学习与提高。
这次毕业设计,是我对以前所学的编程知识的一次综合。
我从毕业设计中得到的,不仅是编程技术上的提高,更主要的是在这个过程中学会了怎样去解决问题和解决问题的能力,这是这次毕业设计带给我的最大的受益。
在这次跟的项目中,我认真学习了,公司技术人的编程思想与技巧,累计不少的编程经验,在学校学的知识不较松散,而且实践性,与实用性不强,不知道客户的需求。
只是静态的将功能整合在一块。
并没有实际上的运行不测试。
这是毕业设计,我将所学的知识运用与实践中,更加扎实了自己的基本功,同时有一定开发经验,这次实习获得的多太多。
致谢
感谢王杰老师在系统的实现过程中,给予了非常重要的意见,提出了一些非常好的建议。
另外,一个系统的缺点往往自己是很难发现的,因为时间和技术的问题,系统难免存在一些不足,还请多多指教
附录
软件部分代码
——App.config
xmlversion="1.0"encoding="utf-8"?
>
\c#代码\学生管理系统\学生管理系统\Appdate\student.mdf;IntegratedSecurity=True;UserInstance=True"/> 一登陆页面方法: 方法代码: namespace学生管理系统 { publicclassUserLand { #region学生用户登录 publicintstuuser(UserLandreader) { stringconnstr=ConfigurationManager.ConnectionStrings["myconn"].ConnectionString; shenqi(); using(SqlConnectionconn=newSqlConnection(connstr)) { conn.Open(); using(SqlCommandcmd=conn.CreateCommand()) { cmd.Parameters.AddWithValue("@Userid",reader.Userid); cmd.Parameters.AddWithValue("@Userpswd",reader.Userpswd); cmd.CommandText="select*fromstudent_suserwheres_Id=@Useridands_password=@Userpswd"; intid=Convert.ToInt32(cmd.ExecuteScalar()); if(id==reader.Userid) { return1; } else { return0; } } } } #endregion #region教师用户登录 publicintteacheruser(UserLandreader) { stringconnstr=ConfigurationManager.ConnectionStrings["myconn"].ConnectionString; shenqi(); using(SqlConnectionconn=newSqlConnection(connstr)) { conn.Open(); using(SqlCommandcmd=conn.CreateCommand()) { cmd.Parameters.AddWithValue("@Userid",reader.Userid); cmd.Parameters.AddWithValue("@Userpswd",reader.Userpswd); cmd.CommandText="select*fromstudent_tuserwheret_Id=@Useridandt_password=@Userpswd"; intid=Convert.ToInt32(cmd.ExecuteScalar()); if(id==reader.Userid) { return1; } else { return0; } } } } #endregion 二学生进入页面方法代码: 方法代码: namespace学生管理系统 { publicclassUpdata { #region读取需要修改的学生的信息 publicDataSetreaderstuid(Updatareader) { returnDataSet("select*fromstudent_stuwheres_Id='"+Updata.Stuid+"'","student_stu"); } #endregion #region读取需要修改的学生的成绩 publicDataSetreaderstuchengjiid(Updatareader) { returnDataSet("select*fromV_stuchengjiwheres_Id='"+Updata.Stuid+"'","V_stuchengji"); } #endregion #region读取需要修改的学生课表 publicDataSetreaderclassbyid(Updatareader) { returnDataSet("select*fromstudent_classwheres_Class='"+Updata.Classid+"'","student_class"); } #endregion #region读取学生课表 publicDataSetreaderstuclass(ints_Class)//Updatareader { returnDataSet("select*fromstudent_classwheres_Class="+s_Class+"","student_class"); } publicDataSetReadClassID() { stringsql="selects_ClassasID,s_ClassasNAMEfromstudent_class"; ret
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 管理 系统 毕业设计