首页 范例(面向对象)1

范例(面向对象)1

举报
开通vip

范例(面向对象)1中文题目:基于Struts框架的在线教育平台 副 标 题: 外文题目:E-LEARNING PLATFORM BASED ON STRUTS FRAMEWORK 毕业设计(论文)共82页(其中:外文文献及译文16页) 图纸共0页 完成日期 2006年6月 答辩日期 2006年6月 摘要 随着计算机技术和网络技术的发展,在线教育平台为校园网的数字化提供了技术支持。它能够有效地将信息技术融入教学的环境当中,从而推动的传统教育的改革。 Struts是Apache软件组织提供的一项开放源代码项目,它为Jav...

范例(面向对象)1
中文题目:基于Struts框架的在线教育平台 副 标 题: 外文题目:E-LEARNING PLATFORM BASED ON STRUTS FRAMEWORK 毕业设计(论文)共82页(其中:外文文献及译文16页) 图纸共0页 完成日期 2006年6月 答辩日期 2006年6月 摘要 随着计算机技术和网络技术的发展,在线教育平台为校园网的数字化提供了技术支持。它能够有效地将信息技术融入教学的环境当中,从而推动的传统教育的改革。 Struts是Apache软件组织提供的一项开放源代码项目,它为Java Web的开发提供了模型-视图-控制器(Model-View-Controller, MVC)框架,尤其适用于开发大型可扩展的Web应用,并且为其提供了一个通用的框架,使得开发人员可以把精力集中在如何解决实际业务问题上,比较适合大型团队开发。 UML(Unified Modeling Language)是一种可视化的建模语言,功能强大,易于使用,便于开发人员之间的沟通。它已经广泛用于面向对象系统的分析、设计和实现。RUP(Rational Unified Process)是一种软件 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 ,描述了软件迭代的开发过程。 本文描述了在线教育平台的开发过程,遵循RUP的思想,利用UML对系统进行需求、分析和设计,并通过使用Struts框架对系统进行实现。 关键词:在线教育平台;RUP;UML;Struts Abstract Along with the development of the calculator technique and network technique, The e-learning platform provides the technical support for the digital campus .It can integrate the information technique into the teaching process and push the reform of the traditional education. The Struts is an source code open item that the Apache software organization provides .It provides Model-View-Controller(MVC) frame for the development of the Java Web and is applicable to develop a large and expansive Web application particularly .The Struts provides a general use framework for the development and makes developers concentrate the energy on how to resolve an actual business problem .This framework is conformable for the large team development. The UML(the Unified Modeling Language) is a visible model-setting up language, and easy to use and communicate for the programmers .It has already used for all the OO analysis ,OO design and OO realization .The RUP(the Rational Unified Process) is a kind of software engine- ering method ,describing the iterative development process of the software. This discourse described the development process of the e-learning platform, following RUP, making use of UML to carry on demand , analysis and design for the system, and using the Struts framework to carry on a realization to the system. Key words:E-Learning ;Platform ;RUP ;UML ;Strut 目录 1前言 21 系统的问题定义 21.1 系统背景 21.2 系统目标 32 可行性研究 32.1 经济可行性 32.2 技术可行性 52.3 操作可行性 52.4 法律可行性 63 系统需求 63.1 系统用例模型 63.1.1 参与者及其使用目标 73.1.2 用例图及其用例规约 173.2 系统功能需求 173.2.1 功能需求 183.2.2 其他需求 194 系统分析 194.1 用例分析 194.1.1 用例分析模型 244.1.2 补充用例描述 254.2 系统分析类 254.2.1 分析类的关系及其描述 285 系统设计 285.1 用例设计 365.2 系统设计类 375.3 数据库设计 426 系统实现 426.1 系统编码 586.2 系统测试 596.2.1 单元测试 606.2.2 集成测试 636.2.3 系统测试 647 结论 65致谢 66参考文献 67附录A 译文 74附录B 外文文献 前言 在线教育平台主要是将信息技术和网络技术融入到教学活动之中,并有效的结合教学资源,很好的实现了教师和学生的交流与互动,达到了教与学的目的,有利于教学质量的提高和学生自主学习的积极性的调动,也是适合目前国内高校现状的一种校园网平台,同时也能为改善传统的教学方式提供技术支持。 本文的最终目标是要建立一个在线教育平台,重点实现了新闻公告,人员管理,资源共享和问题答疑交流几个模块。技术上我使用了目前较为成熟的Struts框架,采用RUP的思想,利用UML建模技术和面向对象程序设计方法,并通过使用Java语言加以实现。本文主要做的工作是描述了用统一过程的思想开发系统的需求、分析、设计和实现过程。 1 系统的问题定义 1.1 系统背景 我国高校信息化建设近年来取得了巨大的成就,主要表现在:所有高校都接入了Internet,绝大部分高校建成了自己的校园网,主管部门和高校自身在这方面也投入巨大的人力和物力。 校园综合信息平台是数字化校园得以实现的基础,这也是各高校校园网未来发展的趋势,它的实现也是以网络为基础的,利用先进的信息化手段和工具,实现从硬件环境(如设备、教室、办公室等)、教学资源(如图书杂志库、教案讲义库、软件课件库等)、到教学活动(如上课、学习、辅导、答疑、作业等)、最后到管理(如检查、督促、考核、评比等)的全部数字化。然而国内大多数院校的硬件环境、管理和部分教学资源已经实现网络化,但是对于教学活动和相当的教学资源还停留在人工的水平上,在线教学平台就是在这种情况下应运而生的。 对于在线教育平台,国内还主要应用于远程网络教学。它提供了在线的视频教学以及一些教学活动所需的资源,学生通过网络可进行视频学习,课后可通过网络下载课件和作业等,然后再通过网络提交作业,教师则对其进行批阅并反馈,从而实现了教师和学生的交流与互动,提高了教学质量。但校园内部则缺少这样相应的功能,学校里教师所授的课无庸质疑是人工的,但其它如教案、课件、作业和答疑等都可以通过网络实现,避免了教师因公务繁忙而不能及时解决学生问题的冲突,同时也能调动学生自主学习的积极性,有助于教学活动的高效进行,而国外也正式这样做的。 针对这种情况,本文在这个方面做了尝试,利用现在较为成熟的Struts框架以及Java实现在线教育平台,使其能扩展现有校园网络,使教学能更加充分的利用网络资源。 1.2 系统目标 本平台主要实现教师和学生的信息管理,新闻公告管理,资源的上传和下载,在线交流等功能,从而弥补校园网对教学活动的支持的不足,有利于教学活动的更有效地进行。 2 可行性研究 2.1 经济可行性 该教育平台不需要投入太多的资金,并可以节省大量的人力和物力去实现教学的每个环节,它的成功运行可以提高教学的工作效率,可以有效地改变教学环境。 2.2 技术可行性 本教育平台利用计算机和网络构建了教师和学生交流的平台,开发时所使用的操作系统为Windows操作系统,开发环境需要Struts,J2SDK,Eclipse及其插件MyEclipse,后台数据库为Oracle9i,使用Dreamweaver进行平台的网页设计,最后通过Tomcat进行发布。 系统主要是使用Java在Struts框架下实现的。作为基于MVC设计模式的Web应用的一种典型体现,Struts架构实际上是建立在Model2(即JSP设计模式2,是传统的JSP设计模式,综合应用了JSP、Servlet和JavaBean技术)基础之上的,对Model、View和Controller都提供了现成的实现组件[1],其实现方式如图2-1所。 1)Controller控制器 Struts中的Controller控制器部分是通过专门的Servlet来实现的,该Servlet是一个Struts API中提供的ActionServlet类型的实例,ActionServlet类继承了javax.servlet.http.HttpServlet类,因此该类的实例可以和普通的Servlet一样工作,起作用是接收客户端浏览器的请求,然后选择执行相应的业务逻辑,再把响应结果送回到客户端。 Action对象是开发者定义的类(该类必须是Struts API中提供的Action类的子类)的实例。在继承该类的过程中开发者可以加入具体业务逻辑或调用业务逻辑模块。Action对象在进行了业务逻辑的处理以后会将应用程序流程转到合适的View组件,最终将响应回送到浏览器客户端。Struts中提倡Action对象只用来决定“做什么”,相当于一个低层面的控制器,因此也可以将Action归纳为Controller的组成部分。 此外,也可以将ActionForm作为Controller的一部分,ActionForm对象可以用来自动接收客户端表单数据。实际上可以将其看成是模型和视图的中介。一般用于保存从视图中获取的数据,并提供给其他的模型和试图使用。 2)Model模型 MVC系统中的Model模型部分一般由JavaBean以及EJB(即企业级JavaBean)组成。在Struts架构中使用JavaBean来提供具体的业务逻辑,即“怎么做”,对于复杂的系统也可以使用EJB(Entity Bean和Session Bean)等组件来实现系统状态维护。这种业务逻辑的细分可以增强代码的可重用性。 3)View视图 Struts中的View视图部分依然可以采用JSP来实现。此外,Struts还提供了丰富的自定义标记库,View部分使用这些自定义标记同样可以实现与Model部分的有效交互并能够增强显示功能。 图2-1 Struts MVC结构图 Fig.2-1 The structure diagram of Struts MVC Struts应用程序的基本运行流程:首先,ActionServlet接收客户端HTTP请求,使用ActionForm Bean自动接收请求表单信息,然后将请求分发给相应的Action对象;然后,Action对象调用execute()方法处理请求,期间能够使用先前的ActionForm Bean,也可调用其他JavaBean实现业务逻辑。然后返回ActionForward对象给ActionServlet;最后,根据ActionForward对象封装的信息,ActionServlet将HTTP请求再次转发给其他页面,最终发送响应回客户端[2]。 通过搭建了开发环境,按照上面基本流程编写了部分Struts框架下的代码并运行成功,证明本平台在技术上完全可行。 2.3 操作可行性 本教育平台操作简单、方便,管理员需要有一些计算机操作的常识即可。 2.4 法律可行性 本平台属于自主开发,不存在侵权行为。 3 系统需求 系统需求的目的是通过对系统进行调查与研究,开发人员对系统的功能和实现目标有了清楚的理解与深刻的认识,并从中对系统进行一系列的约束。而我们所进行的需求并不是像以往一样一下子就将需求定义完成,而是采用了RUP的思想。 根据RUP的思想,软件开发分为四个阶段:先启阶段(Inception)、精化阶段(Elaboration)、构建阶段(Construction)和产品化阶段(Transition)。相对于传统的模型而言,每个阶段都是一个小的瀑布模型。而且RUP是比较适合大型项目和团队开发的,在不同的阶段由不同的人负责,同一个人在不同的阶段作用不同,RUP的分工更加科学、明确,有利于具体实现。在分析、设计过程中逐步细化,不断地去补充与完善系统及其模型,这体现了RUP的迭代方法。软件开发的过程实质上就是一个多次反复修改、逐步完善的过程。 3.1 系统用例模型 UML(Unified Modeling Language,UML)是一种可视化的建模语言,它能够让系统设计者用 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的、易于理解的方式建立起能够表达出他们想象力的系统蓝图,并提供一种机制,以便于不同的人之间有效地共享和交流设计结果。而用例(Use Case)是从外部用户的角度捕获系统、子系统或类的行为以及对其的描述,可以帮助开发者很好地把握系统的功能和目标。其中最为重要的一点就是一定要严格从用户的角度考虑UML的各个环节。 用例图中主要有参与者和用例两部分。参与者(Actor)是直接与系统互相作用的系统、子系统或类的外部实体的抽象概念[3]。用例是动作顺序的规格说明,系统、子系统或类能够通过与外部参与者的交互而执行。用例分析的一个好处就是它能展现出系统的外部世界之间的边界。参与者是典型的系统外部实体,而用例是典型地属于系统内部。 3.1.1 参与者及其使用目标 对系统进行用例模型需求时所用到的参与者及其使用目标如下: 1)参与者:管理员。其使用目标:查询用户,删除用户,添加用户;浏览公告信息,发布公告,删除公告;答疑信息删除;浏览系统问题信息,删除问题信息;资源删除。 2)参与者:教师。其使用目标:浏览个人信息,更新个人信息;浏览公告信息,发布公告;发布回复答疑信息,浏览答疑信息,查询答疑信息;提交问题信息;进入聊天室;资源上传。 3)参与者:学生。其使用目标:浏览个人信息,更新个人信息;浏览公告信息;发布回复答疑信息,浏览答疑信息,查询答疑信息;提交问题信息;进入聊天室;资源下载。 4)参与者:用户。该参与者是以上所有参与者有共同操作的集合。 3.1.2 用例图及其用例规约 1)系统用例图 图3-1 系统用例图 Fig.3-1 The use case diagram of the system 上面的系统用例图中,用户是用例的发起者,而数据库DB则可以看成一个用例的接收者,故可以把数据库看成角色。对于操作是按照模块划分的,所有模块都包含在操作用例中。 2)用户登录用例图 图3-2 登录用例图 Fig.3-2 The use case diagram of the login 3)用户管理用例图 图3-3 用户管理用例图 Fig.3-3 The use case diagram of the user management e用户浏览个人信息 简要说明:用户通过选择用户姓名进入具体的用户信息界面。 前置条件:该用户已经注册。 主事件流:用户浏览查询结果;用户选择所要查询用户的链接;系统调用数据库查询;系统返回具体用户个人信息界面。 后置条件:用户查看到用户具体信息。 4)新闻公告信息管理用例图 图3-4 新闻公告信息管理用例图 Fig.3-4 The use case diagram of the news management a用户发布新闻公告信息 简要说明:用户发布新闻公告信息通知所有用户。 前置条件:该用户已经注册,且该用户为管理员和教师。 主事件流:用户输入公告标题和 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 并提交;系统验证输入的公告信息;用户发布信息成功,系统显示成功页面。 辅助事件流:用户输入的信息为空时,系统提示不能为空。 后置条件:用户发布成功,新公告信息加入新闻列表中。 5)系统反馈信息管理用例图 图3-5 系统反馈信息管理用例图 Fig.3-5 The use case diagram of the problem management c管理员删除反馈信息 简要说明:管理员将已处理的系统反馈信息从系统中删除。 前置条件:该用户具备管理员权限。 主事件流:管理员浏览反馈列表;管理员选择所要删除反馈的链接;系统调用数据库删除;系统返回删除成功界面。 辅助事件流:如果不能删除,系统显示出错信息。 后置条件:反馈信息删除成功,数据库已更新。 6)答疑交流信息管理用例图 图3-6 答疑交流信息管理用例图 Fig.3-6 The use case diagram of the communion a用户发布答疑信息 简要说明:用户发布答疑信息向所有用户求助帮助解决。 前置条件:该用户已经注册,且该用户为学生或教师。 主事件流:用户进入相应科目区;用户输入问题题目和内容并提交;系统验证输入的答疑信息;系统调用数据库进行更新;用户提交信息成功,系统显示成功页面。 辅助事件流:用户输入的信息为空时,系统提示不能为空。 后置条件:用户提交成功,答疑信息加入相应区的列表中。 f管理员删除答疑信息 简要说明:管理员将非法的答疑信息从系统中删除。 前置条件:该用户具备管理员权限。 主事件流:管理员浏览查询结果;管理员选择所要删除信息的链接;系统调用数据库删除并对回复信息进行删除;系统返回删除成功界面。 辅助事件流:如果不能删除,系统显示出错信息。 后置条件:答疑信息删除成功,数据库已更新。 7)资源管理用例图 图3-7 资源管理用例图 Fig.3-7 The use case diagram of the resource management a教师上传资源 简要说明:教师上传与教学相关的教学资源。 前置条件:该用户具有教师权限。 主事件流:教师选择上传文件的路径,输入列表名并提交;系统验证输入信息;教师上传成功,系统显示成功页面。 后置条件:教师上传成功,新资源加入资源列表中。 3.2 系统功能需求 3.2.1 功能需求 系统功能需求主要是根据用例模型的建立与说明,分析出系统活动时所需要实现的功能,这些对于开发人员理解系统的功能及用户的使用情况是大有益处的,使得开发人员对整个系统有了一个准确的把握。本在线教育平台的主要功能包括: 1)用户管理模块:用户的个人信息的添加和修改;用户的个人信息的查询和删除;用户的密码修改和注册。 2)信息管理模块:新闻公告的提交和删除;答疑信息的提交、浏览回复和删除;系统问题反馈信息的提交和删除;聊天室交流。 3)资源管理模块:资源的上传、下载和删除。 3.2.2 其他需求 1)安全需求:使用系统的用户必须登录,每个用户都有自己相应的操作,所有删除的权限都归管理员所有。所有的用户都必须是由管理员录入的,即管理员负责用户名(教师代码或是学生代码)、密码、姓名和权限的录入,其他权限用户不得修改和添加。 2)软件需求:由于系统主要使用Java语言实现,所以具有良好的跨平台性,服务器端可以选用不同的操作系统,采用B/S结构进行搭建,客户端只需要有目前标准配置中所需的浏览器即可,厂家及版本不限。当然还得有网络支持。 3)硬件需求:只需按照校园网服务器的标准进行配置即可,也可以将系统集成到校园网中,并不对硬件有具体要求。 4 系统分析 系统分析是要通过整理系统需求阶段所捕获的信息对需求进行分析,目的就是使开发人员更精确的理解需求,同时也得到一个易于维护切有助于确定系统结构的需求描述。分析是抽象的过程,要避免去解决某些问题和处理某些需求,具体的解决和处理应放在设计和实现阶段。通过系统分析,开发人员要建立对象模型,从而界定系统的不同的分析类,还要规定每个分析类的行为需求来实现每个用例。 4.1 用例分析 对于需求阶段所建立的用例模型,每个用例是系统提供给用户使用并且用户可见的一个功能,具体的实现过程可以用顺序图来表示,顺序图表示出业务的处理过程,清楚地显示出此功能涉及的对象以及对象间的消息传递。建立业务方面的顺序图都用文字描述对象 间传递的信息,系统用户很容易理解。每个用例一般选用一个顺序图来表示业务流程[4]。 4.1.1 用例分析模型 由于文章篇幅所限,本文不能将所有用例分析模型画出,在后面的系统设计阶段同样也是根据这部分的分析进行设计。下面主要是用户登录和信息管理模块的相关顺序图: 1)用户登录 图4-1 用户登录顺序图 Fig.4-1 The sequence diagram of the user login 2)用户注册 图4-2 用户注册顺序图 Fig.4-2 The sequence diagram of the user login 3)用户个人信息添加 图4-3 教师信息添加顺序图 Fig.4-3 The sequence diagram of the teacher information adding 图4-4 学生信息添加顺序图 Fig.4-4 The sequence diagram of the student information adding 4)用户查询及删除 图4-5 教师查询及删除顺序图 Fig.4-5 The sequence diagram of the teacher information querying and deleting 图4-6 学生查询及删除顺序图 Fig.4-6 The sequence diagram of the student information querying and deleting 4.1.2 补充用例描述 1)用户个人信息添加:所有个人信息都不许为空,日期必须按照 规则 编码规则下载淘宝规则下载天猫规则下载麻将竞赛规则pdf麻将竞赛规则pdf 书写。 2)用户删除:需要将用户信息表、登录表中的该用户的内容删除后,根据需要再删除相应的班级表或教研室表。信息删除和资源删除同样如此。 3)查询、删除操作:只有管理员才具有删除操作的权限,而且所有的删除都是通过查询后在结果列表中进行删除,查看也是先对数据库操作,因此一级操作有添加,查询,修改(用户个人信息操作部分)。 4.2 系统分析类 一个业务级别的分析类是业务领域中的一个要素,是现实世界中的一个观念类,与实现技术无关。它是系统必须处理的主要抽象概念,可产生系统设计的主要抽象,即系统设计类。而对于具体的类的界定,一般分为实体类、边界类和控制类。 实体类表示了应用领域的核心内容,用来保存持久性的应用程序有关的信息,并提供用于驱动应用程序中大多数交互所需的服务。 边界类用作想要与应用程序进行交互的外部参与者与实体类之间的边界,通常边界类用作屏蔽或媒介,隔离了如何取得应用程序提供的服务的大部分交互细节。大多数的边界类是用户面组件,以表单和屏幕来与应用程序进行交互。对于本平台而言,边界类是JSP页面。 控制类对应用领域中的活动进行协调,可以扮演的角色有与事务相关的行为,特定于一个或少量用例的一个控制序列,将试题对象与边界对象分离的服务。对于Struts框架而言,这些类会成为Action类或ActionForm类,但本文主要使用的动态Form技术,不需要生成具体的ActionForm类代码,只需调用Struts框架中自带的即可,所以本文的控制类主要是Action类。 4.2.1 分析类的关系及其描述 图4-7 注册用户类图 Fig.4-7 The class diagram of the login user 用户登录:Login类用来处理登录验证信息的类,其中封装了一些处理用户名、密码和权限的数据库操作方法;LoginAction类用来调用对数据库进行操作的Login类,并对部分逻辑进行判断,同时它继承了Action类具有其属性和操作,还负责问题处理完毕后所跳转的页面。 用户注册:UserAdd类用来处理用户注册信息的类,其中封装了添加登录用户名、密码和权限的数据库操作方法;UserAddAction类用来调用对数据库进行操作的UserAdd类,并对部分逻辑进行判断,同时它继承了Action类具有其属性和操作,还负责问题处理完毕后所跳转的页面。 密码修改:loginModify类用来处理用户安全即密码修改信息的类,其中封装了更改密码的数据库操作方法;loginModifyAction类用来调用对数据库进行操作的loginModify类,并对部分逻辑进行判断,同时它继承了Action类具有其属性和操作,还负责问题处理完毕后所跳转的页面。 在本文对类的具体分析中,为了使相似模块采用相同的模式来进行,提高代码的可重用性,结合Struts框架是每个操作的Action类都对应着一个数据库操作的模型,如用户登录部分LoginAction类对应着一个处理用户登录信息的数据库操作Login类。由于本文才用动态的Form验证,所有的Form都是对Struts中DynaActionForm的继承,而且具体操作过程是不可见的。对其只需要在struts-config.xml配置文件中对其进行配置即可,而不需要写出具体的程序代码。因此,可以把它称为“虚拟Form”(仅限本文)。本文中对每个小功能都是一个Action类、虚拟Form类和数据库操作类,以及所有的数据库共同操作类(这是代码实现以前对可以实现的系统的类的设想)。对于下文的分析类,功能关系和上面用户登录的情况一样[5]。 5 系统设计 系统设计阶段,将构造系统的设计模型,获得实现所需的系统组织和系统架构。在这一阶段,需要把软件的功能抽象,细化,同时也要考虑数据间的层次关系,建立与之对应的对象,接着分析对象间的关系并定义对象的属性和方法。设计阶段主要工作包括用例设计,系统设计类和数据库设计。 5.1 用例设计 该部分主要是设计级别的顺序图,也就是对用例分析时所做的分析的补充与完善,并对其进行了细化、设计,有助于下一步系统设计类的完备。 1)用户登录 图5-1 用户登录顺序图 Fig.5-1 The sequence diagram of the user login 2)用户添加 图5-2 用户注册顺序图 Fig.5-2 The sequence diagram of the user login 3)教师信息添加 图5-3 教师信息添加顺序图 Fig.5-3 The sequence diagram of the teacher information adding 4)学生信息添加 图5-4 学生信息添加顺序图 Fig.5-4 The sequence diagram of the student information adding 5)教师信息查询删除 图5-5 教师查询顺序图 Fig.5-5 The sequence diagram of the teacher information querying 图5-6 教师删除顺序图 Fig.5-6 The sequence diagram of the teacher information deleting 6)学生信息查询删除 图5-7 学生查询顺序图 Fig.5-7 The sequence diagram of the student information querying 图5-8 学生删除顺序图 Fig.5-8 The sequence diagram of the student information deleting 7)用户密码修改 图5-9 用户密码修改顺序图 Fig.5-9 The sequence diagram of the user password modifying 5.2 系统设计类 这部分主要是对前一章的系统分析类进行细化,并在用例设计的基础上,识别对构架有重要意义的设计类,也就是确定它们的的属性、操作、关系和现实性需求。 图5-10 用户登录类图 Fig.5-10 The class diagram of the user login 在上图中已经对上一章的系统分析类进行了细化。其中LoginForm是动态Form,是对DynaActionForm的继承;User类是对注册用户的信息(用户名、密码和权限)进行封装;Login类中,LoginCheck方法负责验证用户名密码是否存在,IdentityCheck方法负责验证用户权限,GetUserName方法负责得到用户姓名并在使用平台时始终显示,Updatepsw方法负责更新用户的密码。DB中定义的是所有对数据库的公共操作,包括打开数据库、关闭数据库等操作。这就是对系统分析类的细化后的系统设计类。限于篇幅,本文不在对其它的模块的类及其关系进行设计级别的分析[6]。 5.3 数据库设计 在关系数据库设计当中,我们往往会使用实体关系模型(ER模型)来创建数据库的逻辑模型。但是实体关系模型只关注于数据,往往无法体现与数据相关的业务规则,所以实体关系模型不适合描述面向对象方法的数据库设计的数据关系。而UML则提供了一种灵活的机制,可以使我们清楚地表达数据以及与数据相关的业务关系,它所建立的类图模型中的每个实体类要有明确数据存取方式,从而实现实体类向数据库类的完全映射,使数据库逻辑模型直接模拟现实世界的实体关系。同时还要对映射后的数据库进行冗余控制调整[7]。 通过上一节对系统类的细化,实体类进行映射到数据库所生成的表如下: 表5-1 用户登录表 Table.5-1 The table of the user login 字段名 类型 是否为空 是否主键 字段说明 Username varchar2(10) 否 是 用户名 Password varchar2(20) 否 否 密码 Identity varchar2(10) 否 否 权限 这里的用户名只是一个代码,对于学生来说就是学生代码,对于教师来说就是教师代码,此表存储的是用户登录所需要的信息,此表只能由管理员录入,其他用户只能修改密码。 表5-2 教研室表 Table.5-2 The table of the staff room 字段名 类型 是否为空 是否主键 描述 Offno varchar2(10) 否 是 教研室代码 Offname varchar2(20) 否 否 教研室名 Depid varchar2(10) 否 外 院系代码 上表存储的是教师所属教研室信息,包括办公室代码和名称,其中院系代码为外关键字,用于确定所属院系。 表5-3 班级表 Table.5-3 The table of the class 字段名 类型 是否为空 是否主键 描述 Clano varchar2(10) 否 是 班级代码 Claname varchar2(20) 否 否 班级名称 Speid varchar2(10) 否 外 专业代码 上表存储的是学生所属的班级信息,包括班级代码和名称,其中专业代码为外关键字,用于确定学生所属专业。 表5-4 专业表 Table.5-4 The table of the speciality 字段名 类型 是否为空 是否主键 字段描述 Speno varchar2(10) 否 是 专业代码 Spename varchar2(20) 否 否 Depid varchar2(10) 否 外 院系代码 上表存储的是学生所属教研室的表,包括专业代码和名称,其中院系代码为外关键字,用于确定学生所属院系。 表5-5 院系表 Table.5-5 The table of the department 字段名 类型 是否为空 是否主键 字段描述 Depno varchar2(10) 否 是 院系代码 Depname varchar2(20) 否 否 院系名称 上表存储的是教师或学生所属院系的表,包括院系代码和名称。在本文中每个院系包括教研室和专业,前者针对教师,后者针对学生,而专业下又包含班级,班级下才包含学生,这样设计有利于减少冗余,达到合理的关系范式。 表5-6 教师个人信息表 Table.5-6 The table of the teacher personal information 字段名 类型 是否为空 是否主键 字段描述 Teano varchar2(10) 否 是 教工代码 Teaname varchar2(20) 否 否 教师姓名 Sex varchar2(10) 是 否 性别 Birthday varchar2(20) 是 否 出生年月 Telephone varchar2(20) 是 否 联系电话 Email varchar2(50) 是 否 E-mail Diploma varchar2(10) 是 否 教育水平 Profession varchar2(10) 是 否 教工级别 Offid varchar2(10) 是 外 教研室代码 Subject varchar2(100) 是 否 所授科目 表5-7 学生个人信息表 Table.5-7 The table of the student personal information 字段名 类型 是否为空 是否主键 字段描述 Stuno varchar2(10) 否 是 学号 Stuname varchar2(20) 否 否 学生姓名 Sex varchar2(10) 是 否 性别 Birthday varchar2(20) 是 否 出生年月 Telephone varchar2(20) 是 否 联系电话 Email varchar2(50) 是 否 E-mail Grade varchar2(10) 是 否 入学年份 Claid varchar2(10) 是 外 班级代码 上面两个表存储的是教师和学生的个人信息,对于前者的表教研室代码是外关键字,后者班级代码是外关键字。除了教师代码、姓名和学生代码、姓名外,其他信息都可以是空的,因为这些信息为管理员录入,具体的个人信息则由本人录入,创建用户时个人具体信息是不需要录入的。 表5-8 系统问题反馈表 Table.5-8 The table of the feedback information 字段名 类型 是否为空 是否主键 字段描述 Prono varchar2(10) 否 是 问题代号 Protitle varchar2(100) 否 否 问题标题 Procontent varchar2(1000) 否 否 问题内容 Protime varchar2(20) 是 否 提交时间 Loginid varchar2(10) 否 外 提交人 本表存储的是用户向管理员提交一些系统反馈信息和请求删除的信息(包括错误发布的通知、文章、资源等),通过提交人这个外关键字来确定具体的教师或学生。 表5-9 新闻公告信息表 Table.5-9 The table of the news information 字段名 类型 是否为空 是否主键 字段描述 Noteno varchar2(10) 否 是 通知代号 Notetitle varchar2(100) 否 否 通知标题 Notecontent varchar2(1000) 否 否 通知内容 Notetime varchar2(20) 是 否 提交时间 Loginid varchar2(10) 否 外 提交人 本表存储的是教师或管理员向所有用户发布通知的信息,包括序号、标题、内容、时间和提交人,其中提交人为外关键字,用于确定发布人。 表5-10 问题板块信息表 Table.5-10 The table of the article classified 字段名 类型 是否为空 是否主键 字段描述 Bbsno varchar2(10) 否 是 问题分类号 Bbsname varchar2(20) 否 否 问题分类名 Bbsid varchar2(10) 是 否 负责人 表5-11 问题文章信息表 Table.5-11 The table of the article 字段名 类型 是否为空 是否主键 字段描述 Artno varchar2(10) 否 是 文章序号 Artname varchar2(100) 否 否 文章标题 Arttext varchar2(1000) 否 否 文章内容 Arttalker varchar2(10) 否 外 发表人 Time varchar2(20) 是 否 发表时间 Sortid varchar2(10) 否 外 所属分类 表5-12 问题回复信息表 Table.5-12 The table of the question-restoring information 字段名 类型 是否为空 是否主键 字段描述 Reartno varchar2(10) 否 是 回复序号 Reartname varchar2(100) 否 否 回复标题 Rearttext varchar2(1000) 否 否 回复内容 Rearttalker varchar2(10) 否 外 回复人 Retime varchar2(20) 是 否 回复时间 Reartid varchar2(10) 否 外 文章序号 以上表存储的是问题答疑信息,包括问题文章信息、问题回复信息和不同问题分类信息,其中发表人、回复人、所属分类和文章序号(回复表)为外关键字,所属分类用于确定文章类别,文章序号(回复表)用于确定回复信息所对应的文章。 表5-13 资源信息表 Table.5-13 The table of the resource information 字段名 类型 是否为空 是否主键 字段描述 Resno varchar2(10) 否 是 资料序号 Resname varchar2(100) 否 否 资料标题 Rescontent varchar2(1000) 否 否 资料内容 Restime varchar2(20) 是 否 上传时间 Resid varchar2(10) 否 外 上传教师 以上表存储的是资源信息,包括资料序号、资料标题、资料内容、上传时间和上传教师,其中上传教师为外关键字。 6 系统实现 6.1 系统编码 以下为用户登录及验证部分实现代码,此部分较为全面的体现了Struts架构,并采用了Validator验证框架实现表单的数据验证[8]。由于利用Struts框架开发的系统属于企业级,代码复杂、繁多,而且Struts下的模块之间相似,只有具体的逻辑判断和调用不同。因此,本文只给出部分程序代码[9]。 图6-1 用户登录图 Fig.6-1 The diagram of user login UserLogin.jsp 用户登录的JSP页面 <%@ page contentType="text/html; charset=gb2312" language="java" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> 欢迎使用在线教育系统 <% String usererror=(String)session.getAttribute(""); String ideerror=(String)session.getAttribute(""); if((String)session.getAttribute("check")=="1") { usererror=(String)session.getAttribute("usererror"); ideerror=(String)session.getAttribute("ideerror"); if(usererror == "1") {%> <%} if(ideerror == "2") {%> <%} } %>

 

欢迎使用STRUTS在线教育平台!

用户名
密  码
管理员 教工 学生
本文档为【范例(面向对象)1】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_443373
暂无简介~
格式:doc
大小:1MB
软件:Word
页数:87
分类:文学
上传时间:2012-06-01
浏览量:6