《大学毕业设计---网上作业提交系统的开发.doc》由会员分享,可在线阅读,更多相关《大学毕业设计---网上作业提交系统的开发.doc(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 毕业论文(设计)题 目 网上作业提交系统的开发院 系 专 业 学生姓名 学 号 指导教师 职 称 二一三年五月二十日目 录1绪论11.1课题的研究意义11.2国内外研究现状11.3软件及技术简介31.4论文组织结构42系统分析52.1系统需求分析52.2用户的特点与系统约束52.3系统结构52.4系统要求63系统数据库设计73.1 设计目的及原则73.2本系统数据表84系统主要功能模块设计104.1详细设计流程和系统实现步骤104.2系统特点104.3用户验证模块104.4用户管理模块104.5学生功能模块124.6教师功能模块145系统配置及功能测试175.1网站配置175.2软件测试17
2、6总结和展望21参考文献21附录23致谢28ABSTRACT29网上作业提交系统的开发周南南京信息工程大学滨江学院,南京 210044摘要:随着网络通讯技术和计算机的发展,计算机辅助教学已深入到教育系统中。其中在线作业提交系统是师生课外交流的平台,在教学环节中扮演着重要的角色。本文设计并开发了一个作业提交系统。该系统利用ASP.NET的编程技术,系统后台数据库采用ACCESS建立。系统可以实现学生在线提交作业的无纸化管理,可以有效利用校园网的软硬件资源,使其发挥最大的效力。关键词:ASP.NET;作业提交;数据库1绪论1.1课题的研究意义当代全球计算机网络化飞速发展,我们生活中无处不渗透着互联
3、网,e时代已经到来,通过网络创造一个能主动学习交流的平台也应时而生。以往的传统学校作业模式中浪费了很多不必要的时间和教师与学生的精力,老师每天除了上课教学外,布置习题也是一个非常重要的工作,如何简化这一工作,对提高教学质量有很大的帮助;同样对学生来说,省去一些不必要的工作对他们来说是更为便利的。因此建立一个在线作业提交系统对解决这些困难无疑是有巨大帮助的。基于网页的作业提交系统能够实时地反映学生的学习情况和老师批改作业的质量;能督促教师进一步提高教学水平,帮助学生提高学习能力。教师登陆后能够发布修改作业、打包下载学生的作业、发布修改成绩、删除作业;学生登陆后能够在网上查看作业、下载作业、上传作
4、业、查看成绩。学生提交在线系统可以实现无纸化操作管理,校园中的硬件和软件资源都能被高效利用,从而能够最大限度地提高学习教学,科研和管理服务的效率。学生在学习中的很多不必要的工作都会被简化,老师也能更轻松及时的了解到学生答题的情况,并马上把对学生作业的意见反馈给学生。这为师生交流提供了一个非常好的技术平台。利用互联网络技术,建立一个网上作业提交系统,使得传统的学生提交作业方式,教师批改作业方式发生了改变,它将学生的作业提交变得更加灵活。通过互联网实现网上作业提交,是一个具体实现现代教育技术的范例,具有十分重要的现实意义。实现学生提交作业的在线无纸化管理,可以有效地利用校园网的软件和硬件资源,使其
5、能发挥最大效果,能更好的为学校的教学、科研和管理服务。这个系统可以被广泛的应用于基于 Web 的作业提交系统,系统的规模虽然不是很大,但是功能齐全,可以大大减少学生和教师的工作量,减轻教师和学生的学习任务,从而很大程度上提高了教师的教学效率和学生的学习效率。1.2国内外研究现状目前国内外都有很多作业上传提交方面的研究,研究的技术也是多种多样的,如ASP.NET、ASP、JSP等模式,大多数还是关于网络学院的远程教学的。尤其是ASP.NET 技术,因为其动态交互性的特点,大大扩展了互联网的应用范围,同时也在广泛的互联网应用的教育领域内产生了深远的影响。然而,现在的作业提交和批改方式仍旧一成不变,
6、还在使用以前的老方法,老师布置一个作业,学生完成习题,然后再交还给老师,老师批改过后登记成绩,步骤繁琐,效率低。教育的网络化趋势代表了教育改革的一个重要发展方向,已经成为现代教育的一个显著特点,并成为当代教育发展的新的助力。1.2.1国外的研究历史及现状美国是计算机发展大国,在这方面的应用也是率先开始的,目前技术也已成熟。有许多世界知名的计算机能力考试和外语等级考试均采用了互联网的考试平台,这种通过计算机网络进行的认证考试使得我们不用走出国门就能获得各种国际通用的证书。国外许多公司和大学都致力于这一研究领域,从而产生了很多商业化或公用的作业提交管理系统。但大多数的系统主要都是用于网络上的远程教
7、学。至于开放性教育,目前利用作业管理系统管理教学作业课程的并不多。针对国内外对教学管理软件的基本要求和其庞大的市场需求,一个好的教学管理软件,功能齐全,操作简便,向用户展示良好的操作界面等优点是必要的。在完善功能的同时,必须兼顾系统的灵活、安全和健全性。一个优秀的教学管理系统,应该具备操作简单,便于安装,容易普及的特点,无论是计算机专业人员还是其他用户,都能很快上手。网络作业系统是一个基于网络进行作业发布、收集、评价的教育服务体系,这是美国教育研究与发展组对网业操作系统的定义。网络作业系统为教师和学生提供了快捷的作业指导,开辟了一条快速作业信息渠道。教师能够上网批阅作业、学生可以上网查询作业,
8、并公布提交作业的结果,网络作业提交系统能及时反馈给教师和学生,从而更好地激励学生做功课的积极性。自上世纪90年代开始,网络作业系统在国外发展迅速,出现了很多综合的、跨学科的网络作业系统。WebAssign是美国北卡罗来纳州立大学物理系开发的一个知名的作业提交系统,相对来说它的功能较为完善,在美国深受受用率比较高,影响力比较大。商业化的系统由一些软件公司或硬件生产公司为适应自己的需求而开发,如加拿大Platform公司的LSF,德国GENIAS软件公司的CODINE,IBM公司的LoadLeveler,美国Craysoft公司的NQE、NEC公司的Netshepherd等;公用的免费系统如Gen
9、erieNQS、PBS、CONDOR、DQS、QBATCH等是由美国的一些大机构或大学开发的;与此同时还出现了一些综合作业管理系统,其典型代表产品有NASA的PBS、Platimim公司的Autosys等。1.2.2国内的研究历史及现状在国内,也有一些网络考试系统,比如计算机等考试,交通法规考试等。但由于互联网技术相对起步较晚,这一方面的系统还不完善且缺少想要的理论指导,距国际领先水平还有一定差距。但是我们在这方面的发展速度是惊人的,目前,我国在计算机网络分布面上有了相当大的提高,可以说现在我们的生活跟网络已经密不可分了。然而这作为信息化建设的一部分,电子政务方面的远程软件开发是我国在“十一五
10、”期间大力建设的项目,目前还在起步阶段,让现代教育也能跟上当今信息化的社会的发展是这项技术的不断深入发展的前提,我们的教育就需要有更好、更完善的软件系统来服务。从学生作业提交系统目前的情况来看,在现代化教育模式技术的支持下,通过计算机来提交作业的方式已经相当普及了。但是有条有理地管理好学生的作业信息并能够合理的使用硬件资源,却是少之又少。已经有不少的高等学校通过对于网络技术的了解和实践运用推出了自己的学生作业上传系统。但是系统的功能由于技术实现的局限性,现在还不够完善,并且存在着诸多的缺陷。例如,大多数的 Web 作业系统都还只是停留在基于某门课程的基础之上,又或者是由教师自行组建设计开发的小
11、型系统。这同时也表现现在人们对出Web 作业系统的通用性还没有足够的重视;另外缺陷还有系统查询功能不全面、操作量高,这也容易导致系统的不稳定;还有数据库缺乏有效的管理,数据无法及时有效的更新,而且数据还容易丢失。正是由于这些明显的缺点使得用户对系统产生了不信任,于是系统的开发又回到传统的“拷贝、粘贴”模式,系统也就因此而荒废了,这就使系统的开发应用无法得到良好的发展。拿开放式的教育来说,它与普通的全日制学员教育相比,在学员的角色定位上,学习的自主性和自由性地位更加突出,因此反复提交作业的功能应该是对应作业提交系统所具有的,并且作业应该被设定为必须在一定的时间区间内完成。根据这些要求,目前我们所
12、迫切需要的应该是一套完善的作业系统,它必须满足为我们进行教育服务所需的要求。与此同时,需要明确的是,开放式教育与网络教育并不相同,网络教育缺少的是与教师面对面沟通,学生主要通过自主学习,而开放式教育中的学生则能够有教师亲自辅导,因此在作业提交系统中教师进行批改和答疑的功能是必不可少的,这可以大大提高学校的教学管理水平,进而优化教学的资源,提高教师的教学效率。1.3软件及技术简介Visual Studio 是用来创建 Windows 平台下的 Windows 应用程序以及网络应用程序的软件,除此而外Visual Studio软件也可以被用来进行创建网络服务、智能设备应用程序以及 Office 插
13、件等。Visual studio 是目前最流行的Windows平台应用程序开发环境。它作为一个集成解决方案,适用于个人以及各种规模的开发团队,它可以真正的实现同事之间的无缝协作,有效的提高了成果生成效率和专注度,满足各类人群的需求。.NET 框架(.NET Framework)是一个多语言组件开发和执行环境,它提供了一个跨语言的统一编程环境。.NET 框架从层次结构来看包括三个主要组成部分,它们分别是公共语言运行时、服务框架和上层的两类应用模板。.NET 框架具有公共语言运行库和.NET Framework类库这两个主要组件。ASP.NET 是一种编程框架,它建立在公共语言运行库上,它能够使功
14、能强大的 Web 应用程序在服务器上生成。ASP.NET与以前的 Web 开发模型相比有以下几个主要优点:(1)ASP.NET 是编译好的公共语言运行库代码,它能在服务器上运行。ASP.NET 相较其他语言性能有显著提高,它可利用早期绑定、实时编译和本机优化等服务。 (2)ASP.NET Framework 补充了 Visual Studio 集成开发环境中需要的大量工具箱和设计器。(3)由于 ASP.NET 基于公共语言运行库的原因使得开发人员在开发Web 应用程序时可以很好地利用整个平台。从 Web能够无缝访问.NET Framework 类库、消息处理和数据访问解决方案。因为ASP.NE
15、T与语言无关,所以可选择最适合的应用程序语言,或用多种语言同时编写应用程序。(4)ASP.NET 通过基于文本的分层配置系统将设置应用于服务器环境和Web应用程序简化了。(5)ASP.NET 在设计时增加了专门用于在密集环境和多种处理器环境中提高性能的功能来满足可缩放性。另外, ASP.NET 运行库密切监视和管理着进程,以便当进程行为出错(泄漏、死锁)时,可随时创建新进程,来保持应用程序始终被用于处理请求。(7)借助基于每个应用程序的配置和内置的 Windows 身份验证,从而保证应用程序是安全的。(8)ASP.NET 的结构设计周到,开发人员能用它在适当的级别“插入”代码,而且ASP.NE
16、T 运行库的任何子组件可以用自己编写的自定义组件扩展或替换。C#是一种微软研发的基于.NET框架的、面向对象的高级编程语言。C#是由C语言和C+派生而来的,在继承它们强大的性能的同时又以.NET 框架类库作为基础,拥有类似Visual Basic的快速开发能力。Access数据库的主要有以下几个特点:(1)存储的方式比较单一,在后缀为.mdb 的数据库文件中存放对象,便于用户的管理和操作。(2)Access 是一个界面友好、易于操作的数据库工具,风格与 Windows 一样。(3)Access 是一款利用面向对象的方式将数据库系统的所有功能对象化的面向对象的开发工具,并封装管理数据库的所有功能
17、。(4)集成环境、处理多种数据信息。为了使操作简单,比较容易使用和掌握,系统还提供了数据表和查询生成器、报表设计器以及很多向导工具。(5)Access 支持 ODBC。能通过动态数据交换和对象链接和嵌入特性,在一个数据表中嵌声音、入位图、word 文档、Excel 表格,还可以建立起动态的数据库报表和窗体等。(6)Access 是小型数据库,并有支持有限,缺乏安全性等局限性,存在数据库不能过大。SQL(structured query language)结构化查询语言的主要功能就是同各种数据库建立联系,进行沟通,其可以用来执行各种各样的操作。ADO.NET提供的数据访问拥有平台互用性和可伸缩的
18、特点,传送的都是XML(Extensible Markup Language,可扩展标示语言)格式的数据。ADO.NET提供的与数据库相连的方式共3种:通过ODBC相连;通过OLEDB相连;直接与SQL Server相连。用DataSet来隔离异构的数据源和用DataReader方式以流方式从数据源读取是对于相连的数据库进行数据处理的两种方式。ADO.NET还提供对Microsoft SQL Server等已经通过OLE DB和XML公开数据的数据源进行一致访问。有效的将数据访问从数据操作中分解出来,成为多个能够单独使用的不连续的组件。1.4论文组织结构本论文总共分为六章:第一章:绪论,介绍了
19、该课题的研究背景,分析了关于本课题的国内外研究的现状,同时简单说明了本系统的实现目标及功能特色,并且介绍了相关技术。第二章:系统分析,主要从系统性能需求、系统开发环境等方面进行详细论述,简单地介绍了设计和实现本系统涉及到的相关知识。第三章:系统数据库设计,该章主要从系统的功能需求、系统数据库设计、系统总体框架等方面进行详细论述。第四章:系统主要功能模块的设计,该章主要从此系统的两个主要角色:教师和学生,需要实现的功能来进行流程设计。第五章:系统配置及功能测试,对系统实现的主要功能进行了测试。第六章:总结与展望,对该课题进行总结并对未来的发展进行展望。2系统分析2.1系统需求分析需求是每个待开发
20、系统的特征,需求分析就是分析相应的软件系统来解决手头问题所需要的软件特征。系统主要用于实现教师模块和学生模块。系统先对这两者进行分类,因为两种角色拥有不同的权限,所以他们所能够直接访问的资源不同。主要功能流程如图2-1所示:发布修改作业打包下载作业发布修改成绩删除作业教师界面学生界面登陆界面查看作业下载作业上传作业查看成绩 图2-1 系统功能图2.2用户的特点与系统约束用户皆是对计算机了解比较深的人,不仅学校教师或专业教师能很快熟悉本系统的使用方法,非专业教师也能很快将其掌握,学校学生能很快学会使用系统。经过分析,系统主要的限制条件有以下几条:(1)学生通过自己账号不可以进入教师的页面。(2)
21、教师通过自己账号也不可以进入学生的界面。(3)学生登录进入之后只能看到自己的作业,不可以看到别人的作业,但能看见大家的成绩。(4)不同的用户使用修改密码都只能修改自己的密码,无法修改他人的。(5)教师登录只对自己发布的作业进行管理,不可以对别的教师发布的作业进行管理。(6)学生上传作业的类型,大小,时间等,受到教师发布作业的约束。(7)不同的用户使用个人数据功能时,也是只可以看到自己的信息不可以看到他们的信息。2.3系统结构B/S结构,即Browser/Server(浏览器/服务器)结构。近年来互联网技术快速兴起,B/S结构即是在此期间对C/S结构的一种改进的结构。在这种结构下,用户接口完全可
22、以通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑却在服务器端实现。其整个系统采用的是 Browser/Web/DataBase 的三层体系结构。B/S存在以下优点与缺点,优点:(1)客户端被极大的简化了;(2)用户操作更为简单;(3)利用浏览器跨平台更容易了。缺点:(1)服务器承受负担比较重;(2)个性化特点降低了;(3)最基本的操作方式是鼠标操作,快捷操作的要求无法得到满足;(4)页面的动态刷新和页面的响应速度都降低了;(5)分页显示无法实现,对访问数据库产生了比较大的压力;(6)功能弱化了,难以实现传统模式中的特殊要求。B/S模式的工作原理如图2-2所示。 数据库服务器W
23、eb服务器应用服务Web浏览器HTTP请求 SQL请求HTML界面 结果图2-2 B/S模式的工作原理2.4系统要求本系统由教师执行管理员工作进行日常维护和管理,教师和学生都有各自的账号对自己的信息进行处理。学生可以看到本次作业的题目和历次作业的成绩并且下载、提交作业,老师可以进行作业管理、添加公告、查看作业情况和管理留言。系统功能要求:(1)用户名认证:区别教师和学生的登陆。(2)新用户注册:要使用该系统的学生设定自己的用户名和密码,填入自己的姓名并留下联系信息。(3)学生作业提交、下载和查询成绩功能:学生可以多次下载、提交作业,提交后作业入库,并能在老师修改删除成绩之前查询以往作业的成绩。
24、(4)教师作业查询和下载、删除功能:老师可以统计已提交作业学生的人数,并下载批改学生提交的作业,再将过期作业删除。(5)教师作业布置和成绩上传功能:老师可以布置作业,提交已经批改过的成绩供学生查询。3系统数据库设计3.1 设计目的及原则数据库设计是数据库应用系统的核心部分,是指对一个指定的应用环境,构造最合适的数据库模式,建立数据库和它的应用系统,使它能够有效地存储数据,能够满足大多数用户的需求,其中包括对信息管理的需求和对数据操作的需求。数据库设计往往影响到系统的功能的质量。为用户和各种信息系统提供高的存取空间利用率和存取效率以及系统运行的环境就是数据库设计的目标。本系统的数据库设计就是为了
25、可以实现本文中论述过的各项功能并尽量使该系统更加合理、高效。数据库设计主要分6个阶段,如图3-1所示:物理结构设计系统实施运行与维护需求分析概念结构设计逻辑结构设计 总体信 需求说明 处息 理需 需求 信息结构 求 逻辑结构 理数据库结构 数据库实施 图3-1 数据库设计流程图其具体步骤为:(1)需求分析:这一步是数据库设计最耗时、耗力的,它是数据库设计的第一步。需求分析就是调查与分析设计的对象,本系统为普通学生与老师而设计,旨在帮助师生日常学习工作,需要对数据库用户学生和老师的数据需求和处理需求,进行全面的了解、收集和分析。(2)概念结构分析:概念结构的设计是整个数据库设计中的重中之重。该系
26、统的概念结构设计通过对学生和老师的需求进行综合并归纳,从而形成的概念模型独立于具体 DBMS,通常用E-R 图表示。(3)逻辑结构设计:在逻辑结构设计中,概念结构被转换为某个 DBMS支持的数据模型,同时对其进行优化。(4)物理结构设计:为了让逻辑数据的模型选取一个最优的物理结构的应用环境(包括存储结构和存取方法),需要对数据库物理结构进行设计。(5)系统实行:设计人员运用 DBMS 提供的数据语言在数据库的执行阶段根据逻辑设计和物理设计的结果从而建立数据库,对应用程序进行编制与调试,组织数据入库,并进行试运行。(6)运行和维护阶段:经过试运行后,数据库应用系统即可进入正式运行。在数据库系统运
27、行过程中必须对其不断地进行评价、调整和修改。3.2本系统数据表通过以上分析,本系统主要有两个角色:教师、学生,在数据库中对应有教师信息表、学生信息表;由于本系统的作业提交功能呢,所以在数据库中对应有:作业信息表、成绩信息表;为了方便学生和教师及时了解信息,所以本系统还有:留言板信息表、公共信息表。本系统后台数据库采用Access对数据库进行管理,并用ADO.NET对数据库进行访问。下面详细介绍各表。3.2.1 学生信息表学生基本信息表主要用于学生登录进入系统、教师用户管理查看学生信息等。学生基本信息表主要包括:学生编号、学生姓名、学生密码和学生联系方式等,具体如表3.1所示:表3.1 学生基本
28、信息表编号字段名字段解释数据类型长度允许空主键1U_idInt4否是2S_no学生编号nvarchar100否否3name学生姓名nvarchar100否否4pwd学生密码nvarchar100否否5email学生电邮nvarchar100否否6qqmsn联系方式nvarchar100否否7phone学生电话nvarchar100否否3.2.2 公告信息表公告信息表主要用于教师向学生传达重要信息。具体如表3.2所示。表3.2 公告信息表编号字段名字段解释数据类型长度允许空主键1G_idInt4否是2G_title公告题目nvarchar100否否3G_content公告内容nvarchar10
29、0否否4G_date公告日期nvarchar100否否3.2.3 留言板信息表留言板主要是用于学生向老师汇报作业情况,提出建议。具体如表3.3所示。表3.3 留言板信息表编号字段名字段解释数据类型长度允许空主键1L_idInt4否是2L_name留言人姓名nvarchar100否否3L_content留言内容nvarchar100否否4L_date留言日期nvarchar100否否5L_email留言电邮nvarchar100否否3.2.4 教师信息表 教师基本信息表主要用于教师登录进入系统,教师在这个系统中同时拥有管理员权限。它包含了教师用户名,编号和密码等信息。如表3.4所示:表3.4 教
30、师基本信息表编号字段名字段解释数据类型长度允许空主键1a_idInt4否是2Name教师姓名Nvarchar100是否3Pwd教师密码Nvarchar100否否3.2.5 作业信息表作业信息表主要用于学生查看自己作业成绩,具体如表3.5所示。表3.5作业信息表编号字段名字段解释数据类型长度允许空主键1W_idInt4否是2W_name作业名称nvarchar100否否3W_date作业日期nvarchar100否否4W_memo作业标题nvarchar100否否3.2.6 成绩信息表成绩信息表主要用于教师查看学生是否交了作业并查看打上成绩。具体如表3.6所示:表3.6 成绩信息表编号字段名字段
31、解释数据类型长度允许空主键1S_idInt4否是2W_idInt4否是3S_no学生编号nvarchar100否否4W_name作业名称nvarchar100否否5W_state上交状态nvarchar100否否6W_file作业文件nvarchar100否否7W_score作业成绩nvarchar100否否4系统主要功能模块设计本系统主要功能模块分为登录模块(包括学生登录和教师登录),用户注册模块,公告系统模块,留言板模块,作业提交模块,教师管理模块(包括作业管理,留言管理,公告管理,作业布置)。每个页面都带有权限验证,限制非法访问。4.1详细设计流程和系统实现步骤总体设计阶段完成软件的结构
32、设计,划分了模块,并规定了各模块的功能与其之间的联系。根据总体设计提供的文档,在这个的阶段中,确定每个模块算法的内容,内部的数据组织,选取表达正确的算法的工具,并编写详细设计规格、测试计划和用例。该阶段的主要任务为:(1)模块算法设计:确定各个模块的算法,选择一个合适的工具来表达算法的过程,并写出详细的模块描述过程。(2)模块内的数据结构设计:确定每一个模块使用的数据结构。模块中数据的设计:确定模块数据结构。(3)模块结构设计:确定模块结构的细节,包括系统的结构和用户界面以外的系统内的其他模块的结构,模块的输入数据,输出数据和局部数据的全部细节。(4)其他设计:根据系统的软件特性也可以对其设计
33、数据库、设计代码、设计输入/输出格式和人机界面。4.2系统特点(1)操作简便、用户界面友好:对页面的布局风格有很好的控制,使得数据录入工作更加轻松;许多选项只需点击鼠标就可以完成;此外,提示跟踪信息还允许用户清除自己的工作状况。(2)及时可见:主页上相应的数据处理能够实现即时发布,即时生效的功能。(3)完善功能:包括信息管理:数据的录入,浏览,删除,修改以及检索等各个方面,全面实现实时操作的管理要求。(4)方便移植:只需要稍作修改,对于不同的要求都能开发一个完整的作业提交管理系统。4.3用户验证模块每次进行页面跳转之后都会在页面的PageLoad事件中进行当前用户的权限进行验证,验证信息从Se
34、ssion中读取,验证时将用户名和密码作为SQL语句的参数传入SQL语句执行,根据从users表查询的返回结果来判断当前数据库中是否存在当前用户信息,若存在则继续载入页面,否则跳转至登录页重新登录。4.4用户管理模块用户管理模块功能:对于学生,教师进行设定。负责用户注册管理和登陆管理。用户登录模块:登录时系统首先从文本框中获取用户输入并且提示错误输入,然后将用户名和密码作为SQL语句的参数传入SQL语句执行,根据从users表查询的返回结果来判断当前数据库中是否存在当前用户信息,如果存在则系统跳转至当前用户的管理页面,同时将当前用户名和密码存为Session供用户验证模块使用,否则提示用户名或
35、密码错误。用户注册模块:用户注册时会搜集用户名,密码,学号,Email等个人信息,同时页面对于上面的信息进行简单校验,保证存入数据库的数据完整,同时判断注册的用户名和学号是否存在于当前数据库中,若不存在则在数据库users表中插入新用户,否则提示用户名已经被注册。登陆流程图如图4-1所示:结 束新用户注册输入用户信息用户名是否唯一用户信息库开 始始是否为新用户进入系统人系统是 否存 在教师学生选择角色择 角色YNN- N NYY 图4-1 登陆注册流程图教师登陆部分代码如下:protected void Button1_Click(object sender, EventArgs e) Com
36、monClass CC = new CommonClass(); if (this.TextBox1.Text.Trim() = | this.TextBox2.Text.Trim() = ) Response.Write(CC.MessageBox(用户名和密码不能为空!, Default.aspx); /Response.Write(alert(登录名和密码不能为空!);location=javascript:history.go(-1);); else /调用CommonClass类中的checkLogin方法,判断用户是否为合法用户 int IntUserIn = CC.adminLo
37、gin(this.TextBox1.Text.Trim(), this.TextBox2.Text.Trim(); if (IntUserIn 0) Sessionadmin = this.TextBox1.Text; Response.Redirect(AdminIndex.aspx);/51(aspx) else /该用户不是合法用户,调用CommonClass类中的MassageBox方法,弹出提示框 Response.Write(CC.MessageBox(您输入的用户名或密码错误,请重新输入!, default.aspx); 4.5学生功能模块学生功能模块包括了在系统上查看作业、下载
38、作业、上传作业、查看成绩。其中最重要的一块就是上传作业,按结构又能划分为作业提交模块又分为显示层,业务层和数据层。显示层负责处理菜单或按钮事件;业务层首先调用数据层的作业提交模块,然后根据显示层调用相关的信息处理程序,添加相关的数据和相关的信息;数据层主要处理系统设置的默认值,并生成主键。公告显示模块:页面载入时从gonggao表中按时间先后顺序查询出最近的5条公告信息显示在公告栏处,并且进行滚动显示。个人信息修改模块:当学生点击个人信息修改时,系统会跳转至个人信息修改页并进行身份认证,每次修改需要输入密码才能修改并且与user表中的密码进行对比,正确则继续更新数据库中信息,否则提示密码错误。
39、查看和下载作业:页面载入时系统从user,works,state表中进行一次连接查询,SQL语句如下“SELECT state.w_id,state.w_name, state.w_score,w_memo,w_date, w_state FROM works, state WHERE s_no= + no + and works.w_id=state.w_id”,其中学号和作业ID作为连接查询的依据,最后将查询结果绑定到数据源,在页面上进行分页显示。上传作业:作业提交的简单流程为:选择作业项目选择本地文件提交成功则同时更新数据库否则提交失败。系统首先通过一个文件对话框获取当前用户选择的文件,
40、文件类型限于RAR和ZIP文件,同时为了保证系统安全,不允许上传大于10MB的文件,获取到本地文件以后使用Upload控件进行文件上传到网站upfiles目录下,上传时为了防止文件重名,将文件名重命名为学生姓名+当前时间(精确到秒)+作业名称的方式。同时根据作业ID和学号更新数据库中的作业状态,改为已提交状态,并更新w_file属性为新文件名供下载使用。其流程图如图4-2所示:保存至服务器磁盘作业信息保存至数据库开 始进入系统选择作业成功结 束 NY 图4-2 作业提交流程图作业提交部分主要代码段如下: string name = this.getName(); int id = int.Pa
41、rse(Request.QueryStringid.ToString(); int no = int.Parse(Sessionuser.ToString(); string filepath = FileUpload1.PostedFile.FileName; string filename = filepath.Substring(filepath.LastIndexOf() + 1);/取得文件名 string fileType = filepath.Substring(filepath.LastIndexOf(.) + 1);/取得文件类型 if (FileUpload1.Posted
42、File.ContentLength != 0) if (fileType = rar | fileType = zip) /设置上传文件类型 if (FileUpload1.PostedFile.ContentLength 10240000) string fileName = name + _ + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString