版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、山东科技大学勤工助学管理系统的研制与开发项目负责人: 东钰 课题组成员: 李洋 游菡萏 指导老师: 白培瑞 副教授 摘要在没有学生勤工助学管理系统之前,管理方法是传统的纸质管理,这种方法虽然简单,但是造成处理数据的繁重性,并且容易发生数据丢失和统计错误。为了减轻学生处工作量,以及更加合理的分配勤工助学岗位资源,对学生勤工助学管理系统进行设计和开发。本文主要针对勤工助学管理系统的客户端,以及登录,注销,修改密码这些功能的设计和开发。针对管理员的功能,主要从管理员对教师,学生,院系,岗位,以及管理员自身信息功能的添加,查看,修改,删除进行了设计和开发,实现了对教师,学生,院系,岗位,以及管理员自身
2、信息的管理功能。 学生勤工助学管理系统的基本设计思想是使用B/S结构来开发,另外着重讨论了用 ASP.NET技术和SQL Server 2005来开发该系统,并给出了主要部分的实现代码及控件的使用,另外还对控件的优点进行讨论。由于架构比较合理,系统有较高的安全性和较好的使用性能。其中连接数据库的字符串可随时在web.config里修改,增加了配置的灵活性,保证了数据库的安全。关键词:学生,勤工助学,ASP.NET,B/S结构 第一章 引言1.1课题背景及意义学生勤工助学管理系统是一个高等院校十分重要的部分。高等院校现在为学生提供了大量的勤工助学岗位,但是岗位管理仍然是通过纸上的方式进行管理和工
3、作考核。这种方式需浪费大量的人力进行统计分类,在人为的统计过程中可能会出现各类差错等情况。基于传统人工方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,时间一长将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的麻烦。因此开发基于Web的学生勤工助学管理系统来管理勤工助学岗位很重要。意义在于,使用了网上系统以后,学生可以随时查询自己的岗位,岗位负责老师也可以方便的对在岗同学进行考核,可以使岗位合理的分配,此外,学生信息以及岗位信息可以使用计算机来管理,方便快捷,另外,管理教师提出岗位申请,完成岗位发布也容易的多,可以大幅减少教师的工作量。1.2开发工具的选用及介绍 W
4、eb应用程序的真正核心主要是对数据库进行处理。开发Web应用程序,可以使用JSP,ASP.NET,PHP动态网页技术。我们选择了ASP.NET技术,使用Visual Studio 2008开发,使用IIS 6.0作为Web服务器,SQLServer2005作为数据库。采用浏览器/服务器(Browser/Server)结构。(1)ASP.NET介绍:它是一种全新的交互式网页编程技术,被设计为首编译方式,采用代码分离技术,提高程序的编制效率,缩短开发周期。优点有:ASP.NET 使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署和站点配置。另外,它采用基于文本的分层配置系统,简化了设置
5、应用服务器环境和 Web 应用程序。只需将必要的文件复制到服务器,即可将 ASP.NET 框架应用程序部署到服务器。不需要重新启动服务器,即使是在部署或替换运行的编译代码时。 最后,借助内置的 Windows 身份验证和基于每个应用程序的配置,可以保证应用程序是安全的。图1.1 本地运行ASP.NET(2)SQL Server 2005介绍:本系统以SQL server 2005做为数据库。SQL server 2005是Microsoft公司开发的一个具有客户/服务器体系结构的关系数据库管理系统,它使用SQL语言在客户机和SQL server服务器之间传递请求和响应。(3)IIS 6.0介绍
6、:IIS全称是Internet信息服务(Internet Information Service)。是微软提供的一个Web服务程序,在开发中称之为Web容器。 服务器上总要有个程序在运行,来响应用户的访问请求,这个程序就是Web服务程序。IIS是微软提供的,支持微软的一套开发环境开发的Web程序。HTML介绍: (4)HTML介绍:HTML的英文全称是Hypertext Markup Language,中文为“超文本标记语言”。“超文本”就是指页面内可以包含图片,链接,音乐,程序等非文字的元素。 一个HTML文件中包含了所有将显示在网页上的文字信息,其中也包括对浏览器的一些指示,如哪些文字应放
7、置在何处,显示模式是什么样的等。如果你还有一些图片、动画、声音或是任何其它形式的资源,HTML文件也会告诉浏览器到哪里去查找这些资源,以及这些资源将放置在网页的什么位置。浏览的网页就是由HTML语言编写出来的。HTML 的格式非常简单,只是由文字及标记组合而成,因此任何文本编辑器都可以制作HTML页面。 1.3 课题的可行性分析(1)技术可行性:ASP.NET制作基于Web的信息管理系统技术已经相当成熟,微软有良好的框架和实现方案。(2)经济可行性:本系统是为学生勤工助学管理使用的系统,用户只要有浏览器,并且能连上互联网,即可使用此系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以
8、为学校节约大量的人力,所带来的效益远大于软件的开发成本,在经济上完全可行。第二章 系统总体分析与设计2.1设计构想(1)登录与注销 每个用户(管理员,教师,学生)都可以用自己的帐号登录系统。用户操作完成后可以退出系统,注销后可以重新登录系统。 (2)修改密码 每个用户(管理员,教师,学生)第一次登录都使用默认密码,登录以后可以自己修改密码。(3)系统管理员功能录入管理员信息:通过此项功能可以实现对管理员信息的添加。查看修改删除管理员信息:通过此项功能可以实现对管理员信息的查看修改删除。录入教师个人信息:通过此项功能可以实现对教师个人信息的添加。查看修改删除教师个人信息:通过此项功能可以实现对教
9、师个人信息的查看修改删除。录入学生个人信息:通过此项功能可以实现对学生个人信息的添加。查看修改删除学生个人信息:通过此项功能可以实现对学生个人信息的查看修改删除。录入岗位信息:通过此项功能可以实现对岗位信息的添加。查看修改删除岗位信息:通过此项功能可以实现对岗位信息的查看修改删除,另外还可以导出岗位信息到EXCEL。录入院系信息:通过此项功能可以实现对院系信息的添加。查看修改删除院系信息:通过此项功能可以实现对院系信息的查看修改删除。2.2界面规划界面左上角使用Logo,界面正上方中间为标题,界面左边为导航栏,界面正中央为主题,界面最底端为版权信息。图2.1 界面规划2.3数据流程规划用户登录
10、身份验证模块验证用户名和密码,并根据不同的用户类型,跳转到对应的欢迎界面。然后通过单击左侧导航栏可以跳转到相应模块,当跳转到管理员界面时,录入信息模块提供给系统管理员,用来录入学生和教师信息,录入课程信息以及录入院系及管理员信息。查看修改删除模块提供给管理员对学生,教师,岗位信息,院系信息,管理员个人信息进行管理,最后注销退出系统。用户登录进入欢迎界面单击左侧导航栏跳转到各个管理页面退出系统图2.2 数据流程第三章 数据库设计与实现学生勤工助学管理系统中所有的信息都存储在数据库中,在所有ASP.NET页面中通过ADO.NET与数据库连接,操作数据库中的数据,从而实现所有需要的功能。本系统中数据
11、库采用SQL Server 2005作为数据库工具。数据库是勤工助学管理系统的核心,数据库设计的合理与否对勤工助学管理系统的建设有着至关重要的影响。一个良好的数据库开发过程一般是先系统分析,再逻辑设计,然后实现。系统分析中分析数据库用户需求,并画出E-R图直观地表示出数据库系统的需求。逻辑设计中根据系统分析设计的一个关系模型。另外,ASP.NET提供了五个内建的数据源控件SqlDataSource、AccessDataSource、ObjectDataSource、XmlDataSource以及SiteMapDataSource。通过SqlDataSource,需要给出一个数据库连接字符串,还
12、有SQL语句或是存储过程,然后就可以执行查询、插入、删除、更新操作了。当调用SqlDataSource的Select()、Insert()、Delete()以及Update()方法时,会连接到指定的数据库并发出相应的SQL查询。3.1数据库系统分析本系统的数据库实体主要有“学生”、“教师”、“院系”、“岗位”等。其中“教师”与“岗位”存在“开设”联系,并且一个教师可以开设N个岗位,即“教师”与“岗位”之间是一对多的关系。一个学生只能有一个岗位,一个岗位可以有M个学生工作,即“学生”与“课程”之间是多对一的关系。3.2数据库逻辑设计数据库逻辑设计就是将ER图转换为关系模型的过程,即将所有实体和关
13、系转换成一系列的关系模式。学生(学号,院系ID,姓名,性别,联系电话,银行卡号,密码)。教师(教师ID,姓名,性别,联系电话,电子邮箱,密码)。课程(岗位ID,名称,岗位人数)。学生岗位信息(学号,院系ID,岗位ID)。教师开课(教师ID,课程ID)。系统管理员(系统管理员ID,登录账号,密码)。院系(院系ID,院系名称)。(1)Student表。Student表用来存储学生的个人信息,使用学号s_id作为主键。(2)Teacher表。Teacher表用来存储教师的个人信息,用教师编号t_id作为主键。(3)Post表。Post表用来存储岗位信息,Post表以课程编号p_id作为主键。(4)D
14、epartment表。Department表用于存储院系信息,在Department表中使用院系编号department_id作为主键。 (5)学生岗位表。学生岗位表用于存储学生的岗位信息,使用s_id,p_id做联合主键。(6)System_manager表。system_manager表用来存放系统管理员信息,使用manager_id作为主键。(7)Teach_post_t表。Teach_post_t表用来存储老师的信息,t_id和p_id作为联合主键。第四章 登录界面详细设计4.1管理员/教师/学生登录功能图4.1 登录算法流程图在登录页面对应的地方输入用户名、密码,然后选定用户角色后,
15、确认登录。先是通过客户端验证是否输入了用户名,是否输入了密码,如果没有输入,给出提示信息要求用户输入。在提交后的页面,先取得用户名和选择值,然后对数据库中的表进行检索用户名,若检索到的记录集为空,则说明用户名不存在,从而转到相应的出错处理程序,如果用户名正确,进而检查数据库中的密码和输入框的密码是否相等,不相等,报告密码错误,相等则转入成功的操作页面,并将信息以session对象保存起来。 编写代码如下:/登录按了以后触发 protected void LoginButton_Click(object sender, EventArgs e) /接收用户输入的参数 string userNam
16、e = UserName.Text.ToString().Trim(); string userPwd = Password.Text.ToString().Trim(); /选择按钮 string userRole = RadioButtonList1.SelectedValue.Trim(); string selectStr = ; switch (userRole) case 0 :/身份是学生时 selectStr=select * from student where s_id =+ userName +; break; case 1:/身份是教师时 selectStr = sel
17、ect * from teacher where t_id = + userName + ; break; case 2:/身份是管理员时 selectStr = select * from system_manager where login_id = + userName + ; break; /连接字符串 SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStringsConnectionString.ConnectionString); SqlCommand cmd = new SqlComman
18、d(selectStr, conn); try /打开连接 conn.Open(); SqlDataReader sdr = cmd.ExecuteReader(); /sdr.GetString的意思是从数据库的某一列(例如密码列)中取出值来 if (sdr.Read() string temp_getstring=0; if (userRole = 0) temp_getstring = sdr.GetString(3); if (userRole = 1) temp_getstring = sdr.GetString(7); if (userRole = 2) temp_getstrin
19、g = sdr.GetString(2); /判断密码是否正确 if (temp_getstring = userPwd) /记录session SessionUserRole = userRole; conn.Close(); switch(userRole) case 0:/身份是学生时 Sessions_id=userName; Session t_id=; Sessionlogin_id=; Response.Redirect(student/student.aspx); break; case 1:/身份是教师时 Sessiont_id=userName; Session s_id=
20、; Sessionlogin_id=; Response.Redirect(teacher/Teacher.aspx); break; case 2:/身份是管理员时 Sessionlogin_id=userName; Session t_id=; Sessions_id=; Response.Redirect(manager/manager.aspx); break; else/密码错误,给出提示信息 lblmessage.Text=您输入的密码错误,请检查后重新输入; else/用户不存在或用户名输入错误 lblmessage.Text=用户不存在或用户名输入错误,请检查后输入; /数据库
21、错误 catch(Exception ee) Response.Write(ee.Message .ToString (); finally conn.Close(); 4.2 密码修改页面密码修改的前提是用户成功登录,选择密码修改后,按照页面上的提示,在相应的文本框中输入旧密码,新密码,确认新密码,确定后提交更改密码。系统首先在客户端进行验证,是否3个文本框都输入了字符,如果没有都输入,给出错误信息,如果已经都输入了,则判断新密码和确认新密码是否相等,如果不等,给出错误信息。提交服务器后,首先根据传递的session值判断是管理员用户,还是教师用户,或是学生用户,然后判断原始密码的正误,若错
22、误,转到相应的处理程序,若正确,用新密码代替旧密码,更新数据库表中密码字段。代码实现如下: protected void ChangePasswordPushButton_Click(object sender, EventArgs e) /获得session值 string StudentId = Sessions_id.ToString(); string TeacherId = Sessiont_id.ToString(); string ManagerId = Sessionlogin_id.ToString(); string oldpwd = ChangePassword1.Cur
23、rentPassword; string newpwd = ChangePassword1.NewPassword; string selectStr = ; string updateStr = ; switch (SessionUserRole.ToString () case 0:/学生 selectStr = select * from student where s_id = + StudentId + and s_password = + oldpwd + ; updateStr = update student set s_password= + newpwd + where s
24、_id = + StudentId + ; break; case 1:/教师 selectStr = select * from teacher where t_id = +TeacherId+ +and t_password = + oldpwd + ; updateStr = update teacher set t_password= +newpwd+ where t_id = + TeacherId + ; break; case 2:/管理员 selectStr = select * from system_manager where login_id = + ManagerId
25、+ and manager_password = + oldpwd + ; updateStr = update system_manager set manager_password=+newpwd+where login_id= + ManagerId + ; break; /数据库连接 SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStringsConnectionString.ConnectionString); SqlCommand selectcmd = new SqlCommand(se
26、lectStr, conn); try conn.Open(); SqlDataReader sdr = selectcmd.ExecuteReader(); if (sdr.Read() sdr.Close(); SqlCommand updatecmd = new SqlCommand(updateStr, conn); int i = updatecmd.ExecuteNonQuery(); if (i 0) Response.Write(成功修改密码); else Response.Write(修改密码失败); else Response.Write(您输入的密码错误,检查后重新输入)
27、; catch (Exception ex) /数据库出错 Response.Write(系统出错,错误原因: + ex.Message.ToString(); finally conn.Close(); 第五章 管理员详细设计5.1母版页ASP.NET 2.0以上版本为开发人员提供了一种在一个文件中定义多个Web页面布局的功能。以.master为扩展名的文件,称之为母版页。 单个母版页可以定义所有页面的相同外观和通用行为,因而开发人员无须在每个页面中编写重复的代码,并且在需要修改页面布局时只需修改母版页即可。 利用母版页,开发人员可以创建单个网页模板并在应用程序中将该模板用作多个网页的基础,
28、这样就无需从头创建所有新网页。 一个网站可以设置多种类型的母版页,以满足不同显示风格的需要。5.2制作导航栏,TreeView控件TreeView控件显示在浏览器中呈现为一个树形结构。该控件主要用来显示分级数据。TreeView控件由一个或者多个节点构成,每个节点还可以有任意多个子节点,包含节点及其子节点的层次结构构成了TreeView空间所呈现的树形结构。4种节点类型:根节点:处于树形结构的最顶层。父节点:具有一个父节点,并且有一个或者多个子节点的节点。叶节点:处于树形结构的最下层。选定节点:对应于当前被访问网页的节点。5.3内容页面内容页面的页面代码在这个标记之间: 5.4使用控件Grid
29、ViewGridView 是 DataGrid的后继控件,在.NET Framework 2 中,虽然还存在DataGrid,但是GridView已经走上了历史的前台,取代DataGrid的趋势已是势不可挡。GridView和DataGrid功能相似,都是在Web页面中显示数据源中的数据,将数据源中的一行数据,也就是一条记录,显示为在Web页面上输出表格中的一行。GridView控件的功能有:绑定到任何平面结构或多层结构的数据源空间,拥有内置排序功能,编辑和删除数据记录,支持多个关键字段,根据主题和风格进行可视化的调整,根据不同的设备来调整显示结果,可以指定背景图片等等。5.5制作导出到EXC
30、EL代码编写如下:protected void Button3_Click(object sender, EventArgs e) Response.Clear(); Response.Buffer = true; Response.Charset = GB2312; Response.AppendHeader(Content-Disposition,attachment;filename=FileName.xls);/设置输出流为简体中文 Response.ContentEncoding = System.Text.Encoding.GetEncoding(GB2312);/设置输出文件类型
31、为excel文件 Response.ContentType = application/ms-excel; EnableViewState = false;System.Globalization.CultureInfo myCItradSystem.Globalization.CultureInfo(ZH-CN, true); System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad); System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System
32、.Web.UI.HtmlTextWriter(oStringWriter); GridView1.RenderControl(oHtmlTextWriter); Response.Write(oStringWriter.ToString(); Response.End(); 5.6 Session的使用在ASP.NET 中,Session 是 用于保持状态的基于 Web 服务器的方法。Session 允许将对象存储在 Web 服务器的内存中,可以在整个用户会话过程中保持任何对象。 存储需要在整个用户会话过程中保持其状态的信息,例如登录信息或用户浏览 Web 应用程序时需要的其它信息。 编写代码
33、如下:%Response.Write(欢迎管理员+Session login_id+使用本系统!);第六章 测试及设计过程中的问题及解决对于没有使用session的页面,测试过程中发现安全问题,对方可以直接通过在浏览器敲入我的文件路径而越过我的验证,访问某些页面,对于这个问题,可以通过以下的代码解决 if(Sessionlogin_id=null) Response.Write(没有登陆访问,请重新登陆); Response.Redirect(./login.aspx); 6.1 数据库的连接 在网上选课系统里面,由于每个页面都需要使用连接数据库的操作,所以需要在web.config文件中指定数据库连接字符串的配置信息,可以在web.config文件添加代码:Data Source:表示数据库服务器地址,可以填IP地址。Initial catalog:表示数据库名称。Persist security info:表示数据库登录验证模式。SQL Server支持用户名登录验证和Windows身份验证两种模式。User ID:表示登录数据库的用户名。Password
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《GA 740-2007警服材料 机织热熔粘合衬布》专题研究报告深度
- 2026年及未来5年市场数据中国多孔砖行业发展全景监测及投资方向研究报告
- 中学教育教学改革制度
- 养老院入住老人医疗费用结算制度
- 企业员工培训与素质拓展制度
- 企业内部培训与成长制度
- 2026湖北宜昌远安县教育系统事业单位“招才兴业”人才引进公开招聘14人·华中师范大学站参考题库附答案
- 2026湖北省面向中南大学普通选调生招录备考题库附答案
- 2026福建中共福州市委党校招聘博士8人备考题库附答案
- 2026福建省面向复旦大学选调生选拔工作备考题库附答案
- 2025版 全套200MW800MWh独立储能项目EPC工程概算表
- 顺德家俱行业分析会报告
- 2025年司法协理员年度考核表
- 风电项目质量管理
- 福建省福州市福清市2024-2025学年二年级上学期期末考试语文试卷
- 2025年CAR-NK细胞治疗临床前数据
- 非煤地下矿山员工培训
- 保安法律法规及业务能力培训
- 班团活动设计
- GB/T 6109.1-2025漆包圆绕组线第1部分:一般规定
- 前纵隔占位患者的麻醉管理要点(PASF 2025年)
评论
0/150
提交评论