




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于B/S的作业管理系统的设计与实现1 绪论1.1选题的背景和意义随着计算机互联网的迅猛发展和计算机技术的推广,网上交流得到了前所未有的支持和发展并日趋成为日常交流的必备手段。现代教育被赋予了新的内涵,网上交流学习成为可能。多媒体教学等现代教学手段也日渐运用到日常教学中,使得传统的作业管理发生了天翻地覆的变化。校园的日常教学多以电子文档为主,日常作业提交也逐渐呈现以电子文件的方式,由此,传统的纸质作业管理方式已不能适应日常教学需求了。但目前对电子文档资源还缺乏有效的管理,甚至没有一套适用的管理系统,从而在日常的教学中造成了很多不便,从而造成了资源的无形流失和浪费。为解决上述问题,作业管理系统的创建显得必要而且迫切。另外,随着计算机技术的普及和计算机网络的发展,日常教学对计算机的使用越来越广泛,电子文档的使用也将得到广泛的使用,这又为作业管理系统提供了更广阔的使用基础和发展空间。目前的学校日常教学中,对作业的管理极大程度上仍然是以纸质文件为主,即使以使用电子文件较多的各大学校园,对电子文件、电子版作业也缺乏有效的管理。目前软件市场上流行的拥有类似功能的系统多以网上教学管理系统为主,多用于开发网上课程,网上授课等任务,对电子作业的管理缺乏与之配套的管理系统。另外,许多高校虽然也逐渐开发适合自己的教学管理系统,但设计任务多是为方便日常的教学任务管理,记录学生教师的信息及教学安排等。并未过多涉及到对电子作业的统一组织和管理。目前,正是网络教育的飞速发展时期,越来越多的大学都开设有自己的远程教育系统。现在国际上最有影响的TopClass、Lotus公司的LearningSpace、英属哥伦比亚大学计算机科学系开发的WebCT (Web Course Tools )、加拿大Simon Fraser大学的Virtual-U都在全球发展了一定的用户群,每种软件都至少有10所大学或公司在使用,各开设了上百门课程,授课学生人数均超过5000人次。其中一些产品已进入中国市场,如中国有四所大学在使用Lotus公司的LearningSpace。尽管网络教育已经飞速发展,但是对作业管理方面似乎仍旧没有引起足够的重视,因此,网上作业管理系统逐渐显得重要且必须。可以预见,在网络教育飞速发展的环境下,作业管理系统的前景是广阔的。271.2 所作的主要工作本文主要运用软件工程的思想对作业管理系统进行需求分析、设计,利用ASP.NET动态网页网页设计技术和MS SQL Server 2000数据库系统对作业管理系统进行设计,并设计实现了系统的关键模块。本系统的设计任务是完成校园内任课教师和在校学生日常教学的作业管理,为日常教学的作业从发布、作业提交和成绩查询提供统一的网络服务平台。使得日常的电子作业管理的进行可以多用户、跨地域、不分时间段有效的进行。本系统的设计目的旨在通过对电子作业的有效管理,协助日常教学,提高教学质量和效率,促进教育事业的发展。本系统采用B/S三层结构,开发平台为Visual studio 2003,页面设计采用ASP.NET,开发语言为C#,后台数据库则采用SQL Server 2000。2 系统所涉及到的技术2.1 ASP.NET简述ASP.NET是Microsoft推出的新一代脚本语言,是.NET的一部分。ASP.NET吸收了ASP以前版本的最大优点并参照Java、VB语言的开发优势加入了许多新的特色,同时也修正了以前的ASP版本的运行错误。 ASP.NET是.NET开发平台的一个部件,用来开发驻留在微软的IntenretInformationS erver(IIS)上并且使用诸如HTTP和SOAP等Intenret协议的Web应用程序。ASP.NET使两种类型的Web应用程序的开发和部署更为容易。Web表单应用程序,包括用于动态内容的从脚本生成的Web页和向一个客户(例如浏览器)显示UI或表单的Web页两种。Web Services.用于显示其他应用程序和“智能”客户端的功能,使应用程序可以交换信息。两种We b应用程序体现了超出传统应用程序的一个主要的优点:它们使用基于Internet的协议使信息可以轻易地穿过组织边界(和防火墙)移动,如同在一个组织内移动一样1。ASP.NET目前能支持3种与语言,C#、Visual Basic.NET和Jscript.NET。 C#是微软公司专门为.NET量身定做的编程语言,它与.NET有着密不可分的关系。C#的类型就是.NET框架所提供的类型,C#没有类库,使用.NET框架所提供的类库。另外,类型安全检查、结构化异常处理也都是交给CLR处理的。因此,C#是最适合开发.NET应用的编程语言。 Visual Basic.NET加入了过去只有使用C+语言才能实现的某些系统资源的访问能力,并且完全支持面向对象技术。 Jscript.NET是在现有的Jscript语言基础上做了彻底的修改,加入了面向对象特性。ASP.NET在三个领域提供了超越ASP的改进: 事件驱动编程模型,更好的状态管理模式以及继承于.NET开发平台的优点。2.2 C#语言简述C#是由Microsoft公司开发的一种新型程序设计语言。由于它是从C和C+中派生出来的,因此具有C+的功能。同时,它又像Visual Basic一样简单。C#代表着程序设计语言演变的一个新阶段,它继承了C+和Java这两种世界上最重要的计算机语言的优点,并且还增加了指代、索引等创新性特点:同时,C#语言利用了.NET作为其强大的平台,使得它在Windows图形用户界面、ASP.NETW eb应用、XMLW ebS ervice及ADO.NE T数据库等方面有广泛的应用。2其主要特点如下:1.与Web的紧密结合C#程序能方便与Web程序进行集成。利用ASP.NET的强大功能,C#能与Web标准,如HTML和XML相结合。C#还能方便地开发Web服务。紧密地结合SOAP (Simple Object AccessProtocol),使得C#开发大规模深层次的分布式应用成为可能。2.安全稳定C#特有的机制是其安全性的保障,同时它去除了C+中易造成错误的指针,增加了自动内存管理等措施,保证了C#程序运行的可靠性。内存管理中的垃圾收集机制减轻了开发人员对内存管理的负担,.NET平台提供的垃圾收集器(Garbage C ollection,GC)将负责资源的释放与对象撤销时的内存清理工作。同时,变量的初始化、类型检查、溢出检查等功能也充分保证了C#程序的安全稳定。3.具有丰富的类库C材提供了大量的类,以满足网络化、多线程、面向对象系统的需要。1)能用相应的类来实现从低级网络操作到高层网络应用。2)语言包,提供的支持包括字符串处理、多线程处理、异常处理、数学函数处理等,可以用它简单地实现程序的运行平台。3实用程序包,提供的支持包括哈希表、堆栈、可变数组、时间和日期等。4)输入输出包,用统一的“流”模型来实现所有格式的输入与输出,包括文件系统、网络、输入与输出设备等。5)图形用户界面的功能强大,不仅能实现Windows窗口应用程序,而且可以实现Web窗体应用。4,灵活性和兼容性在简化C+语法的同时,C#并没有推动灵活性。C#允许与C风格的需要传递指针型参数的应用程序接口进行交互操作,动态链接库的任何入口点都可以在程序中进行访问。C#遵守.NET的CLS,从而保证了C#组件与其他语言(如Visual Basic Visual C+,Jscript,J#等)的组件间的互操作性。5.支持多线程C#中定义了一些用于建立、管理多线程的类和方法,使得开发具有多线程功能的程序变得简单、容易和有效。2.3 ADO.NET简述ADO.NET是Microsoft在.NET中对数据存取问题的解决方案,也是.NET开发平台的核心服务之一3。ADO.NET是.NET框架中的一套类,它为.NET开发人员提供了数据访问服务,用以创建分布式的数据共享应用程序,为SQLServer、OLEDB和XML数据源等各种类型数据提供了一致的数据访问。数据共享客户应用程序可以使用ADO.NET,连接这些数据源、操作数据。ADO.NET借用XML提供对数据的断开式访问。ADO.NET和.NETFramework中的XML类集中于DataSet对象。无论DataSet是文件还是XML流,它都可以使用来自XML源的数据来进行填充。无论DataSet中数据的数据源是什么,DataSet都可以写为符合W3C的XML并将其架构包含为XML定义语言架构。由于DataSet固有的序列化格式为XML,它是在层间移动数据的优良媒介,这使DataSet成为以远程方式向XML Web Services发送数据和接收数据以及架构上下文的最佳选择。其结构如下:图1 ADO.NET的结构应用ADO.NET组件技术访问数据库数据并将数据显示在Web页面上的典型方法如下4:/调用Web.config文件中的数据库连接字创建连接SglConnection myConnection=SglConnection(ConfigurationSettings.AppSetingsConnectionString)/打开链接MyConnection.Open();/创建SglCommand对象,调用你为访问数据库而创建的存储过程/,执行数据访问命令SglCommandmyCommand=new SglCommand(“seletc * from student”,myConnection)MyConnetion.ExtecuteQuery();/关闭链接myConnection.Close(); 2.4 UML简述UML是面向对象领域中运用最广的建模语言,包括许多开发方法以及其相应的表示机制。UML主要以Booch方法,OMT方法和OOSE方法为基础,同时吸收其他面向对象的建模方法的优点,形成了一种概念清晰、表达能力丰富、适用范围广泛的面向对象的标准建模语言5。UML通过图形话的标示机制从多个侧面对系统的分析和设计模型进行刻画,它共定义了始终视图,共分为四类:1.用例图(use case diagram)。从外部用户的角度描述系统的功能,并指出功能的执行者。2.静态图。包括类图(class diagram)、对象图(object daigram)和包图(package diagrm)。类图描述系统的静态结构,类图的节点表示系统中的类及其属性和操作,类图的边表示类之间的关系,包括继承、关联、依赖、聚合等。对象图是类图的一个实例,它描述在某种状态下或者某个时间段,系统中活跃的对象及其关系。包图描述系统的分解结构,它表示包以及包之间的关系。3.行为图。它包括交互图(interactive diagram)、状态图(statechart diagram)与活动图(activity diagram)。它们从不通的侧面来刻画系统的动态行为。交互图描述对象之间的消息传递,又可以分为顺序图(sequence diagram)与合作图(collaboration diagram)两种形式。顺序图强调对象之间消息发送的时间顺序。合作图更强调对象之间的动态协作关系。状态图类的对象的动态行为,它包含对象所有可能存在的状态、在每个状态下可能存在的响应事件,以及响应事件发生时的状态迁移与响应响应动作。活动图中包含控制流和信息流。控制流表示操作完成后对其后续操作的触发,信息流则刻画操作之间的信息交换。4.实现图(implementation diagram)。包括构件图(component diagram)与部署图(deployment diagram)。它描述软件实现系统的的组成和分布情况。构件图描述软件实现系统中个组成部件及它们之间的依赖关系。构件图主要用于理解和分析软件各部分之间的相互影响程度。部署图描述作为软件系统运行环境的硬件及网络的无力体系结构。其节电表示实际的计算机和设备,便表示节点之间的物理连接关系,也可显示连接的类型即节点之间的对应关系。本文将主要运用系统用例图和系统活动图对系统进行分析设计。3 作业管理系统分析3.1系统功能需求在对系统进行功能需求分析之前,需要明白系统的使用场合和使用人群。本系统是为解决学校电子作业管理的基于Web的应用软件,系统用户为参与教学的教师和学生。为了系统维护的易于进行,系统还应设置管理员用户,并用于专门对系统进行日常维护和对教师学生用户提供服务。系统用户确定之后,系统功能需求则表现为具体的用户需求。通过对系统用户的具体需求进行分类整理发现,用户对系统的使用主要集中在对数据库的操作上,分别为查询、修改、增加和删除这些基本操作。教师用户在系统上进行的操作为发布作业、查询成绩和评阅学生完成的作业;学生用户的操作为查询作业、提交作业和成绩查询;系统管理员则可以对整个系统进行查询和更新操作,其权限也高于学生用户和教师用户。另外,所有用户都必须以相同的方式即用户帐户和用户密码的方式登陆系统。为实现以上的设计任务,系统粗要实现如下功能:1.系统为各类用户提供统一的登陆界面,用户通过各自的账号和密码登陆系统;2.各类用户登陆成功后进入各自的模块内,行驶各自权限内的操作。3.系统管理员录入学校所开课程,所有学生信息,教师信息以及教师开课信息,学生所选课程信息,对数据库增删的权限。4.教师用户有上传和修改自己所开课程的作业的权限,一但上传成功就不能删除,没有增加和删除自己所开课程的权限。5教师用户有评阅自己所开课程学生作业的权限,为学生完成作业情况记录成绩。 6.教师用户拥有对自己所开课程和选修本门课程学生的信息查询功能。7.学生用户拥有查询和下载所选课程作业的权限,并能查询自己所有已完成的作业。8.学生用户拥有查询自己所选课程作业成绩的权限。9.学生用户拥有上传已完成的作业的权限。10.学生用户可在自己的备忘录中设置修改近期安排备忘录。3.2系统模块分析分析所得,本系统总共涉及三类用户,分别是教师、学生和管理员。其中,教师的主要操作为布置作业,批改作业和查询成绩;学生的主要操作为查询作业、提交作业和本人成绩查询;管理员的任务和职责是维护数据,包括为每一个教师和学生创建、修改和删除帐户的基本信息,保持数据的实时准确。以下分别对教师模块、管理员模块、学生模块和整体模块进行分析设计。3.2.1整体模块由于系统所对应的用户有三类,应将系统分为三个模块,并为每个用户模块分别设计其相对应的用户模块。每个功能模块只与其父模块有关联,与其他的等级模块没有联系。使得各功能模块有较好的独立性,为系统安全和条理性提供了保障。系统整体结构图如下:图2 系统总体框架3.2.2学生模块学生模块需要实现学生的操作,需要包括如下功能模块:我的作业本,我的备忘录,所有作业,我的记事本,我的成绩和我的日历。我的作业本模块实现作业的提交功能,学生用户可在此模块内实现作业的提交功能。我的备忘录模块的功能是查看作业,学生可以在我的备忘录中查询到需要完成的作业,查询到有新添加的作业后,可以下载完成。我的记事本和我的日历,是两个个相互关联的模块。每一个学生用户都拥有一个记事本,在这个记事本中,学生可以记下日程安排,写备忘录等任何事情。进入我的日历,点击日期可以看到当日在记事本记下的事情以及具体的发布时间。学生模块如图3:图3 学生模块结构3.2.3教师模块教师模块内应包括教师用户的所有操作,包括作业发布、作业批改、成绩查询。作业发布模块,教师用户在此模块下,选择任教科目,输入作业题目和作业要求即可完成作业的一次发布,也可以将作业以附件的方式发布。作业批改模块,进入作业批改模块后,所有提交的作业显示学号、姓名、附件、提交时间等基本信息,选择未批改的作业,作业自动展开,可进行批改和成绩录入。成绩查询模块,教师可以在此模块下查询任教科目和班级下的学生成绩,每条信息代表一个学生,显示信息包括学号,姓名,题目和成绩。图4 教师模块结构3.2.4管理员模块管理员模块是为了对系统进行维护所添加的必要模块,管理员在此模块下可以进行系统的维护,包括对所有教师、课程和学生的基本信息的维护。管理员的权限有修改课程,增删修改教师学生基本信息,查询成绩。修改课程是一个必须的功能,管理员可以在系模块下实现课程的修改和增删,以满足现实的需要。课程的修改牵涉到教师和学生用户信息的修改。修改用户模块是专门针对非管理员用户信息的修改和增删操作的功能模块,学校或者班级之间的学生流动,就必然涉及到此功能的使用。图5 管理员模块结构3.3系统UML建模分析本节将利用UML建模方法,基于软件工程思想,对系统角色和用例进行分析设计。主要运用系统用例图和系统活动图。3.3.1 系统用例分析在系统模块划分完成之后,采用UML对系统用例进行分析。从外部用户的视角看,一个用例是执行者与目标软件系统之间的一次典型的交互作用。从软件系统内部的视角出发,一个用例代表系统执行的一系列动作,动作执行的结果能够被外部执行者所察觉。对用例的完整描述,包括用例名称、参与执行者、前置条件、一个主事件流、零到多个辅时间流和后置条件。主事件流表示正常情况下执行者与系统之间的信息交互动作及动作序列。显示地分隔主辅事件流是为了使得分析首先聚焦于正常的业务处理流程,同时也利于用例的执行者理解业务需求。管理员用户作为系统的首个执行者,在系统中所起的作用是辅助的,但却是必须的。在系统运行之初,系统需要录入在校的所有教师用户、学生用户和开课情况。否则,系统的其他主要用户将无法使用该系统,在系统运行的过程中,管理员需要对学校的人员流动进行实时更新,对开课情况的变得进行实时调整,以保证用户信息的正确。管理员用例图如下:图6 管理员用例图学生用户是系统面对的最主要使用者。学生用户在日常教学过程中对系统的使用频率最高。这里的参与执行者就是学生用户,主事件流已经被细分到基本操作,为便于对系统功能的理解和系统的业务需求,这里省略了主事件流和后置条件。学生用例图如下:图7 学生用例图在学生用户提交作业之前,需要教师用户上传作业需求。学生用户在成绩查询之前,也得由教师批改作业,录入成绩。整个系统的运行过程中,教师学生交互的完成整个作业的流程。这里的参与执行者为教师用户,前置条件是教师用户必须是有效的用户,也就是系统中存在这样的一个用户信息,这里省略了前置条件。同样的,教师用户的主事件流也分拆细化到基本事件,包括上传作业、批改作业和成绩查询。教师用例图如下:图8 教师用例图3.3.2 系统活动分析在设计完成系统用例之后,按照由静态到动态的原则和顺序,以下采用UML对根据系统用例进行系统活动图的设计,系统活动图与用例图的不同点在于:系统用例图主要是说明执行者可执行的动作,以及动作执行的前置条件和后置条件。是一个静态的概念。而系统活动图则是以用户为中心,按照用户可能执行的操作顺序,说明用户的操作流程,是一个动态的概念。教师用户对系统的使用有一定的流程。首先,教师用户需要输入用户名和用户密码登陆系统。登陆成功后,教师用户可进行查询修改工作。根据对系统的需求分析,查询学生成绩、批改作业、上传作业为同步操作。用户完成同步操作以后,回到功能选则节点进行其他同步操作。图9 教师活动图学生进入系统也需要登陆,带系统确认帐户密码正确后才被许可进入,进行访问。登陆成功后,可进行的是一系列的同步进程,这包括所有学生用户的可执行操作,如查询作业、提交作业、查询成绩、查询备忘录等。所有的同步进程都不是一次操作必须的,在一次访问系统过程中,可选的操作不被确定,用户可以在一个同步进程完成之后急需进行下一个同步进程,直到完成预期的操作,退出系统。图10 学生活动图在管理员用户的活动图中,参与执行者就是系统管理员,前置条件同样是管理员必须是系统所记录的有效用户,并且以正确的用户帐户和密码登陆,否则不被系统允许进入。在管理员取得进入的许可后,执行者的主事件流就是所有权限内的操作。这里同样将主事件流划分为详细的基本操作。为把握设计的主要方向,辅事件流省略。图11 管理员活动图4 系统设计实现4.1系统数据库设计本文在系统分析的基础上,对系统的规模和总体目标有了客观的估计,明确了设计任务和步骤。数据库设计是一个有序工作流程,它包括需求分析、概念设计、逻辑设计和物理设计三个阶段。在需求分析已经基本明确的前提下,本小结将主要从概念设计和逻辑设计阶段对数据库进行分设计。4.1.1数据库概念设计本系统的数据库概念设计主要用关系实体模型,即ER模型。利用ER方法进行概念设计,可分为三步进行:首先设计局部ER模式;然后把局部ER模式综合成一个全局ER模式;最后对全局ER模式进行细化,得到最终的ER模式,即概念模式。以下将按照这样的步骤进行。实体的划分方式有两种,一种是按系统的当前用户进行划分。另一种是按用户要求数据库提供的服务归纳成几类,是每一类应用访问的数据显地不通于其他类,然后为每类应用设计一个局部的ER模式。本文按用户划分设计局部ER模式。以下分别进行局部ER模式设计6。学生实体,系统对学生用户的基本记录信息包括姓名、性别、登陆账号和密码、年级五个信息。对于其他的信息,譬如作业信息,选课信息等在后期建表的时候根据各个实体之间的关联关系得到。学生实体及其属性如下图:图12学生实体教师实体,对教师用户的所有信息进行归纳总结,发现有的并不是基本信息,而是随着系统的运行在动态地改变。遵从数据库设计的基本原则,并不将其添加到教师实体属性中,教师属性依然是简洁而的相对保持稳定不变的姓名、性别、帐户和密码。教师实体及其属性如下图:图13 教师实体管理员实体其属性最少,在系统中不必被经常访问,其他用户对系统的使用过程中对管理员是不可见的。管理员实体及其属性如下图:图14管理员实体数据库局部ER模式设计就绪,全局的ER模式就是把他们综合成单一的ER模式。全局ER模式不仅要支持所有局部ER模式,而且必须合理的表示一个完整、一致的数据库概念结构。全局ER模式设计过程,包括确定公共实体类型;局部ER模式的合并;消除冲突三个步骤。根据系统模块和用户对象组成以及可能存储的数据,由于系统需要存储作业要求和已经完成的作业档案,因此,添加公共实体待完成作业实体和已完成作业,而所有的作业都是以科目分类的,因此添加课程实体用以记录学校所开课程。实体合并,消除冲突后,全局ER模式表示如下:图15 系统E-R图4.1.2 数据库逻辑设计数据库概念设计是得到一个与DBMS无关的概念模式。而逻辑设计的目的是把概念设计阶段设计好的全局概念模式转换成与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑结构。这些模式在功能上、完整性和一致性约束及数据库的可扩展性等方面均应满足用户的需求。对全局ER模式到二维关系表的转化进行分析。得到八个系统基本表,其中表student、teacher、administrator分别记录三类用户信息,表course为所有课程信息,表coruseSelect记录学生的选课信息,表grade记录所有年级,表homeworke为教师布置的作业信息,workeBook为学生历次作业信息。现对一些基本表作分析如下:student表记录所有学生的基本信息,包括学号(SId),登录密码(SPwd),姓名(SName),性别(SSex),和年级(GId)。每个学生都以学号为自己身份的惟一标识,因此将其设置为主键。表中的年级(GId)为年级表的主键。名称别名取值可否为空学生姓名SnameVarchar长度50学生账号SIdVarchar长度50NotNULL学生性别SSexVarchar长度50登陆密码SPwd Varchar长度50NotNULL年级GIdVarchar长度50表1 Student基本表teacher表记录所有在职教师的基本信息,包括教师号(TId),教师姓名(Tname),登陆密码(TPwd)。同样将教师号(Tid)设置为表的主键。名称别名取值可否为空教师姓名TNameVarchar长度50教师账号TIdVarchar长度50NotNULL教师性别TSexVarchar长度50登陆密码TPwd Varchar长度50NotNULL表2 teacher表admimistrater表为系统管理员信息表,系统管理员拥有教师学生用户没有的系统权限,特将其独立出来,建立一张基本表。表中只记录管理员账号(Aid),密码(APwd)和姓名(AName)。名称别名取值可否为空管理员姓名ANameVarchar长度50管理员账号AIdVarchar长度50NotNULL登陆密码APwd Varchar长度50NotNULL表3 administrator表course表,用于记录所有课程信息,并且关联所开课程的教师。表中信息包括,课程编号(CId),课程名(CName),开课教师(TId)。设置课程编号为主键。开课教师编号为外键,用于关联开课教师信息。名称别名取值可否为空课程编号CIdVarchar长度50NotNULL课程名称CnameVarchar长度50教师编号TIdVarchar长度50NotNULL表4 course表couseSelect表,记录学生选课信息,选课编号(SCId)表示表中每条记录的唯一编号,故设置为主键,课程编号(CId)与学生编号(SId)组成一条选课记录,表示某个学生选择了某一门课程。名称别名取值可否为空选课编号CSIdVarchar长度50NotNULL课程编号CIdVarchar长度50NotNULL教师编号TIdVarchar长度50NotNULL表5 couseSelecthomeWork表,记录教师布置的每一次作业,一项作业必须指明作业名(HName),课程名(CId),所在年级(GId),作业需求(HReq),作业附件(HAnnex)。作业编号(HId)和作业布置世间(HDate)由系统产生。仍旧将作业编号作为主键。名称别名取值可否为空作业编号HIdVarchar长度50NotNULL作业名称HNameVarchar长度50作业需求HReqVarchar长度50布置时间HDateDatetime长度8年级GIdVarchar长度50NotNULL课程编号CIdVarchar长度50NotNULL表6 homeWorkworkBook表,记录所有学生的所有已提交作业,每条记录包括已完成作业编号(WId),完成时间(WDate),作业分数(HGrade),外键(SId)关联作业隶属的学生,(HId)关联布置作业的信息。名称别名取值可否为空完成作业编号WIdVarchar长度50NotNULL提交时间WDateDatetime长度8提交学生SIdVarchar长度50作业附件HAnnexVarchar长度50作业成绩HGradeFloat长度8作业编号HIdVarchar长度50NotNULL表7 workBookgrade表,记录学校所有年级的信息。一条记录包括年级编号(GId)和年级名称。其中年级编号为主键。名称别名取值可否为空年级编号GIdVarchar长度50NotNULL年级名称GNameVarchar长度50表8 grade4.1.3 数据库物理设计对于给定的基本数据模型选择一个合适的应用环境的物理结构的过程,称为物理设计。在关系模型系统中,文件形式是单记录类型文件,仅包含索引机制、空间大小、款的大小等内容。7根据设计数据库的ER图,编制合理的基本表。每一个实体单独设计成一个基本表,每一个一对一的关联关系也单独设计成一个基本表,一个一对多的关联关系可以转换成一个基本表8。每个学生对应一个年级,因此年级号在学生表中作为外键存在。每个学生可以选择多门课程,每门课程可供多名学生选择,因此选课表(couseSelect)与学生表(student)和课程表(course)的关联关系为学生编号(SId)和课程编号(CId)在选课表(couseSelect)表中以外键存在。每门课程对应一个开课教师,课程表(course)与教师信息表之间的关联关系为一对一,教师编号(TId)在其中以外键存在。作业表(homeWork)记录教师布置的每一次作业信息,需要关联课程表( course)和年级表(grade),课程编号(CId) 和年级编号(GId)在其中以外键存在。完成作业表(workeBook)表记录学生完成的每一次作业,需要关联作业信息表(homeWork)和年纪表(GId)以记录完成作业的学生信息和教师布置的作业任务信息,因此年级编号(GId)和作业信息号(HId)以外键存在。各表间的关联信息如下:图16 表间关联信息这样,一个完整的数据库设计就绪。系统的后期实现则是将前端页面与设计好的数据库关联,从而得到一个完整的作业管理系统。4.2系统部分模块的实现系统需要有统一的登陆界面。页面的元素包括一个下拉列表框,两个文本框,两个按钮,下拉列表框用于选择用户类型,不同的用户通过下拉列表框选择自己的具体类型,然后在文本框中输入帐户和密码登陆,点击登陆,系统将检查用户帐户和密码是否合法,对于不正确的用户输入,系统会自动提示用户名和密码错误。用户登陆确认后,将提示登陆成功。点击跳转按钮,系统将自动跳转到用户类型的操作页面,这个操作页面是专属与确定用户类型的页面,不通的用户类型,将会跳转页到不同的页面9。用户登陆页面代码和登陆界面如图4.5所示:using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;namespace WorkManagement/ / login 的摘要说明。/ public class login_s : System.Web.UI.Pageprotected System.Web.UI.WebControls.Label ltitle;private void Page_Load(object sender, System.EventArgs e)/ 在此处放置用户代码以初始化页面ltitle.Text = Sessionuser_id.ToString();#region Web Form Designer generated codeoverride protected void OnInit(EventArgs e)/ ASP.NET Web 窗体设计器必需的调用InitializeComponent();base.OnInit(e);/ / 设计器支持所需的方法 - 不要使用代码编辑器修改/ 此方法的内容。/ private void InitializeComponent()this.Load += new System.EventHandler(this.Page_Load);#endregion图17 用户登陆界面4.2.1学生模块页面设计对于学生用户,当系统确认登陆成功后,点击跳转,系统将自动跳转到学生用户专属界面。学生用户可以在这个页面下选择系统提供的所有的功能或者操作。当选择具体的操作后,系统将显示具体功能的操作页面,用户在页面的指导下完成操作。以下介绍几个学生模块的操作界面,图18为“我的作业本”页面,学生用户可在此页面下完成作业和提交作业。具体流程是,首先选择课程名称并且在文本框中输入该课程下的未完成作业,作业正文可以在页面的文本编辑框中完成,也可以以附件的方式上传到系统。完成作业的编辑工作后,点击提交,系统将存储此次作业。在编辑的过程中,如果需要放弃编写,点击“重置”按键,将清空所有已经编辑的作业。“我的作业本”运行页面如下图:namespace WorkManagement/ / workBook的摘要说明。/ public class workBook.Web.UI.Pageprotected System.Web.UI.WebControls.TextBox txtContent;protected System.Web.UI.WebControls.ImageButton imagesubmit;protected System.Web.UI.WebControls.ImageButton imageRedo;protected System.Web.UI.HtmlControls.HtmlInputFile UploadFile;protected System.Web.UI.WebControls.TextBox txtTitle;protected System.Web.UI.HtmlControls.HtmlInputFile PostedFile;private string folderpath;protected System.Web.UI.WebControls.DropDownList ddlCourse;private MyService serve = new MyService();private void Page_Load(object sender, System.EventArgs e)/ 在此处放置用户代码以初始化页面folderpath = Request.ParamsFolder;if(folderpath = null | folderpath = /)folderpath = Request.ApplicationPath.ToString()+/zuoye/student/+Sessionuser_id.ToString();else if(folderpath.EndsWith(/)folderpath = folderpath.Substring(0,folderpath.Length-1);/作业提交按钮单击事件代码private void submit_Click(object sender, System.Web.UI.ImageClickEventArgs e)if(txtContent.Text.Length 0) string strSql = insert into table_zuoye (user_id,course,title,content,pub_date,score,is_checked) values (+Sessionuser_id.ToString()+,+ddlCourse.SelectedItem.Text+,+txtTitle.Text.Trim()+,+txtContent.Text.Trim()+,+DateTime.Now+,0,否);serve.InsertInfo(strSql);图18 学生作业本页面图19为学生用户“我的记事本”页面,学生用户登陆成功在跳转到学生页面后,可以选择记事本功能,编辑保存文本文件,这些文本文件包括课堂笔记,学习心得或者是其他的文件。编辑完成之后,点击提交,文件将被保存到系统中。关于对记事本的查询,这里放在“我的日历”页面当中,用户在“我的日历”页面下,选择具体的日期,系统将会在文本框中显示当天上传的文本。这里的文本是以只读方式显示的。图19我的记事本在“我的日历”页面下,用户可以查看近期的安排。查询方法与查询“我的记事本”方法相同,只需点击具体的日期,系统将显示当日已经记录的安排。并以制度文本的方式在日历下方显示。页面主要代码和运行情况如下: namespace WorkManagement/ / Canlendar 的摘要说明/ public class MyCanlendar: System.Web.UI.Pageprotected System.Web.UI.WebControls.Panel Panel1;protected System.Web.UI.WebControls.DataGrid dg_business;protected System.Web.UI.WebControls.Calendar Calendar1; /日期选择事件代码public void Calendar1_SelectionChanged(object sender, System.EventArgs e)DateTime select_date = Calendar1.SelectedDate.Date; string user_id = Sessionuser_id.ToString();MyService serve = new MyService();string strSql = select * from jishiben where user_id = +user_id+ and pub_date = +select_date+; dg_business.DataSource = serve.GetInfo(strSql).Tables0.DefaultView;dg_business.DataBind(); 图20我的日历4.2.2教师模块页面设计与学生用户界面一致,教师用户登陆成功后跳转到教师操作页面,在此页面下完成教师的操作:上传作业,批改作业和查询学生成绩。所有的操作都显示在页面上,用户只需要点击按键,就可以进行对应的操作。教师上传作业的操作页面中页面元素为三个功能选择按键,一个文本框,一个下拉列表框,一个文本编辑区和一个提交按钮和重置按钮。下拉列表框用于选择欲上传作业的课程名称。文本框内输入本次作业的名称,文本编辑区为作业正文,如另有参考资料或者作业附件,可以以祖业附件的方式上传。作业布置完成,点击提交,上传到系统,点击重置,将重新开始上传作业。基于类似的原理,这里略去批改作业的页面和成绩查询页面。下面是页面主要代码和运行情况:namespace WorkManagement/ / fabu 的摘要说明。/ public class fabu : System.Web.UI.Pageprotected System.Web.UI.WebControls.TextBox txtCourse;protected System.Web.UI.WebControls.TextBox txtTitle;protected System.Web.UI.WebControls.TextBox txtContent;protected System.Web.UI.WebControls.ImageButton imagesubmit;protected System.Web.UI.WebControls.ImageButton imageRedo;protected System.Web.UI.HtmlControls.HtmlInputFile UploadFile;private string folderpath;private MyService serve = new MyService();
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年自考专业(人力资源管理)考前冲刺练习题附参考答案详解(典型题)
- 2025年期货从业资格之《期货法律法规》题库高频难、易错点100题模拟试题及参考答案详解【新】
- 2025年护士资格证每日一练试卷(达标题)附答案详解
- 驾驶机小车考试题及答案
- 嘉禾班考试题目及答案
- 2025年云南省香格里拉市中考数学试题及1套完整答案详解
- 农发行六安市舒城县2025秋招笔试英文行测高频题含答案
- 农村旅游与农业产业升级
- 工作技能与专业能力
- 光子晶体制度
- 浙江省荣军医院康复中心现代多学科综合康复建设规划方案书
- 济宁市“技能状元”职业技能竞赛-全市煤化工行业技能大赛化学检验工参考题库
- 邢台城市介绍课件
- 怎样写好硬笔字-硬笔书法教程课件 4-1 硬笔隶书笔画技法
- 旅行社旅游突发公共事件应急预案
- 统编版中考语文一轮复习:义务教育语文课程常用字表(3500字注音版)(2022版课标)
- 建筑工程技术专业《房屋建筑学》课程标准
- 人教版部编版统编版一年级语文上册汉语拼音5《gkh》课件
- DL-T1083-2019火力发电厂分散控制系统技术条件
- 《2024年北京市医疗服务收费目录》
- 意外险医疗险重疾险
评论
0/150
提交评论