山东科技大学勤工助学管理系统的研制与开发项目负责人:东钰课题组成员:李洋游菡萏指导老师:白培瑞副教授摘要在没有学生勤工`助学管理系统之前,管理方法是传统的纸质管理,这种方法虽然简单,但是造成处理数据的繁重性,并且容易发生数据丢失和统计错误。为了减轻学生处工作量,以及更加合理的分配勤工助学岗位资源,对学生勤工助学管理系统进行设计和开发。本文主要针对勤工助学管理系统的客户端,以及登录,注销,修改密码这些功能的设计和开发。针对管理员的功能,主要从管理员对教师,学生,院系,岗位,以及管理员自身信息功能的添加,查看,修改,删除进行了设计和开发,实现了对教师,学生,院系,岗位,以及管理员自身信息的管理功能。学生勤工助学管理系统的基本设计思想是使用B/S结构来开发,另外着重讨论了用ASP.NET技术和SQLServer2005来开发该系统,并给出了主要部分的实现代码及控件的使用,另外还对控件的优点进行讨论。由于架构比较合理,系统有较高的安全性和较好的使用性能。其中连接数据库的字符串可随时在web.config里修改,增加了配置的灵活性,保证了数据库的安全。关键词:学生,勤工助学,ASP.NET,B/S结构第一章引言1.1课题背景及意义学生勤工助学管理系统是一个高等院校十分重要的部分。高等院校现在为学生提供了大量的勤工助学岗位,但是岗位管理仍然是通过纸上的方式进行管理和工作考核。这种方式需浪费大量的人力进行统计分类,在人为的统计过程中可能会出现各类差错等情况。基于传统人工方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,时间一长将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的麻烦。因此开发基于Web的学生勤工助学管理系统来管理勤工助学岗位很重要。意义在于,使用了网上系统以后,学生可以随时查询自己的岗位,岗位负责老师也可以方便的对在岗同学进行考核,可以使岗位合理的分配,此外,学生信息以及岗位信息可以使用计算机来管理,方便快捷,另外,管理教师提出岗位申请,完成岗位发布也容易的多,可以大幅减少教师的工作量。1.2开发工具的选用及介绍Web应用程序的真正核心主要是对数据库进行处理。开发Web应用程序,可以使用JSP,ASP.NET,PHP动态网页技术。我们选择了ASP.NET技术,使用VisualStudio2008开发,使用IIS6.0作为Web服务器,SQLServer2005作为数据库。采用浏览器/服务器(Browser/Server)结构。(1)ASP.NET介绍:它是一种全新的交互式网页编程技术,被设计为首编译方式,采用代码分离技术,提高程序的编制效率,缩短开发周期。优点有:ASP.NET使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署和站点配置。另外,它采用基于文本的分层配置系统,简化了设置应用服务器环境和Web应用程序。只需将必要的文件复制到服务器,即可将ASP.NET框架应用程序部署到服务器。不需要重新启动服务器,即使是在部署或替换运行的编译代码时。最后,借助内置的Windows身份验证和基于每个应用程序的配置,可以保证应用程序是安全的。图1.1本地运行ASP.NET(2)SQLServer2005介绍:本系统以SQLserver2005做为数据库。SQLserver2005是Microsoft公司开发的一个具有客户/服务器体系结构的关系数据库管理系统,它使用SQL语言在客户机和SQLserver服务器之间传递请求和响应。(3)IIS6.0介绍:IIS全称是Internet信息服务(InternetInformationService)。是微软提供的一个Web服务程序,在开发中称之为Web容器。服务器上总要有个程序在运行,来响应用户的访问请求,这个程序就是Web服务程序。IIS是微软提供的,支持微软的一套开发环境开发的Web程序。HTML介绍:(4)HTML介绍:HTML的英文全称是HypertextMarkupLanguage,中文为“超文本标记语言”。“超文本”就是指页面内可以包含图片,链接,音乐,程序等非文字的元素。一个HTML文件中包含了所有将显示在网页上的文字信息,其中也包括对浏览器的一些指示,如哪些文字应放置在何处,显示模式是什么样的等。如果你还有一些图片、动画、声音或是任何其它形式的资源,HTML文件也会告诉浏览器到哪里去查找这些资源,以及这些资源将放置在网页的什么位置。浏览的网页就是由HTML语言编写出来的。HTML的格式非常简单,只是由文字及标记组合而成,因此任何文本编辑器都可以制作HTML页面。1.3课题的可行性分析(1)技术可行性:ASP.NET制作基于Web的信息管理系统技术已经相当成熟,微软有良好的框架和实现方案。(2)经济可行性:本系统是为学生勤工助学管理使用的系统,用户只要有浏览器,并且能连上互联网,即可使用此系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力,所带来的效益远大于软件的开发成本,在经济上完全可行。第二章系统总体分析与设计2.1设计构想(1)登录与注销每个用户(管理员,教师,学生)都可以用自己的帐号登录系统。用户操作完成后可以退出系统,注销后可以重新登录系统。(2)修改密码每个用户(管理员,教师,学生)第一次登录都使用默认密码,登录以后可以自己修改密码。(3)系统管理员功能录入管理员信息:通过此项功能可以实现对管理员信息的添加。查看修改删除管理员信息:通过此项功能可以实现对管理员信息的查看修改删除。录入教师个人信息:通过此项功能可以实现对教师个人信息的添加。查看修改删除教师个人信息:通过此项功能可以实现对教师个人信息的查看修改删除。录入学生个人信息:通过此项功能可以实现对学生个人信息的添加。查看修改删除学生个人信息:通过此项功能可以实现对学生个人信息的查看修改删除。录入岗位信息:通过此项功能可以实现对岗位信息的添加。查看修改删除岗位信息:通过此项功能可以实现对岗位信息的查看修改删除,另外还可以导出岗位信息到EXCEL。录入院系信息:通过此项功能可以实现对院系信息的添加。查看修改删除院系信息:通过此项功能可以实现对院系信息的查看修改删除。2.2界面规划界面左上角使用Logo,界面正上方中间为标题,界面左边为导航栏,界面正中央为主题,界面最底端为版权信息。图2.1界面规划2.3数据流程规划用户登录身份验证模块验证用户名和密码,并根据不同的用户类型,跳转到对应的欢迎界面。然后通过单击左侧导航栏可以跳转到相应模块,当跳转到管理员界面时,录入信息模块提供给系统管理员,用来录入学生和教师信息,录入课程信息以及录入院系及管理员信息。查看修改删除模块提供给管理员对学生,教师,岗位信息,院系信息,管理员个人信息进行管理,最后注销退出系统。图2.2数据流程用户登录退出系统跳转到各个管理页面单击左侧导航栏进入欢迎界面第三章数据库设计与实现学生勤工助学管理系统中所有的信息都存储在数据库中,在所有ASP.NET页面中通过ADO.NET与数据库连接,操作数据库中的数据,从而实现所有需要的功能。本系统中数据库采用SQLServer2005作为数据库工具。数据库是勤工助学管理系统的核心,数据库设计的合理与否对勤工助学管理系统的建设有着至关重要的影响。一个良好的数据库开发过程一般是先系统分析,再逻辑设计,然后实现。系统分析中分析数据库用户需求,并画出E-R图直观地表示出数据库系统的需求。逻辑设计中根据系统分析设计的一个关系模型。另外,ASP.NET提供了五个内建的数据源控件——SqlDataSource、AccessDataSource、ObjectDataSource、XmlDataSource以及SiteMapDataSource。通过SqlDataSource,需要给出一个数据库连接字符串,还有SQL语句或是存储过程,然后就可以执行查询、插入、删除、更新操作了。当调用SqlDataSource的Select()、Insert()、Delete()以及Update()方法时,会连接到指定的数据库并发出相应的SQL查询。3.1数据库系统分析本系统的数据库实体主要有“学生”、“教师”、“院系”、“岗位”等。其中“教师”与“岗位”存在“开设”联系,并且一个教师可以开设N个岗位,即“教师”与“岗位”之间是一对多的关系。一个学生只能有一个岗位,一个岗位可以有M个学生工作,即“学生”与“课程”之间是多对一的关系。3.2数据库逻辑设计数据库逻辑设计就是将E—R图转换为关系模型的过程,即将所有实体和关系转换成一系列的关系模式。学生(学号,院系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)Department表。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登录算法流程图在登录页面对应的地方输入用户名、密码,然后选定用户角色后,确认登录。先是通过客户端验证是否输入了用户名,是否输入了密码,如果没有输入,给出提示信息要求用户输入。在提交后的页面,先取得用户名和选择值,然后对数据库中的表进行检索用户名,若检索到的记录集为空,则说明用户名不存在,从而转到相应的出错处理程序,如果用户名正确,进而检查数据库中的密码和输入框的密码是否相等,不相等,报告密码错误,相等则转入成功的操作页面,并将信息以session对象保存起来。编写代码如下://登录按了以后触发protectedvoidLoginButton_Click(objectsender,EventArgse){//接收用户输入的参数stringuserName=UserName.Text.ToString().Trim();stringuserPwd=Password.Text.ToString().Trim();//选择按钮stringuserRole=RadioButtonList1.SelectedValue.Trim();stringselectStr=;switch(userRole){case0://身份是学生时selectStr=select*fromstudentwheres_id='+userName+';break;case1://身份是教师时selectStr=select*fromteacherwheret_id='+userName+';break;case2://身份是管理员时selectStr=select*fromsystem_managerwherelogin_id='+userName+';break;}//连接字符串SqlConnectionconn=newSqlConnection(ConfigurationManager.ConnectionStrings[ConnectionString].ConnectionString);SqlCommandcmd=newSqlCommand(selectStr,conn);