时代的校园管理系统-毕业论文_第1页
时代的校园管理系统-毕业论文_第2页
时代的校园管理系统-毕业论文_第3页
时代的校园管理系统-毕业论文_第4页
时代的校园管理系统-毕业论文_第5页
免费预览已结束,剩余52页可下载查看

下载本文档

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

文档简介

厦门大学本科毕业论文Web 2.0时代的校园管理系统本科毕业论文(科研训练、毕业设计)题 目:Web 2.0时代的校园管理系统姓 名:学 院:软件学院系:软件工程系专 业:软件工程年 级: 学 号: 指导教师: 职称: 年 月摘要本管理系统通过使用数据库储存学生个人信息,教师个人信息,课程信息等相关信息,对校园内诸如选课、请假、成绩管理等日常事务实行无纸化和自动化管理,提高学校处理事务的效率,降低管理、储存资料和进行审计的成本,让学校能够更好地为师生服务。同时,通过电子化管理可以在加强管理力度的同时降低管理的成本,有利于保证教学的质量,促进形成良好的教风和学风;另外,通过对学生的就业信息进行分类记录,使用电子化的手段实现最大程度的信息共享,并使商业智能对数据进行处理、汇总和统计,使得每个学生都能够了解有关的信息,以便对自己的将来进行更准确的定位,及早地为自己规划好发展的路线;学校也可以根据对历史数据的统计适时地改变教学目标和路线,改善教学方针,使学校的教学始终走在时代的前端。在技术上,本系统计划使用Web 2.0时代的技术,如XHTML, CSS, Ajax等,实现网页的局部刷新和数据的异步传输,提高系统响应速度,有效地减少用户感知的等待时间,使得Web应用程序向桌面应用程序靠拢,极大地改善用户的体验,为迈入新的Web时代做好准备。关键字 办公自动化;无纸化办公;商业智能;校园管理;Ajax;Web 2.0AbstractBy building profiles for both students and teachers, and storing any other related information, iCampus enables users to deal with course selection, submitting leave form, scores enquiry and other daily business in your school life over Internet. It also makes data processing, sharing and delivering much easier and therefore reduces the cost of management, storage and auditing. iCampus creatively uses Business Intelligence to sort out all kinds of useful information for both student and teachers which enables them to plan their own development much easier and smarter. It also provides a better mechanism for school governors to enforce quality control on their employees as well as their education service.iCampus adopts Web 2.0 technology such as Ajax to facilitate easy usage of the system. It also reduces response time and network traffic by using asynchronous request and partial rendering which are the most outstanding features of Ajax.Keywords Automation; campus management; Business intelligence; Ajax III目录引言8第一章绪论911校园管理系统的应用912系统现状913存在问题914新系统的改进10第二章校园管理系统概要设计1121系统运行环境1122需求分析12221用例分析12222界面要求14223操作约束1423URL访问权限分配1424处理流程1525安全设计16251用户登陆安全设计16252页面访问安全设计16第三章校园管理系统详细设计1731系统主要开发环境介绍17311ASP.NET介绍17312Web 2.0与Ajax1732数据字典设计20321 实体表数据字典设计20322 关系表数据字典设计2633数据库设计27331概念结构设计27332逻辑结构设计3034非功能模块设计32341AuthenticatedPageBase32342Web Service33343Table-valued Function3335功能模块设计33351登录模块33352通知查询模块34353选课模块34354作业上传模块34355请假模块34356学业规划支持模块34357作业安排模块35358请假审批模块35359通知发布模块353510开设选课模块3536安全设计36361登陆安全36362页面访问安全36363登出安全37354数据库访问安全37355Web服务器及系统应用程序的安全37第四章系统运行结果及分析3941运行结果3942运行结果分析及应用45第五章结束语46致谢47参考文献48ContentPreface8Chapter 1 Introduction 911OA solution912Existing system913Known issue914Proposed solution11Chapter 2 System Design1121System requirement1122Requirement analysis12221Use case12222UI design14223Acess control1423URL Access1424System flow1525Security concerns16251Login secutiry16252Page access secutiry16Chapter 3 Detail Design1731Development environment17311Introducing ASP.NET17312Introducing Web 2.0 and Ajax1732Data dictionary20321 Data entity20322 Data relation2633Database design27331Conceptual design27332Logical design3034Non-Functional Module Design32341AuthenticatedPageBase32342Web Service33343Table-valued Function3335Functional Module Design33351Login33352Announcement Query35353Course Selection34354Homework upload34355eLeaveForm34356Career planing Support34357Assignment35358Leave Approval35359Anouncement Issue353510Open Course Selection3536Security32361Login security32362Page access security33363Logout security33364Database security34365Web Server and application security34Chapter 4 System test and Analysis3941Result3942Analysis44Chapter 5 Summary46Acknowledgement47Reference48引言上世纪九十年代末至本世纪初,随着信息技术的飞速发展,掀起了一阵又一阵的办公无纸化和自动化的浪潮。在当今的计算机向着更快、更稳定、容量更大的方向不断发展的同时,人们对办公无纸化和自动化也提出了更好用、更智能的要求。本管理系统通过使用数据库储存学生个人信息,教师个人信息,课程信息等相关信息,对校园内诸如选课、请假、成绩管理等日常事务实行无纸化和自动化管理,提高学校处理事务的效率,降低管理、储存资料和进行审计的成本,让学校能够更好地为师生服务。同时,通过电子化管理可以在加强管理力度的同时降低管理的成本,有利于保证教学的质量,促进形成良好的教风和学风;另外,通过对学生的就业信息进行分类记录,使用电子化的手段和网络技术实现最大程度的信息共享,减少信息传递过程的成本和出错的风险,使得信息的共享更高效,更准确。通过对大量相关的历史信息进行储存、分类和整理,使得每个学生都能够充分了解学校及自身的相关信息,对自己的将来进行更准确的定位,及早地为自己规划好发展的路线;学校也可以根据对历史数据的统计适时地改变教学目标和路线,改善教学方针,使学校的教学始终走在时代的前端。在技术上,本系统计划使用Web 2.0时代的技术,如XHTML, CSS, Ajax等,实现网页的局部刷新和数据的异步传输,提高系统响应速度,有效地减少用户感知的等待时间,使得Web应用程序向桌面应用程序靠拢,极大地改善用户的体验,为迈入新的Web时代做好准备。第一章 绪论11 校园管理系统的应用校园管理系统是办公自动化在校园信息管理上的应用和发展,办公自动化(OA: OFFICE AUTOMATION)就是采用Internet/Intranet技术,基于工作流的概念,使企业内部人员方便快捷地共享信息,高效地协同工作;改变过 去复杂、低效的手工办公方式,实现迅速、全方位的信息采集、信息处理,为企业的管理和决策提供科学的依据。一个企业实现办公自动化的程度也是衡量其实现现 代化管理的标准。由于学校和企业的相似性,办公自动化在校园管理中也能发挥极大的作用。12 系统现状厦门大学现有的管理系统使用了ASP技术,提供了日常使用的消息发布,查询个人信息、成绩和课程及注册选修课程等基本功能。满足了学生和教师日常校园生活中的一般需求,为他们学习、工作和生活带来了一定的便利。13 存在问题由于原有系统大量使用了ActiveX等非标准的技术,使得系统的兼容性和跨平台能力比较差,对Windows平台和IE浏览器依赖性较大,甚至不能在以后的升级的IE版本中继续提供一致的支持,使得系统丧失了很多B/S架构的优点,不能适应广大用户的系统环境的差异,并局限了系统可升级性。功能上,原有系统较为单一的查询功能已经不能适应学生和教师对更好地管理校园日常生活和工作的需求和时代的发展对办公无纸化和自动化提出要求。另外,由于系统使用的是传统网页的全页面刷新技术,服务器必须每次全部重新生成整个页面,对服务器造成了较大的负担,也增加了网络的开销,使得系统的效率低下,不能适应用户数量不断增长的趋势。14 新系统的改进针对原有系统存在的问题,新系统在设计和实现时都从各个方面充分考虑了各个问题的解决方案。首先,在新技术的选取上,采用了当前逐渐成为Web2.0时代主流和标准的Ajax技术。相比于旧系统的ActiveX技术,Ajax使用的核心技术及相关技术簇,如JavaScript、XML、XHTML、CSS等都是W3C采纳为标准的技术,这使得Ajax具有更广泛的浏览器支持和跨平台的能力。其次,由于Ajax使用了局部刷新技术,使得服务器不再需要每次重新发送整个页面而只需要发送更新的部分,这大大减轻了服务器和网络的负担,有利于提高系统的负载能力,增加响应速度和最大同时响应用户数。此外,对原有系统的功能以及界面进行改进。使用了基于权限控制的用户界面,不同的用户登录到系统后就可以看到不同的操作菜单,而对于共用的操作页面,则可以由所有用户共享,降低了系统的复杂性。界面设计上充分利用了Ajax的异步请求了局部刷新技术,大大减少用户感知的等待时间,增强了用户体验,同时使得各类操作更加简洁方便,界面更加友好。第二章 校园管理系统概要设计21 系统运行环境完整系统运行环境:数据库:SQL Server 2005Web服务器:IIS 5.1操作系统:Windows XP Professional整个系统的部署图如下: 图21 iCampus系统部署图 a系统使用了目前较为成熟的三层次架构,使得前端的Web服务器和后端的数据库服务器可以根据应用的需求灵活地进行独立部署,例如通过增加Web服务器来增加系统的负载:图22 iCampus系统部署图 b22 需求分析根据用户的要求以及原始系统存在的各类问题做出如下的需求。221 用例分析在对原始系统的改进中,主要是进行数据库的重新定义设计以及针对不同用户的需求重新设计系统用例。需求用例分析如下图所示:图22 学生用户用例图图23 教师用户用例图图24 教学管理人员用户用例图根据实际的需求,系统中存在三种用户:学生、教师和教学管理人员,这三种用户身份并不是独立存在的,在实际的日常校园生活和工作中,这三种用户的身份可能会出现重叠。例如,学生干部首先具有学生的身份,但同时具有部分教学管理的职能;助教则可能同时具有学生和教师的身份;而部分教师则同时承担教学管理人员的职能。而相同的用户身份也有可能承担不同的职能。这些问题都会在系统中通过权限等级管理得到解决。222 界面要求系统会根据用户的权限动态生成相应的操作菜单,在操作页面方面,适当地运用了Ajax的异步请求和局部刷新的能力,缩短了用户的等待时间,提供比传统网页更好的用户体验。223 操作约束 根据用例分析,不同的用户拥有不同的权限,因而可以访问的页面也不同。由于B/S架构系统的特殊性,用户的访问控制不能够仅依靠通过操作界面来限制用户的操作,而必须在系统部署时设定不同用户对不同URL的访问权限。23 URL访问权限分配系统的主要URL的访问权限的分配实现如下表:表22 主要访问权限分配URL匿名用户学生用户教师用户教学管理人员/iCampus/login/Login.aspx/iCampus/common/*/iCampus/student/*/iCampus/teacher/*/iCampus/admin/*24 处理流程图26 系统处理流程图1) 用户通过系统首页进入验证页面。2) 输入正确的用户名和密码后,转入主菜单页面,否则返回到验证页面并提示错误信息。3) 进入主菜单后可选择操作,或者退出系统。4) 退出系统后返回到系统首页的欢迎界面。25 安全设计251 用户登陆安全设计系统中主要区分为三个角色:学生用户、教师用户和教学管理人员用户。每个角色除于一些共用的功能外,还有一些功能只开放给某个角色中的某个用户,这些访问控制都会在用户登录后操作面板的页面链接上反映出来。252 页面访问安全设计如果用户没有通过登录界面进入该系统,而是直接在地址栏输入主菜单页面地址,则自动跳转到登录界面。提示用户先登录系统。第三章 校园管理系统详细设计31 系统主要开发环境介绍311 ASP.NET介绍ASP.NET 建立在 .NET Framework 的编程类的基础上,为 Web 应用程序模型提供了一组可简化 Web 应用程序生成的控件和基础结构。ASP.NET 包括可用于封装通用 HTML 用户界面元素(如文本框、按钮和列表框)的一组控件。但这些控件在 Web 服务器上运行,并以 HTML 的形式将其用户界面呈现在浏览器中。在服务器上,这些控件公布面向对象的编程模型,该模型为 Web 开发人员提供面向对象编程的丰富功能。ASP.NET 还提供基础结构服务,如状态管理和进程回收,从而可以进一步减少开发人员必须编写的代码数量,并提高应用程序的可靠性。另外,ASP.NET 使用这些同样的概念使开发人员能够以服务的形式交付软件。使用 XML Web Services 功能,ASP.NET 开发人员可以编写他们的业务逻辑,并使用 ASP.NET 基础结构通过 SOAP 交付该服务。312 Web 2.0与Ajax Ajax (Asynchronous JavaScript and XML, 基于XML的异步JavaScript,简称Ajax),但内涵是两个存在已有一段时间的 JavaScript 功能。这两种功能以往一直被忽略,在 Gmail、Google suggest 及 Google Maps 出现后才一举成名天下知。术语Ajax用来描述一组技术,它包括:1.使用XHTMl与CSS的标准表现(standards-based presentation);2.使用DOM(Document Object Model)进行动态显示与交互;3.使用XML and XSLT 进行数据交换与操作;4.使用 XMLHttpRequest进行异步数据传输;5.使用 JavaScript将所有这些绑在一起。它使浏览器可以为用户提供更为自然的浏览体验。在Ajax之前,Web站点强制用户进入提交/等待/重新显示范例,用户的动作总是与服务器的“思考时间”同步。Ajax提供与服务器异步通信的能力,从而使用户从请求/响应的循环中解脱出来。借助于Ajax,可以在用户单击按钮时,使用JavaScript和DHTML立即更新UI,并向服务器发出异步请求,以执行更新或查询数据库。当请求返回时,就可以使用JavaScript和CSS来相应地更新UI,而不是刷新整个页面。最重要的是,用户甚至不知道浏览器正在与服务器通信:Web站点看起来是即时响应的。Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。在创建Web站点时,在客户端执行屏幕更新为用户提供了很大的灵活性。例如,在Amazon的购物车页面,当更新篮子中的一项物品的数量时,会重新载入整个页面,这必须下载32K的数据。如果使用Ajax计算新的总量,服务器只会返回新的总量值,因此所需的带宽仅为原来的百分之一。消除了每次用户输入时的页面刷新。在Ajax中,如果用户在分页列表上单击Next,则服务器数据只刷新列表而不是整个页面。直接编辑表格数据,而不是要求用户导航到新的页面来编辑数据。对于Ajax,当用户单击Edit时,可以将静态表格刷新为内容可编辑的表格。用户单击Done之后,就可以发出一个Ajax请求来更新服务器,并刷新表格,使其包含静态、只读的数据。Web2.0代表的是一个新的网络阶段,它本身并没有特别明确的标准来进行描述,一般我们将促成这个阶段的各种技术和相关的产品服务统称为Web2.0。Ajax是Web2.0阶段系列技术和相关产品服务中非常重要的一种技术。全称为异步的JavaScript和XML。它借助异步JavaScript实现浏览器和服务器之间的异步交互,无需重新装载整个页面就可以向服务器发送请求,并接受响应。下面来对比传统的Web解决方案与Ajax解决方案:图33 传统Web解决方案同步交互方式:当用户向HTTP服务器提交了一个处理请求时,服务器端将在接受到该请求后,按照预先编写的程序中的业务逻辑进行处理,例如:和数据库服务器之间进行数据信息的交换,然后对请求处理进行响应,即将结果传送回发出请求的浏览器客户端,返回一个HTML页面在浏览器端进行显示。显然,这样的一种处理方式一定会给用户一种不连贯的体验,因为当服务器在处理请求的时候,用户多数时间只能处于等待状态,页面中显示的内容也只能是一片空白。图34 Ajax解决方案异步交互方式:Ajax相当于在浏览器与服务器之间架设了一个桥梁,一个媒介,在它的帮助下,可以消除网络交互过程中的处理-等待-处理-等待等缺陷。在处理过程中Web服务器响应是标准的且易于解吸的XML格式的数据传递给Ajax,然后再转成HTML页面的格式,辅助CSS进行显示。891011313 ASP.NET Ajax 介绍ASP.NET Ajax是Microsoft公司推出的基于ASP.NET 2.0 的Ajax封装类库,它可以轻易地与ASP.NET 2.0及以上的平台进行无缝整合,使开发人员可以民快速地开发出具有丰富用户体验的ASP.NET Web应用程序。该Ajax框架使用了跨平台的ECMAScript(JavaScript)和XHTML技术,提供了大量客户端的脚本库,并把这些脚本库和ASP.NET的服务器端代码无缝地整合在一起,极大地提高了用户体验和Web应用程序的效率。32 数据字典设计在数据库中,主要存在两种类型的数据表:一种是实体表,它们表示系统中的一类对象,用于记录原子信息,支持系统的增、删、改、查的操作;另一种是关系表,它们主要是用于记录实体表对应的一类对象的个体之间的关系。321 实体表数据字典设计主要的实体表数据字典部分图示如下:表31 学生表数据字典表名列名说明STUDENTSTU_ID学生的学号ENROLL入学时间GRADUTE毕业时间NAME姓名GENDER性别BIRTH出生年月日表32 员工表数据字典表名列名说明EMPLOYEEEMP_ID工号NAME姓名DEPTNO部门号DEPTNAME部门名称EMPLOY入职时间LEAVE离职时间表33 教工表数据字典表名列名说明TEACHERTITLE职称DEGREE学历EMPLOY入职时间LEAVE离职时间TE_ID工号DESC简介AUTHORITY权限表34 教学管理员工表数据字典表名列名说明ADMINTITLE职称EMPLOY入职时间LEAVE离职时间AUTHORITY权限ADM_ID工号表35 课程表数据字典表名列名说明COURSESEM_ID开课学期MAJ_ID开课专业START开始时间END结束时间PERIOD上课时间(课时)CS_ID课程IDWEEKDAY上课时间(周天)LEN每次课程的长度(单位:课时)INTERVAL上课间隔(单位:周)ROOM上课地点TE_ID上课教师NAME课程名称DESC课程简介TYPE课程类型(O=选修,M=必修)CAPACITY最大上课人数CREDIT课程学分表36 学期表数据字典表名列名说明SEMESTERSEM_ID学期START开始时间END结束时间表37 选课周期表数据字典表名列名说明COURSE_SELECTION_OPENINGSEM_ID学期START开始时间END结束时间LIMIT学分限制REMARK选课说明TARGET选课对象表38 选课时段表表数据字典表名列名说明COURSE_SELECTION_OPENINGSEM_ID学期START开始时间END结束时间LIMIT学分限制REMARK选课说明TARGET选课对象(用专业ID指定,0代表全校学生)表39 专业表数据字典表名列名说明MAJORMAJ_ID专业IDNAME专业名称CODE专业代码FOUND建立时间COL_ID所属学院表310 学院表数据字典表名列名说明COLLEGECOL_ID学院IDNAME学院名称CODE学院代码FOUND建立时间表311 专业表数据字典表名列名说明MAJORMAJ_ID专业IDNAME专业名称CODE专业代码FOUND建立时间COL_ID所属学院表312 班级表数据字典表名列名说明CLASSCLS_ID班级IDSTART建立时间END结束时间HT_ID班主任MAJ_ID专业表313 请假条表数据字典表名列名说明LEAVESTU_ID学生START开始时间END结束时间REASON请假理由LV_ID请假ID表314 请假条审批表数据字典表名列名说明LEAVE_APPROVALADM_ID审批人员RESULT审批结果(A=通过,R=不通过)COMMENT审批者意见VIEW审批时间LV_ID请假ID表315 作业安排表数据字典表名列名说明HOMEWORKHW_ID作业IDCS_ID课程ASSIGN安排时间DUE最迟提交时间DELIVERBALE可提交CONTENT作业内容表316 作业提交表数据字典表名列名说明HOMEWORK_SUBMITHW_ID作业IDSUBMIT提交时间VIEW批改时间MARK评分322 关系表数据字典设计表317 学生班级表数据字典表名列名说明STU_CLASSSTART开始时间END结束时间CLS_ID班级STU_ID学生表318 课程期末评分表数据字典表名列名说明SCORESTU_ID学生CS_ID课程SCORES分数表319 学生选修课表数据字典表名列名说明OPTIONAL_COURSESTU_ID学生CS_ID课程表320 班级必修课表数据字典表名列名说明MANDATORY_COURSESTU_ID学生CS_ID课程33 数据库设计根据设计好的数据字典对数据库iCampus进行设计。使用SQL Server 2005作为数据库的开发平台。331 概念结构设计根据需求及数据字典,对整个数据库进行整体结构设计。主要数据库表如下:表321 学生表表名列名数据类型可空STUDENTSTU_IDint否ENROLLint否GRADUTEint是NAMEnvarchar(32)否GENDERchar(1)否BIRTHdatetime是表322 班级表表名列名数据类型可空CLASSCLS_IDint否STARTint否ENDint是HT_IDint否MAJ_IDint否表323 专业表表名列名数据类型可空MAJORMAJ_IDint否NAMEnvarchar(50)否CODEvarchar(5)否FOUNDdatetime否COL_IDint否表324 学院表表名列名数据类型可空COLLEGECOL_IDint否NAMEnvarchar(50)否CODEvarchar(5)否FOUNDdatetime否表324 选课时段表表名列名数据类型可空COURSE_SELECTION_SEM_IDint否OPENINGSTARTdatetime否ENDdatetime否LIMITfloat否REMARKnvarchar(128)是TARGETint是表325 课程表表名列名数据类型可空COURSESEM_IDint否MAJ_IDint否STARTdatetime否ENDdatetime否PERIODsmallint否CS_IDint否WEEKDAYsmallint否LENsmallint否INTERVALsmallint否ROOMnvarchar(50)否TE_IDint否NAMEnvarchar(32)否DESCnvarchar(512)否TYPEchar(1)否CAPACITYint否CREDITint否332 逻辑结构设计数据库主要的ER图如下:图35 数据库ER图 a图36 数据库ER图 b图37 数据库ER图 c图38 数据库ER图 c34 非功能模块设计本系统使用了ASP.NET的CodeBehind Model,以aspx文件作为程序的表现层生成操作界面。而每个页面对应的cs文件则负责事件的处理和业务逻辑的实现。341 AuthenticatedPageBaseAuthenticatedPageBase是一个抽象的基类,它的主要作用是提供一个Pagelevel的authentication,以弥补ASP.NET自身URL访问控制的不足。系统中的Page根据不同的安全性需求主要分为了两种强认证Page和一般认证Page。强认证的Page主要是系统中一些比较高权限等级的操作,由于ASP.NET本身的基于角色的访问控制对同一角色的权限控制粒度不能满足系统的要求,所以对于用户的访问必须由系统中ACL(访问控制列表)进行控制。AuthenticatedPageBase提供了Authenticate方法和AuthenticationSucceeded、AuthenticationFailed两个事件,使得其子类可以灵活地处理认证成功和认证失败的情况。系统中所有的强认证Page全部继承于AuthenticatedPageBase基类,并提供了AuthenticationSucceeded和AuthenticationFailed两个事件处理。而一般认证Page通常是一些角色共有的功能,系统仅使用了ASP.NET的访问控制,以获得更好的系统性能。342 Web Service与Ajax的一大特性Partial rendering相互呼应的Web 2.0技术就是Web Service。它为Ajax的Partial rendering提供了有力的支持Partial retriving。通过JavaScript对Web Service的调用,Web Service可以根据客户端提供的参数去获取客户端所需的数据。系统中设计了一系列的Web Service来帮助用户获取他们所需的信息。这些Web Service均放在对应页面的cs文件中,以支持该页面的用户操作。343 Table-valued FunctionTable-valued Function是SQL Server提供给开发人员的强有力的工具。通过这些Function,开发者可以在不暴露数据库结构的条件下开发出高效的应用程序。由于系统中数据的存储方式与用户查询数据的方式不同,而每个用户所需查询的数据又只是一个大集合中的一个小子集,因此,使用Table-valued Function可以比使用View获得更高的系统性能。系统中提供了一系列的Table-valued Function来帮助用户获取他们所需的资料。35 功能模块设计351 登录模块登陆模块中使用了ASP.NET的Login控件,该控件会根据Web.config中的配置自动到相应的数据库中查询信息来验证用户登陆。登陆过程中,登陆对话框会不断地闪烁以示意用户系统正在登陆。用户成功登陆以后,登陆模块就会调用数据库中的表值函数GetUserUrls来获取该用户具有操作权限的页面的URL。GetUserUrls通过对数据库中的ACL访问控制列表进行查询并按照表中定义的顺序返回操作菜单的名字和对应的URL;如果用户提供的信息无效,登陆框就会清空并在下方提示登陆错误信息,以便用户再次输入。352 通知查询模块通知查询模块使用了Ajax控件中的DynamicPopulate服务端控件,该控件的功能主要是能够在用户触发Postback事件时对数据库服务器发出一个异步请求,并把获取到的数据利用局部刷新更新到指定的区域。由于不需要获取整个页面并刷新,这样就可以大大减少用户感知的等待时间,达到改善用户体验的目的。353 选课模块选课模块结合了Ajax控件中的Accordin控件和DynamicPopulate控件,使用户可以在看到课程的标题和一些简要的信息后决定是否获取这一课程的详细信息。根据需要,用户可以点击课程的标题来获取该课程的详细信息,页面上使用了可折叠的面板来显示课程的详细信息,不但节省了空间,也增加了美感,降低用户的疲劳感。354 作业上传模块作业上传模块调用数据库中的表值函数GetAllHomeworkFor获取该学生用户参加的课程的所有尚未过期的作业,并在页面上显示文件上传控件,以便用户上传作业。处于安全因素的考虑,系统只允许用户上传压缩类型文件。上传的文件会根据课程的信息保存到相应的目录中,该课的科任老师可以通过ftp获取学生提交的文件。355 请假模块请假模块为学生用户提供了在线请假和查询请假历史的功能,学生所提交的请假单可以由该学生的班主任查看和审批,审批意见可以实时地被反映在请假历史中。页面上使用了Ajax的Calendar控件和MaskedEdit控件,方便用户准确的输入时间信息。356 学业规划支持模块学业规划支持模块通过对数据库中历年来的学生就业信息进行分类和汇总,再以图表形式直观地展现给学生用户,使学生可以有足够的信息提前对自身的发展方向做出规划,使自己的目标更加明确,提高自身学习的积极性和主动性。该模块主要使用了dotnetCharting的绘图控件,把数据分类汇总后绘制成直方图等多种图形,使数据表现更清晰,更直观,有助于用户对数据的理解。由于该模块需要在磁盘上写入临时文件,所以特地在程序目录底下新建了一个Temp目录,并赋予程序该目录的写入权限。357 作业安排模块作业安排模块提供给教师安排课余作业的功能。该模块在数据库中自动查找出该教师当前所开设的课程,以DropDownList的形式让教师选择对哪门课程安排作业。作业安排提交以后该门课程的学生可以实时地看到新安排的作业,并可以在该作业的最迟上交日期之前通过作业上传模块进行作业上传。358 请假审批模块该模块提供给教师用户中的班主任教师用于审批该班同学的请假单的功能。学生在请假模块提交了请假单以后,该班的班主任就可以立刻对该请假单进行审批,审批的结果可以实时地反馈到学生的请假历史中。该模块改变了现有的“提交纸质请假单-当面审批”这一传统的请假流程,大大提高了请假的效率和节省了保存请假单的成本。359 通知发布模块该模块提供给教学管理人员一个发布信息的平台,所发布的信息都可以第一时间反馈到目标用户的通知查询模块中,使得信息传递的速度大大加快,也使分发信息的成本大大降低。3510 开设选课模块该模块提供给教学管理人员开设选课时段的功能。为了解决学校服务器资源不足的情况,该模块特地加入了针对不同专业开设选课的功能。用户可以在开设选课的时候指定某一个特定的选课对象,通过对不同的对象分时段开设选课,可以在不增加服务器资源的情况下解决以往选课过程中服务器超负荷工作导致的无响应问题。36 安全设计361 登陆安全系统验证模块如下图所示:图316 系统验证模块用户在Login.aspx页面上输入用户名和密码,并单击“登录”按钮后,Login.aspx上的Login服务器控件会自动将用户信息与ASPNETDB中的用户信息进行验证,如果验证成功,则重定向到用户角色指定的默认页面,否则提示登录错误。任何未登录的用户访问除登录页面以外的页面都将被重定向到登录页面。362 页面访问安全当用户通过应用中的主菜单转入操作页面时,要求用户已经通过了安全验证。对于通过验证的用户,服务器会在其用户Session中保存用户的ID,对于要求使用强认证的页面,服务器会在页面加载之前会根据这个用户ID到系统中的ACL去验证用户的访问权限。而对于一般认证的页面则只使用ASP.NET的角色权限管理,以获取更好的性能。363 登出安全当用户选择“退出”菜单时,也同样要求用户已经通过了安全验证,此时服务器从当前Session中删除用户信息,然后使Session无效,确保系统安全退出,然后再将用户重定向到登录页面。354 数据库访问安全默认状态下ASP.NET应用程序运行在ASPNET系统帐户下,由于系统的应用程序可能存放在同时Host其它应用程序的公共Web服务器上,所以ASPNET帐户可能同时被多个ASP.NET应用程序所共用,因此,对ASPNET帐户开放数据库的权限显然会带来强大的安全隐患。为此,系统需要在Web服务器上创建一个名为iCampusWebApp的用户帐户,并赋予这个帐户使用数据库的权限,由于该帐户是应用程序使用的帐户,其预期的行为应该是固定的,因此只提供给其Table-valued Function和View的访问权限,再由Table-valued Function代理dbo的角色去数据库中查询数据,这样可以防止该帐户执行未预期的操作,也可以防止数据库的结构暴露。在用户帐户设置完成后,就可以在ASP.NET应用程序中使用impersonation来扮演iCampusWebApp用户对系统进行访问。355 Web服务器及系统应用程序的安全默认状态下IIS会以IUSER系统帐户去代理匿名用户对系统进行访问,由于IUSER可能被Web服务器中的其它Web应用共用,如果IUSER具有访问多个Web应用目录的权限,系统中就可能产生非预期的合法访问,从而造成系统安全漏洞。因此,必须为系统的应用配置一个独立的匿名用户代理帐户iCampusWebUser,并赋予该仅需的系统访问权限。另外,Web应用的部署描述文件Web.config中保存了数据库连接字符串、impersonation用户帐户的身份证明等

温馨提示

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

最新文档

评论

0/150

提交评论